|
|
@@ -0,0 +1,33 @@
|
|
|
+# Repository Guidelines
|
|
|
+
|
|
|
+## 项目结构与模块组织
|
|
|
+- `pages/`:功能页面入口与逻辑(index、game、exchange、achievement、mytz 等)。
|
|
|
+- `components/`:复用组件(如 `my-popup`、`my-tab`、`my-topbar`、`e-select`),优先在此沉淀通用 UI。
|
|
|
+- `common/`:跨页面工具与 API 封装(`api.js`、`cardfunc.js`、`openmap.js`、`tools.js`、音频辅助)。
|
|
|
+- `sdk_delivery/`:SDK 产物与文档(`API.md`、`API_SERVER.md`、`demo.html`、`bridge.js`、`demo_project/` 集成示例)。
|
|
|
+- `static/`、`uni_modules/`:静态资产与三方模块;根配置(`manifest.json`、`pages.json`、`global.css`、`uni.scss`、`App.vue`、`main.js`)定义路由、主题与平台设置。
|
|
|
+
|
|
|
+## 构建、测试与开发命令
|
|
|
+- 安装依赖:`npm install`(新环境运行一次)。
|
|
|
+- H5 预览:`npm run dev:h5`(或 HBuilderX “运行 → 浏览器”);使用 `package.json` 中 `uni-app.scripts.dev` 的 `API_BASE_URL`、`OSS_URL`。
|
|
|
+- 生产打包:`npm run build:h5`(或 HBuilderX “发行 → 网站-H5”);读取 `uni-app.scripts.prod` 环境。
|
|
|
+- SDK 快测:浏览器打开 `sdk_delivery/demo.html`,结合 `sdk_delivery/mock_flutter.js` 校验 bridge 事件。
|
|
|
+- 目前 `npm test` 仅占位;新增测试需同步添加脚本与依赖。
|
|
|
+
|
|
|
+## 代码风格与命名约定
|
|
|
+- 以 Vue 2 兼容模式为主,保留 Vue 3 入口;优先使用 SFC,保持 script/template 分离。
|
|
|
+- 缩进使用制表符(tabs),JS 字符串用单引号;分号按需使用以保持简洁。
|
|
|
+- 组件前缀 `my-*`/`e-*`,工具与方法用 `camelCase`;CSS 变量集中在 `global.css`/`uni.scss`。
|
|
|
+
|
|
|
+## 测试指引
|
|
|
+- 新逻辑需补充单测或端到端测试,可放在页面同级或平行的 `tests/` 目录。
|
|
|
+- 测试命名建议体现功能与行为,如 `index.banner.load.test.js`。
|
|
|
+- 提 PR 前做手工冒烟:访问 `/pages/index`、`/pages/game`、`/pages/exchange`、`/pages/mytz`,确认接口命中当前 `API_BASE_URL`,并验证 `common/openmap.js` 的地图/跳转流程。
|
|
|
+
|
|
|
+## 提交与 PR 规范
|
|
|
+- 提交信息简短祈使句,如 `Add exchange quota check`;版本发布可用 `vX.Y.Z`。
|
|
|
+- PR 应包含:变更摘要、关联需求/Issue、UI 变更截图或 GIF、影响平台(H5/SDK)、手工测试记录或新增测试命令。
|
|
|
+
|
|
|
+## 安全与配置提示
|
|
|
+- 不要提交密钥;接口与 OSS 配置通过 `package.json` 环境块注入,本地请用覆盖方式而非硬编码。
|
|
|
+- 更新 SDK 产物时,确保 `sdk_delivery/api.js`、`bridge.js` 与 `API_SERVER.md` 保持一致,避免将演示密钥打入正式包。
|