# Vue2-Client 技术栈

## 核心技术栈

### 前端框架
- **Vue 2.7.14**：核心框架，支持组合API
- **Vue Router 3.6.5**：路由管理
- **Vuex 3.6.2**：状态管理
- **Ant Design Vue 1.7.8**：UI组件库

### 构建工具
- **Vue CLI 5.0.8**：项目脚手架和构建工具
- **Webpack 5.88.2**：模块打包器
- **Babel 7.x**：JavaScript编译器
- **Less**：CSS预处理器

### 数据可视化
- **ECharts 5.5.0**：图表库
- **@antv/g2plot 2.4.31**：AntV图表
- **Viser Vue 2.4.8**：基于Vega-Lite的图表库

### 实用工具库
- **Axios 0.27.2**：HTTP客户端
- **Lodash**：JavaScript工具库（按需引入：get, debounce, cloneDeep）
- **Date-fns 2.29.3**：日期处理
- **Crypto-JS 4.1.1**：加密工具
- **JSEncrypt 3.3.2**：RSA加密
- **XLSX 0.18.5**：Excel文件处理

### 低代码相关
- **Vue Draggable Resizable 2.3.0**：可拖拽调整大小组件
- **Vuedraggable 2.24.3**：拖拽排序
- **Splitpanes 2.4.1**：面板分割
- **Vue CodeMirror 4.0.6**：代码编辑器
- **Marked 4.x**：Markdown解析

### 文档和富文本
- **@hufe921/canvas-editor 0.9.49**：Canvas富文本编辑器
- **Highlight.js 11.7.0**：代码高亮
- **Vue JSON Viewer 2.2.22**：JSON可视化

### 打印相关
- **@afwenming123/vue-plugin-hiprint 0.0.70**：打印插件
- **jsPDF 2.5.1**：PDF生成
- **html2canvas 1.4.1**：HTML转Canvas

### 开发工具
- **Jest 29.7.0**：单元测试框架
- **@vue/test-utils 1.3.6**：Vue组件测试工具
- **ESLint 8.51.0**：代码检查工具
- **MockJS 1.1.0**：数据模拟

### 性能优化
- **CompressionWebpackPlugin 10.0.0**：Gzip压缩
- **CssMinimizerWebpackPlugin 5.0.1**：CSS压缩
- **webpack-theme-color-replacer 1.4.7**：主题色动态替换

## 开发环境要求
- **Node.js**：支持ES6+
- **npm**：包管理工具
- **浏览器**：> 1%，last 2 versions，不支持IE11
- **操作系统**：Windows（主要）、macOS、Linux

## 关键配置

### Webpack别名
```javascript
'@vue2-client': 'src/'
'@': 'src/'
```

### 端口配置
- 开发服务器：8020

### 代理配置
根据不同环境模式配置不同的API代理：
- `/api/*` → 代理到对应的后端服务
- `/oss/*` → OSS对象存储服务
- `/ai/*` → AI服务

### 环境变量
- `NODE_OPTIONS=--openssl-legacy-provider`：OpenSSL兼容性
- `VUE_APP_PUBLIC_PATH`：资源公共路径
- `NODE_ENV`：环境标识（development/production）

## 兼容性说明
- **Vue版本**：2.7+（支持组合API但保持Vue 2兼容性）
- **不支持IE11**：配置明确排除IE11
- **OpenSSL**：需要legacy provider支持
- **编码**：UTF-8

## 测试环境
- **测试框架**：Jest + Vue Test Utils
- **测试环境**：jsdom
- **覆盖范围**：单元测试和组件测试