|
@@ -1,70 +0,0 @@
|
|
-// 请结合您项目实际情况引入 SDK
|
|
|
|
-import { ImEngine, ImLogLevel } from "../lib/alivc-im.js";
|
|
|
|
-
|
|
|
|
-const initEngine = async () => {
|
|
|
|
- const engine = ImEngine.createEngine();
|
|
|
|
-
|
|
|
|
- try {
|
|
|
|
- await engine.init({
|
|
|
|
- appId: "APP_ID", // 开通应用后可以在控制台上拷贝
|
|
|
|
- appSign: "APP_SIGN", // 开通应用后可以在控制台上拷贝
|
|
|
|
- logLevel: ImLogLevel.ERROR, // 日志级别,调试时使用 ImLogLevel.DBUG
|
|
|
|
- // 指定引入的 wasm 的地址
|
|
|
|
- locateFile: (url) => {
|
|
|
|
- if (url.endsWith(".wasm")) {
|
|
|
|
- // 需要根据您项目 alivc-im.wasm.br 文件存放位置修改返回的路径
|
|
|
|
- // 这里是从项目根目录读取文件,而不是当前文件的目录下,因此不需要使用 .. 和 . 这些相对路径
|
|
|
|
- // 如果您参考了上面 uni-app 工程的目录结构,那么这里返回 /static/mp-weixin/alivc-im.wasm.br
|
|
|
|
- // 如果您参考了上面 Taro 工程的目录结构,那么这里返回 /static/alivc-im.wasm.br
|
|
|
|
- return "/static/mp-weixin/alivc-im.wasm.br";
|
|
|
|
- }
|
|
|
|
- return url;
|
|
|
|
- },
|
|
|
|
- });
|
|
|
|
- // 需确认init异步操作成功后,才可以继续执行login等操作
|
|
|
|
-
|
|
|
|
- // 初始化成功,监听事件
|
|
|
|
- engine.on("connecting", () => {
|
|
|
|
- console.log("connecting");
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- engine.on("connectfailed", (err) => {
|
|
|
|
- console.log(`connect failed: ${err.message}`);
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- engine.on("connectsuccess", () => {
|
|
|
|
- console.log("connect success");
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- engine.on("disconnect", (code) => {
|
|
|
|
- // code 断开原因 1:主动退出, 2:被踢出 3:超时等其他原因 4:在其他端上登录
|
|
|
|
- console.log(`disconnect: ${code}`);
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- engine.on("linkstate", (data) => {
|
|
|
|
- // 链接状态发生变化,state 状态 0:未连接 1:连接中 2:已连接 3:已断联
|
|
|
|
- console.log(`previousState: ${data.previousState}, currentState: ${data.currentState}`);
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- engine.on("reconnectsuccess", (groupInfos) => {
|
|
|
|
- // 重连成功,会返回所在群组的数据
|
|
|
|
- console.log(groupInfos);
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- engine.on("tokenexpired", async (cb) => {
|
|
|
|
- // 这里需要更新为获取新的登录信息的代码
|
|
|
|
- const auth = await getLoginAuth();
|
|
|
|
- cb(null, {
|
|
|
|
- timestamp: 22123123, // 服务端返回timestamp值
|
|
|
|
- nonce: "nonce", // 服务端返回nonce值
|
|
|
|
- token: "xxx", // 服务端返回token值
|
|
|
|
- });
|
|
|
|
- });
|
|
|
|
- } catch (error) {
|
|
|
|
- // init 错误码含义
|
|
|
|
- // 1001:重复初始化、1002:创建底层引擎失败、-1:底层重复初始化、-2:初始化配置信息有误
|
|
|
|
- console.log(`Init Fail: code:${error.code}, message: ${error.msg}`);
|
|
|
|
- }
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-export { initEngine };
|
|
|