diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c83a437 --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +# ============ OS / 系统垃圾 ============ +.DS_Store +Thumbs.db +desktop.ini + +# ============ 编辑器 / IDE ============ +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# ============ 工具本地数据 ============ +# Claude Code 个人设置(共享设置可放 .claude/settings.json) +.claude/settings.local.json +# Serena MCP 工具数据 +.serena/ + +# ============ 临时/备份 ============ +*.bak +*.orig +*.tmp +*.log diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..bedd90c --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,132 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## 仓库结构 + +这是一个**多端单仓**项目,git 根目录下包含: + +- `tcm-diagnosis.html` — 独立的中医诊断单页 HTML(与下面项目无依赖关系) +- `zhican/` — 智能餐养系统主项目,使用 npm workspaces 管理 + - `admin/` — Vue 3 + Vite + TypeScript 后台管理端(workspace 成员) + - `miniprogram/` — 原生微信小程序(无构建步骤,由微信开发者工具直接打开 `project.config.json`) + +注意:执行 npm 脚本前必须先 `cd zhican/`,根目录没有 `package.json`。 + +## 常用命令 + +**包管理器统一使用 pnpm**。`package-lock.json` 已被 `.gitignore`,禁止提交 npm/yarn 锁文件。仓库追踪的锁文件是 `zhican/admin/pnpm-lock.yaml`。 + +进入 `zhican/admin/` 目录执行(推荐): + +```bash +pnpm install # 安装依赖 +pnpm run dev # 启动开发服务器(vite,端口 3000) +pnpm run build # 类型检查 + 构建(vue-tsc --noEmit && vite build),产物在 dist/ +pnpm run preview # 本地预览构建产物 +``` + +也可在 `zhican/` 根目录用 workspace 命令 `pnpm run admin:dev` / `admin:build`。 + +> 由于 `zhican/package.json` 用的是 npm workspaces 字段而非 `pnpm-workspace.yaml`,跨 workspace 命令的稳定性不如直接进 admin 子目录。一般操作建议进 `zhican/admin/`。 + +小程序端无构建步骤,使用微信开发者工具导入 `zhican/miniprogram/` 目录调试。 + +## 部署形态(H5 构建能力) + +- **admin**:标准 Vite 项目,`npm run admin:build` 输出 `admin/dist/`(`index.html` + 静态 chunk),可直接部署到任意静态服务器/Nginx/对象存储 +- **miniprogram**:**原生微信小程序,无法直接构建为 H5**。它使用 `.wxml` / `.wxss` / `wx.*` API 和 `app.json` tabBar,运行时绑定在微信宿主上。要得到浏览器可访问的 H5 版本必须迁移到 uni-app / Taro 等跨端框架重写,不是"加个构建脚本"就能完成 +- **`tcm-diagnosis.html`**:单文件 HTML,无构建,直接打开或托管即可 + +## admin 后台架构 + +技术栈:Vue 3 (`