DCloud_UNI_CHB
DCloud_UNI_CHB
  • 发布:2019-09-03 21:16
  • 更新:2023-11-08 15:52
  • 阅读:33486

uni-app开发多端之钉钉小程序

分类:uni-app

经常有开发者咨询uni-app是否支持钉钉小程序

答案当然是支持!

本文通过将hello uni-app发布到钉钉小程序,演示如何使用uni-app开发钉钉小程序

扩展钉钉小程序平台

创建hello uni-app项目后,在项目根目录下新增或修改package.json,在根节点下新增如下扩展配置:

"uni-app": {  
    "scripts": {  
        "mp-dingtalk": {   
            "title":"钉钉小程序",   
            "env": {   
                "UNI_PLATFORM": "mp-alipay"   
            },  
            "define": {   
                "MP-DINGTALK": true   
            }  
        }  
    }  
}

运行到模拟器

HBuilderX会根据package.json的扩展配置,在运行菜单下,生成钉钉小程序菜单,如下图:

点击钉钉小程序菜单,开始编译,编译成功后,会自动打开支付宝开发者工具,展开左侧钉钉菜单,选择第三方个人应用,如下图:

然后点击右上角打开项目,选择编译目录(类似:%Project_root%/unpackage/dist/dev/mp-alipay/,注意:钉钉小程序复用支付宝小程序的编译目录),在接下来的界面中,注意修改项目名称,并特别注意修改项目类型为“钉钉 - 第三方个人应用”

项目导入后,支付宝开发者工具会进行编译载入,并在右侧模拟器上显示,如下:

在右侧模拟器上可以点击各页面进行测试。

发行到钉钉开放平台

同样,HBuilderX会根据package.json的扩展配置,在发行 -> 自定义发行菜单下,生成钉钉小程序菜单,如下图:

点击钉钉小程序菜单,开始编译,编译成功后,会自动打开支付宝开发者工具,展开左侧钉钉菜单,选择第三方个人应用,如下图:

然后点击右上角打开项目,选择编译目录(类似:%Project_root%/unpackage/dist/build/mp-alipay/,注意发行时是build目录,不是dev目录),在接下来的界面中,注意修改项目名称,并特别注意修改项目类型为“钉钉 - 第三方个人应用”

项目导入后,支付宝开发者工具会进行编译载入,并在右侧模拟器上显示,如下:

上传需登录后才能操作,使用手机端的钉钉App,扫码登录,

登录成功后,左上角选择关联的小程序(需提前在钉钉开放平台创建小程序),如下图:

点击支付宝开发者工具右上角的“上传”按钮,将代码上传到钉钉开放平台,上传成功后,即可在钉钉开放平台中进行版本发布,可设置为预览版,或直接提交审核:

注意:钉钉小程序的审核发布,需首先完成“钉钉组织认证”和“服务商认证”,提醒开发者提早完成认证,否则无法审核通过。

API调用

钉钉大部分api都是uni通用的API,hello uni-app是可以直接在钉钉里跑的。
如果你需要调用钉钉的专有API,和其他端开发也一样,在钉钉端可直接调用dd的API,当然要跨端的话,需要写在条件编译里。

5 关注 分享
DCloud_uniCloud_WYQ sonicsunsky 1***@163.com 3***@qq.com DCloud_UNI_HRK

要回复文章请先登录注册

8***@qq.com

8***@qq.com

回复 2***@qq.com :
也遇到了一样的问题,请问你是怎么解决了
2023-11-08 15:52
2***@qq.com

2***@qq.com

为啥我的项目在uniapp和wx小程序里面都可以正常使用,但是在钉钉小程序里面好多功能都不能用,tabBar跳转都用不了会提示 http://127.0.0.1:9127/member.js.map 有些点击事件更是不触发
2023-08-30 16:01
j***@163.com

j***@163.com

回复 4***@qq.com :
遇到了,通过钉钉自己的开发工具会遇到这个问题,换成支付宝小程序开发工具,然后切换到钉钉小程序就没问题
2023-06-12 20:28
l***@163.com

l***@163.com

钉钉小程序有可支持的echarts吗?
2022-12-20 17:29
1***@qq.com

1***@qq.com

为啥我的不行
2022-09-05 21:21
勾栏听曲

勾栏听曲

回复 勾栏听曲 :
我知道了。。。
2022-07-25 11:52
勾栏听曲

勾栏听曲

为啥我新增package.json,运行那不出现钉钉小程序
2022-07-25 11:45
4***@qq.com

4***@qq.com

import { View as View_ } from '@alipay/af-appx';
15 | const View = View_ || $EmptyComponentFactory("view");
> 16 | const U-Form_ = $getComponentClass("/uni_modules/uview-ui/components/u--form/u--form")
| ^
17 | const U-Form = U-Form_ || $EmptyComponentFactory("u--form");
18 | const UFormItem_ = $getComponentClass("/uni_modules/uview-ui/components/u-form-item/u-form-item")
19 | const UFormItem = UFormItem_ || $EmptyComponentFactory("u-form-item");

你们会遇到这个错吗?项目是uview写的,运行不起来
2022-05-29 16:45
祥子888

祥子888

回复 一只猫CC :
大佬,我也遇到同样问题了 请问下怎么解决
2022-05-23 14:05
祥子888

祥子888

回复 祥子888 :
hello uniapp那个项目测试也是一样
2022-05-23 13:54