vue3 + TS + vite 搭建中后台管理系统(完整项目)

vue3 + TS + vite 搭建中后台管理系统(完整项目)

    • 前言
    • 1、搭建步骤及方法
    • 2、集成多种插件功能,实现中后台按需使用
    • 3、新手学TS如何快速进入状态、定义TS类型
    • 4、layout搭建四款常见风格
    • 6、大屏搭建效果
    • 5、vue3+Ts+运营管理系统
      • 总结:

前言

要成功,先发疯,头脑简单往前冲!

三金四银,金九银十,多学知识,也不能埋头苦干,要成功,先发疯,头脑简单往前冲!

项目主要架构:
  1、安装框架开发
  2、配置vite 中使用 less 或 scss
  3、配置vite自动导入语法插件开发
  4、安装路由Router开发
  5、安装pinia(vue3+ts使用pinia更好用,vuex使用ts没有pinia优雅)
  6、安装element-ui-plus
  7、配置vite.config.ts
  8、新建confing文件夹,分别配置一些共用的ts
  9、layouts搭建菜单组件开发
    a、新建layouts模块文件
    a-1、index.vue 主要入口(一次性加载方式)[二选一个入口即可]
    a-2、indexAsync 主要入口(异步加载方式)[二选一个入口即可]
    a-3、LayoutVertical 分栏主入口[纵向:vertical]
    a-4、LayoutClassic 分栏主入口[经典:classic]
    a-5、LayoutTransverse 分栏主入口[横向:transverse]
    a-6、components 布局组件模块聚合[布局组件:components]
      a-6-1、Menu [左侧菜单栏]
      a-6-2、Main [右侧布局栏]
      a-6-3、Header [头部栏]
      a-6-4、Tabs [顶部Tabs切换]
      a-6-5、Footer [底部页脚]
      a-6-6、ThemeDrawer [布局切换栏]
    a-7、创建MenuList数据开发
    a-8、封装并异步调用接口数据开发
    a-9、安装mockjs,实现数据模拟开发
    a-10、安装nprogress进度条简单开发
  10、路由权限配置
  11、API接口配置
  12、登录页面开发
  13、首页开发
  14、安装拖动插件开发
  15、富文本插件安装开发
  16、引导页开发
  17、拖拽组件开发
  18、分屏开发
  19、在线打印开发
  20、charts开发
  21、高德地图开发
  22、西瓜视频开发
  23、数据大屏开发
  24、搭建框架插件安装注意问题
  25、TS类型基础定义文档说明

在这里插入图片描述

1、搭建步骤及方法

搭建方法参考上一篇文章
https://blog.csdn.net/weixin_44873831/article/details/129728248

1、安装框架:
    npm create vite@latest;

2、配置vite 中使用 less 或 scss:
    npm add -D less  或  npm add -D sass

3、配置vite自动导入语法插件
    npm install -D unplugin-vue-components unplugin-auto-import
    a、使用 npm install -D unplugin-vue-components unplugin-auto-import
    b、在vite.config.ts中引入
    c、出现报错,(找不到模块“unplugin-vue-components/vite”。你的意思是要将 "moduleResolution" 选项设置为 "node",还是要将别名添加到 "paths" 选项中?ts(2792))
    d、将tsconfig.json和tsconfig.node.json中的 "moduleResolution" 选项设置为 "node"
    e、删除"allowImportingTsExtensions",从 TypeScript 3.8 开始,这个选项已经被废弃了;

2、集成多种插件功能,实现中后台按需使用

框架集成多种插件,项目做并不是所有都能用到,在使用时可以按照需要的插件方法

在这里插入图片描述

3、新手学TS如何快速进入状态、定义TS类型

TS官网
新手建议先看看官网,了解大概后进行实操;
如果不知道从哪里开始,接着往下看:

// 了解基本的类型定义
	1、any // any类型,则允许被赋值为任意类型
    2void // void类型(空值),表示没有任何返回值的函数
    3、Interfaces // 接口定义类型
	a、 任意值 [let str:string;]: 如果是一个普通类型,在赋值过程中改变类型是不被允许的,任意值(Any)用来表示允许赋值为任意类型
        str = '123'

    b、 联合类型 [let str: string | number;]: 表示取值可以为多种类型中的一种
        str = '123'
        str = 123

    c、 数组类型的定义 [let arr: number[]]: 简单的方法是使用「类型 + 方括号」来表示数组:
        arr = [1,2,3]

    d、 接口(Interfaces)、泛型(Generics)、类(Classes)、枚举类型(Enums)等

    e、 泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性。

        `泛型变量T` T表示任何类型
        说明:`泛型的语法是尖括号 <> 里写类型参数,一般可以用T来表示`

        示例1// let swap = ('1',2)
          function swap<T, U>(tuple: [T, U]): [U, T]{
            return [tuple[1], tuple[0]]
          }
          function swap(tuple) {
            return [tuple[1], tuple[0]]
          }

        示例2let arr:Array<number> =[1,2,3];
        // 定义多个类型
        let arr:Array<number|string> =['1',2,3];
        了解更多往下看;

