退出微信的代码怎么写( 二 )


(3)后端api接收到客户端传递的用户token,查询数据库判断用户是否已登陆,若登陆,则删除或将token置为无效 。前端代码为:const logout = function () { 。
wx.showloading({ title: '退出登陆中' }) 。const token = wx.getstoragesync('token') 。
api.logout({ token: token }).then(data => { 。wx.hideloading() 。
wx.removestoragesync('token') 。refreshpagedata() 。
})} 。后端代码为:async logout(accesstoken) { 。
const { ctx, app } = this 。const userid = await app.redis.get(accesstoken) 。
if ( 。userid) ctx.throw(400,'登陆状态已失效') 。
await app.redis.del(userid) 。// 删除userid 。
await app.redis.del(accesstoken) 。// 删除token 。
3. 微信怎么退出程序 一、设置里面,退出微信;
二、也可以利用手机软件里的优化工具进行优化微信后台运行程序;
三、1、首先打开微信程序,切换到“设置”选项卡,点击“功能”选项进入 。
2、在打开的“功能”窗口中,选择“QQ离线 。最后点击“停用”按钮 。
3、在接下来打开的“功能设置”窗口中,取消勾选“接收离线消息”和“在QQ上显示微信在线” 。最后点击“停用”按钮 。
4、接着在弹出的“警告”窗口中点击“清空并卸载”按钮 。
5、该功能成功停用后,就会显示“QQ离线助手未启用”的提示 。
6、接下来返回“设置”界面,点击“我的账号”按钮 。
7、在打开的“我的账号”窗口中点击“QQ号”选项 。
8、并在随后弹出的窗口中点击“解除绑定”按钮 。
9、接着再返回“设置”选项卡,点击“退出登陆”按钮 。
10、在弹出的“警告”窗口中点击“退出登陆”按钮 。
4. 微信小程序退出账号怎么实现 微信小程序退出账号的前提条件是用户已登陆,且在前端页面和后端服务已记录了用户的登陆状态 。
退出登陆的操作,相当于清除用户登陆状态的操作 。因此微信小程序实现退出账号的具体流程包括以下几点:1、用户登陆操作:(1)微信小程序调用wx.login获取登录凭证(code) 。
(2) 将code传递到后端服务,通过凭证进而换取用户登录态信息,包括用户的唯一标识(openid),并生成与用户一一对应的token值,保存起来,用作用户身份的校验,同时返回给微信小程序客户端 。(3)微信小程序获取到token令牌,保存到本地,即可作为已登陆状态的凭证 。
前端代码为:const login = 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) }) 。}})} 。
后端服务代码为:async login(jscode) { 。const { ctx, app } = this 。
const appid = app.config.miniprogram.appid 。const secret = app.config.miniprogram.appsecret 。
const url = `/sns/jscode2session 。appid=${appid}&secret=${secret}&js_code=${jscode}&grant_type=authorization_code` 。
const res = await ctx.curl(url, { method: 'get', datatype: 'json' }) 。const openid = res.data.openid 。
const session_key = res.data.session_key 。const str = await app.redis.get(openid) 。
if (str && json.parse(str).accesstoken) { // 已登陆 。const oldaccesstoken = json.parse(str).accesstoken 。
await app.redis.del(oldaccesstoken) 。// 删除token,实现单点登陆 。
await app.redis.del(openid) 。} 。
const accesstoken = await ctx.helper.createwxtoken(openid, session_key) 。// 生成新的token 。
return accesstoken 。} 。
2、退出登陆操作:(1)点击“退出账号”按钮,调用ajax请求后端退出登陆接口并传递用户token,若退出成功,则清除当前用户登陆状态和token信息 。(2)刷新当前页面数据,清除页面上的用户信息 。