Hello,大家好久不见,最近由于事情比较多没有及时的给大家分享AdminWork框架的最新进展,实在抱歉。
虽然没有及时和大家分享项目的进度,但项目也一直在不断的更新,在得到大家的反馈问题或者一些好的建议的时候我也会第一时间进行修复和优化。争取给大家更好的使用体验和带来更高效的开发。
那下面就和大家分享一下最近AdminWork各个版本做了哪些比较重要的优化和功能调整吧~~
「ArcoWork」版本主要的技术骨架:
❝ArcoDesign 简介 Arco Design 是由字节跳动UED-火山引擎和架构前端字节云团队联合推出的企业级设计系统。 Arco Design 拥有系统的设计规范和资源,同时依据规范提供了丰富的原子组件,覆盖了React、Vue、Mobile 等框架和方向。在原子组件基础上也提供了丰富的定制化工具,包括风格配置平台、物料平台等,也提供了资源平台包括 IconBox、设计资源库、Arco Pro 最佳实践等。 旨在帮助设计师与开发者解放双手,提升工作效率。更高效、高质量的打造符合业务规范的中后台应用。 「——arco.design官网」 ❞
arco-design
版本到 v2.37.1
上下
分栏arco-design
版本到 v2.35.2
arco-design
版本到 v2.32.0
arco-design
版本到 v2.26.0
main.ts
执行流程,优化代码arco-design
版本到 v2.26.0
main.ts
执行流程,优化代码post、get
支持泛型功能FormRender
组件,方便在构建表单项的时候,可以通过 render
方法自定义元素TableHeader.vue
中的组件布局样式Humburger.vue
组件中 展开和闭合
图标指示器显示不正确的 bug演示
页面部分 bugjsx
编写组件的功能 plugins: [
...
vueJsx(),
...
],
FormRender
中 添加常用的 表单元素
快捷渲染方式,如下: import {
Checkbox,
Input,
InputNumber,
Option,
Select,
SelectOptionData,
SelectProps,
} from '@arco-design/web-vue'
import { AllowedComponentProps, h, Ref } from 'vue'
export default function Render(props: any) {
if (!props || !props.formItem) {
throw new Error('miss formItem prop and check it')
}
return props.render(props.formItem, h)
}
export function renderInput(value: Ref<string>, props = {}) {
return (
<Input
onUpdate:modelValue={(newValue) => {
value.value = newValue
}}
modelValue={value.value}
{...props}
/>
)
}
...
Tabbar
按钮样式Vue Admin Work P
名字为 Admin Work Pro
views
中动态加载路由表
中动态加载views
和 本地 路由表
两种方式的结合。注:本地 路由表
方式的 优先级要高于
本地 views
的方式。(本项目默认的使用方式)views
中动态加载,但在某些场景下或者某些人的开发习惯,可能需要根据本地定义中的路由表(如:src/router/index.ts
中的 asyncRoutes
)中动态加载。如果接口中的菜单配置项和本地路由表中的配置项重复,优先使用本地路由表中的配置项。src/router/index.ts
中的路由分类constantRoutes
存放一些系统页面,如login
、redirect
、404
、403
、500
等asyncRoutes
存放一些需要根据权限加载的路由extraRoutes
存放一些由一级页面进入二级及多级页面,不需要在菜单中展示,同时也不需要根据权限加载的路由。如:列表详情页面routeName
属性,方便在有些时候可以自己命令菜单路由名称name
属性,项目目前使用的方式是根据 menuUrl
获取最后的路径为 name
属性值,如 /system/department
,就会以 department
为 name
属性。name
,这个时候就可以根据 routeName
配置项来指定,如指定为 my-department
。当没有配置此配置项时,还是会使用根据 menuUrl
获取最后的路径为 name
属性值。localFilePath
属性,方便在有些时候可以自己自定义 vue
文件路径menuUrl
从 src/views
中动态加载 .vue
文件。path
从 src/views
中动态加载 .vue
文件。localFilePath
在配置的时候要以views
为参考,可以配置成,如:system/department
或者 ./system/department
或者 /system/department
。切记:不要加文件后缀名.vue
isRootPath
属性,可以自定义 /
路径跳转的页面地址isRootPath
,则会以根据权限获取的菜单中的第一个元素的 children
属性的第一个元素的 menuUrl
指定为 /
路由的 redirect
属性值isRootPath
为 true
,则会以按顺序获取第一个路由children
属性并且不为空,则判定该路由不是叶子路由path
为 /
的路由,在访问 http://localhost:3000/
的时候会加载此配置路由,此路由不方便指定具体的 component
,但可以指定一个 redirect
属性,这样就可以动态配置此路由的跳转页面isRootPath
为 true
的时候,会把此路由的 path或者menuUrl
指定为 /
路由的 redirect
属性值
defaultRoutes
为了在一开始对接项目的时候,后端人员还没有准备好菜单接口,导致前端开发者不能进入主页面。如果设置获取 菜单
的地址为空时,会加载此 defaultRoutes
,否则会加载接口中的菜单数据根据角色获取菜单数据的接口
置为 ''
,对应本项目中就是,src/api/url.ts
中的以下地址 // 在有接口的时候,要配置成真实的接口
export const getMenuListByRoleId = '/getMenusByRoleId'
// 在没有接口时候,可以先配置成 '' ,等后台人员提供了接口再进行修改成真实的接口
export const getMenuListByRoleId = ''
getMenuListByRoleId
地址的时候,发现不是真实的地址,就会加载 defaultRoutes
中的路由,以能进入系统的主页面,进行其它的开发工作以上是 ArcoWork 版本的最新升级内容,内容比较多,下面重点说一下比较重要的更新版本如下:
自2.0.3版本起,ArcoWork增加了上下分栏布局模式。也是应很多人的需求,预览如下:
现在代码地址已经全部开源在github 和 gitee 上了,如果您还不知道如何获取代码,请关注《知码前端》公众号,回复数字1,即可获得下载地址。
由于本篇文章过长,所以其它版本的升级内容放到下一篇进行讲解。