chat-db.js 11.6 KB
Newer Older
1 2 3
// 名前空間
var CHAT_DB = {};

4
// ios用
5 6 7 8 9 10 11 12 13 14 15 16 17
function callNativeApp(iosKey, jsonData) {
    console.log("callNativeApp called");
    var result;
    try {
        var key = iosKey;
        var data = jsonData;
        var payload = {key: key, data: data};
        // payloadの形 {"type":"SJbridge","data":{"name":"abc","role":"dev"}}
        // resにObjective-cからのレスポンスが返る
        result = prompt(JSON.stringify (payload));
        console.log(result);
    } catch(err) {
        console.log('The native context does not exist yet');
18
    }
19 20
    return result;
}
21

22
//ロカールDBからルーム一覧情報を取得
23
CHAT_DB.getRoomList = function(roomType, keyWord) {
24
    if (CHAT_UTIL.isIOS()) {
25
        return JSON.parse(callNativeApp("getRoomList", {"roomType": roomType, "keyWord": keyWord}));
26
    } else if (CHAT_UTIL.isAndroid()) {
27
    	return JSON.parse(android.getRoomList(roomType, keyWord));
28 29 30
    }
};

Takatoshi Miura committed
31 32
CHAT_DB.callGetRoomList = function(roomType) {
    if (CHAT_UTIL.isIOS()) {
33
        return JSON.parse(callNativeApp("getRoomList", {"roomType": roomType}));
Takatoshi Miura committed
34 35 36 37 38 39
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getRoomList(roomType));
    }
}

40
//ロカールDBからログインしたユーザのデータを取得する。
41
CHAT_DB.getMyInfo = function() {
42
    if (CHAT_UTIL.isIOS()) {
43
        return JSON.parse(callNativeApp("getMyInfo", {}));
44 45
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
Lee Munkyeong committed
46
    	return JSON.parse(android.getMyInfo());
47 48 49 50 51
    }
};

CHAT_DB.getMessages = function(roomId) {
    if (CHAT_UTIL.isIOS()) {
52
        return JSON.parse(callNativeApp("getMessages", {"roomId": roomId}));
53 54 55 56 57 58
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getMessageList(roomId));
    }
};

Lee Munkyeong committed
59 60
CHAT_DB.getFavoriteUsersNotInRoom = function() {
    if (CHAT_UTIL.isIOS()) {
Takatoshi Miura committed
61
        return JSON.parse(callNativeApp("getFavoriteUsersNotInRoom", {}));
Lee Munkyeong committed
62 63 64 65 66 67
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getFavoriteUsersNotInRoom());
    }
};

68 69
CHAT_DB.getFavoriteUsers = function() {
    if (CHAT_UTIL.isIOS()) {
70
        return JSON.parse(callNativeApp("getFavoriteUsers", {}));
71 72 73 74 75 76 77 78
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getFavoriteUsers());
    }
};

CHAT_DB.getFavoriteGroups = function() {
    if (CHAT_UTIL.isIOS()) {
79
        return JSON.parse(callNativeApp("getFavoriteGroups", {}));
80 81 82 83 84 85 86 87
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getFavoriteGroups());
    }
};

CHAT_DB.getMyGroupUsers = function() {
    if (CHAT_UTIL.isIOS()) {
88
        return JSON.parse(callNativeApp("getMyGroupUsers", {}));
89 90 91 92 93 94 95 96
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getMyGroupUsers());
    }
};

CHAT_DB.getGroupInfo = function(groupId) {
    if (CHAT_UTIL.isIOS()) {
97
        return JSON.parse(callNativeApp("getGroupInfo", {"groupId": groupId}));
98 99 100 101 102 103
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getGroupInfo(groupId));
    }
};

104 105
CHAT_DB.getGroupInfoForAddUser = function(groupId) {
  if (CHAT_UTIL.isIOS()) {
106
    return JSON.parse(callNativeApp("getGroupInfoForAddUser", {"groupId": groupId}));
107 108 109 110 111 112
  } else if (CHAT_UTIL.isAndroid()) {
      //String形式をJsonに変更してReturn
    return JSON.parse(android.getGroupInfoForAddUser(groupId));
  }
};

Kang Donghun committed
113 114
CHAT_DB.loadSelectedUsers = function() {
    if (CHAT_UTIL.isIOS()) {
Takatoshi Miura committed
115
        return JSON.parse(callNativeApp("getSelectedUserList", {}));
Kang Donghun committed
116 117 118 119 120 121 122
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
        console.log(JSON.parse(android.getSelectedUserList()));
    	return JSON.parse(android.getSelectedUserList());
    }
}

123 124
CHAT_DB.getNameCardData = function(shopMemberId) {
    if (CHAT_UTIL.isIOS()) {
125
        return JSON.parse(callNativeApp("getNameCardData", {"shopMemberId": shopMemberId}));
126 127 128
    } else if (CHAT_UTIL.isAndroid()) {
    	return JSON.parse(android.getNameCardData(shopMemberId));
    }
Lee Munkyeong committed
129 130 131 132
};

