在企业微信里面添加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);
    });
    }

相关推荐
星云API技术支持10 分钟前
企业微信二次开发:外部群机器人如何结合会话列表、群详情与消息事件做统一管理
机器人·企业微信
白远山39 分钟前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析
DevRay1 小时前
Java 21虚拟线程深度实战:告别线程池焦虑,百万并发吞吐量直接翻倍(原理+代码+避坑)
java·开发语言
李明卫杭州1 小时前
React 复合事件系统对比解析
前端·javascript·react.js
free-elcmacom2 小时前
C++学习<1>程序分区
开发语言·c++
醉颜凉2 小时前
Java 必看:如何彻底避免 HashMap 多线程死循环问题?
java·开发语言
默 语2 小时前
Java新手入门:从零开始安装JDK并配置环境变量
java·开发语言·python·mysql·group by·1024程序员节·数据去重
Brilliantwxx2 小时前
【STM32】 I2C_EEPROM_test 工程(实战篇)
开发语言·stm32·单片机·嵌入式硬件·ecmascript
清水白石0082 小时前
Python 异步编程深度解析:Cancellation 到底是异常还是控制信号?从 asyncio 取消机制到企业级事务设计最佳实践
开发语言·python
kolyle2 小时前
万级 QPS 下的 Token 分发系统架构:从 0 到 1 跑通 AI 时代的“水电煤“
开发语言·人工智能·系统架构·token·qps·极智词元·大模型私有化部署