tencent cloud

文档反馈

最后更新时间:2024-12-12 16:23:57
    本文将详细介绍如何通过导出源码定制 TUILiveKit 的用户界面。

    方案一:LiveKit 源码导出修改

    您可以直接修改我们提供的 UI 源代码,以便根据需求调整 TUILiveKit 的用户界面。

    步骤一:导出 LiveKit 源码

    Vue3
    1. 执行源码导出脚本,默认拷贝路径为 ./src/components/TUILive
    node ./node_modules/@tencentcloud/livekit-web-vue3/scripts/eject.js
    2. 根据脚本提示确认是否要将 TUILiveKit 源码拷贝到 ./src/components/TUILive 目录。如您需要自定义拷贝目录请输入 'y', 否则输入'n'。
    
    
    
    3. 源码导出后,在您指定的项目路径中会新增 TUILiveKit 源码。此时,您需要手动将 liveMainView 组件,liveRoom 对象的引用从 npm 包地址更改为 TUILive 源码的相对路径地址。
    - import { liveMainView, liveRoom } from '@tencentcloud/livekit-web-vue3';
    // 替换引用路径为 TUILiveKit 源码的真实路径
    + import { liveMainView, liveRoom } from './src/components/TUILive/index.ts';

    步骤二:配置 UIKIT 源码开发环境

    配置 Vue3 + Vite + TS 开发环境
    1. 安装开发环境依赖
    npm install typescript -S -D
    2. 注册 Pinia
    TUILive 使用 Pinia 进行房间数据管理,您需要在项目入口文件中注册 Pinia,项目入口文件为 src/main.ts 文件。
    // src/main.ts 文件
    import { createPinia } from 'pinia';
    
    const app = createApp(App);
    // 注册 pinia
    app.use(createPinia());
    app.mount('#app');
    3. 配置 esLint 校验
    如果您不希望 TUILiveKit 组件的 esLint 规则和您本地的规则出现冲突导致运行报错,您可以在.eslintignore中添加忽略 TUILive 文件夹。
    // 请添加 TUILive 源码真实路径
    src/components/TUILive
    如果您在 build 项目的过程,仍出现 ts 报错,可以检查该工程的 package.json文件,删除对应 build 指令里的 vue-tsc 部分,如下:
    // package.json
    {
    "scripts": {
    // "build": "vue-tsc --noEmit --skipLibCheck && vite build",
    "build": "vite build"
    }
    }
    4. 此时您可以运行项目查看源码导入效果
    npm run dev

    步骤三:根据需求修改源码

    1. 替换图标

    您可以直接修改 /TUILive/components/common/icons 文件夹下的图标组件,以确保整个 app 中的图标色调风格保持一致,请在替换时保持图标文件的名字不变。

    2. 调整 UI 布局

    您可以通过修改 TUILive/components/ 路径下的不同组件来调整 TUILive 界面的 UI 布局
    - components/
    - Chat 聊天
    - common 公共组件
    - ManageMember 成员管理
    - RoomContent Room 视频
    - RoomFooter Room 页面 Footer部分
    - RoomHeader Room 页面 Header部分
    - RoomHome Home 页面
    - RoomInvite 邀请成员
    - RoomLogin 登录页面
    - RoomMore 更多
    - RoomSetting 设置

    方案二:自实现 UI 方法

    TUILiveKit 的整体功能是基于 RTC Room Engine SDK 实现的,您可以完全基于 RTC Room Engine SDK 实现一套自己的 UI 界面。详情可见 RTC Room Engine SDK
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持