yos web端

Zachary 65e4ba6c77 Merge branch 'allTestUrgent' into ai 14 時間 前
.claude 4abaaf1408 暂存 1 日 前
.idea 3d3341264f 暂存画像样式调整 1 年間 前
.trae 1d9a8e65b4 暂存 8 ヶ月 前
buildAnnexation 60de70fbb8 chore: 构建流程优化 - 自动复制静态资源 + zip打包 + 缓存加速 1 日 前
memory 7b3bc9a481 chore: 将 .claude/settings.local.json 移除跟踪并加入 gitignore 1 日 前
public 3aeb3c349c 二维码样式调整 6 ヶ月 前
scripts 60de70fbb8 chore: 构建流程优化 - 自动复制静态资源 + zip打包 + 缓存加速 1 日 前
src 65e4ba6c77 Merge branch 'allTestUrgent' into ai 14 時間 前
.DS_Store 8d603a891c 暂存 1 日 前
.gitattributes 8d41268bde 换行符兼容问题 1 日 前
.gitignore 60de70fbb8 chore: 构建流程优化 - 自动复制静态资源 + zip打包 + 缓存加速 1 日 前
README.md 83d0a93dc7 docs: 完善 README - 打包流程、环境要求、目录结构 1 日 前
babel.config.js 0a9bf29bd3 代码初次上传 4 年 前
jsconfig.json 0a9bf29bd3 代码初次上传 4 年 前
package-lock.json 60de70fbb8 chore: 构建流程优化 - 自动复制静态资源 + zip打包 + 缓存加速 1 日 前
package.json 60de70fbb8 chore: 构建流程优化 - 自动复制静态资源 + zip打包 + 缓存加速 1 日 前
vue.config.js 60de70fbb8 chore: 构建流程优化 - 自动复制静态资源 + zip打包 + 缓存加速 1 日 前
分支管理.png 6552865bd3 暂存 2 週間 前
绿色分支注释记录.md 1143d7b376 暂存 1 週間 前

README.md

webCRM

基于 Vue 2 + Element UI + Vue CLI 5 的企业 CRM 管理系统。

环境要求

依赖 最低版本
Node.js >= 12 (低于 v12 自动跳过 postbuild)
npm >= 6

快速开始

# 安装依赖
npm install

# 启动开发服务器 (localhost:8000)
npm run serve

# 生产构建
npm run build

打包流程

执行 npm run build 依次完成:

vue-cli-service build        →  编译 Vue 源码,输出到 yos/ 目录
  ↓
node scripts/copy-annexation  →  postbuild 钩子自动执行:
    1. 将 buildAnnexation/ 下的 BGJ/、ZB/ 静态站点复制到 yos/
    2. 将 yos/ 内全部文件压缩为 yos.zip(不含 yos 父目录)

yos.zip 结构

yos.zip
├── BGJ/          # 报管家静态站点
├── ZB/           # 招帮静态站点
├── css/          # webpack 编译的 CSS 产物
├── js/           # webpack 编译的 JS 产物(含 chunk-vendors/chunk-element-ui/chunk-antv 等独立缓存块)
├── fonts/
├── img/
└── index.html    # SPA 入口

兼容性保障

  • scripts/copy-annexation.js 启动时检测 Node 版本,低于 v12 自动跳过复制和压缩步骤,不影响原有构建
  • archiver 包加载失败时跳过 zip 步骤,复制步骤仍正常执行
  • 使用纯 Node.js 文件操作(path.joinfs递归复制),Windows/macOS 行为一致

buildAnnexation 目录

存放不参与 webpack 编译的静态资源(BGJ/ZB 独立站点文件),每次构建后自动复制到 yos/ 输出目录。如需新增静态页面或资源,放入对应的 buildAnnexation/BGJ/buildAnnexation/ZB/ 子目录即可。

构建优化

vue.config.js 中配置了以下优化:

  • webpack 5 文件系统缓存 — 二次构建利用缓存大幅提速(node_modules/.cache/webpack
  • splitChunks 分包 — element-ui / antv / ant-design-vue 拆分为独立 chunk,浏览器长期缓存
  • productionSourceMap: false — 生产环境不生成 source map,减少构建时间和产物体积
  • browserslist 收紧chrome/edge/firefox >= 80, safari >= 13,减少 polyfill 转换开销

开发规范

  • 所有提交类按钮(新建/编辑/删除)必须添加 :loading 状态,成功后延时 0.5s 关闭
  • 状态变更操作(启用/停用)需先弹 $confirm 确认框
  • 新增模块页面放在 src/bgj/<moduleName>/,表单组件放在 modules/ 子目录
  • 列表页优先使用全局 <basicLayout> 组件,对接后台表格元数据配置

目录结构

src/
├── api/              # API 封装 (request.js, http.js, api.js)
├── assets/           # 静态资源
├── bgj/              # BGJ 业务模块
├── components/       # 全局组件 (basicLayout, delete_btn 等)
├── Form/             # 各模块新建/编辑表单组件
├── HManagement/      # H管理模块
├── router/           # 路由配置
├── store/            # Vuex 状态管理
├── style/            # 全局样式
├── utils/            # 工具函数 (tool.js, basic-data.js)
└── views/            # 登录等页面
buildAnnexation/      # 不参与编译的静态资源,构建时复制到 yos/
scripts/              # 构建脚本

部署

  1. 执行 npm run build
  2. yos/ 目录部署到 Web 服务器(Nginx/Apache/IIS)
  3. 或直接上传 yos.zip 解压部署