我想使用 Java 生成一个基于树的菜单,该菜单将显示在 USSD 浏览器上。每个节点可能有子节点,以叶节点结尾。我还必须维护访问此菜单的每个用户的状态(例如他在菜单上的当前位置)以方便导航。
关于如何实现树生成和状态管理有什么想法吗?
我假设您从网关收到一条消息,例如:
(会话#,用户输入)
您需要计算发送给用户的下一个信息?
我提议:
表当前状态:
会议#
State
表状态:
State
Title
餐桌选择:
State
Choice
Name
DoCode
新州
然后当您收到消息(Session#,UserInput)时:
- 使用 Session# 查询 CURRENTSTATE 以确定用户处于什么状态。
- 使用 State 和 Choice=UserInput 查询 CHOICES,根据用户输入确定新状态(和 DoCode)。
- 基于DoCode,可以做一些处理。
- 更新 CURRENTSTATE 以反映新状态。
- 查询 STATES 以获取标题(例如“请选择颜色”)。
- 查询 CHOICES 以获取新状态中可能的选择(例如(1,“蓝色”)、(2,“红色”)等)
- 构建消息(连接标题 + 选择)
- 返回消息给用户。
这是解决问题的合理方法吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)