Merge branch 'master' of github.com:d2-projects/d2-admin into feature/crud

Former-commit-id: 10bfd15382c39ef96f1a1e84cfb02a242edc9935 [formerly 81d05ac3f5cbb9b59306504e782262b55459221d] [formerly 10bfd15382c39ef96f1a1e84cfb02a242edc9935 [formerly 81d05ac3f5cbb9b59306504e782262b55459221d] [formerly 10bfd15382c39ef96f1a1e84cfb02a242edc9935 [formerly 81d05ac3f5cbb9b59306504e782262b55459221d] [formerly 81d05ac3f5cbb9b59306504e782262b55459221d [formerly 0bc2f68bba264b429fcadab099721f3225e431fb [formerly 6c40265df75b12affc58777a182f8c400228aaad]]]]]
Former-commit-id: 9da4063c488067a19fa21c52ba11a8d1f88d0f8e
Former-commit-id: 67b96181015d522c5b4cd2e4015d789e5034af8b
Former-commit-id: 76d833bdaded3568f3051f090d0a225f0a5ed5e8 [formerly f5022694704ffb411392068ef4f5d92000b18bde]
Former-commit-id: fb1b5abde826d4fd98efac4fc20ed01c8c492a7e
Former-commit-id: 3bb43b65d0a1589c3be8ccd1437072e217dc2565
Former-commit-id: 51bb85a2511abee8dcd0bd16c51a6c1150b96da6
Former-commit-id: 2542b2f40a9ef75852754958982a993f87793537
Former-commit-id: 316f54b095bee521f99139fecd1d711bbb2fbb13
This commit is contained in:
孙昊翔
2018-08-26 18:21:43 +08:00
6 changed files with 191 additions and 7 deletions

View File

@@ -16,5 +16,11 @@ features:
details: 已经为你准备好了很可能用到的插件和组件,专为 D2Admin 设计,或者来自第三方。
- title: ElementUI组件库
details: 集成完善且强大的 ElementUI随意搭配使用任何 ElementUI 组件。
- title: 可视化构建
details: 支持 CLI3 的可视化面板,并且提供飞冰版本脚手架。
- title: 文档完善
details: 提供事无巨细的文档说明,并且文档也一直在更新完善。
- title: 活跃交流群
details: 提供QQ和微信群供大家集中讨论学习或者互相解决问题。
footer: MIT Licensed | Copyright © 2018-present FairyEver
---

View File

@@ -0,0 +1,3 @@
# 升级指引
D2Admin 自动发布以来一直保持每个月至少一次大升级的更新速度,在带来新的功能同时,不可避免地会对您的开发造成不便,本章将会指引您晚上您的项目升级。

View File

