125 lines
5.0 KiB
Markdown
125 lines
5.0 KiB
Markdown
|
|
## 更新日志
|
|||
|
|
### 2020.8.30 更新
|
|||
|
|
* build: 打包后的文件从绝对路径改成相对路径,也就是说打包后的文件不能放在服务器根目录下。
|
|||
|
|
### 2020.8.14 更新
|
|||
|
|
* new: loading 从 `components/Index.vue` 挪到了 `App.vue`。axios 从 `components/Index.vue` 挪到了 `utils/request.js`,并对其进行了封装,方便复用。
|
|||
|
|
* new: 重构了 loading 和 axios 拦截器使用方式,并提供了一个 ajax DEMO 放在首页。
|
|||
|
|
### 2020.6.5 更新
|
|||
|
|
* new: 新增外链功能,点击菜单可以跳到一个新页面,地址为指定的 URL。
|
|||
|
|
* new: 新增独立路由页面功能,点击侧边栏可以跳转到单独的路由页面(铺满屏幕,顶级路由)。
|
|||
|
|
|
|||
|
|
具体示例请查看源码 `src/store/index` 和 [demo](https://woai3c.github.io/)
|
|||
|
|
### 2019.12.21 更新
|
|||
|
|
* refactor: 将 `404` 页面独立出来,单独展示(占满屏幕)
|
|||
|
|
* new: [新增 eslint,配合 vscode 可以自动格式化代码](https://github.com/woai3c/Front-end-articles/blob/master/eslint-vscode-format.md)
|
|||
|
|
* new: 新增 jest 单元测试
|
|||
|
|
* new: 页面标题 `document.title`,在 `src/utils/index` 下可设置默认的 `title`,在每个路由配置项上可设置对应的 `title`,具体示例请看代码
|
|||
|
|
|
|||
|
|
### 2019.12.13 更新
|
|||
|
|
* fix: 修复在IE下关闭标签栏时,页面抖动的问题
|
|||
|
|
* refactor: 同时将左右两栏的布局方式从 flex 布局更改为 fixed + margin 的方式
|
|||
|
|
|
|||
|
|
### 2019.10.30 更新
|
|||
|
|
* new: 在对应的菜单项上添加 `hidden` 属性,即可隐藏对应的菜单项,但还是可以在地址栏上输入对应的 URL 来访问页面。
|
|||
|
|
使用方法
|
|||
|
|
```js
|
|||
|
|
{
|
|||
|
|
type: 'ios-grid',
|
|||
|
|
name: 't1',
|
|||
|
|
text: '表格',
|
|||
|
|
hidden: true, // 隐藏此菜单 可以通过在地址栏上输入对应的 URL 来显示页面
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2019.10.14 更新
|
|||
|
|
* fix: 修复窗口宽度过小不会收缩侧边栏的问题
|
|||
|
|
* new: 打开页面时,默认展开和路由对应的菜单栏
|
|||
|
|
|
|||
|
|
### 2019.8.19 更新
|
|||
|
|
* fix: `components/Index.vue` 文件第 31 行代码的 `v-show="isShowAsideTitle"` 会造成侧边栏收缩时二级菜单隐藏,目前已修复。
|
|||
|
|
### 2019.7.24 更新
|
|||
|
|
* new: 增加页面进度条,跳转时显示
|
|||
|
|
|
|||
|
|
### 2019.6.25 更新
|
|||
|
|
* fix: 修复路由表冲突问题
|
|||
|
|
|
|||
|
|
退出当前用户,换账号重新登陆时,上个账号和现在的账号路由表会有冲突的问题,解决办法是在退出登陆时重置路由表。
|
|||
|
|
|
|||
|
|
具体实现请查看 `router/index.js`、`Login.vue` 和 `Index.vue` 的退出登陆回调方法。
|
|||
|
|
|
|||
|
|
### 2019.6.18 更新
|
|||
|
|
* new: 优化动态添加路由功能
|
|||
|
|
|
|||
|
|
以前的动态路由功能并不完善,首先要将所有的路由都添加到路由表里,然后根据后台返回的菜单栏数据来生成菜单。
|
|||
|
|
|
|||
|
|
导致的问题就是,虽然有页面在菜单栏上不显示,但由于已经添加到路由表里了,所以可以在地址栏上手动输入在菜单栏上不存在(但在路由表存在)的页面,进而可以越权访问。
|
|||
|
|
|
|||
|
|
现在除了必要的页面需要在一开始添加到路由表里,其他的页面都可以根据后台数据来自动生成。而且菜单栏上没有的页面,在地址栏上输入地址也是访问不了的。
|
|||
|
|
|
|||
|
|
另外,如果在未登陆时要访问某一指定页面,会重定向到登陆页,登陆成功后会自动跳到这个指定页面。
|
|||
|
|
|
|||
|
|
具体实现请看 `permission.js` 和 `util` 目录下的 `index.js` 文件
|
|||
|
|
|
|||
|
|
### 2019.3.14 更新
|
|||
|
|
|
|||
|
|
* new: 增加404页面
|
|||
|
|
|
|||
|
|
假如跳转到一个不存在的页面时会重定向到404页面
|
|||
|
|
|
|||
|
|
### 2019.3.8 更新
|
|||
|
|
|
|||
|
|
* new: 增加面包屑功能 用于展示当前页面的路径
|
|||
|
|
|
|||
|
|
* new: 增加权限控制功能,如果未登陆,访问所有页面都重定向到登陆页
|
|||
|
|
|
|||
|
|
### 2019.3.1 更新
|
|||
|
|
* new: 增加动态菜单栏功能
|
|||
|
|
|
|||
|
|
菜单项中的 `icon` 使用的是 `iview` 组件的 `icon` 组件。
|
|||
|
|
|
|||
|
|
数据格式:
|
|||
|
|
```js
|
|||
|
|
// 左侧菜单栏数据
|
|||
|
|
menuItems: [
|
|||
|
|
{
|
|||
|
|
name: 'Home', // 要跳转的路由名称 不是路径
|
|||
|
|
size: 18, // icon大小 非必填
|
|||
|
|
type: 'md-home', // icon类型 非必填
|
|||
|
|
text: '主页' // 文本内容
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
text: '二级菜单',
|
|||
|
|
type: 'ios-paper',
|
|||
|
|
children: [
|
|||
|
|
{
|
|||
|
|
type: 'ios-grid',
|
|||
|
|
name: 'T1',
|
|||
|
|
text: '表格',
|
|||
|
|
hidden: true, // 可以在菜单中隐藏此菜单项,但还是可以访问此页面,只是不能在菜单栏中看见。
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
text: '三级菜单',
|
|||
|
|
type: 'ios-paper',
|
|||
|
|
children: [
|
|||
|
|
{
|
|||
|
|
type: 'ios-notifications-outline',
|
|||
|
|
name: 'Msg',
|
|||
|
|
text: '查看消息'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
type: 'md-lock',
|
|||
|
|
name: 'Password',
|
|||
|
|
text: '修改密码'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
type: 'md-person',
|
|||
|
|
name: 'UserInfo',
|
|||
|
|
text: '基本资料',
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
```
|