黃遠(yuǎn)林 黃琳
【摘? 要】本文設(shè)計了一個基于PHP的網(wǎng)上藥店管理系統(tǒng)。該系統(tǒng)采用緩存技術(shù)、PHP無限分類技術(shù)進(jìn)行藥品快速分類,頁面采用Ajax無刷新技術(shù)提升用戶體驗,并結(jié)合Laravel框架自帶驗證進(jìn)行表單驗證和其完善的路由系統(tǒng)進(jìn)行模型-視圖-控制器(MVC模式)開發(fā),數(shù)據(jù)庫采用MySQL。實現(xiàn)了用戶信息管理、訂單、訂單狀態(tài)、藥品、藥品分類、評論、系統(tǒng)配置、輪播圖、網(wǎng)站廣告等多個功能模塊的專項管理。旨在形成一套用戶體驗好、后臺管理方便高效的網(wǎng)上藥店管理系統(tǒng)。
【關(guān)鍵詞】網(wǎng)上藥店管理系統(tǒng);? PHP Ajax Laravel;框架 ;MySQL
引言
隨著社會的飛快發(fā)展和信息科技的不斷普及,各行各業(yè)的管理、控制都越來越離不開計算機(jī)的協(xié)助。在平時的醫(yī)藥管理中,面對眾多的不同分類的藥品和眾多不同需求的顧客,每天都會產(chǎn)生大量的購藥需求信息。傳統(tǒng)的線下人工方式來處理這些信息,操作比較繁瑣,且效率低下,浪費企業(yè)大量的人力物力。此時,一套合理、高效、實用的醫(yī)藥銷售系統(tǒng)在醫(yī)藥企業(yè)或大型藥店中就顯得十分重要,利用其提供的藥品管理、藥品分類管理等豐富的后臺管理功能,可以進(jìn)行高效的管理、銷售,更好的為顧客服務(wù),于是網(wǎng)上藥店在現(xiàn)實中得到大規(guī)模使用。
采用網(wǎng)上藥店管理系統(tǒng)既為商家提高了個人效益,解放生產(chǎn)力,提高工作的效率。又為醫(yī)藥消費者們提供方便,在家使用手機(jī)電腦即可進(jìn)行藥品選購,節(jié)省了不少時間。
1.關(guān)鍵技術(shù)
該系統(tǒng)使用PHP和MySQL結(jié)合Laravel 框架來開發(fā),其中Laravel 是一個免費的開源 PHP 框架,適用于 Web 應(yīng)用程序開發(fā),且適用于移動應(yīng)用程序場景。使用Laravel框架中提供的方法和函數(shù)進(jìn)行各個功能模塊的實現(xiàn),并確保項目能流暢地在服務(wù)器運(yùn)行。
同時Laravel中內(nèi)置了強(qiáng)大的 Composer包管理工具,可以輕松添加包。也正是由于其具有上手簡單、無縫數(shù)據(jù)遷移技術(shù)、完美的MVC架構(gòu)支持、強(qiáng)大的模板引擎和簡單的單元測試等特點,因此本系統(tǒng)使用Laravel框架。
2.系統(tǒng)設(shè)計
2.1主要功能
系統(tǒng)提供郵箱注冊、登錄及修改密碼操作,游客可通過分類搜索藥品和查看藥品詳情。用戶進(jìn)行登錄之后,才能進(jìn)行購買藥品操作,登陸失敗則會跳轉(zhuǎn)回到登錄界面,登陸成功可修改個人信息(修改昵稱密碼等)并設(shè)置收貨地址、查看歷史訂單和購買藥品等操作。管理員登錄后臺后可以管理用戶信息,藥品分類,藥品,訂單,審核評論,網(wǎng)站系統(tǒng)管理等,網(wǎng)站系統(tǒng)管理中又包含輪播圖、網(wǎng)站的廣告,網(wǎng)站標(biāo)題、關(guān)鍵字、描述等信息管理。系統(tǒng)模塊圖如右側(cè)圖3-1、3-2、3-3所示。
2.2系統(tǒng)用例圖
如圖3-4所示,該系統(tǒng)的用戶分為三種角色:游客,系統(tǒng)用戶和管理員。游客可訪問主頁并瀏覽藥品;系統(tǒng)用戶可修改個人信息、管理收貨地址、下單藥品、查看訂單、評價;管理員可對用戶信息、訂單、訂單狀態(tài)、藥品、藥品分類、評論及系統(tǒng)配置進(jìn)行管理。
2.3數(shù)據(jù)庫設(shè)計
根據(jù)系統(tǒng)需求分析和模塊功能對數(shù)據(jù)庫設(shè)計分析,共設(shè)計12張數(shù)據(jù)庫實體表,分別為:管理員表(admin)、用戶表(user)、收貨地址表(addr)、網(wǎng)站廣告表(ads)、評論表(comment)、藥品表(goods)、藥品小圖表(goodsimg)、訂單表(orders)、訂單狀態(tài)表(orderstatu)、輪播圖表(slide)、分類表(types)、分類廣告表(typesads)。
圖3-5是整個網(wǎng)上藥店管理系統(tǒng)數(shù)據(jù)庫 E-R 圖,其中管理員可以對應(yīng)管理網(wǎng)站所有用戶、網(wǎng)站廣告、系統(tǒng)配置、分類廣告、輪播圖、藥品分類、藥品藥品小圖、訂單、訂單狀態(tài)、評論,數(shù)據(jù)庫E-R圖的設(shè)計實現(xiàn)了網(wǎng)站數(shù)據(jù)模型的關(guān)聯(lián)。
在上面的關(guān)系中又進(jìn)行細(xì)分,圖3-6是藥品分類—藥品—藥品小圖的關(guān)系E-R圖,一個藥品分類對應(yīng)多個藥品,一個藥品對應(yīng)對各藥品小圖。
圖3-7是用戶—收貨地址、用戶—評論—訂單、訂單—訂單狀態(tài)關(guān)系E-R圖,一個用戶擁有多個收貨地址,可以發(fā)布多個評論和提交多個訂單,一個訂單可以有多個評論,一個訂單狀態(tài)可以對應(yīng)多個訂單。
3.系統(tǒng)實現(xiàn)
經(jīng)過上面對系統(tǒng)進(jìn)行了詳細(xì)的需求分析,系統(tǒng)概要設(shè)計,數(shù)據(jù)模型設(shè)計以及技術(shù)選型,下面就是對系統(tǒng)各個模塊的具體實現(xiàn)和對一些功能的性能進(jìn)行優(yōu)化,提升系統(tǒng)性能。
在進(jìn)行開發(fā)之前,首先區(qū)分功能模塊的優(yōu)先順序。這里我使用一個簡單的分析框架,來決策功能模塊的開發(fā)優(yōu)先級,基于需求分析,我將系統(tǒng)拆分成如下幾大模塊:
在上面的功能清單中,各個模塊的依賴關(guān)系『訂單模塊』依賴于『用戶模塊』和『商品模塊』,上層的模塊依賴于下層的模塊,因此在開發(fā)過程中我們會優(yōu)先構(gòu)建下層的模塊。下面以分類添加功能為例作詳細(xì)說明。
作為貫穿網(wǎng)站的主要功能,該步驟設(shè)計結(jié)果的好壞,將直接影響到接下來的藥品管理以及訂單管理。管理員通過添加分類入口進(jìn)行藥品分類添加,并添加分類下的子類,添加成功后在后臺進(jìn)行展示成樹形結(jié)構(gòu)。然后即可對現(xiàn)有的分類進(jìn)行管理,修改該分類是否作為前臺藥品樓層出現(xiàn),并進(jìn)行分類的刪除和批量刪除。分類添加效果圖如圖4-1所示。
主要思路:
(1)頂級分類的添加:設(shè)置好路由和前端跳轉(zhuǎn)路徑點擊跳轉(zhuǎn)到添加頁面后臺添加成功返回到展示頁面,失敗返回上一頁面。
(2)添加頂級分類下的子類:頁面中路徑帶上當(dāng)前分類的父id(即數(shù)據(jù)表中的pid),再進(jìn)行path路徑的拼接存到數(shù)據(jù)庫中(path路徑:方便后面進(jìn)行分類的梯形展示),同時根據(jù)path路徑判斷最多只能添加三級分類。
限制添加子類部分代碼:
<?php
//根據(jù)逗號分割path路徑數(shù)組
$arr=explode(“,”,$value->path);
//統(tǒng)計數(shù)組長度
$tot=count($arr)-2;
?>
{{--當(dāng)為三級分類(4-2=2)時就停止添加分類--}}
@if($tot>=2)
@else
{{--添加子類跳轉(zhuǎn)路徑,帶上當(dāng)前分類id、pid和path路徑參數(shù)--}}
@endif
4.結(jié)束語
該網(wǎng)上藥店管理系統(tǒng)經(jīng)過設(shè)計,結(jié)合現(xiàn)實的需求,實現(xiàn)了網(wǎng)上藥店管理的整體功能,方便管理員對藥品進(jìn)行統(tǒng)一管理,同時讓醫(yī)藥消費者能更方便快捷地進(jìn)行購藥,滿足不同用戶和企業(yè)的需求。同時該系統(tǒng)可拓展性強(qiáng)且維護(hù)簡單,為后續(xù)開發(fā)提供了方便,為系統(tǒng)使用者提供更好的服務(wù)。
參 考文獻(xiàn)
[1] 陳晶,蔣奎,劉妍, 等.我國網(wǎng)上藥店發(fā)展現(xiàn)狀及企業(yè)管理對策[J].中國藥學(xué)雜志,2015,50(16):1457-1461. DOI:10.11669/cpj.2015.16.022.
[2] 楊倩.基于WEB的藥店管理系統(tǒng)[D].天津:天津大學(xué),2014. DOI:10.7666/d.D638068.
[3] 殷晨,劉美芳.國內(nèi)B2C電子商務(wù)模式發(fā)展研究[J].電子商務(wù),2015,(3):5-6. DOI:10.3969/j.issn.1009-6108.2015.03.003.
[4] 施建華.Laravel框架下電商威客平臺設(shè)計及實現(xiàn)[J].宜賓學(xué)院學(xué)報,2017,17(6):51-53. DOI:10.3969/j.issn.1671-5365.2017.06.012.
[5] 劉麗,楊靈. PHP編程基礎(chǔ)與案例開發(fā)[M]. 北京理工大學(xué)出版社,2018-8.
[6] Andri Sunardi,Suharjito. MVC Architecture: A Comparative Study Between Laravel? Framework and Slim Framework in Freelancer Project Monitoring System Web Based[J]. Procedia Computer Science,2019,157.
作者簡介:黃遠(yuǎn)林(1998.12--),男,廣西梧州人,本科,桂林理工大學(xué)信息學(xué)院網(wǎng)絡(luò)工程專業(yè);
黃琳(1980.1--),女,湖南婁底人,工學(xué)碩士,講師,研究方向為人工智能、計算機(jī)技術(shù)。