Commit c5b0f5af by Takatoshi Miura

iosローカルdb連動中

parent b8c0ce73
...@@ -148,7 +148,7 @@ ...@@ -148,7 +148,7 @@
android.getLoginParameter(); android.getLoginParameter();
android.getGlobalParameter(); android.getGlobalParameter();
webkit.messageHandlers.loginInfoRequestMessageHandlerId.postMessage({}); webkit.messageHandlers.loginInfoRequestMessageHandlerId.postMessage({});
webkit.messageHandlers.getGlobalParameter.postMessage(); webkit.messageHandlers.getGlobalParameter.postMessage({});
function getGlobalParam(chatServerUrl, cmsServerUrl, platform, isMobile, isOnline) { function getGlobalParam(chatServerUrl, cmsServerUrl, platform, isMobile, isOnline) {
CHAT_SERVER_URL = chatServerUrl; CHAT_SERVER_URL = chatServerUrl;
......
...@@ -134,7 +134,7 @@ ...@@ -134,7 +134,7 @@
android.getLoginParameter(); android.getLoginParameter();
android.getGlobalParameter(); android.getGlobalParameter();
webkit.messageHandlers.loginInfoRequestMessageHandlerId.postMessage({}); webkit.messageHandlers.loginInfoRequestMessageHandlerId.postMessage({});
webkit.messageHandlers.getGlobalParameter.postMessage(); webkit.messageHandlers.getGlobalParameter.postMessage({});
function getGlobalParam(chatServerUrl, cmsServerUrl, platform, isMobile, isOnline) { function getGlobalParam(chatServerUrl, cmsServerUrl, platform, isMobile, isOnline) {
CHAT_SERVER_URL = chatServerUrl; CHAT_SERVER_URL = chatServerUrl;
......
...@@ -229,7 +229,7 @@ ...@@ -229,7 +229,7 @@
android.getLoginParameter(); android.getLoginParameter();
android.getGlobalParameter(); android.getGlobalParameter();
webkit.messageHandlers.loginInfoRequestMessageHandlerId.postMessage({}); webkit.messageHandlers.loginInfoRequestMessageHandlerId.postMessage({});
webkit.messageHandlers.getGlobalParameter.postMessage(); webkit.messageHandlers.getGlobalParameter.postMessage({});
function getGlobalParam(chatServerUrl, cmsServerUrl, platform, isMobile, isOnline) { function getGlobalParam(chatServerUrl, cmsServerUrl, platform, isMobile, isOnline) {
CHAT_SERVER_URL = chatServerUrl; CHAT_SERVER_URL = chatServerUrl;
......
...@@ -2,43 +2,28 @@ ...@@ -2,43 +2,28 @@
var CHAT_DB = {}; var CHAT_DB = {};
// ios用 // ios用
const iosData = { function callNativeApp(iosKey, jsonData) {
iosRoomList: "", console.log("callNativeApp called");
iosMyInfo: "", var result;
iosMessages: "", try {
iosFavoriteUsers: "", var key = iosKey;
iosFavoriteGroups: "", var data = jsonData;
iosMyGroupUsers: "", var payload = {key: key, data: data};
iosGroupInfo: "", // payloadの形 {"type":"SJbridge","data":{"name":"abc","role":"dev"}}
iosNameCardData: "", // resにObjective-cからのレスポンスが返る
iosMyGroupShopMemberByName: "", result = prompt(JSON.stringify (payload));
iosAllGroupShopMemberByName: "", console.log(result);
iosGroupByName: "", } catch(err) {
iosUsersInRoom: "", console.log('The native context does not exist yet');
iosArchiveList: "", }
iosSearchArchiveList: "", return result;
iosArchiveDetail: "" }
};
var webClient = {
id: 1,
handlers: {},
};
webClient.onMessageReceive = (handle, error, data) => {
if (error && webClient.handlers[handle].reject) {
webClient.handlers[handle].reject(data);
} else if (webClient.handlers[handle].resolve){
webClient.handlers[handle].resolve(data);
}
delete webClient.handlers[handle];
};
//ロカールDBからルーム一覧情報を取得 //ロカールDBからルーム一覧情報を取得
CHAT_DB.getRoomList = function(roomType, keyWord) { CHAT_DB.getRoomList = function(roomType, keyWord) {
if (CHAT_UTIL.isIOS()) { if (CHAT_UTIL.isIOS()) {
return JSON.parse(iosRoomList);
} else if (CHAT_UTIL.isAndroid()) { } else if (CHAT_UTIL.isAndroid()) {
return JSON.parse(android.getRoomList(roomType, keyWord)); return JSON.parse(android.getRoomList(roomType, keyWord));
} }
...@@ -46,263 +31,112 @@ CHAT_DB.getRoomList = function(roomType, keyWord) { ...@@ -46,263 +31,112 @@ CHAT_DB.getRoomList = function(roomType, keyWord) {
CHAT_DB.callGetRoomList = function(roomType) { CHAT_DB.callGetRoomList = function(roomType) {
if (CHAT_UTIL.isIOS()) { if (CHAT_UTIL.isIOS()) {
webkit.messageHandlers.getRoomList.postMessage({roomType}); return callNativeApp(getRoomList, {"roomType":roomType});
// TODO: iosからデータを受け取るまで待つ
return JSON.parse(iosRoomList);
} else if (CHAT_UTIL.isAndroid()) { } else if (CHAT_UTIL.isAndroid()) {
//String形式をJsonに変更してReturn //String形式をJsonに変更してReturn
return JSON.parse(android.getRoomList(roomType)); return JSON.parse(android.getRoomList(roomType));
} }
} }
CHAT_DB.getIosRoomList = function(roomList) {
iosRoomList = roomList;
};
//ロカールDBからログインしたユーザのデータを取得する。 //ロカールDBからログインしたユーザのデータを取得する。
CHAT_DB.getMyInfo = function() { CHAT_DB.getMyInfo = function() {
if (CHAT_UTIL.isIOS()) { if (CHAT_UTIL.isIOS()) {
// iosMyInfo = "";
// webkit.messageHandlers.getMyInfo.postMessage();
// return watchValue(iosData, iosMyInfo, onChange);
webClient.sendMessage = (data) => {
return new Promise((resolve, reject) => {
const handle = 'm' + webClient.id++;
webClient.handlers[handle] = { resolve, reject };
window.webkit.messageHandlers.getMyInfo.postMessage({data: data, id: handle});
});
}
} else if (CHAT_UTIL.isAndroid()) { } else if (CHAT_UTIL.isAndroid()) {
//String形式をJsonに変更してReturn //String形式をJsonに変更してReturn
return JSON.parse(android.getMyInfo()); return JSON.parse(android.getMyInfo());
} }
}; };
CHAT_DB.getIosMyInfo = function(myInfo) {
iosMyInfo = myInfo;
iosKey = "myInfo";
};
CHAT_DB.getMessages = function(roomId) { CHAT_DB.getMessages = function(roomId) {
if (CHAT_UTIL.isIOS()) { if (CHAT_UTIL.isIOS()) {
iosMessages = "";
webkit.messageHandlers.getMessages.postMessage({roomId});
// JavascriptからObjective-cのメソッドを指定してコールバックを受ける方法がないため、
// 値が入るまで待たせている。
while (iosKey == "objc-processing") {};
if (iosKey == "messages") {
iosKey = "objc-processing";
return JSON.parse(iosMessages);
}
} else if (CHAT_UTIL.isAndroid()) { } else if (CHAT_UTIL.isAndroid()) {
//String形式をJsonに変更してReturn //String形式をJsonに変更してReturn
return JSON.parse(android.getMessageList(roomId)); return JSON.parse(android.getMessageList(roomId));
} }
}; };
CHAT_DB.getIosMessages = function(messages) {
iosMessages = messages;
iosKey = "messages";
};
CHAT_DB.getFavoriteUsers = function() { CHAT_DB.getFavoriteUsers = function() {
if (CHAT_UTIL.isIOS()) { if (CHAT_UTIL.isIOS()) {
iosFavoriteUsers = "";
webkit.messageHandlers.getFavoriteUsers.postMessage();
// JavascriptからObjective-cのメソッドを指定してコールバックを受ける方法がないため、
// 値が入るまで待たせている。
while (iosKey == "objc-processing") {};
if (iosKey == "favoriteUsers") {
iosKey = "objc-processing";
return JSON.parse(iosFavoriteUsers);
}
} else if (CHAT_UTIL.isAndroid()) { } else if (CHAT_UTIL.isAndroid()) {
//String形式をJsonに変更してReturn //String形式をJsonに変更してReturn
return JSON.parse(android.getFavoriteUsers()); return JSON.parse(android.getFavoriteUsers());
} }
}; };
CHAT_DB.getIosFavoriteUsers = function(user) {
iosFavoriteUsers = user;
iosKey = "favoriteUsers";
};
CHAT_DB.getFavoriteGroups = function() { CHAT_DB.getFavoriteGroups = function() {
if (CHAT_UTIL.isIOS()) { if (CHAT_UTIL.isIOS()) {
iosFavoriteGroups = "";
webkit.messageHandlers.getFavoriteGroups.postMessage();
// JavascriptからObjective-cのメソッドを指定してコールバックを受ける方法がないため、
// 値が入るまで待たせている。
while (iosKey == "objc-processing") {};
if (iosKey == "favoriteGroups") {
iosKey = "objc-processing";
return JSON.parse(iosFavoriteGroups);
}
} else if (CHAT_UTIL.isAndroid()) { } else if (CHAT_UTIL.isAndroid()) {
//String形式をJsonに変更してReturn //String形式をJsonに変更してReturn
return JSON.parse(android.getFavoriteGroups()); return JSON.parse(android.getFavoriteGroups());
} }
}; };
CHAT_DB.getIosFavoriteGroups = function(groups) {
iosFavoriteGroups = groups;
iosKey = "favoriteGroups";
};
CHAT_DB.getMyGroupUsers = function() { CHAT_DB.getMyGroupUsers = function() {
if (CHAT_UTIL.isIOS()) { if (CHAT_UTIL.isIOS()) {
iosMyGroupUsers = "";
webkit.messageHandlers.getMyGroupUsers.postMessage();
// JavascriptからObjective-cのメソッドを指定してコールバックを受ける方法がないため、
// 値が入るまで待たせている。
while (iosKey == "objc-processing") {};
if (iosKey == "myGroupUsers") {
iosKey = "objc-processing";
return JSON.parse(iosMyGroupUsers);
}
} else if (CHAT_UTIL.isAndroid()) { } else if (CHAT_UTIL.isAndroid()) {
//String形式をJsonに変更してReturn //String形式をJsonに変更してReturn
return JSON.parse(android.getMyGroupUsers()); return JSON.parse(android.getMyGroupUsers());
} }
}; };
CHAT_DB.getIosMyGroupUsers = function(user) {
iosMyGroupUsers = user;
iosKey = "myGroupUsers";
};
CHAT_DB.getGroupInfo = function(groupId) { CHAT_DB.getGroupInfo = function(groupId) {
if (CHAT_UTIL.isIOS()) { if (CHAT_UTIL.isIOS()) {
iosGroupInfo = "";
webkit.messageHandlers.getGroupInfo.postMessage({groupId});
// JavascriptからObjective-cのメソッドを指定してコールバックを受ける方法がないため、
// 値が入るまで待たせている。
while (iosKey == "objc-processing") {};
if (iosKey == "groupInfo") {
iosKey = "objc-processing";
return JSON.parse(iosGroupInfo);
}
} else if (CHAT_UTIL.isAndroid()) { } else if (CHAT_UTIL.isAndroid()) {
//String形式をJsonに変更してReturn //String形式をJsonに変更してReturn
return JSON.parse(android.getGroupInfo(groupId)); return JSON.parse(android.getGroupInfo(groupId));
} }
}; };
CHAT_DB.getIosGroupInfo = function(info) {
iosGroupInfo = info;
iosKey = "groupInfo";
};
CHAT_DB.getNameCardData = function(shopMemberId) { CHAT_DB.getNameCardData = function(shopMemberId) {
if (CHAT_UTIL.isIOS()) { if (CHAT_UTIL.isIOS()) {
iosNameCardData = "";
webkit.messageHandlers.getNameCardData.postMessage({shopMemberId});
// JavascriptからObjective-cのメソッドを指定してコールバックを受ける方法がないため、
// 値が入るまで待たせている。
while (iosKey == "objc-processing") {};
if (iosKey == "nameCardData") {
iosKey = "objc-processing";
return JSON.parse(iosNameCardData);
}
} else if (CHAT_UTIL.isAndroid()) { } else if (CHAT_UTIL.isAndroid()) {
return JSON.parse(android.getNameCardData(shopMemberId)); return JSON.parse(android.getNameCardData(shopMemberId));
} }
}; };
CHAT_DB.getIosNameCardData = function(nameCard) {
iosNameCardData = nameCard;
iosKey = "nameCardData";
};
CHAT_DB.getMyGroupShopMemberByName = function(shopMemberName) { CHAT_DB.getMyGroupShopMemberByName = function(shopMemberName) {
if (CHAT_UTIL.isIOS()) { if (CHAT_UTIL.isIOS()) {
iosMyGroupShopMemberByName = "";
webkit.messageHandlers.getMyGroupShopMemberByName.postMessage({shopMemberName});
// JavascriptからObjective-cのメソッドを指定してコールバックを受ける方法がないため、
// 値が入るまで待たせている。
while (iosKey == "objc-processing") {};
if (iosKey == "myGroupShopMemberByName") {
iosKey = "objc-processing";
return JSON.parse(iosMyGroupShopMemberByName);
}
} else if (CHAT_UTIL.isAndroid()) { } else if (CHAT_UTIL.isAndroid()) {
//String形式をJsonに変更してReturn //String形式をJsonに変更してReturn
return JSON.parse(android.getMyGroupShopMemberByName(shopMemberName)); return JSON.parse(android.getMyGroupShopMemberByName(shopMemberName));
} }
}; };
CHAT_DB.getIosMyGroupShopMemberByName = function(user) {
iosMyGroupShopMemberByName = user;
iosKey = "myGroupShopMemberByName";
};
CHAT_DB.getAllGroupShopMemberByName = function(shopMemberName) { CHAT_DB.getAllGroupShopMemberByName = function(shopMemberName) {
if (CHAT_UTIL.isIOS()) { if (CHAT_UTIL.isIOS()) {
iosAllGroupShopMemberByName = "";
webkit.messageHandlers.getAllGroupShopMemberByName.postMessage({shopMemberName});
// JavascriptからObjective-cのメソッドを指定してコールバックを受ける方法がないため、
// 値が入るまで待たせている。
while (iosKey == "objc-processing") {};
if (iosKey == "allGroupShopMemberByName") {
iosKey = "objc-processing";
return JSON.parse(iosAllGroupShopMemberByName);
}
} else if (CHAT_UTIL.isAndroid()) { } else if (CHAT_UTIL.isAndroid()) {
//String形式をJsonに変更してReturn //String形式をJsonに変更してReturn
return JSON.parse(android.getAllGroupShopMemberByName(shopMemberName)); return JSON.parse(android.getAllGroupShopMemberByName(shopMemberName));
} }
}; };
CHAT_DB.getIosAllGroupShopMemberByName = function(user) {
iosAllGroupShopMemberByName = user;
iosKey = "allGroupShopMemberByName";
};
CHAT_DB.getGroupByName = function(groupName) { CHAT_DB.getGroupByName = function(groupName) {
if (CHAT_UTIL.isIOS()) { if (CHAT_UTIL.isIOS()) {
iosGroupByName = "";
webkit.messageHandlers.getGroupByName.postMessage({groupName});
// JavascriptからObjective-cのメソッドを指定してコールバックを受ける方法がないため、
// 値が入るまで待たせている。
while (iosKey == "objc-processing") {};
if (iosKey == "groupByName") {
iosKey = "objc-processing";
return JSON.parse(iosGroupByName);
}
} else if (CHAT_UTIL.isAndroid()) { } else if (CHAT_UTIL.isAndroid()) {
//String形式をJsonに変更してReturn //String形式をJsonに変更してReturn
return JSON.parse(android.getGroupByName(groupName)); return JSON.parse(android.getGroupByName(groupName));
} }
}; };
CHAT_DB.getIosGroupByName = function(group) {
iosGroupByName = group;
iosKey = "groupByName";
};
CHAT_DB.getUsersInRoom = function(roomId) { CHAT_DB.getUsersInRoom = function(roomId) {
if (CHAT_UTIL.isIOS()) { if (CHAT_UTIL.isIOS()) {
iosUsersInRoom = "";
webkit.messageHandlers.getUsersInRoom.postMessage({roomId});
// JavascriptからObjective-cのメソッドを指定してコールバックを受ける方法がないため、
// 値が入るまで待たせている。
while (iosKey == "objc-processing") {};
if (iosKey == "usersInRoom") {
iosKey = "objc-processing";
return JSON.parse(iosUsersInRoom);
}
} else if (CHAT_UTIL.isAndroid()) { } else if (CHAT_UTIL.isAndroid()) {
//String形式をJsonに変更してReturn //String形式をJsonに変更してReturn
return JSON.parse(android.getUsersInRoom(roomId)); return JSON.parse(android.getUsersInRoom(roomId));
} }
} }
CHAT_DB.getIosUsersInRoom = function(user) {
iosUsersInRoom = user;
iosKey = "usersInRoom";
};
// アーカイブ一覧 // アーカイブ一覧
CHAT_DB.getArchiveList = function() { CHAT_DB.getArchiveList = function() {
if (CHAT_UTIL.isIOS()) { if (CHAT_UTIL.isIOS()) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment