Bladeren bron

个人资料脱敏

xhj 2 jaren geleden
bovenliggende
commit
3c0ef53424
2 gewijzigde bestanden met toevoegingen van 46 en 16 verwijderingen
  1. 1 1
      mine/userinfo/userinfo.css
  2. 45 15
      mine/userinfo/userinfo.vue

+ 1 - 1
mine/userinfo/userinfo.css

@@ -18,7 +18,7 @@ page{background: #F4F6FA;}
 .wechat{width: 181rpx !important;height: 54rpx !important;border-radius: 10rpx !important;background: #2AA147;font-size: 24rpx;color: #fff;align-items: center;justify-content: center;position: absolute;right: 30rpx;top: 50%;transform: translateY(-50%);}
 .wechat image{width: 41rpx;height: 33rpx;margin-right: 8rpx;}
 
-.agree{font-size: 24rpx;color: #666;margin: 80rpx 30rpx 30rpx;align-items: flex-start;line-height: 40rpx;padding-bottom: 30px;flex-wrap: wrap;}
+.agree{font-size: 24rpx;color: #666;margin: 50rpx 30rpx 30rpx;align-items: flex-start;line-height: 40rpx;padding-bottom: 30px;flex-wrap: wrap;}
 .gou{width: 26rpx;height: 26rpx;margin-right: 16rpx;margin-top: 8rpx;}
 .agree text{color: #4496DE;}
 .agree-c{flex-wrap: wrap;}

+ 45 - 15
mine/userinfo/userinfo.vue

@@ -3,6 +3,7 @@
 		<!--pages/userinfo/userinfo.wxml-->
 		<view class="list">
 			<view class="li">
+				<text style="color: red;">*</text>
 				<text>头像</text>
 				<button open-type="chooseAvatar" hover-class="none" class="item" @chooseavatar="uploadAvatar">
 					<image :src="avatar" mode="aspectFit" class="logo"></image>
@@ -10,6 +11,7 @@
 				<image src="/static/pages/images/more.png" class="rico"></image>
 			</view>
 			<view class="li">
+				<text style="color: red;">*</text>
 				<text>昵称</text>
 				<view class="item">
 					<input type="nickname" name="nickName" placeholder="请输入昵称" :value="nickName" @input="intNickName" @blur="getNickname"></input>
@@ -18,6 +20,17 @@
 				<!-- <image src="/pages/images/more.png" class="rico"></image> -->
 			</view>
 			<view class="li">
+				<text style="color: red;">*</text>
+				<text>手机</text>
+				<block v-if="mobile">
+					<view class="item active">{{handlePhone(mobile)}}</view>
+					<image src="/static/pages/images/more.png" class="rico"></image>
+				</block>
+				<button class="wechat dflex" open-type="getPhoneNumber" @getphonenumber="getphonenumber" v-else>
+					<image src="/static/pages/images/wxico.png"></image>立即获取
+				</button>
+			</view>
+			<view class="li">
 				<text>真实姓名</text>
 				<view class="item">
 					<input name="realName" placeholder="请输入真实姓名" :value="realName" @input="intrealName"></input>
@@ -27,21 +40,12 @@
 			<view class="li">
 				<text>身份证号</text>
 				<view class="item">
-					<input name="cardNo" placeholder="请输入身份证号码" :value="cardNo" @input="getcardNo"></input>
+					<input v-if="cardNoEdit" :focus="cardNoEdit" name="cardNo" placeholder="请输入身份证号码" :value="cardNo" @input="getcardNo" @blur="cardNoBlur"></input>
+					<text v-else style="width: 100%;text-align: right;font-size: 30rpx;color: #333;line-height: 36rpx;" @click="cardNoFocus">{{handleIdCard(cardNo)}}</text>
 				</view>
 				<image src="/static/pages/images/more.png" class="rico"></image>
 			</view>
 			<view class="li">
-				<text>手机</text>
-				<block v-if="mobile">
-					<view class="item active">{{mobile}}</view>
-					<image src="/static/pages/images/more.png" class="rico"></image>
-				</block>
-				<button class="wechat dflex" open-type="getPhoneNumber" @getphonenumber="getphonenumber" v-else>
-					<image src="/static/pages/images/wxico.png"></image>立即获取
-				</button>
-			</view>
-			<view class="li">
 				<text>性别</text>
 				<view class="item active">
 					<picker @change="bindGender" :value="index" :range="genders">
@@ -97,6 +101,7 @@
 					<editor placeholder="请输入个人爱好" v-model="hobbies" id="editor" @ready="onEditorReadyH" @input="bindHobbies" class="textarea hobbies"></editor>
 				</view>
 			</view> -->
+			<view style="color: red;font-size: 24rpx;padding: 30rpx 30rpx;">*号表示必填项</view>
 			<view class="agree dflex" @click="agree" v-if="config.CONFIG_PRIVACY_AGREEMENT">
 				<image :src="'../static/images/' + (isAgree ? 'gou1_h.png' : 'gou1.png')" class="gou"></image>
 				已阅读并同意
@@ -132,7 +137,8 @@
 				brief: '',
 				hobbies: '',
 				isAgree:false,
-				config:{}
+				config:{},
+				cardNoEdit:true
 			};
 		},
 
@@ -154,6 +160,12 @@
 					url:url
 				})
 			},
+			cardNoBlur(){
+				if(this.cardNo) this.cardNoEdit = false
+			},
+			cardNoFocus(){
+				this.cardNoEdit = true
+			},
 			getInfo() {
 				let that = this;
 				let isShowLoading = false;
@@ -169,6 +181,9 @@
 							"00," + data.district).split(",")
 					}
 					this.setData(data);
+					
+					if(this.cardNo) this.cardNoEdit = false
+					
 					if (!data.areaAdd) {} else {
 						this.city = data.areaAdd
 					}
@@ -287,10 +302,14 @@
 				// console.log(reg.test(d.realName));
 				if(!d.avatar) return req.msg("请上传头像");
 				if(!d.nickName) return req.msg("请填写用户昵称");
-				if(!d.realName) return req.msg("请填写真实姓名");
-				if (!reg.test(d.realName)) return req.msg("请输入正确真实姓名(至少2位汉字)");
+				// if(!d.realName) return req.msg("请填写真实姓名");
+				// if (!reg.test(d.realName)) return req.msg("请输入正确真实姓名(至少2位汉字)");
 				// if(!d.cardNo) return req.msg("请填写身份证号");
 				if(!d.mobile) return req.msg("请填写手机号");
+				var re = /^\d{17}(\d|x)$/i;
+				if (d.cardNo && !re.test(d.cardNo)) {
+					return req.msg("请填写正确的身份证号");
+				}
 				// if(!d.birthday) return req.msg("请选择出生日期");
 				// if(!d.district) return req.msg("请选择地区");
 				// if(!d.address) return req.msg("请填写详细地址");
@@ -355,7 +374,18 @@
 			},
 			agree(){
 				this.isAgree = !this.isAgree
-			}
+			},
+			handleIdCard(cardId) {
+				var re = /^\d{17}(\d|x)$/i;
+				if (re.test(cardId)) {
+					return cardId.replace(/^(.{4})(?:\d+)(.{4})$/, "$1**********$2");
+				}else{
+					return cardId
+				}
+			},
+			handlePhone (phone) {
+				return phone.replace(/^(.{3})(?:\d+)(.{4})$/, "$1****$2")
+			},
 		}
 	};
 </script>