Web 前端快速开发

本页面供快速集成使用,了解更多请访问详细文档

选型先读

美信拓扑前端 Web SDK 共有三个版本,请按需选择:

  1. Web版,主要供 PC 桌面浏览器使用,适合各种传统前端应用;

  2. Uni-app版,基于 DCloud.io 的 uni-app 框架开发,供H5和各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝),也可发布到iOS、Android、快应用等平台;

  3. 微信小程序版,符合微信小程序标准的原生版本,功能跟 uni-app 版完全一致;

以下文档以 Web 版为例,所有版本基本一致。与此同时,DemoApp 源码均已开放,建议直接参考开发。

前期准备

  1. 登录官网控制台,获取你的appid,并替换下文中 YOUR_APP_ID。

  2. 下载SDK floo-2.0.0.js

快速集成

一、初始化

首先设置 AppID

const config = {
  dnsServer: "https://dns.maximtop.com/app_dns",
  appid: "YOUR_APP_ID",
  ws: false,
  autoLogin: true
  };

然后创建im对象,供全局调用。

当前支持两种方式:

  1. Script 方式,你可以直接 import 后,使用 window.flooIM()

这种方式主要为支持浏览器中使用 script 标签引用,但会存在初始化并发问题,所以要用 try-catch-retry,请参见maxim-web源码

  1. module 方式,import flooim 后,使用 flooim()

二、注册用户

通过 im 的 userManager的 asyncRegister 来注册用户

三、登录链接服务器

如果SDK设置了autoLogin为true,那么在第一次登录之后再次打开或刷新页面,将不用再登录。 第一次登录,调用im.login

可监听登录信息或进度:

四、获取会话列表

直接调用userManage的getConversationList,返回包括name、id、类型、未读等列表

五、断开连接

im的登录信息存储在localstorage,只要删除刷新即可,可自己实现

用户好友

添加好友

调用 im.rosterManage 的 asyncApply 方法:

删除好友

调用 rosterManage 的 asyncDeleteRoster 方法删除好友

同意添加好友

调用 rosterManage 的 asyncAccept 方法来同意好友申请

拒绝添加好友

调用 rosterManage 的 asyncDecline 方法来拒绝好友申请

获取好友列表

调用 rosterManage 的 getAllRosterDetail 方法来获取好友列表

监听 onRosterListUpdate 可即时的得知用户列表的改变

基础功能

单聊

单聊是最基本的聊天界面,提供文字、表情、图片等多种输入内容。

群聊

群组的聊天,是多人一起参与的聊天。

  1. 创建群组

调用 groupManage 的 asyncCreate 方法来创建一个群组

  1. 加入群组

调用 groupManage 的 asyncApply 方法来申请加入一个群组

  1. 退出群组

调用 groupManage 的 asyncLeave 方法来退出群组

  1. 解散群组

调用 groupManage 的 asyncDestroy 方法来申请加入一个群组

  1. 获取群成员列表

调用 groupManage 的 getGroupMembers 方法来获取所有成员列表

  1. 获取群组列表 调用 groupManage 的 asyncGetJoinedGroups 方法来获取所有用户加入的群组

  1. 获取群组信息 调用 groupManage 的 asyncGetGroupInfo 方法来获取群组的详细信息

消息发送

登录成功之后才能进行聊天操作。发消息时,单聊和群聊是分开发消息的。 由于操作方便,目前只支持文本、图片与文件的发送。

构建消息实体

文本消息

图片消息

文件消息

消息操作

消息实体构建完成后,通过 BMXClient的单例,ChatService类,调用 -sendMessage: 方法,将构建好的消息实体传入,即可实现消息发送

发送

转发

撤回

消息接收监听

接收到消息通知

消息发送后状态回调通知

功能进阶

群组@功能

消息正在输入状态

消息搜索

根据关键字搜索指定消息内容

Last updated

Was this helpful?