php小程序码生成并保存,小程序中如何生成小程序码
導語:
小程序是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或者搜一下即可打開應用。也體現了“用完即走”的理念,用戶不用關心是否安裝太多應用的問題。應用將無處不在,隨時可用,但又無需安裝卸載。
(學習視頻分享:編程入門)
那么在小程序中,如何生成小程序碼?雖然小程序目前可以分享到朋友圈了的,但小程序碼的傳播無論是直接分享給好友,還是作為圖片分享,或是作為線下掃碼入口,都是引流的一種重要的入口。
實例效果:
具體實現:
小程序端代碼,在view元素上綁定事件小程序碼
小程序端邏輯代碼Page({
data: {},
// 綁定的點擊事件函數
onViewTap() {
this.createQrCode(); // 調用生成小程序碼
},
// 生成小程序碼
createQrCode() {
this.showLoading();
wx.cloud
.callFunction({
// 請求云函數
// 云函數getQrCode
name: 'getQrCode',
})
.then((res) => {
console.log(res);
const fileId = res.result;
wx.previewImage({
// 小程序碼,生成后直接預覽,前臺展示
urls: [fileId],
current: fileId,
});
this.hideLoading();
});
},
// toast生成中
showLoading() {
wx.showLoading({
title: '正在生成中...',
icon: 'none',
});
},
hideLoading() {
wx.hideLoading();
},
});
在小程序端就上面幾行代碼
云函數端實現代碼
在cloudFunctions文件夾下創建getQrCode云函數,會默認創建config.json,index.js,package.json三個文件
其中config.json內為{
"permissions": {
"openapi": [
"wxacode.getUnlimited"
]
}
}
上面的是利用wxacode.getUnlimited生成小程序碼的配置,這個配置是固定的
而index.js中如下代碼// 云函數入口文件
const cloud = require('wx-server-sdk');
cloud.init();
// 云函數入口函數
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext(); // 獲取上下文
const result = await cloud.openapi.wxacode.getUnlimited({
// 調用生成小程序碼的接口,攜帶一些參數,例如:scene
scene: wxContext.OPENID,
});
// console.log(result)
const upload = await cloud.uploadFile({
// 生成的小程序碼上傳到云存儲中
cloudPath: 'qrcode/' + Date.now() + '-' + Math.random() + '.png', // 生成的小程序碼存儲到云存儲當中去,路徑
fileContent: result.buffer,
});
return upload.fileID; // 返回文件的fileID,也就是該圖片
};
生成小程序碼就是上面幾行簡單的云函數代碼就可可以實現,主要是利用wxacode.getUnlimited這個接口
獲取小程序碼,適用于需要的碼數量極多的業務場景。通過該接口生成的小程序碼,永久有效,數量暫無限制
相關文檔
結語
在小程序中生成小程序碼有兩種方式一種是https調用,另一種是云調用,在本文中就是使用的云調用最為簡單,免去了獲取access_token,免鑒權
在小程序端發起請請求生成小程序碼的云函數,云函數端借用云調用根據wxcode.getUnlimited這個接口生成小程序碼,然后上傳到云存儲中,返回云存儲中的圖片的fileID,在小程序端就可以拿到云函數端返回fileID,根據這個fileID把小程序碼展示出來.
總結
以上是生活随笔為你收集整理的php小程序码生成并保存,小程序中如何生成小程序码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android中拖拽浮动按钮,Andro
- 下一篇: 用php 用拼出一个菱形_这可是我没来过