企业微信扫码登录遇到的bug及解决办法

news2025/1/9 18:08:45

企业微信自建应用扫码登录
1.基本配置
1.登录企业微信管理系统,新建一个自建应用
在这里插入图片描述
2.点击你新建的应用,拿到AgentId在这里插入图片描述
3.在我的企业页面拿到appid
在这里插入图片描述
4.配置可信域名
在这里插入图片描述
在这里插入图片描述
5.配置授权回调域
在这里插入图片描述
在这里插入图片描述
写到这,基本配置已完成,可以开始写前端代码
2.企业微信登录二维码
企业微信web登录官方文档
我用的是API接口方式拿的二维码
官方文档
https://developer.work.weixin.qq.com/document/path/98268
1.下载包,并引入

npm install @wecom/jssdk
import * as ww from '@wecom/jssdk'

2.初始化二维码
拿到基础配置的appid、agentid,再按照官方文档配置redirect_url,复制下方代码,二维码就出来了,扫描二维码即可拿到code
放二维码的容器,需配置ID"wx_qrcode",此id为二维码初始化中的el

<div  id="wx_qrcode" style="height: 480px; width: 416px;"></div>

初始化

      const wwLogin = ww.createWWLoginPanel({
        el: '#wx_qrcode',
        params: {
          login_type: 'CorpApp',
          appid: corpId,
          agentid:agentId,
          redirect_uri: redirect_url,
          state: 'loginState',
          redirect_type: 'callback',
        },
        onCheckWeComLogin({ isWeComLogin }) {
        },
        onLoginSuccess({ code }) {
          console.log(code)
        },
        onLoginFail(err) {
        },
        onOpenInWecom(err) {
        },
      })

我遇到的报错信息
1.参数错误
明明所有的信息都填的是对的,但是还是报参数错误,这时候我苦恼了,网上搜了很多资料,都没有解决办法,头很大
在这里插入图片描述
突然想到我搜到的一篇文章说,redirect_type为callback时,在本地是不生效的(localhost),然后我就把redirect_type改成了top,还是报参数错误,给我气死
在这里插入图片描述
此时我的代码redirect_type还是top,还是参数错误,然后我就开始搜怎么把本地项目地址改成线上的样式,
然后我就开始按照流程操作
1.找一个不存在的域名,test.myproject.com,填到授权回调域里
在这里插入图片描述
2.修改host域名
widow地址:C:\Windows\System32\drivers\etc。
a.host文件是什么?
首先要了解下,host文件是干什么的。
host文件:作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。
工作原理:浏览器访问网站,要首先通过DNS服务器把要访问的网站域名解析成其指定的IP地址,之后,浏览器才能对此网站进行定位并且访问其数据。操作系统规定,在进行DNS请求以前,先检查系自己的Hosts文件中是否有这个域名和IP的映射关系。如果有,则直接访问这个IP地址指定的网络位置,如果没有,再向已知的DNS服务器提出域名解析请求。也就是说Hosts的IP解析优先级比DNS要高。
b.修改
host文件只允许管理员身份打开,否则不能修改。可以把权限先设为管理员,或者把host文件复制出来,修改后,把内容再覆盖到原来的文件。
W+R ,再复制C:\Windows\System32\drivers\etc,回车即可打开hosts文件夹
在这里插入图片描述
3.配置主机
在cofig.js文件里配置主机,让项目跑在test.myproject.com下
在这里插入图片描述
因为回调url配置的地址是:test.myproject.com/#/, 本地项目运行地址是:test.myproject.com/#/:4555 看着少了端口号,
那就再回调域和redirect_uri 里都加上端口号
此时刷新页面你会发现报参数错误,因为微信授权 redirect_uri 参数是不带端口号的
所以端口也得改成80,为什么改成80呢?
在这里插入图片描述
4.配置redirect_url=‘test.myproject.com’
5.此时一切准备就绪,刷新页面,你会发现,80端口被占用了,什么鬼,那就去百度一下80端口被占用的解决办法吧
我使用的是最简单粗暴的方法

