微信小程序开发登录
微信小程序流程第一种
-
不登录可以查看的接口,前端直接请求 .
-
已登录才能请求的接口,如用户信息,用户订单,收藏等, 前端判断没有登录情况(storage中没有已登录状态)下直接跳转到登录页面(参数携带要去页面的链接,为了登录后跳转过去). 如果前端判断已登录直接请求接口,后端接口中也要判断是否登录(session中是否存在userid).
-
请求后端接口进行登录
-
如果是微信登录,接口返回未绑定账号密码,要跳转到绑定账号密码页(携带上一页参数),请求接口绑定账号密码, 后端绑定成功后,保存userid到session中,返回前端登录成功.
-
账号密码或验证码登录, 后端验证正确后,保存userid到session中,返回前端登录成功.
-
-
前端设置storage中状态为已登录.保存setcookie的值到storage.(不删除小程序的情况下永远都是登录状态,如果只保存为全局变量globaldata,小程序重新初始化就没了,还得重新登录.) 然后跳转到原来要去的页面,或者固定页面.
-
前端请求要登录的接口都要伪造cookie,携带storage中的sessionid.
微信小程序流程第二种方法
不关联账号,也可以操作. 缺点是不关联账号就看不到其他端(pc)收藏的文章. 收藏表字段为文章id,openid,用户id.
-
未登录时进行文章收藏或商品收藏, 直接进行微信登录(getuserinfo不用授权)wx.login获取code,请求后端接口解密验签获取openid.如果验签成功,后端进行openid和对应文章或商品数据新增到mysql.
-
未登录时点击我的收藏页面,直接进行微信登录(getuserinfo不用授权)wx.login获取code,请求后端接口解密验签获取openid.如果验签成功,后端使用openid查询mysql.