Открытая платформа WeChat предоставляет некоторые открытые интерфейсы WeChat, такие как вход в WeChat, совместный платеж и т. д., для предоставления услуг поддержки для других приложений платформы. Онлайн-информация относительно свободна, и добавлены некоторые незнакомые концепции, поэтому простые процессы не связаны последовательно.В этой статье кратко изложен конкретный процесс работы приложения и разработки разрешений для входа в WeChat для Android-приложения в uniapp, и я надеюсь, что это будет быть полезным для вас.
Во-первых, давайте взглянем на общий процесс разработки функции входа в WeChat.Я разобрал общую блок-схему, чтобы помочь вам быть более организованным при понимании следующего содержания:
Можно увидеть, развитие микро-канала или входа в систему небольшие проблемы Да, позвольте мне шаг за шагом подробности правильно!
1, зарегистрируйте аккаунт на открытой платформе WeChat
сначала зарегистрируйтесьОткрытая платформа WeChat[1]Аккаунт, WeChat имеет в общей сложности платформы 4. Эта открытая платформа предназначена для открытия входа в WeChat и обмена платежами и другим контентом с приложениями, веб-страницами и небольшими программами. Конкретный процесс не будет подробно описан.Учетная запись электронной почты должна быть осторожной, чтобы не конфликтовать с учетной записью, используемой где-либо еще в WeChat.
2. Аттестация квалификации разработчика
После успешной регистрации учетной записи войдите в систему. Для разработки функций входа в WeChat требуется квалификационная сертификация разработчика. Теперь регистрация открытой платформы открыта для физических лиц, но сертификация квалификации разработчика открыта только для предприятий и учреждений, и за сертификацию необходимо заплатить 300 юаней. Для сертификации предприятия, которую я использую, соответствующие квалификационные сертификаты предприятия используются в процессе подачи заявки.Процесс очень быстрый, когда информация полная.Это можно сделать примерно за два-три дня.Заявка на выставление счета-фактуры очень медленная, и это занимает около месяца.
3. Подать заявку на мобильные приложения на открытой платформе
После успешной аутентификации войдите в центр управления, выберите мобильное приложение, создайте мобильное приложение и следуйте инструкциям Единственное, что может вас застопорить, это подпись приложения. Когда я дошел до этого момента, я был совершенно сбит с толку и не знал, что такое подпись приложения.
4. Генерация подписи приложения
Глядя на приведенное выше описание, подпись приложения в основном используется для аутентификации.Причина, по которой она называется вторичной проверкой, связана с вошедшим в систему пользователем. В обычных условиях вы можете подать заявку при входе на открытую платформу.Теперь, когда у вас есть эта подпись, вам нужно сделать еще несколько бросков, чтобы доказать, что вы имеете право разрабатывать это приложение. В обычных условиях Android-приложения, выпущенные на небольших фабриках, в основном используют общедоступные тестовые сертификаты, теперь же для генерации подписей приложений необходимо использовать собственные сертификаты. С помощью собственного сертификата вы можете сгенерировать подпись приложения, необходимую для открытой платформы WeChat. Как возникла эта самосертификация? Далее давайте посмотрим, как избавиться от этого собственного сертификата и подписи приложения.
Создать собственный сертификат
1. Установите среду jre
jre — это среда разработки Java. Вы можете использовать командное окно cmd, чтобы использовать команду java, чтобы определить, есть ли jre в текущей среде.'java' не является внутренней или внешней командой, исполняемой программой или пакетным файлом., значит он не установлен, если вывод такой, то он уже установлен:
Если он не установлен, загрузите установочный пакет jre:Woohoo. Oracle.com/Java/techno…
После установки снова откройте cmd и снова введите java, чтобы увидеть нормальное содержимое, связанное с выводом. Затем добавьте путь установки jre в переменную системной среды:
d:
set PATH=%PATH%;"C:\Program Files\Java\jre1.8.0_201\bin"
Используйте cmd для ввода вышеуказанной команды.Первая строка означает переключиться на диск d.Этот каталог является необязательным и используется для хранения сертификата подписи, который будет сгенерирован далее.Вы можете создать еще одну папку и cd в нее. После возврата каретки вторая строка означает добавление команды jre во временную переменную среды, а следующий адрес основан на фактическом адресе установки вашего jre. После этого шага файлы, сгенерированные последующими операциями, будут созданы в текущей папке.
2. Создайте подписанный сертификат
После того, как вышеуказанные шаги будут выполнены нормально, вы можете ввести следующую команду keytool -genkey для создания сертификата. Здесь следует отметить, что «test» в testalias и test.keystore можно изменить и заменить на имя в вашем собственном проекте.
keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
После нажатия ввода введите пароль, например, 123456, пароль невидим, не допустишь ошибку, просто следуйте инструкциям, чтобы заполнить, как правило, введите английский или пинжин. Когда последнее запрос правильно, не нажимайте ввод, введите Y, чтобы подтвердить, что правильно, в противном случае вам придется сделать это снова.
После подтверждения снова запрашивается пароль ключа, что аналогично возврату каретки.
Если вам будет предложено это сделать, скопируйте и вставьте команду для выполнения и введите ранее установленный пароль 123456.
Наконец, вы можете увидеть сертификат приложения в папке, где в данный момент выполняется команда.
Создать подпись
Сначала нужно сгенерировать сертификат, и на этом этапе можно, наконец, сгенерировать подпись.
3. Пакет с собственным сертификатом
Этот шаг очень прост: используйте hbuilderx для упаковки облака приложений и выберите собственный метод упаковки сертификатов Android во всплывающем окне. Этот собственный сертификат — это сертификат, который мы создали только что. Вы взволнованы? Мы тоже люди с сертификатами! ? В следующих трех колонках прописаны алиас и пароль в предыдущих шагах операции.Если не забудете, запишите их.Затем выберите файл сертификата.Остальное нормальные операции, можно запаковать в конце.
4. Создайте подпись с помощью инструмента генерации подписи
Сначала перейдите на открытую платформу WeChat для загрузки.Инструмент создания подписи[2], после загрузки установите его на мобильный телефон и введите имя пакета Android.
Тут есть ямка, обратите внимание, в конфигурации файла manifest.json uni app, appid должен быть '_UNI_', поэтому ваш файл конфигурации должен быть '_UNI_', но имя пакета и конфигурация при упаковке - это две системы, которые не влияют друг на друга. Здесь можно изменить имя и убрать заголовок uni. Поскольку это имя пакета нужно использовать вместе с версией ios, вы должны быть такими же, как ios.Я считаю, что люди, которые его упаковывали, должны понимать, о чем я говорю.
Введите правильное имя пакета (удалите 'UNI'), нажмите кнопку ниже, чтобы сгенерировать строку идентификаторов, это -подпись приложения! Это утомительно!
5. Подавайте заявки в соответствии с процессом открытой платформы.
С подписью вы можете подать заявку в соответствии с процессом открытой платформы WeChat.мобильное приложениеТеперь это вторая картинка в этой статье, введите свою подпись и продолжайте шаг за шагом.
В итоге это выглядит следующим образом, что означает, что ваша заявка прошла успешно, и вы можете терпеливо ждать (три дня, никаких изменений, и прошло семь или восемь дней, и она была пересмотрена дважды, как требовалось):
После того, как обзор будет одобрен, вы можете подать заявку на вход в WeChat и другие функции.
Последнее, что нужно сказать, это то, что приложению или соответствующему веб-сайту доменного имени, представленному в вашей информации, не должен предоставляться интерфейс входа в систему, иначе проверка может завершиться неудачно, потому что они не могут войти, и, конечно, они не могут быть проверены, если они не могут его увидеть. .
6. Получите appid и appsecret
После того, как мобильное приложение будет одобрено, функция входа в WeChat будет автоматически открыта, а также есть такие функции, как обмен и отправка друзьям.В то же время вы также можете получить appid и appsecret, которые я храню все больше и больше и буду использовать для дальнейшей разработки.
7. Сортировка бизнес-процессов входа в Wechat
uniapp предоставляет API для входа в WeChat, но мы должны сначала понять процесс входа в WeChat, потому что вход в WeChat должен взаимодействовать с собственным бизнесом нашей системы. Я разобрал блок-схему здесь. Это изображение является частью общей блок-схемы выше. Вы можете обратиться к нему, чтобы помочь вам разработать связанные функции.
8. API-вызов службы входа в систему Wechat
Если вы выполните предыдущие шаги, чтобы получить информацию об AppId и AppSecret, следующим шагом будет выполнение этого процесса для разработки функции входа в WeChat. Чтобы разработать функцию входа в WeChat для версии приложения в uniapp, вам нужно позвонить в uni'sapi[6]и h5+api[7]. Вот пример кода напрямую:
onLoad() {
plus.oauth.getServices((services) => {
this.weixinAuthService = services.find((service) => {
return service.id === 'weixin'
})
});
},
methods: {
appWxLogin() {
var self = this;
this.weixinAuthService.authorize(function(res) {
//支持微信、qq和微博等
uni.login({
provider: 'weixin',
success: function(loginRes) {
// 微信用户信息存入本地,后期备用
var auth = null;
plus.oauth.getServices(function(services) {
auth = services.find((service) => {
return service.id === 'weixin'
});
try {
uni.setStorageSync('auth_service', auth)
} catch {
}
}, function(e) {
console.log(e);
});
if (loginRes.authResult) {
let access_token = loginRes.authResult.access_token;
let openid = loginRes.authResult.openid;
uni.request({
method: 'POST',
url: 'https://*********/wx-login/appwxlogin',
data: {
openid: openid
},
success: (res) => {
console.log(res);
//将openid存入本地缓存
uni.setStorage({
key: 'openid_key',
data: res.data.openid
});
if (res.statusCode == 200 && res.data && res.data.username) {
self.isFirstWXLogin = false;
self.name = res.data.username;
self.password = res.data.password;
setTimeout(function() {
self.tologin({
username: res.data.username,
password: res.data.password,
encrypted: true
})
}, 0)
} else {
//首次登录,跳转到一个绑定账号的页面
uni.navigateTo({
url: 'wxlogin'
});
}
},
fail: (error) => {
console.log(error);
},
complete: (e) => {
console.log(e);
}
})
} else {
}
},
fail(e) {
console.log(e);
},
complete(e) {
console.log(e);
}
});
}, function(error) {
console.log(error)
}, {
scope: 'snsapi_userinfo'
})
}
}
Несколько замечаний: 1. Сначала получите сервисный объект WeChat this.weixinAuthService. 2. Затем вызовите API-интерфейс авторизации — авторизуйтесь, а затем вызовите API-интерфейс uni.login. 3. После успешного выполнения uni.login, если вы хотите получить информацию о пользователе, вы можете вызвать uni.getUserInfo или plus.oauth.getServices.Последний представляет собой h5+ API, а первый также основан на инкапсуляции последнего. 4. Этот интерфейс (/wx-login/appwxlogin) в коде является локальным сервисом.Конкретное дело в том, чтобы занести openid в таблицу пользователя, чтобы его найти.Если его можно найти, значит пользователь привязал WeChat, и бэкенд возвращает информацию о пользователе.Войдите в систему напрямую, если он не найден, он вернется к подсказке, что вам нужно ввести имя пользователя и пароль для входа в систему, и этот процесс входа в систему должен принести openid и, наконец, вставить его в базу данных.
Этот вызов API и процесс развития бизнеса должен быть более понятным, я не буду больше рисовать здесь, я должен быть в состоянии понять это. Что ж, внедрение функции авторизации WeChat разработки uniapp на стороне Android завершено, если она вам полезна, ставьте лайк или помогите переслать! Спасибо за поддержку!
Использованная литература: