钉钉小程序在某些原生组件及api无法实现需求的情况下,可以在钉钉微应用文档中寻求相应帮助。其中JSAPI的调用使我受益匪浅。
JSAPI为应用提供了调用原生控件的能力
1.使用方法及准备:
使用npm安装dingtalk-jsapi扩展模块,
npm install dingtalk-jsapi --save
在需要使用的js文件开头添加
import * as dd from 'dingtalk-jsapi'; // 此方式为整体加载,也可按需进行加载
进行加载
dd 可能会和系统的dd.alert等方法冲突,所以import时尽量自定义其他名称如ee;
如下
import * as ee from 'dingtalk-jsapi'; // 此方式为整体加载,也可按需进行加载
2.可以使用的扩展功能
查看官方连接:https://ding-doc.dingtalk.com/doc#/dev/swk0bg
3.我用到的扩展功能的具体使用方法
(1)退出小程序
在原生api中没有找到相应的用法
然后调用了
关闭当前页面
dd.biz.navigation.close({ onSuccess : function(result) { /*result结构 {} */ }, onFail : function(err) {} })
在小程序首页调用该方法可以关闭小程序
注意:dd.biz.navigation.close中开头的dd最好改为import时as的自定义名称。
(2)调用第三方网页
在新窗口上打开链接
使用该方法后,原本显示无法跳转的网页,可以正常访问。
dd.biz.util.openLink({ url:"http://www.dingtalk.com",//要打开链接的地址 onSuccess : function(result) { /**/ }, onFail : function(err) {} })
(3)更改系统返回按钮名称及功能
设置左侧导航按钮文本
dd.biz.navigation.setLeft({ control: true,//是否控制点击事件,true 控制,false 不控制, 默认false text: '',//控制显示文本,空字符串表示显示默认文本 onSuccess : function(result) { /* {} */ //如果control为true,则onSuccess将在发生按钮点击事件被回调 }, onFail : function(err) {} });