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 保持一致,避免将演示密钥打入正式包。