版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广东东软学院本科毕业设计(论文)摘要当今世界已经进入“信息时代”,拥有庞大数量、不同种类的终端用户的互联网逐渐在不同领域内渗透,人们对信息化程度的要求也越来越高。在网上购物模式已经日渐成熟的前提下,极大地刺激了许多人的消费欲望,这一定程度上也刺激了经济增长。但当部分消费者的“购买热”消退下来后,会有一部分本身并不符合购买预想的商品出现了闲置状态,成为消费者们的经济负担之一。本文主要介绍了基于thinkPHP框架后端的开发背景以及研究现状,主要描述了二手市场在以线上模式运营时解决的各方痛点,本文也对二手交易网站的设计与开发过程进行展开论述,以互联网中流行且已成熟的网站模式构建一个线上二手交易平台,并主要有网站管理员与二手交易用户两种身份设计,并以实际情况考虑,本文描述了进行前后端分离的开发模式时各个开发过程所需的技术,研究网站系统均使用开源免费的各项技术,使其无需为商用授权额外付出任何费用。网站主要由后端服务、数据库与前端三部分组成,以前后端分离的方式进行开发。后端服务基于thinkPHP框架,可让开发者关注于业务实现,除了处理主要的业务逻辑外,也完成与前端、数据库对接的交互与处理任务。数据库采用MariaDB系统,其拥有强大的数据操纵与控制能力,可存储多种类型的数据,前端基于Vue.js框架,主要负责用户界面与交互逻辑功能,是进行二手交易的用户与管理者的使用入口。本文以该网站项目为一项软件工程项目,融合了软件需求规范,软件接口设计文档等方式分析了网站的功能需求,随后主要展开描述系统各个后端部分模块的设计,在完成设计后描述了具体实现过程,在对完成的项目进行使用测试,基本满足了管理员与交易用户对于二手交易的需求预期。关键词:ThinkPHPPHPMVC二手交易网站前后端分离
AbstractTheworldtodayhasenteredthe"informationage"TheInternethasgraduallypenetratedindifferentareas,whichhasalargenumberofdifferenttypesofend-users,andpeopleareincreasinglydemandingofinformatization.Underthepremisethattheonlineshoppingmodelhasgraduallymatured,ithasgreatlyexcitedconsumption,whichhasalsostimulatedeconomicgrowthtoacertainextent.Butsomeofthepurchasedproductsthatdonotmeettheexpectation,itwouldbecomeoneoftheconsumers'economicburdenwhilethe"buyingcraze"subsides.ThisarticlemainlyintroducesthedevelopmentbackgroundandresearchstatusofthethinkPHPframework.Itmainlydescribesthesorepointssolvedbythesecond-handmarketwhenoperatingintheonlinemode.Thisarticlealsodiscussesthedesignanddevelopmentprocessofthesecond-handtradingwebsite.Webuildanonlinesecond-handtradingplatformasthepopularandmaturewebsitemodel.Consideringtheactualsituation,thewebsiteismainlydesignedfortwoidentities:websiteadministratorandnormaluser.Thisarticledescribesthevariousdevelopmentmodesusingthefront-backstagedecouplingmethod.Thetechnologyrequiredfortheprocessonthewebsitesystemalluseopensourceandfreetechnologiessothattheydonotneedtopayanyadditionalfeesforcommerciallicensing.Thewebsiteismainlycomposedofthreeparts:back-endservice,database,andfront-end.Theback-endserviceisbasedonthethinkPHPframework,whichallowsdeveloperstofocusonbusinessimplementation.Inadditiontoprocessingthemainbusinesslogic,italsocompletestheinteractionandprocessingtaskswiththefrontendandthedatabase.ThedatabaseusesMariaDBSystem,whichhaspowerfuldatamanipulationandcontrolcapabilitiesandcanstoremanytypesofdata.ThefrontendisbasedontheVue.jsframework,whichismainlyresponsibleforuserinterfaceandinteractivelogicfunctions.Itistheentranceofusersandmanagerswhoconductsecond-handtransactions.Thisarticletakesthewebsiteprojectasasoftwareengineeringproject,analyzesthefunctionalrequirementsofthewebsitebyintegratingsoftwarerequirementsspecifications,softwareinterfacedesigndocuments,etc.,andthendescribesthedesignofmainback-endmodulesofthesystem,afterthedesigniscompleted,thespecificimplementationprocessisdescribed.Thetestofthecompletedprojectmeetstheexpectationsofadministratorsandusersforsecond-handtransactions.KeyWords:ThinkPHPPHPMVCSecond-handtransactionwebsiteFront-backstagedecoupling
目录第一章 绪论 绪论1.1开发背景及意义现如今人们的消费水平逐步提高,互联网也早已普及全球。自从国内B2C电商的迅猛发展,兴起了一批面向消费者的网上购物交易平台,如淘宝,亚马逊,当当,京东等。而在全民步入网购热潮之时,一部分商品或因难以跟随人员流动、因其不符合个人预想而又无法退货成为闲置物品,或因急需资金亟待出售部分个人物品而四处为寻求买主。国内以往的二手交易多发生于线下,如在某些小区内会有二手买卖店,他们大多只处理家电,家具等不变长距离运输和移动的大件物品,无法覆盖诸如电子产品以及其他小物件等种类的交易,还有一种以流动形式回收废旧物品的经营模式,通过先行买入而后经过处理流入回收行业,而他们的经营性质决定了不考虑保持闲置物品形态下的重复利用,给卖主的报价通常十分低廉。将线上购物模式应用于二手交易上,能够打通有买卖需求客户的沟通渠道,极大地降低了原本线下交易模式以及多种交易方式带来的时间损耗和人力成本,丰富了作为交易物的种类,无需通过多个途径公开闲置消息即可完成交易等传统二手交易的许多痛点。以二手交易网站作为交易平台,买家可以如同在线上购物网站上获得二手闲置物品在线购物的体验,检索需要的闲置物品信息并查看详请,而卖家则可以为平台提供二手闲置物品信息,从平台寻找买家。在买卖双方达成一致时,可通过线下沟通,线上确认运输方式等完成交易。平台同时支持搜索功能与按类型筛选等检索方式,方便用户查找对应闲置物或商品类型。平台管理员可以对二手商品进行实时后台管理商品。同时作为一款购物平台产品,轻便、简洁的交互将会为用户提供良好的购物体验。1.2论文架构论文的正文部分从第二章开始,将具体描述以下几个内容:二手交易网站的开发过程所需要用到的开发语言的背景、重要特性以及主要应用;ThinkPHP与其他流行后端框架的功能异同对比;Vue框架所提供的生态介绍,最后该章节描述了网站开发的运行环境,从软件层面解释了如何在Windows操作系统下配置一个可供开发人员编程的环境。第三章展开了对网站整体的需求分析,分为功能需求、性能需求、数据需求三个板块叙述二手交易网站的需求,通过本章了解网站所需要的各部分信息以及如何完成具体交互操作,在功能需求部分从商城用户,管理者两种使用者身份角度考虑了网站所需功能并进行了归纳,性能需求主要从时间特性、用户容纳数量等方面描述了网站在正式运行时应当达到的要求,为之后的测试成果验收提供了数据。数据需求小节则需要可持续化存储需求的数据出发,描述了数据格式以及其数据在运行过程中的对应关系。第四章描述网站的设计与实现,本章先从网站整体结构的设计入手,描述了二手交易网站应当采用的开发模式以及对应模块的逻辑作用,后对功能模块根据需求梳理划分,简要描述了前后端对应的功能设计与接口设计,最后章节增补了网站局部的详细设计与实现。第五章描述了如何对网站进行功能测试及展示了网站的实际运行效果,最后对测试结果进行分析。第六章总结了二手交易网站的开发过程中遇到的问题与收获。本论文将主要从后端出发,展开描述了thinkPHP作为一款优秀框架在开发二手交易平台时起到的作用。
网站开发技术分析在进行对二手交易网站进行研究前,首先需要进行网站开发的学习。网站开发所需要用到的技术主要包括两大部分的内容:开发语言与开发框架。开发语言主要用于开发者在为实现其服务的具体功能时完成的编程工作,而框架主要由其他开发者为了使程序开发能更专注与业务而生;而以其主要服务内容与提供服务的环境的不同又可分为前端和后端,前端主要负责用户界面与交互逻辑,后端主要负责处理业务数据。为了保证不同环境下两者能够实现数据交互,还需要了解实现两者数据交互的规范语言。下文将对开发二手交易网站所需要的技术进行详细介绍。2.1网站开发语言介绍2.1.1后端应用开发语言(1)PHP中文全称“超文本预处理器”,是一种通用开源脚本语言,一般在后端执行,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及PHP自创的语法[1]。使用广泛,具有成本低、速度快、可移植性好、内置丰富的函数库等优点,学习成本低,主要适用于Web开发领域。(2)SQL中文全称“结构化查询语言”,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,是与数据库进行交互的主要方式,一般由后端服务进行访问。2.1.2前端应用开发语言(1)HTML中文全称超文本标记语言,主要使用标记标签描述网页结构,是Web上的通用标记语言。通常由该语言组成的文档叫做网页,目前较为流行的标准为HTML5,在2008年由W3C制定标准。(2)CSS是一种将样式应用到对应标记的语言,中文译名为层叠样式表。主要用于标注并修改HTML页面的样式,当前也被其他框架用于对部分客户端的页面进行布局。CSS的出现曾使得网页设计领域得到了较大的发展,提升了用户浏览网页的体验。当前该语言最为流行的标准由W3C联盟指定,最新版本在2010年推出,目前最新统一版本为CSS3.0,而后其规范被分拆为众多模块单独升级。(3)JavaScript最早由网景公司创造的一门程序脚本语言,主要由该语言最初主要用于对网站的行为进行编程,经过发展后不局限于网页而出现在各客户端与服务端。现已经出现不同环境下的运行时,支撑着该语言环境并努力使其成为常态。早在1997年网景公司便将其语言技术草案交由ECMA组织,而后由TC39对该脚本语言标准进行规范,制定了ECMA-262标准,而后以ECMAScript®这一脚本语言名称成为JS的核心语言标准。当前ECMA-262最新标准为ECMAScript®2019,是该语言的第十版,在本篇主要展开ECMAScript5的技术特性。2.1.3数据交流语言(1)JSON是一种轻量级的数据交换格式,其格式易于人的阅读和编写,同时还考虑到了机器解析与生成,是ECMA-262标准下的一个子集,现常用于前后端分离开发模式、后端接口等Web服务的数据交互上。2.2ThinkPHP框架介绍以及其他流行框架的对比ThinkPHP框架是2006年诞生、国内较为流行的免费开源轻量级php框架,当前拥有良好的中文交流环境与众多优秀实践。使用php框架能够比原生php开发更快速高效地完成系统模块的开发,框架提供了完整且功能强大的增、删、查、改的操作[2]。thinkPHP框架具有面向对象的特性,可由此设计出一个低耦合的系统而使系统显得轻便灵活,同时通过框架以MVC模式将程序脚本分为模型、视图、控制三层,进一步提高了程序脚本的可重用性,降低程序编写的冗余度。同时,框架有严谨的错误检测和安全机制,详细的日志信息可以为开发的网站提供一定的安全保障。截止至2020年1月,thinkPHP框架已更新迭代至6.0.2版本,该框架首先在部署时便采用Composer进行部署更新,相较于以往从Git等仓库自行进行下载搬运,减少了人工校验各项文件的步骤,通过简单的几行命令便可完成thinkPHP后端的部署,降低了开发者在环境部署环节上的时间成本,直接上手开发。其竞品Laravel框架同样作为一款国内外热门开源php框架,由国外开发者共同完成开发,但其官方文档均为英语,实现的Web软件的MVC架构,并作为CodeIgniter的替代方案。Laravel在其5.0版本后引入了Facades(门面)概念,旨在通过静态接口完成对服务容器的各种调用操作,可以看做是服务容器中底层类的「静态代理」,而thinkphp6.0同样引入了该概念。可以说,thinkPHP作为一款后端框架,对后端部分功能进行了相当程度的完善,而对于前端所需的开发则尽量克制,如在部署基本框架时,thinkphp对于页面视图上仅支持最基础的php原生模板,并没有整合诸如webpack等使用前端流行语言框架,能够让开发者在只掌握基础的前端知识基础上完成绝大部分的后端开发。相对于Laravel框架,他更好地支持了开发者使用前后端分离的开发模式,让后端开发者在完成后端系统开发时能尽量减少完成前端开发的任务,对于前端开发者则同样适用。现如今国内各大公司均有前后端分离开发的实际案例,毫无疑问thinkPHP迎合了国内互联网企业的发展,能够在国内互联网生态内茁壮成长。2.3数据库管理系统数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS[3]。数据库管理系统是一个能够提供数据录入、修改、查询的数据操作软件,具有数据定义、数据操作、数据存储与管理、数据维护、通信等功能,且能够允许多用户使用。当前较为流行数据库管理系统有Oracle、MySQL、MicrosoftSQLServer、MongoDB、MariaDB等。本文主要以关系型数据管理系统MariaDB为研究工具,其以行和列的形式存储数据,以便于用户理解,由行和列组成一张表,一组表组成了数据库。在对数据进行查询、更新、删除与新增等方面,关系型数据库有较为优异的性能。是目前世界上最流行的开源关系型数据库服务之一,由原MySQL开发者牵头开发而成,保证持续开源。其功能特性与MySQL较为相似,能够以多引擎的方式运行,大部分功能无需进行额外学习便可通用。2.4前端相关框架2.4.1Vue.js框架介绍Vue.js是一款渐进式的Javascript框架,主要用于构建用户界面,即网页前端,与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用,可作为前后端分离的前端服务,能够更专注于业务逻辑处理。通过结合vue-cli系统能够在其基础上快速扩展相应插件对业务进行快速开发[4]。2.4.2Vue-CLI系统介绍Vue-cli是一个基于Vue.js进行快速开发的完整系统。该系统主要由三个组件组成:CLI,作为全局安装的npm包,能够使用命令行窗口构建一个新的vue-cli项目;CLI服务,基于
webpack
和
webpack-dev-server
构建;包含加载其它CLI插件的核心服务,一个针对绝大部分应用优化过的内部的webpack配置,项目内部的
vue-cli-service
命令[5]。因此该系统具备热更新功能,根据命令行窗口运行服务后能够实时更新页面。2.5网站开发运行环境2.5.1php运行时作为支撑使用php语言的各种工具或平台使用,并支持解析php语言相关文档等。2.5.2Composer为PHP语言环境下的软件配置包管理器,可通过命令行为php服务配置多个模块而不需要手动下载。本文中的部分具体实现,Composer作为thinkphp部署的前置环境。2.5.3thinkphp-framework为开发者专注于代码开发而出现的Composer开发包。包含thinkphp6.0基础框架,可用于开发调试thinkphp框架的后端服务,编译thinkphp服务,并部署到生产环境中。2.5.4Node.js为JS语言编写的服务的运行环境,软件配置包管理器,解决环境依赖复杂问题。可通过命令行给需要js语言支持的众多模块vue-cli等前端框架配置的前置运行环境。2.5.5vue-cli脚手架作为一个配套工具,能够以npm方式部署各种与vue配合的模块,不需要开发者手动配置整合配置各个模块,开箱即用,加快集成速度,方便前端开发者更专注地去关注前端开发。
第三章需求分析需求分析说明是对在具体环境中执行确定功能的特定软件产品、程序或一组程序的规格说明,在网页开发中起到重要的指导与约束的作用,一般由开发者、用户或双方的一个或多个编写,主要体现了软件项目的功能、外部接口、性能、属性以及影响产品实现的设计约束[6]。3.1功能需求本部分主要描述了网站开发所需完成的功能。以使用者的视角详细分析了网站的各系统功能模块。其中包括用户鉴别系统、闲置物品检索分类系统、闲置物品管理系统、网络安全与管理系统和体验改善以及其他优化。3.1.1用户鉴别系统可区分游客,商城用户和商城管理员,根据身份分配不同的权限和职能。在访问者未完成注册时,不能向网站提交交易订单,不能以匿名身份发布二手物品,而在完成注册后,用户可以正常的完成上述功能,但用户只能关注得到已发布的公告,商品及其评论,较为隐私的个人信息则无法获取,保证网站的正常运营和数据安全。以下为该系统下的子模块:用户登录:用于给未进行识别的用户提供认证功能。用户注册:用于将初次访问网站的游客提升权限至商城用户的功能。个人中心:用于记录用户的使用信息,方便网站为其做用户区分,进行个性化推荐。在生成订单时提供相应数据给卖方作为确认交易主体的证明。3.1.2闲置物品检索分类系统用于用户对网站内闲置物的筛选,找到符合预期的内容的检索系统,主要包含以下子模块:商品模糊检索:用于用户检索指定商品,是满足交易的基本需求。商品按分类检索:用于给买方在指定分类下浏览各商品的信息,提升买方的用户体验,增加二手商品的商品曝光度。购物车:用于列出用户一段时间内所需商品的表格清单,提升买方的用户体验。商品收藏:用于将用户喜好但暂时不进行购买的物品进行归纳整理,提升用户进行二手购物的体验。具有买家角色的均可使用。历史记录:用于展示用户最近一段时间浏览的商品,方便用户对已看过的商品进行回溯。分类管理:用于网站管理员进行分类归纳整理的功能,根据不同需求增加或删除对应分类,开发此项功能能够实时地根据市场的不同需要将闲置物品进行分类,适应市场的发展。3.1.3闲置物品管理系统主要用于展示商品,以及管理商品的功能,此系统主要由卖家参与,以下为该系统子模块:商品管理:提供给卖家动态发布或下架具体商品的功能,一般通过填写预定表单和写一篇包含图文的富文本完成表述。商品展示:对卖家提供具体物品的信息进行展示,以供买家在购买前了解到物品的重要信息,是购买前对商品信息获取的主要渠道。一般包含物品名,预定价格,以及对其性能或形状,功能上的描述。交易订单管理:主要用于展示交易凭证给达成交易的双方,在达成一桩交易时通常会为买卖双方生成一个订单,对于买家可获取到已确认购买的物品信息以及卖家的联系方式等,在收取到闲置物前作为购买凭证,对于收取到闲置物后可作为售后凭证,而对于卖家而言,递送商品前可通过订单确认买家身份及具体位置,而在递送物品后可作为统计自己的销售情况的流水。3.1.4网络安全与管理系统一般用于应对部分不良操作,除一部分功能可通过预定设置实现自动管理外,人工方式一般只能由网站管理员完成。以下是该系统的子模块:商品审核管理:用于对用户发布的二手交易物品进行审核的流程,且根据安全与体验的情况不同可以动态开放或关闭人工审核。主要以改变分类或具体商品的审核状态进行管理。用户记录查询:用于审查用户在平台上的使用情况,以向管理员判断其违规或违法提供一定依据,可提供数据导出功能,以辅助公安机关等国家安全系统人员进行介入调查。用户审核管理:用于防止不法份子对商城的注册攻击,可对商城的新用户注册功能状态进行动态更改,以及防止其他恶意提交商品或不法信息时封禁或冻结已注册账户的功能。平台运行管理:用于及时维护网站而可动态关闭对外开放的功能,可关闭平台对外展示信息的功能。此功能一般只允许网站管理员进行操作。3.1.5体验改善以及其他优化评论管理:主要用于为买家在对商品有疑问的情况下在达成交易前通过平台向卖家具体商品进行评论的功能,卖家在该流程下应当对有意义的评论进行信息补充。其内容一般可被他人看到,作为商品描述的一部分。热门推荐:用于向用户动态推荐当前时段下被购买次数较多的小分类下的商品,通常放置在主页或具体商品的下方,可作为喜好推荐的冷启动,起到显眼而不抢占主体的目的。喜好推荐:根据众多用户在浏览,收藏夹,下单,评论等操作完成下的数据推测个别用户喜好的商品。例如,一名用户在浏览过“耳机”商品并发表评论,之后下单了“某品牌单反相机”后,喜好推荐应当出现其他同类用户同样搜索过的耳机的周边配件产品或零售消费级级电子产品。商城推荐系统:出于对商城利益角度考虑的功能,可动态置顶部分商品以达到获取更多曝光度的目的。3.2性能需求本部分主要描述了网站实际运行中所需达到的性能。其中包括时间特性要求、同时在线用户和网络性能。3.2.1时间特性要求对网站成品的时间约束:网站首页加载完毕应当控制在7s内,登录速度应当在15s内,搜索结果应当控制在20s内加载完毕,其他页面应当控制在10s内完成。3.2.2同时在线用户对于本次网站开发,实际情况为同时将数据库,前端服务器与后端服务器同时部署在同一主机上,访问主要受存储设备的读写性能、带宽延迟及速率影响,故以小型网站应用约束,不受网络条件影响下,网站应可承受至少20名以上用户同时访问。3.2.3网络性能根据运行环境的实际情况,网站应当部署于可供互联网用户使用,且需保证具有一定上下行带宽速率用于传输用户提交的富文本、图片等内容。本次项目仅部署于内网环境,受内网环境影响。3.3数据需求本部分描述了网站实际运行中主要流程所需要的的必要数据以及其流动方向。图3-1买家购买物品数据流程图如图3-1所示,买家在完成选定商品后将向系统提交确认商品清单的操作,此时系统将读取各商品的库存信息进行确认是否已售罄,在确认无误后系统将自动申请新订单,生成一份包含商品清单的订单信息,在卖家收到通知后对订单进行确认并根据提交物流信息等影响订单状态的内容更新订单信息,并将该信息提交至订单管理系统,之后该系统将在订单更新状态后买家。图3-2权限鉴定数据流程网站的正常运作需要对拥有不同操作权限的用户进行鉴别,如图3-2所示,当一名管理员进行对物品或用户的权限进行修改时,将会获取管理员与待修改的实体信息进行比对,确认待修改的权限内容是否存在以及管理员身份是否属实,完成确认后系统将继续执行修改实体权限的操作,根据已获取到的实体信息生成新的副本,并对管理员提出修改的部分进行更改,在将此信息提交到数据库中。而用户的每一份操作也将进入系统的确认身份与鉴别操作权两步操作以确认其是否具备对应操作权限。
第四章网站设计与实现本部分主要表述网站实际设计与实现过程,通过网站的架构设计,功能模块与接口设计等描述了网站的基础框架与开发思路,以及各个模块如何相互配合完成系统生态,而在详细设计与实现小节则具体描述了部分设计与实现时遇到的技术问题,以及其解决方案。4.1系统架构设计图4-1系统整体架构实践作品采用网站的形式展现,以前后端分离的模式进行开发,如图4-1所示,该开发模式存在几项特点:前端通过Ajax请求作为发送内容,以RESTFul风格向服务端发送请求;后端在完成关键业务逻辑,完成与数据库的存取操作后,采用Json数据返回到前端服务,经过前端数据处理后回显到页面上;前后端分离开发能够让开发者在开发过程中对开发目标更明确,专注。而作为交易系统,网站需要持久化存储能力,为数据提供持久化的有mariaDB数据库以及浏览器提供的localStorage服务,分别储存在服务端和客户端上。本章将从前端,数据库与后端三大服务的架构设计以及主要功能模块和接口设计进行详细描述。4.1.1前端架构设计前端主要以Vue.js为前端框架,结合其丰富的生态系统选用了Vue.js的几项插件以增强其功能。在前端还使用了localStorage服务以用于保存会话token,使用户不需要在连续执行操作期间频繁进行登录操作。图4-2前端运行依赖如图4-2所示,前端框架添加了运行依赖以对部分网站特性支持,以下对关键的几项做出说明:(1)TinymceTinymce是一款富文本编辑器插件,提供了较为完整的网页客户端编辑功能,可提供图片插入以及对文本的各种样式编辑等功能。(2)AxiosAxios是基于Promise,一种异步处理的解决方案的HTTP请求库,主要用于网页与Node.js的请求接管,在本文研究网站中将使用Axios进行各个功能模块的请求管理。(3)Element-UIElement-UI是一套为开发者、设计师和产品经理准备的基于Vue2.0的桌面端组件库[7],在本文研究网站中将其用于管理后台与部分功能的界面显示上。(4)scss-loaderscss-loader预编译器用于对前端项目中的SCSS语言进行编译,使开发者无需手动编译为CSS格式,既提高了易读性又减少了编写内容(5)eslint规范代码样式标准,以更加严格的方式要求代码格式并审核代码错误,提高前端开发效率。4.1.2数据库架构设计数据库服务采用MariaDB数据库管理系统。MariaDB数据库管理系统是MySQL的一个分支,主要由其开源社区维护[8]。该社区成员们致力提供一个社区开发,稳定且始终免费的数据库管理系统,并使MariaDB在从使用用户的角度上MySQL广泛兼容[9]。该数据库系统类型属于关系型,在对数据库进行架构设计时则应当使用E-R图与各数据表描述数据库的数据结构。E-R图能够将现实中的实体信息抽象为实体或其属性,可供具体设计时使用的数据模型进行参考。而数据库中各数据表则描述了实际数据的存储数据类型以及读取方式。图4-2系统E-R图1以交易网站的买卖双方用户视角出发了解系统,卖家在发布闲置物后,买家可对一个闲置物发布自己的评论,可在选定闲置物后向指定卖家发起交易订单,因交易订单包含对应闲置物的数量,如图4-1所示,该图展示了买家与卖家在发布与购买时数据的逻辑关系。图4-3系统E-R图2以网站管理员为视角,系统提供了管理大小分类、发布公告、管理买家、管理卖家、审核已发布的闲置物等功能,如图4-2所示,主要展示了管理员在发生管理操作的逻辑关系。图4-4系统E-R图3以买家浏览商品时为情况对数据逻辑关系进行分析,如图4-3所示,闲置物可被买家主动进行加入购物车、收藏等操作,且在浏览后会被记录到买家的历史记录中,而由于闲置物与小分类存在1对n的逻辑关系,买家可根据小分类检索到对应闲置物。使用字段表可以描述网站所需使用的各个概念集合中所有的属性,同时对描述网站各概念集合的数据结构与类型进行了进一步的解释与说明。在对各表进行描述前,本文将对所有表存在的通用情况进行如下说明:表中若出现id字段,一般作为该项表对应实体的主键,是对单一实体的唯一标识;表中若出现create_time创建时间字段,为该表对应实体记录于交易网站系统的初始时间,一般与update_time更新时间字段成对出现。用户,管理员一般对该项字段不可直接更改,当且仅当管理员对一项数据删除时才可从对应记录中抹除。表中若出现update_time更新时间字段,为该表对应实体记录于交易网站系统的更新时间,一般与create_time创建时间字段成对出现。用户,管理员一般对该项字段不可直接更改,当且仅当用户或管理员有权对该项数据进行更改并实际完成该项操作后才可对更新时间字段进行更改。以下是各个需要持久化存储数据的字段表。表4-1item闲置物品表字段类型空默认注释id
bigint(20)否
主键namevarchar(128)否
名称class_idint(11)否
所属小分类pricefloat否
价格stockint(10)否
库存seller_idbigint(20)否
卖家idin_checktinyint(1)否0审核状态brieflongtext是NULL简要信息包含图片和标签(json)create_timetimestamp否current_timestamp()上架时间update_timetimestamp否current_timestamp()更新时间
表4-1展示了表示闲置物品所需要的数据,其中名称、价格、简要信息字段以较为直观的形式描述了难以用固定格式表述的闲置物状态与属性,所属小分类字段用于用户搜索时进行归类,快速检索出对应小分类的商品时使用。库存与卖家Id作为生成订单前的重要数据,能够根据卖家填入的信息限制售出数量与确认交易的卖方身份。审核状态则表明了该闲置物目前所处的展示状态,可由管理员进行更改,若不为默认值0,即说明该闲置物处于异常状态,不对外进行展出。
表4-2item_classes小分类表字段类型空默认注释id
(主键)bigint(20)否
小分类idnamevarchar(64)否
类目名group_idbigint(20)否
从属于大分类item_typebigint(20)否
从属商品类型in_checktinyint(1)否0审核状态create_timetimestamp是current_timestamp()创建时间update_timetimestamp是current_timestamp()更新时间
表4-2展示了小分类表中的数据字段,其中主要包含名称,从属大分类以及商品类型以及审核状态字段,小分类表对应的数据实体主要用于按分类进行,方便网站用户找出对应闲置物,同时管理员可对小分类进行审核状态的更改,使其分类下发布的商品都需要进行审核后发布,提高了网站对于特定商品的控制与审核效率。表4-3item_detail闲置物详情表字段类型空默认注释id
(主键)bigint(20)否
item_idbigint(20)否
闲置物idcontentlongtext是NULL内容create_timetimestamp否current_timestamp()创建时间update_timetimestamp否current_timestamp()更新时间
表4-3展示了闲置物详情表中的数据字段,该表主要用于记录闲置物详情内容,因为在对闲置物进行查询时大部分情况无需获取详情内容,处于冗余状态,且该内容数据量通常较闲置物表的其他数据大,因此不与闲置物表融合。
表4-4item_groups大分类表字段类型空默认注释id
(主键)bigint(20)否
大分类IDnamevarchar(40)否
类目名in_checktinyint(1)否0内容需要审核create_timetimestamp否current_timestamp()创建时间update_timetimestamp否current_timestamp()更新时间
表4-4展示了大分类表中的数据字段,该表主要用于首页以及对小分类的归纳梳理,其中name类目名字段主要用于网站首页进行展示。表4-5item_recommend商品推荐记录表字段类型空默认注释idbigint(20)否
主键item_idbigint(20)否
物品标识user_idbigint(20)否
用户标识pointfloat否
登记点数update_timetimestamp否current_timestamp()创建时间
表4-5为商品推荐记录表,其中记录了物品标识,用户标识以及登记点数三项主要信息,该表主要用于商城向用户进行推荐时的参考依据。
表4-6list_item清单物品表字段类型空默认注释id
(主键)int(10)否
user_idbigint(20)否
用户标识item_idbigint(20)否
物品标识cart_countint(11)否1购物车数量item_typetinyint(3)否0物品名称create_timetimestamp是current_timestamp()创建时间update_timetimestamp是current_timestamp()更新时间
表4-6为清单物品表,该表主要记录用户的浏览记录,收藏夹以及购物车的商品内容,使用item_type物品名称字段对所属不同清单的商品进行区分。但不记录特定时间段的商品信息,仅以item_id物品标识字段作为索引,所以在用户查询此项时显示的闲置品内容也将与对应表内数据实时更新。表4-7notice公告表字段类型空默认注释id
(主键)int(10)否
brieflongtext否
简要内容(JSON,包含图片路径与标题)contentlongtext是NULL公告内容(RTF)create_datetimestamp否current_timestamp()创建时间update_datetimestamp否current_timestamp()更新时间expdatetime否
截止时间statustinyint(3)否
状态adm_idint(10)否
管理员id
表4-7是公告字段表,公告主要包含标题,图片与富文本内容三项,而标题与公告则以JSON形式存储在一项brief简要内容字段中。当发布一则公告时,公告内容可为空,此时公告无法查看详情,只在占用一个展示公告标题与图片的位置。
表4-8orders订单表字段类型空默认注释id
(主键)bigint(20)否
csm_idbigint(20)否
发起方idcsm_addrvarchar(512)是NULL发起方地址csm_phonevarchar(128)否
发起方手机total_pricefloat否
总价create_timetimestamp否current_timestamp()生成时间confirm_timetimestamp否current_timestamp()确认时间statustinyint(3)否
状态exp_code_listlongtext是NULL快递单号messagevarchar(512)是NULL商家留言
表4-8描述了orders订单表的各项字段,其中csm_为发起方的各项数据前缀,该项主要用于记录在订单生成时买家的各项信息而不受买方用户信息实际更新的影响,保证了订单表对于卖家的不可修改的性质,其中status状态字段用于控制订单流程,表述订单所处的状态,其中应有待确认、已确认两种状态。表4-9orders_item商品-订单表字段类型空默认注释idint(11)否
流水idorder_idbigint(20)否
订单iditem_idbigint(20)否
物品idseller_idbigint(20)否
卖家iditem_namevarchar(128)否
品名item_brieflongtext是NULL简述pricefloat否
价格countint(10)否
数量
表4-9用于表述所有订单内的各商品的字段,其中Item_前缀的各项字段以及price价格字段单独记录在表中是为了不受实际闲置物的信息更改影响,保证了商品列表在订单中的不可修改的性质。表4-10remark评论表字段类型空默认注释id
(主键)bigint(20)否
item_idbigint(20)否
闲置物品标识user_idbigint(20)否
用户标识textvarchar(256)否
内容remark_idbigint(20)是NULL回复评论标识(可为空)submit_timetimestamp否current_timestamp()提交时间
表4-10表述了remark表下的各项字段,其中包含item_id闲置物品标识,user_id用户标识确认评论显示的位置与格式,text内容字段规定了评论内容不超过256字。当remark_id不为空时,将与对应评论进行关联。
表4-11user用户表字段类型空默认注释id
(主键)bigint(20)否
用户标识usergroupint(11)否0所属用户组usernamevarchar(64)否
用户名nicknamevarchar(64)是NULL用户昵称passwdvarchar(64)否
密码emailvarchar(100)是NULL用户邮箱phonevarchar(128)是NULL联系方式_register_timetimestamp是current_timestamp()注册时间_last_logintimestamp是current_timestamp()最后登录时间last_addrbigint(20)是NULL最后登录地址pr_pic_pathvarchar(512)是NULL头像路径地址self_introducevarchar(256)是NULL自我简介表4-11是商品用户表,包含了nickname昵称,self_introduce自我简介,pr_pic_path头像路径等字段用于用户对账户进行个性化设置。其中使用usergroup用户组字段鉴别用户所拥有的权限等级,username用户名字段与passwd密码字段为用户登录时需使用的账户名与密码,通过验证后用户将能够完成系统赋予权限范围内的各项操作。在依照以上字段对数据库进行各项表与字段的创建后,系统便具有了持久化数据存储的能力,后端服务能够以不同操作对库内各表各项进行访问与修改。4.1.3后端架构设计后端采用Thinkphp框架进行开发,该框架引入了MVC模式,提供了一种将用户界面设计、流程控制与事务逻辑分离的开发思路,由于已经把事务逻辑模块与控制模块进行了分离,这样该模块的开发就无需特殊的网络编程能力,程序的开发主要就集中在事务处理、逻辑判断等方面[10]。但MVC模式的提出一般用于传统的应用程序,模块间的数据交互方式较为固定,而作为Web应用还需要对多个用户的请求进行相应并处理,因此引入MVC模式到网页开发时需要找到相应的技术方案解决这一问题。根据thinkphp框架的内部模块划分,我们将其与对应外部接口进行拆分重组,对MVC的解释如下:(1)Model层主要处理与数据库的对接,以及缓存,文件等数据的业务逻辑(2)View层主要解决输出到页面前的数据整合,格式转化等问题(3)Controller层主要作为开放供前端使用的接口,并合理调用对应的Model或View层返回数据。后端同时也有一部分完成数据持久化存储的能力,主要通过框架提供的网络上传功能存储于服务器本地的公开目录,主要用于存储图片。4.2功能模块与接口设计本部分在网站项目进行程序实现阶段时系统具体完成的功能特性以及其主要接口的设计进行叙述,主要包含前端的界面结构、功能介绍,以及后端的接口设计。4.2.1功能模块设计前端基于vue-cli脚手架搭建,主要将页面分为两个模式:商城用户模式,面向在平台上进行二手交易的用户使用,具有良好的界面设计与逻辑交互;管理员模式,面向平台运营管理者,根据市场环境与监管方对平台的运作进行动态的审核与修改。接下来以角色身份对网站功能进行划分:图4-3未注册用户的功能划分如图4-3所示,未注册用户拥有网站的最低权限,以下对未注册用户包含的功能进行简要分析:(1)登录(用户验证)为用户提升权限至普通用户或管理员的入口,使用用户名与密码进行用户身份验证后便可根据已提升权限的用户组获得网站的更多服务支持。(2)注册为无账号的未注册用户提供成为网站普通用户的入口,用户需要提交一份个人信息与账号名,密码等信息并同意平台使用协议后,便可以在登录入口完成身份验证。(3)浏览商城公告用户可在网站首页醒目处进入商城公示的公告,了解当前平台运行的状态,正在进行的活动等平台主动对外提供的信息。(4)查看关于查看关于二手交易网的运营资质,人才招募,联系方式等平台对外公布的消息。(5)检索商品以模糊关键字、按分类两种方式对平台内商品进行搜索,将展示符合用户预期的商品列表。(6)查阅商品详情对已公布闲置物的具体功能、特性等公布信息进行查阅,包含价格、图片、新旧状态,商品出手前的评论以及商家具体描述。图4-4普通用户的功能划分如图4-4所示,普通用户是网站的主要群体,逻辑上继承未注册用户的各个权限并进一步开放新的功能,以下是普通用户的功能分析:(7)买商品买家在确认商品符合预期后,可向平台提交购买申请,此时平台将生成一份订单,包括带有价格,名称以及简要描述的商品列表,买家的联系方式与地址。在卖家通过确认后便能通过平台达成交易,之后由卖家向买家以物流或自行递送等方式将闲置物交由买家。(8)修改个人信息对自己的联系方式,收货地址,昵称,头像等消息进行修改,以供进行交易,生成订单时作为卖家联系以及递送的依据。(9)完善实名买家对自己的信息进行进一步完善,成为卖家的入口。买家需要提供给平台确认卖家的具体身份是否属实等以便落实发布消息的责任方,在通过平台审核后方可成为卖家。在发生交易外的特殊事件(如发布不良、虚假、违法信息,侵害了买方权益等)能够根据情况将事件上报给公共安全机关进行调查。(10)写留言在商品尚未下架前在商品下方进行留言,可以向卖家获取商品的更多信息而进一步了解商品。(11)退出登录当用户使用环境不受信任时(如在公共场所的电脑),为保护用户个人账户安全可在完成必要操作后退出登录取消认证。(12)加入收藏夹用户暂时无购买预期但需要进行持续关注时,可将商品加入收藏夹列表,方便用户在日后使用快速找回商品。(13)加入购物车用户为了需要购买平台上已发布的复数商品时,可将商品加入购物车列表后提交订单申请,方便用户简化完成订单提交的操作。(14)浏览历史记录用户在浏览商品时平台将会记录其过往浏览记录,将按时间顺序向用户展示近期已浏览过的商品列表。(15)发布商品卖家通过该功能在通过平台认证后根据商品的具体属性填写一份表单,表单内容主要包括价格,闲置物标题,新旧程度等物品特性。无需审核的商品分类发布后买家通过商品检索能够向卖家提出交易申请。(16)修改商品卖家通过该功能可对自己已发布商品的信息需要补充或修改,及时更新商品信息,如修改闲置物价格,上传闲置物图片等。重新填写闲置物表单信息并提交后,能够将该闲置物的信息进行更新。(17)删除闲置物卖家通过该功能可根据实际情况对自己已发布的闲置物进行下架删除处理。(18)卖出闲置物卖家通过买家提交闲置物订单后,完成确认步骤后可将闲置物按其对应订单指定方式卖出,赚取收益。(19)查看销售统计卖家在已卖出闲置物后可通过该功能查看近段时间以来的闲置转手情况,完成对已出售的闲置物品的管理功能。图4-5管理员的功能划分如图4-5所示,管理员具有网站的最高权限,具有维护网站正常运作的职能。对其开放的功能将能影响网站的整体运营,以下是对管理员拥有的功能的详细分析:(20)公告管理公告指的是管理员为了向网站各用户传达网站近期活动,近期交易情况或网站运营状态等信息。通过该功能撰写一篇公告并发布后展示在平台首页等醒目位置,除此之外还可对已发布的公告进行删除和修改更新公告信息以确保正确传达内容。(21)用户管理管理员在对已忘记密码的用户进行人工核验后,可根据该功能进行人工重设用户密码,根据用户管理规范删除用户对闲置物的留言,根据用户行为开放或关闭其对应的购买,发布留言和发布闲置物功能,在发生特殊情况时也可导出用户具体的使用记录进一步处理。(22)闲置物及分类管理管理员根据平台运营情况可通过该功能对位于首页等醒目位置闲置物推荐列表进行人工干预,将需要置顶的闲置物加入到推荐列表中。其中还包括“审核闲置物”:可对不符合于要求或明显违规的已上架闲置物进行人工冻结并通知卖家进行信息修正;“修改订单状态”:在订单交易期内发正常流程外的情况时,可将订单状态更改为“平台已介入”状态,并进一步与双方进行沟通;“修改分类列表”:根据二手市场环境,可由该功能修改平台对物品分类的机制;(23)“关于”信息管理“关于”信息指的是网站运营方的自我介绍,主要应包括运营历史,运营资质以及经营理念等,旨在传达运营本身的信息,该功能给管理员提供了修改关于内容的入口。(24)友情链接管理管理员根据实际需要,可根据该功能完成在页面底部展示平台的合作伙伴,例如:平台的网络服务供应商。(25)更改网站维护模式在网站遭遇网络攻击,或需要对内部功能进行维护时,在网络服务未中断的前提下通过该功能可将网站访问更改为维护状态,此时网站无法为其他用户提供交易,留言,查看闲置物等功能,仅保留管理员的功能。4.2.2接口设计接口设计主要关注于规范前端发往后端的数据并给出输出示例,以便前后端能够进行有效的数据交互,本文将以网站系统中的用户模块为例介绍对前端传输方式的接口规范。在对用户模块进行详细前,此处将对于一个较为通用的情况进行全局说明:除非未在备注中提及“不对HEADER做规范要求”时,所有请求皆遵守以下默认HEADER接口规范,否则都将返回错误,如表4-1所示。表4-1HEADER提交实例HEADER附加参数Authorization:Bearer[token值](认证码)备注需附加通过服务端授权获取到的token输出示例/*验证失败示例HTTP返回状态码302*/{result:false,reason:'用户认证已失效'}/*验证成功后将根据不同请求进行相应*/
以下是对用户模块的接口设计描述,表中的备注信息表述了该接口的作用。表4-2用户注册接口接口名称注册账户请求地址/user输入请求方式HTTPSPOST请求格式usrname:String(用户昵称,必选)passwd:String(用户密码,必选)email:String(电子邮箱地址,当手机号码为空时必选)phone:String(手机号码,当电子邮箱地址为空时必选)备注请求包含一个用户注册操作所需的基本信息,若注册成功则返回成功状态码,失败则会附带其错误信息。输出示例/*失败示例*/{result:false,reason:'密码不符合规则',}/*成功示例*/{result:true,reason:'',}
表4-3用户信息修改接口接口名称用户信息修改请求地址/user输入请求方式HTTPSPUT请求格式passwd:String(用户密码,必选)passwd:String(用户密码,必选)email:String(电子邮箱地址,当手机号码为空时必选)phone:String(手机号码,当电子邮箱地址为空时必选)备注请求包含一个用户注册操作所需的基本信息,若注册成功则返回成功状态码,失败则会附带其错误信息。输出示例/*失败示例*/{result:false,reason:'密码不符合规则',}/*成功示例*/{result:true,reason:'',}
表4-4用户信息删除接口接口名称用户信息删除请求地址/user输入请求方式HTTPSDELETE请求格式passwd:String(用户密码,必选)passwd:String(用户密码,必选)email:String(电子邮箱地址,当手机号码为空时必选)phone:String(手机号码,当电子邮箱地址为空时必选)备注请求包含一个用户注册操作所需的基本信息,若注册成功则返回成功状态码,失败则会附带其错误信息。输出示例/*失败示例*/{result:false,reason:'密码不符合规则',}/*成功示例*/{result:true,reason:'',}
表4-5用户登录账户接口接口名称登录账户请求地址/verify输入请求方式HTTPSPOST请求格式usrname:String(用户昵称,必选)passwd:String(用户密码,必选)备注请求包含一个用户登录操作所需的基本信息,若注册成功则返回成功状态码以及一串JsonWebToken,失败则会附带其错误信息。输出示例/*失败示例*/{result:false,reason:'用户名不存在或密码错误',token:''}/*成功示例*/{result:true,reason:'',token:'eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI4ODgiLCJzdWIiOiLlsI_nmb0iLCJpYXQiOjE1NTc5MDUzMDgsImV4cCI6MTU1NzkwNTMwOH0.4q5AaTyBRf8SB9B3Tl-I53PrILGyicJC3fgR3gWbvUI'}4.3详细设计与实现本节对后端服务与前端服务的实现做详细描述,同时对主要功能模块的设计实现进行时遇到的部分技术问题以及解决方案进行展开。由于RESTful设计风格是接近无状态的,而作为平台需要考虑用户安全与数据安全等因素,本文研究的网站将采用thinkphp框架中的JsonWebToken插件以确保用户操作不被攻击。4.3.1后端设计与实现以下对后端主要实现的功能模块进行描述。$usrname
=
FacadeRequest::post('usrname');
$passwd
=
FacadeRequest::post('passwd');
$cUser
=
new
User;
$id
=
$cUser->Compare($usrname,
$passwd);
$token
=
null;
if(is_numeric($id))
{
$group
=
$cUser->getUsergroup($id);
$token
=
Auth::builder([
'uid'
=>
$id,
'ugroup'
=>
$group,
]);
}
return
json_encode(['token'=>$token]);
//函数体结束//获取HEADER中验证字段的数据若通过则继续操作
try{
Auth::auth();
}
catch(JWTException
$err){
$message
=
$err->getMessage();
throw
new
HttpException(400,$message);
}
以上为验证模块中发放Token的主要代码,使用了thinkphp插件的JWTAuth模块,对用户名进行简单验证即可生成一份token,之后以json字符串的方式返回交由前端。在前端发送了需要鉴权的操作请求后,后端将首先获取请求的HEADER(表头)中的验证字段,通过后则继续完成其他操作。
//App\Model\Item.phpclass
Item
extends
Model
{
public
function
getItemWithDetail($id)
{
$item
=
$this->find($id)->toArray();
$detail
=
ItemDetail::where('item_id',$id)->findOrEmpty()->toArray();
$res
=
array_merge($item,$detail);
return
$res;
}
}
//App\Controller\Item.phpuse
app\model\Item
as
ModelItem;
$item
=
ModelItem::find($id);
if
($item)
{
return
json_encode($item->getItemWithDetail($item->id));
}
else
throw
new
\think\exception\HttpException(404,
'NotFound');
此处代码通过对ModelItem类型的引用,可直接使用thinkphp预置的find()函数返回数据实体,之后以json字符串的方式返回Item内置函数附加闲置物详情数据交由前端对数据进行处理。4.3.2前端设计与实现以下展示了主要网站的页面布局设计。图4-6首页页面布局图4-7历史记录页面布局图4-8购物车页面布局图4-9个人中心页面布局
第五章测试与运行在完成了系统的设计与实现后,还需要对系统进行测试,是系统开发过程中的较为重要的一步。本文研究的网站系统测试主要进行对功能的黑盒测试,即不考虑其内部逻辑结构,仅以使用者角度对系统对外开放的界面进行测试,若正常使用即可通过测试,在无法通过测试也可根据错误问题对错误进行修正,提高系统的稳定性。图5-1个人主页修改个人信息测试图5-2注册功能测试经过测试,系统满足设计时的初期开发功能。
结论本课题是在学校四年间的学习与实现基础上,通过融合与梳理近期互联网发展成熟的工具产生的成果。在完成课题期间,本人从中学习到了在不同语言框架下如何进行相互配合,集成为一个网站系统。更重要的是在完成期间也对四年学习的理论知识进行了梳理与整合,了解了在当前互联网的环境下的应用开发可以以一种专注于业务逻辑的方式进行。而由于自身视野与创作实践的局限,在对具体的功能模块的设计与实现确有不足之处。这次的项目制作给了我很大的启发和引导,让我充分认识到自己的不足之处,这将成为我的新的起点,为以后迈入新的人生阶段做好充分铺垫。
参考文献[1]ThePHPGroup.PHP手册.ThePHPGroup[EB/OL].(2020-04-22)./manual/zh/preface.php[2]上海顶想信息科技有限公司(TOPThinkInc.).ThinkPHP6.0完全开发手册[EB/OL].(2020-01-13)./manual/thinkphp6_0/1037479[3]wuguiyu.day01:数据库和SQL概述.CSDN(2019-08-14)./wuguiyu/p/11353454.html[4]Jinjiang,EvanYou等.Vue.js教程-介绍[EB/OL].EvanYou(2019-12-14)./v2/guide/[5]EvanYou,HaoqunJiang等.VueCLI指南[EB/OL].EvanYou(2020-04-07)./zh/guide/[6]中国国家标准化管理委员会.计算机软件需求规格说明规范:第4部分:GB/T9385-2008(S/OL).中国国家标准化管理委员会(2008-04-11)./bzgk/gb/newGbInfo?hcno=2790825C43AD0B69E3C38C140BFFCFE6[7]饿了么公司前端团队.element-ui[EB/OL].gitee(2020-04-13)./mirrors/element-ui[8]小白运维之路.运维MariaDB数据库[EB/OL].CSDN(2019-02-21)./weixin_44297303/article/details/87741626[9]MariaDB.WhatistheGoalofMariaDB.[EB/OL].MariaDB,2020./kb/en/what-is-the-goal-of-mariadb/[10].孙莹,许俊华,张毅,etal.WebApplicationofMVCPatternanditsImplementationwithJava%MVC编程模型在Web程序中的应用及Java实现[J].计算机工程与应用,037(17):160-163.[11]李世川等.PHP+MariaDBWeb开发从入门到精通[M].北京:电子工业出版社,2016:170-172[12]倪乐波;戚鹏;遇丽娜;王婧.浅谈PHP在电子商务网站建设中的研究与应用[J].办公自动化,2018年17期:29-31[13]王娅.基于PHP的web应用中的SQL注入及防御措施:[D].长沙:信息记录材料,2019年6期:115-117[14]梁琰等.MySQL数据库在PHP网页中的动态应用研究[J].电脑知识与技术:学术版,2019年第3X期:115-119[15]赵琳娜,倪明,喻卫东.基于异构冗余的拟态数据库模型设计与测试[J].计算机系统应用2019,28(9):251-257[16]GuanhuaWang.ApplicationoflightweightMVC-likestructureinPHP[J].SchoolofComputerScience&Engineering(2007):135-141[17]DBartholomew.MariaDBcookbook[M].PacktPublishingLtd,2014,7-21
致谢这是一份历时四年汇聚千万努力和汗水铸成的答卷,虽然写作的过程是在痛苦与快乐之中进行,但依旧要激流勇进砥砺前行,在这个过程中,我尤其要要感谢我的指导老师对我的指导,吴凡老师虽然已经身兼教学,论文指导与实习指导等任务,在论文开题时便已经对我们进行了方向上的指导,且在之后的完成课题期间,对论文出现问题的把控更是十分精准到位,在每次修改过程中都在我写作过程中起到了重要的作用。
HYPERLINK如何给电脑重做系统给电脑重做系统,自己学学,可少花钱,哈哈[图]
一、准备工作:
如何重装电脑系统
首先,在启动电脑的时候按住DELETE键进入BIOS,选择AdvancedBIOSFeatures选项,按Enter键进入设置程序。选择FirstBootDevice选项,然后按键盘上的PageUp或PageDown键将该项设置为CD-ROM,这样就可以把系统改为光盘启动。
其次,退回到主菜单,保存BIOS设置。(保存方法是按下F10,然后再按Y键即可)
1.准备好WindowsXPProfessional简体中文版安装光盘,并检查光驱是否支持自启动。
2.可能的情况下,在运行安装程序前用磁盘扫描程序扫描所有硬盘检查硬盘错误并进行修复,否则安装程序运行时如检查到有硬盘错误即会很麻烦。
3.用纸张记录安装文件的产品密匙(安装序列号)。
4.可能的情况下,用驱动程序备份工具(如:驱动精灵2004V1.9Beta.exe)将原WindowsXP下的所有驱动程序备份到硬盘上(如∶F:Drive)。最好能记下主板、网卡、显卡等主要硬件的型号及生产厂家,预先下载驱动程序备用。
5.如果你想在安装过程中格式化C盘或D盘(建议安装过程中格式化C盘),请备份C盘或D盘有用的数据。
二、用光盘启动系统:
(如果你已经知道方法请转到下一步),重新启动系统并把光驱设为第一启动盘,保存设置并重启。将XP安装光盘放入光驱,重新启动电脑。刚启动时,当出现如下图所示时快速按下回车键,否则不能启动XP系统光盘安装。如果你不知道具体做法请参考与这相同的-->如何进入纯DOS系统:
光盘自启动后,如无意外即可见到安装界面,将出现如下图1所示
查看原图
全中文提示,“要现在安装WindowsXP,请按ENTER”,按回车键后,出现如下图2所示
查看原图
许可协议,这里没有选择的余地,按“F8”后如下图3
HYPERLINK
查看原图
这里用“向下或向上”方向键选择安装系统所用的分区,如果你已格式化C盘请选择C分区,选择好分区后按“Enter”键回车,出现下图4所示
查看原图
这里对所选分区可以进行格式化,从而转换文件系统格,或保存现有文件系统,有多种选择的余地,但要注意的是NTFS格式可节约磁盘空间提高安全性和减小磁盘碎片但同时存在很多问题MacOS和98/Me下看不到NTFS格式的分区,在这里选“用FAT文件系统格式化磁盘分区(快),按“Enter”键回车,出现下图5所示
查看原图
格式化C盘的警告,按F键将准备格式化c盘,出现下图6所示
HYPERLINK
查看原图
由于所选分区C的空间大于2048M(即2G),FAT文件系统不支持大于2048M的磁盘分区,所以安装程序会用FAT32文件系统格式对C盘进行格式化,按“Enter”键回车,出现下图7所示
查看原图图7中正在格式化C分区;只有用光盘启动或安装启动软盘启动XP安装程序,才能在安装过程中提供格式化分区选项;如果用MS-DOS启动盘启动进入DOS下,运行i386\winnt进行安装XP时,安装XP时没有格式化分区选项。格式化C分区完成后,出现下图8所示
被过滤广告
查看原图
图8中开始复制文件,文件复制完后,安装程序开始初始化Windows配置。然后系统将会自动在15秒后重新启动。重新启动后,出现下图9所示
HYPERLINK
查看原图
9
查看原图
过5分钟后,当提示还需33分钟时将出现如下图10
HYPERLI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅游业旅游目的地品牌建设与推广手册
- 智慧教育平台功能完善与安全保障解决方案
- 招贤初中灭火和应急疏散预案演练制度
- 电商运营诊断与优化方案
- 现场材料堆放养护管理制度
- 炎性肌纤维母细胞瘤诊断与治疗专家共识课件
- 建筑幕墙隐蔽工程验收实施细则
- 地下室钢筋绑扎节点技术交底方案
- 健康环保行为促进承诺书8篇
- 白血病化疗后口腔护理常规
- 血液透析心跳骤停应急预案
- 【MOOC】航空燃气涡轮发动机结构设计-北京航空航天大学 中国大学慕课MOOC答案
- 便利店内部布局及设备投资方案
- 护理一病一品汇报
- 国家职业技术技能标准 6-31-07-02 工业视觉系统运维员 人社厅发202345号
- 医院保洁服务招投标书范本
- DB4416-T 20-2023 蓝莓种植技术规程
- 全新版大学进阶英语第二册-Unit-4-Study-Abroad
- 建筑垃圾减量化专项方案
- 咽部肿瘤-课件
- 福建省危险性较大的分部分项工程安全管理标准
评论
0/150
提交评论