项目第二天

1 TabBar 处理

  • 父路由:一个空页面,包含一个 tabbar,中间留子路由出口
  • 子路由:首页 问答 视频 我的

layout 配置一级路由

{
  path: '/',
  component: () => import('@/views/layout')
}

2创建对应页面的vue文件

3根据user判断不同的状态

<!-- 已登录头部 -->
<div v-if="user" class="header user-info">   
    ...
</div>
<!-- /已登录头部 -->

<!-- 未登录头部 -->
<div v-else class="header not-login">  
    ....
</div>
<!-- /未登录头部 -->

<!-- 退出 -->
 <van-cell
    v-if="user"  
    class="logout-cell"
    clickable
    title="退出登录"
/>
<!-- /退出 -->

4.用户退出

只需要点击的时候将仓库中的user数据删除即可

onLogout () {
  // 退出提示
  // 在组件中需要使用 this.$dialog 来调用弹框组件
  this.$dialog.confirm({
    title: '确认退出吗?'
  }).then(() => {
    // on confirm
    // 确认退出:清除登录状态(容器中的 user + 本地存储中的 user)
    this.$store.commit('setUser', null)
  }).catch(() => {
    // on cancel
    console.log('取消执行这里')
  })
}

5.展示用户信息

步骤:

这是一个页面一打开请求数据的过程。我们基本可以把逻辑梳理为以步骤,可以在其他功能模块中同样是使用

  • 第1步: api目录下面文件里面封装请求方法
  • 第2步:data里面定义变量用于存储数据
  • 第3步:methods里定义获取数据方法
    • 3.1 页面里面导入api目录里封装请求方法
    • 3.2 methods方法里面调用方法发送请求
    • 3.3 请求错误处理
    • 3.4 请求成功赋值data里面变量
  • 第4步:created里面调用这个方法
  • 第5步: 渲染数据

6.优化token

在 src/utils/request.js 中添加拦截器统一设置 token:

// 请求拦截器  
request.interceptors.request.use(function (config) {
  // config :本次请求的配置对象
  // config 里面有一个属性:headers
  const { user } = store.state
  if (user && user.token) {
    config.headers.Authorization = `Bearer ${user.token}`
  }
  return config
}, function (error) {
  return Promise.reject(error)
})

api/user.js 里面的方法进行重构测试

export const getUserInfo = () => {
  return request({
    method: 'GET',
    url: '/v1_0/user',
    // 发送请求头数据           
    /*  
    headers: {
      // 注意:该接口需要授权才能访问
      //       token的数据格式:Bearer token数据,注意 Bearer 后面有个空格
      Authorization: `Bearer ${store.state.user.token}`
    }
    */
  })
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值