欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 釘釘企業(yè)內(nèi)部H5微應(yīng)用開發(fā)詳解

釘釘企業(yè)內(nèi)部H5微應(yīng)用開發(fā)詳解

熱門標簽:電話機器人黑斑馬免費 平?jīng)龅貓D標注位置怎么弄 如何獲取地圖標注客戶 電話機器人電銷系統(tǒng)掙話費 高德地圖標注地點糾錯 拓展地圖標注 機器人外呼系統(tǒng)存在哪些能力 南昌仁和怎么申請開通400電話 只辦理400電話

企業(yè)內(nèi)部H5微應(yīng)用開發(fā) 分為 服務(wù)端API和前端API的開發(fā),主要涉及到進入應(yīng)用免登流程和JSAPI鑒權(quán)。

JSAPI鑒權(quán)開發(fā)步驟:

1、創(chuàng)建H5微應(yīng)用

登入釘釘開放平臺(https://open-dev.dingtalk.com/),進入“應(yīng)用開發(fā)”->企業(yè)內(nèi)部開發(fā)H5微應(yīng)用->創(chuàng)建應(yīng)用,并填寫基本信息和配置開發(fā)信息

2、JSAPI鑒權(quán)服務(wù)端API的開發(fā):

(1)通過appKey 和 appSecret 獲取調(diào)用接口憑證AccessToken(https://oapi.dingtalk.com/gettoken?appkey=appKey&appsecret=appSecret)

(2)通過AccessToken 獲取用于JSAPI的臨時票據(jù)Ticket(https://oapi.dingtalk.com/get_jsapi_ticket?access_token=ACCESS_TOKEN)

(3)ticket(JSAPI的臨時票據(jù)),nonceStr(隨機串),timeStamp(時間戳),url(當前網(wǎng)頁的URL,不包含#及其后面部分)計算簽名信息

計算簽名參數(shù)

/*
     *ticket(JSAPI的臨時票據(jù)),nonceStr(隨機串),timeStamp(時間戳),url(當前網(wǎng)頁的URL,不包含#及其后面部分)計算簽名信息
     * */
    public static function sign($ticket, $nonceStr, $timeStamp, $url)
    {
        $plain = 'jsapi_ticket=' . $ticket .
            '&noncestr=' . $nonceStr .
            '&timestamp=' . $timeStamp .
            '&url=' . $url;
        return sha1($plain);
    }

(4)通過AccessToken 獲取用于JSAPI的臨時票據(jù)Ticket(說明:由于會牽涉到多個企業(yè),企業(yè)的appKey 和 appSecret的一些信息都是寫在JSON配置文件中,前端傳企業(yè)ID到服務(wù)端,服務(wù)端就會從JSON配置文件中獲取企業(yè)信息)

/*
     * 根據(jù)企業(yè)ID corpid 返回 JSAPI 鑒權(quán)配置信息
     * */
    public static function getConfig($corpid)
    {
        $_config = self::getApiConfig($corpid);
        $appkey = $_config["AppKey"];
        $appsecret = $_config["AppSecret"];
        $agentid = $_config["AgentId"];
        $nonceStr = 'flywong';
        $timeStamp = time();
        //$url = self::getCurrentUrl();
        $url = $_config["AppUrl"];
        
        $accessToken = self::getAccessToken($appkey,$appsecret);
        $ticket = self::getTicket($accessToken);
        $signature = self::sign($ticket, $nonceStr, $timeStamp, $url);
        
        $config = array(
            'agentId' => $agentid,
            'corpId' => $corpid,
            'timeStamp' => $timeStamp,
            'nonceStr' => $nonceStr,
            'signature' => $signature,
            'url' => $url,
            'type'=>0
        );
        return json_encode($config, JSON_UNESCAPED_SLASHES);
    }
/*
     * 根據(jù)企業(yè)ID corpid 從api_config.json配置文件中找到 企業(yè)對應(yīng)的信息,并返回企業(yè)應(yīng)用開發(fā)信息
     * */
    public static function getApiConfig($corpid)
    {
         $json_string = file_get_contents(__DIR__ .'/../api_config.json');   //從文件中讀取數(shù)據(jù)到PHP變量
         $arrs = json_decode($json_string, true); 
         foreach($arrs as $key => $value)
         {
             if($value["CorpId"] == $corpid)
             {
                 return $value;
             }
         }
    }

企業(yè)的配置文件api_config.json

3、JSAPI鑒權(quán)前端API的開發(fā):

前端發(fā)送GET請求獲取服務(wù)端的JSAPI 鑒權(quán)配置信息

// 異步獲取dd.config
  async getDDConfig({commit, state},callback) {
    // 發(fā)送異步ajax請求
    const result = await reqDDConfig(state.CorpId)
    // 提交一個mutation
    const ddconfig = result
    ddconfig.jsApiList= state.jsApiList 
  dd.config(ddconfig); 
  commit(RECEIVE_DDCONFIG, {ddconfig}) 

  // 數(shù)據(jù)更新了, 通知一下組件 
  callback && callback() 
}
let that = this;
      //獲取 JSAPI 鑒權(quán)配置信息
      that.$store.dispatch('getDDConfig', () => {//
        that.$nextTick(() => {// 數(shù)據(jù)ddconfig state 更新后執(zhí)行
          that.$store.dispatch('getUserinfo')//獲取登入用戶信息
          that.$store.dispatch('getGeolocation')//獲取地圖定位信息
        })
      })
/* 狀態(tài)管理*/
export default {
  CorpId:'dingb0bd5c5a3ba53e1231232378f',//企業(yè)ID
  ddconfig:{},//釘釘簽權(quán)配置信息
  jsApiList:[
    'runtime.info',
    'biz.contact.choose',
    'device.notification.confirm',
    'device.notification.alert',
    'device.notification.prompt',
    'biz.ding.post',
    'biz.util.openLink',
    'device.geolocation.get',
    'biz.util.scanCard'
  ],//需要簽權(quán)的JSAPI
  userinfo:{}, //用戶信息
  geolocation:{} //地圖定位信息
}

4、H5微應(yīng)用的免登

“免登”是指用戶進入應(yīng)用后,無需輸入釘釘用戶名和密碼,應(yīng)用程序可自動獲取當前用戶身份,進而登錄系統(tǒng)的流程。

1、前端去獲取微應(yīng)用免登授權(quán)碼,然后把授權(quán)碼發(fā)送到服務(wù)端api得到當前用戶信息

// 異步獲取userinfo
  getUserinfo({commit, state}) {
    dd.runtime.permission.requestAuthCode({
      corpId: state.CorpId, // 企業(yè)id
      onSuccess: async function (info) {
        let code = info.code // 通過該免登授權(quán)碼可以獲取用戶身份
        // 發(fā)送異步ajax請求
        const result = await reqUserinfo(code,state.CorpId)
        // 提交一個mutation
        const userinfo = result
        commit(RECEIVE_USERINFO, {userinfo})
      }
    })
  }

2、服務(wù)端API獲取用戶信息

/*
     * 通過免登授權(quán)碼code和access_token獲取用戶的userid
     * */
    public static function getUserInfo($accessToken, $code)
    {
        $response = \util\Http::get("/user/getuserinfo",array("access_token" => $accessToken, "code" => $code));
        $userinfo = json_decode(json_encode($response),true);
        $userid = $userinfo["userid"];
        return self::getuser($accessToken,$userid);
    }
    /*
     * 通過access_token 和 userid 獲取用戶詳情
     * */
    private static function getuser($accessToken,$userid)
    {
        $response = \util\Http::get("/user/get",array("access_token" => $accessToken, "userid" => $userid));
        return json_encode($response);
    }

提醒:釘釘?shù)男畔@取必須在釘釘應(yīng)用環(huán)境中運行。(我是在電腦上安裝安卓模擬器然后安裝釘釘APP進行調(diào)試的)

到此這篇關(guān)于釘釘企業(yè)內(nèi)部H5微應(yīng)用開發(fā)詳解的文章就介紹到這了,更多相關(guān)釘釘企業(yè)內(nèi)部H5微應(yīng)用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

標簽:新疆 漯河 遼源 池州 西藏 青島 永州 棗莊

巨人網(wǎng)絡(luò)通訊聲明:本文標題《釘釘企業(yè)內(nèi)部H5微應(yīng)用開發(fā)詳解》,本文關(guān)鍵詞  釘釘,企業(yè),內(nèi)部,微,應(yīng)用開發(fā),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《釘釘企業(yè)內(nèi)部H5微應(yīng)用開發(fā)詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于釘釘企業(yè)內(nèi)部H5微應(yīng)用開發(fā)詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    欧美专区日韩专区| 午夜精彩视频在线观看不卡| 蜜臀久久99精品久久久久宅男| 国产成人精品一区二区在线小狼| 色综合久久中文综合久久牛| 国产精品免费视频网站| 国内成人自拍视频| 国产又大又粗又爽的毛片| 欧美成人福利视频| 麻豆久久久久久久| 免费在线观看你懂的| 精品美女被调教视频大全网站| 日韩电影在线一区二区三区| jlzzjizz在线播放观看| 4438成人网| 免费看日韩a级影片| 久久久久亚洲av无码专区桃色| 欧美成人在线直播| 精品一区二区三区在线播放| 国产在线免费av| 中文一区二区在线观看| 99视频在线观看一区三区| 欧洲国内综合视频| 亚洲第一在线综合网站| 亚洲精品乱码久久久久久久| 精品国产乱码久久久久久闺蜜 | 日本一区二区在线不卡| 国产老肥熟一区二区三区| 小嫩苞一区二区三区| 综合网在线视频| 亚洲少妇一区二区| 欧美一卡在线观看| 国产美女精品一区二区三区| 男的操女的网站| 亚洲观看高清完整版在线观看| 美女黄色一级视频| 精品999久久久| 丁香桃色午夜亚洲一区二区三区| 日本电影欧美片| 亚洲成人资源网| 无码一区二区三区在线| 中文字幕在线一区二区三区| 92精品国产成人观看免费| 5858s免费视频成人| 六月丁香婷婷久久| 91嫩草丨国产丨精品| 亚洲风情在线资源站| 欧美熟妇一区二区| 中文字幕一区二区视频| 中文字幕a在线观看| 2024国产精品| 免费人成视频在线播放| 日韩一区二区三区电影| 国产成人精品免费| 欧美日韩国产免费一区二区 | 亚州成人在线电影| 欧美亚洲色综久久精品国产| 成人欧美一区二区三区视频网页| japanese在线观看| 国产三区在线成人av| 女同性αv亚洲女同志| 久久久一区二区| 亚洲911精品成人18网站| 欧美v亚洲v综合ⅴ国产v| 成人av在线一区二区三区| 91精品中文字幕一区二区三区| 国产麻豆成人传媒免费观看| 欧美日韩一级片在线观看| 激情成人综合网| 欧美年轻男男videosbes| 国产精品正在播放| 在线不卡的av| 成人18视频日本| 精品国产成人在线影院| 91丨porny丨首页| 国产丝袜欧美中文另类| 妖精视频一区二区| 国产精品精品国产色婷婷| 波多野结衣办公室33分钟| 一区二区三区四区在线播放 | 欧美极品美女视频| 国产激情视频网站| 日韩美女视频一区二区| 免费看裸体网站| 三级欧美在线一区| 在线精品视频一区二区三四| 国内精品久久久久影院色| 51精品久久久久久久蜜臀| av一区二区三区在线| 国产亚洲成av人在线观看导航| 91玉足脚交白嫩脚丫| 亚洲色图欧美偷拍| 国产在线免费看| 麻豆精品在线视频| 欧美精品 日韩| 制服下的诱惑暮生| 国产精品国产自产拍高清av| 日韩黄色中文字幕| 日本午夜一本久久久综合| 欧美网站大全在线观看| 成人精品免费视频| 亚洲国产成人自拍| 女人十八毛片嫩草av| 奇米888四色在线精品| 欧美日韩国产精品自在自线| 97久久超碰国产精品电影| 国产精品久久久久久久久久久免费看 | 日韩电影免费在线| 欧美喷水一区二区| 在线成人精品视频| 亚洲猫色日本管| 久久久久久久久毛片| 丁香啪啪综合成人亚洲小说| 欧美激情一区二区三区四区| 精品人妻中文无码av在线| 蜜桃一区二区三区在线| 日韩视频在线一区二区| 看全色黄大色黄女片18| 亚洲国产另类精品专区| 欧美日韩精品三区| 国产伦精品一区二区三区妓女下载| 国产精品免费看片| 成人高潮免费视频| 国产99精品国产| 国产精品色呦呦| 搜索黄色一级片| 成人av综合一区| 亚洲蜜桃精久久久久久久| 色88888久久久久久影院按摩| 成人免费视频播放| 亚洲欧美国产毛片在线| 在线精品视频免费观看| 91美女视频网站| 亚洲永久精品大片| 欧美人体做爰大胆视频| 黄色性视频网站| 日本欧美大码aⅴ在线播放| 欧美一级日韩免费不卡| 97人妻天天摸天天爽天天| 免费一区二区视频| 久久久777精品电影网影网 | 欧美系列日韩一区| 无码人妻精品一区二区三| 五月激情丁香一区二区三区| 91.com视频| av在线网站观看| 国产精品一色哟哟哟| 中文字幕亚洲欧美在线不卡| 色综合天天综合色综合av| 欧美老女人bb| 日本麻豆一区二区三区视频| 精品国产凹凸成av人导航| 欧美日韩国产黄色| 成人av动漫在线| 亚洲观看高清完整版在线观看| 日韩欧美高清dvd碟片| 阿v天堂2014| 成人福利在线看| 亚洲国产成人av| 2020国产精品| 午夜免费激情视频| 天天躁日日躁狠狠躁av| 另类小说欧美激情| 国产精品久久久久久久久免费丝袜 | 亚洲一二三四区不卡| 日韩欧美国产午夜精品| 大胸美女被爆操| 性色av浪潮av| 麻豆免费精品视频| 亚洲欧美影音先锋| 日韩视频永久免费| 亚洲精品卡一卡二| 中文在线观看免费视频| 国产一区久久久| 亚洲一区二区三区中文字幕在线| 日韩欧美成人激情| 黄色录像二级片| 亚洲一区二区三区四区五区六区| 国产精品综合久久| 亚洲愉拍自拍另类高清精品| 2019国产精品| 欧美调教femdomvk| www久久久久久久| 日批视频免费看| 国产盗摄视频一区二区三区| 亚洲香肠在线观看| 欧美国产成人精品| 在线播放一区二区三区| 欧美大片xxxx| av无码av天天av天天爽| 成人sese在线| 黄页视频在线91| 午夜精品久久久久久久久久| 国产精品免费视频网站| 欧美成人三级电影在线| 在线观看国产日韩| 亚洲精品自拍视频在线观看| 小毛片在线观看| 91丨九色丨蝌蚪丨老版| 国产福利精品导航|