67 lines
1.6 KiB
JavaScript
67 lines
1.6 KiB
JavaScript
const AgoraRtmClientModule = uni.requireNativePlugin('AgoraRtm');
|
|
var agoraRtm = {
|
|
createInstance(params, callback) {
|
|
this.callMethod('createInstance', {
|
|
appId: params.appid
|
|
}, callback);
|
|
},
|
|
login(params, callback){
|
|
this.callMethod('login', {
|
|
token: params.token,
|
|
uid: params.uid
|
|
}, callback);
|
|
},
|
|
join(callback){
|
|
this.callMethod('join', null, callback);
|
|
},
|
|
createChannel(params, callback) {
|
|
this.callMethod('createChannel', {
|
|
channelId: params.channelId
|
|
}, callback);
|
|
},
|
|
sendMessage(params, callback) {
|
|
this.callMethod('sendMessage', {
|
|
message: params.message
|
|
}, callback);
|
|
},
|
|
getChannelMemberCount(params, callback) {
|
|
this.callMethod('getChannelMemberCount', {
|
|
channelIds: params.channelIds
|
|
}, callback);
|
|
},
|
|
getMembers(callback){
|
|
this.callMethod('getMembers', null, callback);
|
|
},
|
|
setupRemoteVideo(callback){
|
|
this.callMethod('setupRemoteVideo', null, callback);
|
|
},
|
|
logout(){
|
|
this.callMethod('logout', null);
|
|
},
|
|
release(params){
|
|
this.callMethod('release', {
|
|
channelId: params.channelId
|
|
});
|
|
},
|
|
callMethod(method, args, callback){
|
|
return new Promise((resolve, reject) => {
|
|
AgoraRtmClientModule.callMethod({
|
|
method: method,
|
|
args: args
|
|
}, res => {
|
|
console.log(res);
|
|
if (res && res.code) {
|
|
console.log('-------rtm reject--------method='+method);
|
|
reject(res);
|
|
} else {
|
|
console.log('-------rtm resolve--------method='+method);
|
|
resolve(res);
|
|
let resJson = JSON.parse(res);
|
|
callback && callback(resJson);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
};
|
|
export default agoraRtm;
|