60 lines
2.8 KiB
Markdown
60 lines
2.8 KiB
Markdown
# 控糖消消乐独立功能包
|
||
|
||
此目录包含“控糖消消乐”无尽三消版的全部运行文件,可以整体复制到另一个 uni-app Vue 3 项目的 `tongji/endless-game/` 下。
|
||
|
||
## 目录内容
|
||
|
||
- `index.vue`:页面、棋盘算法、关卡主题、任务、道具、三/四/五连奖励和适老化交互。
|
||
- `game-endless.scss`:完整页面与动画样式。
|
||
- `components/TongjiIcon.vue`:本功能包使用的图标组件。
|
||
- `composables/useGameAuth.js`:复用主小程序账号并处理 token 过期重登。
|
||
- `composables/useGamePlatform.js`:周榜、成绩补传与微信分享的平台连接层。
|
||
- `composables/useGameSfx.js`:滑动、掉落、消除、连击和大奖音效。
|
||
- `utils/svgDataUrl.js`:图标编码工具。
|
||
- `assets/food/`:本游戏使用的全部食品与驼乳粉图片。
|
||
- `viteAssetOutput.js`:把食品图输出到本功能分包,避免增加微信小程序主包体积。
|
||
|
||
## 迁移步骤
|
||
|
||
1. 整体复制 `endless-game` 文件夹到目标项目的 `tongji/` 目录。
|
||
2. 在目标项目的 `vite.config` 中引入素材输出规则,并放到 `build.rollupOptions.output`:
|
||
|
||
```js
|
||
import { endlessGameAssetFileNames } from './tongji/endless-game/viteAssetOutput.js'
|
||
|
||
// defineConfig 内
|
||
build: {
|
||
rollupOptions: {
|
||
output: { assetFileNames: endlessGameAssetFileNames }
|
||
}
|
||
}
|
||
```
|
||
|
||
3. 在目标项目 `pages.json` 的 `tongji` 分包 `pages` 数组中加入:
|
||
|
||
```json
|
||
{
|
||
"path": "endless-game/index",
|
||
"style": {
|
||
"navigationStyle": "custom",
|
||
"navigationBarTitleText": "控糖消消乐",
|
||
"backgroundColor": "#eefbf4",
|
||
"disableScroll": false,
|
||
"enableShareAppMessage": true,
|
||
"enableShareTimeline": true
|
||
}
|
||
}
|
||
```
|
||
|
||
4. 使用 `/tongji/endless-game/index` 打开游戏。
|
||
5. 微信小程序后台需要允许音频域名:`https://gz-1349751149.cos.ap-guangzhou.myqcloud.com`。
|
||
|
||
## 说明
|
||
|
||
- 旧版“糖分突袭”页面及其独占依赖已经移除,项目只注册 `/tongji/endless-game/index` 这一款小游戏。
|
||
- 连消小目标按“连消×2”累计 2 次;连续 6 次普通消除没有连消时,下一次掉落会提供连消机会。“连消×3”保留为额外积分、驼乳粉与撒花惊喜,不阻挡主线任务。
|
||
- 横向 3 个与竖向 3 个相交形成 L/T 形五消时,会在交点生成带高对比 L 标记的范围爆破棋子;该棋子再次被消除时清除周围九格。
|
||
- 进入游戏时展示“本周 7 人同行榜”,包含真实平台昵称、前后名次、差距提示和可切换的同行/亲友鼓励;顶部“本周同行”可再次打开。后端部署方式见 `PLATFORM_INTEGRATION.md`。
|
||
- 本功能包依赖 uni-app Vue 3 和 `@dcloudio/uni-app`,不依赖当前项目其他业务组件。
|
||
- 食物风险等级和科普文案集中在 `index.vue` 的 `FOODS` 配置中,正式上线前仍需由医院医生审核。
|