釘釘H5微應(yīng)用的一些簡(jiǎn)單使用

剛寫完釘釘?shù)腍5微應(yīng)用,在此記錄一些H5里面調(diào)用釘釘原生的方法 H5使用的是vue2寫的

  • 首先引入釘釘?shù)膕dk包,我是在index.html中直接引用的,然后就可以直接在H5中使用dd的一些不需要鑒權(quán)的方法了,如果需要調(diào)用獲取位置等之類的方法,得先調(diào)用鑒權(quán)的方法,具體的可以參考官方文檔 https://developers.dingtalk.com/document/app/jsapi-authentication
// index.html
<script>
      var ua = navigator.userAgent.toLowerCase()
      if (navigator.userAgent.toLowerCase().indexOf('dingtalk') > -1) {
        var head = document.head || document.getElementsByTagName('head')[0]
        var script = document.createElement('script')
        script.setAttribute(
          'src',
          'https://g.alicdn.com/dingding/dingtalk-jsapi/2.10.3/dingtalk.open.js'
        )
        head.appendChild(script)
      }
    </script>
  • 鑒權(quán), 需要使用鑒權(quán)才能調(diào)用的方法的時(shí)候可以調(diào)用鑒權(quán),不需要的可以不鑒權(quán),直接上代碼
我是通過(guò)接口從后臺(tái)拿到的一些 鑒權(quán)需要用到的數(shù)據(jù)
this.$api.auth
          .getDDConfig()
          .then(res => {
            window.dd.config({
              agentId: 'xxxxx', // 必填,微應(yīng)用ID
              corpId: res.data.corpId, //必填,企業(yè)ID
              timeStamp: res.data.timestamp, // 必填,生成簽名的時(shí)間戳
              nonceStr: res.data.nonceStr, // 必填倒淫,自定義固定字符串蚕捉。
              signature: res.data.signature, // 必填降铸,簽名
              type: 0, //選填路召。0表示微應(yīng)用的jsapi,1表示服務(wù)窗的jsapi;不填默認(rèn)為0幔嗦。該參數(shù)從dingtalk.js的0.8.3版本開始支持
              jsApiList: [
                'runtime.info',
                'biz.contact.choose',
                'device.notification.confirm',
                'device.notification.alert',
                'device.notification.prompt',
                'biz.ding.post',
                'biz.util.openLink',
                'device.geolocation.get'
              ] // 必填,需要使用的jsapi列表沥潭,注意:不要帶dd邀泉。
            })
          })

釘釘掃一掃方法使用(不需要鑒權(quán))

  • 因?yàn)轫?yè)面中有多個(gè)地方需要使用掃一掃方法,所以我都是在vue中的mixin里面寫的
// mixins/index.js  
// 掃碼
    getScan() {
      return new Promise((resolve, reject) => {
          // 釘釘環(huán)境
          window.dd.biz.util.scan({
            type: 'all',
            onSuccess: function(data) {
              resolve({ text: data.text })
            },
            onFail: function(err) {
              reject(err)
            }
          })
      })
    },
// 然后在main.js 中混入一下
import mixins from '@/mixins'
Vue.mixin(mixins)

//調(diào)用 在需要用的.vue 文件中
this.getScan().then(res => {
  const code = res.text  // 拿到二維碼返回的信息
  //接下來(lái)就可以走自己的邏輯流程了
})

設(shè)置小程序標(biāo)題(不需要鑒權(quán))

// mixins/index.js  
setTitle(name) {
 window.dd.biz.navigation.setTitle({
          title: name, //控制標(biāo)題文本,空字符串表示顯示默認(rèn)文本
          onSuccess: function() {
            /*結(jié)構(gòu)
              {
              }*/
          },
          onFail: function() {}
        })
}
// 使用 
this.setTitle('標(biāo)題')

控制左上角返回按鈕 (不需要鑒權(quán))

  • 得注意一下 android 和ios中 控制左上角返回是不一樣的(被這個(gè)坑過(guò))