CHAT_DB.getMyGroupShopMemberByName = function(shopMemberName) {
    if (CHAT_UTIL.isIOS()) {
133
        return JSON.parse(callNativeApp("getMyGroupShopMemberByName", {"shopMemberName": shopMemberName}));
Lee Munkyeong committed
134 135 136 137 138 139
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getMyGroupShopMemberByName(shopMemberName));
    }
};

Lee Munkyeong committed
140 141
CHAT_DB.getMyGroupShopMemberNotInRoomByName = function(shopMemberName) {
    if (CHAT_UTIL.isIOS()) {
Takatoshi Miura committed
142
        return JSON.parse(callNativeApp("getMyGroupShopMemberNotInRoomByName", {"shopMemberName": shopMemberName}));
Lee Munkyeong committed
143 144 145 146 147 148
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getMyGroupShopMemberNotInRoomByName(shopMemberName));
    }
};

Lee Munkyeong committed
149 150
CHAT_DB.getAllGroupShopMemberByName = function(shopMemberName) {
    if (CHAT_UTIL.isIOS()) {
151
        return JSON.parse(callNativeApp("getAllGroupShopMemberByName", {"shopMemberName": shopMemberName}));
Lee Munkyeong committed
152 153 154 155 156 157
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getAllGroupShopMemberByName(shopMemberName));
    }
};

Lee Munkyeong committed
158 159
CHAT_DB.getAllGroupShopMemberNotInRoomByName = function(shopMemberName) {
    if (CHAT_UTIL.isIOS()) {
Takatoshi Miura committed
160
        return JSON.parse(callNativeApp("getAllGroupShopMemberNotInRoomByName", {"shopMemberName": shopMemberName}));
Lee Munkyeong committed
161 162 163 164 165 166
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getAllGroupShopMemberNotInRoomByName(shopMemberName));
    }
};

Lee Munkyeong committed
167 168
CHAT_DB.getGroupByName = function(groupName) {
    if (CHAT_UTIL.isIOS()) {
169
        return JSON.parse(callNativeApp("getGroupByName", {"groupName": groupName}));
Lee Munkyeong committed
170 171 172 173 174
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getGroupByName(groupName));
    }
};
Lee Munkyeong committed
175 176 177

CHAT_DB.getUsersInRoom = function(roomId) {
    if (CHAT_UTIL.isIOS()) {
178
        return JSON.parse(callNativeApp("getUsersInRoom", {"roomId": roomId}));
Lee Munkyeong committed
179 180 181 182
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getUsersInRoom(roomId));
    }
Lee Munkyeong committed
183 184
}

185 186
// アーカイブ一覧
CHAT_DB.getArchiveList = function() {
Lee Munkyeong committed
187
    if (CHAT_UTIL.isIOS()) {
188
        return JSON.parse(callNativeApp("getArchiveList", {}));
Lee Munkyeong committed
189
    } else if (CHAT_UTIL.isAndroid()) {
Lee Munkyeong committed
190
        return JSON.parse(android.getArchiveList());
Lee Munkyeong committed
191 192 193 194 195
    }
};

CHAT_DB.updateArchiveList = function() {
    if (CHAT_UTIL.isIOS()) {
196
        webkit.messageHandlers.updateArchiveList.postMessage({});
Lee Munkyeong committed
197
    } else if (CHAT_UTIL.isAndroid()) {
Lee Munkyeong committed
198
        android.updateArchiveList();
Lee Munkyeong committed
199 200 201 202
    }
};

// アーカイブ一覧検索
203
CHAT_DB.getArchiveByName = function(archiveName) {
Lee Munkyeong committed
204
    if (CHAT_UTIL.isIOS()) {
205
        return JSON.parse(callNativeApp("getArchiveByName", {"archiveName": archiveName}));
Lee Munkyeong committed
206
    } else if (CHAT_UTIL.isAndroid()) {
207
        return JSON.parse(android.getArchiveListByName(archiveName));
Lee Munkyeong committed
208 209 210 211
    }
};

// アーカイブ詳細
212
CHAT_DB.getArchiveDetail = function(archiveId) {
Lee Munkyeong committed
213
    if (CHAT_UTIL.isIOS()) {
214
        return JSON.parse(callNativeApp("getArchiveDetail", {"archiveId": archiveId}));
Lee Munkyeong committed
215
    } else if (CHAT_UTIL.isAndroid()) {
216
        return JSON.parse(android.getArchiveDetail(archiveId));
Lee Munkyeong committed
217 218 219 220 221
    }
};

CHAT_DB.updateArchiveDetail = function(archiveId) {
    if (CHAT_UTIL.isIOS()) {
222
        webkit.messageHandlers.updateArchiveDetail.postMessage(archiveId);
Lee Munkyeong committed
223
    } else if (CHAT_UTIL.isAndroid()) {
224
        android.updateArchiveDetail(archiveId);
Lee Munkyeong committed
225 226
    }
};
Lee Munkyeong committed
227 228 229

