news 2026/4/23 18:47:33

微信登录,重定向接口,向前端返回html代码,前端通过window.open打开的微信扫码页面,html代码通过postmassage向前端的父页面发消息,请编写html部分的代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
微信登录,重定向接口,向前端返回html代码,前端通过window.open打开的微信扫码页面,html代码通过postmassage向前端的父页面发消息,请编写html部分的代码

假设你的场景是这样的:

  1. 用户在前端点击“微信登录”,用window.open(url)弹出一个新的窗口去做扫码登录。
  2. 服务端的重定向接口在登录成功后,向弹出页面返回特定的 HTML 页面代码。
  3. 这个 HTML 代码通过window.opener.postMessage向主页面(父页面)发送消息(携带授权/用户信息等)。

下面是微信扫码授权成功后的 HTML 文件(示例代码):

<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>微信登录返回</title></head><body><script>// 这里假设你把后端通过重定向参数传给这个页面的数据放在URL上// 例如你的url是 /wx-redirect?code=xxx&state=xxxfunctiongetQueryParam(name){constre=newRegExp('[?&]'+name+'=([^&#]*)','i');constmatch=window.location.search.match(re);returnmatch?decodeURIComponent(match[1]):null;}// 获取你需要回传给父窗口的数据,比如微信的codevarcode=getQueryParam('code');varstate=getQueryParam('state');// 可选// 向父窗口发送消息if(window.opener){window.opener.postMessage({type:'wechat_login',code:code,state:state},'*');// 建议将 * 替换为你的父页面origin}// (可选)自动关闭弹窗window.close();</script><h2>登录成功, 正在跳转...</h2></body></html>

前端主页面监听接收:

window.addEventListener('message',function(event){// 建议校验 event.originif(event.data&&event.data.type==='wechat_login'){// 这里可以拿到 event.data.code, event.data.state// 做后续登录处理console.log('收到微信登录结果:',event.data);}});

说明

  • 你可以根据自己的需求,在 HTML 中加入 loading 或美化提示。
  • 强烈建议在实际环境将 postMessage 的目标 origin 用主页面真实的 origin 替代*,增加安全性。
  • 参数和业务可以自定义,比如是 code 还是 token、state、其他。

如果你还有后端部分的接口编写需求,可以继续追问。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 10:44:42

告别“孤岛式”心理辅导:一所职院的“数据驱动型心理中心”建设实践

在新时代教育高质量发展与“五育并举”育人方针的指引下&#xff0c;学生心理健康已成为高校人才培养的核心议题。池州职业技术学院贯彻落实立德树人的政策要求&#xff0c;将心理健康教育深度融入学校“三全育人”总体格局与校园文化建设之中&#xff0c;前瞻性地规划并投入建…

作者头像 李华
网站建设 2026/4/23 8:16:50

基于微信小程序的校园电子考试系统毕业设计

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在设计并实现一款基于微信小程序的校园电子考试系统&#xff0c;以提升校园考试的效率和安全性。具体研究目的如下&#xff1a; 首先&#xff0c;本研究…

作者头像 李华
网站建设 2026/4/23 8:16:45

基于微信小程序的在线家庭园艺系统毕业设计源码

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在构建一个基于微信小程序的在线家庭园艺系统&#xff0c;以实现家庭园艺活动的便捷化、智能化和共享化。具体研究目的如下&#xff1a;提高家庭园艺活动…

作者头像 李华
网站建设 2026/4/23 8:16:01

基于微信小程序的校园电子作业系统毕设

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在开发并实施一个基于微信小程序的校园电子作业系统&#xff0c;以提升教学效率、优化学生作业提交与批改流程&#xff0c;并增强师生互动。具体研究目的…

作者头像 李华
网站建设 2026/4/23 8:17:08

STM32F1 非阻塞式延迟函数

个人学习笔记&#xff0c;高手勿喷 起因&#xff1a;在配置F103的CDC时&#xff0c;当初使用HAL_Delay(20000)延迟函数&#xff0c;在延迟期间无法收到电脑串口发来的信息&#xff0c;后发现是使用了阻塞式延迟函数的&#xff0c;所以无法收到。 后来改成非阻塞式的延迟函数&am…

作者头像 李华
网站建设 2026/4/22 15:08:58

17、Windows系统程序设置与邮件定制全攻略

Windows系统程序设置与邮件定制全攻略 在日常使用电脑的过程中,我们常常需要对程序进行各种设置和管理,同时也希望能根据自己的需求定制邮件的处理方式。下面将为大家详细介绍Windows系统中程序设置和邮件定制的相关内容。 一、程序快捷方式的创建 为了快速访问常用程序,…

作者头像 李华