Files
bai_cha_hui/common/agoraRtm.js
2025-06-11 10:21:51 +08:00

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;