// mixins/index.js  
// 控制左上角返回按鈕 在主頁(yè)面不返回
    leftTopButton() {
      const _this = this
      return new Promise(resolve => {
          // 安卓中調(diào)用的是這種
          if (_this.getPhoneEnv() === 'android') {
            document.addEventListener('backbutton', function(e) {
              resolve()
              // 在這里處理你的業(yè)務(wù)邏輯
              e.preventDefault() //backbutton事件的默認(rèn)行為是回退歷史記錄钝鸽,如果你想阻止默認(rèn)的回退行為汇恤,那么可以通過(guò)preventDefault()實(shí)現(xiàn)
            })
          }
          // ios  使用的是這種
          window.dd.biz.navigation.setLeft({
            control: true, //是否控制點(diǎn)擊事件,true 控制寞埠,false 不控制屁置, 默認(rèn)false
            text: '', //控制顯示文本,空字符串表示顯示默認(rèn)文本
            onSuccess: function() {
              resolve()
              //如果control為true仁连,則onSuccess將在發(fā)生按鈕點(diǎn)擊事件被回調(diào)
            },
            onFail: function() {}
          })
      })
    },
//使用 通過(guò)上面那樣封裝一下,使用就比較簡(jiǎn)單了 直接調(diào)用即可
this.leftTopButton().then(() => {
      // 在這里面寫你想跳哪就跳哪
        this.$router.push(params)
      })
  • 其他的還有一些方法,需要用到的話 可以自己去官網(wǎng)查看

還有一些關(guān)于消息鏈接跳轉(zhuǎn)的小問(wèn)題

1631866768(1).png
  • 其中的 redirect_url傳的參數(shù)問(wèn)題
得是redirect_url=https://www.xxx.com/h5/xxx
不能是redirect_url=https://www.xxx.com/h5/xxx/#/login 這種, 因?yàn)檫@種得話釘釘會(huì)從#開始截取掉,被這個(gè)坑了一下
還有就是傳參的問(wèn)題,鏈接上面只接收一個(gè)參數(shù) 如果有多個(gè)參數(shù)可以使用 ?data='xxx,xxxx'這種
正確格式如下:
dingtalk://dingtalkclient/action/openapp?corpid=免登企業(yè)corpId&container_type=work_platform&app_id=0_{應(yīng)用agentid}&redirect_type=jump&redirect_url=https://www.xxx.com/h5/xxx?data='xxx,xxx'
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蓝角,一起剝皮案震驚了整個(gè)濱河市阱穗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌使鹅,老刑警劉巖揪阶,帶你破解...
    沈念sama閱讀 222,807評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異患朱,居然都是意外死亡鲁僚,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門裁厅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)冰沙,“玉大人,你說(shuō)我怎么就攤上這事执虹⊥鼗樱” “怎么了?”我有些...
    開封第一講書人閱讀 169,589評(píng)論 0 363
  • 文/不壞的土叔 我叫張陵袋励,是天一觀的道長(zhǎng)侥啤。 經(jīng)常有香客問(wèn)我,道長(zhǎng)茬故,這世上最難降的妖魔是什么盖灸? 我笑而不...
    開封第一講書人閱讀 60,188評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮磺芭,結(jié)果婚禮上赁炎,老公的妹妹穿的比我還像新娘。我一直安慰自己徘跪,他們只是感情好甘邀,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著垮庐,像睡著了一般松邪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上哨查,一...
    開封第一講書人閱讀 52,785評(píng)論 1 314
  • 那天逗抑,我揣著相機(jī)與錄音,去河邊找鬼寒亥。 笑死邮府,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的溉奕。 我是一名探鬼主播褂傀,決...
    沈念sama閱讀 41,220評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼加勤!你這毒婦竟也來(lái)了仙辟?” 一聲冷哼從身側(cè)響起同波,我...
    開封第一講書人閱讀 40,167評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎叠国,沒(méi)想到半個(gè)月后未檩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,698評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡粟焊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評(píng)論 3 343
  • 正文 我和宋清朗相戀三年冤狡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片项棠。...
    茶點(diǎn)故事閱讀 40,912評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡悲雳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出香追,到底是詐尸還是另有隱情怜奖,我是刑警寧澤,帶...
    沈念sama閱讀 36,572評(píng)論 5 351
  • 正文 年R本政府宣布翅阵,位于F島的核電站,受9級(jí)特大地震影響迁央,放射性物質(zhì)發(fā)生泄漏掷匠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評(píng)論 3 336
  • 文/蒙蒙 一岖圈、第九天 我趴在偏房一處隱蔽的房頂上張望讹语。 院中可真熱鬧,春花似錦蜂科、人聲如沸顽决。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)才菠。三九已至,卻和暖如春贡定,著一層夾襖步出監(jiān)牢的瞬間赋访,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工缓待, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蚓耽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,359評(píng)論 3 379
  • 正文 我出身青樓旋炒,卻偏偏與公主長(zhǎng)得像步悠,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瘫镇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容