APP知识|微信小程序怎么退出登录,屈臣氏微信小程序退出账号( 二 )

(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 =http://www.ncwxdh.com/p/> {
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 = `https://api.weixin.qq.com/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 =http://www.ncwxdh.com/p/> {
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
}
扩展资料:
1、微信小程序账号密码登陆和授权登陆后 , token保存在loacalStore中 , 在每次加载接口时 , 携带上token令牌 , 向服务端传递已登陆的状态 。
2、微信小程序退出登陆需清除登陆状态 , 当调用微信小程序API中的wx.login()执行登陆操作 , 通过登陆接口获取到code后需调用后端接口生成token, 由于安全问题 , 勿在前端使用密钥生成 。 在执行退出登陆操作时 , 需清除localStorage 中缓存的token及用户信息 , 并刷新当前页面数据 。

如何重新登录微信小程序? 您好 , 很简单的 , 就是扫描小程序码 , 或者微信搜索小程序名称 , 进入到小程序中然后点击信息授权 , 就可以重新登录微信小程序了 。
微信小程序退出账号怎么实现 1、客户端应用 , 点击工具栏中的“设置”按钮 , 在弹出的窗口选择列表中的“我百的账号”这项 。
2、可以看到包括微信号、手机号等在内的相关信息 。
3、点度击手机号 , 进行解绑后 , 点击完成按钮 。
4、返回“我的账号”窗口 , 点击“独立密码” , 设置问一个全新的微信登录密码 。

推荐阅读