时间过的真快,自从 1.1.4 发布又过去一个月了,这个月依旧天天在忙,D2Admin 也进行了大重构,先介绍一下此次的 1.1.5 相比 1.1.4 有哪些大的改变吧 ~html
D2Admin 此次完成了 vue-cli3 的重构,省去了之前繁琐的 webpack 配置,打包速度更快,环境变量设置更简单,文件目录更简洁。vue
建立页面最重要的 d2-container 组件进行了重构,详见 页面容器,依旧是支持 full
+ card
+ ghost
三种模式,不一样的是三种模式如今都分别支持 header
和 footer
插槽,而且都支持开关自定义滚动条,而且提供了滚动条设置的 props。webpack
type="full"git
type="card"github
type="ghost"web
在 页面容器 文档中我也分别为三种模式 x 是否有插槽 x 是否启用滚动条优化的各类可能作了大量插图介绍,欢迎去文档站点查看。vuex
在线示例(请先完成一次登录)vue-cli
首先认可一个错误:在 1.1.4 中多标签页的缓存逻辑是有一点问题的,致使即便关闭了多页控制组件的 tab,这个页面依旧在缓存中。在 1.1.5 中重写了页面缓存逻辑,这个错误被修复。浏览器
在 1.1.4 中,多页控制的逻辑有些写在控制组件内,有些写在 vuex 中,而且也没有公布使用方式。在 1.1.5 中全部的页面控制都从新组织后放入 vuex,而且给出了全部的文档和示例,这意味着若是你有须要,能够随意使用这些 API 控制多标签页的打开和关闭。缓存
API | 做用 |
---|---|
d2adminPageOpenNew | 打开新页面 |
d2adminTagClose | 关闭一个页面 |
d2adminTagCloseLeft | 关闭当前页左侧页面 |
d2adminTagCloseRight | 关闭当前页右侧页面 |
d2adminTagCloseOther | 关闭当前页除外的其它页面 |
d2adminTagCloseAll | 关闭全部页面 |
详见 VUEX 实用工具
在之前的版本中,菜单的数据切换是在主布局组件内完成的,这就致使二次开发时有不少朋友询问我应该怎样修改菜单的设置,针对这个问题 1.1.5 新开放了顶栏菜单和侧边栏菜单的控制 API:
API | 做用 |
---|---|
d2adminMenuHeaderSet | 设置顶栏菜单 |
d2adminMenuAsideSet | 设置侧边栏菜单 |
举个栗子,如今你能够这样设置:
// 在任何地方 // menuHeader 是已经处理好的菜单数据 $store.commit('d2adminMenuHeaderSet', menuHeader) // 顶栏菜单更新完毕
就这么简单。
在线示例(请先完成一次登录)
详见 VUEX 实用工具
API | 做用 |
---|---|
util.cookies.set | 设置 cookie |
util.cookies.get | 获取 cookie |
util.cookies.getAll | 获取全部的 cookie |
util.cookies.remove | 删除 cookie |
为何不直接使用 cookie ?
util.cookies 内部使用 js-cookie 进行操做,而且在 cookie 名称上多作了一层逻辑封装,例如
util.cookies.set({ name: 'name', value: 'value', setting: { expires: 365 } })
实际存储的 cookie 是
d2admin-${version}-name
: value
使用
util.cookies.get('name')
实际取的也是 d2admin-${version}-name
最后你的 cookie 信息实际上可能相似这样(举例):
d2admin-1.1.5-name
: FairyEver
d2admin-1.1.5-uuid
: h8dsafy98du9f6yadsyf
d2admin-1.1.5-token
: dys87f89dsafy89adsh
这样作的好处是能够保证若是您的 D2Admin 升级到了新版本,打开时使用的数据必定是从新初始化的,而您在使用 cookie 时不管赋值仍是取值,都觉察不出这层包装
详见 Util 实用工具
数据持久化如今给二次开发提供了全新的 API
API | 做用 |
---|---|
d2adminUtilVuex2DbByUuid | 根据用户区分 将 store 某个值持久化 |
d2adminUtilDb2VuexByUuid | 根据用户区分 将持久化的 store 某个值复原 |
d2adminUtilVuex2Db | 全部用户公用 将 store 某个值持久化 |
d2adminUtilDb2Vuex | 全部用户公用 将持久化的 store 某个值复原 |
d2adminUtilDatabaseUser | 获取当前用户的持久化区域 |
d2adminUtilDatabaseUserClear | 清空当前用户的持久化区域 |
d2adminUtilDatabase | 获取全部用户公用的持久化区域 |
d2adminUtilDatabaseClear | 清空全部用户公用的持久化区域 |
借助这些 API 能够作什么?
详见 VUEX 实用工具
在线示例(请先完成一次登录)
不须要任何的操做,能够在 store 中得到用户的浏览器信息,数据格式示例:
{ browser: { name: "Chrome", version: "67.0.3396.99", major: "67" }, engine: { name: "WebKit", version: "537.36" }, os: { name: "Mac OS", version: "10.13.4" }, device: {}, cpu: {} }
API | 做用 |
---|---|
d2adminMenuAsideCollapseSet | 设置侧边栏收缩仍是展开 |
d2adminMenuAsideCollapseToggle | 切换侧边栏状态 |
而且如今侧边栏的状态会被自动持久化存储,也就是说刷新浏览器后侧边栏会保持收缩或者展开
为了让你们更简单地使用 D2Admin 搭建第一个页面,新书写了“快速上手”章节,后续计划会出一系列教程。
详见 快速上手
其它的更新信息见下节
首先感谢那些给我提出意见以及给我帮助的朋友(包括精神鼓励还有红包鼓励),你们的 star 也是对个人鼓励。
在一我的精力有限的前提下,我会尽可能吧 D2Admin 作的更好,如今只能承诺给你们:该有的之后都会有,这个项目会一直用心作下去,而且之后给你们比较惊喜的更新。
关于接下来的计划还有正在进行的其它计划,暂时还要保密,敬请期待吧!
既然作了,就要好好作,还要作好。
地址 | 描述 |
---|---|
团队主页 | D2Admin 所属的团队主页 |
中文文档 | 中文文档 |
完整版 预览地址 | 完整版 预览地址 |
完整版 github | 完整版 Github 仓库 |
完整版 码云 | 完整版 码云镜像仓库 |
简化版 预览地址 | 简化版 预览地址 |
简化版 github | 简化版 Github 仓库 |
简化版 码云 | 简化版 码云镜像仓库 |
在最后,若是你看完了,而且以为还不错,但愿能够到 项目主页 上点一个 star 做为你对这个项目的承认与支持,谢谢。