1.使用管理员身份运行 cmd
2.net stop http //停止系统http服务
3.sc config http start= disabled //禁用服务的自动启动,此处注意等号后面的空格不可少

在这里插入图片描述
解决完之后,重新启动项目,刷新页面,就可以看到二维码,并且扫码成功,拿到code的啦
在这里插入图片描述
希望你不再遇到bug,因为后面我还遇到了别的bug,code给后端后报60020的错误,那就去百度一下吧
百度说,你需要配置企业可信IP,自己去看一下怎么配吧,配完之后几乎是没得bug了的
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1607161.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【高级RAG技巧】在大模型知识库问答中增强文档分割与表格提取

前言 文档分割是一项具有挑战性的任务&#xff0c;它是任何知识库问答系统的基础。高质量的文档分割结果对于显著提升问答效果至关重要&#xff0c;但是目前大多数开源库的处理能力有限。 这些开源的库或者方法缺点大致可以罗列如下&#xff1a; 只能处理文本&#xff0c;无法…

MySql8快速迁移版的制作过程

首先说明&#xff0c;mysql 8的安装不同与mysql5.x。 做程序的朋友都知道&#xff0c;程序好做&#xff0c;客户难伺候&#xff0c;因为限于用户的情况&#xff0c;如何能让用户把程序运行起来很关键&#xff0c;比如日前我在做 山东高中信息技术 学考 考前练习 系统时&#x…

解决 vue install 引发的 failed Error: not found: python2 问题

发生 install 异常时&#xff0c;提示信息如下所示&#xff1a; npm ERR! code 1 npm ERR! path U:\cnblogs\fanfengping-dtops\fanfengping-dtops-front\node_modules\node-sass npm ERR! command failed npm ERR! command U:\Windows\system32\cmd.exe /d /s /c node scripts…

苍穹外卖学习笔记(5.微信登录,商品浏览)

目录 一、微信登录1、封装HttpClient工具类2、导入小程序代码3、微信登录流程4、需求分析设计5、代码开发6、功能测试 二、商品浏览1、需求分析设计2、代码开发1.查询分类2.根据分类id查询套餐3.根据分类id查询套餐&#xff0c;根据套餐id查询包含菜品 3、测试 四、相关知识1、…

Django模型的字段类型

Django模型中最重要并且也是唯一必须执行的就是字段定义。字段在类中进行定义&#xff0c;对应于实体数据库的字段。另外&#xff0c;定义模型字段名时为了避免冲突&#xff0c;不建议使用模型API中已经定义的关键字。 字段类型用以指定数据库的数据类型&#xff0c;例如Integ…

python入门之简洁安装VS保姆版安装(含虚拟环境)

11、保姆版安装 Anoconda安装&#xff08;python的一个发行版本&#xff09; 优点&#xff1a;集成了许多关于python科学计算的第三方库&#xff0c;保姆级别 下载&#xff1a;www.anaconda.com/download/ 版本默认64位&#xff0c;py37 √&#xff1a;add anaconda to my…

代码随想录算法训练营第三十八天|509. 斐波那契数,70.爬楼梯,746. 使用最小花费爬楼梯

动态规划(DP) 如果某一问题有很多重叠子问题&#xff0c;使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的 一、动态规划包含哪些问题&#xff1f; 1、基础问题&#xff0c;如斐波那契数 2、背包问题&#xff0c;很经典的问题 3、打家劫舍 4、…

操作系统命令(贪吃蛇项目)

&#x1f3dd;1.获得句柄 GetStdHandle是⼀个Windows API函数。它用于从⼀个特定的标准设备&#xff08;标准输入、标准输出或标 准错误&#xff09;中取得⼀个句柄&#xff08;用来标识不同设备的数值&#xff09;&#xff0c;使用这个句柄可以操作设备。 ⛳️函数原型&…

Git使用总结(不断更新中)

branch 本地分支操作 删除本地分支 git branch -d <local-branch-name>远端分支操作 从远端分支创建本地分支 git checkout -b <local-branch-name> origin/<remote-branch-name>git ignore 如果工程的代码文件中有不希望上传到远端的文件&#xff0c;…

