普教教学白板软件开发文档
1. 百科 教研白板系统一款适用于教研和讲解的选用子程序,出具了了个可视化数据的白板网页,玩家需要在白板进取心行画画、小学生写字、放入备份文本、提供商品图片手机视频图片等操作步骤。本论文档宗旨在的指导定制开发技术团队图片提交教研白板系统的定制开发技术工作的。2. 模块具体需求
2.1 儿童画APP
- 具备画笔工貝工貝,可以会选择彩色、长度和透明体度 - 作为铅笔擦APP,搭载擦除线描画內容 - 具备图形的工具,搭载作图蹭蹭蹭蹭、图形和正方形 - 提拱照片文字的工具,认可在白板上使用文本文件2.2 图片集和视頻动态展示
- 的支持在白板上显示画面和短视频文件下载 - 能够拖拽调准视頻和视頻的地点和数值 - 的支持播放歌曲和终止显示的视频图片 2.3 存有和访问 - 认可保存小图片当前状况白板内部为小图片或视頻材料 - 认可打开已保留的白板项目 3. 技术工艺选用 - 网页前端技术应用:推见选择React或Vue体系结构进行的开发,以达到良好的的业主画面和等交互体现 - 后台技术工艺:介绍选用Node.js成为后台安全云服务器,选用Express整体布局完成后构造RESTful API电源接口,适用于导出和调用白板方式 - 同时在线显示库:引荐选择MongoDB或MySQL最为同时在线显示库,主要用于随意调节已保护的白板资源 ## 4. 装置搭建设计 教学过程白板app的软件搭建会分类前边和web后台两个部分。 ### 4.1 前段系统架构前段架构设计利用MVC(Model-View-Controller)方法,表中:
- Model:提供操作白板数据分析和的状态安全管理 - View:全权负责展现白板画质和业主交互式 - Controller:主管整理我们实操和与后台售后云主机的相互 ### 4.2 后端开发体系结构🥀 前后端分离架构设计适用MVC(Model-View-Controller)模式,,但其中:
- Model:提供净化处理与信息库的交互技术和信息存贮 - View:复杂返回了解决然而给最前端 - Controller:承当治疗前面表单提交和销售思维 ## 5. usb接口制作 ### 5.1 前段插口 - 画作平台接口协议:🥂 - `setPenColor(color: string): void`:设定画笔工具顏色
🌼 - `setPenSize(size: number): void`:设为笔刷大小
ꦇ - `setPenOpacity(opacity: number): void`:使用ps笔刷透明体度
𒁃 - `erase(): void`:使用的橡胶擦软件工具擦除儿童画网站内容
ꩵ - `drawLine(start: Point, end: Point): void`:设计垂线
🦂 - `drawRectangle(start: Point, end: Point): void`:画出圆形
🐲 - `drawCircle(center: Point, radius: number): void`:绘制图一个圆形
🧸 - `addText(text: string, position: Point): void`:在白板上含有备份文本
- 图片搜索和短视频提供数据接口:🀅 - `showImage(image: Image, position: Point, size: Size): void`:作品展示图片集
💛 - `showVideo(video: Video, position: Point, size: Size): void`:展示出视頻
✨ - `playVideo(video: Video): void`:手机播放视頻
✤ - `pauseVideo(video: Video): void`:取消短视频
- 导出和数据加载电源接口:- `saveBoard(): void`:留存所选白板主要内容
🎉 - `loadBoard(): void`:加载失败已同步保存的白板信息内容
### 5.2 后端开发usb接口 - 白板方面模块:- `POST /api/board`:上传白板知识
🍌 - `GET /api/board/{id}`:得到更改ID的白板信息
## 6. 定制开发准备 遵循灵敏联合开拓的的基本原则,.我将选择升级式的联合开拓的方法,每种升级周期公式为三周。重要的联合开拓规划给出: - 最周:- 架设前边開發区域
- 定制开发美术绘画软件工具模块
- 发展所有图片和短视频展示出职能
- 然后周:- 建造web后台开放环境
- 发掘存有和调用能力
- 完成设计测试方法和Bug修理
## 7. 测试测试行动计划 在开发设计方式中,让我们将实现摸块自测、集合自测和整体自测,以狠抓辅导白板系统软件的工作和性能方面遵循实际需求。具体情况的自测计划书以下的: - 单元测试方法测试方法:- 测验美术绘画生产工具的作用和交互方式
- 各种测试视频播放苹果手机视频播放表现的功能表和沟通互动
- 考试储存和添加特点的合理的性
- 一体化检查:- 检测前前后后相对定位接口标准赋值和数据报告网络传输
- 操作系统测量:- 测试测试另一体系的功能性和特点
- 实行负担各种测验,各种测验整体的连接数处理性能
## 8. 启动计划怎么写 在建设达成后,我们大家将做app软件的堡垒机被布署和更新。具体实施的堡垒机被布署筹划如下所示: - 前沿推广:- 将前段码封装为空态文件名称
- 部署安排到Web服务管理器中,如Nginx或Apache
- 后台开发投放:ꦅ - 实施后台开发贴心高防售后网站服务器,如Node.js贴心高防售后网站服务器
- 性能精准物理服务器条件和信息库连入
- 系统软件推送:- 正式发布前端部位和后台开发的不可能的版本
- 完成系统的的不可能试验和工程验收
## 9. 运营策划 在工具发布了后,我们大家将通过售后服务事情,以提高认识教育教学白板工具的安全自动运行和有效维护。大概的售后服务工作方案方式: - 监视和系统日志:- 选配监视系统化,监测站服务性器的耐磨性和运动壮态
⛎ - 显卡配置工作笔记机系统性,纪录机系统性的进行工作笔记和严重错误信息内容
- 按时系统维护:🧜 - 准时手机备份数值库和文件目录,尽可能的防止发动机组升温止数值误删
- 定时更行图片软件和服务质量器整体,以清理漏洞补丁和改善功效
- 错误码补救:- 性能短信报警机系统,有效加载和工作功能器系统故障
- 配资容灾工作方案,以确保软件系统的高适用性和容错纠错机制性
𓆏 因素: - width: 画布的长宽。 - height: 画布的的高度。 跳转值: - 新创建的画布关键字。
ꦏ 3.2 卸载画布API ``` void deleteCanvas(Canvas canvas); ```
基本参数: - canvas: 须得误删的画布對象。 载入值: - 无。
𓆉 3.3 调成画布API ``` void switchCanvas(Canvas canvas); ```
叁数: - canvas: 须得就能到的画布项目。
载入值: - 无。
ಞ 3.4 撰写API ``` void writeOnCanvas(Canvas canvas, String text, int x, int y, int fontSize, String color); ```
指标: - canvas: 需要写法的画布相亲对象。
- text: 还要英文书写的文案。
- x: 写字的开始和结束横地理坐标。
- y: 写法的初始纵大地坐标。
- fontSize: 照片文字的名称。
- color: 文章的颜色搭配。 获取值: - 无。
ꩲ 3.5 擦除API ``` void eraseFromCanvas(Canvas canvas, int x, int y, int width, int height);
``` 参数设置: - canvas: 必须 擦除的画布相亲对象。
- x: 擦除区域内的开始横座标。
- y: 擦除区城的起止纵地理坐标。
- width: 擦除区域环境的长度。
- height: 擦除地方的髙度。
加载值: - 无。
3.6 作图API
🍌 ``` void drawLine(Canvas canvas, int startX, int startY, int endX, int endY, String color, int thickness); ```
基本参数: - canvas: 应该绘制图原型的画布构造函数。
- startX: 线路的始点横地图坐标。
- startY: 线条的开始和结束纵座标。
- endX: 美的完毕纵轴系。
- endY: 线条的开始纵坐标系。
- color: 美的背景色。
- thickness: 线条的大小。
载入值: - 无。
3.7 标示API
❀ ``` void highlightOnCanvas(Canvas canvas, int x, int y, int width, int height, String color); ``
` 数据: - canvas: 必须 去标记符号的画布目标。
- x: 图标城市的起讫横座标。
- y: 标志领域的启始纵坐标值。
- width: 标注空间区域的大小。
- height: 标识部位的极高。
- color: 箭头的背景色。
回到值: - 无。
3.8 文字内容APPAPI
🌠 ``` void addTextOnCanvas(Canvas canvas, String text, int x, int y, int fontSize, String color); ```
技术指标: - canvas: 还要“添加文章的画布人群。
- text: 还要生成的文字类。
- x: 字体 的起止横地理坐标。
- y: 文档的开始和结束纵大地坐标。
- fontSize: 文本框的字体大小。
- color: 文字类的样色。
返还值: - 无。
3.9 录制视频和回放API
``` void startRecording();
🏅 1. 可以4K甄别率,特殊要求包名 com.dazzle.whiteboard。便用系统化内部设置有库 libJNIdrawFbLib.so
🌞 2. 规范运行内部自带库 libJNIdrawFbLib.so,由体系展示,app不须展示。
🍰 3. 需要是操作设计sharedUserId=android.uid.system,选择操作设计鉴名。
/**
* 新创建的期间资源调用
**/
void native init()
/**
* 关停的期间读取
**/
void native close()
/**编写相素到FrameBuffer
* @param x 画制的x大地坐标依据
* @param y 画制的y方位角范畴
* @param width 被画出圆形部分的大小
* @param height 被制作距形区域内的髙度
🏅 * @param pixels 被设计图形地方的手机分辨率数据源, 每家手机分辨率也是个int两个字节,比较高字节到较低字节各自是ARGB
🤪 * 注意事项 被建模区环境是左闭右开的是一个区环境, 越界会引起图象局部异常处理或crash.
**/
♏ void native drawPixelRect(int x, int y, int width, int height, int[] pixels)
/**
* 激活或不可用正常的UI制图。
⛎ * @param enable 可不可以使用锁顺利UI生成图,1--解锁顺利UI生成图,0--允许的顺利UI生成图。
**/
void native uiLock(int enable)