在企业微信里面添加h5页面 进行登录授权

1.需求:在企业微信里面添加h5页面 进行登录授权,获取到用户的code,进行登入id的验证

2.步骤:

  • 在企业微信内部进行配置,拿到appid,redirect_uri,agentid参数步骤参考这篇文章

  • 由于企业微信进入页面之前会进行授权,然后再进行跳转咱们系统的首页(也是就redirect_uri中的地址),那么就会有两种解决方案:

    ① 有一个页面用于授权,然后在跳转首页

    ② 直接将授权的操作写在首页中,在首页进行授权,然后再跳转首页(我用的是这种方式)

    首页进行授权的代码如下:

    复制代码
     //判断是否授权
    const CORPID = '    '; //appid参数
    const REDIRECT_URI = encodeURI(' ');  //redirect_uri参数
    const AGENTID =  '  '; //agentid 参数
    const searchParams = new URLSearchParams(window.location.search);
    
    const code = (route.query.code as string) || (searchParams.get('code') as string);
    const state = (route.query.state as string) || (searchParams.get('state') as string);
    const token = computed(() => userStore.getToken);
    
    //路由上没有code的情况下,进行企业微信授权
    if (!code) {
      const authUrl = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${CORPID}&redirect_uri=${REDIRECT_URI}/index.html&response_type=code&scope=snsapi_base&state=1&agentid=${AGENTID}#wechat_redirect`;
      window.location.href = authUrl;
    }

    //存在code且不存在token的情况下走登录的接口
    if (code && (token.value == null || token.value == 'null')) {
    userStore.resetUserStore();
    login({
    code: code,
    state: state,
    }).then((res) => {
    userStore.setToken(res.token);
    });
    }

相关推荐
一颗烂土豆3 小时前
Meshopt 压缩深度解析,为什么它比 Draco 更快
前端·javascript·webgl
kyriewen6 小时前
同事每天催我 Code Review,我写了个脚本让 AI 替我 review PR——现在他反过来催 AI 了
前端·javascript·ai编程
weedsfly8 小时前
迭代器、生成器与异步迭代——让数据“按需流动”的艺术
前端·javascript
假如让我当三天老蒯8 小时前
前端跨域解决方案(学习用)
前端·javascript·面试
铁皮饭盒10 小时前
Bun 哪比 Node.js 快?
javascript·后端
JieE21218 小时前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
candyTong21 小时前
RTK 技术原理:一次典型会话里,80% 上下文是怎么省下来的
javascript·后端·架构
_柳青杨1 天前
深入理解 JavaScript 事件循环
前端·javascript
大家的林语冰1 天前
ES5 凉凉,Babel 8 正式发布,默认不再编译为 ES5 和 CJS......
前端·javascript·前端工程化
weedsfly1 天前
异步编程全景与事件循环——彻底搞懂 JS 执行机制
前端·javascript