提交初始版本,使用vant ui库
This commit is contained in:
		
							
								
								
									
										47
									
								
								pages/index/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								pages/index/index.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,47 @@ | ||||
| // index.js | ||||
| const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0' | ||||
|  | ||||
| Page({ | ||||
|   data: { | ||||
|     motto: 'Hello World', | ||||
|     userInfo: { | ||||
|       avatarUrl: defaultAvatarUrl, | ||||
|       nickName: '', | ||||
|     }, | ||||
|     hasUserInfo: false, | ||||
|     canIUseGetUserProfile: wx.canIUse('getUserProfile'), | ||||
|     canIUseNicknameComp: wx.canIUse('input.type.nickname'), | ||||
|   }, | ||||
|   bindViewTap() { | ||||
|  | ||||
|   }, | ||||
|   onChooseAvatar(e) { | ||||
|     const { avatarUrl } = e.detail | ||||
|     const { nickName } = this.data.userInfo | ||||
|     this.setData({ | ||||
|       "userInfo.avatarUrl": avatarUrl, | ||||
|       hasUserInfo: nickName && avatarUrl && avatarUrl !== defaultAvatarUrl, | ||||
|     }) | ||||
|   }, | ||||
|   onInputChange(e) { | ||||
|     const nickName = e.detail.value | ||||
|     const { avatarUrl } = this.data.userInfo | ||||
|     this.setData({ | ||||
|       "userInfo.nickName": nickName, | ||||
|       hasUserInfo: nickName && avatarUrl && avatarUrl !== defaultAvatarUrl, | ||||
|     }) | ||||
|   }, | ||||
|   getUserProfile(e) { | ||||
|     // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗 | ||||
|     wx.getUserProfile({ | ||||
|       desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 | ||||
|       success: (res) => { | ||||
|         console.log(res) | ||||
|         this.setData({ | ||||
|           userInfo: res.userInfo, | ||||
|           hasUserInfo: true | ||||
|         }) | ||||
|       } | ||||
|     }) | ||||
|   }, | ||||
| }) | ||||
							
								
								
									
										4
									
								
								pages/index/index.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								pages/index/index.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| { | ||||
|   "usingComponents": { | ||||
|   } | ||||
| } | ||||
							
								
								
									
										27
									
								
								pages/index/index.wxml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								pages/index/index.wxml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| <!--index.wxml--> | ||||
| <scroll-view class="scrollarea" scroll-y type="list"> | ||||
|   <view class="container"> | ||||
|     <view class="userinfo"> | ||||
|       <block wx:if="{{canIUseNicknameComp && !hasUserInfo}}"> | ||||
|         <button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar"> | ||||
|           <image class="avatar" src="{{userInfo.avatarUrl}}"></image> | ||||
|         </button> | ||||
|         <view class="nickname-wrapper"> | ||||
|           <text class="nickname-label">昵称</text> | ||||
|           <input type="nickname" class="nickname-input" placeholder="请输入昵称" bind:change="onInputChange" /> | ||||
|         </view> | ||||
|       </block> | ||||
|       <block wx:elif="{{!hasUserInfo}}"> | ||||
|         <button wx:if="{{canIUseGetUserProfile}}" bindtap="getUserProfile"> 获取头像昵称 </button> | ||||
|         <view wx:else> 请使用2.10.4及以上版本基础库 </view> | ||||
|       </block> | ||||
|       <block wx:else> | ||||
|         <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image> | ||||
|         <text class="userinfo-nickname">{{userInfo.nickName}}</text> | ||||
|       </block> | ||||
|     </view> | ||||
|     <view class="usermotto"> | ||||
|       <text class="user-motto">{{motto}}</text> | ||||
|     </view> | ||||
|   </view> | ||||
| </scroll-view> | ||||
							
								
								
									
										62
									
								
								pages/index/index.wxss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								pages/index/index.wxss
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,62 @@ | ||||
| /**index.wxss**/ | ||||
| page { | ||||
|   height: 100vh; | ||||
|   display: flex; | ||||
|   flex-direction: column; | ||||
| } | ||||
| .scrollarea { | ||||
|   flex: 1; | ||||
|   overflow-y: hidden; | ||||
| } | ||||
|  | ||||
| .userinfo { | ||||
|   display: flex; | ||||
|   flex-direction: column; | ||||
|   align-items: center; | ||||
|   color: #aaa; | ||||
|   width: 80%; | ||||
| } | ||||
|  | ||||
| .userinfo-avatar { | ||||
|   overflow: hidden; | ||||
|   width: 128rpx; | ||||
|   height: 128rpx; | ||||
|   margin: 20rpx; | ||||
|   border-radius: 50%; | ||||
| } | ||||
|  | ||||
| .usermotto { | ||||
|   margin-top: 200px; | ||||
| } | ||||
|  | ||||
| .avatar-wrapper { | ||||
|   padding: 0; | ||||
|   width: 56px !important; | ||||
|   border-radius: 8px; | ||||
|   margin-top: 40px; | ||||
|   margin-bottom: 40px; | ||||
| } | ||||
|  | ||||
| .avatar { | ||||
|   display: block; | ||||
|   width: 56px; | ||||
|   height: 56px; | ||||
| } | ||||
|  | ||||
| .nickname-wrapper { | ||||
|   display: flex; | ||||
|   width: 100%; | ||||
|   padding: 16px; | ||||
|   box-sizing: border-box; | ||||
|   border-top: .5px solid rgba(0, 0, 0, 0.1); | ||||
|   border-bottom: .5px solid rgba(0, 0, 0, 0.1); | ||||
|   color: black; | ||||
| } | ||||
|  | ||||
| .nickname-label { | ||||
|   width: 105px; | ||||
| } | ||||
|  | ||||
| .nickname-input { | ||||
|   flex: 1; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user