@@ -0,0 +1,158 @@
# ICE 1.2.6 TO 1.2.7
> D2Admin ICE 1.2.6 是基于 D2Admin 1.1.5 版本简化而来。
> D2Admin ICE 1.2.7 是基于 D2Admin 1.2.0 版本简化而来。
D2Admin 1.1.5 - 1.2.0 之间修复了一些之前的错误,有一些小的功能改进,也有较大的升级。新功能介绍见 [《D2Admin 8月更新: 高级数据持久化|标签页右键|模块化等》](https://juejin.im/post/5b7d9640f265da436631a5a7)
::: tip 旧版文档
如果您暂时不想升级到新版本,旧版本文档会一直为您保留,[文档地址](http://app.d3collection.cn/d2-admin-doc/1.1.11/zh/)
:::
## 如何升级
### 备份旧项目
首先将您的旧项目整体复制一份到其它位置,防止修改失败丢失文件。
### 下载新版本 D2Admin ICE
初始化成功后您应该有两个项目:
![](http://fairyever.qiniudn.com/20180826155154.png?imageMogr2/auto-orient/thumbnail/1480x/blur/1x0/quality/100|imageslim)
### 移动页面文件
如果您使用飞冰创建的页面,您的业务页面应该在 pages 目录下,例如下图中的 page6 文件夹:
![](http://fairyever.qiniudn.com/20180826155652.png?imageMogr2/auto-orient/thumbnail/1480x/blur/1x0/quality/100|imageslim)
将您的业务代码文件全部转移至新版项目的 pages 目录:
![](http://fairyever.qiniudn.com/20180826160031.png?imageMogr2/auto-orient/thumbnail/1480x/blur/1x0/quality/100|imageslim)
### 更新路由和菜单
将旧版本中的 menuConfig.js 和 routerConfig.js 移动到新项目中的同样位置,替换新版本初始化时的默认文件:
![](http://fairyever.qiniudn.com/20180826160219.png?imageMogr2/auto-orient/thumbnail/1480x/blur/1x0/quality/100|imageslim)
移动到新文件夹:
![](http://fairyever.qiniudn.com/20180826160642.png?imageMogr2/auto-orient/thumbnail/1480x/blur/1x0/quality/100|imageslim)
选择替换已有文件:
![](http://fairyever.qiniudn.com/20180826160659.png?imageMogr2/auto-orient/thumbnail/1480x/blur/1x0/quality/100|imageslim)
### 更新 package.json
由于您之前的项目中会使用一些区块,区块在创建在您的项目里时会自动在 package.json 文件中新增相关依赖,现在您需要手动将这些依赖添加到新的项目中:
![](http://fairyever.qiniudn.com/20180826161511.png?imageMogr2/auto-orient/thumbnail/1480x/blur/1x0/quality/100|imageslim)
::: tip
lodash.uniqueid 这个插件不需要添加到新的项目中,新项目中全量引入了 lodash
:::
### 重新安装依赖
![](http://fairyever.qiniudn.com/20180826160847.png?imageMogr2/auto-orient/thumbnail/1480x/blur/1x0/quality/100|imageslim)
### 启动新的项目
重新安装依赖完成后启动新的项目,即完成了旧项目的升级工作。
![](http://fairyever.qiniudn.com/20180826162202.png?imageMogr2/auto-orient/thumbnail/1480x/blur/1x0/quality/100|imageslim)
## 特殊情况
如果您修改了包含但不仅限于以下文件时,您需要注意将您以前的修改更新至新的项目:
* pages 目录下的首页和登陆页面
* 公用样式和主题
* HeaderAside 布局组件
* store
## store 更新说明
此版本对 store 文件夹下的设置进行了拆分:
旧版的 d2admin 模块所有代码写在了一个文件中:
![](http://fairyever.qiniudn.com/20180826162820.png?imageMogr2/auto-orient/thumbnail/1480x/blur/1x0/quality/100|imageslim)
导致这个模块看起来足够混乱以至于在修改某些功能时很不容易找到相关的代码。
新版的 D2Admin ICE 针对这部分做了优化,将这个模块根据功能进行了拆分:
![](http://fairyever.qiniudn.com/20180826163056.png?imageMogr2/auto-orient/thumbnail/1480x/blur/1x0/quality/100|imageslim)
这样在您需要修改某些功能时可以更快速地找到对应的代码位置。但是相应而来的是模块中的方法在调用时的方法都发生了变化,以登陆为例:
旧版(示例):
``` vue {5-14}
<script>
import { mapActions } from 'vuex'
export default {
methods: {
...mapActions([
'd2adminLogin'
]),
submit () {
this.d2adminLogin({
vm: this,
username: '',
password: ''
})
}
}
}
</script>
```
新版(示例):
``` vue {5-14}
<script>
import { mapActions } from 'vuex'
export default {
methods: {
...mapActions('d2admin/account', [
'login'
]),
submit () {
this.login({
vm: this,
username: '',
password: ''
})
}
}
}
</script>
```
::: tip 规律
在调用 vuex D2Admin 系统模块时,无论是直接操作还是使用:
* `mapState`
* `mapActions`
* `mapMutations`
都要注意现在的方法和数据都根据功能模块化了,如果您之前业务代码中使用了相关的数据和方法,请注意。
:::
## 数据持久化更新说明
旧版的数据持久化文档 [VUEX 实用工具](http://app.d3collection.cn/d2-admin-doc/1.1.11/zh/plugins/vuex.html)
新版的数据持久化更加强大,文档见 [数据持久化](http://app.d3collection.cn/d2-admin-doc/lastest/zh/sys-db/)
请在业务代码中注意将您使用的数据持久化方法升级。
## 需要帮助
[交流群](/zh/communication-group-chat/)