В основном следующие шаги реализации:
1. Свяжите доменное имя
Сначала войдите на общедоступную платформу WeChat и введите «Настройки функции» «Настройки публичной учетной записи», чтобы заполнить имя домена безопасности «JS Interface Security». (Специальное напоминание не нужно добавлять http или https, вы понесли потерю)
2. Файл Import Page 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, // Включить режим отладки, возвращаемые значения всех API, вызванных клиентом. Чтобы просмотреть пропущенные параметры, вы можете открыть их на стороне ПК, информация о параметрах будет напечатана через журнал и будет напечатана только на стороне ПК. noncestr: '', // требуется случайная строка, сгенерированная подписью подписи: '', // требуется, подпись показана в Приложении 1 Jsapilist: [] // Требуется список интерфейсов JS, и все интерфейсы JS перечислены в Приложении 2});4. Успешно проверить через обработку интерфейса готового интерфейса
wx.ready (function () {// Подробный код});5. Неудачная проверка через интерфейс ошибки
wx.error (function (res) {});Подробный код страницы
<Script> // WeChat Share Moments $ (function () {/*** Пользователь щелкнет, чтобы поделиться по кругу WeChat и загружает интерфейс интерфейса **********/var url = window.location.href.split ('#') [0]; url = url.replace (/&/g, '%26'); URL: «<%= basePath%>/лотерея/sharetofriend.action? url =»+url, тип: «post», async: true, cache: false, dataType: «json», успех: функция (data) {wx.config ({Debug: false, Appid: 'wx2948df5ef42111 Noncest: data.noncest, подпись: data.signature, jsapilist: ['checkjsapi', 'onmenusharetimeline', 'hideoptionmenu', 'onmenusharepmessage']}); wx.checkjsapi ({jsapilist: ['getlocation', 'onmenusharetimeline', 'onmenushareappmessage'], успех: функция (res) {//alert(res.errmsg);}}); '<%= basepath%>/lottery/lottery.action? Lottery.id = $ {lottery.id}', imgurl: '<%= basepath%>/resources/qjc/img/start.png', триггер: функция (res) {// warer Jackpot ~~ '); Функция (Data) {}}); '<%= basepath%>/lottery/lottery.action? Lottery.id = $ {lottery.id}', imgurl: '<%= basepath%>/resources/qjc/img/start.png', триггер: функция (Res) {// alert ('пользователь нажимает, чтобы поделиться моментами'); Джекпот ~~ '); Функция (Data) {}}); }}); </script>Java фоновый код действия:
// WeChat Share public void sharetofriend () {httpservlectrequest request = servletactioncontext.getRequest (); String TimeStamp = sha1util.getTimeStamp (); // TimeStamp String noncestr = wxconfig.getuuid (); // Случайная строка, не дольше 32 бита string url = request.getParameter ("url"); String signature = wxconfig.getSignature ("appid", "app_secret", url, timestamp, noncestry); request.setattribute ("timeStamp", TimeStamp); request.setAttribute ("noncestr", noncestr); request.setattribute ("url", url); request.setattribute ("подпись", подпись); Wxjssdk result = new wxjssdk (timestamp, noncestry, signature, url); Commonutil.returnmsg (servletactioncontext.getresponse (), new gson (). Tojson (result)); } WXCONFIG.JAVA CODE
"> // jsapi_ticket public final Static String weixin_jsapi_ticket_url =" https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=access_token&type=jsapi "; // access_token public static getCcess AppSecret) {string access_token; Httputil.get (url); AccessTokenInfo.get ("expires_in"); logger.error ("errcode: {}:"+accessTokenInfo.get ("errcode")+"errmsg: {}:"+accessTokenInfo.get ("errmsg")); mapticket.get ("Ticket"); {} .gettype (); logger.info ("jsapi_ticket:"+Ticket+"; Errcode: {}: "+ticketinfo.get (" errcode ")+" errmsg: {}: "+ticketinfo.get (" errmsg "));}} return tick Uuid.randomuuid (). ToString (). Trim ().. Замена ("-", ""); getJSapiticket (AccessToken); Строка: «+SignValue); // Эта подпись. Она в основном используется для загрузки WeChat JS. Не путайте с вышеупомянутым. STRING Signature = sha1util.getsha1 ((Signvalue)); logger.info (" WeChat JS-SDK-сигнатура: "+сигнатура);Кроме того, sha1util.java и md5util.java, используемый в проекте, можно загрузить непосредственно на платформе.