В этой статье суммируется использование WeChat JSSDK и делится им с вами для вашего ссылки. Конкретный контент заключается в следующем
1. Свяжите доменное имя
2. Включить файл JS
Представьте следующий файл JS на странице, который должен вызвать интерфейс JS (поддержка https): http://res.wx.qq.com/open/js/jweixin-1.0.0.js
Обратите внимание, что если на вашей странице включена HTTPS, обязательно представьте https://res.wx.qq.com/open/js/jweixin-1.0.0.js, в противном случае вы не сможете успешно использовать JSSDK в iOS9.0 или выше.
3. Проверьте конфигурацию через интерфейс конфигурации
Этот шаг состоит в том, чтобы получить серию параметров, отправив запрос на фон, используя текущий URL. То есть фон будет использовать мой URL, чтобы проверить его на WeChat. Вещи, которые следует отметить, используются для проверки текущего метода написания URL.
let url = location.href.split ('#') [0];
Обязательно напишите вышеупомянутую ситуацию. В противном случае будет выполнена неверная подпись времени конфигурации.
Убедитесь, что URL -адрес является полным URL -адресом страницы (пожалуйста, подтвердите в текущей странице Alert (location.href.split ('#') [0])), включая «http (s): // 'часть и'? «Получите параметром после этого, но не включает часть после '#' hash.
Убедитесь, что URL -адрес, который вы привыкли к подписи, динамически получен. Вы можете обратиться к методу реализации PHP в примере кода для динамической страницы. Если статическая страница HTML передается в бэкэнд для подписи URL через AJAX на передней части, передняя часть необходимо использовать JS, чтобы получить текущую страницу и удалить ссылку на хэш -деталь «#» (вы можете получить местоположение. Href.split ('#') [0], и Enhodeuricomponent требуется), потому что страница будет заполнена, что будет добавлять в экологическую сторону. Если текущая ссылка не получена динамически, подпись страницы после обмена потерпит неудачу.
Обратите внимание на динамику здесь, не разбивайте ее самостоятельно и одновременно кодируйте Urompoonment.
$ .ajax ({type: 'get', url: url, dataType: 'jsonp'}). Затем ((data) => {wx.config ({Debug: True, // Включить режим отладки, возвращаемые значения всех API будут предупреждены на клиенте. Сторона ПК в Аппаде: ', // Требуется, уникальный идентификатор официальной временной метки учетной записи:4. Успешно проверить через обработку интерфейса готового интерфейса
После проверки конфигурации метод готовности будет выполнен. Все интерфейсные вызовы должны быть получены после того, как интерфейс конфигурации получает результат. Config - это асинхронная работа клиента. Поэтому, если вам нужно вызовать соответствующий интерфейс при загрузке страницы, вы должны разместить соответствующий интерфейс в функцию готового, чтобы обеспечить правильное выполнение. Для интерфейсов, которые называются только при вызове пользователя, их можно назвать непосредственно, не помещая их в готовую функцию.
wx.ready (() => {// alert ('ready'); //$(' #onmenushareappmessage').on('lick ', () => {// Поделиться с друзьями wx.onmenushareappmessage ({title:' ', desc: друзьям '); // Поделиться в моменты wx.onmenushareTimeLine ({title: '' ', // Обмен заголовок Ссылка: shareUrl, // share link imgurl:' ', // share incon incevent: function () {alert (' shared '); // alert ($ ('. No-num '). Html () function () function (/ alert'). после того, как пользователь отменяет обмен // alert ('отменен'); });5. Неудачная проверка через интерфейс ошибки
Функция ошибки будет выполнена, если информация конфигурации не удастся. Если подпись истекает, проверка потерпит неудачу. Для конкретных сообщений об ошибках вы можете открыть режим отладки конфигурации, или вы можете просмотреть его в возвращенном параметре Res.
wx.error ((res) => {alert (res.errmsg);})6. Основной интерфейс
• Поделиться с интерфейсом моментов
wx.onmenushareTimeline ({title: '', // Поделиться ссылкой на заголовок: '', // поделиться ссылкой imgurl: '', // share incon success: function () {// Функция обратного вызова, выполненная после того, как пользователь подтверждает общий доступ}, cancel: function () {// Функция обратного вызова, выполненное после отмены пользователя}});• Интерфейсы, чтобы поделиться с друзьями
wx.onmenushareappmessage ({title: '', // поделиться desc: '', // поделиться описанием ссылки: '', // поделиться ссылкой imgurl: '', // поделиться типом значка: '', // поделиться типом, музыкой, видео или ссылкой, не заполняйте ссылку по умолчанию: '', // Если тип - это музыка или видео, вам нужно для по умолчанию. // Функция обратного вызова, выполненная после того, как пользователь подтверждает общий доступ}, Cancel: function () {// Функция обратного вызова, выполненная после того, как пользователь отменит обмен}});Если вам нужно добавить контент, полученный с асинхронным запросом Ajax в общий контент, интерфейс общего использования должен быть снова вызван в успешной функции после возврата запроса Ajax, но интерфейс общего доступа должен быть помещен в функцию wx.Ready и не может быть вызван отдельно. Поскольку операция совместного использования клиента является синхронной операцией, данные, использующие AJAX, еще не были возвращены.
7. Эти шаги кажутся простыми, но во время отладки неизбежно много проблем, потому что интерфейс JSSDK по -прежнему имеет много ограничений. Я случайно наступил на яму.
8. Наконец, я инкапсулировал этот интерфейс .
'use strict';let wxDefaultOptions = { debug: true, appId: '', timestamp: 0, nonceStr: '', signature: '', jsApiList: [ 'checkJsApi', 'onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'hideMenuItems', 'showMenuItems', 'hideAllNonBaseMenuItems', 'showAllNonBaseMenuItems', 'showAllNonBaseMenuItems', 'showAllNonBaseMenuItems', 'translateVoice', 'startRecord', 'stopRecord', 'onRecordEnd', 'playVoice', 'pauseVoice', 'stopVoice', «uploadvoice», «downloadvoice», «selectiMage», «previewImage», «uploadImage», «downloadImage», «getNetworkType», «openLocation», «getLocation», «hideoptionmenu», «showoptionmenu», «closewindow», 'scanqrcode', 'wehspaypaytspaytspaytspaytspaytspaytspaytspaytspaytspayts. 'AddCard', 'choosecard', 'opencard']}; // let sareUrl = 'http: // xxx' + location.pathname; let getWxparam = (url, wxoptions) => {Let url = location.href.split ('#') [0]; url = encodeuricomponent (url); Пусть обещание = новое обещание ((Resolve, dize) => {$ .ajax ({type: 'get', url: 'http: // xxx/xxx? param ='+url, dataType: 'jsonp'}) .Then ((data) => {let wxParam = data; 'wxeb5c3f4a03b880f0'; Resolve (); вернуть обещание;} // Поделиться в моменты let shareSocial = (param) => {wx.onmenusharetimeline ({title: param.title, // Поделиться ссылкой на заголовок: param.link, // share link imgurl: param.imgurl, // share incon accom {// Функция обратного вызова param.failcalback () выполнено после того, как пользователь отменяет обмен; Успех: function (res) {param.sucallback (); wx.ready (() => {// поделиться в моменты ShareSocial (param); SharetOfriendes (param);})} функция CallWx (param, wxoptions) {getWxParam (param.Url, wxoptions) .Then (() => {jssdk (param.); Название: '', desc: '', ссылка: '', imgurl: '', sucallback: func, failcalback: func} module.exports = {wxdefaultoptions, // Изменение конфигурации callwx, // конфигурация по умолчанию, настройка содержимого обмена WeChat после конфигурации и готова,},},},}Эта статья была составлена в «Краткое описание навыков развития WeChat JavaScript», и все могут учиться и читать.
Я хотел бы порекомендовать учебник по программе WeChat Mini, которая очень обеспокоена: «Учебник по разработке мини -программы WeChat» был тщательно скомпилирован редактором всех, я надеюсь, вам понравится.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.