钉钉免登录出现的问题

在浏览器运行时会报错

Do not support the current environment:notInDingTalk

这是由于不在钉钉环境里运行的原因,解决方法就是加入判断即可

以vue项目为例

import * as dd from 'dingtalk-jsapi';

export default {
  	name: "App",
    data() {
        return {
            ddCode: ""
        }
    }
    async created() {
      // 可打印dd看打印的值
      // console.log(‘dd', dd);
      if (dd.env.platform!=="notInDingTalk") {
          //进行钉钉登录操作
          this.ddCode = await this.getDDCode();
        }
    }
    methods: {
       // 获取钉钉code
        getDDCode() {
            const _this = this;
            return new Promise((resolve) => {
                dd.ready(function() {
                    dd.runtime.permission.requestAuthCode({
                        corpId: 'ding.......', // 企业id
                        onSuccess: function (info) {
                            const tempCode = info.code;
                            resolve(tempCode);
                        },
                        onFail : function(err) {
                            _this.toast({
                                message: '获取code失败,请退出重试'
                            });
                        }
                    });
                });
            })
        },
    }
}

你可能感兴趣的:(MiniProgram)