一、首先明确前端需要实现的功能模块(体现模块化原则)
- 页面整体框架
- 用户登录模块
- 文章编辑模块
- 活动展示模块
- 报名模块
- 社团后台管理模块
其中,前端和后端的数据交互是贯穿于各个模块当中的。
二、各个功能模块的实现方式
1. 页面整体框架
a) 首先UI要画出页面的整体布局以及框架。
b) 学习html,css以及semantic-ui等知识,并根据所学知识将UI所画出的页面实现,尽量实现的美观实用。
c) 对初版的页面进行修改以及调整,根据大家的反馈将页面制作的更加完善。
可能出现的难点:对不同大小页面的适应性以及对不同浏览器适应性,对显示错误情况的处理,体现了处理错误情况原则。
所遵循的原则:静态页面的实现应该与功能实现分离开来,设计好的页面可以填充进不同的功能模块,不同的功能模块也可以适应不同的页面,体现了耦合原则以及界面和实现分离的原则。
2. 用户登录模块
a) 明确用户登录模块需要实现的功能,用户登录,用户登出,用户注册,社团登录功能,社团注册由于社团量有限,所以后台手动添加即可。
b) 用户登录和社团登录根据UID的不同区分开来,输入用户名和密码后返回用户身份的信息。
c) 登出功能是将浏览器中暂时存储的信息清楚并返回初始页面。
可能出现的难点:在登录过程中对用户信息的保护,密码传输的过程需要有一定的加密方式,选择安全的传输协议,这些方式体现了信息隐藏和封装原则。
3. 文章编辑模块(需要有社团身份)
a) 编辑模块需要有文章首次发布以及发布后的文章的再次编辑两种功能。
b) 使用开源的Ueditor富文本编辑器实现发表文章时的编辑功能。
c) 实现获取用户所写的纯文本内容,带有格式的内容以及各种需要的信息。
d) 首次发布的功能只需处理用户首次输入的内容即可,再次编辑功能需要首先将之前的带有格式的内容的html代码填充进编辑器,后续编辑过程与发布同理。
可能出现的难点:编辑器各种功能的调用,各种信息的传输,保证文章在传输过程中的正确性和完整性。
4. 活动展示模块
a) 展示的信息有,活动名称、摘要以及活动时间。
b) 通过向后端发送请求获取需要展示的信息。
c) 将获取的信息在页面中展示出来。
可能出现的难点:展示出的信息的更新,需要有时效性;展示信息排版的正确性。
5. 报名模块
a) 在活动展示页需要有用户报名模块。
b) 用户点击报名之后,将用户报名时所填的信息传递到后端即可
可能出现的难点:用户点击报名时需要判断用户的登录状态以及登录身份信息,未登录的用户以及社团不可以报名。
6. 社团后台管理模块
a) 需要有活动管理功能,活动名单管理功能两种功能。
b) 活动管理功能首先需要把该社团已发布的活动展示出来,这里与活动展示模块同理,管理需要有增删改等功能,增和改的功能由文章编辑模块实现,删的功能需要和后台的数据进行交互。
c) 活动名单管理功能同样是首先将已报名用户的信息展示出来,对名单进行增删改查动作。
可能出现的难点:此部分需要大量与后端进行数据交互,在保证数据传输的正确性的基础上尽量提升传输的速度,当执行批量删除动作的时候,在短时间内有大量的数据交互,这时候要保证整个过程可以正确而高效的进行,体现了对大量数据的处理能力的原则。
三、总结
除了上述模块,还有少量小的细节部分,此处就不再叙述,在实现的过程中随机应变即可。
由于功能都是模块化的,所以代码在编写的过程中不同功能的部分也是分离开来的,不仅体现了模块化原则,模块化也便于程序的修改与调整,当需求变化时可以快速的增加或修改功能,体现了软件应对变化的灵活性的原则。