钉钉--- 获取微应用免登授权码vue

1、npm install dingtalk-jsapi --save

2、在你用到的页面,import * as dd from dingtalk-jsapi;

3、在你用到的页面created中加入以下代码

// 给url添加参数是后端来加,在本地项目上可能看不到,在钉钉上就好了,前端只需要获取url,并传递给后端code和cordId

    // 获取url参数---------------------------------------------------------
    //问号后边的参数变成对象,用的时候比较方便,直接obj.name
    var str = window.location.href;
    function getParams(str) {
      //从str上获取参数属性
      var obj = {}; //创一个新对象
      var params = str.split("?")[1]; //以?分隔,拿到索引为1的,也就是name=zhangtao&age=10&id=14
      if (params) {
        var paramsAary = params.split("&"); //拿到后边的,再以&分隔
        for (var i = 0; i < paramsAary.length; i++) {
          var item = paramsAary[i]; //循环拿到每一个被分隔后的键值对
          var key = item.split("=")[0]; //用=分隔,拿到键
          var value = item.split("=")[1]; //用=分隔,拿到值
          obj[key] = value; //把键值对放进obj里
        }
        return obj;
      }
    }
    var res = getParams(str);
    console.log(res.corpId);

    // 钉钉---------------------------------------------------------------------
    // 加上判断条件,否则报错
    if (dd.env.platform !== "notInDingTalk") {
      // 钉钉登录
      dd.ready(function () {
        dd.runtime.permission.requestAuthCode({
          corpId: "res.corpId", // 企业id
          onSuccess: function (info) {
            code = info.code; // 通过该免登授权码可以获取用户身份
            console.log(code);
              //在这里发送请求,在接口中把corpId和info.code都传给后端,他那边接收到了就好了
          },
        });
      });
    }
经验分享 程序员 微信小程序 职场和发展