4、layout搭建四款常见风格

这里封装了4款风格切换
layouts文件夹

第一款:


在这里插入图片描述


第二款:


在这里插入图片描述


第三款:


在这里插入图片描述


第四款:


在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6、大屏搭建效果

大屏采用了 datav-vue3、echarts框架搭建
推荐使用:
官网:https://datav-vue3.netlify.app/
npm:pnpm install @kjgl77/datav-vue3
配合echarts:
官网:https://www.makeapie.cn/echarts
npm:npm install echarts --save
获取源码接着往下看!


第一款:拼夕夕大屏数据


在这里插入图片描述

第二款:城市大屏数据


在这里插入图片描述

大屏模块文件目录


在这里插入图片描述

5、vue3+Ts+运营管理系统

-项目预览-👆


总结:

前端路上 | 所知甚少,唯善学。
各位小伙伴有什么疑问,欢迎留言探讨。

— 关注我:前端路上不迷路 —




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/290500.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

csdn查看积分的方法(最快)

我在浏览别人“资源”的时候&#xff0c;发现需要积分下载。下面分享最快查看积分的方法&#xff0c;非常简单。 在个人主页&#xff0c;选择任意一篇文章。最左边会显示积分&#xff08;如果不在主页&#xff0c;点击上面的csdn头像会跳到首页&#xff09;。如图&#xff1a;…

Cesium自定义电子围栏特效材质

1.new Cesium.Viewer中添加 requestWebgl1: true, 2. 编写材质&#xff0c;主要分三步 &#xff08;1&#xff09;定义MaterialProperty &#xff08;2&#xff09;设置材质 &#xff08;3&#xff09;添加材质 //定义材质对象及变量 function DynamicWallMaterialPropert…

深入浅出Prometheus架构原理

目录 1 Prometheus简介 2 Prometheus 的优势 2.1 Prometheus 适用于什么场景 2.2 Prometheus 不适合什么场景 3 Prometheus 的架构 4 Prometheus 的组件 4.1 组件介绍 4.1.1 Prometheus Server 4.1.2 Exporter 4.1.3 Push Gateway 4.1.4 Grafana 4.1.5 Alert…

Python批量读取大量nc格式文件并导出全部时间信息

本文介绍基于Python语言&#xff0c;逐一读取大量.nc格式的多时相栅格文件&#xff0c;导出其中所具有的全部时间信息的方法。 .nc是NetCDF&#xff08;Network Common Data Form&#xff09;文件的扩展名&#xff0c;表示一种常用的科学数据存储格式。NetCDF是一种自描述的、可…

Alibaba Cloud Linux镜像操作系统超详细测评!兼容CentOS

Alibaba Cloud Linux是基于龙蜥社区OpenAnolis龙蜥操作系统Anolis OS的阿里云发行版&#xff0c;针对阿里云服务器ECS做了大量深度优化&#xff0c;Alibaba Cloud Linux由阿里云官方免费提供长期支持和维护LTS&#xff0c;Alibaba Cloud Linux完全兼容CentOS/RHEL生态和操作方式…

【基础篇】十二、引用计数法 可达性分析算法

文章目录 1、Garbage Collection2、方法区的回收3、堆对象回收4、引用计数法5、可达性分析算法6、查看GC Root对象 1、Garbage Collection C/C&#xff0c;无自动回收机制&#xff0c;对象不用时需要手动释放&#xff0c;否则积累导致内存泄漏&#xff1a; Java、C#、Python、…

跟着仙凡兄学习 ros2 ubuntu与windows的安装(本人小白开始,一步一步跟着坑走,最后都成功的)

目 录 1 ROS安装的步骤 2 1.1 ROS UBUNTU安装 2 1.1.1 环境配置&#xff1a;UBUNTU20.04 2 1.1.2 设置编码 2 1.1.3 添加ROS2 APT仓库 3 1.1.4 接下来可以安装ROS2了 3 1.1.5 创建 COLCON 工作区并下载教程 3 1.1.6 设置环境 4 1.1.7 双环境设置 4 1.1.8 验证之一 5 1.2 ROS2 W…

《剑指offer》数学第二题:求1+2+3+...+n

题目描述&#xff1a; 求123...n&#xff0c;要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句&#xff08;A?B:C&#xff09;。思路&#xff1a; 我们可以用递归和短路运算符来进行运算&#xff0c;具体代码如下。 代码实现&#xff1a; pac…

基于知识图谱的图神经网络推理

