# Copilot Instructions for chazhi_store ## 项目架构与核心约定 - 本项目基于 UniApp(Unibest 3.8.2),采用 Vue 3 + TypeScript,目录结构以 `src/` 为主,分为页面、组件、API、服务、工具等模块。 - 页面与组件的方法命名规范:对外暴露方法统一以 `handle` 前缀命名(如 `handleLogin`),内部方法无需加前缀,所有方法集中在对象底部。 - 组件/页面对外方法对象名建议与文件名一致,若冲突可加 `s` 后缀。 - 路由、页面配置见 `src/pages.json`、`src/router/`,布局在 `src/layouts/`。 - 样式采用 `unocss`,全局样式在 `src/uni.scss`,图标需在 `uno.config.ts` 的 `safelist` 配置。 ## 网络请求与数据流 - 支持三种请求库: - 简单版 http(`src/http/http.ts`),示例见 `src/api/foo.ts` - alova(`src/http/alova.ts`),示例见 `src/api/foo-alova.ts` - vue-query(`src/http/vue-query.ts`),自动生成接口,示例见 `src/service/` - 选择建议:简单场景用 http,复杂/自动化用 alova 或 vue-query。 - 状态管理采用 `pinia`,入口在 `src/store/`。 ## Tabbar 策略 - 支持 4 种 tabbar:无、原生、自定义有缓存、自定义无缓存,详见 `src/tabbar/README.md`。 - tabbar 配置需与接口返回的 path 对齐,使用 unocss 图标需在 `uno.config.ts` safelist 配置。 ## 关键开发流程 - 构建/运行:使用 HBuilderX 或 `vite`,配置见 `vite.config.ts`。 - 依赖管理:使用 `pnpm`,依赖锁定在 `pnpm-lock.yaml`。 - 约定优于配置,所有新增页面/组件/服务请遵循现有命名与结构。 ## 重要文件/目录参考 - `src/pages/` 页面目录 - `src/components/` 通用组件 - `src/api/` 接口定义 - `src/http/` 请求库实现 - `src/service/` 业务服务层 - `src/store/` 状态管理 - `src/utils/` 工具函数 - `src/layouts/` 布局 - `src/tabbar/` tabbar 策略与配置 ## 其他说明 - 代码注释与文档以中文为主。 - 详细用法、特殊约定见各模块下 README.md。 - 遇到不明确的约定,优先参考现有实现和 README。