news 2026/7/7 8:56:53

微信登录,重定向接口,向前端返回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/7/6 6:16:29

C016基于博途西门子1200PLC立体仓库3X3控制系统仿真

C016基于博途西门子1200PLC立体仓库3X3控制系统仿真C016立体仓库3X3S71200HMI外部接线图IO分配表资料包含&#xff1a; 1.程序和HMI仿真工程&#xff08;博图V16及以上版本可以打开&#xff09; 2.PLC端口定义IO分配表1份 3.PLC外部接线图CAD版本和PDF版本各1份 5.PLC程序PDF版…

作者头像 李华
网站建设 2026/7/7 6:25:29

前后端分离Web本科生交流培养管理平台系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程

摘要 随着高等教育信息化的快速发展&#xff0c;传统的高校交流培养管理模式逐渐暴露出效率低下、数据孤岛等问题。本科生交流培养作为高校教育国际化的重要组成部分&#xff0c;亟需一套高效、便捷的管理平台&#xff0c;以实现信息的实时共享与动态管理。当前&#xff0c;许多…

作者头像 李华
网站建设 2026/7/7 6:30:35

Java SpringBoot+Vue3+MyBatis web城乡居民基本医疗信息管理系统系统源码|前后端分离+MySQL数据库

摘要 随着我国城乡居民基本医疗保险制度的不断完善&#xff0c;信息化管理成为提升医疗保障服务效率和质量的关键手段。传统的医疗信息管理方式存在数据分散、处理效率低、信息共享困难等问题&#xff0c;难以满足现代医疗保障体系的需求。因此&#xff0c;开发一套高效、安全、…

作者头像 李华
网站建设 2026/7/6 18:38:05

Kotaemon日历事件管理:创建提醒与预约

Kotaemon日历事件管理&#xff1a;创建提醒与预约 在现代企业环境中&#xff0c;员工每天面对的会议、截止日期和协作任务越来越多。一个常见的场景是&#xff1a;你正在和同事讨论项目进展&#xff0c;随口说了一句“下周二下午两点和李总对一下进度”&#xff0c;然后呢&…

作者头像 李华
网站建设 2026/7/7 4:27:04

Kotaemon支持细粒度权限控制,按角色分配访问权限

Kotaemon 的细粒度权限控制&#xff1a;构建企业级可信 AI 代理的核心能力 在金融、医疗和政务等对安全性高度敏感的领域&#xff0c;AI 系统早已不再是“能用就行”的实验性工具。一个智能客服如果误触了退款接口&#xff0c;或一名普通员工通过对话机器人访问到了内部机密文档…

作者头像 李华
网站建设 2026/7/7 13:41:14

19、Windows Vista 用户账户管理与家长控制全攻略

Windows Vista 用户账户管理与家长控制全攻略 1. Windows Vista 账户类型及权限 Windows Vista 在处理账户类型和权限方面与之前的 Windows 版本略有不同。这些改变一方面是出于安全考虑,另一方面也是为了提升多用户共享同一台计算机的体验。Vista 中有四种用户账户类型: …

作者头像 李华