| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <template>
- <view class="page mine-edit">
- <nav-bar back>修改我的信息</nav-bar>
- <uni-card :is-shadow="false" is-full :border="false">
- <uni-forms ref="form" :modelValue="userInfo" label-position="top" label-width="100%">
- <uni-forms-item name="headImage" class="avatar">
- <image-upload :onSuccess="onUnloadImageSuccess">
- <image :src="userInfo.headImageThumb" class="head-image"></image>
- </image-upload>
- </uni-forms-item>
- <uni-forms-item label="用户名" name="userName">
- <uni-easyinput type="text" v-model="userInfo.userName" :disabled="true" />
- </uni-forms-item>
- <uni-forms-item label="昵称" name="nickName">
- <uni-easyinput v-model="userInfo.nickName" type="text" :placeholder="userInfo.userName" />
- </uni-forms-item>
- <uni-forms-item label="性别" name="sex">
- <uni-data-checkbox v-model="userInfo.sex"
- :localdata="[{ text: '男', value: 0 }, { text: '女', value: 1 }]"></uni-data-checkbox>
- </uni-forms-item>
- <uni-forms-item label="签名" name="signature">
- <uni-easyinput type="textarea" v-model="userInfo.signature" placeholder="编辑个性标签,展示我的独特态度" />
- </uni-forms-item>
- </uni-forms>
- </uni-card>
- <button type="primary" class="bottom-btn" @click="onSubmit()">提交</button>
- </view>
- </template>
- <script>
- export default {
- data() {
- return {
- userInfo: {}
- }
- },
- methods: {
- onSexchange(e) {
- this.userInfo.sex = e.detail.value;
- },
- onUnloadImageSuccess(file, res) {
- this.userInfo.headImage = res.data.originUrl;
- this.userInfo.headImageThumb = res.data.thumbUrl;
- },
- onSubmit() {
- this.$http({
- url: "/user/update",
- method: "PUT",
- data: this.userInfo
- }).then(() => {
- this.userStore.setUserInfo(this.userInfo);
- uni.showToast({
- title: "修改成功",
- icon: 'none'
- });
- setTimeout(() => {
- uni.navigateBack();
- }, 1000);
- })
- }
- },
- onLoad() {
- // 深拷贝一份数据
- let mine = this.userStore.userInfo;
- this.userInfo = JSON.parse(JSON.stringify(mine));
- }
- }
- </script>
- <style scoped lang="scss">
- .mine-edit {
- .head-image {
- width: 200rpx;
- height: 200rpx;
- }
- }
- .avatar {
- margin-top: -30px;
- }
- </style>
|