From ffd628fa82ad1909c6f02c0862c256672b657830 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A5=94=E8=B7=91=E7=9A=84=E9=9D=A2=E6=9D=A1?= <1262327911@qq.com> Date: Sun, 29 May 2022 15:23:04 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E4=BF=AE=E6=94=B9=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 159 ++++++++++++++++++++++++++---------------------------- 1 file changed, 75 insertions(+), 84 deletions(-) diff --git a/README.md b/README.md index fa5f3912..7e1b1ae8 100644 --- a/README.md +++ b/README.md @@ -3,108 +3,99 @@ **`master-fetch` 分支是带有后端接口请求的分支** -**后端项目地址(开发中...):[https://gitee.com/MTrun/go-view-serve](https://gitee.com/MTrun/go-view-serve)** +**后端项目地址:[https://gitee.com/MTrun/go-view-serve](https://gitee.com/MTrun/go-view-serve)** -**接口说明地址:[https://www.apifox.cn/apidoc/project-982844/doc-757203](https://www.apifox.cn/apidoc/project-982844/doc-757203)** +**接口说明地址:[https://docs.apipost.cn/preview/5aa85d10a59d66ce/ddb813732007ad2b?target_id=84dbc5b0-158f-4bcb-8f74-793ac604ada3#3e053622-1e76-43f9-a039-756aee822dbb](https://docs.apipost.cn/preview/5aa85d10a59d66ce/ddb813732007ad2b?target_id=84dbc5b0-158f-4bcb-8f74-793ac604ada3#3e053622-1e76-43f9-a039-756aee822dbb)** -**接口文档也可以在 `Apifox` 的 `ApiHub` 平台上搜索项目名称:`GoView` 进行查找** +## 使用 -GoView 是一个高效的拖拽式低代码数据可视化开发平台,将图表或页面元素封装为基础组件,无需编写代码即可制作数据大屏,减少心智负担。当然低代码也不是 “银弹”,希望所有人员都能理智看待此技术。 +所有的接口地址位置:`src\api\path\*` -项目-Demo 地址:[https://www.mtruning.club](https://www.mtruning.club) - -文档-在线地址:[http://www.mtruning.club:81/](http://www.mtruning.club:81/) - -文档-源码地址:[https://gitee.com/MTrun/go-view-doc](https://gitee.com/MTrun/go-view-doc) - -技术点: - -- 框架:基于 `Vue3` 框架编写,使用 `hooks` 写法抽离部分逻辑,使代码结构更加清晰; - -- 类型:使用 `TypeScript` 进行类型约束,减少未知错误发生概率,可以大胆修改逻辑内容; - -- 性能:多处性能优化,使用页面懒加载、组件动态注册、数据滚动加载等方式,提升页面渲染速度; - -- 存储:拥有本地记忆,部分配置项采用 `storage` 存储本地,提升使用体验; - -- 封装:项目进行了详细的工具类封装如:路由、存储、加/解密、文件处理、主题、NaiveUI 全局方法、组件等 - - -项目截图: -![项目截图](readme/goView-canvas.png) - -主要技术栈为: - -| 名称 | 版本 | 名称 | 版本 | -| ------------------- | ----- | ----------- | ------ | -| Vue | 3.2.x | TypeScript4 | 4.6.x | -| Vite | 2.9.x | NaiveUI | 2.27.x | -| ECharts | 5.3.x | Pinia | 2.0.x | -| 详见 `package.json` | 😁 | 🥰 | 🤗 | - -开发环境: - -| 名称 | 版本 | 名称 | 版本 | -| ---- | ------- | ------- | ----- | -| node | 16.14.x | npm | 8.5.x | -| pnpm | 6.32.x | windows | 11 | - -已完成图表: - -| 分类 | 名称 | 名称 | 名称 | -| ------ | ---------------- | ---------- | ------ | -| 图表 | 柱状图 | 横向柱状图 | 折线图 | -| \* | 单/多 折线面积图 | 饼图 | 水球图 | -| 信息 | 文字 | 图片 | 😶 | -| 列表 | 滚动排名列表 | 🤠 | 🤓 | -| 小组件 | 边框-01~13 | 装饰-01~05 | 数字翻牌 | - -## 浏览器支持 - -开发和测试平台均在 `Google` 和最新版 `EDGE` 上完成,暂未测试 `IE11` 等其它浏览器,如有需求请自行测试与兼容。 - -## 安装 - -本项目采用` pnpm` 进行包管理,经反馈若采用 `npm/yarn` 等方式安装依赖会导致错误,请使用 `pnpm` 安装依赖包。 +接口地址修改:`.env` ```shell -#pnpm(建议使用nrm切换到淘宝源) -pnpm install +# 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 -#pnpm -pnpm dev - -# npm -npm run dev - -#yarn -yarn dev - -#Makefile -make dev +// 请求前缀 +export const axiosPre = '/goview' ``` -## 编译 +接口封装:`src\api\http.ts` -```shell -#pnpm -pnpm run build +```ts +import axiosInstance from './axios' +import { RequestHttpEnum, ContentTypeEnum } from '@/enums/httpEnum' -# npm -npm run build +export const get = (url: string, params?: object) => { + return axiosInstance({ + url: url, + method: RequestHttpEnum.GET, + params: params, + }) +} -#yarn -yarn run build +export const post = (url: string, data?: object, headersType?: string) => { + return axiosInstance({ + url: url, + method: RequestHttpEnum.POST, + data: data, + headers: { + 'Content-Type': headersType || ContentTypeEnum.JSON + } + }) +} -#Makefile -make dist +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 + } +} ``` - ## 交流