Кто знал, что QRCode теперь будет ВЕЗДЕ в Китае. В 2009 году первая реализация QRCode в Китае была на билетах на поезд, чтобы предотвратить подделку билетов.
Теперь вы не можете прожить и дня, не увидев QRCode в Китае. Вы видите это в ресторанах, на велосипедах, в билетах в кино и даже в туалетах, если хотите сообщить о сломанных киосках.
Поэтому, когда ваши пользователи сканируют QR-код, чтобы открыть вашу мини-программу, вы не хотите упускать возможность сделать ее персонализированной и сразу по делу.
Говоря сразу к делу, если вы разработчик и хотите, чтобы код сам все понял.
Вот репо: https://github.com/davidyu37/generate-mp-qrcode
Официальный документ: https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.createQRCode.html
Если вы не технический специалист, вот несколько веб-сайтов, которые помогут вам сгенерировать динамический QR-код для вашей мини-программы:
Что мне нужно?
Чтобы сгенерировать динамический QR-код для вашей мини-программы, вам потребуется:
- ID приложения
- Секрет приложения
- Опубликованная мини-программа
* Примечание: вы все равно можете сгенерировать изображение QRCode с неопубликованной мини-программой или учетной записью песочницы, но вы увидите что-то вроде этого:
Как получить AccessToken?
GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$APPID&secret=$APPSECRET
Почему существует три разных API?
Чтобы создать QRCode, вы можете сделать запрос:
POST https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN
Или это:
POST https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN
Или это:
POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
Вот почему так сложно делать то, что должно быть простым. Но не волнуйтесь, я объясню каждую.
Обычный QR-код
POST https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN
Вы получите квадратный QRCod, который можно сгенерировать до 100000
Tencent на самом деле не рекомендует это, потому что это не похоже на QR-код мини-программы.
Params
{
path:"page/index/index",
width:430
}
path
- это страница, которую вы хотите, чтобы ваша мини-программа открывала при сканировании пользователями.
Ширина по умолчанию составляет 430 пикселей. Мин: 280 пикселей Макс: 1280 пикселей
Циркулярный, но ограниченный
POST https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN
Вы получите круговой QR-код, также до 100000.
Params
{
path: 'pages/index/index',
width: 430,
auto_color: false,
line_color: { r: '000', g: '000', b: '000' },
is_hyaline: false,
}
path
и width
такие же, как указано выше.
Когда auto_color
истинно, линии по умолчанию черные.
Если вы хотите установить свой собственный цвет, убедитесь, что для auto_color
установлено значение false.
is_hyaline
означает, хотите ли вы, чтобы ваше изображение было прозрачным или нет.
Циркуляр, неограниченный
POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
Params
{
scene: 'parameter_on_load',
path: 'pages/index/index',
width: 430,
auto_color: false,
line_color: { r: '000', g: '000', b: '000' },
is_hyaline: false,
}
Это почти то же самое, что и выше, за исключением параметра scene
и неограниченного количества.
scene
- это дополнительные параметры, которые вы хотите включить в свой QR-код.
Вы можете получить доступ к scene
в методе onLoad
в мини-программе
Page({
onLoad (query) {
const scene = decodeURIComponent(query.scene)
}
})
Что использовать?
На мой взгляд, последний запрос кажется наиболее полным и не имеет ограничений, поэтому я не уверен, почему у Tencent вообще есть две другие конечные точки API.
Использовать это:
POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN