黃遠林 黃琳



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