更新记录

0.0.7(2024-10-31) 下载此版本

update

0.0.6(2024-10-21) 下载此版本

update

0.0.5(2024-10-21) 下载此版本

update

查看更多

平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
× × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

XKit-FE

该项目是云信应用开发的前端相关的库。

X-Kit 架构图

快速启动

项目使用 lerna + yarn workspace 进行多包和依赖管理,因此需要先全局安装 lerna 和 yarn

全局安装 lerna

$ npm i lerna -g

全局安装 yarn

$ npm i yarn -g

安装项目依赖

$ yarn && yarn bootstrap

开发调试

测试环境:

$ yarn start

线上环境:

$ yarn start:prod

项目发布 npm

请先完成上述构建步骤,然后执行:

$ yarn release

包命名规范

  • 纯逻辑的包,包名按照 {业务}-kit 来命名
  • UI 组件的包,包名按照 {业务}-{平台/框架}-ui 来命名

代码提交

  • 通过 git-cz 提交代码,根据选项选择 scope 和影响范围
  • 通过 以下命令生成全部项目 changelog(记录 feat 和 fix 的 commit 记录)
    $ npm run changelog
  • 执行如下命令自动扫描 packages 下面模块的 changelog,去除 issue 连接,并生成原始拷贝
    $ npm run noIssue

分支管理

分支管理

storybook 提测与发布

部署 storybook,用于项目提测相关,也可以作为文档上线输出给开发者参考使用。

  • NDP 发布地址:https://ndp.netease.com/index-new#/app/list?productId=507560&appId=1037679
  • 测试域名:https://yiyong-qa.netease.im/yiyong-xkit/
  • 线上域名:https://yiyong.netease.im/yiyong-xkit/

文档分支规范:线上:release/xxx 提测:test

说明:

  1. 提交到对应的分支后,会自动触发 Jenkins Job 来部署,一般来说不需要手动 NDP 发布。
  2. 文档发布分支基于 master,只接受其他分支往文档分支合并,不接受文档分支往其他分支合并。

包介绍

  • utils 工具包: log , request , storage , eventTracking etc
  • core-kit : 针对 im , rtc 等 sdk 的封装
  • call-kit : 呼叫组件
  • login-ui-kit: 登录组件

开发指南

开发相关

  • 通过使用 storybook 提供 web 环境的开发能力
  • wx 模块的可以接入到 wx 环境进行调试

UI-Kit 开发规范介绍 (请参照 login-ui-kit)

  • 为配合 babel-plugin-import 使用,建议组件文件夹命名方式为小写+'-'分割。所有通过根目录导出的组件文件结构为:
xxx(组件名称)
├── index.tsx   组件入口
├── style  样式文件夹,不管有没有样式,都要建
│   └── index.ts
│   └── index.less
  • 为了开发者使用在不使用 babel-plugin-import 的情况下,方便引入样式,创建 style 文件夹导出所有组件样式。
import { Login } from '@xkit-yx/login-ui-kit'
import '@xkit-yx/login-ui-kit/lib/style'

测试

打包相关介绍

包介绍

  • kit 相关(参照 call-ki),使用 rollup 打包,输出 ems cjs umd 的三种格式。ems cjs 会使用 npm 包管理模式组织,external 对应的 dependencies peerDependencies
  • UI 相关(参照 IM UI Kit),使用 gulp 打包,输出ems cjs的两种格式,因为是 react 组件,默认用户项目有webpack相关工程化能力所以暂时不考虑输出umd。并对样式文件跟组件进行分离方便用户自定义样式。

core-kit 相关

对 sdk 的封装,上层 kit 不直接使用 sdk,而是使用 core-kit 的接口,这样可以更好的维护 sdk 的结构,同时也方便上层 kit 开发。

对于 sdk 依赖层面的工程化方案

  1. 用户在使用 kit 或 ui kit 的时候允许保留项目已有的云信相关的 sdk(ps:sdk 版本需要在兼容范围内)
  • 针对已经 npm 发包的 sdk ,通过 peerDependencies 管理。
  • 针对未发包的 sdk ,需要用户配置工程化能力,如: webpack resolve alias 把用户的 sdk alias 成对应包名称。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问