百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

基于 Ant Design Vue 的 Vue3.0 框架

toyiye 2024-04-06 13:46 20 浏览 0 评论

Makeit-Admin-Pro,是基于 Vue 3.0 + Vite 开发的一套适合中后台管理项目的集成框架,依赖于阿里的 Ant Design Vue 2.x 版本,内置了登录页面 / 注册页面 / 验证码 / 页面布局等常用模块,开箱即用,现阶段还在持续更新中 ...

开发这套统一的中后台管理项目的 UI 框架,主要就是为了免去那些没完没了的后台项目中的基础构建,通过 npm 安装引入的方式,以组件引入的形式,渲染想要的但又在无数个项目中重复的基础页面。

现阶段还在持续开发完善中,所以暂时 还没有部署 Demo 及撰写相关的说明或使用文档。Github 地址附加在最后的扩展链接中,有需要的可以看看,也可以在 npm 的官网中搜索 makeit-admin-pro 查看

安装

直接通过 npm 命令安装即可。

// 安装
npm i makeit-admin-pro

// 使用
import { createApp } from 'vue'
import MakeitAdminPro from 'makeit-admin-pro'
import 'makeit-admin-pro/dist/miitvip.min.css'
createApp(App).use(MakeitAdminPro)


布局

页面布局采用常用的左侧菜单 + 顶部导航 + 内容区域,引入布局组件后可以直接进行 vue 单页面开发,内容会直接嵌入到 Content 区域。

// 直接
<template>
    <mi-layout></mi-layout>
</template>

页面布局 - 展开左侧菜单

页面布局 - 收起左侧菜单


菜单

左侧菜单通过全局变量 $g 进行配置。也就是说,菜单 menu 完全可以根据权限系统配置,通过接口等的方式获取后再赋值形成菜单列表,菜单的字段属性符合 RouteRecordRaw 即可,其中内含的 meta 属性,自定义性质比较强,所以 icon / tag 等都包含在这个属性内进行判断渲染了。

import { defineComponent, createVNode } from 'vue'
import { ThunderboltOutlined } from '@ant-design/icons-vue'

export default defineComponent({
  created() {
    this.$g.menus.items = [{
      name: 'start',
      path: '/start',
      meta: {
        title: '快速上手',
        subTitle: 'Getting Start',
        icon: createVNode(ThunderboltOutlined),
        tag: {color: '#f50', content: 'Hot'}
      }
    }, ...]
  }
})


登录

登录也非常简单,引入组件即可。不过现在定制性并没有那么好,背景图,表单等可以通过传参的形式自行定制,但登录页面的布局不支持定制,如下图所示。

// 未开启验证码
<template>
    <mi-login action="v1/login"></mi-login>
</template>

// 开启验证码
<template>
    <mi-login action="v1/login" captcha-init-action="v1/captcha/init" captcha-verify-action="v1/captcha/verification"></mi-login>
</template>

登录页面

验证码

登录页面 - 手机端的显示效果


注册

注册效果与登录的差不多,加了一些内容输入时的弹窗实时提醒信息。

注册页面


工具

另外也封装了不少基础内容,大致的列一下:

  • Storage 存储。暴露的变量为 $storage,可直接通过 this.$storage.get 等形式进行取值 / 设定值等。
  • Cookie 存储。暴露的变量为 $cookie,方法也与 storage 类似,get / set / del 等。
  • Http 工具。暴露的变量为 $http,内含常用的 get / post / put / patch / delete / options / head 等常用方法,通过 this.$http.get 等形式直接调用(基于 axios 封装)。
  • Api 类。该类主要是封装 API,加版本号等操作,可直接通过 this.$g.api 进行赋值,通过 this.api.login 形式获取相应 API 即可。
  • Tools 工具类。暴露的变量为 $tools,内含 on 事件绑定 / off 事件解绑等常用的工具类函数。通过 this.$tools.on(...) 形式进行调用。
  • Config 配置。暴露的变量为 $g,配置全局变量,内含常用的正则,站点标题,站点描述等公用常量。


总结

老早在 Vue 2.x 版本的时候,结合 view-design 组件库,用 template 的形式集成过一些基础框架的内容,只是一直没有再去整理,这次恰好 Vue 3.x 版本也出来了,也就直接用 Vue 3.x 版本 + Vite + TSX 进行整理开发了,也当是初步探索 Vue 3.x 的开发。最近有时间的时候,大部分都是用于这个框架的组件开发了,现在还在持续开发中,等想要做的组件或基础功能完善了之后,再整 Demo,再整理整理使用文档。

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码