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小程序码生成并保存,小程序中如何生成小程序码相关推荐
- python随机密码生成在26个字母中随机生成10个_习题6:二.3 随机密码生成
编写程序在26个字母大小写和9个数字组成的列表中随机生成10个8位密码. import random num_ls = [] # 创建数字.小写字母.大写字母空列表 str_ls = [] STR_l ...
- maven生成html单元测试报告,Maven中配置生成单元测试报告配置
对junit单元测试的报告: 1. ------------------------------------------------------- 2. T E S T S 3. ------ ...
- doc自动生成html,java web应用中自动生成文章html页面的实现.doc
java web应用中自动生成文章html页面的实现 java web应用中自动生成文章html页面的实现 2009-11-09 00:24:15 标签:web开发,页面转换 [推送到技术圈] 版权声 ...
- vuejs中html2canvas使用 背景图和二维码海报图片保存到一张图片上 生成一张海报并下载
不少的项目中都用到了二维码加背景图片生成海报的宣传图片,实现方法就是canvas绘制到一张上后进行下载.html2canvas的技巧在这里不在讲解. 二维码和背景图片进行定位. 在传统场合,这类功能往 ...
- 蓝牙小电池图标_方寸间、掌握中,omthing小方盒开箱测评
市面上的蓝牙耳机越来越多,每一款都让"打工人"感觉到迷惑,到底什么是最好?什么才是最适合"打工人"的耳机?今天我们开箱的这款万魔声学旗下品牌omthing的首款 ...
- 如何用python控制电脑的应用程序打不开_如果电脑中的一个应用程序打不开,点击图标没反应,能否将其强制打开...
您好!出现:0x???????? 指令引用的0x????????内存.该内存不能为"read"或"written".答案[shijan8原创]★严禁复制★ [1 ...
- Maui Blazor windows程序无法通过双击 bin 文件夹中的 exe打开程序的解决办法
使用Visual Studio创建了一个.NET Maui Blazor 应用,通过Visual Studio调试Windows应用时,需要打开开发者模式 打开开发者模式,调试一切正常,但如果直接 ...
- python 生成html文件浏览器,pycharm中怎么生成HTML文档并在浏览器查看HTML文档
首先,介绍一下Python自带的pydoc模块,该模块能帮助我们生成以及查看HTML文档.(在控制台查看文档B格差了那么一丢丢,俺就没兴趣勒)待会能够熟练使用pydoc以后我们便可以直接在浏览器上打开 ...
- np中meshgrid生成二维矩阵matplotlib中imshow生成图形
numpy中meshgrid函数接收两个一维数组,并产生两个二维矩阵 import numpy as np points=np.arange(-5,5,0.01) #生成1000个间隔相等的点 xs, ...
- 更方便!微信小程序任务栏功能升级:增加「我的小程序」
为了让用户更方便地使用小程序,微信公众平台今天宣布,升级小程序任务栏功能.新功能将支持用户打开最近使用过的小程序和「我的小程序」,「我的小程序」的个数上限将提高到 50 个. 此外,原有的星标功能,将 ...
最新文章
- c++ 11 多线程处理(1)
- mysql删除数据后id自增不连续的解决方法
- jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法
- RabbitMQ(七):常用方法说明 与 学习小结
- c语言 typedef_C Typedef-能力倾向问题与解答
- 边缘计算精华问答 | 为什么需要边缘计算?
- C—蓝彗星(差分问题)
- 谷歌浏览器中打开IE
- linux启动本地远程服务,如何使用SSH在本地控制远程服务器执行命令
- 第 14 章 SMS
- 超好用的网页浮动广告代码
- 2019京东全球科技探索者大会议程抢先曝光!
- java中三元运算符_java中的三元运算符详解
- Java实现 洛谷 P1064 金明的预算方案
- 你真的会冲奶粉吗?3步正确冲泡奶粉,合理避开4个常见的误区
- Java项目:图书管理系统(java+JSP+layui+bootstrap+Servlet+Mysql)
- Win10下搭建绿色版基于WAMP的PHP开发环境
- Win32中设置窗体失去焦点,并重新获取焦点
- Python编写一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
- plt.scatter 中cmap参数详解
热门文章
- go语言 mysql卡死_一次mysql死锁的排查过程-Go语言中文社区
- flag的具体用法python_Python Qt.WindowFlags方法代码示例
- 在python中可以使用for作为变量名对吗_python能用一个变量的值作为另一个变量的变量名吗?...
- c语言中怎么暂停一个一个游戏,求助:最近在linux下用c语言写了一个贪吃蛇程序,有几个问题,第一:贪吃蛇怎么实现暂停,第二:有时候同时输入上下左右中的两个键就会直接游戏结束...
- win8无线网络受限怎么办 win8网络受限的解决方法
- C/C++如何快速区分指针数组|数组指针|函数指针|指针函数
- push_back还是emplace_back?
- spring boot配置dubbo注意事项
- 小米手机上安装https证书(例如pem证书,crt证书)详解
- scanf 接收 空格 输入_如何允许使用scanf输入空格?