1. Есть два способа импорта: вы можете использовать npm или напрямую загрузить файл js для импорта.
npm установить модуль jweixin --save
2. После того, как зависимость загружена, вы можете напрямую импортировать и настраивать параметры прямо на странице, на которой нужно отключить функцию загрузки изображения:
var wx = require('jweixin-module');
3. Инкапсулируйте общий метод разрешения инъекции и вызовите этот метод в onShow.
// Общий метод
gongyong() { // Запись URL-адреса при входе в приложение if (typeof window.entryUrl === 'undefined' || window.entryUrl === '') { window.entryUrl = location.href.split ( '#')[0] } let isiOS = !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //терминал ios// выполнить Android не нужно использовать предыдущую ссылку при подписании, ios необходимо let signLink = isiOS ? ---- --- Текущий URL-адрес подписи-------------') console.log(signLink, 'URL-адрес подписи',window.location.href.split('#')[0 ],местоположение .href.split('#')[0])
// var uri = encodeURIComponent(location.href.split('#')[0]); //Получить текущий URL-адрес и передать его в фоновый режим для получения информации об авторизации и подписи
var uri = encodeURIComponent(signLink); // Получите текущий URL-адрес, а затем передайте его в фоновый режим для получения информации об авторизации и подписи
// Сервер подписывает
uni.request({ url: 'ваш собственный адрес интерфейса', // данные адреса вашего интерфейса: { url: uri }, успех : (resss) => { console.log('------signature return data------') console.log(resss.data) // Возвращаем необходимые параметры appId, timestamp, noncestr, signal и т. д. // Внедрить конфигурацию разрешений конфигурации
wx.config({ debug: false, appId: resss.data.appId, timestamp: resss.data.timestamp, nonceStr: resss.data.nonceStr, подпись: resss.data.signature, jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData ', 'editAddress', 'chooseImage', 'onMenuShareAppMessage', 'onMenuShareTimeline', 'previewImage', 'uploadImage', 'downloadImage', 'chooseWXPay', 'getLocation' ] });
wx.ready(function() { console.log('конфигурация успешно введена') }) wx.error(function(res){ console.log(res, 'если проверка информации конфигурации не удалась, будет выполнена функция ошибки' ) // информация о конфигурации Если проверка не удалась, будет выполнена функция ошибки. Если срок действия подписи истек, а проверка не удалась, конкретную информацию об ошибке можно просмотреть в режиме отладки конфигурации или в возвращаемом параметре res. Для SPA, здесь можно обновить подпись. }); } } ) } ,
4. Вызов интерфейса загрузки изображения при нажатии на операцию (идентификатор потому, что на моей странице есть несколько загрузок изображений, поэтому идентификатор используется для различения.)
// загрузить изображение
clickuploadimg(id) { let that = this let imgnum = 0 if(id == 4 || id == 5 || id == 6) { imgnum = 1 } else { imgnum = 9 } let num = 0 wx.chooseImage({ count: imgnum, // По умолчанию 9 sizeType: ['original', 'compressed'], // Вы можете указать исходное изображение или сжатое изображение, оба имеют sourceType по умолчанию: [' album', ' camera'], // Вы можете указать, является ли источником альбом или камера, и оба они имеют успех по умолчанию: function (res) {
const tempFilePaths = res.localIds;// res.localIds — это массив, возвращает список локальных идентификаторов выбранной фотографии, localId можно использовать как атрибут src тега img для отображения картинки if(id == 1)
{ // личное фото that.xianzhiphoto = that.xianzhiphoto.concat(res.localIds) } else if(id == 2) { } else if(id == 3) { } else if (id == 4) { } else if (id == 4) { } else if (id == 5) { } else if (id == 6) { } uni.showLoading({ title: 'Загрузка~', });
for(var i = 0; i < tempFilePaths.length; i++){ wx.uploadImage({ localId: tempFilePaths[i], // Локальный идентификатор загружаемого изображения, полученный из интерфейса ChooseImage isShowProgressTips: tempFilePaths.length , // Значение по умолчанию — 1, показывающее успех подсказки о ходе выполнения: function (respo) { // respo.serverId — это строка (то есть media_id, требуемый серверной частью) num = num + 1 if(id == 1) { // личное фото that.xianzhiphotoid .push(respo.serverId) } else if(id == 2) {
} else if(id == 3) { } else if(id == 4) { } else if(id == 5) { } else if(id == 6) { } if (num == tempFilePaths.length) { uni.hideLoading() uni.showToast({ title: "上传成功", icon: 'success', }) // that.show = true
}
}
});
}
},
fail: function(res) { uni.showToast({ title: "Загрузка выполнена успешно", icon: res, }) }, }) },
Показать результаты