釘釘小程序在某些原生組件及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) {} });