Hari ini, saya secara tidak sengaja membuka debugging WeChat JSSDK dan menemukan bahwa informasi debugging selalu mendorong kesalahan dalam tanda tangan. "Kadang -kadang" API tidak berlaku dua hari yang lalu, bukan karena kode belum dieksekusi, tetapi karena tanda tangannya tidak benar! , ini adalah kesalahan yang dapat direproduksi 100%
Tetapi selama spa baru saja disegarkan atau tidak melompat di tengah setelah memuat, tanda tangan akan benar.
Tetapi ketika rute berubah, setelah kami menandatangani ulang halaman "Jump" baru, kami mengalami kesalahan tanda tangan. Tanda tangan kami jelas benar. Sama halnya dengan menggunakan berbagai parameter ke alat verifikasi tanda tangan WeChat JS (http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign) sebagai perbandingan!
Penemuan besar nanti. . . Sebenarnya
Tandatangani saja sekali saat memuat halaman pintu masuk spa, karena URL yang ditandatangani oleh WeChat tampaknya hanya mengenali URL dari halaman pertama yang dimuat oleh spa. . . The Window.Location.Href Jump sebenarnya sangat mirip dengan pemuatan spa lagi
Saya berpikir bahwa jika rute dialihkan, saya harus menggunakan URL baru untuk mengundurkan diri, tetapi justru karena inilah saya membuat kesalahan dalam verifikasi tanda tangan. .
Jadi solusinya adalah:
Tandatangani saja halaman yang dimuat pertama. Lompatan menggunakan ui-router tampaknya baru saja mengubah alamatnya. . Dan modifikasi alamat ini. . Tanda tangan WeChat tampaknya tidak diakui. . Dia mengenali URL halaman pertama yang dimuat.
Melalui artikel ini, saya harap ini dapat membantu teman -teman yang mengalami masalah ini. Terima kasih atas dukungan Anda untuk situs web ini!