構造授權 URL:
https://open.weixin.qq.com/connect/oauth2/authorize?
appid=APPID&redirect_uri=REDIRECT&response_type=code&scope=snsapi_base&state=1#wechat_redirect
其中 REDIRECT 包含查詢參數(如 https://a.com/b/?c=d)。點擊菜單後,微信內打開頁面正常,但複製鏈接發現仍為授權鏈接,未見 code 參數,疑似未回調。
微信客戶端內部會攔截並處理授權重定向,完成 code 獲取後自動跳轉回目標頁面(附帶 code 與 state)。用戶在微信內看到的頁面已經是帶 code 的目標頁面,但地址欄顯示的仍是授權鏈接(微信為安全隱藏真實跳轉 URL)。
a.com/b)後端打印請求參數,確認收到 code。console.log(location.href),可見真實帶 code 的 URL。redirect_uri **必須 URL 編碼**(encodeURIComponent),特別是包含 `?` `&` `=` 等特殊字符時。code 後立即換 access_token,code 5 分鐘失效、單次使用。現象屬正常微信行為,非錯誤。後端已收到 code 即流程通順,前端地址欄顯示授權鏈接是微信安全機制所致。