目標:
QR コードをリクエストして表示する
ステップ:
ユーザーがボタンをクリックして QR コードを生成する
ステップ:
1. WeChat アプレットがバックグラウンドから QR コードをリクエストする
2. ) WeChat アプレット情報に基づいて WeChat 側からトンケンをリクエストします
3. バックグラウンドでトンケンを取得した後、WeChat 側から QR コード画像をリクエストします
4. バックグラウンドで画像を取得した後、サーバーに保存します。 WeChat アプレットへのパスを返します
5. WeChat アプレットがパスを取得した後、画像をダウンロードするためのパスに従って、画像をローカルに保存します
7. 正常に保存された後、パスが表示されます。画像タグ内
コード:
wxml
<image></image> <button>点击生成二维码</button>s code
primary:function (e) { var _url = '后台地址'; wx.request({ url: _url, //请求报文体 data: [{ id: agentCode }], method: 'POST', header: { 'content-type': 'application/json' }, success: function (res) { //为00时表示成功,得到二维码的地址 if (res.data.code == '00') { console.log("成功") //下载二维码 wx.downloadFile({ url: res.data.body[0].URL, success: function (res) { //如果二维码中的id为固定值可以将图片保存到本地,否则不用保存 wx.saveFile({ tempFilePath: res.tempFilePath, success: function (res) { console.log("保存成功") _that.setData({ filePath: res.savedFilePath }) console.log(res.savedFilePath) try { //id为定值,则将保存的地址存入缓存,非定值则只需要setData就行 wx.setStorageSync('filePath', res.savedFilePath) } catch (e) { console.log(e) } }, fail: function (res) { console.log("保存失败") console.log(res) } }) }, fail: function (res) { util.msg("错误", "通讯失败") console.log(res) } }) } else { console.log("错误") util.msg("错误", res.data.msg) } }, fail: function () { util.msg("错误", "通讯失败") console.log(res) } }) }java 側コード
// 访问微信后台的URL String URL = systemConfig.getString("LoginOrRegisterUrl"); // 请求类型 String grant_type = systemConfig.getString("grant_type"); // 第三方用户唯一凭证密钥 String secret = systemConfig.getString("secret"); // 第三方用户唯一凭证 String appId = systemConfig.getString("appid"); // 请求token时用到的URL String tokenUrl = systemConfig.getString("tokenUrl"); // 向微信后台请求获取token String sendGet = HttpClientConnectionManager.sendGet( tokenUrl, "grant_type=" + grant_type + "&secret=" + secret + "&appid=" + appId + ""); System.out.println(sendGet); JSONObject json = JSONObject.fromObject(sendGet); access_token = json.get("access_token").toString(); if (access_token == null) { //没有token 则返回错误码和错误信息 agentDTO.setCode("0002"); agentDTO.setDesc("获取tokenId失败"); return agentDTO; } System.out.println(access_token); // 访问微信后台带的json参数 Map<string> map = new HashMap<string>(); map.put("path", "pages/register");//你二维码中跳向的地址 map.put("width", "430");//图片大小 JSONObject json = JSONObject.fromObject(map); HttpClientConnectionManager.httpPostWithJSON(URL + access_token, json.toString(), id + "max"); // 返回给前端的后台服务器文件读取路径 String downloadUrl = systemConfig .getString("agentImgDownloadUrl") + id + "max" + "/"; // 返回给前端的后台服务器文件下载路径 String downloadfileUrl = downloadUrl + id + "max" + ".jpg"; agentResView.setURL(downloadfileUrl); agentDTO.setAgentResView(agentResView); agentDTO.setCode("00"); agentDTO.setDesc("成功"); return agentDTO;</string></string>tip
1. 複数の QR コードを適用するには、for またはを使用します。
2. ID が定量的な場合は、filePath キャッシュが存在するかどうかを確認するたびに、値が直接表示されます。存在しない場合は、その値が背景に表示されます。 QRコードをリクエスト
以上がWeChat アプレット ユーザーがボタンをクリックして、QR コードのパラメーターを含むサンプル コードを生成します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ドリームウィーバー CS6
ビジュアル Web 開発ツール
