微信小程序 开放能力学习
1. 用户信息
小程序登录
使用微信的个人信息快速搭建用户体系,登录逻辑:小程序向微信获取code 给服务端生成用户。
说明
1. 小程序端调用 wx.login() 获取临时登录凭证 code,并传到服务端。
2. 服务端收到code 之后,调用 code2Session 接口,换取用户唯一标识 OpenID 和 回话密钥 session_key。之后开发服务器可以根据用户标识来生成自定义登录状态,用于后续业务逻辑中前后端交互时识别用户身份。
注意:
1. 回话密钥 session_key 是对用户数据进行加密签名的密钥,不要下发小程序端
2. 临时登录凭证只能用一次,这个特点应该各个平台都差不多。
UnionID 机制说明
只要是同一个微信开发平台账号下的移动应用、网站应用和公众账号,用户 UnionID是唯一的。所以尽可能将小程序绑定微信公众号,以便于识别用户身份。
可以使用 wx. 或者 cloud. 获取 UnionID。
授权
需要授权的接口按照 scope 区分,需要用户统一之后才可以调用。需要处理用户拒绝调用的情况。开发者可以使用 wx.getSetting 获取用户当前的授权状态。小程序端可以主动吊起设置。
开放数据校验与解密
微信会对开放数据进行 签名和加密处理,主要依赖于会话密钥 session_key。再次强调服务端不要把 session_key 传到小程序端和外部环境。
加密和解密 密钥属于服务端内容。
获取手机号
需要使用 wx.login 接口调用,需要使用 <button> 组件触发。并且不能过于频繁
需要避免 wx.login 导致用户信息刷新,应提前获取。
生物认证
指纹认证
2. 转发
转发
当用户进行转发的时候,可以获取相关转发的信息,比如群的标识。可以再页面中设置转发按钮。可以设置转发的图片,默认转发页面截图。
动态消息
发送给用户的消息。状态、文字内容和文字颜色。
3. 打开APP
这里也属于用户主动触发行为,需要使用 button 组件触发。需要客户端装sdk文件配合,主要应用是app内分享到微信的时候,以小程序的形式分享。
有多个场景,注意配合使用。
4. 消息
模板消息
通过服务通知,当用户使用小程序的时候可以触发,并且具备跳转能力。可以获取官方的模板,但是模板消息需要官方审核!!!
统一服务消息
服务消息有统一的接口调用。。。
客服消息
客服和小程序端是两个独立的界面,可以来回切换。还是用 button 点击触发
这个功能应该用的比较少,感觉商城类的需要沟通多一点,但是还是可以使用自助应答。
5. 卡券
认证之后的小程序才可以使用卡券!
可以对用户的卡券进行增删查
还有一个会员卡组件的事情,可以直接调用。
6. 获取小程序码
使用微信提供的接口,生成二维码。这个简单的
7. 数据分析
小程序的管理后台有提供数据分析,以及具体的数据,看起来还不错的样子。主要是趋势,留存,页面访问,自定义数据等。
8. 附近的小程序
这个需要向微信官方申请调高额度,对于需要推广小程序的还是很有必要的
9. 物流助手
微信基本和大多数快递公司合作,如果需要,推荐使用的功能。省事
微信小程序 开放能力学习的更多相关文章
- 微信小程序开发:学习笔记[2]——WXML模板
微信小程序开发:学习笔记[2]——WXML模板 快速开始 介绍 WXML 全称是 WeiXin Markup Language,是小程序框架设计的一套标签语言,结合小程序的基础组件.事件系统,可以构建 ...
- 微信小程序开发:学习笔记[7]——理解小程序的宿主环境
微信小程序开发:学习笔记[7]——理解小程序的宿主环境 渲染层与逻辑层 小程序的运行环境分成渲染层和逻辑层. 程序构造器
- 微信小程序开发:学习笔记[5]——JavaScript脚本
微信小程序开发:学习笔记[5]——JavaScript脚本 快速开始 介绍 小程序的主要开发语言是 JavaScript ,开发者使用 JavaScript 来开发业务逻辑以及调用小程序的 API 来 ...
- 微信小程序开发:学习笔记[4]——样式布局
微信小程序开发:学习笔记[4]——样式布局 Flex布局 新的布局方式 在小程序开发中,我们需要考虑各种尺寸终端设备上的适配.在传统网页开发,我们用的是盒模型,通过display:inline | b ...
- 微信小程序开发:学习笔记[3]——WXSS样式
微信小程序开发:学习笔记[3]——WXSS样式 快速开始 介绍 WXSS(WeiXin Style Sheets)是一套用于小程序的样式语言,用于描述WXML的组件样式,也就是视觉上的效果. WXSS ...
- 微信小程序开发:学习笔记[1]——Hello World
微信小程序开发:学习笔记[1]——Hello World 快速开始 1.前往微信公众平台下载微信开发者工具. 地址:https://mp.weixin.qq.com/debug/wxadoc/dev/ ...
- 微信小程序开发:学习笔记[9]——本地数据缓存
微信小程序开发:学习笔记[9]——本地数据缓存 快速开始 说明 本地数据缓存是小程序存储在当前设备上硬盘上的数据,本地数据缓存有非常多的用途,我们可以利用本地数据缓存来存储用户在小程序上产生的操作,在 ...
- 微信小程序开发:学习笔记[8]——页面跳转及传参
微信小程序开发:学习笔记[8]——页面跳转及传参 页面跳转 一个小程序拥有多个页面,我们可以通过wx.navigateTo推入一个新的页面.在首页使用2次wx.navigateTo后,页面层级会有三层 ...
- 微信小程序开放数据解密 AES-128-CBC 解密(C#版本)
最近在开发小程序,需要跟微信服务端交互,微信敏感数据都有加密返回,需要在服务端接收进行解密后再返回给客户端小程序,今天就通过C# 进行数据的解密,官方下载下来是Node.C++.php等,就是没有C# ...
随机推荐
- Uva 3902 Network
题目大意: 在非叶子节点上安装最少的服务器使得,每个叶子节点到服务器的距离不超过k. 贪心+图上的dfs. 先从深度最大的叶子节点开始找.找到父节点后再用这个父节点进行扩充. /* ********* ...
- php基础篇:echo 与 print 的区别
在实际使用中, print 和 echo 两者的功能几乎是完全一样.可以这么说,凡是有一个可以使用的地方,另一个也可以使用.但是,两者之间也还是一个非常重要的区别:在 echo 函数中,可以同时输出多 ...
- FZU1901 Period II —— KMP next数组
题目链接:https://vjudge.net/problem/FZU-1901 Problem 1901 Period II Accept: 575 Submit: 1495Time Lim ...
- vue中显示和隐藏导航
const router = new VueRouter({ mode: 'history', routes: [ { path: '/first', component: firstView, me ...
- vmware9虚拟机通过NAT上网方式设置
vmware虚机上网的网络连接方式有bridge.NAT.Host-only等,如果对这个不了解的可以学习这篇文章http://wangchunhai.blog.51cto.com/225186/38 ...
- codeforces 673D D. Bear and Two Paths(构造)
题目链接: D. Bear and Two Paths time limit per test 2 seconds memory limit per test 256 megabytes input ...
- [CQOI 2015] 任务查询系统
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3932 [算法] 首先 , 我们可以将(Si , Ei , Pi)转化为在Si处加入P ...
- 【CQOI2009】中位数图
[题目链接] 点击打开链接 [算法] 将小于m的数看作-1,大于m的看作1 然后求前缀和,如果区间[l,r]的中位数是m,显然有 : sum(r) - sum(l-1) = 0 因此,只需m的位置之前 ...
- angularJS ng-if的用法
ng-if主要是用来判断是否显示,也可以做为而者选择其中一个的方法,满足判断条件ng-if="变量名" 显示,否者不显示,也可以用ng-if="!变量名"取反, ...
- 【WIP】iOS Xcode基础
创建: 2018/04/18 Xcode基本操作 创建项目处的填空 Product Name 应用名 英语字母 Organization Name 公司/组织/个人名 英语字母 Organiz ...