摘 要
随着人类向信息社会的不断迈进,风起云涌的信息时代正掀起一次新的革命,同时计算机网络技术高速发展,网络管理运用也变得越来越广泛。因此,建立一个基于微信小程序的魔音影评交流平台来管理电影信息,会使电影点评工作系统化、规范化。本课题的研究对象是电影的评论与交流。本系统在设计上,考虑到系统内容以及系统的受众群体,在系统的美工方面采用了比较正规的设计,同时也提供了友好的页面以及简单的操作,系统采用Java语言、SSM框架、MVVN模式、MySQL数据库,这样的组合不但利用上了在大学中所学到的知识,并且能够使系统真正的发布到平台上,而不是一个单纯的演示系统。本系统经过测试,运行效果稳定,操作方便、快捷。在具体的应用过程中,有可能会出现一些问题,今后还会对本系统不断地进行完善、更新,使其功能更强大,应用更广泛。
关键词:电影点评;SSM框架;Java语言
ith the continuous progress of humanity towards the information society, the turbulent information age is sparking a new revolution. At the same time, with the rapid development of computer network technology, the application of network management has become increasingly widespread. Therefore, establishing a magic sound movie review communication platform based on WeChat mini programs to manage movie information will systematize and standardize movie review work. The research object of this project is the review and communication of movies. In terms of design, taking into account the system content and the target audience, this system adopts a relatively formal design in terms of art design, while also providing friendly pages and simple operations. The system adopts Java language, SSM framework, MVVN mode, and MySQL database. This combination not only utilizes the knowledge learned in university, but also enables the system to be truly published on the platform, Rather than just a demonstration system. This system has been tested and has shown stable operation, convenient and fast operation. In the specific application process, there may be some problems that may arise. In the future, this system will be continuously improved and updated to make its functions more powerful and its applications more extensive.
Key Words:Film reviews; SSM framework; Java language
1.1开发背景与意义
一百多年前,电影在西方被发明。这是世界电影史上具有重大意义的一年,在此后的百年间,电影技术在中国本土得到广泛应用,而且已成为人民娱乐生活中一个必不可少的组成部分。人们对观看电影逐渐有着的更高需求。在传统的电视和电影院中,观众完全是被动的。电影提供者播放什么电影,观众就只能观看什么电影,尽管电影院可以提供很多的电影,但是用户在对电影的选择上都是通过一系列的宣传来了解的。因为在快节奏的现代生活中,许多人不可能为了看某一个电影而预先安排自己的时间。所以开发基于微信小程序的魔音影评交流平台这种信息服务方式符合人们对信息资源更深层次的需要。
如今在网络上,有着大量的影评网站,其中每个电评网站的侧重点都不一样,有侧重最新电影的,有侧重冷门电影的,有侧重国内电影的,有侧重国外电影的。在这种情况下,各种类型的电影都被极其广泛的宣传开来。由此可见,网上影评网站是电影宣传的重要手段,而且电影信息可以实时更新,人们对电影的评论也可以更广泛的传播开来。人们对电影的评论可以更好的让其他人了解该电影从而产生去看电影的兴趣。所以影评网站对推动电影的发展,提高人们生活娱乐水平有着极其重要的意义。在这种电影业蓬勃发展的趋势下,在电影的宣传和评论都逐渐的由实体宣传和评论转到了网络宣传的评论的趋势下,在人们了解电影信息也开始渐渐的由实体媒体了解转向到了网络上了解最新的电影信息的趋势下。综合以上所考虑的全部研究背景,特此研究出本基于微信小程序的魔音影评交流平台。
1.2系统优点
微信小程序的开发框架实现了简单高效的开发方式,整体的系统框架由逻辑层、视图层两部分组成。逻辑层使用Java语言描述,视图层使用Wxml 语言和 Wxss 语言描述。逻辑层与视图层可以进行数据、事件的通信。响应的数据绑定系统是微信小程序的框架核心,数据和视图可以保持同步的更新。框架管理整个微信小程序的页面路由,每个页面有完整的生命周期,页面之间可以切换。
1.3论文结构
第一章是论文的绪论部分,主要介绍了课题的研究背景以及研究目的和意义。
第二章研究了基于微信小程序的魔音影评交流平台所采用的开发技术和开发工具。
第三章研究了基于微信小程序的魔音影评交流平台的需求分析,根据系统的特点,分析系统采用的体系结构及开发方法,以及该系统的运行环境,并分析了业务流程,绘制了业务流程以及数据流程。
第四章是对系统的详细设计进行说明。
第五章是系统的具体实现,介绍系统的各个模块的具体实现。
第六章在前几章的基础上对系统进行测试和运行。
第2章 主要技术和工具介绍
2.1 MySQL 数据库
MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。因为其自身的功能相当强大,目前已成为最为流行的数据库软件之一]。
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
2.2 B/S结构
系统计划采用BS模式,是因为比传统的C/S结构具有明显的优越性。B/S模式也就是浏览器/服务器模式,它的界面部分是在浏览器端展示,而主要工作是由服务器端进行实现的,用户的请求由浏览器端提交给服务器端进行处理,而服务器将处理结果反馈给浏览器端,在浏览器端界面描画给用户查看。采用B/S模式不仅可以避免用户必须安装专业软件才能开发系统或者访问系统的局限性,而且更加便利。
2.3 SSM框架
科技的进步,给日常带来许多便利:教室的投影器用到了虚拟成像技术,数码相机用到了光电检测技术,比如超市货物进出库的记录需要一个信息仓库。这个信息仓库就是数据库,而这次的物流信息管理系统也需要这项技术的支持[7]。
用MySQL这个软件,是因为它能接受多个使用者访问,而且里面存在Archive等。它会先把数据进行分类,然后分别保存在表里,这样的特别操作就会提高数据管理系统自身的速度,让数据库能被灵活运用。MySQL的代码是公开的,而且允许别人二次编译升级。这个特点能够降低使用者的成本,再搭配合适的软件后形成一个良好的网站系统。虽然它有缺点,但是综合各方面来说,它是使用者的主流运用的对象。
2.4 MVVM模式
MVVM模式是常用的开发模式,主要是在代码实现上将其分为M层、V层和C层。
视图(View)代表用户交互界面,一个 Web 应用就可能有很多的界面,在 MVVM 模式中,视图仅仅处理的只有数据采集、处理,还有用户的请求, 并不包括业务流程的处理,业务流程由模型(Model)来处理。
模型(Model)就是业务流程/状态的处理及业务规则的制定。模型处理业务流程的过程其它层是无法看见了的,它就像黑箱子,在接受视图请求的数据之后,然后返回最终的处理结果。MVVM 最主要的核心就是业务模型的设计,一个典型的应用例子就是目前流行的 EJB 模型,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但是它不能作为应用设计模型的框架。
控制器(Controller)可以理解为接收用户的请求,然后视图和模型匹配在一起,一起再完成用户请求。它有非常明显的作用在划分控制层上,可以很清晰地告诉你,它就是一个分发器,选择什么样的模型、视图,可以完成用户的什么样的请求。控制层不做所有的数据处理,比如说:用户点击一个连接,控制层接受到请求之后,并不处理业务信息,它只是向模型传递用户的信息,同时告诉模型做什么,然后选择符合需求的视图返回给用户。
第3章 系统分析
3.1可行性分析
分析用户需求和数据需求,得到一个方案,然后设定系统的开发方案,为每个功能模块设计出物理设计方案,开发本系统的是否可行?本文从技术上、操作上和经济上对本系统的开发进行可行性分析。
3.1.1经济可行性
基于微信小程序的魔音影评交流平台属于一个工具型的系统,它可以节省工作人员大量数据收集、方便快捷,能够极大地提高工作效率,最大限度的降低管理员的工作量,使管理尽量简便,同时促进电影点评交流管理的信息化、现代化,及时提供必要的信息统计。因为整个系统采用SSM+MVVM+Mysql组合,这几个软件都是免费开源的,系统开发所需的费用是比较低的,由于系统并不复杂,其运行与培训费用也不会占用很多资金,可以预见系统完成后可以带来较大的经济效益。
3.1.2技术可行性
本系统采用Windows10作为操作平台。数据库开发平台选用MySQL,该数据库管理系统在Windows7和Windows8/10上都能运行,并提供数据库之间的数据复制功能,可代替现有系统单据数据的手工传递工作.
3.1.3操作可行性
本系统使用的是现流行的开发语言,即SSM框架。同时所有的信息都是以网页的形式展示,系统中的信息都可以在后台操作数据库达到数据更新的效果。用户只需要会计算机的基本操作或者会上网就可以使用本系统。系统布局较简单,功能操作不复杂,完全符合现代市场需求。
3.2需求分析
针对现存的问题和需要,通过功能需求的分析,特建立了数字化、信息化的基于微信小程序的魔音影评交流平台。
本系统主要包含了用户管理、电影信息、电影搜索、电影评论、电影管理、影视交流、影视配音等多个功能模块。下面分别简单阐述一下这几个功能模块需求。
表3-1功能需求表
编号 | 功能名称 | 功能描述 |
| 用户登录 | 保证用户通过身份验证进入系统进行操作 |
| 用户注册 | 没有账号并想使用系统的用户可以使用用户注册,检测用户的注册内容,信息通过检测之后成为本系统的用户 |
| 电影搜索 | 用户可以通过各种各样的关键字模糊搜索电影信息 |
| 评论添加 | 普通用户选择要评论的信息进行添加评论 |
| 评论管理 | 管理员对用户的评论信息进行管理,包括删除、修改 |
| 修改个人信息 | 用户可以根据自己当前的情况修改个人的信息 |
| 后台登录 | 仅管理员能够登录后台 |
| 添加电影信息 | 管理员添加电影信息 |
| 编辑电影信息 | 管理员修改电影信息 |
| 删除电影信息 | 管理员删除电影信息 |
| 添加影视配音 | 用户添加影视配音 |
| 上传影视配音 | 用户上传影视配音 |
| 管理影视配音 | 管理员管理影视配音 |
3.3业务流程分析
经过对系统功能的分析,调查,研究,总结出基于微信小程序的魔音影评交流平台主要实现的是对电影点评、影视配音等管理功能。这样,可以对该系统绘制业务流程图。
系统的业务流程如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/4c885bfb285518ae3c1bbabb5a17c608.png)
图3-2系统业务流程图
3.4数据流程分析
根据上文所述的业务流程特点,首先对各个方面总的数据处理环节和外部实体进行了描述, 根据自顶向下原则,逐层分解功能,这个过程产生DFD图。
零层数据流程是流程中最抽象的一层,它包括了注册与登录管理、用户功能管理和检索维护管理等功能模块,在登录注册模块使用到的数据存储有用户账户信息文档、用户信息文档,用户功能管理模块需要的存储是用户动态信息文档、点评信息文档、电影信息文档,检索维护是通过以上这些文档信息通过关键词进行搜索。
系统的0层数据流图如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/3a311f0d1cbafdcdca4a4890ac0a9c9f.png)
图3-4系统数据流图(0层)
一层数据流程图是对零层数据流程图的细化,将登录与注册细分为¥填制登录注册信息和完善信息,用户功能管理细分为用户基本功能管理和用户特色功能管理。
系统的1层数据流图如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/71fa7c3396a87d268c5933d4f749630a.png)
图3-5系统数据流图(1层)
二层数据流程是对一层数据流层图中填写登录注册信息、用户基本功能和用户特色功能的细化。即:填写登录注册信息细化为填制信息、后台审核,用户基本功能细化为电影信息、在线评论,用户特色功能细化为电影点评、收藏电影、上传影视配音信息。
第4章 系统设计
4.1系统结构设计
本系统使用的角色主要有系统管理员、普通用户,本系统分为系统前台和系统后台,首先在系统前台,游客用户可以经过账号注册,管理员审核通过后,用账号密码登录系统前台,进行电影浏览、电影搜索、电影点评、收藏电影、上传电音配音,在前台用户可以通过标题和类别进行前台信息的搜索,普通用户可以登录个人中心进行个人资料管等功能。
后台主要由管理员使用,以管理员的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用用户管理、电影管理、影视配音管理、点评管理等功能操作。
系统的功能结构图如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/a3a53d6dd27d9f39ee97330891135a80.png)
图4-1系统功能结构图
4.2主要功能模块设计
该模块包括普通用户管理和系统用户管理,系统用户主要是普通管理员,对用户信息进行管理,只有普通用户才可在该系统上进行相应的操作。用户对个人信息可进行修改;管理员可对自己的个人信息进行维护,同时可对用户的密码信息进行修改,也可删除系统中的用户
- 登录模块
根据用户输入的 Id 和密码到数据库中查找该用户,如果未能找到该用户则做出 提醒“用户名或密码错误”,如果找到该用户,则要判断用户的类别然后根据用户类别进入相应的页面。
- 注册模块
当新用户第一次登陆时,要求注册账号。在登陆页点击注册后进入用户注册界面,新用户需要填写本人的手机号、用户名、设置登录密码,之后单击注册,则完成了初步信息的填写
(1)电影添加:必须填写电影名称、电影类型、海报、导演、主演、制片地区、语言、片长,电影编号必须是唯一的, 提交后判断某一项是否为填写, 如果是则做出提醒, 填写符合规则后方可添加到数据库。
(2)电影查询:可以根据电影编号等信息对电影进行查询,查询结果可能有多个。
(3)电影修改:除了电影编号外,其他信息均可以修改。
(4)电影删除:首先找到要删除的电影(一个或多个),然后删除即可。
- 评论信息管理模块
评论模块分为用户评论和管理员管理评论信息,用户登录系统后,选择想要评论的电影,添加评论,管理员查询该评论信息,并有权对其管理,包括删除。
- 影视配音管理模块
此模块分为用户上传影视配音信息和管理员审核管理配音信息,用户登录系统后,添加影视配音视频进行上传,管理员查询该配音信息,并有权对其管理审核。
4.3数据库设计
4.3.1数据库设计概述
为了实现系统的功能设计,就要有相应的数据库表设计。根据系统的功能设计要求为各个数据库表设计字段、数据类型、是否为空等的相关信息。在实际调研和需求分析的基础上,对该系统设计数据库。再有系统的需求分析可以看出,本系统有两个角色:普通用户和管理员,他们分别在系统的运行和使用中起着不同的作用。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。数据库中表的设计主要考虑两个方面:一是整个管理系统的所有表中的数据要共享性高、冗余度小、占用最可能小的存储空间。
4.3.2概念设计
概念设计是整个数据库设计的关键,在概念设计阶段,由需求分析得到了E-R模型。E-R图是识别功能模型与数据模型间关联关系的,在主题数据库的抽取和规范化的过程中,采用的是简化的E-R图表示方法,从而避免过繁过细的E-R图表示影响规划的直观和可用性。是对现实世界的抽象和概括,是数据库设计人员进行数据可设计的有力工具,能够方便直接地表达应用中的各种语义知识,令一方面它简单、清晰、易于用户理解。
![](https://i-blog.csdnimg.cn/blog_migrate/49b31bf5f63752fc3d57122d62f99743.png)
图4-10系统总体ER图
4.3.3表设计
概念模型是独立于任何一种数据模型的信息结构。将概念模型转换成逻辑模型,转换的一般原则如下:
(1)一个实体性转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
(2)一个1:1联系可以转化为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
(3)一个1:n联系可以转化为一个独立的关系模式,也可以与n端对应的关系模式合并。
(4)一个m:n联系转化为一个关系模式。
本系统设计如下多个表,包括电影表、影视交流表、影视配音表。
表film_and_television_dubbing (影视配音)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | film_and_television_dubbing_id | int | 10 | 0 | N | Y | 影视配音ID | |
2 | dubbing_title | varchar | 64 | 0 | Y | N | 配音标题 | |
3 | cover | varchar | 255 | 0 | Y | N | 封面 | |
4 | film_genre | varchar | 64 | 0 | Y | N | 电影类型 | |
5 | dubbing_video | varchar | 255 | 0 | Y | N | 配音视频 | |
6 | publishing_users | int | 10 | 0 | Y | N | 0 | 发布用户 |
7 | dubbing_content | text | 65535 | 0 | Y | N | 配音内容 | |
8 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
9 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
10 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
11 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表film_and_television_exchange (影视交流)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | film_and_television_exchange_id | int | 10 | 0 | N | Y | 影视交流ID | |
2 | post_title | varchar | 64 | 0 | Y | N | 帖子标题 | |
3 | cover | varchar | 255 | 0 | Y | N | 封面 | |
4 | post_type | varchar | 64 | 0 | Y | N | 帖子类型 | |
5 | post_label | varchar | 64 | 0 | Y | N | 帖子标签 | |
6 | publishing_users | int | 10 | 0 | Y | N | 0 | 发布用户 |
7 | post_content | text | 65535 | 0 | Y | N | 帖子内容 | |
8 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
9 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
10 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
11 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表film_genre (电影类型)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | film_genre_id | int | 10 | 0 | N | Y | 电影类型ID | |
2 | film_genre | varchar | 64 | 0 | Y | N | 电影类型 | |
3 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
4 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表hits (用户点击)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表movie_information (电影信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | movie_information_id | int | 10 | 0 | N | Y | 电影信息ID | |
2 | movie_title | varchar | 64 | 0 | Y | N | 电影名称 | |
3 | film_genre | varchar | 64 | 0 | Y | N | 电影类型 | |
4 | cover | varchar | 255 | 0 | Y | N | 封面 | |
5 | performer | varchar | 64 | 0 | Y | N | 演员 | |
6 | film_duration | varchar | 64 | 0 | Y | N | 电影时长 | |
7 | movie_video | varchar | 255 | 0 | Y | N | 电影视频 | |
8 | date_of_upshift | date | 10 | 0 | Y | N | 上档日期 | |
9 | film_introduction | longtext | 2147483647 | 0 | Y | N | 电影介绍 | |
10 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
11 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表notice (公告)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表ordinary_users (普通用户)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | ordinary_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | gender | varchar | 64 | 0 | Y | N | 性别 | |
4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
5 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表post_type (帖子类型)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | post_type_id | int | 10 | 0 | N | Y | 帖子类型ID | |
2 | post_type | varchar | 64 | 0 | Y | N | 帖子类型 | |
3 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
4 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
第5章 系统实现
5.1登录模块的实现
基于微信小程序的魔音影评交流平台的平台入口就是用户登录功能,在浏览器输系统地址跳转至系统前台首页,系统前台的登录窗口在首页左面,包括用户名、密码、权限、验证码,除了权限框使用下拉列表,其他使用文本框,验证码下方为登录和重置两个按钮,用户点击登录按钮,则进行登录验证。
登录流程图如下所示。
![](https://i-blog.csdnimg.cn/blog_migrate/106bfe922aaadcec53c42d11846264ee.png)
图5-1登录流程图
登录界面如下所示。
![](https://i-blog.csdnimg.cn/blog_migrate/a9f01ea357d03c2c558e68001171bcf8.png)
图5-2登录
登录关键代码如下。
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
query.put("username",user.getUsername());
List list = service.select(query, new HashMap<>()).getResultList();
if (list.size()>0){
return error(30000, "用户已存在");
}
user.setUserId(null);
user.setPassword(service.encryption(user.getPassword()));
service.save(user);
return success(1);
}
/**
* 用户ID:[0,8388607]用户获取其他与用户相关的数据
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "user_id")
private Integer userId;
/**
* 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)
*/
@Basic
@Column(name = "state")
private Integer state;
/**
* 所在用户组:[0,32767]决定用户身份和权限
*/
@Basic
@Column(name = "user_group")
private String userGroup;
/**
* 上次登录时间:
*/
@Basic
@Column(name = "login_time")
private Timestamp loginTime;
/**
* 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时
*/
@Basic
@Column(name = "phone")
private String phone;
/**
* 手机认证:[0,1](0未认证|1审核中|2已认证)
*/
@Basic
@Column(name = "phone_state")
private Integer phoneState;
/**
* 用户名:[0,16]用户登录时所用的账户名称
*/
@Basic
@Column(name = "username")
private String username;
/**
* 昵称:[0,16]
*/
@Basic
@Column(name = "nickname")
private String nickname;
/**
* 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成
*/
@Basic
@Column(name = "password")
private String password;
/**
* 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时
*/
@Basic
@Column(name = "email")
private String email;
/**
* 邮箱认证:[0,1](0未认证|1审核中|2已认证)
*/
@Basic
@Column(name = "email_state")
private Integer emailState;
/**
* 头像地址:[0,255]
*/
@Basic
@Column(name = "avatar")
private String avatar;
/**
* 创建时间:
*/
@Basic
@Column(name = "create_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp createTime;
@Basic
@Transient
private String code;
}
5.2.1用户首页的实现
在电影点评的用户首页,主要有用户登录页面,以及电影信息的展示等,在首页的导航栏中可看出,也可以看到搜索的弹跳框。
如下图所示为系统的用户首页界面。
![](https://i-blog.csdnimg.cn/blog_migrate/a74295cd1b80ee98ddfaba456442845d.png)
图5-3用户首页
5.2.2注册模块的实现
这块程序首先根据所取得的表单中的用户名查询数据库中是否有相同用户名的记录,如果数据库存在相同的用户名,则提示用户名已存在,否则,打开记录集并添加一条新的记录,然后系统默认要给用户发送注册成功的提醒。
用户注册流程图如下所示。
![](https://i-blog.csdnimg.cn/blog_migrate/a39ad80a9ca70317dc46246afa6b2e14.png)
图5-4用户注册流程图
用户注册界面如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/3ee134bb4cc6902cd097d8af335cd81b.png)
图5-5用户注册
5.2.3影视配音模块的实现
用户点击影视配音页面,可以在页面将配音标题、封面、电影类型、配音视频、配音内容等信息进行提交,需要管理员后台进行审核。
影视配音流程图如下所示。
![](https://i-blog.csdnimg.cn/blog_migrate/b19434712dd8f2e532f71291b090ae32.png)
图5-6影视配音流程图
影视配音界面如图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/2946c316fe1c595b3adcc6a82912b47a.png)
图5-6影视配音
影视配音关键代码如下:
@RequestMapping("/get_list")
public Map<String, Object> getList(HttpServletRequest request) {
Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));
return success(map);
}
5.3管理员端模块的实现
5.3.1用户管理模块的实现
系统用户管理主要是对新用户的添加和旧用户的删除。新用户的添加主要是指添加用户名称并确定其密码;旧用户的删除也是从下拉菜单中找到对应的用户名称将其删除。不论是新用户添加还是旧用户的删除,这个权限只有管理员具有。
系统用户管理界面如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/2cf3f112ecd8a5989b4e5e5ed1d3b22c.png)
图5-7系统用户管理
系统用户管理关键代码如下:
@RequestMapping("/get_obj")
public Map<String, Object> obj(HttpServletRequest request) {
List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));
if (resultList.size() > 0) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("obj",resultList.get(0));
return success(jsonObject);
} else {
return success(null);
}
}
5.3.2电影管理模块的实现
电影信息添加功能主要指对其电影名称、电影编号、电影类型、海报、上映时间等一些基本信息的添加、删除和修改。电影查询能根据电影id、名称、标题等多种条件对电影信息进行查询。
电影管理流程图如下所示。
![](https://i-blog.csdnimg.cn/blog_migrate/e2c8b687df0cd51ab3731dfbbe762122.png)
图5-8电影管理流程图
电影添加如下图所示:
图5-9电影添加展示
电影管理如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/55241eeb66a1de726c63fde5e5400c80.png)
图5-10电影管理
电影管理关键代码如下所示。
public Map<String, Object> error(Integer code, String message) {
Map<String, Object> map = new HashMap<>();
map.put("error", new HashMap<String, Object>(4) {{
put("code", code);
put("message", message);
}});
return map;
}
第6章 系统测试
6.1软件测试
在设计系统的过程中,存在一些错误是不可避免的。For语句语法错误,运行的提示,并要求立即纠正,因此,容易发现和纠正错误等。但另一种类型的错误是程序执行时由于不正确的操作或对某些数据计算公式的逻辑错误导致错误的结果。这种错误的隐蔽性强,有时会出现,有时不出现,因此,这种误差动态屏幕耗时。
6.2功能测试
功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项检测,检查产品是否达到用户要求的功能。下面列出的测试用例是基于需求分析阶段的用例描述而进行的设计。
下面将通过表格的形式介绍针对本系统每个功能模块所进行的功能测试。
1.注册模块功能测试,如下表所示。
表6-1注册测试
测试用例编号 | 测试用例描述 | 前提条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
| 用户注册 | 用户打开注册界面 | 输入合适的用户名,密码为空 | 无法注册 | 提示密码不得为空,无法注册 | 正常 |
| 用户注册 | 用户打开注册界面 | 输入不合适的用户名、2次相同的密码 | 无法注册 | 提示用户注册失败 | 正常 |
| 用户注册 | 用户打开注册界面 | 输入合适的用户名,两次密码不一致 | 无法注册 | 提示用户名不得为空,无法注册 | 正常 |
| 用户注册 | 用户打开注册界面 | 输入的用户名为空 | 无法注册 | 提示用户名不能为空 | 正常 |
| 用户注册 | 用户打开注册界面 | 输入合适的用户名和两次相同的密码 | 正常注册 | 注册成功 | 正常 |
2.登录模块功能测试,如下表所示。
表6-2登录测试
测试用例编号 | 测试用例描述 | 前提条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
| 登录系统 | 用户打开登录界面 | 输入正确的用户名,密码为空 | 无法登录 | 提示密码不得为空,无法登录 | 正常 |
| 登录系统 | 用户打开登录界面 | 输入正确的用户名,输入错误密码 | 无法登录 | 提示密码不正确,无法登录 | 正常 |
| 登录系统 | 用户打开登录界面 | 输入正确的密码,用户名为空 | 无法登录 | 提示用户名不得为空,无法登录 | 正常 |
| 登录系统 | 用户打开登录界面 | 输入正确的密码,错误的用户名 | 无法登陆 | 提示用户名不正确,无法登录 | 正常 |
| 登录系统 | 用户打开登录界面 | 用户名及密码都为空 | 无法登录 | 提示用户名和密码不得为空,无法登录 | 正常 |
| 登录系统 | 用户打开登录界面 | 用户名及密码都输入错误 | 无法登录 | 提示用户名和密码正确,无法登录 | 正常 |
| 登录系统 | 用户打开登录界面 | 输入正确的用户名和密码 | 正常登录 | 进入主界面 | 正常 |
3.修改密码模块功能测试,如下表所示。
表6-3修改密码测试
测试用例编号 | 测试用例描述 | 前提条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
| 修改密码 | 用户打开修改密码界面 | 输入正确初始密码和2次相同的新密码 | 密码修改成功 | 密码修改成功 | 正常 |
| 修改密码 | 用户打开修改密码界面 | 输入错误的原始密码 | 密码修改失败 | 密码修改失败 | 正常 |
| 修改密码 | 用户打开修改密码界面 | 输入正确初始密码和2次不相同的新密码 | 密码修改失败 | 密码修改失败 | 正常 |
4.评论功能测试,如下表所示。
表6-4评论测试
测试用例编号 | 测试用例描述 | 前提条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
| 在线评论 | 用户已登录,打开评论界面 | 输入评论标题、内容等信息 | 评论成功 | 评论成功,新评论成功显示 | 正常 |
| 在线评论 | 用户已登录,打开评论界面 | 用户未输入评论标题和内容 | 评论失败 | 评论失败 | 正常 |
5.个人中心功能测试,如下表所示。
表6-5个人中心测试
测试用例编号 | 测试用例描述 | 前提条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
| 用户信息修改 | 用户已登录,进入个人中心,且打开个人信息界面 | 输入内容不合法或必填项为空 | 修改失败 | 提示输入内容非法 | 正常 |
| 用户信息修改 | 用户已登录,进入个人中心,且打开个人信息界面 | 输入内容合法 | 修改成功 | 提示修改成功 | 正常 |
6.7.电影管理功能测试,如下表所示。
表6-6电影管理测试
测试用例编号 | 测试用例描述 | 前提条件 | 测试步骤 | 预期结果 | 实际结果 | 状态 |
| 电影信息添加 | 用户已登录,打开电影添加界面 | 输入电影标题、内容等信息 | 电影添加成功 | 电影添加成功,新电影成功显示 | 正常 |
| 电影信息添加 | 用户已登录,打开电影添加界面 | 用户未输入电影标题和内容 | 电影添加失败 | 电影添加失败 | 正常 |
6.3测试结果
通过对电影点评整个平台功能的测试,发现了许多无法实现的功能并及时得到改正和实现,为基于微信小程序的魔音影评交流平台的发布奠定了基础。此系统中各模块的功能都基本实现,不过还存在着许多不足,在以后的学习中通过测试还需加强和完善。
第7章 总结
本文主要研究了基于微信小程序的魔音影评交流平台的设计与实现。本次论文主要研究的内容主要包括:
(1)分析研究了本课题的开发背景和课题的研究意义。
(2)对此次毕业设计进行了详尽的需求分析,并根据实际需求,分析了其数据字典。
(3)概要设计了系统的功能模块,详细设计了系统所使用的数据库表,并研究了该系统的ER图。
(4)详细介绍了该平台要实现的功能,构建了此系统。
从技术上来说,整个系统的基本实现环境是Win10操作系统,数据库的建立使用MySQL软件,系统开发使用SSM框架,用Java语言进行系统的设计和开发,图片采用Photoshop CS6处理,使整个系统在视觉上和功能上尽量做到完整和美观。系统界面设计美观大方,功能较为完整,技术较先进且具有一定现实意义。
在摸索中前进。对MySQL数据库的使用,如何设计后台表结构,使得系统更加合理,健壮,是面临的又一个难题,通过查找相关资料,以及在充分的需求分析基础上,解决了以上问题。若条件允许,系统的功能模块能够更丰富,某些模块的功能也能更完善,用户之间权限的处理逻辑性也能更强。今后在改善客观条件的情况下,本系统还需要进一步进行研究开发。
致 谢
经历了几个月的毕业设计之旅,遭遇了无数难题与挑战,几经波折后,近乎要摧毁我当初选择这个题目的信心。好在我的导师一直坚持对我悉心支持,并对此套系统提出了诸多改善意见,解决了我所遇到的众多难题,基于微信小程序的魔音影评交流平台也得以在这样的境况下圆满完成。老师给予了我正确的指导和极大的帮助,这不仅仅使我获得了足够多的开发经验,更使我在系统设计过程中少走了许多的弯路,巩固了以前所学的知识,提高了应用能力,这使我对以后的工作也信心满满。
敬业的工作态度都给予了我极大的鼓励与帮助。对于提出的问题和遇到的困难都给予细心的解答和真诚的帮助,再次表示衷心的感谢。我还要对学院及系里的各位领导、老师们表示谢意,在这次毕业论文期间给我们提供了良好的学习和生活环境,并给予软硬件的支持,使得我的系统设计工作及论文撰写工作更加顺畅、便利。最后我还要感谢所有为我的毕业设计提出指导意见的各位老师、同学。
[1]姜倩雯.社交媒体时代电影营销传播新模式探究[J].视听,2022(01):16-18.
[2]林桂桢,陈禄嫃. “光影集美”影视数字化平台发布[N]. 厦门日报,2021-12-21(A05).
[3]周晓兰,肖健哲.基于影评文本挖掘的电影推荐探讨[J].电脑编程技巧与维护,2021(12):160-162.
[4]贺跃龙.动画电影评论语步模式对比研究[J].采写编,2021(12):138-139.
[5]路春艳.路径开拓与范式探微的可能与可行——第28届大学生电影节“第二届国际青年学者论坛”点评[J].当代电影,2021(12):89-90.
[6]范志忠,潘国辉.新时代中国电影的批评话语和价值构建[J].中国文艺评论,2021(11):32-44.
[7]唐宏峰.数字时代的迷影废墟——中国早期网络影评的媒介考古[J].电影艺术,2021(06):66-70.
[8]杨晓晨,莫秀良,王春东.基于神经网络模型的影评情感分析研究[J].天津理工大学学报,2021,37(05):13-17.
[9]盛暑寒.新媒体视域下的网络影视评论[J].文艺争鸣,2021(09):196-199.
[10]栾迪,董玉娜.基于双向LSTM的影评情感分析算法设计[J].电脑与电信,2021(09):38-41.
[11]李会迪.内容与话语:电影评论自媒体与传统媒体比较研究[J].戏剧之家,2021(23):145-146.
[12]Hart Judith D.. Maudie: A Humanbecoming Movie Review[J]. Nursing Science Quarterly,2021,34(3):
[13]李高接. 影视类微信公众号传播效果分析[D].安庆师范大学,2021.
[14]王雪.基于爬虫技术的电影评论信息获取及可视化设计[J].河南科技,2021,40(18):14-16.
[15]Abidin Z,Destian W,Umer R. Combining support vector machine with radial basis function kernel and information gain for sentiment analysis of movie reviews[J]. Journal of Physics: Conference Series,2021,1918(4):
[16]车雪莹.2018年10月流动数字电影市场点评[J].中国电影市场,2018(12):42.
免费领取源码,请点赞关注私信博主