以下的操作都是后台的教程创建者的操作,不是参与学习的用户的操作。 教程创建者不是一般意义上的用户,他也不需要像普通用户那样登录,只需要有一个秘密的,普通用户访问不到的界面来进行这些操作就可以了。 教程创建的步骤: 1. 创建单篇教程。一篇教程(tutorial)由以下几个持久化数据项构成 - 教程的唯一标识 tid (由创建者定义的唯一标识,并非数据库标识。) - 教程的初始 html - 教程的初始 css - 教程的检查脚本 check_data - 教程的提示脚本 tips_data 四个数据项都是持久化的字符串。 通过一些操作【可以比较简陋】,教程创建者可以创建教程记录,并提交这些数据项。 2. 创建数据地图。一个数据地图(map)由以下几个持久化数据项构成 - 地图的唯一标识 mid (由创建者定义的唯一标识,并非数据库标识。) - 地图的节点关联信息 data (信息中包含了地图节点的关联,以及地图节点与教程的关联 https://github.com/mindpin/edu-game-map/issues/2 ,这里简单起见,直接以 minicourse 来对应教程的 tid) 通过一些操作【可以比较简陋】,教程创建者可以创建数据地图,并提交这些数据项。 #### 前端如何渲染数据地图? 由前端脚本硬编码,根据 mid 取到数据地图,渲染。让用户通过渲染后的关卡界面来操作。 用户进入每个关卡时,可以根据关卡对应的 tid,取到 tutorial 的数据,后面的事情,包括用户输入的检查,用户代码提交,用户过关标记,都是由前端发起的。 由于这个应用做出来,在目前只是用在我们发布css教程给用户。因此后台可以非常简陋。只有几个 textarea 来提交数据也是可以的。
以下的操作都是后台的教程创建者的操作,不是参与学习的用户的操作。
教程创建者不是一般意义上的用户,他也不需要像普通用户那样登录,只需要有一个秘密的,普通用户访问不到的界面来进行这些操作就可以了。
教程创建的步骤:
创建单篇教程。一篇教程(tutorial)由以下几个持久化数据项构成
四个数据项都是持久化的字符串。
通过一些操作【可以比较简陋】,教程创建者可以创建教程记录,并提交这些数据项。
创建数据地图。一个数据地图(map)由以下几个持久化数据项构成
通过一些操作【可以比较简陋】,教程创建者可以创建数据地图,并提交这些数据项。
前端如何渲染数据地图?
由前端脚本硬编码,根据 mid 取到数据地图,渲染。让用户通过渲染后的关卡界面来操作。
用户进入每个关卡时,可以根据关卡对应的 tid,取到 tutorial 的数据,后面的事情,包括用户输入的检查,用户代码提交,用户过关标记,都是由前端发起的。
由于这个应用做出来,在目前只是用在我们发布css教程给用户。因此后台可以非常简陋。只有几个 textarea 来提交数据也是可以的。