| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211 | <template>  <view class="my-page">    <view class=" example">	  <form>		 <view class="uni-form-item uni-row">		   <view class="title">用户昵称</view>		   <input class="uni-input"		   name="nickName" 		   :value="user.nickName" 		   placeholder="请输入昵称" 		   @focus="inputFocus('nickName')"		   @blur="inputBlur('nickName')"			@input="inputNick"		   />		   		 </view>		 <view class="uni-form-item uni-row">		   <view class="title">手机号码</view>		   <input class="uni-input"			name="phonenumber" 			 :value="user.phonenumber"			  placeholder="请输入手机号码"			  @focus="inputFocus('phonenumber')"			  @blur="inputBlur('phonenumber')"			  @input="inputPhone"			 />			 <!-- <uni-icons			 	v-if="!user.nickName"			 	class="content-clear-icon"			 	type="clear"			 	:size="24"			 	:color="focusShow ? '#2979ff' : '#c0c4cc'"			 	@click="onClear('nickName')"			 ></uni-icons> -->		 </view>		 <view class="uni-form-item uni-row">		   <view class="title">邮箱</view>		   <input class="uni-input"			name="email"  			:value="user.email"			 placeholder="请输入姓名"			 @focus="inputFocus('email')"			 @blur="inputBlur('email')"			  @input="inputEmail"			/>			<!-- <uni-icons				v-if="!user.nickName"				class="content-clear-icon"				type="clear"				:size="24"				:color="focusShow ? '#2979ff' : '#c0c4cc'"				@click="onClear('nickName')"			></uni-icons> -->		 </view>		 <view class="uni-form-item uni-row">		   <view class="title">性别</view>		   <radio-group name="sex" class="uni-row" @change="changeSex">      <view class="group-item uni-row" v-for="(item: Sex) in sexs" >			   <radio class="my-radio" :value="item.value" :checked="item.value==user['sex']" />			   <text class="my-text">{{item.text}}</text>			 </view>		   </radio-group>		 </view>	  </form>      <button type="primary" @click="submit">提交</button>    </view>  </view></template><script lang="uts">  import { getUserProfile } from "@/api/system/user"  import { updateUserProfile } from "@/api/system/user"    type Sex={  	text:string,  	value:string  }    export default {    data() {      return {	    nickName:'',	    phonenumber:'',	    email:'',        user: {          nickName: "" as string,          phonenumber: "" as string,          email: "" as string,          sex: "0" as string        } as UTSJSONObject,        sexs: [{          text: '男',          value: "0"        }, {          text: '女',          value: "1"        }] as Sex[],      }    },    onLoad() {      this.getUser()    },    methods: {		changeSex(event: UniRadioGroupChangeEvent){			this.user.sex=event.detail.value as string		},			inputFocus(tag:string){		this.$data[tag]="my-focus"	},	inputBlur(tag:string){		this.$data[tag]="my-blur"	},	inputEmail(event:UniInputEvent){		this.user.email=event.detail.value	},	inputNick(event:UniInputEvent){		this.user.nickName=event.detail.value	},	inputPhone(event:UniInputEvent){		this.user.phonenumber=event.detail.value	},      getUser() {          getUserProfile().then((response:UTSJSONObject) => {          if (response != null && response['data'] != null) {            this.user = response['data'] as UTSJSONObject           }        })      },      submit() {		if(this.user.nickName!=null){			uni.showToast({				title:"用户昵称不能为空",				icon:"error"			})			return 		}		if(this.user.phonenumber!=null){			uni.showToast({				title:"手机号码不能为空",				icon:"error"			})			return 		}else if(this.user.phonenumber!=null && this.user.phonenumber as string != "" && /^1[3|4|5|6|7|8|9][0-9]\d{8}$/.test(this.user.phonenumber as string) == false){			uni.showToast({				title:"请输入正确的手机号码",				icon:"error"			})			return		}		if(this.user.email!=null){			uni.showToast({				title:"邮箱地址不能为空",				icon:"error"			})			return 		}else if(this.user.email!=null && this.user.email as string != "" && /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(this.user.email as string)==false){			uni.showToast({				title:"请输入正确的邮箱地址",				icon:"error"			})			return		}        updateUserProfile(this.user as UTSJSONObject).then(() => {          uni.showToast({            title: '修改成功',            icon: 'success'          });        });	      }    }  }</script><style lang="scss">  .my-page {    background-color: #ffffff;	width: 100%;	height: 100%;  }  .example {    padding: 15px;    background-color: #fff;  }  .segmented-control {    margin-bottom: 15px;  }  .button-group {    margin-top: 15px;    display: flex;    justify-content: space-around;  }  .form-item {    display: flex;    align-items: center;    flex: 1;  }  .button {    display: flex;    align-items: center;    height: 35px;    line-height: 35px;    margin-left: 10px;  }</style>
 |