其实还蛮简单的,可以说一搜一大把,下面说下两种方式。
10年积累的成都网站建设、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有延庆免费网站建设让你可以放心的选择与我们合作。
自行开发
主要就是通过小程序端直接请求登录获取到code(登录凭证)、如果需要获取用户手机号则需要再次授权需要iv和encryptedData,注意这里授权两次,也可以作为一次处理。
(1) 后端接收到小程序端请求的code,进行解密,可以参考微信小程序开发文档,拿到openId和session_key,这一步如果是已经注册的用户可以直接将后台分配的token一起组成对象存储到redis中,期限7-30天皆可,先从redis判定这个openId是否已经解析过且已存储为正式用户,是则直接返回系统的登录凭证完成登录。如果不是就需要走第二步。
(2)通过iv和encryptedData解析获取用户的手机号,完成解析后将用户信息存储,并一样存储到数据库和redis中,返回凭证。
2. 使用已经集成好的sdk,使用maven项目直接引入对象的jar即可。
举个栗子 weixin-java-miniapp 可以看下对应的文档说明,使用已经集成好的方法即可。
微信小程序退出账号的前提条件是用户已登陆,且在前端页面和后端服务已记录了用户的登陆状态。退出登陆的操作,相当于清除用户登陆状态的操作。
因此微信小程序实现退出账号的具体流程包括以下几点:
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 = `{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
}
扩展资料:
1、微信小程序账号密码登陆和授权登陆后,token保存在loacalStore中,在每次加载接口时,携带上token令牌,向服务端传递已登陆的状态。
2、微信小程序退出登陆需清除登陆状态,当调用微信小程序API中的wx.login()执行登陆操作,通过登陆接口获取到code后需调用后端接口生成token, 由于安全问题,勿在前端使用密钥生成。在执行退出登陆操作时,需清除localStorage 中缓存的token及用户信息,并刷新当前页面数据。
; 微信退出方法如下:1、点击下方的“我”图标。2、在打开的窗口上点击“设置”,点击最下方的“退出登录”按钮,就退出登录了。微信的退出与是否连接WIFI并没有什么关系。
最近很多刚开始使用微信的小伙伴都在询问,微信怎么退出登录呢?
在微信里打开链接有两种方法:1.在微信里打开一个链接,然后复制并退出微信,再打开“上网浏览器”,粘贴到浏览器的地址栏,再点击”确定”就可以了。2.在微信页面点击右上角的三个点,然后选择“在浏览器中打开”,这样也可以打开链接。第二个方法
别着急,本期视频就来教大家微信的退出方法。
在微信里打开朋友发过来的链接,一般通常都有两种方法,第一种方法,复制链接,退出微信,打开你手机里面安装的上网浏览器。粘贴到浏览器的地址栏。点击确定就可以打开了。第二种方法,在微信页面,点击右上角三个点,选择在浏览器中打开,同样
1.打开登录账号的微信APP。
微信提示链接wifi。头部显示你已经链接wifi。是因为开始链接wifi是通过微信扫描二维码登陆wifi路由器导致的。这是因为微信公众号微信链接wifi功能。在路由器可操作设置密码的情况下设置了必须通过微信公众号访问而产生的微信高级功能。如果
2.点击右下角我的。
取消个人微信在第三方应用或网站的授权的步骤如下:1、点击打开微信。2、依次点击我,设置3、点击隐私4、点击授权管理。5、在这里我们可以看到授权过的应用,如下图所示。6、点击右上角的管理出现减号图标。点击其中一个应用的减号图标,
3.点击设置,进入设置界面。
原因一:手机网络不好。这个情况是最常见的,微信里面有些网页确实是很难打开,里面包含了太多的js和css文件,如果手机到了没有3G网络或者信号都很差的区域,那可能就会出现打不开网页的情况。这种情况的解决办法是:去网络好的地方再打开微信
4.点击下方退出按钮。
首先要明白王者荣耀和微信是俩个软件,王者荣耀只是在当前微信登陆情况下一键登录的,想要切换账号,现要退出当前的微信账号,再用新的新的微信账号登陆,再打开王者荣耀app登陆就好了,王者荣耀手游由腾讯倾情打造,游戏玩法丰富。
5.选择退出登录,即可完成操作。
软件问题建议你卸载重新安装试试如果还不行可以更换手机进行测试也有可能你删除了浏览记录希望可以帮到你
注意事项:如出现差别请检查手机微信是否为对应版本。
求教啊,我也是这个问题,恢复出厂设置了,都不行,还是这个问题,以前都一直好好的。。我找到个解决办法,我自己试了成功了哦。。。爽啊1、随意聊天窗口输入//settbs000,0最后一个零之后有空格,2、发送(回车),此串代码消失就是成功
扩展阅读,以下内容您可能还感兴趣。
点开微信消息上的微店链接误点了允许公开呢称头像,退出后再点链接又自动登录,怎么消除这个误点的后果?
在设置→私隐→拉到下面的授权管理取消掉就可以了
最近微信只能打开一个网页链接,退出后进别的链接,进度条划过就不动了
求教啊,我也是这个问题,恢复出厂设置了,都不行,还是这个问题,以前都一直好好的。。
我找到个解决办法,我自己试了成功了哦。。。爽啊
1、随意聊天窗口输入//settbs000,0最后一个零之后有空格,
2、发送(回车),此串代码消失就是成功,关闭微信重新打开去测试。
我的苹果手机登陆微信怎么老是连接失败啊
1、微信是最新版本的么?安装个最新版本的,或者你可以使用wifi看看是否可以登陆,如果wifi可以的话,应该就是网络设置的问题,如果也上不了的话,就是软件本身的问题。
2、您的网络搜索链接没打开,建议重新使用wifi网络链接。
3、设置-通用-网络-蜂窝数据网
蜂窝数据:
APN:cmnet
用户名(不用填)
密码(不用填)
可能你的APN填写的是cmwap改为cmnet就应该可以了,试试吧。
手机上微信登不上显示网络错误是由于手机网络不稳定导致的,可以有以下解决方法:
1、先退出微信,然后将手机关机重启之后,再登陆微信。
2、重新连接网络或连接wifi网络之后再登录微信账号。
3、更换时间段登录,等手机网络较好的时候再登陆微信。
微信连接电脑后电脑上退出微信并关机,但是微信手机端仍然显示连接电
你好,很高兴为你解答!
确认电脑运行状态是待机休眠还是关闭电源
如若为休眠状态打开电脑后是能看到消息的
如若为关机状态打开电脑是需要重新登录
需要登录后同步方可看到之前的聊天记录或者电脑微信设置了保存聊天记录
如果电脑为关机状态,手机微信还显示电脑在线可能为网络延迟,手动下线即可
手动下线步骤为点击windows微信已登录-退出windows微信
苹果手机微信怎么登录说网络连接失败
手机上微信登不上显示网络错误是由于手机网络不稳定导致的,可以有以下解决方法:
1、先退出微信,然后将手机关机重启之后,再登陆微信。
2、重新连接网络、或连接wifi网络之后再登录微信账号。
3、更换时间段登录,等手机网络较好的时候再登陆微信。
可以找到设置,然后把微信下拉设置重新设置一遍,然后在关上微信,还有在关闭手机重启,试试,因为微信苹果版,遇到这样问题,这样解决不了,暂时没有方法了。
安装个最新版本的,或者你可以使用wifi看看是否可以登陆,如果wifi可以的话,应该就是网络设置的问题,如果也上不了的话,就是软件本身的问题。
您的网络搜索链接没打开。建议重新使用wifi网络链接。
设置-通用-网络-蜂窝数据网
蜂窝数据:
APN:cmnet
用户名(不用填)
密码(不用填)
可能你的APN填写的是cmwap改为cmnet就应该可以了试试吧
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款