# 大妈集市商户端平台开发文档

## 项目简介

**项目名称**: 大妈集市商户端

**版本**: 2.0.0

**描述**: 大妈集市商户端

**作者**: objstudio

## 项目结构

### 主要目录

- `src/`: 源代码目录，包括所有 Vue 组件和相关资源。
- `build/`: 构建脚本和配置文件。
- `public/`: 静态资源目录。
- `node_modules/`: 项目依赖包目录。

### 关键文件

- `package.json`: 项目配置和依赖管理文件。
- `vue.config.js`: Vue CLI 配置文件。
- `babel.config.js`: Babel 配置文件。
- `.eslintrc.js`: ESLint 配置文件。

## 脚本命令

### 开发和构建

- `serve`: 启动开发服务器。
  ```sh
  npm run serve
  ```
- `build:prod`: 进行生产环境构建。
  ```sh
  npm run build:prod
  ```
- `build:stage`: 进行阶段环境构建。
  ```sh
  npm run build:stage
  ```

### 代码检查和修复

- `lint`: 运行 ESLint 进行代码检查。
  ```sh
  npm run lint
  ```

### 预览

- `preview`: 启动预览服务器。
  ```sh
  npm run preview
  ```

## 代码质量控制

### Husky

配置了 `husky` 来管理 Git 钩子，保证代码在提交前经过检查。

- `pre-commit`: 在提交前运行 `lint-staged`。

### Lint-Staged

使用 `lint-staged` 在提交前自动修复和添加代码。

```json
"lint-staged": {
  "src/**/*.{js,vue}": [
    "eslint --fix",
    "git add"
  ]
}
```

## 依赖管理

### 生产依赖

项目使用了多种前端依赖来实现不同的功能。以下是主要的生产依赖：

- `vue`: Vue.js 框架。
- `axios`: HTTP 请求库。
- `element-ui`: 组件库。
- `vue-router`: 路由管理。
- `vuex`: 状态管理。
- 其他库如 `dayjs`, `echarts`, `quill`, `xlsx` 等，用于日期处理、图表绘制、富文本编辑、Excel 文件处理等功能。

### 开发依赖

主要用于开发环境的工具和插件：

- `@vue/cli-plugin-babel`: Babel 插件。
- `@vue/cli-plugin-eslint`: ESLint 插件。
- `eslint`: 代码检查工具。
- `sass` 和 `sass-loader`: 用于处理 Sass 样式。
- `vue-loader`, `vue-template-compiler`: Vue 文件编译工具。

## 浏览器兼容性

项目设置了浏览器兼容性配置，以确保在主流浏览器上正常运行。

```json
"browserslist": [
  "> 1%",
  "last 2 versions"
]
```

## 运行环境

项目要求的 Node.js 和 npm 版本：

```json
"engines": {
  "node": ">=8.9",
  "npm": ">= 3.0.0"
}
```

## 版本控制

项目的代码托管在 Git 仓库中

## 关键词

为了方便搜索和分类，项目添加了以下关键词：

```json
"keywords": [
  "vue",
  "admin",
  "dashboard",
  "element-ui",
  "boilerplate",
  "admin-template",
  "management-system"
]
```

确实，有一些依赖没有详细介绍。下面是对所有依赖项的详细说明。

### 生产依赖

- **@micro-zoe/micro-app**: 用于微前端架构的解决方案，支持在主应用中加载和运行多个子应用。
- **@riophae/vue-treeselect**: Vue 组件，用于实现树选择功能。
- **axios**: 用于处理 HTTP 请求。
- **clipboard**: 操作剪贴板的库。
- **compressorjs**: 用于图片压缩的 JavaScript 库。
- **core-js**: 提供 JavaScript 标准库的 polyfill。
- **crypto-js**: 提供加密算法的 JavaScript 库。
- **dayjs**: 轻量级的日期处理库。
- **echarts**: 强大的图表绘制库。
- **element-ui**: 基于 Vue 的组件库。
- **file-saver**: 用于保存文件的库。
- **fuse.js**: 轻量级的模糊搜索库。
- **highlight.js**: 用于代码高亮显示的库。
- **js-beautify**: 用于美化 JavaScript、HTML 和 CSS 代码的库。
- **js-cookie**: 用于操作 cookies 的简单 API。
- **jsencrypt**: 用于实现 RSA 加密解密的库。
- **mockjs**: 用于生成随机数据和拦截 Ajax 请求。
- **nprogress**: 轻量级的进度条库。
- **obj-table-plus**: 高度自定义的数据表格组件。
- **quill**: 强大的富文本编辑器。
- **screenfull**: 用于全屏操作的库。
- **signature_pad**: 用于签名绘制的库。
- **sortablejs**: 强大的拖拽排序库。
- **video.js**: 用于播放视频的库。
- **vue**: Vue.js 框架。
- **vue-amap**: Vue 组件，用于高德地图集成。
- **vue-cookie**: 用于操作 Vue 应用中的 cookies。
- **vue-count-to**: 用于实现数字滚动效果的 Vue 组件。
- **vue-cropper**: 用于图像裁剪的 Vue 组件。
- **vue-meta**: 用于管理 Vue 应用的 meta 信息。
- **vue-router**: Vue 的路由管理库。
- **vuedraggable**: 用于实现拖拽功能的 Vue 组件。
- **vuex**: Vue 的状态管理库。
- **vxe-table**: 高性能的 Vue 表格组件。
- **xe-utils**: 实用工具库，提供一系列实用函数。
- **xlsx**: 用于解析和编写 Excel 文件的库。

### 开发依赖

- **@vue/cli-plugin-babel**: Vue CLI 的 Babel 插件，用于编译 ES6+ 代码。
- **@vue/cli-plugin-eslint**: Vue CLI 的 ESLint 插件，用于代码检查。
- **@vue/cli-service**: Vue CLI 的核心服务，用于构建和开发。
- **autoprefixer**: 自动为 CSS 规则添加浏览器前缀的插件。
- **babel-eslint**: 用于解析 Babel 代码的 ESLint 解析器。
- **babel-plugin-dynamic-import-node**: 用于在 Node.js 中解析 `import()` 语法。
- **chalk**: 用于终端字符串样式的库。
- **compression-webpack-plugin**: 用于压缩资源文件的 Webpack 插件。
- **connect**: 用于创建服务器中间件的库。
- **eslint**: JavaScript 代码检查工具。
- **eslint-plugin-vue**: 用于检查 Vue 代码的 ESLint 插件。
- **lint-staged**: 在提交代码前检查暂存文件的工具。
- **postcss**: 用于转换 CSS 的工具。
- **runjs**: 用于运行 JavaScript 脚本的命令行工具。
- **sass**: 用于编译 Sass/SCSS 代码。
- **sass-loader**: 用于在 Webpack 中加载和编译 Sass/SCSS 代码。
- **script-ext-html-webpack-plugin**: 用于增强 HTML Webpack 插件功能的扩展插件。
- **svg-sprite-loader**: 用于将 SVG 图标打包成雪碧图的 Webpack 插件。
- **tailwindcss**: 一个功能类优先的 CSS 框架。
- **vue-loader**: 用于加载和编译 Vue 组件的 Webpack 插件。
- **vue-style-loader**: 用于处理 Vue 组件中的样式的 Webpack 插件。
- **vue-template-compiler**: 用于编译 Vue 模板的库。

通过上述详细说明，可以帮助开发者更好地理解项目的依赖项及其作用。

---

本开发文档旨在帮助开发者快速了解项目结构、依赖管理和主要脚本命令。通过上述信息，开发者可以更高效地进行开发和维护工作。