You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

120 lines
6.9 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 项目vue-mgt-template - 个人项目代码记录系统,博客系统
## 项目概述
该项目作为我的个人代码记录总结实践系统整体是以一种后台管理系统的模式集成开发的项目框架依赖vue-pure-admin精简版该项目框架文档地址为https://pure-admin.cn/pages/introduction/#%E5%9C%A8%E7%BA%BF%E9%A2%84%E8%A7%88其中整个项目不包含后端代码接口为mock数据或本地文件数据等
## 技术栈规范
- **语言**: Vue3setup语法模式TypeScript
- **UI库**: element plus
- **css组件**: tailwindcssscss
## 项目文档
文档地址为: /README.md
## 项目结构
```
vue3-mgt-template/
├───.env # 环境变量文件
├───index.html # 应用入口HTML文件
├───package.json # 定义项目依赖和脚本
├───vite.config.ts # Vite 构建配置文件
├───tailwind.config.ts # Tailwind CSS 配置文件
├───tsconfig.json # TypeScript 编译器配置
├───mock/ # 本地Mock数据接口
├───public/ # 公共静态资源目录
├───src/ # 主要源代码目录
│ ├───App.vue # 根 Vue 组件
│ ├───main.ts # 应用入口初始化Vue实例
│ ├───api/ # API 请求模块
│ ├───assets/ # 静态资源(图片、字体、样式)
│ ├───components/ # 可复用的全局组件
│ ├───directives/ # Vue 自定义指令
│ ├───hooks/ # 可复用的 Composition API (Hooks)
│ ├───layout/ # 后台管理系统整体布局组件
│ ├───plugins/ # 插件(如 ECharts, Element Plus
│ ├───router/ # Vue Router 路由配置
│ ├───store/ # Pinia 全局状态管理
│ ├───style/ # 全局样式和 SCSS 变量
│ ├───utils/ # 工具函数模块
│ └───views/ # 页面级组件
└───types/ # 全局 TypeScript 类型定义
```
## 开发规范
### **对Gemini的特别指令**
- **严格遵守规范**当Gemini为本项目生成或修改任何代码时**必须** 严格遵守本文件中定义的所有开发规范。
- **中文优先**:所有代码注释、日志输出(例如 `console.log`、以及提交信息Commit Message**必须** 使用中文。
- **多平台兼容**所有代码需要兼容mac,windows,linux平台。
### 代码风格
- 使用 TypeScript 严格模式
- 组件命名采用 PascalCase (如 `TaskCard.vue`)
- 函数和变量使用 camelCase驼峰命名
- 常量使用 UPPER_SNAKE_CASE
### 项目启动
- 请参考package.json中dev命令可以直接启动项目
### 注释和日志
- 注释请使用中文
- 日志输出请使用中文
## 对话记录
### 本次会话总结 (2025年10月14日)
本次会话主要围绕 **首页动态化改造** 展开,完成了以下核心功能:
1. **创建页面统计脚本**:
*`scripts/` 目录下创建了 `statistics.mjs` 脚本。
* 该脚本能够统计 `demo`, `python`, `utils`, `screen`, `template` 等多个模块下的页面数量、标题、最后修改日期等信息。
* 脚本能够智能处理动态路由(如 `demo` 模块)和静态路由(如 `template` 模块)两种不同定义方式。
*`package.json` 中添加了 `pnpm run stats` 命令来执行此脚本。
2. **生成动态配置文件**:
* 脚本的统计结果会输出到 `/src/views/welcome/config.json` 文件中,作为首页的数据源。
3. **首页组件改造**:
* 重构了 `/src/views/welcome/index.vue` 组件。
* 移除了原有的静态模拟数据。
* 组件现在直接从 `config.json` 导入数据,实现了首页内容的动态更新。
* 在页面前端添加了分类的中文名映射,优化了展示效果。
4. **过程中的迭代与修复**:
* 根据用户反馈,修复了统计脚本中错误的过滤逻辑,确保了统计数据的准确性。
* 根据用户需求,多次优化了页面标题的生成规则。
* 根据用户反馈为所有由Gemini生成的代码和日志添加了中文注释并强化了此项规范。
### 本次会话总结 (2025年10月14日)
本次会话聚焦于解决 `scripts/statistics.mjs` 脚本在 Windows 平台上的兼容性问题。
1. **问题定位**:
* 用户报告在 Windows 系统上运行 `pnpm run stats` 命令无法生成正确的 `config.json` 文件,统计数据不完整。初步诊断为跨平台路径分隔符问题。
2. **修复过程**:
* **初次尝试**: 修正了脚本中过滤 `components` 目录的逻辑,将硬编码的 `/` 改为跨平台兼容的判断方式。但测试后发现问题未完全解决。
* **深入分析**: 进一步排查发现,问题根源在于 `globSync` 函数在 Windows 上接收了由 `path.join` 生成的包含 `\` 的路径模式,导致文件匹配失败。
* **最终修复**: 根据 `glob` 库的最佳实践,修改了脚本,在调用 `globSync` 前强制将路径模式中的 `\` 替换为 `/`
3. **结果验证**:
* 重新运行 `pnpm run stats` 命令,脚本成功执行,并生成了包含所有模块 (`demo`, `python`, `template` 等) 的完整统计数据。
* `config.json` 文件内容恢复正常,证明了跨平台兼容性问题已解决。
- **会话结束指令**:當我表示準備結束會話時,你**必須**先將本次對話的重點,以“本次会话总结”的格式更新到 `GEMINI.md` 的“对话记录”部分,然後才能結束對話。
## 开发任务
### 规范
使用了删除线的就代表已执行完成
### 任务列表
* ~~项目首页/welcome这个路由下是默认的的首页介绍页面但是现在这个页面是一个静态的页面是由一些模拟数据渲染的我现在希望完成功能如下~~
- ~~在package.json中添加一个命令当执行这个命令的时候可以本地统计/src/views下的/demo/python/utils/screen这四个模块下分别有多少个页面页面维度请按照router路由来统计例如/python文件夹有五个文件夹这就是5个页面。当统计完成后在/src/views/welcome中创建或者更新config.json文件以便后续页面可以直接读取json配置文件~~
- ~~请读取/src/view/welcome中页面其中页面的数据来源为/scripts/statistics.mjs请更新该脚本以便获得更多的信息来满足/src/view/welcome页面所需数据的渲染~~
- ~~将/src/view/welcome/config.json作为数据源渲染到/src/view/welcome的vue组件中~~
* ~~本项目是一个个人的代码总结记录网站在部署生成环境的时候即执行pnpm build的时候也是需要查看console日志的现在请帮我打开生产环境的打印信息和日志。~~