前言

大言不惭的取了这个标题,但作为开发了 4 年多的 Fantastic-admin 的作者,回顾这一路走来,从一开始被指责抄袭,到现在拥有数百名付费用户和几十家付费企业。我认为我的开发理念应该是得到了大众的认可。

所以趁着 Fantastic-admin 发布 v5.0 之际,借由这篇文章回顾一下过去我做了哪些事。以及最近这一年,从 v4.0 到 v5.0 ,又带来了哪些改变。

叙叙旧

光听我在自夸,肯定有人不屑,那不妨先看看过去 Fantastic-admin 引领了哪些潮流?

仿 chrome 标签页样式

这个风格当然并非原创,我也是参考了 chrome 的标签页样式,但当时在 2020 年的后台框架里,Fantastic-admin还是第一个这么做的。

但是现在,vben / pure-admin / soybean-admin / shop-vite ,你叫得上名的,叫不上名的,几乎快成为大部分后台框架的标配了。

更直观的布局预览

我从 v2.0 开始就提供了这种更直观的布局预览,方便用户可以清楚的知道将使用哪种布局。

当然不仅仅这一处,和布局/样式相关的配置,我都尽量图形化、图标化,毕竟图案比起文字,更容易让人理解。

现在大部分后台框架,也都采用了这种方式,甚至直接借鉴了我的代码。

三方UI组件库可替换

我在 2023 年的时候提供了三方 UI 组件库可替换的特性,并且也专门整理了一篇文章《用1100天做一款通用的管理后台框架》,所以这里就不过多介绍了。

去年 vben 发布 5.0 的时候,发现他们也提供了这个特性,为此我还专门加了 vben 的作者。

因为当时我在设计这个方案的时候,也花了不少时间,所以当看到 vben 也提供了这个特性,这种开发理念上的默契,还是很让我感到开心的,并且也得到了 vben 作者的认可。

v4.0 -> v5.0

聊完了过去,那就来看看从 v4.0 到 v5.0 ,带来了哪些改变。

引入 shadcn-vue

2023 年 shadcn/ui 大火,我也是第一时间就关注到了,但很遗憾官方并没有提供 vue 的支持。

当时我在做三方 UI 组件库可替换的方案调研时,还没有出现 shadcn-vue,所以错过了 shadcn 。但用过 Fantastic-admin v4.0 的用户应该是能发现,虽然没有用上 shadcn ,但配色和样式和 shadcn 是非常相似了。

如今 shadcn-vue 也已经成熟可用,所以 v5.0 我直接引入了 shadcn-vue ,大量组件使用 shadcn-vue 进行了重新封装,并且还重写了登录界面,让替换 UI 组件库变得更容易了。

主题同步

用过 shadcn-vue 的应该都知道,shadcn-vue 提供的每一套主题,都包含了明暗两种配色。

但它并不支持明暗模式下分别使用不同的主题,所以我专门增加了主题同步的特性,当关闭同步时,可以在明暗模式下分别使用不同的主题。

登录过期弹窗

登录状态通常都有时效性,如果后端没有做 token 无感刷新,那么前端就可能出现用户在进行某个操作时,接口返回 token 过期,强制被登出并跳转到登录页。

针对在接口请求时触发登录过期,我专门增加了一个配置项,允许开发者可以开启登录过期弹窗,最大程度保留了当前操作的数据。

检查更新

虽然是web应用,刷新一下页面就可以看到最新版本,但如何通知用户刷新,也是一个问题。

所以我增加了一个最低成本的纯前端检查更新方案,当然如果有更复杂的场景,也提供的很方便的自定义。

全局预留插槽

大部分后台框架,核心功能都集中在了布局组件上,如下:

这意味着开发者如果要增加一些个性化的功能,就需要直接修改到框架的核心代码。这不仅增加了开发者的心智负担,而且后续对框架升级或者迁移代码,也会变得非常麻烦。

所以我增加了预留插槽这个特性,只需要创建约定文件名的组件,就能在不侵入框架核心代码的情况下,给布局组件中各个位置插入自定义内容。

更多插槽请查看

导航栏面板模式

相对于传统导航栏需要层层展开,面板模式可以更直观的看到所有导航菜单。

更重要的一点是,无需修改任何配置,即可轻松在多种导航栏模式中切换。

小细节

除了上面这些能明显感知到变化的新特性,也有一些不起眼的小细节。

滚动遮罩

支持滚动的区域,超出部分都增加了一个淡出的遮罩,增强的用户交互体验。

其实从很早的版本就提供的类似的特性,只不过在 v5.0 中,将这这特性风格统一了,并且还封装成了一个独立的组件,方便开发者使用。

更合理的动效

主导航分别在顶部和侧边时,次导航的切换动效也做了区分。

你可以看到,当主导航在侧边时,从上到下依次点击,次导航的切换动效也是从底部向上滑入,反之亦然,就像你滑动鼠标滚轮一样符合直觉。

如果主导航在顶部时,次导航的切换动效则也变成了左右滑动。

总结

这篇文章介绍的功能还仅仅是 Fantastic-admin 众多功能里的冰山一角,如果你之前从未听说过 Fantastic-admin ,那么不妨来了解使用一下。

还是那句话,或许你正在使用其他的后台框架,或许你觉得后台框架大部分都大同小异,但我还是强烈建议你来了解一下 Fantastic-admin ,因为我依旧认为这是 2025 年最值得你上手使用的后台框架。

