2.1 KiB
2.1 KiB
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(
- 选择建议:简单场景用 http,复杂/自动化用 alova 或 vue-query。
- 状态管理采用
pinia,入口在src/store/。
Tabbar 策略
- 支持 4 种 tabbar:无、原生、自定义有缓存、自定义无缓存,详见
src/tabbar/README.md。 - tabbar 配置需与接口返回的 path 对齐,使用 unocss 图标需在
uno.config.tssafelist 配置。
关键开发流程
- 构建/运行:使用 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。