ส่วนใหญ่ขั้นตอนการใช้งานต่อไปนี้:
1. ผูกชื่อโดเมน
เข้าสู่ระบบแรกไปยังแพลตฟอร์มสาธารณะ WeChat และป้อน "การตั้งค่าฟังก์ชั่น" ของ "การตั้งค่าบัญชีสาธารณะ" เพื่อกรอกชื่อ "JS Interface Security Name" (การแจ้งเตือนพิเศษไม่จำเป็นต้องเพิ่ม HTTP หรือ HTTPS คุณได้รับความสูญเสีย)
2. หน้านำเข้าไฟล์ JS
<script src = "http://res.wx.qq.com/open/js/jweixin-1.0.0.js"> </script>
<script src = "https://res.wx.qq.com/open/js/jweixin-1.0.0.js"> </script>
3. ตรวจสอบการกำหนดค่าผ่านอินเตอร์เฟสการกำหนดค่า
wx.config ({debug: true, // เปิดโหมดดีบัก, ค่าการส่งคืนของ APIs ทั้งหมดที่เรียกว่าจะได้รับการแจ้งเตือนบนไคลเอนต์เพื่อดูพารามิเตอร์ที่ผ่านคุณสามารถเปิดได้ทางด้านพีซี noncestr: '', // จำเป็น, สตริงแบบสุ่มที่สร้างขึ้นโดยลายเซ็นลายเซ็น: '', // จำเป็น, ลายเซ็นแสดงอยู่ในภาคผนวก 1 JSapilist: [] // จำเป็นรายการอินเตอร์เฟส JS ที่จะใช้และอินเทอร์เฟซ JS ทั้งหมดจะอยู่ในภาคผนวก 2});4. ตรวจสอบได้สำเร็จผ่านการประมวลผลอินเทอร์เฟซพร้อม
wx.ready (function () {// รหัสรายละเอียด});5. การตรวจสอบที่ล้มเหลวผ่านอินเตอร์เฟสข้อผิดพลาด
wx.error (ฟังก์ชั่น (res) {});รหัสหน้าโดยละเอียด
<script> // WeChat Share Moments $ (function () {/*** คลิกผู้ใช้เพื่อแชร์ไปยัง WeChat Circle และโหลดอินเตอร์เฟสอินเตอร์เฟส **********/var url = window.location.href.split ('#') [0]; url = url.replace (///g, '%26'); "<%= basepath%>/ลอตเตอรี/sharetofriend.action? url ="+url, type: "post", async: true, cache: false, dataType: "JSON", ความสำเร็จ: ฟังก์ชั่น (data) {wx.config ({debug: เท็จ noncestr: data.noncestr, ลายเซ็น: data.signature, jsapilist: ['checkjsapi', 'onmenusharetimeline', 'hideoptionmenu', 'onmenushareappmessage']}); wx.checkjsapi ({jsapilist: ['getLocation', 'onmenusharetimeline', 'onMenushareappMessage'], ความสำเร็จ: ฟังก์ชั่น (res) {//alert(res.errmsg);}}); '<%= basepath%>/ลอตเตอรี/ลอตเตอรี? การกระทำ? ลอตเตอรี = $ {ลอตเตอรี}', imgurl: '<%= basepath%>/ทรัพยากร/qjc/img/start.png', trigger: ฟังก์ชั่น (res) {// การแจ้งเตือน แจ็คพอต ~~ '); // เพิ่มเพื่อเพิ่มจำนวนเกมหลังจากแชร์ $ .ajax ({url: "<%= basepath%>/ลอตเตอรี/รางวัล rewardplaycount.action? ฟังก์ชั่น (ข้อมูล) {}}); '<%= basepath%>/ลอตเตอรี/ลอตเตอรี? การกระทำ? ลอตเตอรี = $ {ลอตเตอรี}', imgurl: '<%= basepath%>/ทรัพยากร/qjc/img/start.png', การทำงาน (res) แจ็คพอต ~~ '); ฟังก์ชั่น (ข้อมูล) {// การแจ้งเตือน ('ยกเลิก'); กลับ; } }); }); </script>รหัสการกระทำพื้นหลังของ Java:
// weChat แบ่งปันโมฆะสาธารณะ sharetofriend () {httpservletRequest Request = servletactionContext.getRequest (); String timestamp = sha1util.getTimeStamp (); // timestamp สตริง noncestr = wxConfig.getUuid (); // สตริงสุ่มไม่เกิน 32 บิตสตริง url = request.getParameter ("url"); String Signature = WxConfig.getSignature ("AppId", "App_secret", URL, Timestamp, Noncestr); request.setAttribute ("timestamp", การประทับเวลา); request.setAttribute ("noncestr", noncestr); request.setAttribute ("url", url); request.setAttribute ("ลายเซ็น", ลายเซ็น); WXJSSDK result = new WXJSSDK (การประทับเวลา, noncest, ลายเซ็น, URL); Commonutil.returnmsg (servletactionContext.getResponse (), ใหม่ gson (). tojson (ผลลัพธ์)); - รหัส wxConfig.java
"> // JSAPI_TICKET Public Final Station String weixin_jsapi_ticket_url =" https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=access_token access_token; httputil.get (url); ประเภทสุดท้าย = typetoken ใหม่ <map <string, object >> () {} .getType (); AccessTokenfo.get ("expires_in"); logger.error ("errcode: {}:"+accesstokeninfo.get ("errcode")+"errmsg: {}:"+accesstokeninfo.get ("errmsg"); Mapticket.get ("Ticket"); ถ้า (ตั๋ว == null) {string url = httputil.weixin_host_api+"/cgi-bin/ticket/getticket? {} .getType (); logger.info ("jsapi_ticket:"+ตั๋ว+"; expires_in:"+expires_in); errCode: {}: "+ticketInfo.get (" errCode ")+" errmsg: {}: "+ticketInfo.get (" errmsg "));}} ส่งคืนตั๋ว; uuid.randomuuid (). toString (). trim (). replaceall ("-", ""); jsapi_ticket = getjsapiticket (AccessToken); js-sdk การตรวจสอบการตรวจสอบลายเซ็นสตริง: "+signvalue); // ลายเซ็นนี้ส่วนใหญ่ใช้สำหรับการโหลด wechat js อย่าสับสนกับข้างต้นลายเซ็นสตริง = sha1util.getsha1 ((signvalue)); logger.info (" Wechat JS-SDKนอกจากนี้ sha1util.java และ md5util.java ที่ใช้ในโครงการสามารถดาวน์โหลดได้โดยตรงบนแพลตฟอร์ม