vue项目day02

116 阅读2分钟

vue项目day02

5、个人信息编辑(edit_profile.vue)

1、创建组件

2、配置路由

3、布局

4、实现功能

1、完成个人信息渲染
2、完成头像修改
3、完成昵称修改
4、完成密码修改
5、完成性别修改
1、完成个人信息渲染

用户角度分析:进入页面,就能马上看到个人 信息

程序员角度分析:进入页面,在created中调用接口,请求数据,渲染数据

拆解步骤:

  • 1、封装“用户详情”接口函数 ---- 在个人中心中已经完成了
  • 2、在页面引入接口函数,并在created中调用接口函数,请求并保存数据
  • 3、根据数据渲染即可

1653548385516.png

1653549524286.png

1653566514114.png

2、完成头像修改

用户角度分析:用户点击头像,显示弹窗用于选择图片,选中图片后修改头像。

程序员角度分析:给图片绑定点击事件,然后显示弹窗用于选择图片,用户选中调用接口上传图片,然后修改图片成功。

1653399397105.png

1653566693107.png

拆分步骤:

  • 1、实现显示弹窗,用于选择图片
  • 2、实现修改头像功能
    • 1、在成功获取图片对象的函数中,调换用“文件上传”接口,获取图片在线地址
      • 封装“文件上传” 接口函数
      • 在页面中引入接口函数,并在成功获取图片对象的函数中调用,并保存图片在线地址
    • 2、在成功获取到图片在线地址的地方,调用“编辑用户信息”接口,实现修改头像
      • 封装“编辑用户信息”接口函数
      • 在引入接口函数,并在在成功获取到图片在线地址的地方调用函数,实现修改头像

1653555477092.png

1653566749942.png

1653566777817.png

统一设置token - 请求拦截器的使用

什么是请求拦截器?答:请求发送出去之前会触发的一个函数。

因为项目中很多接口都需要传token给后端,因此我们可以把传递token的代码统一封装起来,那么我就可以利用请求拦截器来完成这个功能。

在src/utils/request.js中添加如下代码即可

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    // 统一设置token 传递给后端
    // console.log(10, config);
    let token = localStorage.getItem("75-token")
    // 当token存在的时候 ,才把token传递给后端
    if(token){
        config.headers.Authorization = token
    }
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

1653566589458.png