# mes-manager-front-master **Repository Path**: daya35/mes-manager-front-master ## Basic Information - **Project Name**: mes-manager-front-master - **Description**: mes 前端 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2024-10-17 - **Last Updated**: 2024-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
中文 | English
![](https://foruda.gitee.com/images/1708618984641188532/a7cca095_716974.png "rainbow.png")
👀 在线预览 | 📖 阅读文档
# 仅供个人学习使用 ## 项目简介 [vue3-element-admin](https://gitee.com/youlaiorg/vue3-element-admin) 是基于 Vue3 + Vite5+ TypeScript5 + Element-Plus + Pinia 等主流技术栈构建的免费开源的后台管理前端模板(配套[后端源码](https://gitee.com/youlaiorg/youlai-boot))。 ## 项目预览 ![明亮模式](https://foruda.gitee.com/images/1709651876583793739/0ba1ee1c_716974.png) ## 项目地址 | 项目 | Gitee | | | | ---- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | | 前端 | [mes-manager-front-master](https://gitee.com/abc123zxc/mes-manager-front-master) | 后端 | [mes-manager-admin-master](https://gitee.com/abc123zxc/mes-manager-admin-master) | ## 环境准备 | 环境 | 名称版本 | 下载地址 | | -------------------- | :----------------------------------------------------------- | ------------------------------------------------------------ | | **开发工具** | VSCode | [下载](https://code.visualstudio.com/Download) | | **运行环境** | Node ≥18 | [下载](http://nodejs.cn/download) | ## 项目启动 ```bash # 克隆代码 git clone https://gitee.com/youlaiorg/vue3-element-admin.git # 切换目录 cd vue3-element-admin # 安装 pnpm npm install pnpm -g # 安装依赖 pnpm install # 启动运行 pnpm run dev ``` ## 项目部署 ```bash # 项目打包 pnpm run build:prod # 上传文件至远程服务器 将打包生成在 `dist` 目录下的文件拷贝至 `/usr/share/nginx/html` 目录 # nginx.cofig 配置 server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } # 反向代理配置 location /prod-api/ { proxy_pass http://vapi.youlai.tech/; # vapi.youlai.tech替换成你的后端API地址 } } ``` ## CRUD 操作 1. api/account/index.ts 添加接口 ```typescript import request from "@/utils/request"; import { AxiosPromise } from "axios"; import { Account, AccountPageResult, AccountQuery } from "./types"; /** * 返回类型 * AxiosPromise<> * 在 TypeScript 中,你可以显式定义返回类型以提供更强的类型检查,但这不是必需的。如果不显式定义类型,TypeScript 会根据实际返回的数据类型进行推断 * 如果你的应用程序不需要严格的类型检查,或者你确定返回的数据类型总是符合预期, * 那么不显式定义类型也是完全可以的。不过,在大型项目或需要严格类型检查的场景下, * 显式定义类型可以帮助你提前发现潜在的问题,并提高代码的健壮性。 */ /** * 获取账户分页数据 * @param queryParams 可选的查询参数 * @returns AxiosPromise 返回一个Promise,解析为AccountPageResult类型的数据 * @description 请求地址:/api/v1/accounts/page */ export function getAccountPage( queryParams?: AccountQuery ): AxiosPromise { return request({ url: "/api/v1/test/account/page", method: "get", params: queryParams, }); } /** * 获取所有账户数据 * @returns AxiosPromise 返回一个Promise,解析为Account类型的数组 * @description 请求地址:/api/v1/accounts */ export function getAllAccountApi(): AxiosPromise { return request({ url: "/api/v1/test/account", method: "get", }); } /** * 根据ID获取账户数据 * @param id 账户ID * @returns AxiosPromise 返回一个Promise,解析为Account类型的数据 * @description 请求地址:/api/v1/accounts/{id} */ export function getAccountByIdApi(id: number): AxiosPromise { return request({ url: "/api/v1/test/account/" + id, method: "get", }); } /** * 添加账户数据 * @param data 要添加的账户数据 * @returns AxiosPromise 返回一个Promise,解析为布尔值,表示添加是否成功 * @description 请求地址:/api/v1/accounts */ export function addAccountApi(data: Account): AxiosPromise { return request({ url: "/api/v1/test/account", method: "post", data: data, }); } /** * 更新账户数据 * @param data 要更新的账户数据 * @returns AxiosPromise 返回一个Promise,解析为布尔值,表示更新是否成功 * @description 请求地址:/api/v1/accounts */ export function updateAccountApi(data: Account): AxiosPromise { return request({ url: "/api/v1/test/account", method: "put", data: data, }); } /** * 删除账户数据 * @param ids 要删除的账户ID,可以是多个ID,用逗号分隔 * @returns AxiosPromise 返回一个Promise,解析为布尔值,表示删除是否成功 * @description 请求地址:/api/v1/accounts/{ids} */ export function deleteAccountApi(ids: string): AxiosPromise { return request({ url: "/api/v1/test/account/" + ids, method: "delete", }); } ``` 2.types.ts ```typescript export interface Account { id?: number; username?: string; password?: string; url?: string; } /* * 查询参数 */ export interface AccountQuery extends PageQuery { keywords?: string; } /** * 分页对象 */ export interface AccountPageVO { id?: number; username?: string; password?: string; url?: string; } /** * 账户分页 */ export type AccountPageResult = PageResult; ``` 3.account.vue ```javascript ``` ```html ```