基于知识图谱的图神经网络推理 - 知乎导读 本次分享题目为基于知识图谱的图神经网络推理&#xff0c;首先会介绍知识图谱相关的背景。第二部分GNN for KG会以CompGCN为基础&#xff0c;介绍将图神经网络迁移到知识图谱上面的工作。第三部分主要介绍针对知识图谱所设计的GNN…ht…

开启Android学习之旅-1

最近在学习《第一行代码 Android》&#xff0c;两天看书把所有代码都敲了一遍。由于之前没有接触过 Kotlin&#xff0c;导致了囫囵吞枣&#xff0c;跟着书会敲&#xff0c;离开就忘了。Android 大佬开发的各种框架、控件好像大部分都用了 Kotlin。看他们的源码&#xff0c;理解…

齐次和非齐次线性方程组和非线性方程组的求解

1.非齐次线性方程组的求解 AXb为非齐次线性方程组的向量表示 求解方法1就是上面所述&#xff0c;其中求解方法2解决求解方法1中ATA不可逆或括号中计算过程过于麻烦的问题。 2.齐次线性方程组的求解 AX0为齐次线性方程组的向量表示 当p>q的时候 A进行SVD分解后的V矩阵正好…

Linux的LVM与磁盘配额

一.LVM 1.什么是LVM Logical Volume Manager 逻辑卷管理 能够在保持现有数据不变的情况下&#xff0c;动态调整磁盘容量&#xff0c;从而提高磁盘管理的灵活性 /boot 分区用于存放引导文件&#xff0c;不能基于LVM创建 解释&#xff1a;就是将多个不同的物理卷组合在一起形…

iOS手机查看蓝牙底层日志

文章目录 一、需要的环境二、在iOS设备上安装Profiles文件三、安装Xcode四、安装packetLogger五、启动蓝牙数据包分析 参考文档&#xff1a;A New Way to Debug iOS Bluetooth Applications 一、需要的环境 iOS 13 device and cableMac computer/laptopApple Developer Progr…

大数据情况下如何保证企业数据交换安全

数据交换是指在网络或其他方式下&#xff0c;不同主体按照规定的规则和标准实现数据的共享、传输和处理的过程。大数据时代的到来使得数据交换的重要性更为凸显&#xff0c;大数据带来了海量、多样、高速、低价值密度等特点&#xff0c;也带来了更多的价值挖掘和应用场景。 保障…

大模型日报-20240104

文生视频下一站&#xff0c;Meta已经开始视频生视频了 https://mp.weixin.qq.com/s/OEzex40EtaeG0sKDvxdY7Q 文本指导的视频到视频&#xff08;V2V&#xff09;合成在各个领域具有广泛的应用&#xff0c;例如短视频创作以及更广泛的电影行业。扩散模型已经改变了图像到图像&am…

听GPT 讲Rust源代码--compiler(6)

File: rust/compiler/rustc_index/src/idx.rs 在Rust的源代码中&#xff0c;idx.rs文件位于rust/compiler/rustc_index/src/目录下&#xff0c;它定义了用于索引访问的Idx trait。以下是该文件的详细介绍&#xff1a; Idx是一个基本的整数索引类型&#xff0c;它用于支持Rust编…

什么是员工监控?你需要知道的一切

一般来说&#xff0c;员工监控是一种增强员工效率的授权方法&#xff0c;不仅可以更好地了解何时&#xff0c;还可以更好地了解如何进行。无论您的员工是远程、混合还是办公室优先&#xff0c;员工监控始终有助于提高生产力。 长期以来&#xff0c;传统的员工监控一直与监督和…

MATLAB中./和/,.*和*,.^和^的区别

MATLAB中./和/&#xff0c;.*和*&#xff0c;.^ 和^ 的区别 MATLAB中./和/&#xff0c;.*和*&#xff0c;.^ 和^ 的区别./ 和 / 的区别.//实验实验结果 .* 和 * 的区别.**实验实验结果 .^ 和^ 的区别.^n^n实验运行结果 MATLAB中./和/&#xff0c;.和&#xff0c;.^ 和^ 的区别 …

FFmpeg安装保姆级教程

在上一篇文章《IOS&#xff1a;Safari无法播放MP4&#xff08;H.264编码&#xff09;》里我们使用了FFmpeg来设置MP4的Profile和Level值&#xff0c;从而转换出适合IOS Safari上播放的MP4文件。本文接着介绍一下FFmpeg的安装&#xff1a; 一、安装过程 &#xff08;1&#xf…

FFmpeg之——获取上传视频的尺寸(长、宽)

获取上传视频的尺寸&#xff1a; 获取视频尺寸通常需要借助第三方库FFmpeg。 首先&#xff0c;确保你的系统中已安装了FFmpeg&#xff0c;并且FFmpeg的可执行文件路径已经添加到你的系统环境变量中。 1.官网下载ffmpeg 进入 链接: ffmpeg官网 网址&#xff0c;点击下载wind…