yach.nim.util

    1.0.5 • Public • Published

    yach.nim.util

    owner

    仇彦龙(147691)

    安装

    npm i yach.nim.util

    API 列表

    getUser

    获取当前用户的信息

     util.nimUtil.getUser(id) 
    
    

    getCustomYachNick(obj)

    obj 当前个人信息对象

     util.nimUtil.getCustomYachNick(id) 
    

    getUsers(userIdList)

    同1 获取的是批量的数据,获取用户名片数组,每次最多 150 个

     util.nimUtil.getUsers 
    
     //eg:
     nim.getUsers({
        accounts: ['account1', 'account2'],
        done: getUsersDone
    });
    function getUsersDone(error, users) {
        console.log('获取用户名片数组' + (!error?'成功':'失败'), error, users);
        if (!error && users.length) {
            onUsers(users);
        }
    }
    
    

    getTeam(id, isDoNotUseYachCache = false) {

    群信息: 开发者可以调用此接口获取群资料

      util.nimUtil.getTeam 
    

    updateTeam(teamId, obj) {

    【更新群】 普通群不可以更新 群加入方式 群被邀请模式 群邀请模式 群信息修改权限 群信息自定义字段修改权限 更新群后, 所有群成员会收到一条类型为'updateTeam'的群通知消息。此类群通知消息的from字段的值为更新群的人的帐号, to字段的值为对应的群ID, attach有一个字段team的值为被更新的群信息。

       //eg  teamId: '123',
       uti.nimUti.updateTeam('123',{
           name: '群名字',
           avatar: 'avatar',
           intro: '群简介',
           announcement: '群公告',
           custom: '自定义字段',
           done: updateTeamDone
       });
       function updateTeamDone(error, team) {
           console.log('更新群' + (!error?'成功':'失败'), error, team);
       }
    

    applyTeam(id) {

    申请入群 用户可以主动申请加入高级群, 目标群的群主和管理员会收到一条类型为'applyTeam'的系统通知, 此类系统通知的from字段的值为申请方的帐号, to字段的值为对应的群ID, 高级群的群主和管理员在收到入群申请后, 可以选择通过或者拒绝入群申请。 如果通过入群申请, 那么该群的所有群成员会收到一条类型为'passTeamApply'的群通知消息, 此类群通知消息的from字段的值为通过入群申请的人的帐号, to字段的值为对应的群ID, attach有一个字段team的值为对应的群对象, attach有一个字段account包含了申请方的帐号, attach有一个字段members的值为被通过申请的群成员列表。 如果拒绝入群申请, 那么申请人会收到一条类型为'rejectTeamApply'的系统通知, 此类系统通知的from字段的值为拒绝方的帐号, to字段的值为对应的群ID, attach有一个字段team的值为对应的群。

    uti.nimUti.applyTeam
    

    leaveTeam(teamId) {

    主动退群.主动退群后, 所有群成员会收到一条类型为'leaveTeam'的群通知消息。此类群通知消息的from字段的值为退群的人的帐号, to字段的值为对应的群ID, attach有一个字段team的值为对应的群对象。

     uti.nimUti.leaveTeam
    

    transferTeam(teamId, account, leave) {

    同上,转移群

    uti.nimUti.transferTeam
    

    dismissTeam(teamId) {

    同上,退出群

     uti.nimUti.dismissTeam
    

    getTeamMembers(teamId) {

    同上,获取群成员信息

     uti.nimUti.getTeamMembers
    

    addTeamMembers(teamId, accounts) {

     uti.nimUti.addTeamMembers
    

    removeTeamMembers(teamId, accounts) {

    util.nimUti.removeTeamMembers
    

    removeTeamManagers(teamId, accounts) {

    util.nimUti.removeTeamManagers
    

    addTeamManagers(teamId, accounts) {

    util.nimUti.addTeamManagers
    

    getLocalSession(id) {

    util.nimUti.getLocalSession
    

    insertLocalSession(type, id) {

    util.nimUti.insertLocalSession
    

    updateLocalSession(id, local) {

    util.nimUti.updateLocalSession
    

    updateTeamMute(teamId, mute, type) {

    util.nimUti.updateTeamMute
    

    updatePersonMute(id, mute) {

    util.nimUti.updatePersonMute
    

    getPersonMute() {

    获取黑名单和静音列表。如果开发者在初始化SDK的时候设置了syncRelations为false, 那么就收不到onblacklist和onmutelist回调, 可以调用此接口来获取黑名单和静音列表

    util.nimUti.getPersonMute
    

    forwardMsg(msg, scene, to) {

    util.nimUti.forwardMsg
    

    resendMsg(someMsg) {

    util.nimUti.resendMsg
    

    deleteMsg(someMsg) {

    util.nimUti.deleteMsg
    

    deleteLocalMsg(msg) {

    util.nimUti.deleteLocalMsg
    

    updateLocalMsg(idClient, localCustom) {

    util.nimUti.updateLocalMsg
    

    getHistoryMsgs(scene, id, time, num, reverse) {

    util.nimUti.getHistoryMsgs
    

    deleteLocalMsgsBySession(scene, to) {

    util.nimUti.deleteLocalMsgsBySession
    

    getLocalMsgByIdClient(idClient) {

    util.nimUti.getLocalMsgByIdClient
    

    notifyForNewTeamMsg(teamId) {

    是否需要群消息通知. 结果回调函数,成功时第二个参数是一个map, key是群ID, value 是一个布尔值, 表示该群是否需要群消息通知;如果有部分成功部分失败,第三个参数是失败的群ID数组

    util.nimUti.notifyForNewTeamMsg
    

    sendTeamMsgReceipt(option) {

    标记群组消息已读

    util.nimUti.sendTeamMsgReceipt
    
    //eg:
    nim.sendTeamMsgReceipt({
      teamMsgReceipts: [{
         teamId: '1027484',
         idServer: '68953284018302'
      }],
      done: sendTeamMsgReceiptDone
    })
    function sendTeamMsgReceiptDone (error, obj) {
      console.log('标记群组消息已读' + (!error?'成功':'失败'));
    }
    

    getTeamMsgReads(id, idServer) {

    查询群组消息已读、未读数量

    util.nimUtil.getTeamMsgReads
    

    getTeamMsgReadAccounts(id, idServer) {

    util.nimUtil.getTeamMsgReadAccounts
    

    stopAllNoSpeaking(teamId, type="normal"){

    util.nimUtil.stopAllNoSpeaking
    

    publishEvent

    向订阅者发布事件。若云信系统内置的在线状态无法满足应用需求或者开发者需要一些单独的自定义事件时,可以使用该接口来发布。

    util.nimUtil.publishEvent
    
     //eg: 
     nim.publishEvent({
        type: 1,   //传入1即可。
        value: 10001, //value为10000以上(1-9999为云信预定义值,开发者不可使用)
        custom: 'hello world',
        vaildTime: 60,
        sync: false,
        done: publishEventDone
      });
      function publishEventDone(error, obj) {
        console.log('发布事件' + (!error?'成功':'失败'), error, obj);
      }
    

    getLocalSessions

    util.nimUtil.getLocalSessions
    

    getSessionsWithMoreRoaming(id,callback)

    查询漫游消息不全的会话/会话列表,要查询的会话id,若不填,则查询全部

    util.nimUtil.getSessionsWithMoreRoaming
    

    updateSessionsWithMoreRoaming

    更新漫游消息不全的会话的漫游时间戳

    util.nimUtil.updateSessionsWithMoreRoaming
    

    getTeams

    如果开发者在初始化SDK的时候设置了syncTeams为false, 那么就收不到onteams回调, 可以调用此接口来获取群列表

    util.nimUtil.getTeams
    

    deleteMsgSelf

    单向删除消息不同与直接删除消息,单向删除消息后,自己看不到删除的消息,但对方仍能看到,也就是仅删除自己这侧的消息.如果存在多端登录,其他端会收到一个单向删除的系统通知

    export function deleteMsgSelf(msg,custom={}){
        return new Promise((resolve,reject)=>{
            let startTime = Date.now();
            window.nim.deleteMsgSelf({
                msg,
                custom,
                done: function(err,obj){
                    elk('window.nim.deleteMsgSelf', startTime);
    
                    return err ? reject(err) : resolve(obj)
                }
            })
        })
     }
    

    deleteLocalMsgs(scene, to)

    scene: 'p2p' || 'team' to: id 删除本地消息

      util.nimUtil.deleteLocalMsgs
    
    

    getTeamMemberByTeamIdAndAccount(tid,uid)

    通过群ID及成员账号获取群成员信息,* tid 是群id string uid: 当前用户的id

      util.nimUtil.getTeamMemberByTeamIdAndAccount
    

    resetCurrSession(id)

    id 是当前会话的id,重置当前会话.重置当前会话后, 所有会话在收到消息之后会更新未读数。

      util.nimUtil.resetCurrSession
    

    setCurrSession

    设置当前会话 设置后, 当前会话未读数会被置为 0, 同时开发者会收到 onupdatesession 回调 之后此会话在收到消息之后不会更新未读数 传空字符串的话, 重置当前会话为空

      util.nimUtil.setCurrSession
    

    deleteLocalSession(sid)

    删除本地会话。 在支持数据库时, 删了本地会话之后, 下次同步就同步不到对应的会话。如果不支持数据库, 算成功。如果对应的会话不存在, 算成功

    util.nimUtil.deleteLocalSession
    

    getLocalMsgs

    util.nimUtil.getLocalMsgs
    

    sendTipMsg

    util.nimUtil.sendTipMsg
    

    sendMsgReceipt

    发送消息已读回执,目前只支持'p2p'会话,如果没有传入消息, 则直接返回成功,如果已经发送过比传入的消息的时间戳大的已读回执, 那么直接返回成功

    util.nimUtil.sendMsgReceipt
    

    sendText

    util.nimUtil.sendText
    

    sendCustomMsg

    发送自定义消息。 自定义消息是消息类型的一种,下面的代码用自定义消息实现了石头剪刀布游戏

    util.nimUtil.sendCustomMsg
    

    saveMsgsToLocal

    保存漫游消息 接受一组消息列表

    util.nimUtil.saveMsgsToLocal
    

    version

    1.0.5.20201207

    1. getTeam增加强制走缓存参数:getTeam(id, isDoNotUseYachCache = false)

    0.1.0.20201103

    1. ncu

    0.0.9.20200916

    1. cache get user
    2. cache get team

    0.0.8.20200904

    1. 暂时屏蔽掉elk上报

    0.0.7.20200831

    1. fix start time bug

    0.0.6.20200814

    1. 丰富api list文档

    0.0.5.20200728

    1. 丰富api list文档

    0.0.4.20200727

    1. add owner

    0.0.3.20200714

    1. 丰富util
    2. 添加elk

    0.0.2.20200705

    1. 修改readme

    0.0.1.20200613

    1. init project

    Keywords

    none

    Install

    npm i yach.nim.util

    DownloadsWeekly Downloads

    50

    Version

    1.0.5

    License

    MIT

    Unpacked Size

    32.1 kB

    Total Files

    5

    Last publish

    Collaborators

    • wangqi101
    • liuxingsong
    • wenai
    • panghaojie
    • wangwenjie1
    • earl_yach
    • wangzheng_jzb
    • qiuyanlong_001
    • liuqingsong
    • guozhengzhong
    • qiaowenbin