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.2arco-design 版本到 v2.32.0arco-design 版本到 v2.26.0main.ts 执行流程,优化代码arco-design 版本到 v2.26.0main.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 Proviews 中动态加载路由表 中动态加载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。切记:不要加文件后缀名.vueisRootPath属性,可以自定义 / 路径跳转的页面地址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,即可获得下载地址。
由于本篇文章过长,所以其它版本的升级内容放到下一篇进行讲解。