微信小程序

登录流程

实现⼩程序⽤⼾体系主要涉及到 openid 和 code 的概念:
调⽤ wx.login() ⽅法会⽣成 code ,将 code 作为参数传递给微信服务器指定接⼝,就可以
获取⽤⼾的 openid对于每个⼩程序,微信都会将⽤⼾的微信 ID 映射出⼀个⼩程序 openid ,作为这个⽤⼾在这个⼩程 序的唯⼀标识

微信截图_20240816114134.png

  1. 通过 wx.login() 获取到⽤⼾的code判断⽤⼾是否授权读取⽤⼾信息,调⽤wx.getUserInfo 读取⽤

⼾数据

  1. 由于⼩程序后台授权域名⽆法授权微信的域名,所以需要⾃⾝后端调⽤微信服务器获取⽤⼾信息
  2. 通过 wx.request() ⽅法请求业务⽅服务器,后端把 appid , appsecret 和 code ⼀起发送到微信服

务器。 appid 和 appsecret 都是微信提供的,可以在管理员后台找到

  1. 微信服务器返回了 openid 及本次登录的会话密钥 session_key
  2. 后端从数据库中查找 openid ,如果没有查到记录,说明该⽤⼾没有注册,如果有记录,则继续往

下⾛。

  1. session_key 是对⽤⼾数据进⾏加密签名的密钥。为了⾃⾝应⽤安全,session_key 不应该在⽹络

上传输

小程序发布

上传代码

image.png
image.png

提交审核

:::info
代码上传完毕,就可以登陆微信公众号的官⽹⾸⻚,点击【开发管理】,查看应⽤详情
:::
image.png

发布版本

image.png

支付流程

wx.login()获取登录凭证–》将下单商品信息以及openid发送给后端–》后端返回预付单信息(prepay_id)–》调用wx.requestPayment()进行微信支付

image.png
• wx.login获取⽤⼾临时登录凭证code,发送到后端服务器换取openId
• 在下单时,⼩程序需要将购买的商品Id,商品数量,以及⽤⼾的openId传送到服务器
• 服务器在接收到商品Id、商品数量、openId后,⽣成服务期订单数据,同时经过⼀定的签名算法,
向微信⽀付发送请求,获取预付单信息(prepay_id),同时将获取的数据再次进⾏相应规则的签名,
向⼩程序端响应必要的信息
• ⼩程序端在获取对应的参数后,调⽤wx.requestPayment()发起微信⽀付,唤醒⽀付⼯作台,进⾏
⽀付
• 接下来的⼀些列操作都是由⽤⼾来操作的包括了微信⽀付密码,指纹等验证,确认⽀付之后执⾏鉴
权调起⽀付
• 鉴权调起⽀付:在微信后台进⾏鉴权,微信后台直接返回给前端⽀付的结果,前端收到返回数据后
对⽀付结果进⾏展⽰
• 推送⽀付结果:微信后台在给前端返回⽀付的结果后,也会向后台也返回⼀个⽀付结果,后台通过
这个⽀付结果来更新订单的状态

wx.requestPayment({
  // 时间戳
  timeStamp: '',
  // 随机字符串
  nonceStr: '',
  // 统⼀下单接⼝返回的 prepay_id 参数值
  package: '',
  // 签名类型
  signType: '',
  // 签名
  paySign: '',
  // 调⽤成功回调
  success () {},
  // 失败回调
  fail () {},
  // 接⼝调⽤结束回调
  complete () {}
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值