[TOC]
## 1.用户登录 不需要用户授权
```
<open-data type="userAvatarUrl" class="logo"></open-data>
```
## 2.需授权
```
<v-btn class="image-btn" openType="getUserInfo" bind:onGet="onGetUserInfo" wx:if="{{!authorized}}">
<image slot="image" src="/images/weixin.png" />
</v-btn>
<image src="{{authorized?userInfo.avatarUrl:'/images/weixin.png'}}" class="logo" wx:if="{{authorized}}" />
```
### 2.1 js
```
Page({
/**
* 页面的初始数据
*/
data: {
userInfo: '',
authorized: false,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
/* 得到用户的相关信息 */
this._authorized()
},
//v-btn绑定事件
onGetUserInfo(event) {
let userInfo = event.detail.userInfo;
this.setData({
userInfo,
authorized: true
})
},
/* 判断用户是否授权 */
_authorized() {
//获取用户的当前设置。返回值中只会出现小程序已经向用户请求过的权限。3.6
wx.getSetting({
success: (res) => {
console.log(res)
/* scope.userInfo判断用户是否授权依据 */
if (res.authSetting['scope.userInfo']) {
/* 获取用户信息 // 必须是在用户已经授权的情况下调用*/
wx.getUserInfo({
success: (res) => {
this.setData({
userInfo: res.userInfo,
authorized: true
})
}
})
}
}
})
}
})
```
### 2.2v-btn (组件image-button)
```
<button plain="{{true}}" open-type="{{openType}}" bindgetuserinfo="onGetUserInfo">
<!-- plain="{{true}}" 设置成透明-->
<slot name="image"></slot>
</button>
```
### 2.3 image-button的js
```
properties: {
openType:String
},
options:{
multipleSlots: true // 在组件定义时的选项中启用多slot支持
},
/**
* 组件的方法列表
*/
methods: {
//得到用户信息
onGetUserInfo(event){
const userInfo = event.detail.userInfo;
this.triggerEvent('onGet',{
userInfo
})
}
}
```
- 开发环境及接口
- 0.豆瓣接口
- 1.开发环境配置
- 2.一些相关文档
- 小程序实例效果
- 第0节、TodoList
- 第一节、豆瓣相关
- 1、tabBar的配置及导航加标题
- 2、数据加载及下拉加载
- 3、加载相关
- 4、轮播
- 5、星星评分
- 第二节、音乐播放相关
- 1.点击收藏分享
- 2.音乐播放
- 初始版
- 组件版
- 组件加强版
- 3.点赞
- 点赞初级版
- 点赞第二版
- 5.左右按钮
- 6.缓存
- 第三节、补充
- 地图
- 点击拍照换图
- 扫一扫
- 小程序语法
- 第一节 、HTTP的封装
- 0.http请求
- 1.function封装
- 2.class封装http
- 3.promise封装
- 4.config地址
- 第二节、组件
- 2.组件单独设置样式
- 3.一些有意义的标签
- 4.behavior
- 5.SLOT
- 6.左右按钮
- 5.点赞组件
- 6.用户授权
- 图片按钮 如分享
- 第三节、api
- 1.页面跳转
- 获取input里的值
- 1.添加评论
- 2.搜索框
- 3. 获取input里的值
- 2.设置缓存
- 3.模态框,弹出框
- 4.分享showActionSheet
- 5.定义全局的数据
- 2. 基础知识
- 1.setData
- 2.文件结构
- 3.wxml语法
- 第一节 数据绑定
- 第二节 列表渲染
- 第三节 条件渲染
- 第四节 模板
- 第五节 事件
- 第六节 引用
- 4.wxs
- 1.文本缩进问题
- 5.小程序中遇到的wxss 问题
- 1.width100%越界问题
- 废弃的文件
- 一个完整的小程序
- 1.启动页面
- 2.yuedu轮播+封装及数据调用
- yuedu的详情页
- 3.电影
- movie-more
- web-view