小編給大家分享一下小程序中生成小程序碼的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
導(dǎo)語:
小程序是一種不需要下載安裝即可使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢(mèng)想,用戶掃一掃或者搜一下即可打開應(yīng)用。也體現(xiàn)了“用完即走”的理念,用戶不用關(guān)心是否安裝太多應(yīng)用的問題。應(yīng)用將無處不在,隨時(shí)可用,但又無需安裝卸載。
那么在小程序中,如何生成小程序碼?雖然小程序目前可以分享到朋友圈了的,但小程序碼的傳播無論是直接分享給好友,還是作為圖片分享,或是作為線下掃碼入口,都是引流的一種重要的入口。
實(shí)例效果:
具體實(shí)現(xiàn):
小程序端代碼,在view元素上綁定事件
小程序碼
小程序端邏輯代碼
Page({ data: {}, // 綁定的點(diǎn)擊事件函數(shù) onViewTap() { this.createQrCode(); // 調(diào)用生成小程序碼 }, // 生成小程序碼 createQrCode() { this.showLoading(); wx.cloud .callFunction({ // 請(qǐng)求云函數(shù) // 云函數(shù)getQrCode name: 'getQrCode', }) .then((res) => { console.log(res); const fileId = res.result; wx.previewImage({ // 小程序碼,生成后直接預(yù)覽,前臺(tái)展示 urls: [fileId], current: fileId, }); this.hideLoading(); }); }, // toast生成中 showLoading() { wx.showLoading({ title: '正在生成中...', icon: 'none', }); }, hideLoading() { wx.hideLoading(); }, });
在小程序端就上面幾行代碼
云函數(shù)端實(shí)現(xiàn)代碼
在cloudFunctions文件夾下創(chuàng)建getQrCode云函數(shù),會(huì)默認(rèn)創(chuàng)建config.json,index.js,package.json三個(gè)文件
其中config.json內(nèi)為
{ "permissions": { "openapi": [ "wxacode.getUnlimited" ] } }
上面的是利用wxacode.getUnlimited生成小程序碼的配置,這個(gè)配置是固定的
而index.js中如下代碼
// 云函數(shù)入口文件 const cloud = require('wx-server-sdk'); cloud.init(); // 云函數(shù)入口函數(shù) exports.main = async (event, context) => { const wxContext = cloud.getWXContext(); // 獲取上下文 const result = await cloud.openapi.wxacode.getUnlimited({ // 調(diào)用生成小程序碼的接口,攜帶一些參數(shù),例如:scene scene: wxContext.OPENID, }); // console.log(result) const upload = await cloud.uploadFile({ // 生成的小程序碼上傳到云存儲(chǔ)中 cloudPath: 'qrcode/' + Date.now() + '-' + Math.random() + '.png', // 生成的小程序碼存儲(chǔ)到云存儲(chǔ)當(dāng)中去,路徑 fileContent: result.buffer, }); return upload.fileID; // 返回文件的fileID,也就是該圖片 };
生成小程序碼就是上面幾行簡單的云函數(shù)代碼就可可以實(shí)現(xiàn),主要是利用wxacode.getUnlimited這個(gè)接口
獲取小程序碼,適用于需要的碼數(shù)量極多的業(yè)務(wù)場(chǎng)景。通過該接口生成的小程序碼,永久有效,數(shù)量暫無限制
以上是“小程序中生成小程序碼的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!