2025年,Fantastic-admin 这款后台框架将继续引领潮流的更多相关文章

  1. 爆款预订,2022 年最值得关注的后台框架 —— Fantastic-admin

    前言 如果 2021 年你还没有听说过 Fantastic-admin ,那即将到来的 2022 年可不要再错过了. Fantastic-admin 做为一款开箱即用的 Vue 中后台管理系统框架,距 ...

  2. 神奇!这款 Vue 后台框架居然不用手动配置路由

    前言 做 Vue 开发脱离不了路由,尤其是中大型项目,页面多且杂,在配置路由的时候总是会变得逐渐暴躁,因为费时,并且又没有什么太多技术含量,总觉得是在浪费时间. 另外如果接手了别人的项目,当业务有变更 ...

  3. layui后台框架的搭建

    layui(谐音:类UI) 是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用.其外在极简,却又不失饱满的内在,体积轻盈,组件丰盈,从 ...

  4. Spring Boot(5)一个极简且完整的后台框架

    https://blog.csdn.net/daleiwang/article/details/75007588 Spring Boot(5)一个极简且完整的后台框架 2017年07月12日 11:3 ...

  5. [转]50个极好的bootstrap 后台框架主题下载

    50个极好的bootstrap 后台框架主题下载 http://sudasuta.com/bootstrap-admin-templates.html 越来越多的设计师和前端工程师开始用bootstr ...

  6. ABP ModuleZero后台框架materialize禁止模拟select和checkbox

    使用abp modulezero自带那个后台框架发现一个操蛋的问题,所有的select和checkbox都被改成div模拟的,虽然比原生美观,但有时候真的很难用. 比如说要用select做一个联动菜单 ...

  7. BeginnerAdmin后台框架的使用!

    基于layui的后台框架,我比较喜欢使用BeginnerAdmin模板.但是在构建的时候可能会遇到一些问题. 问题一:侧栏出不来: 报错是这样的: 这个错误:说明的是 navbar.js没有引进来. ...

  8. 史上最强大的wordpress后台框架redux-framework安装及使用

    redux-framework的相关链接 Redux的官方网站:https://reduxframework.com/ Redux文档查询:https://docs.reduxframework.co ...

  9. 基于vite2+electron12后台管理模板|Electron后台框架系统

    前一溜时间有给大家分享一个 electron+vite跨端短视频 项目.这次分享的是vite2.x和electron实现跨平台后台框架,支持国际化多语言配置.导航菜单+树形菜单两种路由菜单模式.展开/ ...

  10. 转-基于NodeJS的14款Web框架

    基于NodeJS的14款Web框架 2014-10-16 23:28 作者: NodeJSNet 来源: 本站 浏览: 1,399 次阅读 我要评论暂无评论 字号: 大 中 小 摘要: 在几年的时间里 ...

随机推荐

  1. Java单例对象同步问题探讨

    在本文中,作者向大家讲述了Single Call 模式的原理,同时也介绍了Single Call 模式的实现问题.  评论: 邓明 (dengming@cn.ibm.com), 高级信息系统工程师, ...

  2. Swing 线程之SwingUtilities.invokeLater()

    现在我们要做一个简单的界面. 包括一个进度条.一个输入框.开始和停止按钮. 需要实现的功能是: 当点击开始按钮,则更新进度条,并且在输入框内把完成的百分比输出(这里只做例子,没有真正去做某个工作). ...

  3. HAR文件

    简介 HAR(HTTP Archive format),是一种或 JSON 格式的存档格式文件,通用扩展名为 .har.Web 浏览器可以使用该格式导出有关其加载的网页的详细性能数据. 使用场景 在开 ...

  4. 理解Flink之三Transformation

    Transformation 是 Flink操作的底层实现,无论是map还是Flatmap. DataStream类中包含两个变量: StreamExecutionEnvironment Transf ...

  5. java 去重元素,元素是一组没有顺序的字符

    1.需求描述: 有一个大集合,大集合中的元素是是一个小集合,要求在大集合中的小集合不能重复,小集合中的元素没有顺序. 例如有个大集合 [[a,b],[b,c]] 向这个元素中添加元素[b,a]就是添加 ...

  6. 攻防世界:Web习题之 get_post

    攻防世界:Web习题之 get_post 题目内容 https://adworld.xctf.org.cn/challenges/list 题目首先需要我们用GET方式提交一个名为a,值为1的变量: ...

  7. AI产品落地的多角度探索与实践

    AI产品落地的多角度探索与实践是一个复杂而多维的过程,它涉及技术创新.行业应用.人机协作等多个方面.在构建多智能体平台Agent Foundry的基础上,我们可以将其应用于制造业.教育.政府.跨境电商 ...

  8. 【Amadeus原创】idea实现java前后端代码自动化调试

    代码结构: 1,meeting-server 后端  springBoot maven 2,metting-ui 前端    nodejs 3,两个文件夹都在early-meeting文件夹中 如何在 ...

  9. 【Javaweb】【Maven】Use IDEA and Maven create a Java Web Application 

    Open This Url :https://mvnrepository.com/ Search Servlet Select the latest version Copy it! Paste An ...

  10. mongodb和spring集成中MongoTemplate的总结是使用方法

    基础实体类@Document(collection="person") class Person{ String id; String name; int age; public ...