有關(guān)vue 開發(fā)釘釘 H5 微應(yīng)用 dd.ready() 不執(zhí)行問題及快速解決方案
最近在做釘釘?shù)拿獾?,npm 安裝好 dingtalk-jsapi 后,執(zhí)行 dd.ready()怎么都不生效。但是判斷當(dāng)前環(huán)境是不是 ‘notInDingTalk’ 時(shí)又是有效的?;撕荛L(zhǎng)時(shí)間,一直找不到原因。后來(lái)無(wú)意中發(fā)現(xiàn)別人的代碼似乎跟我有一點(diǎn)差異,于是抱著死馬當(dāng)活馬醫(yī)的心態(tài)試試,結(jié)果真的有效。
廢話不多說(shuō),原因在于從官網(wǎng)復(fù)制的代碼里 的匿名函數(shù)function(){},在vue開發(fā)里是無(wú)效的,需要改成 箭頭函數(shù) () =>{}修改之前的:
這個(gè) ‘this.userCode’ 是臨時(shí)修改成用于測(cè)試有沒有進(jìn)入 dd.ready() 的,不要在意這些細(xì)節(jié)。如果正常的話,this.userCode 應(yīng)該顯示 :“開始執(zhí)行ready 進(jìn)入了釘釘 獲取授權(quán)碼成功”但是實(shí)際上只顯示了:“開始執(zhí)行ready“修改后:
終于如愿顯示授權(quán)碼了:
貼上代碼:
if (dd.env.platform !== 'notInDingTalk') { this.userCode += ’開始執(zhí)行ready ’; //進(jìn)行釘釘?shù)卿洸僮?dd.ready(() => { this.$Message.info(’1’) this.userCode = ’進(jìn)入了釘釘 ’; dd.runtime.permission.requestAuthCode({ corpId: corpId, // 企業(yè)id onSuccess: (info) => { //todo: 測(cè)試獲取授權(quán)碼 this.userCode += ' 獲取授權(quán)碼成功 '; this.userCode += info.code // 通過該免登授權(quán)碼可以獲取用戶身份 }, onFail: (error) => { this.userCode += ' 獲取授權(quán)碼失敗 '; console.log(’好吧,問題不小’) this.$Message.error(JSON.stringify(error)) } }); });
總結(jié)
到此這篇關(guān)于有關(guān)vue 開發(fā)的釘釘 H5 微應(yīng)用 dd.ready() 不執(zhí)行問題及快速解決方案的文章就介紹到這了,更多相關(guān)vue 釘釘微應(yīng)用 dd.ready() 不執(zhí)行內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章: