《若依ruoyi》第四十八章:若依小程序 个人信息修改拆解

本文介绍个人修改页面代码

1、操作界面展示

2、编辑UI实现

如上述图,编辑界面由三个输入框、一个单选框,一个提交按钮组成。

因为是表单提交,所以三个输入框、一个单选框使用form表单包含。

<uni-forms ref="form" :model="user" labelWidth="80px">
  </uni-forms>

如下是三个输入框的代码,uni-forms-item标签,样式封装是一行,左侧是标题,右侧是输入框,是uniapp封装的基础组件,可以直接使用。

官网插件市场:
https://ext.dcloud.net.cn/plugin?id=2773,详细可以参考这个官网

<uni-forms-item label="用户昵称" name="nickName">
          <uni-easyinput v-model="user.nickName" placeholder="请输入昵称" />
        </uni-forms-item>
        <uni-forms-item label="手机号码" name="phonenumber">
          <uni-easyinput v-model="user.phonenumber" placeholder="请输入手机号码" />
        </uni-forms-item>
        <uni-forms-item label="邮箱" name="email">
          <uni-easyinput v-model="user.email" placeholder="请输入邮箱" />
</uni-forms-item>

如下是单选框代码

<uni-forms-item label="性别" name="sex" required>
          <uni-data-checkbox v-model="user.sex" :localdata="sexs" />
</uni-forms-item>

如下是按钮代码,点击事件绑定submit方法

 <button type="primary" @click="submit">提交</button>

submit方法

submit(ref) {        
    this.$refs.form.validate().then(res => {
          updateUserProfile(this.user).then(response => {           
              this.$modal.msgSuccess("修改成功")
          })
        })
      }

业务逻辑说明:

1、验证表单字段规则,如果验证通过,则继续执行,否则退出。

2、调用updateUserProfileAPI接口,更新数据库。

3、更新成功,提示修改成功,this.$modal.msgSuccess弹窗提示框信息。

表单验证规则,代码this.$refs.form.validate()

rules: {
          nickName: {
            rules: [{
              required: true,
              errorMessage: '用户昵称不能为空'
            }]
          },
          phonenumber: {
            rules: [{
              required: true,
              errorMessage: '手机号码不能为空'
            }, {
              pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
              errorMessage: '请输入正确的手机号码'
            }]
          },
          email: {
            rules: [{
              required: true,
              errorMessage: '邮箱地址不能为空'
            }, {
              format: 'email',
              errorMessage: '请输入正确的邮箱地址'
            }]
          }

nickName:验证内容值不能为空

phonenumber:使用正则表达式,格式是11位数字,以1位开始

email:邮箱不能为空,邮箱格式是***@###.com等

3、更新个人信息api接口代码

/**
 * 修改用户
 */
 @Log(title = "个人信息", businessType = BusinessType.UPDATE)
 @PutMapping
 public AjaxResult updateProfile(@RequestBody SysUser user)
{
    LoginUser loginUser = getLoginUser();
    SysUser sysUser = loginUser.getUser();
    user.setUserName(sysUser.getUserName());    
    if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
    {       
         return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
    }    if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user))
    {        
        return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
    }
    user.setUserId(sysUser.getUserId());
    user.setPassword(null);
    user.setAvatar(null);
    user.setDeptId(null);    
    if (userService.updateUserProfile(user) > 0)
    {        // 更新缓存用户信息
        sysUser.setNickName(user.getNickName());
        sysUser.setPhonenumber(user.getPhonenumber());
        sysUser.setEmail(user.getEmail());
        sysUser.setSex(user.getSex());
        tokenService.setLoginUser(loginUser);        return success();
    }    
    return error("修改个人信息异常,请联系管理员");
}

业务逻辑说明:

1、获取登录用户信息。

2、将需要修改的信息赋值入sysUser实体对象。

3、验证手机号码、邮箱是否已经存在数据库,如果存在返回异常,手机号码和邮箱都是唯一。

4、更新数据。

5、更新缓存用户信息。

来源: 互联网
本文观点不代表源码解析立场,不承担法律责任,文章及观点也不构成任何投资意见。

赞 ()

相关推荐

发表回复

评论列表

点击查看更多

    联系我们

    在线咨询: QQ交谈

    微信:13450247865

    邮件:451255340#qq.com

    工作时间:周一至周五,9:30-18:30,节假日休息

    微信