微信退出代码怎么写

1.微信怎么退出程序在微信界面中点击右上角的三点按钮以打开菜单 , 在出现的菜单列表中选择“设置”菜单 。在设置界面有很多设置选项 , 其中一项就是“退出”功能项 。
点击“退出”选项 , 此时不是直接地退出程序 , 也不是退出微信帐号 , 而是弹出一个窗口菜单 。点击界面中的“关闭微信” , 这样您就能够成功退出微信 。
除此之外 , 您还可以进入系统设置界面中退出微信 , 打开设置界面并定位到“应用程序”界面 。在此界面中找到“微信”并点击 , 然后点击“强制停止”按钮退出微信 。
2.微信小程序退出账号怎么实现微信小程序退出账号的前提条件是用户已登陆 , 且在前端页面和后端服务已记录了用户的登陆状态 。
退出登陆的操作 , 相当于清除用户登陆状态的操作 。因此微信小程序实现退出账号的具体流程包括以下几点: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)刷新当前页面数据 , 清除页面上的用户信息 。
(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 。