小程序的登录流程是,用户先扫码进入系统,然后小程序调用wx.login()函数获取code(code是微信客户端实时生成的校验码),将code传入后端服务器。服务器使用code和小程序的appid、appsecret向微信服务器请求openid(微信用户的唯一识别码)。服务器拿到openid后,查询数据库的用户信息中是否存在该openid的用户。不存在就新建一条用户记录,将openid存入用户信息中,返回新建用户的id。使用用户id和openid生成token,将token和用户是否是新用户的标识传给小程序。通过axios的请求拦截器将token存入axios的http请求头authorization,这之后的请求,服务器都回验证token是否正确或过期,token验证失败则会拒绝请求。小程序通过标识判断用户是新用户,就向用户请求授权获取用户信息(头像和昵称),再将用户信息传给服务器,服务器将用户表内的用户昵称和头像更新后,再将新的用户信息传给小程序存储在全局状态中。