微信小程序 > 微信公开课 > 微信小程序退出账号怎么实现
微信小程序,微信公开课,微信小程序退出账号怎么实现

微信小程序退出账号怎么实现

2019-03-12 17:01:43

微信公开课小程序热门讨论「微信小程序退出账号怎么实现」最新回复-微信小程序退出账号的前提条件是用户已登陆,且在前端页面和后端服务已记录了用户的登陆状态。退出登陆的操作,相当于清除用户登陆状态的操作。因此微信小程序实现退出账号的具体流程包括以下几点:1、用户登陆操作:(1)微信小程序调用wx.login获取登录凭证(code)。(2)将code传递到后端服务,通过凭证进而换取用户登录态信息,包括用户的唯一标识(openid),并生成与用户一一对应的token值,保存起来,用作用户身份的校验,同时返回给微信小程序客户端。(3)微信小程序获取到token令牌,保存到本地,即可作为已登陆状态的凭证。前端代码为:constlogin=function(){wx.showLoading({title:登陆中})wx.login().then(res={if(res.errMsg===login:ok){Api.login(res.code).then(data={wx.hideLoading()wx.setStorageSync(token,data)})}})}后端服务代码为:asynclogin(jsCode){const{ctx,app}=this;constAPPID=app.config.miniProgram.appId;constSECRET=app.config.miniProgram.appSecret;consturl=`https://api.weixin.qq.com/sns/jscode2session?appid=${APPID}&secret=${SECRET}&js_code=${jsCode}&grant_type=authorization_code`;constres=awaitctx.curl(url,{method:GET,dataType:json});constopenid=res.data.openid;constsession_key=res.data.session_key;conststr=awaitapp.redis.get(openid);if(str&&JSON.parse(str).accessToken){//已登陆constoldAccessToken=JSON.parse(str).accessToken;awaitapp.redis.del(oldAccessToken);//删除token,实现单点登陆awaitapp.redis.del(openid);}constaccessToken=awaitctx.helper.createWxToken(openid,session_key);//生成新的tokenreturnaccessToken;}2、退出登陆操作:(1)点击“退出账号”按钮,调用ajax请求后端退出登陆接口并传递用户token,若退出成功,则清除当前用户登陆状态和token信息。(2)刷新当前页面数据,清除页面上的用户信息。(3)后端API接收到客户端传递的用户token,查询数据库判断用户是否已登陆,若登陆,则删除或将token置为无效。前端代码为:constlogout=function(){wx.showLoading({title:退出登陆中})consttoken=wx.getStorageSync(token)Api.logout({token:token}).then(data={wx.hideLoading()wx.removeStorageSync(token)refreshPageData()})}后端代码为:asynclogout(accessToken){const{ctx,app}=this;constuserId=awaitapp.redis.get(accessToken);if(!userId)ctx.throw(400,登陆状态已失效);awaitapp.redis.del(userId);//删除userIdawaitapp.redis.del(accessToken);//删除token}扩展资料:1、微信小程序账号密码登陆和授权登陆后,token保存在loacalStore中,在每次加载接口时,携带上token令牌,向服务端传递已登陆的状态。2、微信小程序退出登陆需清除登陆状态,当调用微信小程序API中的wx.login()执行登陆操作,通过登陆接口获取到code后需调用后端接口生成token,由于安全问题,勿在前端使用密钥生成。在执行退出登陆操作时,需清除localStorage中缓存的token及用户信息,并刷新当前页面数据。
我并没有写过这个功能 但是我觉得大体的思路可能是在缓存中缓存了一个是否登录的变量(设为isLogin)在我的界面中以及下单的页面会判断isLogin的值  来限制用户是否可以进行下一步的操作当用户登录的时候会把一些信息(这些信息应该也是存在缓存中)返回来并并且将isLogin的值改为登录状态而当退出的时候就将isLogin的状态改为未登录,并且将登录时返回的信息删除本回答被提问者采纳 更多有关「微信小程序退出账号怎么实现」的疑问请扫码关注微信公开课+小程序!
标签:微信公开课,小程序
微信小程序,微信公开课,微信小程序退出账号怎么实现

「微信小程序退出账号怎么实现」热议话题订阅

方法1:微信扫描微信公开课小程序码即可订阅热议话题「微信小程序退出账号怎么实现」

方法2:微信搜索微信公开课小程序名称进入,即可订阅热议话题「微信小程序退出账号怎么实现」

方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热议话题「微信小程序退出账号怎么实现」

微信公开课小程序热议话题「微信小程序退出账号怎么实现」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。

微信公开课热议话题「微信小程序退出账号怎么实现」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。