基于PHP的微信商城的设计与实现.doc
- 文档编号:4865459
- 上传时间:2023-05-07
- 格式:DOC
- 页数:40
- 大小:4.78MB
基于PHP的微信商城的设计与实现.doc
《基于PHP的微信商城的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于PHP的微信商城的设计与实现.doc(40页珍藏版)》请在冰点文库上搜索。
年月日
目录
摘要 I
ABSTRACT II
1绪论 1
1.1研究的背景、目的和意义 1
1.2国内外文献综述 1
1.3研究的主要内容 2
2需求分析与可行性研究 4
2.1市场定位分析 4
2.2可行性分析 4
2.3需求目标 4
2.3.1概述 4
2.3.2商城整体说明 5
3系统解决方案 6
3.1设计方案的论证 6
3.1.1设计方案的选择 6
3.1.2工具的选择 6
3.2设计方案的说明 7
3.2.1系统总体描述 7
3.2.2系统角色类型 7
3.2.3系统规划 8
3.2.4预期目的 9
3.2.5技术要求 9
4系统详细设计 10
4.1系统模块架构 10
4.2系统功能说明 10
4.2.1系统登录模块 10
4.2.2盒子设置模块 11
4.2.3盒子内容更改模块 12
4.2.4盒子管理员模块 13
4.2.5基本商城功能模块 14
4.3数据字典 15
5系统实现 18
5.1模块实现的理论基础 18
5.2系统登录模块的实现 18
5.3设置学校信息模块的实现 18
5.4盒子选货模块的实现 22
5.4.1选货模块 22
5.4.2选货后编辑及提交模块 23
5.5管理员审核模块 27
5.6人人商城到盒子模块的跳转 29
5.7双支付接入 29
6系统测试 30
6.1概述 30
6.2系统测试用例 30
6.3测试总结 32
7结束语 33
参考文献 34
致谢 35
摘要
随着电商的不断发展和新老电商品牌的更新换代,电商行业似乎已经进入一个饱和的阶段,另一方面,其以淘宝京东为大的垄断性质也越发明显。
传统电商的模式现在很难再发展出来新兴门户了,但是,电商现在的覆盖面还不是百分百的,有很多有待开发的“蓝海”正亟待接入互联网,所以在传统电商的基础上,开发出一套新的商业模式,避开当下电商“领头羊”的锋芒,是一种比较好的创业方法。
而商城盒子就是这样一种模式,它是先消费后付款的,所以可以达到传统电子商城不可能达到的时效性和便捷性。
其发展前景是巨大的,完全可以发展成一个集粉丝活跃度和用户消费量于一身的平台。
本设计课题的任务就是基于传统商城的模式给商城盒子定制开发出来一套专用的电子商城模式,让用户的体验更好,商家的入驻和管理也更方便。
采用了PHP作为后台开发语言,HTML+JS+CSS作为前端开发语言,遵守微信的开发规范,完成了零食盒子的基本功能,系统运行流畅,可以正常使用。
关键词:
电商;PHP;微信
ABSTRACT
Withthecontinuousdevelopmentofelectricityandnewandoldelectricbusinessbrandreplacement,electricityindustryseemstohaveenteredasaturatedstage,ontheotherhand,itsTaobaoJingdonglargemonopolynatureismoreandmoreobvious.Thetraditionalelectricbusinessmodelisnowdifficulttodevelopoutofthenewportal,buttheelectricitybusinessisnownot100%coverage,therearemanytobedeveloped"BlueOcean"isurgentlytoaccesstheInternet,sothebasisofthetraditionalelectricitybusinessOnthedevelopmentofanewbusinessmodel,toavoidthecurrentleaderintheedgeofelectricity,isabetterwaytostart.
Themallboxissuchamodel,usingthefirstpaymentafterthepaymentmodel,toachievethetraditionale-mallcannotachievethetimelinessandconvenience.Itsdevelopmentprospectsarehuge,canbedevelopedintoasetoffanactivityanduserconsumptioninaplatform.
Thetaskofthisdesigntaskisbasedonthetraditionalmallmodeltothemalltocustomizethedevelopmentofasetofdedicatede-mallmodel,sothatusersexperiencebetter,businessmensettledandmanagementisalsomoreconvenient.UsingPHPasabackgrounddevelopmentlanguage,HTML+JS+CSSasafront-enddevelopmentlanguage,tocomplywiththedevelopmentofWeChatnorms,thecompletionofthebasicfunctionsofthesnackbox,thesystemrunssmoothly,canbeusednormally.
Keywords:
electricitybusiness,PHP,WeChat
II
1绪论
1.1研究的背景、目的和意义
当代,互联网发展迅速,基于互联网而产生的应用正在改变人们的生活[1],电子商务作为一种新的消费形式,以各种出众的开发语言为动力[2],正在以其势如破竹之势,迅速改变的人们的生活。
互联网继续只用于做信息的话,显然是大材小用了,互联网应该为人们带来更多的便利。
在信息化发达的国家,一些商家门户,如沃尔玛等都利用先进的开发框架[3]纷纷开展了自己的网上业务。
本世纪初的一份调查就早早表明:
网上购物从诞生之初就已经被现代家庭接受并且慢慢成为现代家庭的习惯,而PHP作为开发电子商城的主要开发语言,其开发框架也在不断增加[4]。
有资料表明:
2001年,越来越多的商家开始在网上销售自己的商品[5],中国网民中的31.6%都在网上买过商品,大约有1060人,在当时这个比例已经很接近发达国家。
2003年全年,我国的网上商城上交易额比2002年上升了190%,而近期的发展速度更是令人咂舌,从淘宝网里程碑式的双十一开始,每一年,网上购物都在刷新交易金额记录,2016年底,淘宝网更是拿出了日交易额1207亿的骇人成绩。
由此可见,短短的几十年,发展是如此迅速,“网上创业”已经从当初的山野小径变成了当今的商业发展高速大道。
在国内,大规模网上销售平台都已成形并且不断有新兴事物的出现,而移动端代替了电脑端之后,变化更大[6]。
互联网在中国已经改变了人民的生活和工作方式。
而当前,网上商城看似已经被几大巨头所垄断,但是其待发掘资源还是有很多的,比如京东的逆境存亡就是一个很好的例子。
我们应该在新形式下抓住机遇,随着用户的习惯来发掘和优化技术,让网络可以更好的造福人民。
全球经济一体化是个大趋势,大力发展网络,是全球经济一体化最有效的推动力。
发展与创新是并存的,只有不断有创新的发展,才是良性的,所以开发一个有针对性的新形式的网上商城是很值得一试的。
1.2国内外文献综述
虽然业内对电子商务的研究非常多,但是其针对性和深度都多少有点欠缺或者不太吻合本次研究,因此本节将对此进行总结和深入研究。
Abraham曾经对印度51家企业进行过专门的研究,很明显,接入了网上营销的公司的绩效要比没有接入的好的多。
Michelle和Gabrielle利用波特的竞争优势框架模型,针对电子商务对旅游业的影响做了深入研究,发现其对旅游业带来的效益也是巨大的。
而Cecilia(2006)也对《运营成本和电子商务》进行了深入研究,结果是电子商务的作用是积极的。
LefebvreLouis-A对B2B和中小企业收益进行了研究之后,认为中小企业也非常适合接入电子商务。
C.Freund和D.Weinhold的研究项目是电子商务对国际贸易的影响,他们研究了56个国家得出了最终结论:
电子商务刚出现的前两年,对国际贸易影响甚微,但是平均从第三年开始,国际总贸易流将会因为电子商务发生显着变化。
董佳(2011)在《国际贸易与电子商务》一文中指出,电子商务在国际贸易组成中是重要的一部分。
她的结论是电子商务的快速发展是国际贸易快速发展的重要推动力,跟上电子商务的发展步伐,既是机遇也是挑战。
1.3研究的主要内容
零食盒子是一种新的消费模式,采用线上线下结合的消费模式,线下消费,线上付款。
对于线下,其形式是:
放一个盒子到学生宿舍,这个盒子归宿舍的人所共享,盒子运营商放固定数量的商品进盒子,用户消费的时候,直接拿盒子里的东西,然后往盒子里丢钱,自己找零,盒子运营商定期去维护盒子里的商品,是一种只适用于大学校园的高自觉、高素质人群的消费模式。
而这次我的开发任务是,将这个模式转移到线上,对用户而言,在用户端盒子模块就相当于自己的一个“收藏夹”,用户可以定义这个“收藏夹”里放什么东西,后台商家收到用户的自定义信息之后,将会上门把客户选择的商品放进盒子里,这个过程是免费的,因为用户还没有产生真正的消费。
在线下,实体纸箱盒子就是用户可以随时消费的“寝室超市”,其消费流程很简单,从盒子里拿东西,在“收藏夹”(线上盒子模块)快速找到商品进行线上付款,一切基于诚信。
微信已经通过它的大数据改变了当下的广告营销市场[7],而且因为它的轻量化和跨平台化,所以没有选择APP开发,避开了开发攻坚,安卓IOS双平台同步,软件推广三大难题,在电子商务发展的过程中,微信是一个很好的营销平台[8]。
整个商城是基于微擎版人人商城的二次开发,我的开发任务就是对人人商城进行数据库和代码逻辑分析,然后完成零食盒子的功能开发以及盒子数据库和人人商城数据库的融合,相当于在一块打了地基的土地上盖房子,用成熟的底层写自己的逻辑模块。
2需求分析与可行性研究
2.1市场定位分析
主打线上零食盒子的微信商城的构建初始目标是在校大学生,针对于在校大学生的消费能力,微信商城在具有自己特色的同时应当适应大学生的消费需求。
因此,以零食作为切入点,加上日用品,文具办公用品,以及各类生活服务,可以很快的占领大部分学生市场。
同时,商品的保质保量,以及别的电子商城无法比拟的配送速度,会让粉丝的粘性大大增加。
2.2可行性分析
商城的建设需要有服务器资源,公司资质(用来申请、认证微信服务号),商品仓库,配送员开销。
这些开销加在一起,与实体店的前期投入相比,大约只是实体店的十分之一。
所以其在经济上是完全可行的。
商城不牵扯到侵权,其在法律上是可行的。
对于网页开发来说,PHP是比较流行的开发语言,而且网上有着海量的PHP开源程序,其中不乏优质源代码,所以,没有必要从头开始写底层功能,只需要拿成熟技术做底层,然后自己做定制二次开发就可以了,所以,其在技术上是完全可行的。
由于人人商城的操作以及后续我所做的定制开发的操作都是基于浏览器的网页操作,简单明了,对于经常网购的大学生群体来说,是操作是完全没问题的,而对于后台管理人员来说,也有专门的可视化管理页面,所以管理员也无需具备专业知识,只需要对一些数据进行简单的输入、修改、删除和日常的维护就够了。
2.3需求目标
2.3.1概述
该商城的目的是开发一个带盒子功能(相当于个人收藏夹,不过还是有很大区别)的微信商城,在用户端要实现的基本主要功能有:
(1)商品选购(可按分类方式查找商品,也可模糊全局搜索)
(2)购物车功能
(3)查看商品详细情况
(4)用户自动登录
(5)查看用户的订单信息
(6)查看用户的订单信息
(7)修改用户信息
后台管理部分有:
(1)商店商品管理:
添加、修改、删除、查看
(2)用户信息管理:
查看、修改
(3)订单信息管理:
查看订单清单,更新订单状态
(4)盒子管理:
查看盒子申请,更新盒子状态
2.3.2商城整体说明
微信商城的主要参与者是顾客和商家以及管理员,顾客端是一个完整的消费体验,商家只需负责线下的服务,而管理员负责后台的运行、管理,以及信息的审核。
网上商店的操作流程都类似,操作步骤说明如下:
(1)顾客在公众号点击特定按钮进入微信商城
(2)后台调用微信接口,拉取用户openid完成静默登录
(3)用户设置学校信息
(4)用户设置盒子内容,提交申请
(5)后台管理员审核申请,点击通过
(6)用户在“我的盒子”里点击商品完成购买
(7)后台自动收集信息
(8)晚上6点,导出一整天的订单信息,排版分类,开始补货
3系统解决方案
3.1设计方案的论证
3.1.1设计方案的选择
所谓B/S,是指“Browser/Server(浏览器/服务器)”应用模式,客户端/服务器模式C/S(Client/Server)架构的发展,这种设计模式的好处是,用户不需要下载任何软件(或者只需下载一些基本的功能插件),就可以利用浏览器完成一些业务逻辑,和平常上网的过程没有区别。
这种模式最大的优势是广域网下的业务处理,即使是拨号上网的用户也不会感觉很慢。
另外,无需繁杂的软件安装和后期维护方便也是其优势之一。
其工作原理是,在客户端浏览器对服务器发送HTTP请求,WEP服务器通过PHP文件进行数据库操作和业务逻辑处理,并将操作结果以静态HTML页面的形式返回给前端浏览器[9]。
如图1:
图1B/S工作流程图
3.1.2工具的选择
工欲善其事必先利其器,开发工具的选择对于程序开发来说是个很重要的过程,它关乎开发的效率和最终的代码质量,所以选择合适的开发工具,是一个好的开始。
(1)前台开发技术的选择:
AdobeDreamweaver,中文名称"梦想编织者",是美国MACROMEDIA公司开发的一款优秀网页设计软件,AdobeDreamweaver是第一套针对网页设计师开发的视觉化设计工具。
它的代码提示和纠错机制非常好用,可以让PHP编程的过程非常高效,而且大大减少了语法错误,格式错误出现的几率,提升了编码效率。
(2)后台数据库管理工具的选择:
Navicatpremium是一款数据库管理工具。
因为Mysql本身提供的网页式数据库管理工具不是很好用,所以利用NavicatPremium这一款第三方PC端数据库管理工具进行可视化操作来提高效率。
而且Navicatpremium还提供了一些类似于数据库查询结果导出成xls等非常好用的小功能。
(3)FTP文件管理工具的选择:
FileZilla是一个免费开源的FTP软件,其简洁的界面给人印象良好,而且其功能也不弱,具有FTP软件所有应该具备的功能,对于文件的上传下载,其多窗口的操作模式,将效率提升了好几倍。
3.2设计方案的说明
3.2.1系统总体描述
因为电子商城架构过于庞大,凭一个人的力量,短期内不可能完成全部功能的开发。
所以本系统采用微擎版的人人商城,进行二次开发,完成一些定制性的功能,人人商城的兼容性很强,可以把自己想要的功能做成插件,一些需要特殊权限的功能(例如微信付款),只需要将数据写回人人商城,剩下的业务逻辑它就会帮我的系统完成。
因为选择了微信端,所以用人人商城等同于用自己的模板引擎[10]把微信接口再次封装了一下,让开发的目的性更强。
3.2.2系统角色类型
该系统有三类用户,分别是人人商城管理员,盒子模块管理员,普通用户。
如图2所示:
图2用户类别总图
人人商城管理员信息储存在人人商城原版数据库里,是已经建好的一张表,这个系统用户的权限是最高的,他可以接入微信公众号,配置服务器资源信息,查看其他用户信息,上下架商品,查看订单,发货退货等等。
如图3所示:
图3人人商城管理员权限用例图
盒子模块管理员:
其基本功能和普通用户是一样的,比普通用户多了个审核盒子申请的功能。
普通用户:
权限最低,可浏览网页,商品,下单,提交盒子申请等等。
如图4所示:
图4用户权限用例图
3.2.3系统规划
对于数据库系统,前期的规划和设计工作是非常有必要的,因为数据库是整个系统的核心和最大的兼容性限制,如果最初的设计是不合理的,对后期设计的影响将会是毁灭性的。
系统采用支持事务的Mysql[11]。
而盒子模块的主要系统功能规划如下:
▶设计不同用户的操作权限和登陆方法
▶对所有用户开放的页面查看、商品查看以及下单 Ø
▶根据下单情况对数据库进行操作 Ø
▶根据退款情况对数据库进行操作 Ø
▶根据关注、跑路情况对数据库进行操作 Ø
▶维护用户、商品、订单以及管理员信息
3.2.4预期目的
▶提高盒子维护的工作效率Ø
▶通过全面简洁的信息查询、删除和修改方式,提高订单配送的工作效率
▶通过使用本系统,能达到全面高效的提高系统的管理水平、降低人力资源消耗、提高工作效率的目的
3.2.5技术要求
▶数据库设计满足功能要求
▶数据库冗余度小,尽量满足三范式要求 Ø
▶绘制数据库各数据表之间的关系图
▶建立数据库访问接口类,实现对数据库的访问
▶完成功能模块中的一个较小的功能,以测试数据库接口的正确性
4系统详细设计
4.1系统模块架构
系统模块架构图如图5所示:
图5系统模块架构图
4.2系统功能说明
4.2.1系统登录模块
(1)功能说明
这个模块是用的微信openid,一个用户在一个公众号上的openid是唯一的[12],以此为用户账号,同时无需密码,不用用户手动填写登录信息,达到“静默登录”的效果。
(2)功能特性
普通用户静默登录。
(3)输入、输出
输入:
▶用户openid
输出:
▶登录反馈
(4)前提条件
用户关注服务号。
4.2.2盒子设置模块
盒子设置模块的流程图如图6所示。
图6盒子设置流程图
(1)功能说明
此模块为用户使用盒子功能的关键模块,主要完成盒子内容的设置和使用宿舍的创建以及加入。
(2)功能特性
普通用户基本操作。
(3)输入、输出格式
输入:
▶微信接口提供的信息
▶用户填写信息
▶商品信息
输出:
▶提示信息
▶操作反馈
(4)前提条件
用户关注服务号。
4.2.3盒子内容更改模块
盒子内容更改模块的流程图如图7所示。
(1)功能说明
此模块为用户使用盒子功能的关键模块,主要完成盒子内容的日常更改。
(2)功能特性
普通用户基本操作。
(3)输入、输出格式
输入:
▶微信接口提供的信息
▶用户填写信息
▶商品信息
输出:
▶提示信息
▶操作反馈
图7更改盒子内容流程图
(4)前提条件
用户关注服务号。
4.2.4盒子管理员模块
盒子管理员模块的流程图如图8所示。
(1)功能说明
此模块为管理员审核盒子申请的关键模块,主要完成商家盒子内容把控的主动性。
(2)功能特性
管理员特殊操作。
(3)输入、输出格式
输入:
▶用户提交的申请信息
▶商品信息
输出:
▶审核结果
图8盒子管理员流程图
(4)前提条件
操作人有管理员权限。
4.2.5基本商城功能模块
商城基本功能模块流程图如图9所示。
图9商城基本功能模块流程图
(1)功能说明
此模块人人商城的基础功能模块。
(2)功能特性
面向全网所有用户。
(3)输入、输出格式
输入:
▶用户提交的各种行为信息
▶商品信息
输出:
▶商城信息反馈
(4)前提条件
商城正常运行即可。
4.3数据字典
本系统模块一共有九张表,分别是:
存储盒子管理员信息的盒子管理员表tbl_admin,存储盒子内容信息的盒子表tbl_box,存储地址信息的学校表tbl_school,宿舍楼表tbl_building,宿舍号表tbl_dorm,学校宿舍号表tbl_school_dorm,存储申请的申请表tbl_submit,存储修改时间的时间表tbl_time,存储用户信息的用户表tbl_user。
盒子管理员表见表1。
表1盒子管理员信息表
名
类型
长度
是否主键
能否为空
备注
Id
int
11
是
否
主键
openid
Varchar
80
否
能
管理员openid
name
varchar
10
否
能
管理员姓名
盒子信息表见表2。
表2盒子信息表
名
类型
长度
是否主键
能否为空
备注
Id
int
11
是
否
主键
school_dorm_Id
Int
20
否
否
宿舍id
goods_Id
int
11
否
否
商品id
bool
Int
1
否
否
是否存在
num
Int
11
否
否
商品数量
nowUse
Int
1
否
否
是否在使用,0代表编辑状态,1正常使用状态,2代表中间状态
学校表,楼栋表,以及宿舍表分别见表3,4,5。
表3学校表
名
类型
长度
是否主键
能否为空
备注
Id
int
11
是
否
主键
schoolName
varchar
50
否
否
学校名字
表4宿舍楼栋表
名
类型
长度
是否主键
能否为空
备注
Id
int
11
是
否
主键
school_Id
Int
11
否
否
学校ID
dorm
varchar
50
否
否
宿舍楼栋名
表5宿舍号表
名
类型
长度
是否主键
能否为空
备注
Id
int
11
是
否
主键
school_buiding_Id
Int
11
否
否
宿舍楼ID
dormNum
varchar
50
否
否
宿舍号
学校宿舍表见表6。
表6学校宿舍表
名
类型
长度
是否主键
能否为空
备注
Id
int
11
是
否
主键
schoolName
varchar
50
否
否
学校名字
dormitoryNo
varchar
50
否
否
宿舍楼号
dormNo
varchar
50
否
否
宿舍号
creditValue
Int
11
否
能
信用值
isnew
Int
11
否
否
累计更改盒子次数
申请表见表7。
表7申请
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PHP 商城 设计 实现