Terutama langkah implementasi berikut:
1. Ikat nama domain
Masuk pertama ke platform publik WeChat dan masukkan "Pengaturan Fungsi" dari "Pengaturan Akun Publik" untuk mengisi "Nama Domain Keamanan Antarmuka JS". (Pengingat khusus tidak perlu menambahkan http atau https, Anda menderita kerugian)
2. Halaman mengimpor file js
<skrip src = "http://res.wx.qq.com/open/js/jweixin-1.0.0.js"> </script>
<skrip src = "https://res.wx.qq.com/open/js/jweixin-1.0.0.js"> </script>
3. Verifikasi konfigurasi melalui antarmuka konfigurasi
wx.config ({debug: true, // Nyalakan mode debug, nilai pengembalian semua API yang disebut akan diberitahu pada klien. Untuk melihat parameter yang diteruskan, Anda dapat membukanya di sisi PC, informasi parameter akan dicetak melalui log dan hanya akan dicetak di sisi PC. non -cestr: '', // Diperlukan, string acak yang dihasilkan oleh tanda tangan tanda tangan: '', // Diperlukan, tanda tangan ditampilkan dalam Lampiran 1 JSAPILIS: [] // Diperlukan, daftar antarmuka JS yang akan digunakan, dan semua antarmuka JS terdaftar dalam Lampiran 2});4. berhasil diverifikasi melalui pemrosesan antarmuka siap
wx.ready (function () {// kode terperinci});5. Verifikasi Gagal Melalui Antarmuka Kesalahan
wx.error (function (res) {});Kode halaman terperinci
<script> // wechat share moments $ (function () {/*** Klik pengguna untuk berbagi ke WeChat Circle dan memuat antarmuka antarmuka **********/var url = window.location.href.split ('#') [0]; url = url.replace (//g, '%26'); console); console); console ($ "(//g, '%26'); console (0]; console) ({URL" (//G, '%26'); url: "<%=basePath%>/lottery/shareToFriend.action?url="+url, type: "POST", async:true, cache: false, dataType: "json", success: function(data){ wx.config({ debug: false, appId: 'wx2948dfef9ef421ee', timestamp:data.timeStamp, noncestr: data.noncestr, tanda tangan: data.Signature, jsapilis: ['checkjsapi', 'onMenusharetimeline', 'hideoptionmenu', 'onMenushareAppMessage']}); wx.checkjsapi ({jsapilist: ['getLocation', 'onMenusharetimeline', 'onMenushareAppMessage'], Success: function (res) {//alert(res.errmsg);}}); '<%= Basepath%>/Lottery/Lottery.action? Lottery.id = $ {Lottery.id}', imgurl: '<%= Basepath%>/sumber daya/qjc/img/start.png', pemicu: function (res) {// word clicks User untuk mengirim ke teman '); jackpot ~~ '); // Tambahkan untuk meningkatkan jumlah game setelah berbagi $ .Ajax ({url: "<%= Basepath%>/Lottery/RewardplayCount.action? }}); '<%= Basepath%>/Lottery/Lottery.action? Lottery.id = $ {Lottery.id}', imgurl: '<%= Basepath%>/sumber daya/qjc/img/start.png', pemicu: function (res) {// ware ('klik pengguna untuk berbagi ke momen'); jackpot ~~ '); // Tambahkan untuk meningkatkan jumlah game setelah berbagi $ .Ajax ({url: "<%= Basepath%>/Lottery/RewardplayCount.action? function ({}}); }); </script>Kode Tindakan Latar Belakang Java:
// weChat berbagi public void sharetofriend () {httpservletRequest request = servletActionContext.getRequest (); String timestamp = sha1util.getTimestamp (); // timestamp string noncestr = wxconfig.getuuid (); // string acak, tidak lebih dari 32 bit string url = request.getParameter ("url"); String Signature = wxConfig.getSignature ("appId", "app_secret", url, timestamp, noncestr); request.setAttribute ("timestamp", timestamp); request.setAttribute ("noncestr", noncestr); request.setAttribute ("url", url); request.setAttribute ("Signature", Signature); Hasil WXJSSDK = WXJSSDK baru (Timestamp, NonCestr, Signature, URL); Commonutil.returnmsg (servletActionContext.getResponse (), GSON baru (). TOJSON (hasil)); } Kode WXConfig.java
"> // jsapi_ticket public final static string weixin_jsapi_ticket_url =" https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=access_toke&type=jsapi "; // Access_tokenoken, string statif (stringkenken&type=jsapi"; // Access_tokoken (stringcoken & stringKEKSEKSEKSEKSEKESS=JSAPI "; // ACCRECEKNEKNEKNEK.ACCEKNEK.ACACEKN ( Access_Token; = Typetoken <peta <String, Object >> () {} .getType (); Maptoken.put (AccessToken ", Access_Token); Logger.Error (errcode: {}: "+accessTokenInfo.get (" errcode ")+" errmsg: {}: "+accessTokenInfo.get (" errmsg ")); mapticket.get (Ticket "); {} .geType (); Logger.info (JSAPI_TICKET: "+Tiket+"; Expires_in: "+Expires_in); errcode: {}: "+ticketInfo.get (" errcode ")+" errmsg: {}: "+ticketInfo.get (" errmsg "));}} return ticket;} // menghasilkan string acak uuid string statis public getuuid () {string uuid = Uuid.randomuuid (). ToString (). Trim (). Replaceall ("-", ""); getjsapiticket (AccessToken); String: "+SignValue); // tanda tangan ini. Ini terutama digunakan untuk memuat wechat js. Jangan bingung dengan string di atas. Tanda tangan = sha1util.getsha1 ((SignValue)); Logger.info (" WeChat JS-SDK Izin Verifikasi Tanda Tangan: "+Signature); Return Signature;Selain itu, sha1util.java dan md5util.java yang digunakan dalam proyek dapat diunduh langsung di platform.