摘要
随着互联网的普及以及发展,在网上出售、购买东西变得越来越日常,出于对校园发展的考虑,在很多校园里都实现了各式各样的昌吉学院二手书屋网站,提高了校园资源的利用效率。然而,搭建大部分的网站所需要花费的人力和财力普遍较高,部署高能硬件也是一道坎,使得大部分中昌吉学院二手书屋网站都没有成型,平台的后期维护费用也拖垮了不少用户。怎样解决这个问题?我们需要找到一个更优的技术和方法,来降低网站的响应时间和做到提高系统高并发性性能,提升用户的使用体验,降低硬件需求度,能够使用更便宜的硬件进行部署,从而降低网站建设的成本。此昌吉学院二手书屋网站的开发项目采用PHP技术+MYSQL数据库,就论题的各类需求分析说明做出解释,然后再就网站的总体设计和详细设计做出论述,给出了网站总体结构的搭建方法。从而满足大部分中昌吉学院二手书屋网站的需求。
关键词:PHP;MYSQL;昌吉学院二手书屋网站
Abstract
With the popularization and development of the Internet, selling and purchasing things online become more and more routine. For the sake of campus development, various second-hand bookstore websites of Changji College have been implemented in many campuses, improving the utilization efficiency of campus resources. However, the cost of human and financial resources to build most of the websites is generally high, and the deployment of high-energy hardware is also a barrier, making most of the second-hand bookstore websites of Zhongchangji College have not formed, and the late maintenance costs of the platform have also brought down many users. How to solve this problem? We need to find a better technology and method to reduce the response time of the website, improve the high concurrency performance of the system, improve the user experience, reduce the hardware demand, and use cheaper hardware for deployment, thus reducing the cost of website construction. The development project of the second-hand bookstore website of Changji University uses PHP technology+MYSQL database to explain the various needs of the topic, and then discusses the overall design and detailed design of the website, and gives the construction method of the overall structure of the website. So as to meet the needs of most of the secondary bookstore websites of Zhongchangji College.
Keywords: PHP; MYSQL; Changji College Second-hand Bookstore Website
1 绪论
1.1 研究背景
现下大多数行业都在逐步的将电商都信息化带入到自己企业中,其中主要是以电商服务为主导的互联网平台。像目前如果主要致力于昌吉学院二手书屋网站,就要紧紧围绕二手书屋来展开,因为二手书屋作为一种传统的商业模式,具有一定的局限性和不适应性。而对于现在的二手书屋来说,它已经无法满足时代发展的要求。因此,需要对其进行改造升级。从而促进电子商务的健康快速发展。优化二手书屋网站结构,提升二手书屋服务质量,打造个性化、专业化、多元化的二手书屋网站成为了当前急需解决的问题之一。
1.2国内外研究现状
由于这几年来,计算机技术的逐日发展,在现代化的生活中,我们所需要的各种信息的处理操作都是通过使用计算机来完成的,有了计算机就可以方便的对各种信息进行查询和维护了。因此需要实现对图书交易管理的电子化,提高昌吉学院二手书屋网站效能和销售效能。
因为国内外传统的书店数据管理方式是基于手工的,而人的精力和工作准确度是有限的,所以传统的书店数据管理方式难免会存在效率低下、准确率低等缺点,还伴随着人力资源的大量浪费。在管理的工作中,所涉及到的工作电脑机器比人类更为擅长,能够达到快速、准确、耗费资源小等要求。基于这些显著的优点,如果能设计一套完整且贴合具体书店需求的昌吉学院二手书屋网站,那么将大大地提高书店管理的服务质量。在具备这样的昌吉学院二手书屋网站之下,书店的管理人员只需配备少量的专业人员对数据库进行日常数据审核、管理以及定期维护。整个过程中,管理员只需提供少量的必要信息,大部分数据处理工作皆由数据库和相关程序来完成,节省了大量时间。如果数据库中的某部分信息存在错误,那么管理人员可以通过批量修改等方式来降低排错过程中所要花费的时间和精力。因此,为书店开发一个称职的昌吉学院二手书屋网站是十分有必要的。
1.3系统开发的目标意义
昌吉学院二手书屋网站的功能很齐全,它是针对个体的销售图书的小企业,昌吉学院二手书屋网站提供的服务更多,更方便,且具有针对性,和市面上淘宝网的服务群体是不同的,淘宝网是让多卖家入住自己平台来卖商家自己的商品,虽然客户流量大以及服务方式广泛但不针对具体的书店的小企业,这样就会造成用户粘性不高。其次,昌吉学院二手书屋网站的安全性更高,所有图书订单必须通过自己企业的管理人员才能接受用户的订单,同时用户还能够通过昌吉学院二手书屋网站对图书订单进行评价。再次,具有良好并准确的图书销售数据分析,是真正帮助书店提高订单的图书交易网站。
1.4论文结构与章节安排
本文共分为六章,章节内容安排如下:
第一章:引言。第一章主要介绍了课题研究的背景意义,国内目前相关研究现状以及技术和本文的研究内容与主要工作。
第二章:系统需求分析。第三章主要从系统的用户、功能等方面进行需求分析。
第三章:系统设计。第四章主要对系统框架、系统功能模块、数据库进行功能设计。
第四章:系统实现。第五章主要介绍了系统框架搭建、系统界面的实现。
第五章:系统测试。第六章主要对系统的部分界面进行测试并对主要功能进行测试
2 昌吉学院二手书屋网站系统分析
本章内容概括了昌吉学院二手书屋网站的可行性分析、功能分析以及用例分析。
2.1 可行性分析
2.1.1 技术可行性分析
在分析了昌吉学院二手书屋网站的真实需求后,将昌吉学院二手书屋网站所需要的角色划分整理成了下图2-1和图2-2。
从开发工具来看,由于昌吉学院二手书屋网站是基于PHP开发的,因此当前市面上的开发工具都可以来开发,这些功能强大的开发工具可以给我来设计毕设带来非常大的方便。
从昌吉学院二手书屋网站的本身技术来说,对于我来开发一个昌吉学院二手书屋网站这个毕设是不费事的。昌吉学院二手书屋网站的开发可以简单的分为前台模块、后台模块开发以及数据库开发。其中的大部分技术难点在我上学时已经使用过了,同时网络上很多技术点可以让我来借鉴。Web后台管理使用PHP开发,数据库使用mysql,因此为我在开发昌吉学院二手书屋网站这个毕设上省去了很多多余代码,这给我的毕设项目编写带来了极大的便利。
从用户体验来看,市面上很多被广泛使用的例如淘宝网等电商案例可以让我来参考,因此我可以综合淘宝网上的页面交互设计的优点,基于我的毕设项目特点来进行改版,最后达到令用户满意的页面交互体验。综上所述,从技术层面来看开发昌吉学院二手书屋网站是可行的。
2.1.2 经济可行性分析
从昌吉学院二手书屋网站的开发成本来看,昌吉学院二手书屋网站的设计和开发都是我自己完成的,没有其他成本上的开销。
从昌吉学院二手书屋网站的维护成本来看,昌吉学院二手书屋网站的开发遵循一套完整的代码编写规范,并且昌吉学院二手书屋网站的结构设计非常灵活,遵循高内聚低耦合的原则,因此易于维护和迭代开发。
在昌吉学院二手书屋网站上线之后,上线前期我会根据真实需求来调查,对使用我开发的昌吉学院二手书屋网站来制定一套符合的使用费。系统运行稳定后我会将推广范围到其他销售图书的企业中,他们可以自己来注册使用我的昌吉学院二手书屋网站,只需要缴纳一点点的定金,我会给他们引入广告投资和自营业务。
综合以上的分析,昌吉学院二手书屋网站所带来的经济效益将会带来极大的收益。并且随着我的推广,来使用我开发的昌吉学院二手书屋网站的市场将越来越大,昌吉学院二手书屋网站带来的利润也就越来越多。因此,从经济层面来看开发昌吉学院二手书屋网站的是可行的。
2.1.3 操作可行性分析
昌吉学院二手书屋网站的主要的服务对象是需要购买图书的人群,总的来说昌吉学院二手书屋网站的使用还是比较简单的,一般不存在操作困难的事情,昌吉学院二手书屋网站的管理人员需要对该昌吉学院二手书屋网站有一定的了解,比如图书的发布、订单发货等操作,如果不会,可以进行简单的培训就好了。
2.2 系统功能分析
2.2.1 功能性分析
昌吉学院二手书屋网站我划分为了注册用户管理模块、卖家管理模块和管理员模块这三大部分。
前台用户管理模块:
(1)首页信息:当用户进入本昌吉学院二手书屋网站的前台的时候,首先展示在眼前的是导航栏、网站公告、图书资讯、图书商城、个人账户、地址管理、购物管理、订单管理、意见反馈、个人中心等信息,用户可以根据自己个人的需求进行查看;
(2)注册登录:在系统的右上角有登录+注册按钮,如果用户想要登录到系统当中,可以点击“登录”按钮,然后填写号用户名+密码,点击“登录”按钮,系统会对你的用户名密码进行核对,正确的话就会登录成功了,如果没有账号的话,可以点击右上角的“注册”按钮,然后根据提示输入好用户信息,就可以得到账号和密码了;
(3)网站公告:当用户点击“网站公告”这一菜单按钮,会显示管理员在后台发布的所有的网站公告,可以查看详情;
(4)图书资讯:当用户点击“图书资讯”这一菜单按钮,会显示管理员在后台发布的所有的图书资讯,可以查看详情,进行收藏、点赞、评论等;
(5)图书商城:在首页导航栏上我们会看到“图书商城”这一菜单,我们点击进入进去以后,会看到所有图书商品列表,我们选择想要了解图书商品点击,查看某一个图书商品信息;
(6)订单管理:用户在提交订单后,可以对提交的订单进行管理。
(7)个人账户:在首页导航栏上我们会看到“个人账户”这一菜单,我们点击进入进去以后可以对个人的资料、登录系统的密码以及自己收藏的信息进行设置管理;
(8)地址管理:在首页导航栏上我们会看到“地址管理”这一菜单,我们点击进入进去以后可以对个人地址进行修改、添加的信息进行设置管理;
(9)购物管理:在首页导航栏上我们会看到“购物管理”这一菜单,我们点击进入进去以后可以对图书商品加入购物车;
(10)个人中心:当用户点击右上角“个人中心”这个按钮,就会进入到对应的后台进行信息的管理了;
后台管理员管理模块:
(1)网站管理:管理员可以对昌吉学院二手书屋网站中的轮播图以及公告信息进行发布和维护。
(2)人员管理:管理员可以对前台上注册过的用户信息、卖家进行管控,同时可以对管理员的信息进行管理。
(3)购物管理:管理员可以对昌吉学院二手书屋网站中的图书商城、分类列表、订单列表进行发布和维护。
(4)分类管理:管理员可以对所售卖的图书分类信息进行增删改查。
(5)图书商城:管理员可以对所售卖的图书信息进行增删改查,比如补充库存量以及更改图书信息和发布新图书信息等。
(6)订单列表:管理员对用户订购的图书订单进行管理,确定订单的生成以及物流发货。
(7)模块管理:在“模块管理”这一菜单下,管理员可以对昌吉学院二手书屋网站中的订单数据以及意见反馈进行管理。
2.2.2 非功能性分析
昌吉学院二手书屋网站的非功能性需求比如昌吉学院二手书屋网站的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:
表3-1昌吉学院二手书屋网站非功能需求表
安全性 | 主要指昌吉学院二手书屋网站数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指昌吉学院二手书屋网站能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响昌吉学院二手书屋网站占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着昌吉学院二手书屋网站的页面展示内容进行操作,就可以了。 |
可维护性 | 昌吉学院二手书屋网站开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
2.3 系统用例分析
昌吉学院二手书屋网站的完整UML用例图分别是图2-1和图2-2。在参与者上包括用户以及管理员。前台上用户角色用例包括用户是注册成为我们正是用户的用户、用户登录、网站公告、图书资讯、图书商城、个人账户、地址管理、购物管理、订单管理、个人中心,用户角色用例如图2-1所示。
图2-1 昌吉学院二手书屋网站用户角色用例图
web后台管理上的管理员是维护整个昌吉学院二手书屋网站中所有数据信息的,管理员可以进行登录、网站管理、图书商城、订单列表、分类列表、图书资讯、资讯分类、订单数据、意见反馈。管理员角色用例如图2-2所示。
2.4本章小结
本章主要通过对昌吉学院二手书屋网站的可行性分析、功能需求分析、系统用例分析,确定整个昌吉学院二手书屋网站要实现的功能。同时也为昌吉学院二手书屋网站的代码实现和测试提供了标准。
3 昌吉学院二手书屋网站总体设计
本章主要讨论的内容包括昌吉学院二手书屋网站的功能模块设计、数据库系统设计。
3.1 系统架构设计
本昌吉学院二手书屋网站从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。
图3-1昌吉学院二手书屋网站系统架构设计图
表现层(UI):又称UI层,主要完成本昌吉学院二手书屋网站的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本昌吉学院二手书屋网站时的舒适度。UI的界面设计也要适应不同版本的昌吉学院二手书屋网站以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。
业务逻辑层(BLL):主要完成本昌吉学院二手书屋网站的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。
数据层(DL):由于本昌吉学院二手书屋网站的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本昌吉学院二手书屋网站的数据存储和管理功能。
3.2 系统模块设计
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本昌吉学院二手书屋网站中的用例。那么接下来就要开始对本昌吉学院二手书屋网站的架构、主要功能和数据库开始进行设计。昌吉学院二手书屋网站根据前面章节的需求分析得出,其总体设计模块图如图3-2所示。
图3-2 昌吉学院二手书屋网站功能模块图
3.3 数据库设计
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
3.3.1 数据库概念结构设计
下面是整个昌吉学院二手书屋网站中主要的数据库表总E-R实体关系图。
图3-2 昌吉学院二手书屋网站总E-R关系图
3.3.2 数据库逻辑结构设计
通过上一小节中昌吉学院二手书屋网站中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
(1)registered_users信息如表3-1所示包含了注册用户id、性别、年龄、审核状态、智能推荐、用户id、创建时间、更新时间,主要用在前台用户用户来登录昌吉学院二手书屋网站时进行使用。
表3-1registered_users注册用户信息表
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
registered_users_id | int | 11 | 是 | 是 | 注册用户ID |
gender | varchar | 64 | 否 | 否 | 性别 |
age | int | 11 | 否 | 否 | 年龄 |
examine_state | varchar | 16 | 是 | 否 | 审核状态 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
user_id | int | 11 | 是 | 否 | 用户ID |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
(2)seller信息如表3-2所示包含了卖家id、卖家编号、卖家姓名、审核状态、智能推荐、用户id、创建时间、更新时间,主要用在后台卖家来登录昌吉学院二手书屋网站时进行使用。
表3-2 seller卖家信息表
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
seller_id | int | 11 | 是 | 是 | 卖家ID |
seller_no | varchar | 64 | 否 | 否 | 卖家编号 |
sellers_name | varchar | 64 | 否 | 否 | 卖家姓名 |
examine_state | varchar | 16 | 是 | 否 | 审核状态 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
user_id | int | 11 | 是 | 否 | 用户ID |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
(3)book_mall信息如表3-3所示,主要在系统后台(管理员)中可以更好的调动图书的价格以及卖家、热销的图书更换,在前端(买家)可以有效的查找图书、直观的看到图书外观和图书的属性等等。
表3-3book_mall图书商城信息表
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
book_mall_id | int | 11 | 是 | 是 | 图书商城ID |
seller | int | 11 | 否 | 否 | 卖家 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
cart_title | varchar | 125 | 否 | 否 | 标题 |
cart_img | text | 0 | 否 | 否 | 封面图 |
cart_description | varchar | 255 | 否 | 否 | 描述 |
cart_price_ago | double | 8 | 是 | 否 | 原价 |
cart_price | double | 8 | 是 | 否 | 卖价 |
cart_inventory | int | 11 | 是 | 否 | 商品库存 |
cart_type | varchar | 64 | 是 | 否 | 商品分类 |
cart_content | longtext | 0 | 否 | 否 | 正文 |
cart_img_1 | text | 0 | 否 | 否 | 主图1 |
cart_img_2 | text | 0 | 否 | 否 | 主图2 |
cart_img_3 | text | 0 | 否 | 否 | 主图3 |
cart_img_4 | text | 0 | 否 | 否 | 主图4 |
cart_img_5 | text | 0 | 否 | 否 | 主图5 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
(4)order信息如表3-4所示,主要订单信息由前端(买家)发出订单后台(管理员)执行物流发货而形成的,买家管理员都可以在看到货流所有信息状态等等。
表3-4 order订单信息表
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
order_id | int | 11 | 是 | 是 | 订单ID |
order_number | varchar | 64 | 否 | 否 | 订单号 |
goods_id | mediumint | 8 | 是 | 否 | 商品id |
title | varchar | 32 | 否 | 否 | 商品标题 |
img | varchar | 255 | 否 | 否 | 商品图片 |
price | double | 10 | 是 | 否 | 价格 |
price_ago | double | 10 | 是 | 否 | 原价 |
num | int | 8 | 是 | 否 | 数量 |
price_count | double | 8 | 是 | 否 | 总价 |
norms | varchar | 255 | 否 | 否 | 规格 |
type | varchar | 64 | 是 | 否 | 商品分类 |
contact_name | varchar | 32 | 否 | 否 | 联系人姓名 |
contact_email | varchar | 125 | 否 | 否 | 联系人邮箱 |
contact_phone | varchar | 11 | 否 | 否 | 联系人手机 |
contact_address | varchar | 255 | 否 | 否 | 收件地址 |
postal_code | varchar | 9 | 否 | 否 | 邮政编码 |
user_id | int | 10 | 是 | 否 | 买家ID |
merchant_id | mediumint | 8 | 是 | 否 | 商家ID |
create_time | timestamp | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
description | varchar | 255 | 否 | 否 | 描述 |
state | varchar | 16 | 是 | 否 | 订单状态 |
(5)order_data`信息如表3-5所示,订单数据信息主要关联各图书的订单数据信息,关联了订单数据信息表等。
表3-5 order_data订单数据信息表
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
order_data_id | int | 11 | 是 | 是 | 订单数据ID |
month | varchar | 64 | 否 | 否 | 月份 |
book_category | varchar | 64 | 否 | 否 | 图书类别 |
sales_volumes | int | 11 | 否 | 否 | 销售数量 |
remarks | varchar | 64 | 否 | 否 | 备注 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
(6)feedback信息如表3-6所示,主要是用于前台上用户发出的意见反馈信息等。
表3-6 feedback意见反馈信息表
名称 | 类型 | 长度 | 不是null | 主键 | 注释 |
feedback_id | int | 11 | 是 | 是 | 意见反馈ID |
user | int | 11 | 否 | 否 | 用户 |
theme | varchar | 64 | 否 | 否 | 主题 |
related_pictures | varchar | 255 | 否 | 否 | 相关图片 |
feedback_content | text | 0 | 否 | 否 | 反馈内容 |
examine_state | varchar | 16 | 是 | 否 | 审核状态 |
examine_reply | varchar | 16 | 否 | 否 | 审核回复 |
recommend | int | 11 | 是 | 否 | 智能推荐 |
create_time | datetime | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
(7)公告信息如表3-7所示,主要是用于前台(用户)查看公告信息以及后台(管理员)增删改。
表3-7 notice公告信息表
类型 | 长度 | 不是null | 主键 | 注释 | |
notice_id | mediumint | 8 | 是 | 是 | 公告id |
title | varchar | 125 | 是 | 否 | 标题 |
content | longtext | 0 | 否 | 否 | 正文 |
create_time | timestamp | 0 | 是 | 否 | 创建时间 |
update_time | timestamp | 0 | 是 | 否 | 更新时间 |
3.4本章小结
整个昌吉学院二手书屋网站的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
4 昌吉学院二手书屋网站详细设计与实现
昌吉学院二手书屋网站的详细设计与实现主要是根据前面的昌吉学院二手书屋网站的需求分析和昌吉学院二手书屋网站的总体设计来设计页面并实现业务逻辑。主要从昌吉学院二手书屋网站界面实现、业务逻辑实现这两部分进行介绍。
4.1用户功能模块
4.1.1 前台首页界面
在昌吉学院二手书屋网站的前台首页界面上采用了上+中+下的方式来布局界面,最右上角是登录+注册这+搜索这三个链接,下面依次是导航栏+轮播图以及下面的公告栏,下面依次是推荐的图书商城展示,其主界面展示如下图4-1所示。
图4-1 前台首页界面图
4.1.2注册界面
不是昌吉学院二手书屋网站中正式用户的是可以在线进行注册的,当填写上自己的账号+设置密码+确认密码+昵称+邮箱+手机号+身份后+用户名再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。其用用户注册界面展示如下图4-2所示。
图4-2 前台用户注册界面图
注册逻辑关键代码如下所示。
{
if (Request::isPost()) {
$request = Request::param();
$request['create_time'] = isset($request['create_time']) ? $request['create_time'] : date('Y-m-d H:i:s');
$request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');
$result = $this->validate($request, $this->validate);
if (true !== $result) {
// 验证失败 输出错误信息
$data['error'] = 30000;
$data['message'] = $result;
} else {
$request['password'] = md5($request['password']);
$result = $this->model->register($request, $this->table);
$data = $result;
}
} else {
$data['error'] = 30000;
$data['message'] = "field的值不能为空!";
}
return json_encode($data);
}
public function register($request=[],$table_name = ''){
$username = $request['username'];
$bol = $this->where(['username'=>$username])->find();
if (!$bol){
$result = self::allowField(true)->save($request);
if ($result) {
return ['result' => 1];
} else {
return ['error' => ['code' => 3000, 'message' => '注册失败']];
}
}else{
return ['error' => ['code' => 3000, 'message' => '注册失败,账号已存在']];
}
}
4.1.3 登录界面
昌吉学院二手书屋网站中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到昌吉学院二手书屋网站的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。
图4-3登录界面图
登录系统主要代码如下。
public function login()
{
if (Request::isPost()) {
$request = Request::param();
$result = $this->validate($request, $this->validate);
if (true !== $result) {
// 验证失败 输出错误信息
$data['error'] = 30000;
$data['message'] = $result;
} else {
$request['password'] = md5($request['password']);
$result = $this->model->login($request, $this->table);
$data = $result;
}
} else {
$data['error'] = 30000;
$data['message'] = "field的值不能为空!";
}
return json_encode($data);
}
public function login($request=[],$table_name = ''){
$username = $request['username'];
$password = $request['password'];
$bol = $this->where(['username'=>$username])->find();
if ($bol){
$password = md5($password);
if ($request['password']==$bol['password']) {
//添加token信息
$access_token['create_time'] = date('Y-m-d H:i:s');
$access_token['update_time'] = date('Y-m-d H:i:s');
$access_token['info'] = json_encode($bol);
// $access_token['info'] = $bol;
$access_token['token'] = md5(date('Y-m-d H:i:s'));
$bol_token = Db::name('AccessToken')->insert($access_token);
if ($bol_token){
$data['obj'] = $bol;
$data['obj']['token'] = $access_token['token'];
return ['result' => $data];
}else{
return ['error' => ['code' => 5000, 'message' => '登录失败,token生成失败']];
}
} else {
return ['error' => ['code' => 5000, 'message' => '登录失败,密码不正确']];
}
}else{
return ['error' => ['code' => 5000, 'message' => '登录失败,账号不存在']];
}
}
4.1.4网站公告界面
用户在点击导航栏上面的网站公告后,就可以搜索查看网站公告信息,用户根据自己的喜好可以进行交流,关于我们界面如下图4-4所示。
图4-4网站公告界面图
4.1.5 图书资讯界面
当访客点击昌吉学院二手书屋网站中导航栏上的“图书资讯”后将会进入到该“图书资讯”列表的界面,然后选择想要看的图书资讯,点击进入到详细界面,在详细界面可以收藏+点赞+评论等操作,图书资讯界面如下图4-5所示。
图4-5图书资讯界面图
4.1.6 图书详情界面
当访客点击了任意图书后将会进入该款图书的详情界面,可以了解到该图书的商品信息、价钱信息,同时可以对该图书进行购买+加购+点赞+收藏+评论,图书详情展示页面如图4-6所示。
图4-6 图书详情界面图
4.1.7地址管理界面
当用户点击“地址管理”右后,就回去显示出目前现有的地址,也可以添加新的地址,界面如下图4-7所示。
图4-7 地址管理界面图
4.1.8订单管理界面
当用户点击“订单管理”链接后就进入自己购买的订单的界面展示,界面如下图4-8所示。
图4-8 订单管理界面图
4.2管理员功能模块
4.2.1 注册用户界面
昌吉学院二手书屋网站中的管理人员是可以对前台注册的用户进行管理。注册用户界面如下图4-9所示。
图4-9注册用户界面图
4.2.2 图书资讯界面
昌吉学院二手书屋网站中的管理人员是可以对前台用户发布的图书资讯进行管控,图书资讯界面如下图4-10所示。
图4-10图书资讯界面图
图书资讯管理逻辑代码如下所示。
public function get_obj()
{
$request = Request::param();
$result = $this->model->get_obj($request, $this->table, $this->table_id, $this->table_id);
$data['result'] = $result;
return json_encode($data);
}
4.2.3 图书商城界面
昌吉学院二手书屋网站中的管理人员是可以对昌吉学院二手书屋网站内的不同图书的分类下的图书信息进行维护和管理的,支持查看到各个图书的库存量情况以及添加+删除图书。图书商城界面如下图4-11所示。
图4-11图书商城界面图
图书商城逻辑代码如下所示。
public function add()
{
if (Request::isPost()) {
$request = Request::param();
$request['create_time'] = isset($request['create_time']) ? $request['create_time'] : date('Y-m-d H:i:s');
$request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');
$result = $this->validate($request, $this->validate);
if (true !== $result) {
// 验证失败 输出错误信息
$data['error'] = 30000;
$data['message'] = $result;
} else {
if($this->table == 'user'){
$request['password'] = md5($request['password']);
}
$res = $this->add_before($request, $this->table, $this->table_id);
if($res['code'] == 200){
$result = $this->model->add($request, $this->table, $this->table_id);
$this->add_after($this->table);
$data = $result;
}else{
$data['error'] = $res;
}
}
} else {
$data['error']['code'] = 30000;
$data['error']['message'] = "field的值不能为空!";
}
return json_encode($data);
}
4.2.4订单列表界面
昌吉学院二手书屋网站中的管理人员是可以对昌吉学院二手书屋网站内的图书订单进行在线发货和管理等,同时支持根据订单号来具体检索图书订单记录信息。订单列表界面如下图4-12所示。
图4-12订单列表界面图
4.2.5订单数据管理界面
昌吉学院二手书屋网站中的管理人员是可以进行订单数据管理的,可以实现对订单数据的增删改查等操作。订单数据管理界面如下图4-13所示。
图4-13订单数据管理界面图
5系统测试
5.1 系统测试用例
系统测试包括:用户登录功能测试、用户注册功能测试、图书展示功能测试、图书添加功能测试,如表5-1、5-2、5-3、5-4所示:
表5-1 用户登录功能测试表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
用户登录模块测试 | 正确输入用户信息,用户成功登录 | 输入用户的信息 | 1.在密码框输入用户密码。2.点击登录 | 跳转到首页 | 正确 |
用户注册功能测试:
表5-2 用户登录功能测试表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
用户注册模块测试 | 正确输入用户星系,完成用户注册 | 输入用户的基本信息 | 在注册页面填写用户相应的信息,然后点击“注册”按钮。 | 提示成功并跳转到登录界面 | 正确 |
用户注册模块测试 | 用户注册失败 | 用户两次输入密码不一致 | 用户在注册页面填写信息时输入两个不一致的密码然后点击“注册”按钮。 | 注册失败提示两次密码输入不一致 | 正确 |
图书信息界面测试:
表5-3 图书信息界面测试表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
图书信息功能模块测试 | 图书信息正常的显示 | 浏览图书信息 | 在前台首页选择一个图书分类进入分类列表,然后选择一个图书 | 进入该图书的详细信息界面 | 正确 |
管理员添加图书功能测试:
表5-4 管理员添加图书功能测试表
测试名称 | 测试功能 | 操作 | 操作过程 | 预期结果 | 测试结果 |
管理员添加图书功能测试 | 添加图书成功的情况 | 输入新图书的基本信息 | 后台选择“发布图书”选项,然后填写新图书基本信息点击“添加”按钮 | 新图书添加成功 | 正确 |
管理员添加图书功能测试 | 添加图书失败的情况 | 输入图书基本信息不完全 | 后台选择“发布图书”选项,然后不完全填写图书信息,点击“添加”按钮。 | 对应信息框后出现提示请输入XXXX信息 | 正确 |
管理员添加图书功能测试 | 添加图书失败的情况 | 管理员在价格框输入非数字字符 | 后台选择“发布图书”选项然后再价格框输入非数字字符,点击“添加”按钮。 | 添加失败,提示“价格必须时货币格式!” | 正确 |
5.2 系统测试结果
通过编写昌吉学院二手书屋网站的测试用例,已经检测完毕用户登录模块、用户注册模块、图书分类展示模块、图书添加模块功能测试,通过这4大模块为昌吉学院二手书屋网站的后期推广运营提供了强力的技术支撑。
结论
至此,昌吉学院二手书屋网站已经结束,在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从中我也收获了很多宝贵的方法和设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Web、PHP技术、MYSQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。
当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。
参考文献
[1]张丽景,张文川.基于对比分析法的高职“MySQL数据库”课程设计——以兰州石化职业技术大学为例[J].现代信息科技,2022,6(21):188-191.DOI:10.19850/j.cnki.2096-4706.2022.21.046.
[2]杨一帆.服务于MySQL数据库的在线监测系统设计[J].自动化技术与应用,2022,41(10):179-182.DOI:10.20033/j.1003-7241.(2022)10-0179-04.
[3]马海珠.基于ThinkPHP框架的网上书城设计与实现[J].信息技术与信息化,2022(08):109-112.
[4]赵婉彤.基于PHP与MySQL的动态网站设计与实现[J].电脑编程技巧与维护,2022(08):103-105+109.DOI:10.16184/j.cnki.comprg.2022.08.022.
[5]张威威,郗文豪.校园二手书交易网站设计与制作[J].现代信息科技,2022,6(14):35-37+41.DOI:10.19850/j.cnki.2096-4706.2022.014.008.
[6]颜春艳.基于ThinkPHP框架的资讯类网站后台管理系统设计研究[J].信息记录材料,2022,23(06):111-114.DOI:10.16009/j.cnki.cn13-1295/tq.2022.06.046.
[7]么伟伟,张涛.PHP技术在企业网站开发中的应用研究[J].现代工业经济和信息化,2022,12(05):158-159+234.DOI:10.16525/j.cnki.14-1362/n.2022.05.065.
[8]曹瑜琳,周春晖,陈云燕,孟庆芸,韩思梦,方怡.关于高校二手书交易平台“易书屋”的分析与设计[J].科技与创新,2022(04):95-97+100.DOI:10.15913/j.cnki.kjycx.2022.04.029.
[9]Don Michael Magoshe. 非洲消费者采纳二手电商网站的因素研究[D].浙江工商大学,2022.DOI:10.27462/d.cnki.ghzhc.2022.000376.
[10]陈春凯,马娅,刘付祥.基于THINKPHP框架的智能航标管理系统设计[J].电子技术与软件工程,2021(23):178-181.
[11]马涛.基于PHP技术的视频点播网站设计分析[J].信息记录材料,2021,22(11):190-191.DOI:10.16009/j.cnki.cn13-1295/tq.2021.11.089.
[12]金纯峰.基于ThinkPHP框架的教师业务管理系统的设计与实现[J].信息与电脑(理论版),2020,32(24):74-75.
[13]谢京格. A公司二手房网站网络营销策略研究[D].广西师范大学,2020.DOI:10.27036/d.cnki.ggxsu.2020.001865.
[14]徐朦.二手网站贩卖仿真枪获罪[J].检察风云,2019(12):49.
[15]Li L.. Application of PHP technology in student PE score management system[J]. IPPTA: Quarterly Journal of Indian Pulp and Paper Technical Association,2018,30(8).
[16]何国钧,朱芮雨,王进义,张春庆.“朝花夕拾”二手书交易平台建设[J].中国建材科技,2017,26(04):145-147.
[17]Jie Zou,Shunhui Wang. Design and Implementation of Japanese Translation Information Platform Based on PHP Technology[J]. International Journal of Multimedia and Ubiquitous Engineering,2016,11(10).
[18]Yanxia Wu,Guolin Nie. Research on the Construction of Second-hand Commodity Trading Website on Campus[P]. Proceedings of the 2017 5th International Conference on Frontiers of Manufacturing Science and Measuring Technology (FMSMT 2017),2017.
致 谢
昌吉学院二手书屋网站的完成,标志着我即将结束在XXX大学的校园生活并跨入社会。在即将毕业的此刻,我想对所有帮助过我的师长、同学和亲人表达我发自内心的谢意。
感谢学校这个大家庭,在这里我们总能找到自己的归属。学校始终在向我们传达着温暖和关怀,接纳和包容我们的缺点。学校给我最大的感受便是要将自己的专业知识与实践相结合,而我也正在努力的成为学校所要求的应用型人才。
感谢各位老师,学院使我从懵懂一步步走向成熟。在这里每个老师都拥有着最大的善意和耐心,来教育我们这群大孩子。学院举办的各类活动是给予我锻炼自己的机会,正是这些机会让我成为了更好的自己,提升了自己各方面的能力。
其次我要感谢我的论文指导老师。我之所以被老师所吸引,是因为老师对于学生友爱和对于工作认真的态度。从选题到开题到论文的撰写,老师一直都在悉心的指导,在指出存在的问题后会与我们探讨解决方法。
最后,我要对即将参与本篇论文审阅和答辩的各位老师表示感谢。