论文部分内容阅读
【摘 要】本文设计了一个基于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)
<td>
<a href=”javascript:;” style=”cursor: not-allowed;text-decoration: none;color:#7f807f”>添加子类</a>
</td>
@else
{{--添加子类跳转路径,带上当前分类id、pid和path路径参数--}}
<td>
<a href=”/admin/types/create?pid={{$value->id}}&path={{$value->path}}{{$value->id}},”>添加子類</a>
</td>
@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--),女,湖南娄底人,工学硕士,讲师,研究方向为人工智能、计算机技术。
【关键词】网上药店管理系统; 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)
<td>
<a href=”javascript:;” style=”cursor: not-allowed;text-decoration: none;color:#7f807f”>添加子类</a>
</td>
@else
{{--添加子类跳转路径,带上当前分类id、pid和path路径参数--}}
<td>
<a href=”/admin/types/create?pid={{$value->id}}&path={{$value->path}}{{$value->id}},”>添加子類</a>
</td>
@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--),女,湖南娄底人,工学硕士,讲师,研究方向为人工智能、计算机技术。