【Linux学习】Linux权限管理(一)

文章标题 &#x1f680;Linux用户分类&#x1f680;Linux权限管理&#x1f680;文件访问者的分类&#xff08;人&#xff09;&#x1f680;文件类型和访问权限&#xff08;事物属性&#xff09;&#x1f680;怎么修改权限 &#x1f680;Linux用户分类 Linux下有两种用户&#…

使用Hugo、Github Pages搭建自己的博客

文章目录 搭建博客框架及对比使用Hugo搭建博客使用Github Pages部署博客 搭建博客框架及对比 在众多的博客框架中&#xff0c;Hugo、Jekyll和Hexo因其出色的性能和易用性而备受推崇。 特点HugoJekyllHexo速度极高中等较高易用性高中等高&#xff08;熟悉JavaScript者&#xf…

力扣112,路径总和

给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径&#xff0c;这条路径上所有节点值相加等于目标和 targetSum 。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 叶子节点 是指没有子节点…

怎样实现opc采集数据后传给web后端

现在很多老工厂要进行数字化改造&#xff0c;现场生产的各种数据需要传到web后端&#xff0c;很多工厂现场原有的自动监控系统已经采集了现场的各种数据&#xff0c;只是没有形成联网。如果前端自动化系统全部废除&#xff0c;重新做数字化控制系统&#xff0c;成本投入太大&am…

GIS地理信息平台+智慧巡检技术解决方案(Word原件)

1.系统概述 1.1.需求描述 1.2.需求分析 1.3.重难点分析 1.4.重难点解决措施 2.系统架构设计 2.1.系统架构图 2.2.关键技术 3.系统功能设计 3.1.功能清单列表软件全套精华资料包清单部分文件列表&#xff1a; 工作安排任务书&#xff0c;可行性分析报告&#xff0c;立项…

风速Weibull分布和光伏Beta分布的参数拟合方法(含matlab算例)

在风光场景生成、随机优化调度等研究中&#xff0c;常常假设风速服从Weibull分布&#xff0c;太阳辐照度服从Beta分布。那我们如何得到两个分布的参数呢&#xff1f;文本首先介绍了风速Weibull分布和辐照度Beta分布的基本概率模型及其性性质&#xff0c;之后以MATLAB代码为例阐…

Linux操作系统-10-Iptables

一、iptables防火墙介绍 无论IPtables还是Firewalld都是对netfilter防火墙框架进行的命令层的封装 1、三件事 防火墙做的三件事&#xff1a; 获取流量匹配规则给出反馈&#xff08;accept、drop&#xff09; iptables的特性&#xff1a;表、链、规则 2、五张表 五张表&a…

数据湖技术选型——Flink+Paimon 方向

文章目录 前言Apache Iceberg存储索引metadataFormat V2小文件 Delta LakeApache Hudi存储索引COWMOR元数据表 Apache PaimonLSMTagconsumerChangelogPartial Update 前言 对比读写性能和对流批一体的支持情况&#xff0c;建议选择Apache Paimon截止2024年1月12日数据湖四大开…

【计算机毕业设计】微信小程序:MHK自学平台的设计与实现——后附源码

&#x1f389;**欢迎来到我的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 一名来自世界500强的资深程序媛&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 在深度学习任务中展现出卓越的能力&#xff0c;包括但不限于…

Swagger + SwaggerUI

用的是SpringBoot2、jdk11、<spring-boot.version>2.3.3.RELEASE</spring-boot.version> &#xff08;单纯的swagger还是不如knife界面好用好看&#xff09; 1.导入依赖 <dependency> <groupId>io.springfox</groupId> <art…

SpringBoot项目调用讯飞星火认知大模型

文章目录 注册讯飞星火平台&#xff0c;领取免费token引入SDKapplication.xml中进行配置config文件读取配置信息编写代码调用接口进行测试 官方文档&#xff1a; https://www.xfyun.cn/doc/spark/Web.html#_1-%E6%8E%A5%E5%8F%A3%E8%AF%B4%E6%98%8E 注册讯飞星火平台&#xff…