news 2026/4/1 17:20:41

微信登录,重定向接口,向前端返回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/1 0:41:34

6-9 WPS JS宏Map、 set、get、delete、clear()映射的添加、修改、删除

6-9 WPS JS宏Map、 set、get、delete、clear()映射的添加、修改、删除 映射(Map)对象表示一组被称为键的值,其中每个键都关联着(或映射到)另一个值。从某种角度看,映射类似数组,只不过它并不局限于用连续的整数作为键。(键类似于索引号,但是它可以是任意值,也可是…

作者头像 李华
网站建设 2026/3/28 1:31:35

裂缝在地下窜动的瞬间总带着毁灭的美感。打开COMSOL看着操作界面,我习惯性先给自己冲了杯浓缩咖啡——毕竟水力压裂这玩意可比拉花难伺候多了

comsol仿真模拟水力压裂岩石损伤。 此案例为文献复现&#xff0c;含视频讲解。建模第一步得先把岩石调教明白。在材料库扒拉半天&#xff0c;最后选了Drucker-Prager准则&#xff0c;这货对脆性材料比较友好。参数栏里啪啪敲进弹性模量35GPa&#xff0c;抗压强度80MPa&#xff…

作者头像 李华
网站建设 2026/3/31 23:46:55

【毕业设计】SpringBoot+Vue+MySQL 短流量数据分析与可视化abo平台源码+数据库+论文+部署文档

摘要 随着互联网技术的快速发展&#xff0c;短流量数据&#xff08;如短视频、社交媒体动态等&#xff09;成为用户日常信息交互的主要形式之一。短流量数据具有实时性强、传播速度快、内容碎片化等特点&#xff0c;对企业和研究机构分析用户行为、优化内容推荐策略具有重要意义…

作者头像 李华
网站建设 2026/3/31 11:33:28

KotaemonSlogan创意生成:品牌口号工厂

Kotaemon&#xff1a;构建企业级智能对话中枢的技术实践 在当今企业数字化转型的浪潮中&#xff0c;AI助手早已不再是“能说会道”的玩具&#xff0c;而是承担真实业务流程、处理复杂决策的“数字员工”。然而&#xff0c;许多看似聪明的聊天机器人一旦进入实际场景&#xff0…

作者头像 李华
网站建设 2026/3/21 17:08:13

用Kotaemon做领域知识问答,准确率提升70%的秘密

用Kotaemon做领域知识问答&#xff0c;准确率提升70%的秘密 在金融合规审查、医疗诊断支持或法律条款查询这类高风险场景中&#xff0c;一个“差不多”的AI回答可能带来严重后果。用户真正需要的不是泛泛而谈的语言模型输出&#xff0c;而是有据可依、逻辑清晰、可追溯来源的专…

作者头像 李华
网站建设 2026/3/28 8:33:33

22、虚拟现实用户界面设计:原则与实践

虚拟现实用户界面设计:原则与实践 在虚拟现实(VR)的世界里,用户界面(UI)设计至关重要。它不仅影响着用户的沉浸感,还决定了用户与虚拟环境交互的效率和体验。本文将深入探讨VR UI设计的相关原则和实践,帮助开发者打造出更优质的VR应用。 1. 场景设计原则 在VR场景设…

作者头像 李华