• 目录
  • 引入头文件
  • 用户初始化
  • 安全认证
    • 参考 安全认证 ,实现以下API:
  • 登录
  • 在线状态变化回调
  • 发送单聊消息
  • 发送群聊消息
  • 服务器响应回调
  • 接收消息回调
  • 接收群聊消息回调
  • 连接断开回调
  • 注销

    目录

    • 引入头文件
    • 用户初始化
    • 安全认证
    • 登录
    • 在线状态变化回调
    • 发送单聊消息
    • 发送群聊消息
    • 服务器响应回调
    • 接收消息回调
    • 连接断开回调
    • 注销

    引入头文件

    1. <script type="text/javascript" src="mimc-min_1_0_0.js"></script>

    用户初始化

    1. user = new MIMCUser(appAccount);
    2. user.registerFetchToken(fetchMIMCToken); //获取token回调
    3. user.registerStatusChange(statusChange); //登录结果回调
    4. user.registerServerAckHandler(serverAck); //发送消息后,服务器接收到消息ack的回调
    5. user.registerP2PMsgHandler(receiveP2PMsg); //接收单聊消息回调
    6. user.registerGroupMsgHandler(receiveP2TMsg); //接收群聊消息回调
    7. user.registerDisconnHandler(disconnect); //连接断开回调

    安全认证

    参考 安全认证 ,实现以下API:

    1. function fetchMIMCToken() {
    2. // 访问AppProxyService,从返回数据中获取[小米TokenService返回的原始数据]并直接返回
    3. }

    登录

    1. user.login();

    在线状态变化回调

    1. /**
    2. * @param[bindResult] bool: true/false 表示登录成功/失败
    3. * @param[errType] string: 登录失败类型
    4. * @param[errReason] string: 登录失败原因
    5. * @param[errDesc] string: 登录失败描述
    6. **/
    7. function statusChange(bindResult, errType, errReason, errDesc) {
    8. }

    发送单聊消息

    1. /**
    2. * @param[appAccount] string: 消息接收者在App帐号系统的帐号ID
    3. * @param[message] string utf8: 用户自定义消息体
    4. * @param[isStore] bool: 消息是否存储在mimc服务端,true 存储, false 不存储, 默认存储
    5. # @return string: 由客户端生成的消息ID
    6. **/
    7. var packetId = user.sendMessage(appAccount, message, isStore);

    发送群聊消息

    1. /**
    2. * @param[groupId] string: 群ID,也成为topicId
    3. * @param[message] string utf8: 用户自定义消息体
    4. * @param[isStore] bool: 消息是否存储在mimc服务端,true 存储, false 不存储, 默认存储
    5. # @return string: 由客户端生成的消息ID
    6. **/
    7. var packetId = user.sendMessage(groupId, message, isStore);

    服务器响应回调

    1. /**
    2. * @param[packetId] string: 成功发送到服务器消息的packetId,即sendMessage(,)的返回值
    3. * @param[sequence] string: 服务器生成,单用户空间内递增唯一,可用于排序(升序)/去重
    4. * @param[timeStamp] string: 消息到达服务器时间(ms)
    5. * @param[errMsg] string: 服务器返回的错误信息
    6. **/
    7. function serverAck(packetId, sequence, timeStamp, errMsg) {
    8. }

    接收消息回调

    1. /**
    2. * @param[P2PMsg] object: 接收到的P2P消息体
    3. **/
    4. function receiveP2PMsg(P2PMsg) {
    5. P2PMsg.getPacketId(); // 客户端生成的消息ID
    6. P2PMsg.getSequence(); // 由服务器生成,用于去重排序(升序)
    7. P2PMsg.getFromAccount(); // 消息发送者在APP帐号系统的帐号ID
    8. P2PMsg.getTimeStamp(); // 消息发送时间戳
    9. P2PMsg.getPayload(); // payload为用户自定义消息,utf-8 string类型
    10. }

    接收群聊消息回调

    1. /**
    2. * @param[P2TMsg] object: 接收到的P2T消息体
    3. **/
    4. function receiveP2TMsg(P2TMsg) {
    5. P2TMsg.getPacketId(); // 客户端生成的消息ID
    6. P2TMsg.getSequence(); // 由服务器生成,用于去重排序(升序)
    7. P2TMsg.getFromAccount(); // 消息发送者在APP帐号系统的帐号ID
    8. P2TMsg.getTopicId(); // 群ID
    9. P2TMsg.getTimeStamp(); // 消息发送时间戳
    10. P2TMsg.getPayload(); // payload为用户自定义消息,utf-8 string类型
    11. }

    连接断开回调

    1. function disconnect() {
    2. }

    注销

    1. user.logout();

    回到顶部