chore: 提交调试文档与模拟器改动

This commit is contained in:
2026-04-01 13:12:39 +08:00
parent 3ef841ecc7
commit 175a16001e
14 changed files with 1695 additions and 315 deletions

333
doc/MyToDo.md Normal file
View File

@@ -0,0 +1,333 @@
结果页会根据客户的要求不停的变换,用什么方案能实现这个需求,其实其他的弹出内容也都存在这个问题,样式,内容都时根据客户需求变化的,怎样一种方案设计比较好呢?
我想改造下GPS模拟器做成一个数据中转程序这样后面的开发模拟家长端监控场控数据回放就都能支持了类似于路由器只中转不保存数据你觉得可行否或者还有没有更好的方案
技术栈要轻量,健壮,性能第一,类似软路由这类应用
目前已经把卡片架构的底座搭出来了,进度可以概括成:
已经完成的
1. 原生内容卡主链已经成立
现在控制点内容不再是单一硬编码弹层,而是已经支持:
title / body
clickTitle / clickBody
autoPopup
once
priority
template
而且:
start-1 / control-N / finish-1 都可配置
起终点同位置时,点击内容优先级也已经处理了
2. 原生内容卡模板化已经落地
目前已经有 3 种原生模板:
minimal
story
focus
默认策略也定了:
起点/终点focus
普通点story
3. 内容展示机制已经不是“弹了就完”
现在已经有:
自动弹
手动查看入口
队列
优先级覆盖
once 本局只展示一次
也就是说,已经开始像正式的“内容体验层”了。
4. H5 分工已经定案并接进去了
这条边界已经试清楚了:
即时内容弹窗:原生
H5详情页 / 互动任务页 / 结果页
H5 不再直接顶替原生弹窗
当前实际链路是:
原生内容卡 -> 查看详情 CTA -> H5 详情页
5. H5 容器页已经能用了
企业主体切过来后:
web-view 已经能打开
最小测试链路已经通了
但也验证了一个结论:
小程序 web-view 不适合做局部弹窗内容区
适合整页详情/任务/结果页
现在还没完全做完的
1. 原生内容卡还不够“组件化”
现在模板化已经有了,但还没完全形成更正式的:
卡片 ViewModel
卡片模板注册表
模板渲染规范
现在还是“已可用,但还不够体系化”。
2. CTA 还比较初级
现在 查看详情 能用了,但还缺:
CTA 文案配置化
CTA 图标 / 样式分级
多动作支持
查看详情
开始互动
拍照任务
语音留言
3. 结果页卡片体系还没完全接完
结果页最小闭环做过,但还没真正进入:
原生模板化
H5 增强版
数据模型与展示模板分层
4. 原生有限 DSL 还没开始正式做
我们已经把方向定了:
原生模板
原生有限 DSL
H5 扩展
但目前真正落代码的主要还是原生模板层DSL 还没开始。
所以当前阶段判断
如果按“卡片架构”来讲,我会定义成:
已经完成了第一阶段 60%~70%
主链和边界已经对了
配置和模板能力已经起了
还差把它做成真正可长期扩展的“卡片系统”
这周最该做什么
我建议这周把这 3 件事做完,卡片架构就算基本立住了:
1. 把原生内容卡正式收成组件化结构
目标:
ContentCardModel
模板映射
渲染入口统一
2. 把 CTA 体系做出来
目标:
CTA 类型
CTA 文案
CTA 动作模型
原生 CTA -> H5 详情/任务
3. 把结果页也纳入同一套卡片/模板思路
目标:
原生最小结果页模板化
和内容卡共用部分卡片能力
为 H5 结果页增强留接口
一句话结论
现在卡片架构已经从“零散弹层”进化到“有配置、有模板、有 H5 分工的内容系统雏形”了。
这周如果继续往下做,最值得的是把:
原生内容卡组件化
CTA 动作体系
结果页模板化
这三件事补齐。
如果你愿意,我下一步可以直接给你列一版:
本周卡片架构实施清单,按文件和优先级拆开。
好的,列个清单看看
可以,按这周目标,我建议清单拆成 3 层。
P0 本周必须完成
原生内容卡模型收口
目标:
把当前散在地图页状态里的内容卡字段收成统一 ContentCardModel
明确字段:
template
title
body
motionClass
priority
once
cta
建议落点:
D:\dev\cmr-mini\miniprogram\game\experience
D:\dev\cmr-mini\miniprogram\engine\map\mapEngine.ts
CTA 动作体系
目标:
不再只有一个硬编码 查看详情
统一成动作模型,例如:
open-detail
open-task
close
CTA 支持:
label
type
target
建议先只做一主一辅两个按钮位。
原生内容卡模板注册表
目标:
把 minimal / story / focus 从“字符串分支”变成正式模板映射
先明确每个模板:
标题样式
正文字数策略
CTA 区布局
动画等级差异
结果页最小模板化
目标:
把当前结果页按内容卡思路收成一个稳定模板
至少区分:
result-minimal
result-rich 预留
P1 本周最好完成
配置字典补齐卡片字段
目标:
文档里明确:
template
contentExperience
clickExperience
cta
默认逻辑
样例配置同步更新
文件:
D:\dev\cmr-mini\doc\config-option-dictionary.md
D:\dev\cmr-mini\event\classic-sequential.json
D:\dev\cmr-mini\event\score-o.json
内容卡与结果页的 ViewModel 分层
目标:
内容卡和结果页都先走 ViewModel
页面不直接拼业务字段
建议模型:
ContentCardModel
ResultCardModel
动画字典补卡片节点
目标:
把以下节点补进动画字典:
内容卡进入
内容卡关闭
CTA 点击
结果页进入
结果主数字进入
P2 可以放下周
原生有限 DSL 第一版
目标:
不直接做万能布局
先支持有限区块组合
H5 详情/任务页 CTA 扩展
目标:
不只 查看详情
后面支持:
拍照打卡
语音留言
开始互动
结果页 H5 增强版入口
目标:
原生结果页保底
H5 作为增强页入口
推荐执行顺序
ContentCardModel
CTA 动作体系
模板注册表
结果页模板化
文档和样例同步
动画字典补节点
一句话
这周先把“内容卡是一个系统”这件事做实,再把结果页纳入同一思路。
如果你要,我下一步可以直接按这个清单开始做 P0-1先收 ContentCardModel + CTA 动作体系。
CTA是啥来
CTA 就是:
Call To Action
中文可以理解成:
行动按钮
引导操作
下一步动作
在你这个项目里,最直观的例子就是内容卡上的:
查看详情
关闭
以后还可以是:
开始互动
拍照打卡
语音留言
查看结果
继续前进
也就是说CTA 不是内容本身,而是用户看到卡片后,可以立刻执行的动作入口。
在你现在这个项目里
例如这张卡:
标题:比赛开始
正文:从这里出发,先熟悉地图方向...
CTA
查看详情
关闭
所以“CTA 动作体系”说白了就是:
把这些按钮从临时写死,收成统一的动作模型。
比如以后配置里可以变成:
{
"cta": {
"type": "open-detail",
"label": "查看详情"
}
}
一句话:
CTA 就是卡片上引导用户下一步操作的按钮。
1. 先帮我指定一份游戏的最小配置模板,也就是说,去掉所有选配项,最小的游戏可跑配置,每个选项要带说明
2. 再给我一份当前开发状态下最全的配置模板,每个选项,参数要带说明
3. 将这2个文档落成文件
先把原生内容卡收口,这是系统默认配置,所有配置不起作用得时候,他们兜底,
在原生卡片上CTA可以有拍照语音开启H5深度内容等能力。
其中有一个自动出题目的能力就是2-3位数得加减运算并提供3个备选项让客户选择同时有个倒计时倒计时结束或选择答案后弹出对错提示。答对题目有积分答错或没答没有积分正确打点后也收割改点积分顺序赛默认是1积分积分赛根据实际点位积分来。
先实现以上功能
接着实现几个功能,细节的问题稍后说
打卡点的样式我需要几套样式,现在是单一标准空心圆圈,太枯燥。
我有几个想法:
1. 顺序赛,可以定制打卡点样式,可以定制路线腿样式
2. 积分赛,可以定制打卡点样式,不同积分可以不同颜色。
基于上面的想法,你有好的实施方案吗?先讨论
好的,测试可以,接着讨论下一个问题
轨迹我的想法是用户轨迹有三种形式无轨迹全轨迹拖尾轨迹如果不走轨迹最终消失就是轨迹指着GPS点跑你有什么方案先讨论
轨迹选项:无,彗尾,全轨迹
轨迹样式:
尾巴:短,中,长
颜色可以放8-16种基本色亮色
再说GPS点用户位置的GPS点样式也是定制的先说默认样式可以定制显示与不显示。现在的样式有点呆和粗糙我想给GPS点上加一个方向指示的小三角跟着朝向转你能理解吗另外GPS点也有3种大小用户自己可设置默认中等大小即可颜色也可设置。最重要的是根据我们的经验很多客户希望可以定制这个定位点具有商业属性例如换成商家的LOGO这个有方案吗先讨论。
再深一点自定GPS点能不能做成动画的停止一个动画跑起来又是一个动画甚至可以做些额外的动作。
开个小差我想临时加个功能在咱的GPS模拟器加个日志输出功能把调试期间不方便打在调试面板里的信息输出到模拟器上你觉得如何这样更方便后期调试如果可以先给个方案