微信小程序开发登录

微信小程序流程第一种

只有获取到用户userid作为登录成功的标准. 小程序获取的数据和pc,app等都是一致的,使用userid获取的. 收藏表字段为文章id,用户id.

  1. 不登录可以查看的接口,前端直接请求 .

  2. 已登录才能请求的接口,如用户信息,用户订单,收藏等, 前端判断没有登录情况(storage中没有已登录状态)下直接跳转到登录页面(参数携带要去页面的链接,为了登录后跳转过去). 如果前端判断已登录直接请求接口,后端接口中也要判断是否登录(session中是否存在userid).

  3. 请求后端接口进行登录

    1. 如果是微信登录,接口返回未绑定账号密码,要跳转到绑定账号密码页(携带上一页参数),请求接口绑定账号密码, 后端绑定成功后,保存userid到session中,返回前端登录成功.

    2. 账号密码或验证码登录, 后端验证正确后,保存userid到session中,返回前端登录成功.

  4. 前端设置storage中状态为已登录.保存setcookie的值到storage.(不删除小程序的情况下永远都是登录状态,如果只保存为全局变量globaldata,小程序重新初始化就没了,还得重新登录.) 然后跳转到原来要去的页面,或者固定页面.

  5. 前端请求要登录的接口都要伪造cookie,携带storage中的sessionid.

微信小程序流程第二种方法

不关联账号,也可以操作. 缺点是不关联账号就看不到其他端(pc)收藏的文章. 收藏表字段为文章id,openid,用户id.

  1. 未登录时进行文章收藏或商品收藏, 直接进行微信登录(getuserinfo不用授权)wx.login获取code,请求后端接口解密验签获取openid.如果验签成功,后端进行openid和对应文章或商品数据新增到mysql.

  2. 未登录时点击我的收藏页面,直接进行微信登录(getuserinfo不用授权)wx.login获取code,请求后端接口解密验签获取openid.如果验签成功,后端使用openid查询mysql.

 
原文地址:https://www.cnblogs.com/jackduan/p/14872206.html