Windows系统文件FM20chs.DLL丢失找不到问题解决
2026/6/21 18:05:10
假设你的场景是这样的:
window.open(url)弹出一个新的窗口去做扫码登录。重定向接口在登录成功后,向弹出页面返回特定的 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);}});*,增加安全性。如果你还有后端部分的接口编写需求,可以继续追问。