# courseware-workflow-v2.0 **Repository Path**: lic_ydlx/courseware-workflow-v2.0 ## Basic Information - **Project Name**: courseware-workflow-v2.0 - **Description**: 分離資源和題目模型,部署于騰訊云;通過json配置動態加載資源及模型組裝課件的课件制作工作流 - **Primary Language**: TypeScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2020-12-10 - **Last Updated**: 2022-09-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # courseware-workflow-v2.0 #### 项目介绍 分離資源和題目模型,部署于騰訊云;通過json配置動態加載資源及模型組裝課件的课件制作工作流 #### 项目目标 核心目標:提高課件製作效率 長期目标:搭建可視化課件製作平臺 功能目标:1.沉淀题型制作经验,建立题型统一制作规范,为题型池的创立及发展做准备。 (题型池的建立具有决定性,所有的课件可以纳入一个体系) #### 项目目录 course |--|--json配置 | | origin |--|--课件入口场景 | | library |--|--components: 组件 | | | |--controllers: 控制器 | | | |--models: 题型model | | | |--historyModels:歷史體型model (做課後復習用) #### 项目架构 1.分层(3层) 入口层:场景入口 职责:区别正,测试环境;动态获取配置json等 控制层:控制器 职责:初始化第三方环境;初始化全局组件(面板组件); 根据配置json动态加载ui资源,题型model,组件,并进行初始化; 预加载资源;控制页面切换,信令收发等 资源层:ui資源,组件资源,题型资源 2.工作流 一:根據業務需求找到或製作匹配的題目模型 二:通過json配置對應的ui資源或參數 三:本地调试 3.部署 登录腾讯云-云存储 prefabs/ -- 更新对应目录的ui资源,题型model及组件; 腾讯云-数据库 configJson/ -- 更新对应配置json 4.打包课件zip包 (一个html配置相关参数,打包成zip包,上传到拓客云课堂)(找相关人员获取html) #### 项目现状 0到1雏形阶段 #### 题型基本模式 1.数据驱动 定义state数据结构 各种操作修改state 通过state驱动ui变化及业务逻辑 2.单向数据流 3.状态同步 #### 项目问题 1.重要但短期内无法解决的问题 一:题型制作统一规范,建立题型池 二:随着业务迭代,各种隐藏问题暴露,导致许多临时方案 等 2.重要但短期内能解决的问题 一:建立可视化的题型管理(web端 题型列表 信息介绍: 作者是谁 功能是什么 版本迭代信息等等) 二:建立数据管理器:集中管理数据处理, 让其它开发人员按一定规范--脱离数据通信操作 三:每个开发开发风格不一致--制定必要的统一规范 四:部署环境,无正式,测试的区分 等 3.一般性问题 1.题型model与组件怎么组装更好 2.各种命名规范与统一 3.配置json数据结构怎么定义更好 等等 #### 项目反思及展望 所有的一切描述 基於按時按質完成指定課件! 1.工作流的定位: ① 工作流v1.0--課件實驗室 工作流v1.0的自由度更高,適合自由發揮,探索新的東西(教學模式,動銷,ai等等); 沒人要求課件必須采用什麽形式,工作流v1.0可以當個試驗場; 長期做同樣的東西,難免產生倦怠,換個不一樣的姿勢開發,開心就好。 ② 工作流v3.0--課件工廠 工作流v2.0及工作流v3.0共同點 都是為體型池準備的。 可視化製作平臺 根據現實情況離的比較遠。 建議全轉到工作流v3.0,逐步迭代。 因爲涉及到多人開發迭代,工作流v3.0要多溝通建立統一規範,按統一標準開發。 #### 開發現象問題 1.爲什麽采用狀態同步 ①幀同步對網絡要求高,不太適合我們現在上課環境的狀態 ②課件目前定位成rpg 2.爲什麽很多題型代碼不封裝 ①工作流不斷演變中。 ②題型不斷更新中。 穩定,規範工作流;歸納,總結題型;然後在有限度的封裝代碼。 3.難道只能有這2個工作流嗎 當前環境下的實踐產物,確定目標:有用的則用,沒用的則擯棄 等等 #### 项目迭代解决方案 版本规划 有计划有阶段的版本迭代,逐个解决重要问题 (非常重要) 凡事预则立 #### 其它说明 无论你想干什么,请先熟悉下业务及现实环境 #### 題外話 1.在綫可視化-模板池 是什麽:題目相對固定的模板集合 爲什麽:t系列快速,多人開發的情況下,為保持效率及可維護 怎麽辦:歸納,總結已有的題型,封裝成相對固定的模板; 運用騰訊雲,建立可視化的模板列表; 教研及產品根據業務需求,選擇對應的模板; 結果: 減少了教研,產品,測試,開發的溝通成本; 減少了程序的開發成本及維護成本; 保證了課件上綫周期及穩定性。 隱患:模板太少,同質性高,自由度低; 欲知後事如何,且聽下面分解。 2.在綫可視化-模板實驗室 是什麽:新題型的模板集合 爲什麽:t系列快速開發,模板少,同質性高,自由度低; 怎麽辦:通過和教研及產品溝通,將新題型提前進行固定模板開發及驗證; 通過后,模板轉移至模板池。 結果: 在保證題目多樣性的同時,保證課件開發效率 3.可视化的题型管理 是什麽:工作流v2.0及工作流v3.0中題型的在綫可視化管理 爲什麽:題型庫不直觀,沒文檔;題型模型歸納各行其是,不利於題型沉澱,不利於第三方復用模型 怎麽版:將題型庫在綫可視化,題型骨架,功能,版本,作者等等可視化 結果: 題型庫直觀,利於多人合作沉澱,復用,為題型池做初步準備。 4.題型池 是什麽:各種題型的抽象模型的集合 爲什麽:所有的課件在一個地方通過配置生產,減少開發成本及維護成本 怎麽辦:可能的方式-歸納,總結,運用對象及組合的方式: 骨架封裝成對象,建立生命周期;骨架通過組合不同的局部生成題目 題型池的聯想:在題型池的基礎上,運用ECS架構妙小程人物ip的世界觀。 每種題型或多個題型可以生產不同的挑戰關卡,賦予課件新的生命。 等等 #### 课后复习打包 1.把腾讯云的json文件的env从test改成prod 2.把测试用例地址(如https://after-school-review-8cguaeaace9d-1304725138.tcloudbaseapp.com/test/index.html?courseName=k2-48) 的test改成web-mobile