# EasyView **Repository Path**: thomaslwq/easy-view ## Basic Information - **Project Name**: EasyView - **Description**: EasyView精美、便捷的「数据可视化」低代码开发平台 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-06-06 - **Last Updated**: 2023-07-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 总览

EasyView精美、便捷的「数据可视化」低代码开发平台

# 整体介绍 - 框架:基于 `Vue3` 框架编写,使用 `hooks` 写法抽离部分逻辑,使代码结构更加清晰; - 类型:使用 `TypeScript` 进行类型约束,减少未知错误发生概率,可以大胆修改逻辑内容; - 性能:多处性能优化,使用页面懒加载、组件动态注册、数据滚动加载等方式,提升页面渲染速度; - 存储:拥有本地记忆,部分配置项采用 `storage` 存储本地,提升使用体验; - 封装:项目进行了详细的工具类封装如:路由、存储、加/解密、文件处理、主题、NaiveUI 全局方法、组件等 # 功能列表 1. 工作台: 2. 请求配置: 3. 数据过滤: 4. 高级事件编辑: 5. 自定义组件颜色: 6. 快捷主页: 7. 主题色: 8. 亮白主题: 主要技术栈为: | 名称 | 版本 | 名称 | 版本 | | ------------------- | ----- | ----------- | ------ | | Vue | 3.2.x | TypeScript4 | 4.6.x | | Vite | 4.2.x | NaiveUI | 2.34.x | | ECharts | 5.3.x | Pinia | 2.0.x | | 详见 `package.json` | 😁 | 🥰 | 🤗 | 开发环境: | 名称 | 版本 | 名称 | 版本 | | ---- | ------- | ---- | ----- | | node | 16.16.x | npm | 8.5.x | | | | | | 已完成图表: | 分类 | 名称 | 名称 | 名称 | 名称 | | ------ | ---------------- | ---------- | -------------- | ------------------------ | | 图表 | 柱状图 | 横向柱状图 | 折线图 | 单/多 折线面积图(渐变色) | | \* | 饼图 | 环形图 | 水球图 | 雷达图 | | \* | NaiveUI 多种进度 | 散点图 | 对数回归散点图 | 热力图 | | \* | 漏斗图 | 中国地图 | 高德地图 | 🦊 | | 信息 | 文字 | 渐变文字 | 词云 | 嵌套网页 | | \* | 图片 | 视频 | 😺 | 🐯 | | 列表 | 滚动排名列表 | 滚动表格 | 🐮 | 🐐 | | 小组件 | 边框-01~13 | 装饰-01~05 | 数字翻牌 | 通用时间 | | \* | 数字计数 | 倒计时 | 时钟 | 🦁 | ## 浏览器支持 开发和测试平台均在 `Google` 和最新版 `EDGE` 上完成,暂未测试 `IE11` 等其它浏览器,如有需求请自行测试与兼容。 ## 安装 ```bash npm i npm run dev ``` ## 开发 ### 使用 所有的接口地址位置:`src\api\path\*` 接口地址修改:`.env` ```shell # port VITE_DEV_PORT = '8080' # development path VITE_DEV_PATH = 'http://127.0.0.1:8080' # production path VITE_PRO_PATH = 'http://127.0.0.1:8080' ``` 公共前缀修改:`src\settings\httpSetting.ts` ```shell // 请求前缀 export const axiosPre = '/api/easyview' ``` 接口封装:`src\api\http.ts` ```ts import axiosInstance from './axios' import { RequestHttpEnum, ContentTypeEnum } from '@/enums/httpEnum' export const get = (url: string, params?: object) => { return axiosInstance({ url: url, method: RequestHttpEnum.GET, params: params, }) } export const post = (url: string, data?: object, headersType?: string) => { return axiosInstance({ url: url, method: RequestHttpEnum.POST, data: data, headers: { 'Content-Type': headersType || ContentTypeEnum.JSON } }) } export const put = (url: string, data?: object, headersType?: string) => { return axiosInstance({ url: url, method: RequestHttpEnum.PUT, data: data, headers: { 'Content-Type': headersType || ContentTypeEnum.JSON } }) } export const del = (url: string, params?: object) => { return axiosInstance({ url: url, method: RequestHttpEnum.DELETE, params }) } // 获取请求函数,默认get export const http = (type?: RequestHttpEnum) => { switch (type) { case RequestHttpEnum.GET: return get case RequestHttpEnum.POST: return post case RequestHttpEnum.PUT: return put case RequestHttpEnum.DELETE: return del default: return get } } ``` ### 代码提交 * feat: 新功能 * fix: 修复 Bug * docs: 文档修改 * perf: 性能优化 * revert: 版本回退 * ci: CICD集成相关 * test: 添加测试代码 * refactor: 代码重构 * build: 影响项目构建或依赖修改 * style: 不影响程序逻辑的代码修改 * chore: 不属于以上类型的其他类型(日常事务)