公司要将钉钉小程序上架到浙政钉上,钉钉小程序转为浙政钉小程序进行开发,首先要在专有钉钉进行开发调试没问题才能上架浙政钉记录下之前遇到的一些小坑
1.小程序 API 使用
钉钉小程序是可以直接使用dd.去调用的,但是专有钉钉小程序的接口调用方式支持2种调用方式,方式一:引入 JSAPI 的方式,方式二:通过 my 的方式进行调用。
首先方式一我们在项目根目录打开终端先执行安装
npm install gdt-jsapi
然后在项目中按需引入
// 方式一
import dd from 'gdt-jsapi'
dd.getLocation().then(ret => {
console.log(ret)
}).catch(err => {
console.error(err)
})
// 方式二,不需要引入,直接使用 my 进行调用
my.getLocation({
success (ret) {
console.log(ret)
},
fail (err) {
console.error(err)
}
})
当时为了图方便不想每个页面都引入我直接全局把dd.换成了my.了
但是其实专有钉钉小程序 API 使用说明上特地说明了还加粗了,注意:通过 my 的方式调用,只支持基本的 API,开放能力相关的 API 还是需要通过引入 JSAPI 的方式调用
我的老天鹅啊!我的眼睛可以捐了
最后还是老老实实用到的地方按需引入了
2.专有钉钉小程序发布了在工作台打开小程序内的tabBar不见了
开发项目时开发工具是会显示TabBar的但是项目真机调试和发布在专有钉钉可能会发现项目底部没有TabBar,但是超管的账号专有钉钉有TabBar,不知道是什么问题,是权限的问题还是说专有钉钉要单独配置什么在群里问技术支持就回我说不支持在app.json里面配置TabBar,可是明明文档上写了有,可以配而且要是不支持那为啥超管的专有钉钉上能显示,百思不得其解
经过我各种排查才知道原来我开发工具管理端选择上那儿选错了
用钉钉开发工具打开项目代码,专有钉钉开发记得选择mPaas这个小程序
管理端选择上要是你选择了mPaas和专有钉钉你会发现有两个mPaas记得选择第一个带图标的而不是专有钉钉下的mPaas
因为只有第一个才会有这个扩展工具
这时打开mPaaS扩展工具小程序设置把显示底部导航栏给选中是就能显示底部导航栏了
3.预览可以,但是真机调试不了
在和后端去对接专有钉钉的免登录调试过程中用编译器编译后我在去测试免登,真机调试的时候登录的时候token存不到到storage里面,这我就没办法进行下去了
这个还是因为刚刚上面那个因为开发工具管理端选错了
要想真机调试需要在mPaaS扩展工具内添加白名单,如果不添加就不能真机调试 多个白名单用,隔开 专有钉钉的UID公司内开放平台的管理员可以在专有钉钉管理工作台可以查看到(如果要上架浙政钉平台之后换成正式的账号登录的时候 真机调试就得再添加浙政钉账号的UID哈)
4.专有钉钉小程序会闪退
经过排查发现苹果手机专有钉钉小程序调用日期dd.datePicker真机调试和发版后整个小程序会闪退,安卓手机不去调这个也会闪退
在浙政钉技术支持群里问了没告诉我原因就直接让我换成H5的日期选择组件dd.showDateTimePicker 专有钉钉门户