对于小对于小程序未授权的用户,官方取消wx.getUserInfo方法的直接调用,首次授权必须主动触发自定义按钮,才可调起官方授权组件 可以获取到的信息有:昵称、头像、性别、国家、省份、城市、性别、语言
wx.getSetting查看是否授权
已授权使用wx.getUserInfo获取用户信息,保存
未授权显示带有button的自定义页面,bindGetUserInfo会返回用户信息,该按钮会调用微信官方授权
<button open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">允许用户授权</button>
授权完成保存用户信息
app.js----我放在登陆方法之后
// 查看是否授权,保存授权状态
wx.getSetting({
success: function(res) {
if (res.authSetting['scope.userInfo']) {
wx.setStorageSync('isAuthorize', 'true');
wx.getUserInfo({
success: function(res) {
wx.setStorageSync('userInfo', res.rawData);
}
})
} else {
wx.setStorageSync('isAuthorize', 'false');
}
}
})
main.wxml------项目主页面
<!-- 小程序授权组件 -->
<authorize id="authorize"></authorize>
main.js------onload中进行判断是否要显示自定义的按钮
// 已授权隐藏弹框,未授权显示弹框
this.authorize = this.selectComponent("#authorize");
if (wx.getStorageSync('isAuthorize')=='true'){
this.authorize.hideDialog()
}
main.json-----主页面配置参数
"usingComponents": {
"authorize": "自定义授权组件的路径"
}
authorize.js------自定义带有button的页面/弹窗组件autiorize,这里只贴出js部分
/*authorize.js*/
Component({
options: {
multipleSlots: true
},
data: {
isHide: false,
canIUse: wx.canIUse('button.open-type.getUserInfo')
},
methods: {
//隐藏弹框
hideDialog() {
this.setData({
isHide: true
})
},
// 授权信息保存
bindGetUserInfo(e){
wx.setStorageSync('isAuthorize', 'true');
wx.setStorageSync('userInfo', JSON.stringify(e.detail.userInfo));
this.hideDialog()
}
}
})
这样整个授权就完成了!
来自:https://blog.csdn.net/sinat_38426472/article/details/84634819
开发小程序的过程中踩的坑不可谓不多,而有些坑也实在是让人郁闷,不扒一扒难以平我心头之愤呐。
小程序的启动方式:冷启动和热启动,小程序冷启动时,会检查小程序是否有最新版本。如果有则将异步下载最新版本,但是仍将运行当前版本等到下一次冷启动时再运行最新版本。
最近在做小程序开发的时候,发现小程序老是报Do not have xxx handler in current page... 惊不惊喜,意不意外,这是什么原因引起的呢?下面就整排查错误的解决办法。
微信小程序-微信小程序可以通过API获取当前位置的经纬度,在微信小程序开发文档中可以找到这个API的使用示例,但是需要获取具体地址就需要使用到外部的API(此处用到的是腾讯的位置服务)
选择优秀的框架,能帮助我们节省开发时间,提高代码重用性,让开发变得更简单。下面就整理关于微信小程序的前端框架,推荐给大家。
小程序开放至今,许多公司企业已经开发出了自己的小程序。这篇文章主要整理分享:微信小程序UI组件、开发框架、实用库、开发工具、服务端、Demo等
这篇文章主要讲解微信小程序如何实现 侧边栏滑动 功能 ,首先实现的思路为:wxml页面结构分为2层:侧边栏菜单、正文部分;正文部分监听touchstart、touchmove、touchend触摸事件
微信小程序生命周期函数:onLoad: 页面加载。onShow: 页面显示每次打开页面都会调用一次。onReady: 页面初次渲染完成,onHide: 页面隐藏,onUnload: 页面卸载。在小程序中所有页面的路由全部由框架进行管理
三种办法实现小程序的动画效果: 每帧setData()、使用Animation实现旋转效果、使用keyfreams。在wxss中通过控制transform组件的属性,来实现旋转效果,我也是采用的这种方式,性能上面提示非常多
在小程序进行socket链接的时候发现:在1.7.0版本之前,一个微信小程序同时只能有一个 WebSocket 连接,而且在连接socket的时候,发现在还没有进行subscribe的情况下,就直接进行了广播,并且自动关闭了socket连接。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!