多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### 1. 通过使用open-data标签直接获取 ``` <open-data class="logo" type="userAvatarUrl"></open-data> ``` ### 2. 通过button直接获取 ``` <button open-type="getUserInfo" bind:getuserinfo="GetInfo">获取信息</button> ``` ``` GetInfo(e){ console.log(e.detail) } ``` ### 3. 使用组件方法 自定义组件 ``` <button plain="{{true}}" open-type="{{openType}}" bind:getuserinfo="onGetUserInfo"> <slot name="image"></slot> </button> ``` 通过onGetUserInfo事件获取用户信息,并将其传给父组件 ``` onGetUserInfo(e){ var userInfo = e.detail this.triggerEvent("getUserInfo", userInfo); }, ``` 使用带插槽的btn组件 ``` <v-btn openType="getUserInfo" bind:getUserInfo="getInfo"> <image slot="image" src="{{authorized?userInfo.avatarUrl:'images/my.png'}}" class="image-btn" mode="widthFix"/> </v-btn> ``` 父组件获取到用户信息 ``` getInfo(e){ let userInfo = e.detail.userInfo; this.setData({ userInfo, authorized: true }) } ``` 加载时可以检查用户信息是否授权,如果授权,直接获取用户数据 ``` 得到用户授权的相关信息,检查用户是否授权获取相关信息 wx.getSetting({ success: (res)=>{ console.log(res); if(res.authSetting['scope.userInfo']){ //获取用户相关信息 wx.getUserInfo({ success: res=>{ console.log(res); this.setData({ userInfo: res.userInfo, authorized: true }) } }) } // console.log(res.authSetting['scope.userInfo']); } }) ```