Principalement les étapes de mise en œuvre suivantes:
1. Liez le nom de domaine
Connectez-vous d'abord à la plate-forme publique WeChat et entrez les "paramètres de fonction" des "paramètres de compte public" pour remplir le "nom de domaine de sécurité de l'interface JS". (Un rappel spécial n'a pas besoin d'ajouter HTTP ou HTTPS, vous avez subi une perte)
2. Page importe le fichier 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. Vérifiez la configuration via l'interface de configuration
wx.config ({debug: true, // Activer le mode de débogage, les valeurs de retour de toutes les API appelées seront alertées sur le client. Pour afficher les paramètres passés, vous pouvez les ouvrir côté PC. Noncestr: '', // requis, la chaîne aléatoire générée par la signature de signature: '', // requise, la signature est indiquée dans l'annexe 1 jsapilist: [] // requise, la liste des interfaces JS à utiliser et toutes les interfaces JS sont répertoriées en annexe 2});4. Vérifié avec succès via le traitement de l'interface prêt
wx.ready (function () {// code détaillé});5. Échec de la vérification via l'interface d'erreur
wx.Error (fonction (res) {});Code de page détaillé
<script> // wechat partager moments $ (function () {/ *** l'utilisateur clique pour partager pour wechat cercle et charge l'interface d'interface ********* / var url = window.location.href.split ('#') [0]; url = url.replace (/ & g, '% 26'); console.log ("url:" + url); $. "<% = baspath%> / lotey / sharetofriend.action? url =" + url, type: "post", async: true, cache: false, dataType: "json", succès: function (data) {wx.config ({debug: false, appid: 'wx2948dfef9ef421ee', timestamp: data.timestamp, NONCESTR: DATA.NONCESTR, Signature: Data.Signature, JSapilist: ['Checkjsapi', 'OnMenushareTimeline', 'HideoptionMenu', 'OnMenushAreAppMessage']}); wx.checkjsapi ({jsapilist: ['getlocation', 'onmenushareTimeline', 'onmeushareAppMessage'], Success: function (res) {//aleert(res.errmsg);}}); '<% = baspath%> / lotey / lotey.action? lotey.id = $ {lotey.id}', imgurl: '<% = baspath%> / Resources / qjc / iMg / start.png', Trigger: function (res) {// alert ('user clics toend to amis'); et gagnez le jackpot ~~ '); Fonction (Data) {}});}, Fonction: Res) {// alerte («Annulé»); '<% = baspath%> / Lottery / Lottery.Action? Lottery.id = $ {lotey.id}', imgurl: '<% = baspath%> / Resources / QJC / IMG / START.PNG', Trigger: fonction (res) {// alert ('User Click to Party to Moments'); Dépêchez-vous et gagnez le jackpot ~~ '); "JSON", Success: Function (Data) {}});}, Fonction: Resse Échec !!! '); return;}}); </cript>Code d'action d'arrière-plan Java:
// wechat partager public void shareTofriend () {httpservletRequest request = servletActionContext.getRequest (); String TimeStamp = sha1util.getTimeStamp (); // TimeStamp String nonCestr = wxConfig.getUUID (); // String aléatoire, pas plus de 32 bits String url = request.getParameter ("url"); String Signature = WXConfig.getSignature ("AppID", "App_Secret", URL, horodatage, nonCest); request.setAttribute ("horodatage", horodatage); request.setAttribute ("noncestr", noncestr); request.setAttribute ("URL", URL); request.setAttribute ("signature", signature); Wxjssdk result = new wxjssdk (horodat, non-closst, signature, URL); Commonutil.returnmsg (servletActionContext.getResponse (), new gson (). Tojson (résultat)); } Code wxconfig.java
"> // JSAPI_TICKET public Final Static String statique weixin_jsapi_ticket_url =" https://api.weixin.qq.com/cgi-bin/ticket/GetTicket?access_Token=Access_Token&type=jsapi "; // Access_Token Public Static String GetAccssets Access_token; Access_token = MaptOnK.get ("AccessToken"); Type type = new TypeToken <String, objet >> () {} .getType (); Final Map <Object, Object> AccessTokenInfo = new GSON (). MAPTOKING.PUT ("AccessToken", Access_Token); Logger.Error ("errcode: {}:" + AccessTokenInfo.get ("errcode") + "Errmsg: {}:" + accessTokenInfo.get ("errmsg"); MAPTICKET.get ("Ticket"); {} .getType (); Map final, objet, objet> TicketInfo = new GSON (). Logger.info ("JSAPI_TICKET:" + Ticket + "; Expires_in:" + Expires_in); errcode: {}: "+ ticketInfo.get (" errcode ") +" errmsg: {}: "+ ticketInfo.get (" errmsg "));}} return ticket;} // generate random string uuid public static string getUuid () {string uuid = Uuid.randomuuid (). ToString (). getjsapiticket (AccessToken); String: "+ SignValue); // Cette signature. Il est principalement utilisé pour charger WeChat JS. Ne vous laissez pas confondre avec ce qui précède. String Signature = sha1util.getSha1 ((SignValue)); logger.info (" WECHAT JS-SDK Permition Verification Signature: "+ Signature); Retour signature;}De plus, Sha1util.java et md5util.java utilisés dans le projet peuvent être téléchargés directement sur la plate-forme.