




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
廣東東軟學(xué)院本科畢業(yè)設(shè)計(論文)摘要當(dāng)今世界已經(jīng)進(jìn)入“信息時代”,擁有龐大數(shù)量、不同種類的終端用戶的互聯(lián)網(wǎng)逐漸在不同領(lǐng)域內(nèi)滲透,人們對信息化程度的要求也越來越高。在網(wǎng)上購物模式已經(jīng)日漸成熟的前提下,極大地刺激了許多人的消費欲望,這一定程度上也刺激了經(jīng)濟(jì)增長。但當(dāng)部分消費者的“購買熱”消退下來后,會有一部分本身并不符合購買預(yù)想的商品出現(xiàn)了閑置狀態(tài),成為消費者們的經(jīng)濟(jì)負(fù)擔(dān)之一。本文主要介紹了基于thinkPHP框架后端的開發(fā)背景以及研究現(xiàn)狀,主要描述了二手市場在以線上模式運營時解決的各方痛點,本文也對二手交易網(wǎng)站的設(shè)計與開發(fā)過程進(jìn)行展開論述,以互聯(lián)網(wǎng)中流行且已成熟的網(wǎng)站模式構(gòu)建一個線上二手交易平臺,并主要有網(wǎng)站管理員與二手交易用戶兩種身份設(shè)計,并以實際情況考慮,本文描述了進(jìn)行前后端分離的開發(fā)模式時各個開發(fā)過程所需的技術(shù),研究網(wǎng)站系統(tǒng)均使用開源免費的各項技術(shù),使其無需為商用授權(quán)額外付出任何費用。網(wǎng)站主要由后端服務(wù)、數(shù)據(jù)庫與前端三部分組成,以前后端分離的方式進(jìn)行開發(fā)。后端服務(wù)基于thinkPHP框架,可讓開發(fā)者關(guān)注于業(yè)務(wù)實現(xiàn),除了處理主要的業(yè)務(wù)邏輯外,也完成與前端、數(shù)據(jù)庫對接的交互與處理任務(wù)。數(shù)據(jù)庫采用MariaDB系統(tǒng),其擁有強大的數(shù)據(jù)操縱與控制能力,可存儲多種類型的數(shù)據(jù),前端基于Vue.js框架,主要負(fù)責(zé)用戶界面與交互邏輯功能,是進(jìn)行二手交易的用戶與管理者的使用入口。本文以該網(wǎng)站項目為一項軟件工程項目,融合了軟件需求規(guī)范,軟件接口設(shè)計文檔等方式分析了網(wǎng)站的功能需求,隨后主要展開描述系統(tǒng)各個后端部分模塊的設(shè)計,在完成設(shè)計后描述了具體實現(xiàn)過程,在對完成的項目進(jìn)行使用測試,基本滿足了管理員與交易用戶對于二手交易的需求預(yù)期。關(guān)鍵詞:ThinkPHPPHPMVC二手交易網(wǎng)站前后端分離
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開發(fā)背景及意義現(xiàn)如今人們的消費水平逐步提高,互聯(lián)網(wǎng)也早已普及全球。自從國內(nèi)B2C電商的迅猛發(fā)展,興起了一批面向消費者的網(wǎng)上購物交易平臺,如淘寶,亞馬遜,當(dāng)當(dāng),京東等。而在全民步入網(wǎng)購熱潮之時,一部分商品或因難以跟隨人員流動、因其不符合個人預(yù)想而又無法退貨成為閑置物品,或因急需資金亟待出售部分個人物品而四處為尋求買主。國內(nèi)以往的二手交易多發(fā)生于線下,如在某些小區(qū)內(nèi)會有二手買賣店,他們大多只處理家電,家具等不變長距離運輸和移動的大件物品,無法覆蓋諸如電子產(chǎn)品以及其他小物件等種類的交易,還有一種以流動形式回收廢舊物品的經(jīng)營模式,通過先行買入而后經(jīng)過處理流入回收行業(yè),而他們的經(jīng)營性質(zhì)決定了不考慮保持閑置物品形態(tài)下的重復(fù)利用,給賣主的報價通常十分低廉。將線上購物模式應(yīng)用于二手交易上,能夠打通有買賣需求客戶的溝通渠道,極大地降低了原本線下交易模式以及多種交易方式帶來的時間損耗和人力成本,豐富了作為交易物的種類,無需通過多個途徑公開閑置消息即可完成交易等傳統(tǒng)二手交易的許多痛點。以二手交易網(wǎng)站作為交易平臺,買家可以如同在線上購物網(wǎng)站上獲得二手閑置物品在線購物的體驗,檢索需要的閑置物品信息并查看詳請,而賣家則可以為平臺提供二手閑置物品信息,從平臺尋找買家。在買賣雙方達(dá)成一致時,可通過線下溝通,線上確認(rèn)運輸方式等完成交易。平臺同時支持搜索功能與按類型篩選等檢索方式,方便用戶查找對應(yīng)閑置物或商品類型。平臺管理員可以對二手商品進(jìn)行實時后臺管理商品。同時作為一款購物平臺產(chǎn)品,輕便、簡潔的交互將會為用戶提供良好的購物體驗。1.2論文架構(gòu)論文的正文部分從第二章開始,將具體描述以下幾個內(nèi)容:二手交易網(wǎng)站的開發(fā)過程所需要用到的開發(fā)語言的背景、重要特性以及主要應(yīng)用;ThinkPHP與其他流行后端框架的功能異同對比;Vue框架所提供的生態(tài)介紹,最后該章節(jié)描述了網(wǎng)站開發(fā)的運行環(huán)境,從軟件層面解釋了如何在Windows操作系統(tǒng)下配置一個可供開發(fā)人員編程的環(huán)境。第三章展開了對網(wǎng)站整體的需求分析,分為功能需求、性能需求、數(shù)據(jù)需求三個板塊敘述二手交易網(wǎng)站的需求,通過本章了解網(wǎng)站所需要的各部分信息以及如何完成具體交互操作,在功能需求部分從商城用戶,管理者兩種使用者身份角度考慮了網(wǎng)站所需功能并進(jìn)行了歸納,性能需求主要從時間特性、用戶容納數(shù)量等方面描述了網(wǎng)站在正式運行時應(yīng)當(dāng)達(dá)到的要求,為之后的測試成果驗收提供了數(shù)據(jù)。數(shù)據(jù)需求小節(jié)則需要可持續(xù)化存儲需求的數(shù)據(jù)出發(fā),描述了數(shù)據(jù)格式以及其數(shù)據(jù)在運行過程中的對應(yīng)關(guān)系。第四章描述網(wǎng)站的設(shè)計與實現(xiàn),本章先從網(wǎng)站整體結(jié)構(gòu)的設(shè)計入手,描述了二手交易網(wǎng)站應(yīng)當(dāng)采用的開發(fā)模式以及對應(yīng)模塊的邏輯作用,后對功能模塊根據(jù)需求梳理劃分,簡要描述了前后端對應(yīng)的功能設(shè)計與接口設(shè)計,最后章節(jié)增補了網(wǎng)站局部的詳細(xì)設(shè)計與實現(xiàn)。第五章描述了如何對網(wǎng)站進(jìn)行功能測試及展示了網(wǎng)站的實際運行效果,最后對測試結(jié)果進(jìn)行分析。第六章總結(jié)了二手交易網(wǎng)站的開發(fā)過程中遇到的問題與收獲。本論文將主要從后端出發(fā),展開描述了thinkPHP作為一款優(yōu)秀框架在開發(fā)二手交易平臺時起到的作用。
網(wǎng)站開發(fā)技術(shù)分析在進(jìn)行對二手交易網(wǎng)站進(jìn)行研究前,首先需要進(jìn)行網(wǎng)站開發(fā)的學(xué)習(xí)。網(wǎng)站開發(fā)所需要用到的技術(shù)主要包括兩大部分的內(nèi)容:開發(fā)語言與開發(fā)框架。開發(fā)語言主要用于開發(fā)者在為實現(xiàn)其服務(wù)的具體功能時完成的編程工作,而框架主要由其他開發(fā)者為了使程序開發(fā)能更專注與業(yè)務(wù)而生;而以其主要服務(wù)內(nèi)容與提供服務(wù)的環(huán)境的不同又可分為前端和后端,前端主要負(fù)責(zé)用戶界面與交互邏輯,后端主要負(fù)責(zé)處理業(yè)務(wù)數(shù)據(jù)。為了保證不同環(huán)境下兩者能夠?qū)崿F(xiàn)數(shù)據(jù)交互,還需要了解實現(xiàn)兩者數(shù)據(jù)交互的規(guī)范語言。下文將對開發(fā)二手交易網(wǎng)站所需要的技術(shù)進(jìn)行詳細(xì)介紹。2.1網(wǎng)站開發(fā)語言介紹2.1.1后端應(yīng)用開發(fā)語言(1)PHP中文全稱“超文本預(yù)處理器”,是一種通用開源腳本語言,一般在后端執(zhí)行,是常用的網(wǎng)站編程語言。PHP獨特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法[1]。使用廣泛,具有成本低、速度快、可移植性好、內(nèi)置豐富的函數(shù)庫等優(yōu)點,學(xué)習(xí)成本低,主要適用于Web開發(fā)領(lǐng)域。(2)SQL中文全稱“結(jié)構(gòu)化查詢語言”,是一種特殊目的的編程語言,是一種數(shù)據(jù)庫查詢和程序設(shè)計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng),是與數(shù)據(jù)庫進(jìn)行交互的主要方式,一般由后端服務(wù)進(jìn)行訪問。2.1.2前端應(yīng)用開發(fā)語言(1)HTML中文全稱超文本標(biāo)記語言,主要使用標(biāo)記標(biāo)簽描述網(wǎng)頁結(jié)構(gòu),是Web上的通用標(biāo)記語言。通常由該語言組成的文檔叫做網(wǎng)頁,目前較為流行的標(biāo)準(zhǔn)為HTML5,在2008年由W3C制定標(biāo)準(zhǔn)。(2)CSS是一種將樣式應(yīng)用到對應(yīng)標(biāo)記的語言,中文譯名為層疊樣式表。主要用于標(biāo)注并修改HTML頁面的樣式,當(dāng)前也被其他框架用于對部分客戶端的頁面進(jìn)行布局。CSS的出現(xiàn)曾使得網(wǎng)頁設(shè)計領(lǐng)域得到了較大的發(fā)展,提升了用戶瀏覽網(wǎng)頁的體驗。當(dāng)前該語言最為流行的標(biāo)準(zhǔn)由W3C聯(lián)盟指定,最新版本在2010年推出,目前最新統(tǒng)一版本為CSS3.0,而后其規(guī)范被分拆為眾多模塊單獨升級。(3)JavaScript最早由網(wǎng)景公司創(chuàng)造的一門程序腳本語言,主要由該語言最初主要用于對網(wǎng)站的行為進(jìn)行編程,經(jīng)過發(fā)展后不局限于網(wǎng)頁而出現(xiàn)在各客戶端與服務(wù)端。現(xiàn)已經(jīng)出現(xiàn)不同環(huán)境下的運行時,支撐著該語言環(huán)境并努力使其成為常態(tài)。早在1997年網(wǎng)景公司便將其語言技術(shù)草案交由ECMA組織,而后由TC39對該腳本語言標(biāo)準(zhǔn)進(jìn)行規(guī)范,制定了ECMA-262標(biāo)準(zhǔn),而后以ECMAScript?這一腳本語言名稱成為JS的核心語言標(biāo)準(zhǔn)。當(dāng)前ECMA-262最新標(biāo)準(zhǔn)為ECMAScript?2019,是該語言的第十版,在本篇主要展開ECMAScript5的技術(shù)特性。2.1.3數(shù)據(jù)交流語言(1)JSON是一種輕量級的數(shù)據(jù)交換格式,其格式易于人的閱讀和編寫,同時還考慮到了機器解析與生成,是ECMA-262標(biāo)準(zhǔn)下的一個子集,現(xiàn)常用于前后端分離開發(fā)模式、后端接口等Web服務(wù)的數(shù)據(jù)交互上。2.2ThinkPHP框架介紹以及其他流行框架的對比ThinkPHP框架是2006年誕生、國內(nèi)較為流行的免費開源輕量級php框架,當(dāng)前擁有良好的中文交流環(huán)境與眾多優(yōu)秀實踐。使用php框架能夠比原生php開發(fā)更快速高效地完成系統(tǒng)模塊的開發(fā),框架提供了完整且功能強大的增、刪、查、改的操作[2]。thinkPHP框架具有面向?qū)ο蟮奶匦?,可由此設(shè)計出一個低耦合的系統(tǒng)而使系統(tǒng)顯得輕便靈活,同時通過框架以MVC模式將程序腳本分為模型、視圖、控制三層,進(jìn)一步提高了程序腳本的可重用性,降低程序編寫的冗余度。同時,框架有嚴(yán)謹(jǐn)?shù)腻e誤檢測和安全機制,詳細(xì)的日志信息可以為開發(fā)的網(wǎng)站提供一定的安全保障。截止至2020年1月,thinkPHP框架已更新迭代至6.0.2版本,該框架首先在部署時便采用Composer進(jìn)行部署更新,相較于以往從Git等倉庫自行進(jìn)行下載搬運,減少了人工校驗各項文件的步驟,通過簡單的幾行命令便可完成thinkPHP后端的部署,降低了開發(fā)者在環(huán)境部署環(huán)節(jié)上的時間成本,直接上手開發(fā)。其競品Laravel框架同樣作為一款國內(nèi)外熱門開源php框架,由國外開發(fā)者共同完成開發(fā),但其官方文檔均為英語,實現(xiàn)的Web軟件的MVC架構(gòu),并作為CodeIgniter的替代方案。Laravel在其5.0版本后引入了Facades(門面)概念,旨在通過靜態(tài)接口完成對服務(wù)容器的各種調(diào)用操作,可以看做是服務(wù)容器中底層類的「靜態(tài)代理」,而thinkphp6.0同樣引入了該概念??梢哉f,thinkPHP作為一款后端框架,對后端部分功能進(jìn)行了相當(dāng)程度的完善,而對于前端所需的開發(fā)則盡量克制,如在部署基本框架時,thinkphp對于頁面視圖上僅支持最基礎(chǔ)的php原生模板,并沒有整合諸如webpack等使用前端流行語言框架,能夠讓開發(fā)者在只掌握基礎(chǔ)的前端知識基礎(chǔ)上完成絕大部分的后端開發(fā)。相對于Laravel框架,他更好地支持了開發(fā)者使用前后端分離的開發(fā)模式,讓后端開發(fā)者在完成后端系統(tǒng)開發(fā)時能盡量減少完成前端開發(fā)的任務(wù),對于前端開發(fā)者則同樣適用。現(xiàn)如今國內(nèi)各大公司均有前后端分離開發(fā)的實際案例,毫無疑問thinkPHP迎合了國內(nèi)互聯(lián)網(wǎng)企業(yè)的發(fā)展,能夠在國內(nèi)互聯(lián)網(wǎng)生態(tài)內(nèi)茁壯成長。2.3數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)是一種操縱和管理數(shù)據(jù)庫的大型軟件,用于建立、使用和維護(hù)數(shù)據(jù)庫,簡稱DBMS[3]。數(shù)據(jù)庫管理系統(tǒng)是一個能夠提供數(shù)據(jù)錄入、修改、查詢的數(shù)據(jù)操作軟件,具有數(shù)據(jù)定義、數(shù)據(jù)操作、數(shù)據(jù)存儲與管理、數(shù)據(jù)維護(hù)、通信等功能,且能夠允許多用戶使用。當(dāng)前較為流行數(shù)據(jù)庫管理系統(tǒng)有Oracle、MySQL、MicrosoftSQLServer、MongoDB、MariaDB等。本文主要以關(guān)系型數(shù)據(jù)管理系統(tǒng)MariaDB為研究工具,其以行和列的形式存儲數(shù)據(jù),以便于用戶理解,由行和列組成一張表,一組表組成了數(shù)據(jù)庫。在對數(shù)據(jù)進(jìn)行查詢、更新、刪除與新增等方面,關(guān)系型數(shù)據(jù)庫有較為優(yōu)異的性能。是目前世界上最流行的開源關(guān)系型數(shù)據(jù)庫服務(wù)之一,由原MySQL開發(fā)者牽頭開發(fā)而成,保證持續(xù)開源。其功能特性與MySQL較為相似,能夠以多引擎的方式運行,大部分功能無需進(jìn)行額外學(xué)習(xí)便可通用。2.4前端相關(guān)框架2.4.1Vue.js框架介紹Vue.js是一款漸進(jìn)式的Javascript框架,主要用于構(gòu)建用戶界面,即網(wǎng)頁前端,與其它大型框架不同的是,Vue被設(shè)計為可以自底向上逐層應(yīng)用,可作為前后端分離的前端服務(wù),能夠更專注于業(yè)務(wù)邏輯處理。通過結(jié)合vue-cli系統(tǒng)能夠在其基礎(chǔ)上快速擴(kuò)展相應(yīng)插件對業(yè)務(wù)進(jìn)行快速開發(fā)[4]。2.4.2Vue-CLI系統(tǒng)介紹Vue-cli是一個基于Vue.js進(jìn)行快速開發(fā)的完整系統(tǒng)。該系統(tǒng)主要由三個組件組成:CLI,作為全局安裝的npm包,能夠使用命令行窗口構(gòu)建一個新的vue-cli項目;CLI服務(wù),基于
webpack
和
webpack-dev-server
構(gòu)建;包含加載其它CLI插件的核心服務(wù),一個針對絕大部分應(yīng)用優(yōu)化過的內(nèi)部的webpack配置,項目內(nèi)部的
vue-cli-service
命令[5]。因此該系統(tǒng)具備熱更新功能,根據(jù)命令行窗口運行服務(wù)后能夠?qū)崟r更新頁面。2.5網(wǎng)站開發(fā)運行環(huán)境2.5.1php運行時作為支撐使用php語言的各種工具或平臺使用,并支持解析php語言相關(guān)文檔等。2.5.2Composer為PHP語言環(huán)境下的軟件配置包管理器,可通過命令行為php服務(wù)配置多個模塊而不需要手動下載。本文中的部分具體實現(xiàn),Composer作為thinkphp部署的前置環(huán)境。2.5.3thinkphp-framework為開發(fā)者專注于代碼開發(fā)而出現(xiàn)的Composer開發(fā)包。包含thinkphp6.0基礎(chǔ)框架,可用于開發(fā)調(diào)試thinkphp框架的后端服務(wù),編譯thinkphp服務(wù),并部署到生產(chǎn)環(huán)境中。2.5.4Node.js為JS語言編寫的服務(wù)的運行環(huán)境,軟件配置包管理器,解決環(huán)境依賴復(fù)雜問題??赏ㄟ^命令行給需要js語言支持的眾多模塊vue-cli等前端框架配置的前置運行環(huán)境。2.5.5vue-cli腳手架作為一個配套工具,能夠以npm方式部署各種與vue配合的模塊,不需要開發(fā)者手動配置整合配置各個模塊,開箱即用,加快集成速度,方便前端開發(fā)者更專注地去關(guān)注前端開發(fā)。
第三章需求分析需求分析說明是對在具體環(huán)境中執(zhí)行確定功能的特定軟件產(chǎn)品、程序或一組程序的規(guī)格說明,在網(wǎng)頁開發(fā)中起到重要的指導(dǎo)與約束的作用,一般由開發(fā)者、用戶或雙方的一個或多個編寫,主要體現(xiàn)了軟件項目的功能、外部接口、性能、屬性以及影響產(chǎn)品實現(xiàn)的設(shè)計約束[6]。3.1功能需求本部分主要描述了網(wǎng)站開發(fā)所需完成的功能。以使用者的視角詳細(xì)分析了網(wǎng)站的各系統(tǒng)功能模塊。其中包括用戶鑒別系統(tǒng)、閑置物品檢索分類系統(tǒng)、閑置物品管理系統(tǒng)、網(wǎng)絡(luò)安全與管理系統(tǒng)和體驗改善以及其他優(yōu)化。3.1.1用戶鑒別系統(tǒng)可區(qū)分游客,商城用戶和商城管理員,根據(jù)身份分配不同的權(quán)限和職能。在訪問者未完成注冊時,不能向網(wǎng)站提交交易訂單,不能以匿名身份發(fā)布二手物品,而在完成注冊后,用戶可以正常的完成上述功能,但用戶只能關(guān)注得到已發(fā)布的公告,商品及其評論,較為隱私的個人信息則無法獲取,保證網(wǎng)站的正常運營和數(shù)據(jù)安全。以下為該系統(tǒng)下的子模塊:用戶登錄:用于給未進(jìn)行識別的用戶提供認(rèn)證功能。用戶注冊:用于將初次訪問網(wǎng)站的游客提升權(quán)限至商城用戶的功能。個人中心:用于記錄用戶的使用信息,方便網(wǎng)站為其做用戶區(qū)分,進(jìn)行個性化推薦。在生成訂單時提供相應(yīng)數(shù)據(jù)給賣方作為確認(rèn)交易主體的證明。3.1.2閑置物品檢索分類系統(tǒng)用于用戶對網(wǎng)站內(nèi)閑置物的篩選,找到符合預(yù)期的內(nèi)容的檢索系統(tǒng),主要包含以下子模塊:商品模糊檢索:用于用戶檢索指定商品,是滿足交易的基本需求。商品按分類檢索:用于給買方在指定分類下瀏覽各商品的信息,提升買方的用戶體驗,增加二手商品的商品曝光度。購物車:用于列出用戶一段時間內(nèi)所需商品的表格清單,提升買方的用戶體驗。商品收藏:用于將用戶喜好但暫時不進(jìn)行購買的物品進(jìn)行歸納整理,提升用戶進(jìn)行二手購物的體驗。具有買家角色的均可使用。歷史記錄:用于展示用戶最近一段時間瀏覽的商品,方便用戶對已看過的商品進(jìn)行回溯。分類管理:用于網(wǎng)站管理員進(jìn)行分類歸納整理的功能,根據(jù)不同需求增加或刪除對應(yīng)分類,開發(fā)此項功能能夠?qū)崟r地根據(jù)市場的不同需要將閑置物品進(jìn)行分類,適應(yīng)市場的發(fā)展。3.1.3閑置物品管理系統(tǒng)主要用于展示商品,以及管理商品的功能,此系統(tǒng)主要由賣家參與,以下為該系統(tǒng)子模塊:商品管理:提供給賣家動態(tài)發(fā)布或下架具體商品的功能,一般通過填寫預(yù)定表單和寫一篇包含圖文的富文本完成表述。商品展示:對賣家提供具體物品的信息進(jìn)行展示,以供買家在購買前了解到物品的重要信息,是購買前對商品信息獲取的主要渠道。一般包含物品名,預(yù)定價格,以及對其性能或形狀,功能上的描述。交易訂單管理:主要用于展示交易憑證給達(dá)成交易的雙方,在達(dá)成一樁交易時通常會為買賣雙方生成一個訂單,對于買家可獲取到已確認(rèn)購買的物品信息以及賣家的聯(lián)系方式等,在收取到閑置物前作為購買憑證,對于收取到閑置物后可作為售后憑證,而對于賣家而言,遞送商品前可通過訂單確認(rèn)買家身份及具體位置,而在遞送物品后可作為統(tǒng)計自己的銷售情況的流水。3.1.4網(wǎng)絡(luò)安全與管理系統(tǒng)一般用于應(yīng)對部分不良操作,除一部分功能可通過預(yù)定設(shè)置實現(xiàn)自動管理外,人工方式一般只能由網(wǎng)站管理員完成。以下是該系統(tǒng)的子模塊:商品審核管理:用于對用戶發(fā)布的二手交易物品進(jìn)行審核的流程,且根據(jù)安全與體驗的情況不同可以動態(tài)開放或關(guān)閉人工審核。主要以改變分類或具體商品的審核狀態(tài)進(jìn)行管理。用戶記錄查詢:用于審查用戶在平臺上的使用情況,以向管理員判斷其違規(guī)或違法提供一定依據(jù),可提供數(shù)據(jù)導(dǎo)出功能,以輔助公安機關(guān)等國家安全系統(tǒng)人員進(jìn)行介入調(diào)查。用戶審核管理:用于防止不法份子對商城的注冊攻擊,可對商城的新用戶注冊功能狀態(tài)進(jìn)行動態(tài)更改,以及防止其他惡意提交商品或不法信息時封禁或凍結(jié)已注冊賬戶的功能。平臺運行管理:用于及時維護(hù)網(wǎng)站而可動態(tài)關(guān)閉對外開放的功能,可關(guān)閉平臺對外展示信息的功能。此功能一般只允許網(wǎng)站管理員進(jìn)行操作。3.1.5體驗改善以及其他優(yōu)化評論管理:主要用于為買家在對商品有疑問的情況下在達(dá)成交易前通過平臺向賣家具體商品進(jìn)行評論的功能,賣家在該流程下應(yīng)當(dāng)對有意義的評論進(jìn)行信息補充。其內(nèi)容一般可被他人看到,作為商品描述的一部分。熱門推薦:用于向用戶動態(tài)推薦當(dāng)前時段下被購買次數(shù)較多的小分類下的商品,通常放置在主頁或具體商品的下方,可作為喜好推薦的冷啟動,起到顯眼而不搶占主體的目的。喜好推薦:根據(jù)眾多用戶在瀏覽,收藏夾,下單,評論等操作完成下的數(shù)據(jù)推測個別用戶喜好的商品。例如,一名用戶在瀏覽過“耳機”商品并發(fā)表評論,之后下單了“某品牌單反相機”后,喜好推薦應(yīng)當(dāng)出現(xiàn)其他同類用戶同樣搜索過的耳機的周邊配件產(chǎn)品或零售消費級級電子產(chǎn)品。商城推薦系統(tǒng):出于對商城利益角度考慮的功能,可動態(tài)置頂部分商品以達(dá)到獲取更多曝光度的目的。3.2性能需求本部分主要描述了網(wǎng)站實際運行中所需達(dá)到的性能。其中包括時間特性要求、同時在線用戶和網(wǎng)絡(luò)性能。3.2.1時間特性要求對網(wǎng)站成品的時間約束:網(wǎng)站首頁加載完畢應(yīng)當(dāng)控制在7s內(nèi),登錄速度應(yīng)當(dāng)在15s內(nèi),搜索結(jié)果應(yīng)當(dāng)控制在20s內(nèi)加載完畢,其他頁面應(yīng)當(dāng)控制在10s內(nèi)完成。3.2.2同時在線用戶對于本次網(wǎng)站開發(fā),實際情況為同時將數(shù)據(jù)庫,前端服務(wù)器與后端服務(wù)器同時部署在同一主機上,訪問主要受存儲設(shè)備的讀寫性能、帶寬延遲及速率影響,故以小型網(wǎng)站應(yīng)用約束,不受網(wǎng)絡(luò)條件影響下,網(wǎng)站應(yīng)可承受至少20名以上用戶同時訪問。3.2.3網(wǎng)絡(luò)性能根據(jù)運行環(huán)境的實際情況,網(wǎng)站應(yīng)當(dāng)部署于可供互聯(lián)網(wǎng)用戶使用,且需保證具有一定上下行帶寬速率用于傳輸用戶提交的富文本、圖片等內(nèi)容。本次項目僅部署于內(nèi)網(wǎng)環(huán)境,受內(nèi)網(wǎng)環(huán)境影響。3.3數(shù)據(jù)需求本部分描述了網(wǎng)站實際運行中主要流程所需要的的必要數(shù)據(jù)以及其流動方向。圖3-1買家購買物品數(shù)據(jù)流程圖如圖3-1所示,買家在完成選定商品后將向系統(tǒng)提交確認(rèn)商品清單的操作,此時系統(tǒng)將讀取各商品的庫存信息進(jìn)行確認(rèn)是否已售罄,在確認(rèn)無誤后系統(tǒng)將自動申請新訂單,生成一份包含商品清單的訂單信息,在賣家收到通知后對訂單進(jìn)行確認(rèn)并根據(jù)提交物流信息等影響訂單狀態(tài)的內(nèi)容更新訂單信息,并將該信息提交至訂單管理系統(tǒng),之后該系統(tǒng)將在訂單更新狀態(tài)后買家。圖3-2權(quán)限鑒定數(shù)據(jù)流程網(wǎng)站的正常運作需要對擁有不同操作權(quán)限的用戶進(jìn)行鑒別,如圖3-2所示,當(dāng)一名管理員進(jìn)行對物品或用戶的權(quán)限進(jìn)行修改時,將會獲取管理員與待修改的實體信息進(jìn)行比對,確認(rèn)待修改的權(quán)限內(nèi)容是否存在以及管理員身份是否屬實,完成確認(rèn)后系統(tǒng)將繼續(xù)執(zhí)行修改實體權(quán)限的操作,根據(jù)已獲取到的實體信息生成新的副本,并對管理員提出修改的部分進(jìn)行更改,在將此信息提交到數(shù)據(jù)庫中。而用戶的每一份操作也將進(jìn)入系統(tǒng)的確認(rèn)身份與鑒別操作權(quán)兩步操作以確認(rèn)其是否具備對應(yīng)操作權(quán)限。
第四章網(wǎng)站設(shè)計與實現(xiàn)本部分主要表述網(wǎng)站實際設(shè)計與實現(xiàn)過程,通過網(wǎng)站的架構(gòu)設(shè)計,功能模塊與接口設(shè)計等描述了網(wǎng)站的基礎(chǔ)框架與開發(fā)思路,以及各個模塊如何相互配合完成系統(tǒng)生態(tài),而在詳細(xì)設(shè)計與實現(xiàn)小節(jié)則具體描述了部分設(shè)計與實現(xiàn)時遇到的技術(shù)問題,以及其解決方案。4.1系統(tǒng)架構(gòu)設(shè)計圖4-1系統(tǒng)整體架構(gòu)實踐作品采用網(wǎng)站的形式展現(xiàn),以前后端分離的模式進(jìn)行開發(fā),如圖4-1所示,該開發(fā)模式存在幾項特點:前端通過Ajax請求作為發(fā)送內(nèi)容,以RESTFul風(fēng)格向服務(wù)端發(fā)送請求;后端在完成關(guān)鍵業(yè)務(wù)邏輯,完成與數(shù)據(jù)庫的存取操作后,采用Json數(shù)據(jù)返回到前端服務(wù),經(jīng)過前端數(shù)據(jù)處理后回顯到頁面上;前后端分離開發(fā)能夠讓開發(fā)者在開發(fā)過程中對開發(fā)目標(biāo)更明確,專注。而作為交易系統(tǒng),網(wǎng)站需要持久化存儲能力,為數(shù)據(jù)提供持久化的有mariaDB數(shù)據(jù)庫以及瀏覽器提供的localStorage服務(wù),分別儲存在服務(wù)端和客戶端上。本章將從前端,數(shù)據(jù)庫與后端三大服務(wù)的架構(gòu)設(shè)計以及主要功能模塊和接口設(shè)計進(jìn)行詳細(xì)描述。4.1.1前端架構(gòu)設(shè)計前端主要以Vue.js為前端框架,結(jié)合其豐富的生態(tài)系統(tǒng)選用了Vue.js的幾項插件以增強其功能。在前端還使用了localStorage服務(wù)以用于保存會話token,使用戶不需要在連續(xù)執(zhí)行操作期間頻繁進(jìn)行登錄操作。圖4-2前端運行依賴如圖4-2所示,前端框架添加了運行依賴以對部分網(wǎng)站特性支持,以下對關(guān)鍵的幾項做出說明:(1)TinymceTinymce是一款富文本編輯器插件,提供了較為完整的網(wǎng)頁客戶端編輯功能,可提供圖片插入以及對文本的各種樣式編輯等功能。(2)AxiosAxios是基于Promise,一種異步處理的解決方案的HTTP請求庫,主要用于網(wǎng)頁與Node.js的請求接管,在本文研究網(wǎng)站中將使用Axios進(jìn)行各個功能模塊的請求管理。(3)Element-UIElement-UI是一套為開發(fā)者、設(shè)計師和產(chǎn)品經(jīng)理準(zhǔn)備的基于Vue2.0的桌面端組件庫[7],在本文研究網(wǎng)站中將其用于管理后臺與部分功能的界面顯示上。(4)scss-loaderscss-loader預(yù)編譯器用于對前端項目中的SCSS語言進(jìn)行編譯,使開發(fā)者無需手動編譯為CSS格式,既提高了易讀性又減少了編寫內(nèi)容(5)eslint規(guī)范代碼樣式標(biāo)準(zhǔn),以更加嚴(yán)格的方式要求代碼格式并審核代碼錯誤,提高前端開發(fā)效率。4.1.2數(shù)據(jù)庫架構(gòu)設(shè)計數(shù)據(jù)庫服務(wù)采用MariaDB數(shù)據(jù)庫管理系統(tǒng)。MariaDB數(shù)據(jù)庫管理系統(tǒng)是MySQL的一個分支,主要由其開源社區(qū)維護(hù)[8]。該社區(qū)成員們致力提供一個社區(qū)開發(fā),穩(wěn)定且始終免費的數(shù)據(jù)庫管理系統(tǒng),并使MariaDB在從使用用戶的角度上MySQL廣泛兼容[9]。該數(shù)據(jù)庫系統(tǒng)類型屬于關(guān)系型,在對數(shù)據(jù)庫進(jìn)行架構(gòu)設(shè)計時則應(yīng)當(dāng)使用E-R圖與各數(shù)據(jù)表描述數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)。E-R圖能夠?qū)F(xiàn)實中的實體信息抽象為實體或其屬性,可供具體設(shè)計時使用的數(shù)據(jù)模型進(jìn)行參考。而數(shù)據(jù)庫中各數(shù)據(jù)表則描述了實際數(shù)據(jù)的存儲數(shù)據(jù)類型以及讀取方式。圖4-2系統(tǒng)E-R圖1以交易網(wǎng)站的買賣雙方用戶視角出發(fā)了解系統(tǒng),賣家在發(fā)布閑置物后,買家可對一個閑置物發(fā)布自己的評論,可在選定閑置物后向指定賣家發(fā)起交易訂單,因交易訂單包含對應(yīng)閑置物的數(shù)量,如圖4-1所示,該圖展示了買家與賣家在發(fā)布與購買時數(shù)據(jù)的邏輯關(guān)系。圖4-3系統(tǒng)E-R圖2以網(wǎng)站管理員為視角,系統(tǒng)提供了管理大小分類、發(fā)布公告、管理買家、管理賣家、審核已發(fā)布的閑置物等功能,如圖4-2所示,主要展示了管理員在發(fā)生管理操作的邏輯關(guān)系。圖4-4系統(tǒng)E-R圖3以買家瀏覽商品時為情況對數(shù)據(jù)邏輯關(guān)系進(jìn)行分析,如圖4-3所示,閑置物可被買家主動進(jìn)行加入購物車、收藏等操作,且在瀏覽后會被記錄到買家的歷史記錄中,而由于閑置物與小分類存在1對n的邏輯關(guān)系,買家可根據(jù)小分類檢索到對應(yīng)閑置物。使用字段表可以描述網(wǎng)站所需使用的各個概念集合中所有的屬性,同時對描述網(wǎng)站各概念集合的數(shù)據(jù)結(jié)構(gòu)與類型進(jìn)行了進(jìn)一步的解釋與說明。在對各表進(jìn)行描述前,本文將對所有表存在的通用情況進(jìn)行如下說明:表中若出現(xiàn)id字段,一般作為該項表對應(yīng)實體的主鍵,是對單一實體的唯一標(biāo)識;表中若出現(xiàn)create_time創(chuàng)建時間字段,為該表對應(yīng)實體記錄于交易網(wǎng)站系統(tǒng)的初始時間,一般與update_time更新時間字段成對出現(xiàn)。用戶,管理員一般對該項字段不可直接更改,當(dāng)且僅當(dāng)管理員對一項數(shù)據(jù)刪除時才可從對應(yīng)記錄中抹除。表中若出現(xiàn)update_time更新時間字段,為該表對應(yīng)實體記錄于交易網(wǎng)站系統(tǒng)的更新時間,一般與create_time創(chuàng)建時間字段成對出現(xiàn)。用戶,管理員一般對該項字段不可直接更改,當(dāng)且僅當(dāng)用戶或管理員有權(quán)對該項數(shù)據(jù)進(jìn)行更改并實際完成該項操作后才可對更新時間字段進(jìn)行更改。以下是各個需要持久化存儲數(shù)據(jù)的字段表。表4-1item閑置物品表字段類型空默認(rèn)注釋id
bigint(20)否
主鍵namevarchar(128)否
名稱class_idint(11)否
所屬小分類pricefloat否
價格stockint(10)否
庫存seller_idbigint(20)否
賣家idin_checktinyint(1)否0審核狀態(tài)brieflongtext是NULL簡要信息包含圖片和標(biāo)簽(json)create_timetimestamp否current_timestamp()上架時間update_timetimestamp否current_timestamp()更新時間
表4-1展示了表示閑置物品所需要的數(shù)據(jù),其中名稱、價格、簡要信息字段以較為直觀的形式描述了難以用固定格式表述的閑置物狀態(tài)與屬性,所屬小分類字段用于用戶搜索時進(jìn)行歸類,快速檢索出對應(yīng)小分類的商品時使用。庫存與賣家Id作為生成訂單前的重要數(shù)據(jù),能夠根據(jù)賣家填入的信息限制售出數(shù)量與確認(rèn)交易的賣方身份。審核狀態(tài)則表明了該閑置物目前所處的展示狀態(tài),可由管理員進(jìn)行更改,若不為默認(rèn)值0,即說明該閑置物處于異常狀態(tài),不對外進(jìn)行展出。
表4-2item_classes小分類表字段類型空默認(rèn)注釋id
(主鍵)bigint(20)否
小分類idnamevarchar(64)否
類目名group_idbigint(20)否
從屬于大分類item_typebigint(20)否
從屬商品類型in_checktinyint(1)否0審核狀態(tài)create_timetimestamp是current_timestamp()創(chuàng)建時間update_timetimestamp是current_timestamp()更新時間
表4-2展示了小分類表中的數(shù)據(jù)字段,其中主要包含名稱,從屬大分類以及商品類型以及審核狀態(tài)字段,小分類表對應(yīng)的數(shù)據(jù)實體主要用于按分類進(jìn)行,方便網(wǎng)站用戶找出對應(yīng)閑置物,同時管理員可對小分類進(jìn)行審核狀態(tài)的更改,使其分類下發(fā)布的商品都需要進(jìn)行審核后發(fā)布,提高了網(wǎng)站對于特定商品的控制與審核效率。表4-3item_detail閑置物詳情表字段類型空默認(rèn)注釋id
(主鍵)bigint(20)否
item_idbigint(20)否
閑置物idcontentlongtext是NULL內(nèi)容create_timetimestamp否current_timestamp()創(chuàng)建時間update_timetimestamp否current_timestamp()更新時間
表4-3展示了閑置物詳情表中的數(shù)據(jù)字段,該表主要用于記錄閑置物詳情內(nèi)容,因為在對閑置物進(jìn)行查詢時大部分情況無需獲取詳情內(nèi)容,處于冗余狀態(tài),且該內(nèi)容數(shù)據(jù)量通常較閑置物表的其他數(shù)據(jù)大,因此不與閑置物表融合。
表4-4item_groups大分類表字段類型空默認(rèn)注釋id
(主鍵)bigint(20)否
大分類IDnamevarchar(40)否
類目名in_checktinyint(1)否0內(nèi)容需要審核create_timetimestamp否current_timestamp()創(chuàng)建時間update_timetimestamp否current_timestamp()更新時間
表4-4展示了大分類表中的數(shù)據(jù)字段,該表主要用于首頁以及對小分類的歸納梳理,其中name類目名字段主要用于網(wǎng)站首頁進(jìn)行展示。表4-5item_recommend商品推薦記錄表字段類型空默認(rèn)注釋idbigint(20)否
主鍵item_idbigint(20)否
物品標(biāo)識user_idbigint(20)否
用戶標(biāo)識pointfloat否
登記點數(shù)update_timetimestamp否current_timestamp()創(chuàng)建時間
表4-5為商品推薦記錄表,其中記錄了物品標(biāo)識,用戶標(biāo)識以及登記點數(shù)三項主要信息,該表主要用于商城向用戶進(jìn)行推薦時的參考依據(jù)。
表4-6list_item清單物品表字段類型空默認(rèn)注釋id
(主鍵)int(10)否
user_idbigint(20)否
用戶標(biāo)識item_idbigint(20)否
物品標(biāo)識cart_countint(11)否1購物車數(shù)量item_typetinyint(3)否0物品名稱create_timetimestamp是current_timestamp()創(chuàng)建時間update_timetimestamp是current_timestamp()更新時間
表4-6為清單物品表,該表主要記錄用戶的瀏覽記錄,收藏夾以及購物車的商品內(nèi)容,使用item_type物品名稱字段對所屬不同清單的商品進(jìn)行區(qū)分。但不記錄特定時間段的商品信息,僅以item_id物品標(biāo)識字段作為索引,所以在用戶查詢此項時顯示的閑置品內(nèi)容也將與對應(yīng)表內(nèi)數(shù)據(jù)實時更新。表4-7notice公告表字段類型空默認(rèn)注釋id
(主鍵)int(10)否
brieflongtext否
簡要內(nèi)容(JSON,包含圖片路徑與標(biāo)題)contentlongtext是NULL公告內(nèi)容(RTF)create_datetimestamp否current_timestamp()創(chuàng)建時間update_datetimestamp否current_timestamp()更新時間expdatetime否
截止時間statustinyint(3)否
狀態(tài)adm_idint(10)否
管理員id
表4-7是公告字段表,公告主要包含標(biāo)題,圖片與富文本內(nèi)容三項,而標(biāo)題與公告則以JSON形式存儲在一項brief簡要內(nèi)容字段中。當(dāng)發(fā)布一則公告時,公告內(nèi)容可為空,此時公告無法查看詳情,只在占用一個展示公告標(biāo)題與圖片的位置。
表4-8orders訂單表字段類型空默認(rèn)注釋id
(主鍵)bigint(20)否
csm_idbigint(20)否
發(fā)起方idcsm_addrvarchar(512)是NULL發(fā)起方地址csm_phonevarchar(128)否
發(fā)起方手機total_pricefloat否
總價create_timetimestamp否current_timestamp()生成時間confirm_timetimestamp否current_timestamp()確認(rèn)時間statustinyint(3)否
狀態(tài)exp_code_listlongtext是NULL快遞單號messagevarchar(512)是NULL商家留言
表4-8描述了orders訂單表的各項字段,其中csm_為發(fā)起方的各項數(shù)據(jù)前綴,該項主要用于記錄在訂單生成時買家的各項信息而不受買方用戶信息實際更新的影響,保證了訂單表對于賣家的不可修改的性質(zhì),其中status狀態(tài)字段用于控制訂單流程,表述訂單所處的狀態(tài),其中應(yīng)有待確認(rèn)、已確認(rèn)兩種狀態(tài)。表4-9orders_item商品-訂單表字段類型空默認(rèn)注釋idint(11)否
流水idorder_idbigint(20)否
訂單iditem_idbigint(20)否
物品idseller_idbigint(20)否
賣家iditem_namevarchar(128)否
品名item_brieflongtext是NULL簡述pricefloat否
價格countint(10)否
數(shù)量
表4-9用于表述所有訂單內(nèi)的各商品的字段,其中Item_前綴的各項字段以及price價格字段單獨記錄在表中是為了不受實際閑置物的信息更改影響,保證了商品列表在訂單中的不可修改的性質(zhì)。表4-10remark評論表字段類型空默認(rèn)注釋id
(主鍵)bigint(20)否
item_idbigint(20)否
閑置物品標(biāo)識user_idbigint(20)否
用戶標(biāo)識textvarchar(256)否
內(nèi)容remark_idbigint(20)是NULL回復(fù)評論標(biāo)識(可為空)submit_timetimestamp否current_timestamp()提交時間
表4-10表述了remark表下的各項字段,其中包含item_id閑置物品標(biāo)識,user_id用戶標(biāo)識確認(rèn)評論顯示的位置與格式,text內(nèi)容字段規(guī)定了評論內(nèi)容不超過256字。當(dāng)remark_id不為空時,將與對應(yīng)評論進(jìn)行關(guān)聯(lián)。
表4-11user用戶表字段類型空默認(rèn)注釋id
(主鍵)bigint(20)否
用戶標(biāo)識usergroupint(11)否0所屬用戶組usernamevarchar(64)否
用戶名nicknamevarchar(64)是NULL用戶昵稱passwdvarchar(64)否
密碼emailvarchar(100)是NULL用戶郵箱phonevarchar(128)是NULL聯(lián)系方式_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頭像路徑等字段用于用戶對賬戶進(jìn)行個性化設(shè)置。其中使用usergroup用戶組字段鑒別用戶所擁有的權(quán)限等級,username用戶名字段與passwd密碼字段為用戶登錄時需使用的賬戶名與密碼,通過驗證后用戶將能夠完成系統(tǒng)賦予權(quán)限范圍內(nèi)的各項操作。在依照以上字段對數(shù)據(jù)庫進(jìn)行各項表與字段的創(chuàng)建后,系統(tǒng)便具有了持久化數(shù)據(jù)存儲的能力,后端服務(wù)能夠以不同操作對庫內(nèi)各表各項進(jìn)行訪問與修改。4.1.3后端架構(gòu)設(shè)計后端采用Thinkphp框架進(jìn)行開發(fā),該框架引入了MVC模式,提供了一種將用戶界面設(shè)計、流程控制與事務(wù)邏輯分離的開發(fā)思路,由于已經(jīng)把事務(wù)邏輯模塊與控制模塊進(jìn)行了分離,這樣該模塊的開發(fā)就無需特殊的網(wǎng)絡(luò)編程能力,程序的開發(fā)主要就集中在事務(wù)處理、邏輯判斷等方面[10]。但MVC模式的提出一般用于傳統(tǒng)的應(yīng)用程序,模塊間的數(shù)據(jù)交互方式較為固定,而作為Web應(yīng)用還需要對多個用戶的請求進(jìn)行相應(yīng)并處理,因此引入MVC模式到網(wǎng)頁開發(fā)時需要找到相應(yīng)的技術(shù)方案解決這一問題。根據(jù)thinkphp框架的內(nèi)部模塊劃分,我們將其與對應(yīng)外部接口進(jìn)行拆分重組,對MVC的解釋如下:(1)Model層主要處理與數(shù)據(jù)庫的對接,以及緩存,文件等數(shù)據(jù)的業(yè)務(wù)邏輯(2)View層主要解決輸出到頁面前的數(shù)據(jù)整合,格式轉(zhuǎn)化等問題(3)Controller層主要作為開放供前端使用的接口,并合理調(diào)用對應(yīng)的Model或View層返回數(shù)據(jù)。后端同時也有一部分完成數(shù)據(jù)持久化存儲的能力,主要通過框架提供的網(wǎng)絡(luò)上傳功能存儲于服務(wù)器本地的公開目錄,主要用于存儲圖片。4.2功能模塊與接口設(shè)計本部分在網(wǎng)站項目進(jìn)行程序?qū)崿F(xiàn)階段時系統(tǒng)具體完成的功能特性以及其主要接口的設(shè)計進(jìn)行敘述,主要包含前端的界面結(jié)構(gòu)、功能介紹,以及后端的接口設(shè)計。4.2.1功能模塊設(shè)計前端基于vue-cli腳手架搭建,主要將頁面分為兩個模式:商城用戶模式,面向在平臺上進(jìn)行二手交易的用戶使用,具有良好的界面設(shè)計與邏輯交互;管理員模式,面向平臺運營管理者,根據(jù)市場環(huán)境與監(jiān)管方對平臺的運作進(jìn)行動態(tài)的審核與修改。接下來以角色身份對網(wǎng)站功能進(jìn)行劃分:圖4-3未注冊用戶的功能劃分如圖4-3所示,未注冊用戶擁有網(wǎng)站的最低權(quán)限,以下對未注冊用戶包含的功能進(jìn)行簡要分析:(1)登錄(用戶驗證)為用戶提升權(quán)限至普通用戶或管理員的入口,使用用戶名與密碼進(jìn)行用戶身份驗證后便可根據(jù)已提升權(quán)限的用戶組獲得網(wǎng)站的更多服務(wù)支持。(2)注冊為無賬號的未注冊用戶提供成為網(wǎng)站普通用戶的入口,用戶需要提交一份個人信息與賬號名,密碼等信息并同意平臺使用協(xié)議后,便可以在登錄入口完成身份驗證。(3)瀏覽商城公告用戶可在網(wǎng)站首頁醒目處進(jìn)入商城公示的公告,了解當(dāng)前平臺運行的狀態(tài),正在進(jìn)行的活動等平臺主動對外提供的信息。(4)查看關(guān)于查看關(guān)于二手交易網(wǎng)的運營資質(zhì),人才招募,聯(lián)系方式等平臺對外公布的消息。(5)檢索商品以模糊關(guān)鍵字、按分類兩種方式對平臺內(nèi)商品進(jìn)行搜索,將展示符合用戶預(yù)期的商品列表。(6)查閱商品詳情對已公布閑置物的具體功能、特性等公布信息進(jìn)行查閱,包含價格、圖片、新舊狀態(tài),商品出手前的評論以及商家具體描述。圖4-4普通用戶的功能劃分如圖4-4所示,普通用戶是網(wǎng)站的主要群體,邏輯上繼承未注冊用戶的各個權(quán)限并進(jìn)一步開放新的功能,以下是普通用戶的功能分析:(7)買商品買家在確認(rèn)商品符合預(yù)期后,可向平臺提交購買申請,此時平臺將生成一份訂單,包括帶有價格,名稱以及簡要描述的商品列表,買家的聯(lián)系方式與地址。在賣家通過確認(rèn)后便能通過平臺達(dá)成交易,之后由賣家向買家以物流或自行遞送等方式將閑置物交由買家。(8)修改個人信息對自己的聯(lián)系方式,收貨地址,昵稱,頭像等消息進(jìn)行修改,以供進(jìn)行交易,生成訂單時作為賣家聯(lián)系以及遞送的依據(jù)。(9)完善實名買家對自己的信息進(jìn)行進(jìn)一步完善,成為賣家的入口。買家需要提供給平臺確認(rèn)賣家的具體身份是否屬實等以便落實發(fā)布消息的責(zé)任方,在通過平臺審核后方可成為賣家。在發(fā)生交易外的特殊事件(如發(fā)布不良、虛假、違法信息,侵害了買方權(quán)益等)能夠根據(jù)情況將事件上報給公共安全機關(guān)進(jìn)行調(diào)查。(10)寫留言在商品尚未下架前在商品下方進(jìn)行留言,可以向賣家獲取商品的更多信息而進(jìn)一步了解商品。(11)退出登錄當(dāng)用戶使用環(huán)境不受信任時(如在公共場所的電腦),為保護(hù)用戶個人賬戶安全可在完成必要操作后退出登錄取消認(rèn)證。(12)加入收藏夾用戶暫時無購買預(yù)期但需要進(jìn)行持續(xù)關(guān)注時,可將商品加入收藏夾列表,方便用戶在日后使用快速找回商品。(13)加入購物車用戶為了需要購買平臺上已發(fā)布的復(fù)數(shù)商品時,可將商品加入購物車列表后提交訂單申請,方便用戶簡化完成訂單提交的操作。(14)瀏覽歷史記錄用戶在瀏覽商品時平臺將會記錄其過往瀏覽記錄,將按時間順序向用戶展示近期已瀏覽過的商品列表。(15)發(fā)布商品賣家通過該功能在通過平臺認(rèn)證后根據(jù)商品的具體屬性填寫一份表單,表單內(nèi)容主要包括價格,閑置物標(biāo)題,新舊程度等物品特性。無需審核的商品分類發(fā)布后買家通過商品檢索能夠向賣家提出交易申請。(16)修改商品賣家通過該功能可對自己已發(fā)布商品的信息需要補充或修改,及時更新商品信息,如修改閑置物價格,上傳閑置物圖片等。重新填寫閑置物表單信息并提交后,能夠?qū)⒃撻e置物的信息進(jìn)行更新。(17)刪除閑置物賣家通過該功能可根據(jù)實際情況對自己已發(fā)布的閑置物進(jìn)行下架刪除處理。(18)賣出閑置物賣家通過買家提交閑置物訂單后,完成確認(rèn)步驟后可將閑置物按其對應(yīng)訂單指定方式賣出,賺取收益。(19)查看銷售統(tǒng)計賣家在已賣出閑置物后可通過該功能查看近段時間以來的閑置轉(zhuǎn)手情況,完成對已出售的閑置物品的管理功能。圖4-5管理員的功能劃分如圖4-5所示,管理員具有網(wǎng)站的最高權(quán)限,具有維護(hù)網(wǎng)站正常運作的職能。對其開放的功能將能影響網(wǎng)站的整體運營,以下是對管理員擁有的功能的詳細(xì)分析:(20)公告管理公告指的是管理員為了向網(wǎng)站各用戶傳達(dá)網(wǎng)站近期活動,近期交易情況或網(wǎng)站運營狀態(tài)等信息。通過該功能撰寫一篇公告并發(fā)布后展示在平臺首頁等醒目位置,除此之外還可對已發(fā)布的公告進(jìn)行刪除和修改更新公告信息以確保正確傳達(dá)內(nèi)容。(21)用戶管理管理員在對已忘記密碼的用戶進(jìn)行人工核驗后,可根據(jù)該功能進(jìn)行人工重設(shè)用戶密碼,根據(jù)用戶管理規(guī)范刪除用戶對閑置物的留言,根據(jù)用戶行為開放或關(guān)閉其對應(yīng)的購買,發(fā)布留言和發(fā)布閑置物功能,在發(fā)生特殊情況時也可導(dǎo)出用戶具體的使用記錄進(jìn)一步處理。(22)閑置物及分類管理管理員根據(jù)平臺運營情況可通過該功能對位于首頁等醒目位置閑置物推薦列表進(jìn)行人工干預(yù),將需要置頂?shù)拈e置物加入到推薦列表中。其中還包括“審核閑置物”:可對不符合于要求或明顯違規(guī)的已上架閑置物進(jìn)行人工凍結(jié)并通知賣家進(jìn)行信息修正;“修改訂單狀態(tài)”:在訂單交易期內(nèi)發(fā)正常流程外的情況時,可將訂單狀態(tài)更改為“平臺已介入”狀態(tài),并進(jìn)一步與雙方進(jìn)行溝通;“修改分類列表”:根據(jù)二手市場環(huán)境,可由該功能修改平臺對物品分類的機制;(23)“關(guān)于”信息管理“關(guān)于”信息指的是網(wǎng)站運營方的自我介紹,主要應(yīng)包括運營歷史,運營資質(zhì)以及經(jīng)營理念等,旨在傳達(dá)運營本身的信息,該功能給管理員提供了修改關(guān)于內(nèi)容的入口。(24)友情鏈接管理管理員根據(jù)實際需要,可根據(jù)該功能完成在頁面底部展示平臺的合作伙伴,例如:平臺的網(wǎng)絡(luò)服務(wù)供應(yīng)商。(25)更改網(wǎng)站維護(hù)模式在網(wǎng)站遭遇網(wǎng)絡(luò)攻擊,或需要對內(nèi)部功能進(jìn)行維護(hù)時,在網(wǎng)絡(luò)服務(wù)未中斷的前提下通過該功能可將網(wǎng)站訪問更改為維護(hù)狀態(tài),此時網(wǎng)站無法為其他用戶提供交易,留言,查看閑置物等功能,僅保留管理員的功能。4.2.2接口設(shè)計接口設(shè)計主要關(guān)注于規(guī)范前端發(fā)往后端的數(shù)據(jù)并給出輸出示例,以便前后端能夠進(jìn)行有效的數(shù)據(jù)交互,本文將以網(wǎng)站系統(tǒng)中的用戶模塊為例介紹對前端傳輸方式的接口規(guī)范。在對用戶模塊進(jìn)行詳細(xì)前,此處將對于一個較為通用的情況進(jìn)行全局說明:除非未在備注中提及“不對HEADER做規(guī)范要求”時,所有請求皆遵守以下默認(rèn)HEADER接口規(guī)范,否則都將返回錯誤,如表4-1所示。表4-1HEADER提交實例HEADER附加參數(shù)Authorization:Bearer[token值](認(rèn)證碼)備注需附加通過服務(wù)端授權(quán)獲取到的token輸出示例/*驗證失敗示例HTTP返回狀態(tài)碼302*/{result:false,reason:'用戶認(rèn)證已失效'}/*驗證成功后將根據(jù)不同請求進(jìn)行相應(yīng)*/
以下是對用戶模塊的接口設(shè)計描述,表中的備注信息表述了該接口的作用。表4-2用戶注冊接口接口名稱注冊賬戶請求地址/user輸入請求方式HTTPSPOST請求格式usrname:String(用戶昵稱,必選)passwd:String(用戶密碼,必選)email:String(電子郵箱地址,當(dāng)手機號碼為空時必選)phone:String(手機號碼,當(dāng)電子郵箱地址為空時必選)備注請求包含一個用戶注冊操作所需的基本信息,若注冊成功則返回成功狀態(tài)碼,失敗則會附帶其錯誤信息。輸出示例/*失敗示例*/{result:false,reason:'密碼不符合規(guī)則',}/*成功示例*/{result:true,reason:'',}
表4-3用戶信息修改接口接口名稱用戶信息修改請求地址/user輸入請求方式HTTPSPUT請求格式passwd:String(用戶密碼,必選)passwd:String(用戶密碼,必選)email:String(電子郵箱地址,當(dāng)手機號碼為空時必選)phone:String(手機號碼,當(dāng)電子郵箱地址為空時必選)備注請求包含一個用戶注冊操作所需的基本信息,若注冊成功則返回成功狀態(tài)碼,失敗則會附帶其錯誤信息。輸出示例/*失敗示例*/{result:false,reason:'密碼不符合規(guī)則',}/*成功示例*/{result:true,reason:'',}
表4-4用戶信息刪除接口接口名稱用戶信息刪除請求地址/user輸入請求方式HTTPSDELETE請求格式passwd:String(用戶密碼,必選)passwd:String(用戶密碼,必選)email:String(電子郵箱地址,當(dāng)手機號碼為空時必選)phone:String(手機號碼,當(dāng)電子郵箱地址為空時必選)備注請求包含一個用戶注冊操作所需的基本信息,若注冊成功則返回成功狀態(tài)碼,失敗則會附帶其錯誤信息。輸出示例/*失敗示例*/{result:false,reason:'密碼不符合規(guī)則',}/*成功示例*/{result:true,reason:'',}
表4-5用戶登錄賬戶接口接口名稱登錄賬戶請求地址/verify輸入請求方式HTTPSPOST請求格式usrname:String(用戶昵稱,必選)passwd:String(用戶密碼,必選)備注請求包含一個用戶登錄操作所需的基本信息,若注冊成功則返回成功狀態(tài)碼以及一串JsonWebToken,失敗則會附帶其錯誤信息。輸出示例/*失敗示例*/{result:false,reason:'用戶名不存在或密碼錯誤',token:''}/*成功示例*/{result:true,reason:'',token:'eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI4ODgiLCJzdWIiOiLlsI_nmb0iLCJpYXQiOjE1NTc5MDUzMDgsImV4cCI6MTU1NzkwNTMwOH0.4q5AaTyBRf8SB9B3Tl-I53PrILGyicJC3fgR3gWbvUI'}4.3詳細(xì)設(shè)計與實現(xiàn)本節(jié)對后端服務(wù)與前端服務(wù)的實現(xiàn)做詳細(xì)描述,同時對主要功能模塊的設(shè)計實現(xiàn)進(jìn)行時遇到的部分技術(shù)問題以及解決方案進(jìn)行展開。由于RESTful設(shè)計風(fēng)格是接近無狀態(tài)的,而作為平臺需要考慮用戶安全與數(shù)據(jù)安全等因素,本文研究的網(wǎng)站將采用thinkphp框架中的JsonWebToken插件以確保用戶操作不被攻擊。4.3.1后端設(shè)計與實現(xiàn)以下對后端主要實現(xiàn)的功能模塊進(jìn)行描述。$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]);
//函數(shù)體結(jié)束//獲取HEADER中驗證字段的數(shù)據(jù)若通過則繼續(xù)操作
try{
Auth::auth();
}
catch(JWTException
$err){
$message
=
$err->getMessage();
throw
new
HttpException(400,$message);
}
以上為驗證模塊中發(fā)放Token的主要代碼,使用了thinkphp插件的JWTAuth模塊,對用戶名進(jìn)行簡單驗證即可生成一份token,之后以json字符串的方式返回交由前端。在前端發(fā)送了需要鑒權(quán)的操作請求后,后端將首先獲取請求的HEADER(表頭)中的驗證字段,通過后則繼續(xù)完成其他操作。
//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預(yù)置的find()函數(shù)返回數(shù)據(jù)實體,之后以json字符串的方式返回Item內(nèi)置函數(shù)附加閑置物詳情數(shù)據(jù)交由前端對數(shù)據(jù)進(jìn)行處理。4.3.2前端設(shè)計與實現(xiàn)以下展示了主要網(wǎng)站的頁面布局設(shè)計。圖4-6首頁頁面布局圖4-7歷史記錄頁面布局圖4-8購物車頁面布局圖4-9個人中心頁面布局
第五章測試與運行在完成了系統(tǒng)的設(shè)計與實現(xiàn)后,還需要對系統(tǒng)進(jìn)行測試,是系統(tǒng)開發(fā)過程中的較為重要的一步。本文研究的網(wǎng)站系統(tǒng)測試主要進(jìn)行對功能的黑盒測試,即不考慮其內(nèi)部邏輯結(jié)構(gòu),僅以使用者角度對系統(tǒng)對外開放的界面進(jìn)行測試,若正常使用即可通過測試,在無法通過測試也可根據(jù)錯誤問題對錯誤進(jìn)行修正,提高系統(tǒng)的穩(wěn)定性。圖5-1個人主頁修改個人信息測試圖5-2注冊功能測試經(jīng)過測試,系統(tǒng)滿足設(shè)計時的初期開發(fā)功能。
結(jié)論本課題是在學(xué)校四年間的學(xué)習(xí)與實現(xiàn)基礎(chǔ)上,通過融合與梳理近期互聯(lián)網(wǎng)發(fā)展成熟的工具產(chǎn)生的成果。在完成課題期間,本人從中學(xué)習(xí)到了在不同語言框架下如何進(jìn)行相互配合,集成為一個網(wǎng)站系統(tǒng)。更重要的是在完成期間也對四年學(xué)習(xí)的理論知識進(jìn)行了梳理與整合,了解了在當(dāng)前互聯(lián)網(wǎng)的環(huán)境下的應(yīng)用開發(fā)可以以一種專注于業(yè)務(wù)邏輯的方式進(jìn)行。而由于自身視野與創(chuàng)作實踐的局限,在對具體的功能模塊的設(shè)計與實現(xiàn)確有不足之處。這次的項目制作給了我很大的啟發(fā)和引導(dǎo),讓我充分認(rèn)識到自己的不足之處,這將成為我的新的起點,為以后邁入新的人生階段做好充分鋪墊。
參考文獻(xiàn)[1]ThePHPGroup.PHP手冊.ThePHPGroup[EB/OL].(2020-04-22)./manual/zh/preface.php[2]上海頂想信息科技有限公司(TOPThinkInc.).ThinkPHP6.0完全開發(fā)手冊[EB/OL].(2020-01-13)./manual/thinkphp6_0/1037479[3]wuguiyu.day01:數(shù)據(jù)庫和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]中國國家標(biāo)準(zhǔn)化管理委員會.計算機軟件需求規(guī)格說明規(guī)范:第4部分:GB/T9385-2008(S/OL).中國國家標(biāo)準(zhǔn)化管理委員會(2008-04-11)./bzgk/gb/newGbInfo?hcno=2790825C43AD0B69E3C38C140BFFCFE6[7]餓了么公司前端團(tuán)隊.element-ui[EB/OL].gitee(2020-04-13)./mirrors/element-ui[8]小白運維之路.運維MariaDB數(shù)據(jù)庫[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程序中的應(yīng)用及Java實現(xiàn)[J].計算機工程與應(yīng)用,037(17):160-163.[11]李世川等.PHP+MariaDBWeb開發(fā)從入門到精通[M].北京:電子工業(yè)出版社,2016:170-172[12]倪樂波;戚鵬;遇麗娜;王婧.淺談PHP在電子商務(wù)網(wǎng)站建設(shè)中的研究與應(yīng)用[J].辦公自動化,2018年17期:29-31[13]王婭.基于PHP的web應(yīng)用中的SQL注入及防御措施:[D].長沙:信息記錄材料,2019年6期:115-117[14]梁琰等.MySQL數(shù)據(jù)庫在PHP網(wǎng)頁中的動態(tài)應(yīng)用研究[J].電腦知識與技術(shù):學(xué)術(shù)版,2019年第3X期:115-119[15]趙琳娜,倪明,喻衛(wèi)東.基于異構(gòu)冗余的擬態(tài)數(shù)據(jù)庫模型設(shè)計與測試[J].計算機系統(tǒng)應(yīng)用2019,28(9):251-257[16]GuanhuaWang.ApplicationoflightweightMVC-likestructureinPHP[J].SchoolofComputerScience&Engineering(2007):135-141[17]DBartholomew.MariaDBcookbook[M].PacktPublishingLtd,2014,7-21
致謝這是一份歷時四年匯聚千萬努力和汗水鑄成的答卷,雖然寫作的過程是在痛苦與快樂之中進(jìn)行,但依舊要激流勇進(jìn)砥礪前行,在這個過程中,我尤其要要感謝我的指導(dǎo)老師對我的指導(dǎo),吳凡老師雖然已經(jīng)身兼教學(xué),論文指導(dǎo)與實習(xí)指導(dǎo)等任務(wù),在論文開題時便已經(jīng)對我們進(jìn)行了方向上的指導(dǎo),且在之后的完成課題期間,對論文出現(xiàn)問題的把控更是十分精準(zhǔn)到位,在每次修改過程中都在我寫作過程中起到了重要的作用。
HYPERLINK如何給電腦重做系統(tǒng)給電腦重做系統(tǒng),自己學(xué)學(xué),可少花錢,哈哈[圖]
一、準(zhǔn)備工作:
如何重裝電腦系統(tǒng)
首先,在啟動電腦的時候按住DELETE鍵進(jìn)入BIOS,選擇AdvancedBIOSFeatures選項,按Enter鍵進(jìn)入設(shè)置程序。選擇FirstBootDevice選項,然后按鍵盤上的PageUp或PageDown鍵將該項設(shè)置為CD-ROM,這樣就可以把系統(tǒng)改為光盤啟動。
其次,退回到主菜單,保存BIOS設(shè)置。(保存方法是按下F10,然后再按Y鍵即可)
1.準(zhǔn)備好WindowsXPProfessional簡體中文版安裝光盤,并檢查光驅(qū)是否支持自啟動。
2.可能的情況下,在運行安裝程序前用磁盤掃描程序掃描所有硬盤檢查硬盤錯誤并進(jìn)行修復(fù),否則安裝程序運行時如檢查到有硬盤錯誤即會很麻煩。
3.用紙張記錄安裝文件的產(chǎn)品密匙(安裝序列號)。
4.可能的情況下,用驅(qū)動程序備份工具(如:驅(qū)動精靈2004V1.9Beta.exe)將原WindowsXP下的所有驅(qū)動程序備份到硬盤上(如∶F:Drive)。最好能記下主板、網(wǎng)卡、顯卡等主要硬件的型號及生產(chǎn)廠家,預(yù)先下載驅(qū)動程序備用。
5.如果你想在安裝過程中格式化C盤或D盤(建議安裝過程中格式化C盤),請備份C盤或D盤有用的數(shù)據(jù)。
二、用光盤啟動系統(tǒng):
(如果你已經(jīng)知道方法請轉(zhuǎn)到下一步),重新啟動系統(tǒng)并把光驅(qū)設(shè)為第一啟動盤,保存設(shè)置并重啟。將XP安裝光盤放入光驅(qū),重新啟動電腦。剛啟動時,當(dāng)出現(xiàn)如下圖所示時快速按下回車鍵,否則不能啟動XP系統(tǒng)光盤安裝。如果你不知道具體做法請參考與這相同的-->如何進(jìn)入純DOS系統(tǒng):
光盤自啟動后,如無意外即可見到安裝界面,將出現(xiàn)如下圖1所示
查看原圖
全中文提示,“要現(xiàn)在安裝WindowsXP,請按ENTER”,按回車鍵后,出現(xiàn)如下圖2所示
查看原圖
許可協(xié)議,這里沒有選擇的余地,按“F8”后如下圖3
HYPERLINK
查看原圖
這里用“向下或向上”方向鍵選擇安裝系統(tǒng)所用的分區(qū),如果你已格式化C盤請選擇C分區(qū),選擇好分區(qū)后按“Enter”鍵回車,出現(xiàn)下圖4所示
查看原圖
這里對所選分區(qū)可以進(jìn)行格式化,從而轉(zhuǎn)換文件系統(tǒng)格,或保存現(xiàn)有文件系統(tǒng),有多種選擇的余地,但要注意的是NTFS格式可節(jié)約磁盤空間提高安全性和減小磁盤碎片但同時存在很多問題MacOS和98/Me下看不到NTFS格式的分區(qū),在這里選“用FAT文件系統(tǒng)格式化磁盤分區(qū)(快),按“Enter”鍵回車,出現(xiàn)下圖5所示
查看原圖
格式化C盤的警告,按F鍵將準(zhǔn)備格式化c盤,出現(xiàn)下圖6所示
HYPERLINK
查看原圖
由于所選分區(qū)C的空間大于2048M(即2G),FAT文件系統(tǒng)不支持大于2048M的磁盤分區(qū),所以安裝程序會用FAT32文件系統(tǒng)格式對C盤進(jìn)行格式化,按“Enter”鍵回車,出現(xiàn)下圖7所示
查看原圖圖7中正在格式化C分區(qū);只有用光盤啟動或安裝啟動軟盤啟動XP安裝程序,才能在安裝過程中提供格式化分區(qū)選項;如果用MS-DOS啟動盤啟動進(jìn)入DOS下,運行i386\winnt進(jìn)行安裝XP時,安裝XP時沒有格式化分區(qū)選項。格式化C分區(qū)完成后,出現(xiàn)下圖8所示
被過濾廣告
查看原圖
圖8中開始復(fù)制文件,文件復(fù)制完后,安裝程序開始初始化Windows配置。然后系統(tǒng)將會自動在15秒后重新啟動。重新啟動后,出現(xiàn)下圖9所示
HYPERLINK
查看原圖
9
查看原圖
過5分鐘后,當(dāng)提示還需33分鐘時將出現(xiàn)如下圖10
HYPERLI
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZNZ 264.2-2024 重金屬中度污染農(nóng)田土壤修復(fù)和安全利用技術(shù)規(guī)范 第2部分:超積累東南景天與中稻輪作
- T-ZZB 3744-2024 制革用陰離子型磺化油
- T-ZMDS 20008-2024 醫(yī)療器械嵌入式軟件漏洞評估方法
- 2025年度解除農(nóng)業(yè)合作項目的聲明書
- 二零二五年度綠化苗木購銷與城市綠化養(yǎng)護(hù)服務(wù)合同
- 二零二五年度實習(xí)教師與教育機構(gòu)教育咨詢服務(wù)合同
- 二零二五年度共享住宅租賃正規(guī)協(xié)議書范本及環(huán)保要求
- 二零二五年度勞動合同主體變更及培訓(xùn)交接服務(wù)合同
- 2025年度水產(chǎn)養(yǎng)殖水質(zhì)改良與養(yǎng)魚合同
- 二零二五年度人社部員工勞動合同勞動合同電子簽名與認(rèn)證合同
- 醫(yī)院安全風(fēng)險分級管控清單
- 高級服裝設(shè)計與面料
- 次梁與主梁鉸接計算程式
- 學(xué)前比較教育(學(xué)前教育專業(yè))第3版全套教學(xué)課件
- 企業(yè)人力資源內(nèi)部審核檢查表
- 《素描》課件-第一章 素描入門
- GB/T 42828.1-2023鹽堿地改良通用技術(shù)第1部分:鐵尾砂改良
- 工資條(標(biāo)準(zhǔn)模版)
- 第四講 搜索引擎檢索
- 法語的發(fā)音規(guī)則及法語單詞分類記憶
- 衛(wèi)生和微生物基礎(chǔ)知識培訓(xùn)-
評論
0/150
提交評論