微信小程序的场景值scene
根据微信小程序返回给我们的场景值,我们可以根据不同的场景做出不同的处理,更加方便我们对使用场景的划分
当前支持的场景值有:
:发现栏小程序主入口,“最近使用”列表(基础库2..4版本起将包含“我的小程序”列表)
:顶部搜索框的搜索结果页
:发现栏小程序主入口搜索框的搜索结果页
:单人聊天会话中的小程序消息卡片
:群聊会话中的小程序消息卡片
:扫描二维码
:长按图片识别二维码
:手机相册选取二维码
:小程序模版消息
:前往体验版的入口页
:微信钱包
:公众号 profile 页相关小程序列表
:聊天顶部置顶小程序入口
:安卓系统桌面图标
:小程序 profile 页
:扫描一维码
:附近小程序列表
:顶部搜索框搜索结果页“使用过的小程序”列表
:我的卡包
:卡券详情页
:自动化测试下打开小程序
:长按图片识别一维码
:手机相册选取一维码
:微信支付完成页
:公众号自定义菜单
:App 分享消息卡片
:小程序打开小程序
:从另一个小程序返回
:摇电视
:添加好友搜索框的搜索结果页
:公众号模板消息
:带 shareTicket 的小程序消息卡片
:朋友圈广告
:朋友圈广告详情页
:扫描小程序码
:长按图片识别小程序码
:手机相册选取小程序码
:卡券的适用门店列表
:搜一搜的结果页
:顶部搜索框小程序快捷入口
:音乐播放器菜单
:钱包中的银行卡详情页
:公众号文章
:体验版小程序绑定邀请页
:微信连Wi-Fi状态栏
:公众号文章广告
:附近小程序列表广告
:移动应用
:钱包中的银行卡列表页
:二维码收款页面
:客服消息列表下发的小程序消息卡片
:公众号会话下发的小程序消息卡片
:摇周边
:连Wi-Fi成功页
:微信游戏中心
:客服消息下发的文字链
:公众号会话下发的文字链
:朋友圈广告原生页
:微信聊天主界面下拉,“最近使用”栏(基础库2..4版本起将包含“我的小程序”栏)
:长按小程序右上角菜单唤出最近使用历史
:公众号文章商品卡片
:城市服务入口
:小程序广告组件
:聊天记录
:微信支付签约页
:页面内嵌插件
:公众号 profile 页服务预览
可以在 App 的 onLaunch 和 onShow 中获取上述场景值,部分场景值下还可以获取来源应用、公众号或小程序的appId
我们可以在onLaunch, onShow函数中获取到场景值.
onLaunch, onShow 参数
字段 | 类型 | 说明 |
---|---|---|
path | String | 打开小程序的路径 |
query | Object | 打开小程序的query |
scene | Number | 打开小程序的场景值 |
shareTicket | String | |
referrerInfo | Object | 当场景为由从另一个小程序或公众号或App打开时,返回此字段 |
referrerInfo.appId | String | 来源小程序或公众号或App的 appId |
referrerInfo.extraData | Object | 来源小程序传过来的数据,scene=1037或1038时支持 |
这里来做一个简单的场景说明:微信小程序免密签约微信
App({
onShow(res) {
if (res.scene === ) { // 场景值1038:从被打开的小程序返回
const { appId, extraData } = res.referrerInfo
if (appId == 'wxbd687630cd02ce1d') { // appId为wxbd687630cd02ce1d:从签约小程序跳转回来
if (typeof extraData == 'undefined'){
// TODO
// 客户端小程序不确定签约结果,需要向商户侧后台请求确定签约结果
return;
}
if(extraData.return_code == 'SUCCESS'){
// TODO
// 客户端小程序签约成功,需要向商户侧后台请求确认签约结果
var contract_id = extraData.contract_id
return;
} else {
// TODO
// 签约失败
return;
}
}
}
}
})
微信小程序的场景值scene的更多相关文章
- 关于微信小程序的场景值
微信小程序 “场景值” 对运营同学和产品比较有用一般开发者需在这里埋点,获取场景址,看一下小程序,用户一般从哪个路口进的有利于提升产品体验
- 微信小程序 传值取值的方法总结
微信小程序 传值取值的几种方法总结 列表index下标取值 页面传值 form表单取值 1. 列表index下标取值 实现方式是:data-index="{{index}}"挖坑及 ...
- 微信小程序使用场景及取名“潜”规则
微信小程序使用场景举例: 1.查看公交 2.登记.选座 3.订票 4.K歌.叫代驾 5.快递查询 6.查看天气 7.医院挂号.拿药.缴费 8.加油充电 9.政务服务 微信公众号“数据三观”认为,小程序 ...
- 微信小程序使用场景延伸:扫码登录、扫码支付
微信小程序使用场景延伸:扫码登录.扫码支付 小程序最适合的使用场景有哪些?相比大家能列举出来很多,但这个场景,大家可能多数没想到_^ 笔者团队近期接到了一个PC项目:转转游戏租号PC官网,该项目要求在 ...
- 微信小程序入口场景的问题整理与相关解决方案
前言 最近一段时间都在做小程序. 虽然是第二次开发小程序,但是上次做小程序已经是一年前的事了,所以最终还是被坑得死去活来. 这次是从零开始开发一个小程序,其实除了一些莫名其妙的兼容性问题,大多数坑点都 ...
- 怎么掌握微信小程序的取值、传值、数据存储
小程序界面设定如下 父级页面:A界面 子级页面:B界面 异级页面:C界面 一.本页面取值(A界面→A界面) a.例如:input输入文字获取到value(键盘输入时触发) wxml: <inpu ...
- 微信小程序windowHeight的值在ios和android平台不一致问题解决办法
开发中遇到一个业务需求,需要把页面顶部.底部固定,中间的scroll-view内部滚动.要满足这个需求,需要根据屏幕高度计算中间的scroll-view高度.结果悲催地发现,使用 wx.getSyst ...
- 微信小程序获取自定义属性值
写小程序的时候用到了自定义属性,特地来记录一下 特别是这个坑,必须得说一说 wxml <view class='box' bindtap='getValue'> <view clas ...
- 微信小程序传值取值的几种方法
一,列表index下的取值 实现方式是:data-index="{{index}}"挖坑及e.currentTarget.dataset.index来填坑即可 1.1生成值 < ...
随机推荐
- mybatis+mysql批量插入和批量更新
一.批量插入 批量插入数据使用的sql语句是: insert into table (字段一,字段二,字段三) values(xx,xx,xx),(oo,oo,oo) mybatis中mapper.x ...
- BZOJ 5496: [2019省队联测]字符串问题 (后缀数组+主席树优化建图+拓扑排序)
题意 略 分析 考场上写了暴力建图40分溜了-(结果只得了30分) 然后只要优化建边就行了 首先给出的支配关系无法优化,就直接A向它支配的B连边. 考虑B向以B作为前缀的所有A连边,做一遍后缀数组,两 ...
- 给json数组添加新字段并赋值
zNodes.forEach(function(item) { item.newtitle ="点击加号设为主席会场"; });
- 046_Shell 脚本的 fork 炸弹
#!/bin/bash#快速消耗计算机资源,致使计算机死机#定义函数名为.(点), 函数中递归调用自己并放入后台执行.() {.|.& };.
- C++基础--if/else和switch/case的区别
if和switch的区别: 一.语句的格式: if/else的写法格式如下: int nA, nB; scanf_s("%d", &nA); //输入整数并赋值给变量a s ...
- [Luogu] 程序自动分析
题面:https://www.luogu.org/problemnew/show/P1955 题解:https://www.zybuluo.com/wsndy-xx/note/1143858
- LibreOJ #6000. 「网络流 24 题」搭配飞行员
二次联通门 : LibreOJ #6000. 「网络流 24 题」搭配飞行员 /* LibreOJ #6000. 「网络流 24 题」搭配飞行员 二分图最大匹配 Dinic最大流 + 当前弧优化 */ ...
- DEVICE_ATTR设置设备属性
DEVICE_ATTR设置设备属性 为了在sysfs下生成可控节点,方便上层调用. sysfs是一个基于RAM的文件系统,它和Kobject一起,可以将Kernel的数据结构导出到用户空间,以文件目录 ...
- 1626:【例 2】Hankson 的趣味题
1626:[例 2]Hankson 的趣味题题解 [题目描述] Hanks 博士是 BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫 Hankson.现在,刚刚放学回家的 Hankson ...
- jinja2-宏,include, import
一 宏 宏类似常规编程语言中的函数.它们用于把常用行为作为可重用的函数,取代 手动重复的工作.如果宏在不同的模板中定义,你需要首先使用 import,比如 {% macro input(name, v ...