源文件地址:https://blog.csdn.net/weixin_41000111/article/details/105769336
理解
小程序码是只有微信小程序自己才能识别的一种码。微信的小程序码测试是测试不了的,只能是项目上线了才能看到效果。这个不是想搞事吗。(亲测啊)
后台的想法
小程序码参数长度是有限的。那么建议贵公司后台也能给通过设置一个参数,就是某个字段然后对应值。然后前端拿着这个值去查询数据库,里面就是存的相应数据(存路径等)。比如我公司就是使用id后面再跟着某个id值,后台只要生成小程序码直接拼好id值。下图是后台php代码
接招
根据上面的后台生成的,那么咱们就开始操作一番。下面进行详情讲解下怎么操作的。
第一步:将参数转义下
让后台给我id值,比如8505,然后使用参数进行生成模拟的参数。
- 姿势点:微信内好像只能使用 encodeURIComponent 与 decodeURIComponent,其他自己可以试一试
'scene=' + encodeURIComponent('id=8505')
如图
第二步:填写模拟参数
请安装下面的小步骤。注意:你操作的不是二维码,是小程序码。小程序码。小程序码
1. 先复制好第一步生成的值。
2. 点击开发工具内的 编译下拉框
3. 点击添加编译模式
4. 名称:选项,建议填写清楚(可选项)
5. 启动页面:必须是你在 app.json 里面首次进入的页面。
6. 启动参数:复制好的粘贴进去。
7. 进入场景:用于进入场景(可选)。
最后填写完成后,进行点击确定
第二点一步:整个流程截图
第三步:代码解析
那么开始我们代码块的地方了。哈哈哈哈
// 在入口的页面中进行写代码
let app = getApp(); //
// 代码块省略 ...
onLoad: function (options) {
// 判断当前是有参数的并且进入的场景有这些:
if (options.scene && (app.scene === 1047 || app.scene === 1048 || app.scene === 1049)) {
// 注意:优化点,字符串截取,能使用 slice 使用,千万别使用什么replace、split等,原因是耗时啊
var id = decodeURIComponent(options.scene).slice(9)
}
}
感谢分享。
写得很好。
虽然我一直都这么干的,但是要我表达出来我说不得没这么好。