第一,进入小程序全局先进行获取微信code,用code作为参数请求接口得到用户登录信息,同时判断是否为新用户。
第二,请求接口,发生登录失效(token失效)时,自动登录后,再重新请求。
第三,请求接口,当返回未登录(授权)提示时,做兼容。(比如跳到授权页,这个具体看接口的业务逻辑)
在utiljs中封装一些登录、请求方法。
1调用微信登录,获取微信code
2通过微信code登录,获取用户信息(token,userInfo)
3请求数据,这里只封装请求数据的参数与方法,不处理各种code
4封装request请求方法,这里专门处理返回不同code的情况
各个页面中的接口数据请求,都是调用这个方法。
在appjs的onLaunch方法中,判断token和userInfo是否存在,存在就不是新用户,否则根据微信返回的code,去请求后端接口,查看返回的信息,是否为新用户。
备注:已不能这样使用了,缅怀一下
小程序启动时,不是先运行appjs然后再调用indexjs,而是异步执行的。
邀请好友答题,好友第一次进来要进行 微信登录 --> 获取access-token --> 获取用户信息 --> 绑定个人信息 --> 首页逻辑处理 --> 跳转好友pk页 等,流程比价复杂并且还有数据交叉使用情况。
一开始我以index作为首页,因为appjs和indexjs异步执行,使用Promise也发现启动过程很是繁琐复杂。所以参考了《知乎答题王》多加了一个home页。
流程清晰了不少。 如果有后台系统验证用户信息以及用户权限等业务,建议增加一个启动页。
获取用户信息拒绝后,默认不会再重新d出授权框 ,需要调用 wxopenSetting 打开手机《设置》允许使用数据
从 2018/4/30 开始,使用 wxgetUserInfo 接口直接d出授权框的开发方式将逐步不再支持,(因为Facebook用户隐私泄密事件引发的社会关注),想获取用户隐私信息必须要友好!
腾讯公告:小程序与小游戏获取用户信息接口调整
微信小程序可以解除程序授权,进入微信设置在授权管理页面解除授权,以下是具体 *** 作步骤。
工具/原料:华为P50、HarmonyOS200、微信8016
1、点击我,点击设置,再点击隐私。
2、点击页面下方的个人信息与权限。
3、在权限页面,点击授权管理。
4、在授权管理页面,点击软件。
5、点击页面下方的解除授权即可。
感谢提问。获取用户授权,目前只能用户主动授权,也就是点击button进行授权,建议自定义d窗,button 的open-type属性为getUserInfo
绑定bindgetuserinfo事件后,获取detail,就可以得到您想要的内容。
在小程序中,不允许直接d出用户授权的选择框,所以需要开发人员在界面上来设置提示信息,诱导用户点击,然后完成用户数据的录入和存取。在开发的过程中,某些请求是依托用户登录之后获取到的openId才能继续执行的,所以在页面上,某些数据渲染之前需要判断用户是否登陆,如若没有登录,怎样设计更好的交互来让用户登录。
使用小程序时,首先会进入到appjs这个文件中,这个文件里包含了俩个方法,一个是wxlogin(),另一个是wxgetSetting(),wxlogin()的目的是为了在用户登陆之后获取到一个对应的 code 值,然后通过这个值去自己的后台换取一个openId;wxgetSetting()第一是为了判断用户的授权范围,另一个是获取对应权限内的信息,比如说,用户授权小程序可以使用自己的基本信息,就可以在这个方法中获取到用户的头像、微信名、微信设置的城市这些字段,这就是一些需要掌握的基本流程,具体怎么实现登录呢?
在小程序中,官方给出了一种解决方案-button按钮:
在这个按钮中,有几个属性:
● type :按钮的类型,可以设置为primary,背景色为绿色
● wx:if :显示条件,内容分别为hasUserInfo和canIUse俩个字段,同时为真即可显示(俩个字段均需要在data中初始化赋值)
● open-type :按钮的功能类型,getUserInfo是为了获取基本信息(也可以设置为其他→getPhoneNumber:获取用户手机号)
● bindgetuserinfo :绑定的点击事件。在js中写对应的逻辑
在用户点击按钮之后,会出现一个d窗,确定用户是否授权 :
当用户点击允许之后,进入我们绑定的getUserInfo函数中:
在执行逻辑中,首先通过wxlogin()方法获取到用户对应的openId,方便后续的 *** 作,然后再通过wxgetUserInfo()来获取到用户的基本信息,发送请求,将基本信息入库存储,或者展示到页面上,就完成了登录流程。
1在登陆中可能会涉及到多个页面登陆成功之后的状态同步,可以通过 appgloableData 来实现,在全局对象中设置一个字段,然后不论在哪个页面实现了登录,都可以通过全局对象来完成更新。
2在 获取用户信息 的时候,有时候需要获取的是 中文类型 的数据,可以在 wxgetSetting() 的请求体中加一个 lang:'zh_CN'。 这样获取到的数据就是中文格式的了
首先,在腾讯漫画小程序点击登录按钮,选择使用QQ登录。系统会d出QQ登录授权页面,你需要在授权页面上选择允许腾讯漫画小程序获取你的QQ账号信息。如果你之前没有登录过QQ账户,则需要先在QQ授权页面上进行登录并授权。授权完成后,腾讯漫画小程序会跳转回主页面,并自动登录你的QQ账号,让你可以使用该账号进行腾讯漫画的浏览和阅读。
以上就是关于小程序 判断是否为新用户 登陆授权 封装request请求全部的内容,包括:小程序 判断是否为新用户 登陆授权 封装request请求、微信小程序:登录自动d出用户授权、微信小程序授权如何解除等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)