项目结构清晰,所有文件一目了然
qiyeWeComApp/
│
├─📄 项目配置文件
│ ├─ package.json (npm 项目配置)
│ ├─ package-lock.json (依赖版本锁定)
│ ├─ vite.config.js (Vite 构建配置)
│ ├─ .env.example (环境变量示例)
│ └─ .gitignore (Git 忽略规则)
│
├─📂 src/ (📌 开发源代码目录)
│ │
│ ├─ main.js (Vite 入口点)
│ │
│ ├─ 📂 js/ (JavaScript 模块)
│ │ ├─ app.js (★ 核心逻辑,294行)
│ │ ├─ wechat-oauth.js (★ OAuth 2.0 客户端)
│ │ ├─ api-client.js (HTTP API 客户端)
│ │ ├─ wecom-config.js (企业微信配置 ⚙️ 需修改)
│ │ └─ utils.js (工具函数库)
│ │
│ └─ 📂 styles/ (样式文件)
│ └─ main.css (响应式主样式,800+行)
│
├─📄 HTML 与页面
│ └─ index.html (SPA 主页面)
│
├─📄 后端参考实现
│ └─ server-example.js (Node.js + Express 示例)
│
├─📚 文档文件 (12个 markdown 文件)
│ ├─ 📄 QUICK_START.md (⭐ 快速开始指南,5分钟)
│ ├─ 📄 DELIVERY.md (项目交付清单)
│ ├─ 📄 README_VITE.md (项目详细说明)
│ ├─ 📄 README.md (GitHub 说明)
│ ├─ 📄 QUICK_NAVIGATION.md (快速导航)
│ ├─ 📄 INDEX.md (项目索引)
│ ├─ 📄 WECOM_INTEGRATION_GUIDE.md (企业微信集成完全指南)
│ ├─ 📄 WECOM_OAUTH_GUIDE.md (OAuth 2.0 实现指南)
│ ├─ 📄 PROJECT_SUMMARY.md (项目技术总结)
│ ├─ 📄 FILE_INVENTORY.md (文件详细清单)
│ ├─ 📄 DOCUMENTATION_MAP.md (文档导航地图)
│ ├─ 📄 COMPLETION_REPORT.md (项目完成报告)
│ ├─ 📄 PROJECT_DELIVERY_SUMMARY.md (项目交付总结)
│ └─ 📄 redme.md (原始需求文件)
│
├─📂 node_modules/ (依赖包,npm install 生成)
│ └─ ...
│
├─📂 .vite/ (Vite 缓存,自动生成)
│ └─ ...
│
├─📂 dist/ (生产构建输出,npm run build)
│ ├─ index.html
│ ├─ assets/
│ │ ├─ index-*.js (打包后的 JS)
│ │ └─ index-*.css (打包后的 CSS)
│ └─ ...
│
└─📂 公开文件 (Vite)
└─ public/ (静态资源目录,可选)
源代码文件总数: 8 个
JavaScript 代码: 6 个文件 (~1,200行)
├─ app.js 294 行 ⭐⭐⭐
├─ wechat-oauth.js 150+ 行 ⭐⭐⭐
├─ api-client.js 120+ 行 ⭐⭐
├─ wecom-config.js 50+ 行 ⭐
├─ utils.js 150+ 行 ⭐⭐
└─ main.js 35 行 ⭐
CSS 样式: 1 个文件 (~800行)
├─ main.css 800+ 行 ⭐⭐⭐
HTML 页面: 1 个文件
├─ index.html 2855 字 ⭐⭐
总代码行数: 2,000+ 行 (高质量注释)
文档文件总数: 13 个
总文档行数: 4,000+ 行
平均每个文件: 300+ 行
最长文档: WECOM_OAUTH_GUIDE.md (11,284 字)
最短文档: .env.example (100 字)
阅读总时间: 约 2-3 小时
所有文件: 227 个
└─ 其中:
├─ 源代码: 8 个
├─ 文档: 13 个
├─ 配置: 5 个
├─ 依赖包: 100+ 个 (node_modules/)
├─ 构建输出: (dist/)
└─ 缓存: (.vite/)
总代码行数: 6,000+ 行
总文件大小: 500+ MB (包含 node_modules)
源代码大小: 150 KB (不含 node_modules)
| 用途 | 文件 | 类型 | 行数 |
|---|---|---|---|
| 修改业务逻辑 | src/js/app.js |
JS | 294 |
| 修改样式 | src/styles/main.css |
CSS | 800+ |
| 修改配置 | src/js/wecom-config.js |
JS | 50+ |
| 添加工具函数 | src/js/utils.js |
JS | 150+ |
| 修改 API 请求 | src/js/api-client.js |
JS | 120+ |
| 修改 OAuth | src/js/wechat-oauth.js |
JS | 150+ |
| 用途 | 文件 | 类型 | 阅读时间 |
|---|---|---|---|
| 快速开始 | QUICK_START.md |
Markdown | 5 分钟 |
| 项目介绍 | README_VITE.md |
Markdown | 15 分钟 |
| 完整配置 | WECOM_INTEGRATION_GUIDE.md |
Markdown | 30 分钟 |
| 后端实现 | WECOM_OAUTH_GUIDE.md |
Markdown | 25 分钟 |
| 代码文件详解 | FILE_INVENTORY.md |
Markdown | 30 分钟 |
| 技术架构 | PROJECT_SUMMARY.md |
Markdown | 40 分钟 |
| 用途 | 文件 | 类型 | 优先级 |
|---|---|---|---|
| 企业微信配置 | src/js/wecom-config.js |
JS | 🔴 必须 |
| 环境变量 | .env (从 .env.example 复制) |
ENV | 🔴 必须 |
| npm 脚本 | package.json |
JSON | 🟡 可选 |
| Vite 构建 | vite.config.js |
JS | 🟡 可选 |
| 后端接口 | server-example.js |
JS | 🔴 必须 |
| 用途 | 文件 | 操作 |
|---|---|---|
| 生产构建 | npm run build |
生成 dist/ |
| 预览构建 | npm run preview |
本地预览 |
| 启动开发 | npm run dev |
开发模式 |
// 文件大小: 294 行
// 包含:
// - initApp() 初始化应用
// - handleAuthCallback() OAuth 回调处理
// - displayUserInfo() 显示用户信息
// - handleGetCode() 生成密码
// - loadHistory() 加载历史
// - setupEventListeners() 事件监听
// 流程:
// 1️⃣ 页面加载 → initApp()
// 2️⃣ 检查 OAuth 授权
// 3️⃣ 如已授权 → 显示用户信息
// 4️⃣ 如未授权 → 跳转到授权页面
// 5️⃣ 用户点击操作 → 调用相应函数
何时修改: 需要更改业务逻辑时
/* 文件大小: 800+ 行
/* 包含: */
/* - 基础样式 */
/* - 响应式设计 (360px, 480px, 768px, 1920px) */
/* - 动画效果 */
/* - 移动端适配 */
/* - 深色模式支持 */
/* 主要类名: */
/* .container 页面容器 */
/* .header-card 用户信息卡片 */
/* .form-group 表单分组 */
/* .btn-primary 主按钮 */
/* .history-table 历史表格 */
/* .message-toast 提示信息 */
/* .auth-prompt 授权提示 */
何时修改: 需要改变页面样式或响应式设计时
// 文件大小: 50+ 行
// 包含:
// - WECOM_CONFIG 配置对象
// 需要修改的配置项:
// 1️⃣ corpId 企业ID (从企业微信后台获取)
// 2️⃣ agentId 应用ID (从企业微信后台获取)
// 3️⃣ redirectUri 回调地址 (你的应用 URL)
// 4️⃣ apiBaseUrl 后端地址 (你的后端服务 URL)
// ⚠️ 最关键的文件!
// 这个文件决定了应用能否正常运行
何时修改: 项目部署前必须修改
// 文件大小: 200+ 行
// 类型: Node.js + Express 后端参考实现
// 包含:
// - POST /api/wecom/getUserInfo OAuth 代码交换
// - GET /api/wecom/userDetail/:userId 用户详情
// - GET /api/wecom/verify/:userId 权限验证
// 用途:
// 这是一个参考实现,展示如何:
// ✅ 交换 OAuth 代码获取 accessToken
// ✅ 调用企业微信 API 获取用户信息
// ✅ 处理 token 缓存和刷新
// 你需要: 根据这个示例实现自己的后端
何时使用: 项目需要后端时
// 文件大小: 209 字节
// 包含: Vite 构建配置
// 配置:
// - 开发服务器端口 (5173)
// - 构建输出目录 (dist)
// - 压缩选项 (terser)
// 通常不需要修改
何时修改: 需要改变构建行为时
{
"name": "wecom-login-app",
"version": "1.0.0",
"type": "module",
"scripts": {
"dev": "vite", // npm run dev
"build": "vite build", // npm run build
"preview": "vite preview" // npm run preview
},
"devDependencies": {
"vite": "^5.0.0"
}
}
何时修改: 需要添加新依赖时
<!-- SPA 主页面模板 -->
<!-- 包含: -->
<!-- - HTML 结构 -->
<!-- - 元数据 (viewport, meta 标签) -->
<!-- - Vite 模块脚本入口 -->
<!-- 主要 ID: -->
<!-- #root 页面容器 -->
<!-- #userInfo 用户信息显示 -->
<!-- #passwordForm 密码表单 -->
<!-- #historyTable 历史表格 -->
<!-- #message 消息提示 -->
何时修改: 需要改变 HTML 结构时
src/
├── main.js 应用入口
├── js/ JavaScript 代码
│ ├── app.js 核心业务逻辑
│ ├── wechat-oauth.js OAuth 认证
│ ├── api-client.js API 通信
│ ├── wecom-config.js 配置文件
│ └── utils.js 工具函数
└── styles/ 样式文件
└── main.css 全局样式
目的: 模块化代码组织,每个文件职责单一
根目录/
├── QUICK_START.md 快速开始 ⭐
├── DELIVERY.md 交付清单
├── README_VITE.md 项目说明
├── README.md GitHub 说明
├── INDEX.md 项目索引
├── QUICK_NAVIGATION.md 快速导航
├── WECOM_INTEGRATION_GUIDE.md 完整集成
├── WECOM_OAUTH_GUIDE.md OAuth 指南
├── PROJECT_SUMMARY.md 技术总结
├── FILE_INVENTORY.md 文件清单
├── DOCUMENTATION_MAP.md 文档导航
├── COMPLETION_REPORT.md 完成报告
├── PROJECT_DELIVERY_SUMMARY.md 交付总结
└── redme.md 原始需求
目的: 全面覆盖各个方面,便于查询
涉及文件:
1. src/js/wechat-oauth.js - 修改 OAuth 流程
2. src/js/app.js - 修改回调处理
3. src/js/wecom-config.js - 修改配置
4. server-example.js - 修改后端交换逻辑
参考文档: WECOM_OAUTH_GUIDE.md
涉及文件:
1. index.html - 添加 HTML 字段
2. src/styles/main.css - 添加样式
3. src/js/app.js - 添加处理逻辑
4. src/js/utils.js - 添加验证函数
参考文档: FILE_INVENTORY.md
涉及文件:
1. src/styles/main.css - 修改样式
2. index.html - 添加新 class
参考文档: README_VITE.md
涉及文件:
1. vite.config.js - 生产构建配置
2. package.json - 版本信息
3. src/js/wecom-config.js - 生产配置
4. .env - 生产环境变量
5. server-example.js - 后端部署
参考文档: DELIVERY.md#✅-第五步生产部署
| 关键词 | 文件 | 行号 |
|---|
| OAuth 认证 | src/js/wechat-oauth.js | - |
| 密码生成 | src/js/app.js | ~180 |
| 历史记录 | src/js/utils.js | ~60 |
| API 请求 | src/js/api-client.js | - |
| 配置项 | src/js/wecom-config.js | - |
| 样式 | src/styles/main.css | - |
| HTML 结构 | index.html | - |
| 后端示例 | server-example.js | - |
index.html
↓
src/main.js (Vite 入口)
↓
src/js/app.js (核心逻辑)
├→ src/js/wechat-oauth.js (OAuth)
├→ src/js/api-client.js (API)
├→ src/js/utils.js (工具)
└→ src/styles/main.css (样式)
├→ src/js/wecom-config.js (配置)
└→ server-example.js (后端)
在修改代码前,确保你理解了:
src/js/wecom-config.js - 企业微信配置server-example.js - 后端配置src/js/app.js - 核心逻辑src/styles/main.css - 页面样式package.json 除非必要node_modules/ 目录现在你已经了解了整个项目结构! 🎉
下一步: 选择你要修改的文件,开始编码吧!
更新于: 2025-12-09