前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【TUICallKit】小程序全局监听(分包方案)

【TUICallKit】小程序全局监听(分包方案)

原创
作者头像
jonyttang
修改2023-09-07 11:14:14
3.7K3
修改2023-09-07 11:14:14
举报
文章被收录于专栏:TUICallKitTUICallKit

分包流程

适用于业务逻辑复杂,按需载入的小程序

小程序分包有如下好处

  • 规避所有逻辑代码放主包,导致主包文件体积超限问题
  • 支持按需载入,降低小程序载入耗时和页面渲染耗时
  • 支持更加复杂的功能

构建npm

代码语言:javascript
复制
npm i @tencentcloud/call-uikit-wechat@1.4.4

微信开发者工具 工具 > 构建 npm构建 npm 后目录如下(多了 miniprogram_npm):

1.下载 CallKit 分包组件

CallKit 分包组件下载地址

https://web.sdk.qcloud.com/trtc/miniapp/download/TUICallKit/subpackage/subpackage-call.zip

2.创建分包

将全局监听分包组件复制和 pages 同级目录下,本文以 subpackage-call 为例,成功后的目录结构:

image.png
image.png

3.注册分包

在 app.json 文件注册分包。

代码语言:javascript
复制
{
  "pages": [
    "pages/index/index"
  ],
  "subPackages": [
    {
      "root": "subpackage-call",
      "name": "subpackage-call",
      "pages": [
        "pages/globalCall/globalCall"
      ],
      "independent": false
    }
  ],
  "window": {
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "Weixin",
    "navigationBarTextStyle": "black"
  },
  "style": "v2",
  "sitemapLocation": "sitemap.json"
}

4. 实例化 callManager

1.在 app.js onLaunch 生命周期中实例化 callManager

代码语言:javascript
复制
require.async('./subpackage-call/TUICallKit/serve/callManager.js').then(res => {
      wx.CallManager = new res.CallManager();
    }).catch(({mod, errMsg}) => {
      console.error(`path: ${mod}, ${errMsg}`)
})

5 触发全局监听

代码语言:javascript
复制
  wx.CallManager.init({
      sdkAppID: 123456,                 // 替换为用户自己的 sdkAppID
      userID: '123',                    // 替换为用户自己的 userID
      userSig: 'xxxxxxx',               // 替换为用户自己的 userSig
      globalCallPagePath: 'subpackage-call/pages/globalCall/globalCall', // 替换为步骤一里注册的全局监听页面
  });

参数

类型

说明

是否必传

sdkAppID

String

IM 的应用 ID

userId

String

当前用户的 ID

userSig

String

鉴权的票据

globalCallPagePath

String

注册的全局监听页面

tim

ChatSDK

TIM 实例

推荐在登录成功后触发全局监听

卸载全局监听

代码语言:javascript
复制
wx.CallManager.destroyed()

在退出登录时,卸载全局监听,防止重复监听

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分包流程
  • 构建npm
    • 2.创建分包
      • 3.注册分包
        • 4. 实例化 callManager
          • 5 触发全局监听
          相关产品与服务
          云开发 CloudBase
          云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档