uniapp が開発した WeChat 公開アカウントで生成された署名は、WeChat 署名検証ツールで生成された署名と同じですが、署名エラー (無効な署名) が報告されます。
WeChat 公式アカウントによって生成された署名が WeChat 署名検証ツールによって生成された署名と同じであることが確認された場合、通常は署名を生成する URL に問題があることが原因です。
URLを取得する手順:
1. main.jsで最初にページに入ったパスを取得し、window.sessionStorage.setItem
取得したページパスをキャッシュします。
window.sessionStorage.setItem('firstEntryUrl',window.location.href.split('#')[0])
2. 使用する必要があるメソッドをページに記述します。最後の URL は、取得した現在のページのパスです。
Android の登録設定は正常であるが、iOS の登録設定の署名エラーが発生する問題を解決します。原因是ios 无论路由跳转多少次,复制出来的链接都是首次进入的页面的链接
//安卓机型获取当前页面路径
let url = window.location.href.split('#')[0];
//ios机型获取当前页面路径
let ua = navigator.userAgent.toLowerCase();
let isWeixin = ua.indexOf('micromessenger') !== -1;
if (isWeixin) {
let isiOS = /(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent); //ios终端
if (isiOS && window.sessionStorage.getItem('firstEntryUrl')) {
url = window.sessionStorage.getItem('firstEntryUrl').split('#')[0];
}
}
console.log("当前页面url",url);
ps: WeChat署名検証ツール