Files
mes-ui-d2/docs/zh/learn-update/ice-1.2.6-to-1.2.7.md
liyang d314a7e0c6 doc update
Former-commit-id: cb298b728c04e8aa97605a46e44ab7483e37059b [formerly cb298b728c04e8aa97605a46e44ab7483e37059b [formerly cb298b728c04e8aa97605a46e44ab7483e37059b [formerly cb298b728c04e8aa97605a46e44ab7483e37059b [formerly 911ee0a8b3092d8349533da6fb045b7edf3cae9e [formerly e4becd3f2e6959a3bc61c45e240c29f5f617d585]]]]]
Former-commit-id: 71eb37e74b0b115e9a22bd8bb0133f0b94b78ee2
Former-commit-id: a7e272d87f5f146343988c6d860e2b9fcc73ddb9
Former-commit-id: 69c6ffd3b7dea123c9c63a1a51428dc427531cfe [formerly 98910e533e636d6d5a2c67f35fb9322b79a7b430]
Former-commit-id: 83a15430a9a355911460e50f97b4d3bb3f399893
Former-commit-id: 9a6cf38ef701ef35e1139b33f1d3731d8d69e598
Former-commit-id: 25ed7e57bfa00b63a23ed16363956bc83e0ab23d
Former-commit-id: 115feb871277d0d4e5957bba14db27abcf28e107
Former-commit-id: 957b684755ff1ab7275143e4de71f10901b6eda7
2018-08-26 16:55:12 +08:00

5.1 KiB

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月更新: 高级数据持久化|标签页右键|模块化等》

::: tip 旧版文档 如果您暂时不想升级到新版本,旧版本文档会一直为您保留,文档地址 :::

如何升级

备份旧项目

首先将您的旧项目整体复制一份到其它位置,防止修改失败丢失文件。

下载新版本 D2Admin ICE

初始化成功后您应该有两个项目:

移动页面文件

如果您使用飞冰创建的页面,您的业务页面应该在 pages 目录下,例如下图中的 page6 文件夹:

将您的业务代码文件全部转移至新版项目的 pages 目录:

更新路由和菜单

将旧版本中的 menuConfig.js 和 routerConfig.js 移动到新项目中的同样位置,替换新版本初始化时的默认文件:

移动到新文件夹:

选择替换已有文件:

更新 package.json

由于您之前的项目中会使用一些区块,区块在创建在您的项目里时会自动在 package.json 文件中新增相关依赖,现在您需要手动将这些依赖添加到新的项目中:

::: tip lodash.uniqueid 这个插件不需要添加到新的项目中,新项目中全量引入了 lodash :::

重新安装依赖

启动新的项目

重新安装依赖完成后启动新的项目,即完成了旧项目的升级工作。

特殊情况

如果您修改了包含但不仅限于以下文件时,您需要注意将您以前的修改更新至新的项目:

  • pages 目录下的首页和登陆页面
  • 公用样式和主题
  • HeaderAside 布局组件
  • store

store 更新说明

此版本对 store 文件夹下的设置进行了拆分:

旧版的 d2admin 模块所有代码写在了一个文件中:

导致这个模块看起来足够混乱以至于在修改某些功能时很不容易找到相关的代码。

新版的 D2Admin ICE 针对这部分做了优化,将这个模块根据功能进行了拆分:

这样在您需要修改某些功能时可以更快速地找到对应的代码位置。但是相应而来的是模块中的方法在调用时的方法都发生了变化,以登陆为例:

旧版(示例):

<script>
import { mapActions } from 'vuex'
export default {
  methods: {
    ...mapActions([
      'd2adminLogin'
    ]),
    submit () {
      this.d2adminLogin({
        vm: this,
        username: '',
        password: ''
      })
    }
  }
}
</script>

新版(示例):

<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 实用工具

新版的数据持久化更加强大,文档见 数据持久化

请在业务代码中注意将您使用的数据持久化方法升级。

需要帮助

交流群