当前位置: 首页 > news >正文

微信登录,重定向接口,向前端返回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、其他。

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

http://www.cnnetsun.cn/news/127482.html

相关文章:

  • 企业级html 图书管理系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】
  • 7、伪微分算子相关理论及狄拉克哈密顿量的解耦
  • 基于微信小程序的在线家庭清洁系统毕设源码
  • 20、微软 Windows Vista 使用指南:账户管理与数据保护
  • 15、活动目录用户与组管理操作指南
  • 17、活动目录计算机对象与组织单位管理指南
  • 12、Ourmon:网络监控与异常检测工具全解析
  • 22、恶意软件分析与检测全解析
  • 产品解读 | Ftrans SFT:信创浪潮下的FTP替代革命者
  • 继何恺明DyT后,LayerNorm再遭暴击!简单erf函数竟成Transformer新宠
  • C语言链表2
  • 蜣螂优化(DBO)算法在工程实际中求目标函数最小值的例子:压力容器设计成本最小化的4变量4约束...
  • 12、游戏内存中常见数据结构解析
  • 21、游戏响应式黑客技术全解析
  • 26、游戏隐藏与反检测技术全解析
  • Kotaemon网络安全问答:CVE漏洞快速查询
  • Kotaemon能否自动识别问题紧急程度?
  • 复杂时序场景的突围:金仓数据库是凭借什么超越InfluxDB?
  • 特价股票投资中的跨境投资策略与风险管理
  • 为分析经理制定全面的仪表板策略
  • MATLAB实现神经网络的模式识别
  • 17、在 Linux 系统中运行 Windows 程序及优化工作流
  • Kotaemon索引构建优化:FAISS vs HNSW性能对比
  • Kotaemon在低资源环境下的轻量化改造方案
  • 16、企业 Linux 桌面迁移与后台基础设施搭建指南
  • 19、数据迁移与备份:从 Windows 到 Linux 的全面指南
  • Kotaemon销售谈判策略建议:促成交易技巧
  • 特征工程中的特征构造技巧:大数据分析的创新实践
  • 32、Linux在不同场景下的应用优势与案例分析
  • 26、深入了解GNU Lesser General Public License