wx.login
- 通过wx.login获取到一个request code
- 请求第三方服务器登录url,请求的url需要带request code
- 第三方服务器根据获取的request code ,和小程序的AppID、SECRET组合,访问https://api.weixin.qq.com下某个url获取到session_key和openid,session_key是对数据进行价目签名的密钥,openid是对当前用户的唯一标识。
- (可选)第三方服务器需要自己产生一个session_id(或者其他token等),并用这个session_id作为key,session_key和openid作为value,保存到第三方服务器session或者是redis中,最好设置一个比较短的过期时间,因为大部分情况下只是使用微信数据,不需要长期使用。
- (可选)将第三方返回session_id或者token保存到本地,需要的时候带上这个参数,第三方服务器就可以根据这个参数,获取到session_key和openid
wx.checkSession
每次使用request code之前通常会检验request code是否过期,如果过期,需要重新调用wx.login登录获取新的request code。
获取用户信息
通过wx.getUserInfo可以获取到用户的信息,到时候有部分敏感数据并看不到,这个时候就需要,我们把获取到的加密数据作为请求发送给第三方服务器,第三方服务器使用session_key解密后,就可以获取到部分敏感数据了,用户根据自己的需求进行处理。
微信支付
微信支付的步骤
- 统一下单
- 通过appid、nonceStr、package、signType和timeStamp这5个字段进行数据签名
- 使用wx.requestPayment方法发起支付请求
基本流程是微信小程序使用wx.request方法调用,第三方服务器的url,这个url在服务端通过https://api.mch.weixin.qq.com/pay/unifiedorder下单,这个url需要传递大量的信息,例如小程序的id、商家好,金额等(https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1),如果下单成功,会返回package,然后再将package返回给小程序,最后调用wx.requestPayment发起支付请求,如果发起支付请求成功,会直接开启微信的支付功能,要求输入支付密码,如果密码正确,会支付成功。
布局
- 水平排列 display:flex ,flex-direction:row 水平折行需要添加flex-wrap:wrap,
- 垂直排列 display:flex,flex-direction:column 垂直折行需要添加flex-wrap:wrap
- 水平排列对齐方式使用justify-content:(属性很多,自己根据情况配置,例如flex-start)
- 垂直排列对齐方式使用align-items属性(属性很多,自己根据情况配置,例如flex-end)
- 水平等间隔排列设置justify-content:space-between
- 带边距的水平等间隔排列justify-content:space-around
其他
- 微信统一WeUI
- 图表 wx-charts (https://github.com/xiaolin3303/wx-charts)下载js导入工程就可以使用了
更多基础参考微信小程序官网