CHAT_DB.searchMessages = function(keyword, userList) {
    if (CHAT_UTIL.isIOS()) {
Takatoshi Miura committed
230
        return JSON.parse(callNativeApp("searchMessages", {"keyWord": keyword, "userList": userList}));
Lee Munkyeong committed
231 232 233
    } else if (CHAT_UTIL.isAndroid()) {
        return JSON.parse(android.searchMessages(keyword, userList));
    }
234
};
Lee Munkyeong committed
235 236 237

CHAT_DB.getMyGroupUsersNotInRoom = function() {
    if (CHAT_UTIL.isIOS()) {
Takatoshi Miura committed
238
        return JSON.parse(callNativeApp("getMyGroupUsersNotInRoom", {}));
Lee Munkyeong committed
239 240 241 242
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getMyGroupUsersNotInRoom());
    }
243 244 245 246
};

CHAT_DB.getUserInfo = function(shopMemberId) {
    if (CHAT_UTIL.isIOS()) {
247
        return JSON.parse(callNativeApp("getUserInfo", {"shopMemberId": shopMemberId}));
248 249 250 251
    } else if (CHAT_UTIL.isAndroid()) {
        //String形式をJsonに変更してReturn
    	return JSON.parse(android.getUserInfo(shopMemberId));
    }
252 253 254 255 256 257 258 259 260 261 262 263
};

CHAT_DB.getBeforeRoomType = function() {
    // Androidは実装不要
    if (CHAT_UTIL.isIOS()) {
        return callNativeApp("getBeforeRoomType", {});
    }
};

CHAT_DB.getRoomType = function() {
    // Androidは実装不要
    if (CHAT_UTIL.isIOS()) {
264
        return parseInt(callNativeApp("getRoomType", {}), 10);
265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291
    }
};

CHAT_DB.removeFavoriteUser = function(shopMemberId) {
    // Androidは実装不要
    if (CHAT_UTIL.isIOS()) {
        var result = callNativeApp("removeFavoriteUser", {"shopMemberId": shopMemberId});
        if (result == "true") {
            return true;
        } else {
            return false;
        } 
    }
};

CHAT_DB.addFavoriteUser = function(shopMemberId) {
    // Androidは実装不要
    if (CHAT_UTIL.isIOS()) {
        var result = callNativeApp("addFavoriteUser", {"shopMemberId": shopMemberId});
        if (result == "true") {
            return true;
        } else {
            return false;
        } 
    }
};

292 293 294 295 296 297 298 299 300 301 302 303
CHAT_DB.removeFavoriteGroup = function(groupId) {
    // Androidは実装不要
    if (CHAT_UTIL.isIOS()) {
        var result = callNativeApp("removeFavoriteGroup", {"groupId": groupId});
        if (result == "true") {
            return true;
        } else {
            return false;
        } 
    }
};

304 305 306 307 308 309 310 311 312 313
CHAT_DB.addFavoriteGroup = function(groupId) {
    // Androidは実装不要
    if (CHAT_UTIL.isIOS()) {
        var result = callNativeApp("addFavoriteGroup", {"groupId": groupId});
        if (result == "true") {
            return true;
        } else {
            return false;
        } 
    }
Lee Munkyeong committed
314 315
};

316 317 318
CHAT_DB.getUserListByLoginId = function(loginIdList) {
    console.log(loginIdList);
    if (CHAT_UTIL.isIOS()) {
319
        return JSON.parse(callNativeApp("getUserListByLoginId", {"loginIdList": loginIdList.join(",")}));
320 321 322
    } else if (CHAT_UTIL.isAndroid()) {
        return JSON.parse(android.getUserListByLoginId(loginIdList.join(",")));
    }
323 324
}

Takatoshi Miura committed
325 326 327 328 329 330 331 332 333 334 335 336 337
CHAT_DB.getCollaborationJoinFlg = function() {
    // Androidは実装不要
    if (CHAT_UTIL.isIOS()) {
        return callNativeApp("getCollaborationJoinFlg", {});
    }
};

CHAT_DB.getUserInfoList = function(shopMemberId) {
    // Androidは実装不要
    if (CHAT_UTIL.isIOS()) {
        return callNativeApp("getUserInfoList", {"shopMemberId": shopMemberId});
    }
};
338 339 340 341

CHAT_DB.createContentView = function() {
    // Androidは実装不要
    if (CHAT_UTIL.isIOS()) {
342
        return parseInt(callNativeApp("createContentView", {}));
343 344
    }
};
345 346 347 348 349 350 351

CHAT_DB.getToMoveGroupId = function() {
    // Androidは実装不要
    if (CHAT_UTIL.isIOS()) {
        return callNativeApp("getToMoveGroupId", {});
    }
};
352 353 354 355

CHAT_DB.getJoinCollaborationType = function() {
    // Androidは実装不要
    if (CHAT_UTIL.isIOS()) {
356
        return parseInt(callNativeApp("getJoinCollaborationType", {}), 10);
357 358
    }
};
359 360 361 362 363 364 365

CHAT_DB.getHostRequestFlg = function() {
    // Androidは実装不要
    if (CHAT_UTIL.isIOS()) {
        return parseInt(callNativeApp("getHostRequestFlg", {}), 10);
    }
};