微信小程序转钉钉小程序
使用工具转换
由于平台差异,微信小程序不能在钉钉平台直接使用,选择 Antmove 转换
- 安装转换工具
- 开始转换(推荐使用 vscode 插件 Antmove)
- 抹平平台差异
- 前端某些 api 差异
- 后端通知服务 api 差异
shell
npm install antmove -g
- 在需要转换项目下新建 antmove.config.js 文件
javascript
module.exports = {
input: './',
output: '..\\etms-dd',
env: 'production',
platform: 'dd',
component2: true,
scope: true,
type: 'wx-alipay',
component: false,
hooks: {
plugin: function plugin(appJson) {
return appJson;
}
}
};
平台差异
全局变量
微信 | wx |
---|---|
钉钉 | dd |
动态设置导航栏颜色
微信 | setNavigationBarColor | |
---|---|---|
钉钉 | setNavigationBar | 没有hideTabBar接口 |
音频差异
微信 | stopRecord |
---|---|
钉钉 | getRecorderManager |
开放能力
微信小程序的button开放能力明显要强于钉钉小程序开放能力
微信端的授权或着获取用户信息在钉钉端需要改变交互或者实现方式
**
图表开发
选取 wx-charts 开源项目,文档参考。
备选方案:uCharts
request 请求
钉钉请求网络注意:
- 头部信息是 headers,不是微信小程序 header
- 新增头部信息时,参数都应该为字符串
tabBar
真机调试
真机预览时,需要在钉钉开发者平台设置安全域名
平台发布
一些考虑
微信小程序是否有必要转换,由于两个平台造成的差异可能需要考虑的细节:
- 后期代码维护;由于差异带来的维护成本
- 两端交互的不同;带来的开发成本
- 发布平台的不同;审核时间带来发布时间的考虑
- 图表开发;平台方案的选取可能带来两端实现的差异化与时间的后延
总结:是否需要重新规划,使用多端统一开发方案:uni-app
多端开发考虑:
**
- 对比多端差异,是否需要综合考虑认证交互,减少一些开发维护成本
- 图表如果使用使用Echarts微信版本,在多端转换会出现**只支持微信小程序,**是否考虑多端统一使用 Antv F2 ?