1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- <template>
- <view>
- <!-- 顶部导航 -->
- <fa-navbar title="个人资料"></fa-navbar>
- <!-- 内容 -->
- <view class="u-p-30">
- <u-form :model="form" ref="uForm">
- <u-form-item :label-position="labelPosition" label="头像:" prop="avatar" label-width="150">
- <u-image width="100" height="100" :src="url || userInfo.avatar" @click="chooseAvatar"></u-image>
- </u-form-item>
- <u-form-item label="用户名:" prop="username" label-width="150"><u-input v-model="form.username" /></u-form-item>
- <u-form-item label="昵称:" prop="nickname" label-width="150"><u-input v-model="form.nickname" /></u-form-item>
- <u-form-item label="个人介绍:" prop="bio" label-width="150"><u-input v-model="form.bio" type="textarea" /></u-form-item>
- </u-form>
- <view class="u-p-30"><u-button type="primary" hover-class="none" :custom-style="{ backgroundColor: theme.bgColor, color: theme.color }" @click="submit">提交</u-button></view>
- </view>
- <!-- 底部导航 -->
- <fa-tabbar></fa-tabbar>
- </view>
- </template>
- <script>
- import { avatar } from '@/common/fa.mixin.js';
- export default {
- mixins: [avatar],
- computed: {
- userInfo() {
- if (this.vuex_user.avatar && this.vuex_user.avatar.indexOf('data:image/svg+xml;base64') == -1) {
- this.form.avatar = this.vuex_user.avatar;
- }
- this.form.username = this.vuex_user.username;
- this.form.nickname = this.vuex_user.nickname;
- this.form.bio = this.vuex_user.bio;
- return this.vuex_user;
- }
- },
- onShow() {
- //移除事件监听
- uni.$off('uAvatarCropper', this.upload);
- },
- onReady() {
- this.$refs.uForm.setRules(this.rules);
- },
- data() {
- return {
- labelPosition: 'left',
- url: '',
- form: {
- username: '',
- nickname: '',
- bio: ''
- },
- rules: {
- username: [
- {
- required: true,
- message: '请输入用户名',
- trigger: 'blur'
- }
- ],
- nickname: [
- {
- required: true,
- message: '请输入昵称',
- trigger: 'blur'
- }
- ]
- }
- };
- },
- methods: {
- submit() {
- this.$refs.uForm.validate(async valid => {
- if (valid) {
- let res = await this.$api.getUserProfile(this.form);
- this.$u.toast(res.msg);
- if(res.code){
- setTimeout(()=>{
- this.$Router.back(1)
- },800)
- }
- } else {
- console.log('验证失败');
- }
- });
- }
- }
- };
- </script>
- <style lang="scss"></style>
|