摘 要
在数字娱乐领域,剧本杀游戏以其独特的互动性和沉浸感吸引了大量玩家。本文介绍了一款名为“星幻博弈”的剧本杀微信小程序的设计与实现,该小程序旨在为用户提供一个便捷的剧本杀游戏平台,提供沉浸式的推理体验和社交互动平台。
本项目采用Laravel框架构建后端服务,提供了稳定的RESTful API接口,以处理游戏逻辑、玩家互动和数据持久化等功能。前端界面使用Uniapp框架和JavaScript语言开发,实现了跨平台的兼容性和一致的用户体验。通过Uniapp,小程序能够在微信环境中无缝运行,同时保持了在其他平台上的可扩展性。
“星幻博弈”小程序包含了门店简介、剧本推荐、剧本评价、游戏教学、预约玩本等核心功能。系统设计注重用户界面的直观性和操作的流畅性,确保玩家能够快速上手并沉浸在游戏体验中。
在实现过程中,项目团队遵循敏捷开发模式,经历多个迭代周期,包括需求分析、原型设计、功能开发、用户测试和性能优化。测试结果显示,小程序在用户界面设计、系统性能和稳定性方面表现良好,用户反馈积极。
本文的研究成果表明,“星幻博弈”剧本杀微信小程序在技术实现上是可行的,且具备较好的市场应用前景。随着微信生态的不断壮大,该小程序有望成为剧本杀爱好者的新选择。
关键词:微信小程序;剧本杀;Laravel;Uniapp;JavaScript
Design and Implementation of WeChat Mini Program for Killing the Script of "Star Fantasy" Game
Abstract
In the field of digital entertainment, script killing games have attracted a large number of players with their unique interactivity and immersion. This article introduces the design and implementation of a script killing WeChat mini program called "Star Fantasy Game". The mini program aims to provide users with a convenient script killing game platform, an immersive reasoning experience, and a social interaction platform.
This project uses the Laravel framework to build backend services, providing stable RESTful API interfaces to handle game logic, player interaction, and data persistence. The front-end interface is developed using the Uniapp framework and JavaScript language, achieving cross platform compatibility and consistent user experience. Through Uniapp, mini programs can run seamlessly in the WeChat environment while maintaining scalability on other platforms.
The "Star Fantasy Game" mini program includes core functions such as store introduction, script recommendation, script evaluation, game teaching, and book reservation. The system design emphasizes the intuitive user interface and smooth operation, ensuring that players can quickly get started and immerse themselves in the game experience.
During the implementation process, the project team follows the agile development model and goes through multiple iteration cycles, including requirement analysis, prototype design, functional development, user testing, and performance optimization. The test results show that the mini program performs well in user interface design, system performance, and stability, with positive user feedback.
The research results of this article indicate that the "Star Fantasy Game" script killing WeChat mini program is technically feasible and has good market application prospects. With the continuous growth of the WeChat ecosystem, this mini program is expected to become a new choice for script killing enthusiasts.
Keywords: WeChat mini program; Script killing; Laravel; Uniapp; JavaScript
第1章 绪论
1.1研究背景
随着移动互联网的普及和社交媒体的发展,游戏行业正在经历一场由传统PC端向移动端转变的革命。其中,微信小程序作为一种轻量级的应用形式,因其无需下载、安装,便捷性和高效性受到了广泛关注和应用。在这种背景下,基于微信小程序的游戏开发日益受到关注,尤其是那些具有社交属性和互动性的游戏类型。
剧本杀游戏作为一种新兴的角色扮演游戏,以其独特的游戏形式和丰富的人际互动,近年来在全球范围内迅速走红。然而,目前市场上的剧本杀游戏多为线下聚会形式,受到地域和时间的限制,玩家的参与度和活跃度受到一定影响。因此,如何利用现代网络技术,打造一个便捷、高效的在线剧本杀游戏平台,成为了当前的一个重要课题。
本研究将基于Laravel、Uniapp和JavaScript技术,设计并实现一款名为“星幻博弈”的剧本杀微信小程序。该小程序将为用户提供沉浸式的推理体验和社交互动平台。玩家可以在虚拟的星际世界中选择角色,进行剧情推进和线索挖掘,通过智力和策略的较量,寻找真相并完成游戏。
通过实现“星幻博弈”小程序,本研究旨在探索剧本杀游戏的在线化和社交化路径,提供一个全新的游戏体验,同时也为剧本杀游戏的开发和推广提供参考。
1.2国内外研究现状
在国外,剧本杀游戏已经相当普及,且其在线化趋势也日益明显。许多剧本杀游戏已经开发出了自己的在线平台,以满足玩家远程参与的需求。然而,这些平台多数为独立的网站或APP,对用户的获取和留存存在一定挑战。在技术上,JavaScript作为一种成熟的前端开发语言,广泛应用于这些平台的开发中。而在后端开发方面,虽然Laravel等PHP框架在某些项目中得到了应用,但更多的是采用Node.js、Ruby on Rails等其他技术栈。
在国内,剧本杀游戏近年来也受到了广大玩家的热烈欢迎。然而,其在线化进程相较国外稍显滞后,目前市场上的在线剧本杀游戏不多,且多数为网页游戏或APP,尚未充分利用微信小程序这一便捷的平台。技术上,国内的开发者更倾向于使用Java、Python等后端语言进行开发,而在前端开发方面,JavaScript及其各种框架得到了广泛应用。Uniapp作为一种支持多端开发的前端框架,能够同时生成H5、APP、小程序等多种应用,逐渐受到开发者的青睐。
无论是国内还是国外,剧本杀游戏的在线化和社交化趋势都十分明显。微信小程序作为一种轻量级的应用形式,具有用户基数大、使用便捷等优势,非常适合用于剧本杀游戏的开发。在技术上,前后端分离的开发模式将继续被推广,前端开发将更加注重用户体验和交互设计,后端开发将更加注重数据处理和业务逻辑。此外,随着5G、AI等新技术的发展,未来的剧本杀游戏可能会有更多的创新和突破,如VR/AR剧本杀、智能推理剧本杀等。
1.3本文的组织结构
第一章是绪论,本文章的开头部分,对本题目的研究背景和国内外研究现状等做一些文字性的描述。
第二章研究了“星幻”博弈游戏剧本杀微信小程序的所采用的开发技术和开发工具。
第三章是系统分析部分,包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。
第四章是系统设计部分,本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。
第五章是系统的具体实现,介绍系统的各个模块的具体实现。
第六章在前几章的基础上对系统进行测试和运行。
最后对系统进行了认真的总结,以此对未来有一个新的展望。
第2章 相关技术介绍
2.1微信开发者工具
微信开发者工具现在已经被小程序开发团队开发运行,目前微信开发者工具任然在不断的完善中,在开发小程序时经常要不断的更新。可以使用微信扫码登陆开发者工具,开发者工具将使用这个微信帐号的信息进行小程序的开发和调试。
机型选择:小程序以智能手机的屏幕尺寸为设计标准,进行切图。
预览界面:写好视图布局后点击编译,用来刷新视图界面。
控制台:方便调试打印输出信息。
上传代码:上传到腾讯服务器,提交审核必经步骤。上传代码时可以填写版本号和备注信息。
资源文件:一般可以在资源文件进行对应项目的文件目录的断点调试。
显示远程调试:手机端和PC端开发工具联调对用户而言是非常实用的。
本地数据存储:显示的是本地存储的数据。
视图调试:标组件以子父层级结构呈现,方便调试。
微信限制在2M 以内的代码体积;开发中一般不校验合法域名信息;小程序后台要做配置服务器域名。
以上就是在开发过程中微信开发者工具常用到的功能,微信开发者工具也在不断的完善。
2.2 uni-app框架介绍
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。
DCloud公司拥有900万开发者、数百万应用、12亿手机端月活用户、数千款uni-app插件、70+微信/qq群。阿里小程序工具官方内置uni-app,腾讯课堂官方为uni-app录制培训课程,开发者可以放心选择。
2.3 JavaScript 运行模式
JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。
是一种解释性脚本语言(代码不进行预编译)。
主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。
可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。
跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
JavaScript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。JavaScript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。
2.4 Laravel框架介绍
Laravel 是一个开源的 PHP Web 应用框架,由 Taylor Otwell 创建并维护。自2011年发布以来,它以其优雅的语法和丰富的功能集迅速成为 PHP 社区中最受欢迎的框架之一。Laravel 旨在使开发过程变得愉快而不失其功能强大,它提供了开发大型和复杂 Web 应用所需的工具和资源。
主要特点
(1)优雅的语法:Laravel 设计的核心理念是编写简洁、易读的代码,使得开发者可以快速上手并保持代码的优雅。
(2)MVC 架构:Laravel 遵循 Model-View-Controller(模型-视图-控制器)架构模式,有助于代码的逻辑清晰和分层管理。
(3)ORM(Eloquent):Laravel 内置了 Eloquent ORM,提供了一个简单的 ActiveRecord 实现,用来与数据库交互。
(4)路由系统:Laravel 提供了一个非常灵活的路由系统,允许你以简单的闭包或控制器方法的形式定义路由。
(5)模板引擎(Blade):Laravel 的模板引擎 Blade 允许你以直观的方式编写模板,并提供数据绑定和继承功能。
(6)认证系统:Laravel 提供了简单的认证配置,支持多种认证方式,如会话、Token 等。
(7)迁移系统:数据库迁移功能允许你使用 PHP 代码定义数据库结构,方便数据库的版本控制和团队协作。
(8)任务调度:Laravel 的计划任务调度器允许你在不使用 Cron 的情况下平滑地定义命令调度。
(9)Artisan 命令行工具:Artisan 是 Laravel 提供的一个命令行工具,它提供了许多有用的命令来帮助你构建应用。
(10)测试:Laravel 对测试提供了一流的支持,包括 PHPUnit 集成和便利的辅助函数,以便于进行单元和功能测试。
(11)包管理:Laravel 利用 Composer 进行包管理,可以轻松地添加第三方库和框架。
(12)社区支持:Laravel 有一个非常活跃的社区,提供了大量的资源、教程和预构建的包。
Laravel 适用于各种规模的项目,从小型的个人项目到大型的企业级应用都可以使用。它的灵活性和可扩展性使得开发者可以根据项目需求定制功能和服务。
总的来说,Laravel 是一个功能全面、社区支持强大的 PHP 框架,它可以帮助开发者以优雅且高效的方式构建 Web 应用。
2.5 MYSQL数据库
网站的开发必须配套相应数据库,数据库具有一定的组织结构,能够存放和管理数据信息,在以前数据库的功能仅仅是数据保存和管理操作,但是时代的变迁和发展,现在的数据库演变成了数据处理的方式,数据库从最开始的简单存放数据表格信息到现在的能够存放成千上万数据的大型数据库,期间还是经历了许多的改革。
本次开发的在线点餐小程序使用的数据库是MYSQL数据库,该数据库运行速度快,安全性能也很高,而且对使用的平台没有任何的限制,所以被广泛应运到系统的开发中。MySQL是一个开源和多线程的关系管理数据库系统,MySQL是开放源代码的数据库,具有跨平台性,虽然功能未必强大,导致很多人都了解这个数据库的基本应用,在数据库中,总共建立了10几个表,这里面每个表都是相对应的,都各自有各自的联系,数据库意义重大,如果没有数据库的链接,就没办法运行程序,这显然可以看见数据库与程序的重要性,是紧密相连接的。
2.6 B/S结构
B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。只需要用户在客户端安装360浏览器、谷歌浏览器、QQ浏览器等当前大众浏览器,在电脑里面安装sqlserver、mysql数据库等数据库。安装好的浏览器与服务器端的数据库进行信息数据的交互。很多专门软件能够做到的事情,采用B/S结构模式也能实现,它能够结合Web浏览器技术,ActiveX技术以及多种脚本语言等技术。帮助程序开发者节约了不少开发成本。目前B/S结构成为程序开发主流结构,它最好的地方就是没有地点限制还不用专门安装软件,笔记本或者电脑能够上网就能访问系统。系统使用B/S进行开发在后期系统维护上面就会很省事,不用什么问题都在服务器上面操作,简单的客户端处理就解决部分问题,开发出来的程序跟用户交互性上面也会增强,还可以实时刷新浏览器进行程序局部的数据信息更新。
![](https://i-blog.csdnimg.cn/direct/f400e7a675d94b80b45d21a5a8050717.png)
图2-1 B/S模式三层结构图
第3章 系统分析
3.1可行性分析
本次设计基于B/S 模式下,运用Lravel、Uniapp、JavaScript技术,采用的是MySQL数据库和Myeclipse实现,总体的可行性共分为以下三个方面。
所谓的技术可行性就是在限定时间,前期拟定的功能能否被满足。在开发设计上是否会遇上解决不了的问题。做完的项目能否被很好地应用,如果存在缺点在后期的维护上是否存在很大的难度。在对这个系统评估后,认定已存在的技术能达成目标。用JSP技术来实现动态的页面,嵌入低依赖性的设计模式,灵活的数据库,配合稳定的服务器,整个系统的运行效率大大提升。由此可见,在技术层面达成目标不是非非之想。
在项目上使用的工具大部分都是是当下流行开源免费的,所以在开发前期,开发时用于项目的经费将会大大降低,不会让开发该软件在项目启动期受到经费的影响,所以经济上还是可行的。尽量用最少的花费去满足用户的需求。省下经费用于人工费,以及设备费用。将在无纸化,高效率的道路上越走越远。
本系统实现功能的操作很简单,普通电脑的常见配置就可以运行本软件,并且只要粗通电脑使用的基本常识就可以流畅的使用本软件。电脑具备连接互联网的能力,并且可以正常访问系统,并不需要操作者有什么高超的能力,只需了解业务流程,并且按照专业知识进行正确操作即可,所以“星幻”博弈游戏剧本杀微信小程序具备操作可行性。
3.2功能需求分析
在系统开发设计前,应该对功能做初步设想,清楚这个管理系统有什么板块,每个板块有什么功能,整体的设计是否满足使用者的需求,接着对所开发的系统功能进行的详细分析总结,从而设计出完整的系统并将其实现。用户和开发人员的交流分析,使其达到最佳理解程度,使系统功能达到最佳。
用户用例图如下所示。
![](https://i-blog.csdnimg.cn/direct/c8bc84af4f084a119e058bdf1f3b95bb.png)
图3-1 用户用例图
管理员用例图如下所示。
![](https://i-blog.csdnimg.cn/direct/915677b854fc46b18484c99cfa903218.png)
图3-2 管理员用例图
3.3非功能需求分析
系统非功能需求有非常多,比如性能需求、可承载最大用户数、稳定性、易用性需求等。本系统分析时考虑到易用性需求,因为系统是给人使用的,所以必须充分从用户的角度出发,考虑用户体验,使系统易理解易上手易操作。
3.4数据流程分析
零层数据流程图包括了登录注册、用户功能和检索维护等模块,在登录注册模块使用到的数据存储有用户账户文档,用户功能模块需要的存储是用户各功能模块数据文档,检索维护是使用以上这些数据文档通过关键词进行检索。
系统的零层数据流图如下图所示。
![](https://i-blog.csdnimg.cn/direct/31439f00b497491e8bccdaabf71499d3.png)
图3-2系统数据流图(零层)
一层数据流程图是对零层数据流程图的细化,将登录注册细分为填制登录注册数据和完善数据,用户功能细分为用户基本功能和用户主要功能。
系统的一层数据流图如下图所示。
![](https://i-blog.csdnimg.cn/direct/10b8122e65b1452681b7f08cb74def12.png)
图3-3系统数据流图(一层)
二层数据流程是对一层数据流层图中填写登录注册信息、用户功能的细化。即:填写登录注册信息细化为填制信息、后台审核,用户功能细化为查看通知公告、门店简介、剧本推荐、进行剧本评价、查看游戏教学、预约玩本、申请退款、想玩信息等操作。
系统的二层数据流图如下图所示。
![](https://i-blog.csdnimg.cn/direct/8682c64cde3c4bcbb88dcea20f7e05c1.png)
图3-4系统数据流图(二层)
第4章 系统设计
4.1系统架构设计
MVC 是指 Model、View 和 Controller,翻译成中文分别是模型层、视图层和控制层。MVC 模式是一种设计模式,它强制性的把应用程序的输入、输出和处理全部分开,将其分为三个核心部分,这三个部分分别有不同的功能。
![](https://i-blog.csdnimg.cn/direct/a109f848293742b09d0255ed00300f79.png)
图4-1系统架构图
视图层视图是指被用户所看到的并且能够与之进行交互的界面。视图可以向用户展示相关的数据,并接收用户输入的数据,但对用户数据不进行任何实际业务操作处理。
模型层通过控制层来处理视图层传递的数据,同一个模型可以给不同的视图提供数据,也可以被不同的视图重复使用。由于 Model 的主要内容是数据、方法和行为,其也是 MVC 中逻辑最为复杂,代码量最多的部分,其中包含了许多应用中需要用到的业务逻辑,因此模型层的开发也变得尤为重要,后期一般不会对模型层进行大规模改动,也是 MVC 中最稳定的部分。
控制层主要负责视图层和模型层之间的数据传输和处理请求操作。当用户通过视图发送数据和请求时,控制层可以接收请求和数据并决定调用哪些模型、通过模型的哪些操作来处理数据和请求,处理完成后,控制层再将数据返回给相应的视图。
4.2系统功能结构
系统设计的目的是分析系统包括的所有功能结构,为开发人员设计开发和实现系统做好准备工作。经过前期的需求调查、分析和整理之后,确定的总体需求主要包括多个模块,分别是后台首页、系统用户、门店简介管理、剧本推荐管理、预约玩本管理、剧本类型管理、退款信息管理、剧本评价管理、想玩信息管理、系统管理(轮播图管理)、通知公告管理。系统整体角色分为两个部分,一是普通用户、二是管理员。权限分布也是很明显,普通用户是在除去浏览信息之外还具有查和管理自己账户信息、查看通知公告、门店简介、剧本推荐、剧本评价、游戏教学、预约玩本、申请退款、进行剧本评价、想玩信息等权限;管理员是最高权限拥有者。
系统功能结构图如下图所示。
![](https://i-blog.csdnimg.cn/direct/8ad99d88a1d948f8bc04137ef282a6cc.png)
图4-2系统功能结构图
4.3功能模块设计
“星幻”博弈游戏剧本杀微信小程序主要分为两个部分:管理员和普通用户,每个模块下的分支功能模块不一样。对功能模块做出如下说明:
(1)用户功能模块介绍
首页作为小程序的门户,提供了快速访问各主要功能的入口。它通常展示轮播图、最新通知公告、热门剧本推荐等,为玩家提供即时信息和快速导航。
通知公告:此功能用于展示最新的游戏更新、活动信息或其他重要通知,保证玩家能够及时获取门店的最新动态。
门店简介:提供门店的详细介绍,包括门店名称、门店照片、门店地址、联系电话、门店介绍等,帮助玩家了解门店信息。
剧本推荐:根据玩家的喜好和历史行为,推荐适合的剧本。也可以展示当前最受欢迎或最新上架的剧本。
剧本评价:玩家可以对所玩剧本进行评价,包括打分和评论,这些信息对其他玩家选择剧本时提供参考。
游戏教学:提供新手玩家游戏规则的介绍、操作指南和游戏技巧等,帮助玩家快速上手游戏。
我的:作为个人中心,玩家可以查看和编辑自己的基本信息,管理收藏的剧本,查看预约和退款情况,以及评价过的剧本和想玩的剧本信息。
(2)管理员功能介绍
系统用户:管理系统内的用户信息,包括用户权限设置、账户激活、信息更新等。
门店简介管理:管理员编辑和更新门店简介的内容,确保信息的准确性和时效性。
剧本推荐管理:管理员可以管理剧本推荐列表,包括添加新的推荐、更新推荐内容或移除不再适宜的推荐。
预约玩本管理:处理用户的剧本预约请求,包括预约确认、调整预约时间、取消预约等。
剧本类型管理:管理剧本的分类,以便玩家能够更容易找到符合自己口味的剧本类型。
退款信息管理:处理用户的退款请求,包括审核退款原因、处理退款操作、记录退款状态等。
剧本评价管理:监管玩家对剧本的评价,包括审核评论、回复玩家反馈、删除不当评论等。
想玩信息管理:管理玩家提交的想玩剧本信息,可以用于统计玩家兴趣、制定推广策略。
系统管理:更新和管理小程序首页的轮播图内容,包括添加新的轮播图、设置展示顺序、移除过时内容等。
通知公告管理:发布和更新通知公告,及时向玩家传达门店新闻、活动信息或其他重要通知。
4.4数据库设计
4.4.1概念模型
对于一个要开发的系统来说,E-R图可以让别人能更快更轻松的了解此系统的事务及它们之间的关系。根据系统分析阶段所得出的结论确定了在 “星幻”博弈游戏剧本杀微信小程序中存在着多个实体分别是用普通用户、管理员、预约玩本、退款信息、剧本评价等。
系统总体ER图如下图所示。
![](https://i-blog.csdnimg.cn/direct/c569593b24cd453d950ab252affa3d0a.png)
图4-4系统总体ER图
数据库逻辑结构就是将E-R图在数据库中用具体的字段进行描述。用字段和数据类型描述来使对象特征实体化,最后形成具有一定逻辑关系的数据库表结构。“星幻”博弈游戏剧本杀微信小程序所需要的部分数据结构表如下表所示。
表access_token (登陆访问时长)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | booking_a_playbook_id | int | 10 | 0 | N | Y | 预约玩本ID | |
2 | appointment_users | int | 10 | 0 | Y | N | 0 | 预约用户 |
3 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
4 | script_name | varchar | 64 | 0 | Y | N | 剧本名称 | |
5 | script_price | int | 10 | 0 | Y | N | 0 | 剧本价格 |
6 | purchase_quantity | int | 10 | 0 | Y | N | 0 | 购买数量 |
7 | purchase_amount | varchar | 64 | 0 | Y | N | 购买金额 | |
8 | appointment_time | date | 10 | 0 | Y | N | 预约时间 | |
9 | ticket_verification | varchar | 64 | 0 | Y | N | 车票核销 | |
10 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
11 | pay_type | varchar | 16 | 0 | Y | N | 支付类型: 微信、支付宝、网银 | |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_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: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | refund_information_id | int | 10 | 0 | N | Y | 退款信息ID | |
2 | appointment_users | int | 10 | 0 | Y | N | 0 | 预约用户 |
3 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
4 | script_name | varchar | 64 | 0 | Y | N | 剧本名称 | |
5 | script_price | varchar | 64 | 0 | Y | N | 剧本价格 | |
6 | purchase_quantity | varchar | 64 | 0 | Y | N | 购买数量 | |
7 | purchase_amount | varchar | 64 | 0 | Y | N | 购买金额 | |
8 | ticket_verification | varchar | 64 | 0 | Y | N | 车票核销 | |
9 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | regular_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | my_birthday | date | 10 | 0 | Y | N | 我的生日 | |
5 | contact_information | varchar | 64 | 0 | Y | N | 联系方式 | |
6 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | script_evaluation_id | int | 10 | 0 | N | Y | 剧本评价ID | |
2 | consumer_users | int | 10 | 0 | Y | N | 0 | 消费用户 |
3 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
4 | script_name | varchar | 64 | 0 | Y | N | 剧本名称 | |
5 | star_rating | varchar | 64 | 0 | Y | N | 星级评分 | |
6 | script_evaluation | text | 65535 | 0 | Y | N | 剧本评价 | |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | script_recommendation_id | int | 10 | 0 | N | Y | 剧本推荐ID | |
2 | script_name | varchar | 64 | 0 | Y | N | 剧本名称 | |
3 | screenplay_images | varchar | 255 | 0 | Y | N | 剧本图片 | |
4 | script_price | int | 10 | 0 | Y | N | 0 | 剧本价格 |
5 | script_type | varchar | 64 | 0 | Y | N | 剧本类型 | |
6 | number_requirement | varchar | 64 | 0 | Y | N | 人数要求 | |
7 | script_difficulty | varchar | 64 | 0 | Y | N | 剧本难度 | |
8 | script_time | date | 10 | 0 | Y | N | 剧本时间 | |
9 | star_rating | varchar | 64 | 0 | Y | N | 星级评分 | |
10 | script_introduction | text | 65535 | 0 | Y | N | 剧本简介 | |
11 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
12 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | script_type_id | int | 10 | 0 | N | Y | 剧本类型ID | |
2 | script_type | varchar | 64 | 0 | Y | N | 剧本类型 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | sensitive_vocabulary_id | int | 10 | 0 | N | Y | 敏感词汇ID | |
2 | sensitive_vocabulary | varchar | 64 | 0 | Y | N | 敏感词汇 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | store_introduction_id | int | 10 | 0 | N | Y | 门店简介ID | |
2 | store_name | varchar | 64 | 0 | Y | N | 门店名称 | |
3 | store_photos | varchar | 255 | 0 | Y | N | 门店照片 | |
4 | store_address | varchar | 64 | 0 | Y | N | 门店地址 | |
5 | contact_phone_number | varchar | 64 | 0 | Y | N | 联系电话 | |
6 | store_introduction | text | 65535 | 0 | Y | N | 门店介绍 | |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
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: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表want_to_play_information (想玩信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | want_to_play_information_id | int | 10 | 0 | N | Y | 想玩信息ID | |
2 | appointment_users | int | 10 | 0 | Y | N | 0 | 预约用户 |
3 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
4 | script_name | varchar | 64 | 0 | Y | N | 剧本名称 | |
5 | screenplay_images | varchar | 255 | 0 | Y | N | 剧本图片 | |
6 | script_price | int | 10 | 0 | Y | N | 0 | 剧本价格 |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
第5章 系统实现
5.1登录模块的实现
系统的登录窗口是用户的入口,用户只有在登录成功后才可以进入访问。通过在登录提交表单,后台处理判断是否为合法用户,进行页面跳转,进入系统中去。
登录合法性判断过程:用户输入账号和密码后,系统首先确定输入输入数据合法性,然后在login.jsp页面发送登录请求,调用src下的mainctrl类的dopost方法来验证。
用户登录模块的IPO如下所示:
输入:用户名和密码。
处理:
1)检测用户输入的账号、密码是否正确及在数据库已对应存在。
2)从数据库中提取记录,并储存在本地的session中(timeout默认=30min)。
3)根据用户名,将其显示在系统首页上。
输出:是否成功的信息。
登录流程图如下所示。
![](https://i-blog.csdnimg.cn/direct/41b74aa7071e4fc6a558c24280c8abc5.png)
图5-1登录流程图
系统登录界面如下所示。
图5-2系统登录界面
5.2用户前台系统模块的实现
系统呈现出一种简洁大方的首页:界面简约、鳞次栉比,用户能轻车熟路的使用。出于对系统使用群体广泛的顾虑,应有良好性能的后台。在系统时间显示上编写javascript脚本在导航栏显示系统的当前日期,首先定义一个数组d存放周一至周日,创建一个获取时间的对象time后通过该对象的方法获取年月日,(time.getDay())%7计算得到的结果是数组的下标,通过数组下标就获取了数组的值,利用字符窜连接把年月日和星期转换成字符窜,通过document.getElementById("date")获取标签后使用innerHTML把该字符串显示在jsp页面。
如下图所示为系统的首页界面。
图5-3系统首页界面
此页面实现普通用户的注册,必须注册登录后才能使用系统大部分功能,用户名不允许重复如果重复将会注册失败,并弹出相应的提示,通过js实现对输入的验证。
用户注册流程图如下所示。
![](https://i-blog.csdnimg.cn/direct/2c8b13abf4da4131804630ba3abf2b62.png)
图5-4用户注册流程图
用户注册界面如下图所示。
图5-5用户注册界面
在门店简介页面,用户可以轻松获取有关门店的详细信息,还可以通过关键字快速搜索,同时还可以进行点赞、评论、收藏等功能,如图5-6所示。
图5-6门店简介界面
用户点击剧本推荐可以查看剧本推荐列表,支持通过关键词进行搜索,点击感兴趣的剧本,可以查看剧本名称、剧本类型、剧本价格、人数要求、剧本时间、星级评分、剧本简介等内容,还可在该页面进行收藏、点赞、评论、预约、想玩等操作。
剧本推荐界面如图所示。
图5-7剧本推荐界面
预约界面如图所示。
图5-8预约玩本界面
想玩信息界面如图所示。
图5-9想玩信息界面
通过访问我的页面,用户可以对基本信息、收藏、预约玩本、退款信息、剧本评价、想玩信息等进行管控,点击“基本信息”可以对用户的头像、昵称、密码进行修改,点击“收藏”,可以查看用户收藏的信息,点击“预约玩本”可以查看预约玩本信息并进行支付、退款、等操作、点击“退款信息”可以申请退款和查看审核信息、点击“剧本评价”可以查看评价过的剧本和进行评价、点击“想玩信息”可以查看想玩的剧本信息等。
我的界面如图所示。
图5-10我的界面
退款信息详情界面如图所示。
图5-11退款信息详情界面
剧本评价详情界面如图所示。
图5-12剧本评价详情界面
5.3管理员系统模块的实现
用户在yhzhgl查看用户信息,先使用sql语句查询出所有用户表的数据,然后调用PageManager.getPages(url,4,sql, request ),返回一个ArrayList的对象,在for循环里,使用jsp得到每个ArrayList对象的数据,在jsp页面中解析ArrayList对象,得到其各个键值对的值。
用户管理界面如下图所示。
![](https://i-blog.csdnimg.cn/direct/2c04a220a0d9408b83a8befd91861d5c.png)
图5-13用户管理界面
管理员点击“系统管理”这一菜单会显示轮播图这一个子菜单,管理员可以对前台展示的轮播图进行设置,界面如下图所示。
![](https://i-blog.csdnimg.cn/direct/50d23057fa9b47579f1846fcd9413061.png)
图5-14系统管理界面
管理员点击“通知公告管理”这一菜单会显示通知公告这一个子菜单,管理员可以对这部分涉及到的功能进行更新维护,更好的服务于前台用户。界面如下图所示。
![](https://i-blog.csdnimg.cn/direct/b2474abdc9734ebbb41abfcff2745863.png)
图5-15通知公告管理界面
5.3.4门店简介管理模块
管理员点击“门店简介管理”这一菜单会显示门店简介列表、门店简介添加这两个子菜单,支持通过标题或者输入名称对门店简介信息进行查询,如果想要添加新的门店简介信息,点击“门店简介添加”按钮,输入相关信息,点击“提交”按钮就可以添加了,同时可以选择某一条门店简介信息,点击“删除”进行删除。还可查看评论信息。
![](https://i-blog.csdnimg.cn/direct/7a2f5911c35445c2b0271d4a9c2bd837.png)
图5-16门店简介列表界面
![](https://i-blog.csdnimg.cn/direct/709c57879ec04b9d8d9a093d901dd521.png)
图5-17门店简介添加界面
5.3.5剧本类型管理模块
管理员点击“剧本类型管理”这一菜单会显示剧本类型列表、剧本类型添加这两个子菜单,支持输入剧本类型等对剧本类型信息进行查询,如果想要添加新的剧本类型信息,点击“剧本类型添加”按钮,输入剧本类型相关信息,点击“提交”按钮就可以添加了,同时可以选择某一条剧本类型,点击“删除”进行删除。如下图所示。
![](https://i-blog.csdnimg.cn/direct/8e2918b85bed48a2b4b56e3c45c21231.png)
图5-18剧本类型列表界面
第6章 系统测试
6.1测试目的
在对该系统进行完详细设计和编码之后,就要对“星幻”博弈游戏剧本杀微信小程序的程序进行测试,检测程序是否运行无误,反复进行测试和修改,使之最后成为完整的软件,满足用户的需求,实现预期的功能。
6.2测试过程
在软件的测试过程中,通常测试人员需要针对不同的功能模块设计多种测试用例。通过测试用例能够及时发现代码业务逻辑上是否与真实的业务逻辑相对应,及时发现代码上或逻辑上的缺陷,以此来来完善系统,提高软件产品的质量,使软件具有良好的用户体验。
注册测试用例表如下所示。
表6-1注册测试用例
测试性能 | 新用户注册 | ||
用例目的 | 测试系统新用户个人信息注册功能的功能和安全性 | ||
前提条件 | 进入注册页面填写个人信息 | ||
输入条件 | 预期输出 | 实际情况 | |
各项基本信息输入不完整 | 不允许注册,无法点击注册按钮 | 一致 | |
填写已存在的用户名 | 系统显示出提示信息,要求重新填写 | 一致 | |
两次密码输入不一致 | 系统显示出提示信息,要求重新填写 | 一致 | |
填写的各项信息没有符合提示的长度和字符要求 | 系统显示出提示信息,要求重新填写 | 一致 | |
胡乱填写电话号码 | 收不到验证码 | 一致 | |
填写验证码与收到的不一致 | 系统显示提示信息告知用户验证码错误,不予注册 | 一致 |
登录测试用例表如下所示。
表6-2登录测试用例
测试性能 | 用户或操作员登录系统 | ||
用例目的 | 测试用户或操作员登录系统时功能是否正常 | ||
前提条件 | 进入用户登录页面或操作员登录页面 | ||
输入条件 | 预期输出 | 实际情况 | |
各项信息不予填写,直接点击登陆按钮 | 不允许登录,提示填写账号相关信息 | 一致 | |
填写错误的登录名或密码后点击登录系统 | 提示用户名或密码错误,要求重新填写进行登录 | 一致 | |
填写与验证码信息不一致的信息 | 系统显示出提示信息,表明验证码错误,要求重新填写 | 一致 |
预约玩本测试用例表如下所示。
表6-3预约玩本测试用例
测试性能 | 用户进行预约玩本的操作 | ||
用例目的 | 测试用户进行预约玩本操作时,系统的功能是否正常 | ||
前提条件 | 用户进入剧本推荐详情页,该剧本能够被预约 | ||
输入条件 | 预期输出 | 实际情况 | |
用户未登录,点击预约按钮 | 跳转至登录页面,提示用户先进性登录 | 一致 | |
正常的登录用户,点击预约按钮 | 系统弹出提示框,提示用户预约成功 | 一致 |
6.3测试结果
经过对此系统的测试,得出该系统足以满足用户日常需求,在功能项目和操作等方面也能满足操作员对于其他用户的管理。但是,还有很多功能有待添加,这个系统仅能满足大部分的需求,还需要对此系统的功能更进一步的完善,这样使用起来才能更加的完美。
第7章 总结与展望
通过“星幻”博弈游戏剧本杀微信小程序的开发,本人巩固了之前学过的知识,如今将平时所学到的知识融合在设计中,在设计过程中,做了很多的准备,首先,在数据库系统的设计过程中,尤其是在数据库的工作原理、工作特点,对其深刻的讨论,与此同时,对于小型站点来说,最好服务器的选择,其次,利用所学的知识点分析所做的系统,并在此基础上设计。
目前本系统已经上线,正在试运行阶段,用户反馈良好,基本完成用户所需,试运行过程中没有出现阻断性问题,有一些不足和小问题也及时予以修正,系统上线后,为了保证数据的安全性,对系统进行了备份操作,系统备份是每两个月备份一次,数据库备份为每周备份一次,系统部署在租赁的云平台服务器中。
本次系统上线成功后,得到了用户的高度认可,但是在功能上和性能上还需做进一步的研究处理,使其有更高的性能和更好的用户体验。
系统在以后的升级过程中,需要解决一系列用户所提出的问题,例如打印过程中如何避免浏览器的兼容性问题,大量用户访问时,如何保持较高的响应速度,在系统今后的升级过程中将着重解决这些安全性问题。
参考文献
[1]Nicolini T ,Hora A ,Figueiredo E .On the Usage of New JavaScript Features Through Transpilers: The Babel Case[J].IEEE Software,2024,41(1):105-112.
[2]Toddle.dev Introduces Visual JavaScript Framework To Democratize App Development[J].M2 Presswire,2023,
[3]祁志勇.H5制作平台与JavaScript脚本相结合制作VR全景图交互H5作品[J].现代电视技术,2023,(10):102-105.
[4]Amin M ,Mahsa S ,Xiaopeng D , et al.OPA Solver: A web-based software for Ordinal Priority Approach in multiple criteria decision analysis using JavaScript[J].SoftwareX,2023,24
[5]张娅妮,余茂锐.微信鲜花销售小程序的设计与实现[J].现代信息科技,2023,7(18):51-54+59.DOI:10.19850/j.cnki.2096-4706.2023.18.010
[6]吴婷婷.计算机网站的前端开发技术探析[J].电脑知识与技术,2023,19(27):43-45.DOI:10.14004/j.cnki.ckt.2023.1426
[7]邓诗韬.基于JavaScript和PHP技术的游戏资源分享网站[J].电脑编程技巧与维护,2023,(09):6-8.DOI:10.16184/j.cnki.comprg.2023.09.038
[8]杨明.Web前端性能优化方法研究分析[J].信息记录材料,2023,24(08):161-163.DOI:10.16009/j.cnki.cn13-1295/tq.2023.08.036
[9]张雨锋,王炅.跨站脚本攻击与防范研究[J].无线互联科技,2023,20(13):139-142+147.
[10]白美玲.基于HTML5语言技术的WebIM组件前端设计与实现[J].科学技术创新,2023,(16):85-88.
[11]郝欣.图书馆手机定制版小前端的设计与实现[J].图书馆学研究,2023,(06):52-63.DOI:10.15941/j.cnki.issn1001-0424.2023.06.005
[12]岑俊慷,刘卫.基于微信小程序的在线答题系统的设计与实现[J].现代计算机,2023,29(10):81-86.
[13]白家璇,辛雨雯,崔天宇.基于JavaScript的计算机组成原理虚拟实验系统的设计[J].电脑知识与技术,2023,19(10):59-62.DOI:10.14004/j.cnki.ckt.2023.0503
[14]滕毅,马焯文.基于Uniapp的校园拼车多端小程序设计与实现[J].电子制作,2022,30(16):43-46.DOI:10.16589/j.cnki.cn11-3571/tn.2022.16.025
[15]仝妍彦.基于uniapp和thinkphp开发的气象装备信息化微信小程序[J].信息与电脑(理论版),2022,34(14):148-150.
[16]章国雁.基于Unity3D的多人在线游戏案例设计与实现[J].安徽水利水电职业技术学院学报,2021,21(03):46-49.
[17]刘思远.19wan网络在线游戏平台安全系统的设计与实现[D].电子科技大学,2014.
[18]王宁.大型在线游戏平台的安全系统的设计与实现[D].华中科技大学,2010.
[19]徐阳,顾翀.一种柔性移动在线游戏架构设计[J].辽宁工学院学报,2007,(03):156-158.
[20]戴大蒙,叶晓丰.在线博弈游戏平台的设计与实现[J].计算机应用与软件,2006,(08):83-86.
致谢
伴随着设计的完成,大学生涯也随之即将结束。大学期间是我最珍惜的时光,大学时光中学会了很多,也成长了很多,这段时光中每一段回忆都刻在脑海中。感谢一起学习,一起成长同学们,和成长过程悉心教导的老师们,非常感激有你们的陪伴。
首先感谢我的指导老师,设计的完成离不开老师的一系列指导。在毕业设计的完成过程中,老师给出了很多中肯的建议,正是由于老师一丝不苟的工作态度,我的设计才能顺利的完成。
最后,感谢在大学生涯中每一位教导我的老师,是你们教给了我丰富的知识,更教会了我遇到问题时,如何去应对并解决。谢谢你们的帮助与支持。