## 项目简介

 基于 Vue3 + Vite5+ TypeScript5 + Element-Plus + Pinia 等主流技术栈构建

## 宝塔

<http://101.37.12.135:19928/mianban>
chaozg
chaozg123

## API文档

[超掌柜收银机](https://app.apifox.com/project/5827475)
账号，商户相关：<https://tapi.cashier.sxczgkj.cn/account/>
订单，支付相关：<https://tapi.cashier.sxczgkj.cn/order/>
商品，耗材相关：<https://tapi.cashier.sxczgkj.cn/product/>
系统相关：<https://tapi.cashier.sxczgkj.cn/system/>
购物车websocket
<https://apifox.com/apidoc/shared-2c47d665-b476-409c-9cb5-0e68a69b0292>

## 项目特色

- **简洁易用**：基于 [vue-element-admin](https://gitee.com/panjiachen/vue-element-admin) 升级的 Vue3 版本，无过渡封装 ，易上手。

- **数据交互**：同时支持本地 `Mock` 和线上接口，配套 [Java 后端源码](https://gitee.com/youlaiorg/youlai-boot)和[在线接口文档](https://www.apifox.cn/apidoc/shared-195e783f-4d85-4235-a038-eec696de4ea5)。

- **权限管理**：用户、角色、菜单、字典、部门等完善的权限系统功能。

- **基础设施**：动态路由、按钮权限、国际化、代码规范、Git 提交规范、常用组件封装。

- **持续更新**：项目持续开源更新，实时更新工具和依赖。

## 项目参考源码

| 项目 | Gitee   | Github    | GitCode|
| ---- | ----| ---- | ---- |
| 前端 | [vue3-element-admin](https://gitee.com/youlaiorg/vue3-element-admin) | [vue3-element-admin](https://github.com/youlaitech/vue3-element-admin) | [vue3-element-admin](https://gitcode.com/youlai/vue3-element-admin) |
| 精简版 | [vue3-element-template](https://gitee.com/youlaiorg/vue3-element-template) | [vue3-element-template](https://github.com/youlaitech/vue3-element-template) |-|

## 环境准备

| 环境                 | 名称版本                                                     | 下载地址                                                     |
| -------------------- | :----------------------------------------------------------- | ------------------------------------------------------------ |
| **开发工具**         | VSCode    | [下载](https://code.visualstudio.com/Download)           |
| **运行环境**         | Node ≥18 (其中 20.6.0 版本不可用)    | [下载](http://nodejs.cn/download)                        |

## 项目启动

```bash
# 安装 pnpm
npm install pnpm -g

# 设置镜像源(可忽略)
pnpm config set registry https://registry.npmmirror.com

# 安装依赖
pnpm install

# 启动运行
pnpm run dev
```

## 项目部署

```bash
# 项目打包
pnpm run build

# 上传文件至远程服务器
将本地打包生成的 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/ {
      # api.youlai.tech 替换后端API地址，注意保留后面的斜杠 /
      proxy_pass http://api.youlai.tech/;
 }
}
```

## 本地Mock

项目同时支持在线和本地 Mock 接口，默认使用线上接口，如需替换为 Mock 接口，修改文件 `.env.development` 的 `VITE_MOCK_DEV_SERVER` 为  `true` **即可**。

## 后端接口

1. 修改 `.env.development` 文件中的 `VITE_APP_API_URL` 的值，将其从 <https://api.youlai.tech> 更改为 <http://localhost:8989> 即可。

## 注意事项

- **自动导入插件自动生成默认关闭**

  模板项目的组件类型声明已自动生成。如果添加和使用新的组件，请按照图示方法开启自动生成。在自动生成完成后，记得将其设置为 `false`，避免重复执行引发冲突。

  ![](https://foruda.gitee.com/images/1687755823137387608/412ea803_716974.png)

- **项目启动浏览器访问空白**

  请升级浏览器尝试，低版本浏览器内核可能不支持某些新的 JavaScript 语法，比如可选链操作符 `?.`。

- **项目同步仓库更新升级**

  项目同步仓库更新升级之后，建议 `pnpm install` 安装更新依赖之后启动 。

- **项目组件、函数和引用爆红**

   重启 VSCode 尝试

## 项目文档

- [基于 Vue3 + Vite + TypeScript + Element-Plus 从0到1搭建后台管理系统](https://blog.csdn.net/u013737132/article/details/130191394)

- [ESLint+Prettier+Stylelint+EditorConfig 约束和统一前端代码规范](https://blog.csdn.net/u013737132/article/details/130190788)
- [Husky + Lint-staged + Commitlint + Commitizen + cz-git 配置 Git 提交规范](https://blog.csdn.net/u013737132/article/details/130191363)

## 提交规范

执行 `pnpm run commit` 唤起 git commit 交互，根据提示完成信息的输入和选择。

![](https://foruda.gitee.com/images/1687755823165218215/c1705416_716974.png)

新版银收客后台管理系统web端
<https://tapi.cashier.sxczgkj.cn/>
admin
12345
可测试功能：
1.店铺管理
  店铺管理
  角色管理
  员工列表
2.系统管理
  系统参数
  角色管理
  菜单管理
  小程序页面
  版本管理
3.激活码
  激活码列表
  商品分组
4.线上店铺
  店铺装修
5.经营工具
  台桌管理
6.应用中心
  营销中心
    霸王餐
7.商品管理
  常用单位
  商品分类
  商品规格
8.用户管理
  用户列表
