我们在首次进入小程序时,,,,,,会通过getUserInfo调起用户授权的弹窗,,,,,,可是凭证微信小程序,,,,,,最新更新诠释,,,,,,开发工具,,,,,,体验版本将不再支持这个授权方式
而是通过button组件让用户自主去点击已完成授权目的(这个对开发者来说真的是很蛋疼)
那我们怎么以最小的价钱,,,,,,来完成授权逻辑的升级呢??

这里凭证官方文档给出我的解决方案
设置一个用户授权登录的过渡页面,,,,,,用户首次,,,,,,进入小程序时,,,,,,通过<button wx:if="{{canIUse}}" open-type="getUserInfo"bindgetuserinfo="bindGetUserInfo">赞成授权登录</button> <view wx:else>请升级微信版本</view> 让用户自己去点击这个授权登录的按钮,,,,,,然后再去举行后续的营业逻辑
延伸
若是用户恰幸亏某个页面登录态失效时,,,,,,统一让其跳转到登录界面,,,,,,点击授权登录乐成,,,,,,返回到之前的页面
下面是详细代码
1 App.js
2 App({
3 onLaunch: function () {},
4 onShow: function () {},
5 .....,
6 toLogin: function () {
7 // 前往授权登录界面
8 wx.navigateTo({
9 url: '/pages/toLogin/toLogin',
10 })
11 },
12 ready: function () {
13 return Promise((resolve, reject) => {
14 const userkey = wx.getStorageSync('userkey')
15 const userId = wx.getStorageSync('userId')
16 const sessionData = wx.getStorageSync('sessionData')
17 // 检查用户是否具有登陆态
18 if (!userkey || !userId || !sessionData) {
19 // 若是未登录就前往登录界面
20 this.toLogin()
21 } else {
22 // 若是有就只要更改一下Promise,,,,,,以继续执行后续操作
23 resolve()
24 }
25 })
26 }
27 })
1 somePage.js
2 var app = getApp()
3 const someServces = require('统一接口处理文件')
4 Page({
5 data: {},
6 onLoad: function (){},
7 onShow: function (){},
8 ......,
9 getSomeData () {
10 // 这里我们每次挪用接口时,,,,,,都要先去挪用app.js中的ready要领
11 // 在app中ready会返回一个promise工具,,,,,,只有其返回的状态时resolved状态时才会触发.then()要领
12 app.ready().then(() => {
13 // 获取服务端数据
14 })
15 }
16 })
KESION 金狮贵宾会软件
KESION 金狮贵宾会软件是海内领先的在线教育软件及私域社交电商软件服务提供商,,,,,,恒久专注于为企业提供在线教育软件及社交电商SaaS平台解决方案。。
公司焦点产品云开店SaaS社交电商服务平台、在线教育SaaS服务平台、教育企业数字化SaaS云平台、企微营销助手、私有化自力安排品牌网校和在线教育咨询等。。KESION 一直通过手艺立异,,,,,,提供产品和服务,,,,,,助力企业向数字化转型,,,,,,通过科技驱动商业刷新,,,,,,让商业变得更智慧!
五、视觉规范 1. 字体规范 微信内字体的使用与所运行的系统字体坚持一致,,,,,,常用字号为20,,,,,,18,,,,,,17,,,,,,16,,,,,,14,,,,,,13,,,,,,11(pt),,,,,,使用场景详细如下: 字体颜色 主内容Black玄色,,,,,,次要内容Gre
小程序实现文本上下居中,,,,,,也就是使用父元素高度确定的单行文本的竖直居中的要领来实现,,,,,,这也是最为基本的要领。。...