--------------------小程序多平台前端开发笔记-------------------- 微信多平台开发: 微信公众平台 包含:微信公众号 app微信登录 微信小程序 微信开放平台账号:可以将微信公众平台(微信公众号 app微信登录 微信小程序)关联起来的账号
openid:用户在某个平台的唯一标识 unionid:用户在某个微信开放平台账号的唯一标识 (openid和unionid无法区分请看文章底部举例,可全文Ctrl+F搜索"例子")
小程序三个重要环节(获取openid流程 获取UnionID流程 获取手机号流程)
--------------------过程-------------------- 小程序中获取openid可以静默获取,通过wx.login返回code值,code值调服务器接口解密返回openid(未授权则不包含unionid)
获取openid 可以静默获取(前端传递code到服务器,服务器调用auth.code2Session返回openid)
获取unionid 通过wx.login返回code值,用code去服务器换取seeionkey 用户授权设置后,会返回加密信息encryptedData和iv,把三个值传给服务端解密返回openid和unionid
解密手机号 通过wx.login返回code值,用code去服务器换取session_key 用户授权设置后,会返回加密信息encryptedData和iv,把三个值传给服务端解密返回openid和unionid
注意点: 需要提前获取session_key(建议onload的时候就获取session_key),防止刷新登录态 用户授权后,需要wx.checkSession检查session_key是否有效,无效则重新获取 -------------------结束--------------------
--------------------openid和unionid例子-------------------- 1.厉害公司 同时开发了 厉害app 厉害小程序 厉害微信公众号,但是没有注册微信开放平台把他们绑定在一起 结果:开发无法通过判断opednid是否是同一个人
此时,小明和小红同时使用了这三款产品
小明 openid 厉害app 1 厉害小程序 2 厉害微信公众号 3
小红 openid 厉害app 11 厉害小程序 22 厉害微信公众号 33
2.厉害公司 同时开发了 厉害app 厉害小程序 厉害微信公众号,但是注册微信开放平台把他们绑定在一起 结果:开发可以通过unionid判断用户在三个平台是否是同一个人
此时,小明和小红同时使用了这三款产品 小明 openid unionid 厉害app 1 1 厉害小程序 2 1 厉害微信公众号 3 1 小明 openid unionid 厉害app 11 2 厉害小程序 22 2 厉害微信公众号 33 2 --------------------openid和unionid例子--------------------
---------------------------其他问题----------------------------
使用微信支付,必须开通商户号,一个APPID可与多个商户号创立绑定关系,一个商户号可与50个appid授权绑定;绑定后,暂不支持解绑或换绑。小程序业务域名,最多支持20个可信域名,配置了一级域名不需要再次配置二级域名。