337 lines
9.2 KiB
Markdown
337 lines
9.2 KiB
Markdown
> 文档版本:v1.0
|
||
> 最后更新:2026-04-02
|
||
|
||
|
||
结果页会根据客户的要求不停的变换,用什么方案能实现这个需求,其实其他的弹出内容也都存在这个问题,样式,内容都时根据客户需求变化的,怎样一种方案设计比较好呢?
|
||
|
||
|
||
我想改造下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模拟器加个日志输出功能,把调试期间不方便打在调试面板里的信息输出到模拟器上,你觉得如何?这样更方便后期调试?如果可以先给个方案
|