欢迎来到天天文库
浏览记录
ID:12035589
大小:4.78 MB
页数:40页
时间:2018-07-15
《基于php的微信商城的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
年月日目录摘要IABSTRACTII1绪论11.1研究的背景、目的和意义11.2国内外文献综述11.3研究的主要内容22需求分析与可行性研究42.1市场定位分析42.2可行性分析42.3需求目标42.3.1概述42.3.2商城整体说明53系统解决方案63.1设计方案的论证63.1.1设计方案的选择63.1.2工具的选择63.2设计方案的说明73.2.1系统总体描述73.2.2系统角色类型73.2.3系统规划8 3.2.4预期目的93.2.5技术要求94系统详细设计104.1系统模块架构104.2系统功能说明104.2.1系统登录模块104.2.2盒子设置模块114.2.3盒子内容更改模块124.2.4盒子管理员模块134.2.5基本商城功能模块144.3数据字典155系统实现185.1模块实现的理论基础185.2系统登录模块的实现185.3设置学校信息模块的实现185.4盒子选货模块的实现225.4.1选货模块225.4.2选货后编辑及提交模块235.5管理员审核模块275.6人人商城到盒子模块的跳转295.7双支付接入296系统测试30 6.1概述306.2系统测试用例306.3测试总结327结束语33参考文献34致谢35 摘要随着电商的不断发展和新老电商品牌的更新换代,电商行业似乎已经进入一个饱和的阶段,另一方面,其以淘宝京东为大的垄断性质也越发明显。传统电商的模式现在很难再发展出来新兴门户了,但是,电商现在的覆盖面还不是百分百的,有很多有待开发的“蓝海”正亟待接入互联网,所以在传统电商的基础上,开发出一套新的商业模式,避开当下电商“领头羊”的锋芒,是一种比较好的创业方法。而商城盒子就是这样一种模式,它是先消费后付款的,所以可以达到传统电子商城不可能达到的时效性和便捷性。其发展前景是巨大的,完全可以发展成一个集粉丝活跃度和用户消费量于一身的平台。本设计课题的任务就是基于传统商城的模式给商城盒子定制开发出来一套专用的电子商城模式,让用户的体验更好,商家的入驻和管理也更方便。采用了PHP作为后台开发语言,HTML+JS+CSS作为前端开发语言,遵守微信的开发规范,完成了零食盒子的基本功能,系统运行流畅,可以正常使用。关键词:电商;PHP;微信II ABSTRACTWiththecontinuousdevelopmentofelectricityandnewandoldelectricbusinessbrandreplacement,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,WeChatII 1绪论1.1研究的背景、目的和意义当代,互联网发展迅速,基于互联网而产生的应用正在改变人们的生活[1],电子商务作为一种新的消费形式,以各种出众的开发语言为动力[2],正在以其势如破竹之势,迅速改变的人们的生活。互联网继续只用于做信息的话,显然是大材小用了,互联网应该为人们带来更多的便利。在信息化发达的国家,一些商家门户,如沃尔玛等都利用先进的开发框架[3]纷纷开展了自己的网上业务。本世纪初的一份调查就早早表明:网上购物从诞生之初就已经被现代家庭接受并且慢慢成为现代家庭的习惯,而PHP作为开发电子商城的主要开发语言,其开发框架也在不断增加[4]。有资料表明:2001年,越来越多的商家开始在网上销售自己的商品[5],中国网民中的31.6%都在网上买过商品,大约有1060人,在当时这个比例已经很接近发达国家。2003年全年,我国的网上商城上交易额比2002年上升了190%,而近期的发展速度更是令人咂舌,从淘宝网里程碑式的双十一开始,每一年,网上购物都在刷新交易金额记录,2016年底,淘宝网更是拿出了日交易额1207亿的骇人成绩。由此可见,短短的几十年,发展是如此迅速,“网上创业”已经从当初的山野小径变成了当今的商业发展高速大道。在国内,大规模网上销售平台都已成形并且不断有新兴事物的出现,而移动端代替了电脑端之后,变化更大[6]。互联网在中国已经改变了人民的生活和工作方式。而当前,网上商城看似已经被几大巨头所垄断,但是其待发掘资源还是有很多的,比如京东的逆境存亡就是一个很好的例子。我们应该在新形式下抓住机遇,随着用户的习惯来发掘和优化技术,让网络可以更好的造福人民。全球经济一体化是个大趋势,大力发展网络,是全球经济一体化最有效的推动力。发展与创新是并存的,只有不断有创新的发展,才是良性的,所以开发一个有针对性的新形式的网上商城是很值得一试的。1.2国内外文献综述虽然业内对电子商务的研究非常多,但是其针对性和深度都多少有点欠缺或者不太吻合本次研究,因此本节将对此进行总结和深入研究。Abraham曾经对印度51家企业进行过专门的研究,35 很明显,接入了网上营销的公司的绩效要比没有接入的好的多。Michelle和Gabrielle利用波特的竞争优势框架模型,针对电子商务对旅游业的影响做了深入研究,发现其对旅游业带来的效益也是巨大的。而Cecilia(2006)也对《运营成本和电子商务》进行了深入研究,结果是电子商务的作用是积极的。LefebvreLouis-A对B2B和中小企业收益进行了研究之后,认为中小企业也非常适合接入电子商务。C.Freund和D.Weinhold的研究项目是电子商务对国际贸易的影响,他们研究了56个国家得出了最终结论:电子商务刚出现的前两年,对国际贸易影响甚微,但是平均从第三年开始,国际总贸易流将会因为电子商务发生显着变化。董佳(2011)在《国际贸易与电子商务》一文中指出,电子商务在国际贸易组成中是重要的一部分。她的结论是电子商务的快速发展是国际贸易快速发展的重要推动力,跟上电子商务的发展步伐,既是机遇也是挑战。1.3研究的主要内容零食盒子是一种新的消费模式,采用线上线下结合的消费模式,线下消费,线上付款。对于线下,其形式是:放一个盒子到学生宿舍,这个盒子归宿舍的人所共享,盒子运营商放固定数量的商品进盒子,用户消费的时候,直接拿盒子里的东西,然后往盒子里丢钱,自己找零,盒子运营商定期去维护盒子里的商品,是一种只适用于大学校园的高自觉、高素质人群的消费模式。而这次我的开发任务是,将这个模式转移到线上,对用户而言,在用户端盒子模块就相当于自己的一个“收藏夹”,用户可以定义这个“收藏夹”里放什么东西,后台商家收到用户的自定义信息之后,将会上门把客户选择的商品放进盒子里,这个过程是免费的,因为用户还没有产生真正的消费。在线下,实体纸箱盒子就是用户可以随时消费的“寝室超市”,其消费流程很简单,从盒子里拿东西,在“收藏夹”(线上盒子模块)快速找到商品进行线上付款,一切基于诚信。微信已经通过它的大数据改变了当下的广告营销市场[7],而且因为它的轻量化和跨平台化,所以没有选择APP开发,避开了开发攻坚,安卓IOS双平台同步,软件推广三大难题,在电子商务发展的过程中,微信是一个很好的营销平台[8]。35 整个商城是基于微擎版人人商城的二次开发,我的开发任务就是对人人商城进行数据库和代码逻辑分析,然后完成零食盒子的功能开发以及盒子数据库和人人商城数据库的融合,相当于在一块打了地基的土地上盖房子,用成熟的底层写自己的逻辑模块。35 2需求分析与可行性研究2.1市场定位分析主打线上零食盒子的微信商城的构建初始目标是在校大学生,针对于在校大学生的消费能力,微信商城在具有自己特色的同时应当适应大学生的消费需求。因此,以零食作为切入点,加上日用品,文具办公用品,以及各类生活服务,可以很快的占领大部分学生市场。同时,商品的保质保量,以及别的电子商城无法比拟的配送速度,会让粉丝的粘性大大增加。2.2可行性分析商城的建设需要有服务器资源,公司资质(用来申请、认证微信服务号),商品仓库,配送员开销。这些开销加在一起,与实体店的前期投入相比,大约只是实体店的十分之一。所以其在经济上是完全可行的。商城不牵扯到侵权,其在法律上是可行的。对于网页开发来说,PHP是比较流行的开发语言,而且网上有着海量的PHP开源程序,其中不乏优质源代码,所以,没有必要从头开始写底层功能,只需要拿成熟技术做底层,然后自己做定制二次开发就可以了,所以,其在技术上是完全可行的。由于人人商城的操作以及后续我所做的定制开发的操作都是基于浏览器的网页操作,简单明了,对于经常网购的大学生群体来说,是操作是完全没问题的,而对于后台管理人员来说,也有专门的可视化管理页面,所以管理员也无需具备专业知识,只需要对一些数据进行简单的输入、修改、删除和日常的维护就够了。2.3需求目标2.3.1概述该商城的目的是开发一个带盒子功能(相当于个人收藏夹,不过还是有很大区别)的微信商城,在用户端要实现的基本主要功能有:(1)商品选购(可按分类方式查找商品,也可模糊全局搜索)(2)购物车功能(3)查看商品详细情况35 (4)用户自动登录(5)查看用户的订单信息(6)查看用户的订单信息(7)修改用户信息后台管理部分有:(1)商店商品管理:添加、修改、删除、查看(2)用户信息管理:查看、修改(3)订单信息管理:查看订单清单,更新订单状态(4)盒子管理:查看盒子申请,更新盒子状态2.3.2商城整体说明微信商城的主要参与者是顾客和商家以及管理员,顾客端是一个完整的消费体验,商家只需负责线下的服务,而管理员负责后台的运行、管理,以及信息的审核。网上商店的操作流程都类似,操作步骤说明如下:(1)顾客在公众号点击特定按钮进入微信商城(2)后台调用微信接口,拉取用户openid完成静默登录(3)用户设置学校信息(4)用户设置盒子内容,提交申请(5)后台管理员审核申请,点击通过(6)用户在“我的盒子”里点击商品完成购买(7)后台自动收集信息(8)晚上6点,导出一整天的订单信息,排版分类,开始补货35 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本身提供的网页式数据库管理工具不是很好用,所以利用NavicatPremium35 这一款第三方PC端数据库管理工具进行可视化操作来提高效率。而且Navicatpremium还提供了一些类似于数据库查询结果导出成xls等非常好用的小功能。(3)FTP文件管理工具的选择:FileZilla是一个免费开源的FTP软件,其简洁的界面给人印象良好,而且其功能也不弱,具有FTP软件所有应该具备的功能,对于文件的上传下载,其多窗口的操作模式,将效率提升了好几倍。3.2设计方案的说明3.2.1系统总体描述因为电子商城架构过于庞大,凭一个人的力量,短期内不可能完成全部功能的开发。所以本系统采用微擎版的人人商城,进行二次开发,完成一些定制性的功能,人人商城的兼容性很强,可以把自己想要的功能做成插件,一些需要特殊权限的功能(例如微信付款),只需要将数据写回人人商城,剩下的业务逻辑它就会帮我的系统完成。因为选择了微信端,所以用人人商城等同于用自己的模板引擎[10]把微信接口再次封装了一下,让开发的目的性更强。3.2.2系统角色类型该系统有三类用户,分别是人人商城管理员,盒子模块管理员,普通用户。如图2所示:图2用户类别总图人人商城管理员信息储存在人人商城原版数据库里,是已经建好的一张表,这个系统用户的权限是最高的,他可以接入微信公众号,配置服务器资源信息,查看其他用户信息,上下架商品,查看订单,发货退货等等。如图3所示:35 图3人人商城管理员权限用例图盒子模块管理员:其基本功能和普通用户是一样的,比普通用户多了个审核盒子申请的功能。普通用户:权限最低,可浏览网页,商品,下单,提交盒子申请等等。如图4所示:图4用户权限用例图3.2.3系统规划对于数据库系统,前期的规划和设计工作是非常有必要的,因为数据库是整个系统的核心和最大的兼容性限制,如果最初的设计是不合理的,对后期设计的影响将会是毁灭性的。系统采用支持事务的Mysql[11]。而盒子模块的主要系统功能规划如下:35 ▶设计不同用户的操作权限和登陆方法 ▶对所有用户开放的页面查看、商品查看以及下单 Ø ▶根据下单情况对数据库进行操作 Ø ▶根据退款情况对数据库进行操作 Ø ▶根据关注、跑路情况对数据库进行操作 Ø ▶维护用户、商品、订单以及管理员信息 3.2.4预期目的▶提高盒子维护的工作效率Ø▶通过全面简洁的信息查询、删除和修改方式,提高订单配送的工作效率▶通过使用本系统,能达到全面高效的提高系统的管理水平、降低人力资源消耗、提高工作效率的目的3.2.5技术要求▶数据库设计满足功能要求 ▶数据库冗余度小,尽量满足三范式要求 Ø ▶绘制数据库各数据表之间的关系图 ▶建立数据库访问接口类,实现对数据库的访问 ▶完成功能模块中的一个较小的功能,以测试数据库接口的正确性35 4系统详细设计4.1系统模块架构系统模块架构图如图5所示:图5系统模块架构图4.2系统功能说明4.2.1系统登录模块(1)功能说明这个模块是用的微信openid,一个用户在一个公众号上的openid是唯一的[12],以此为用户账号,同时无需密码,不用用户手动填写登录信息,达到“静默登录”的效果。(2)功能特性35 普通用户静默登录。(3)输入、输出输入:▶用户openid输出:▶登录反馈(4)前提条件用户关注服务号。4.2.2盒子设置模块盒子设置模块的流程图如图6所示。图6盒子设置流程图35 (1)功能说明此模块为用户使用盒子功能的关键模块,主要完成盒子内容的设置和使用宿舍的创建以及加入。(2)功能特性普通用户基本操作。(3)输入、输出格式输入:▶微信接口提供的信息▶用户填写信息▶商品信息输出:▶提示信息▶操作反馈(4)前提条件用户关注服务号。4.2.3盒子内容更改模块盒子内容更改模块的流程图如图7所示。(1)功能说明此模块为用户使用盒子功能的关键模块,主要完成盒子内容的日常更改。(2)功能特性普通用户基本操作。(3)输入、输出格式输入:▶微信接口提供的信息▶用户填写信息▶商品信息输出:▶提示信息35 ▶操作反馈图7更改盒子内容流程图(4)前提条件用户关注服务号。4.2.4盒子管理员模块盒子管理员模块的流程图如图8所示。(1)功能说明此模块为管理员审核盒子申请的关键模块,主要完成商家盒子内容把控的主动性。(2)功能特性管理员特殊操作。(3)输入、输出格式输入:▶用户提交的申请信息35 ▶商品信息输出:▶审核结果图8盒子管理员流程图(4)前提条件操作人有管理员权限。4.2.5基本商城功能模块商城基本功能模块流程图如图9所示。图9商城基本功能模块流程图(1)功能说明此模块人人商城的基础功能模块。(2)功能特性面向全网所有用户。(3)输入、输出格式35 输入:▶用户提交的各种行为信息▶商品信息输出:▶商城信息反馈(4)前提条件商城正常运行即可。4.3数据字典本系统模块一共有九张表,分别是:存储盒子管理员信息的盒子管理员表tbl_admin,存储盒子内容信息的盒子表tbl_box,存储地址信息的学校表tbl_school,宿舍楼表tbl_building,宿舍号表tbl_dorm,学校宿舍号表tbl_school_dorm,存储申请的申请表tbl_submit,存储修改时间的时间表tbl_time,存储用户信息的用户表tbl_user。盒子管理员表见表1。表1盒子管理员信息表名类型长度是否主键能否为空备注Idint11是否主键openidVarchar80否能管理员openidnamevarchar10否能管理员姓名盒子信息表见表2。表2盒子信息表名类型长度是否主键能否为空备注Idint11是否主键school_dorm_IdInt20否否宿舍idgoods_Idint11否否商品idboolInt1否否是否存在numInt11否否商品数量35 nowUseInt1否否是否在使用,0代表编辑状态,1正常使用状态,2代表中间状态学校表,楼栋表,以及宿舍表分别见表3,4,5。表3学校表名类型长度是否主键能否为空备注Idint11是否主键schoolNamevarchar50否否学校名字表4宿舍楼栋表名类型长度是否主键能否为空备注Idint11是否主键school_IdInt11否否学校IDdormvarchar50否否宿舍楼栋名表5宿舍号表名类型长度是否主键能否为空备注Idint11是否主键school_buiding_IdInt11否否宿舍楼IDdormNumvarchar50否否宿舍号学校宿舍表见表6。表6学校宿舍表名类型长度是否主键能否为空备注Idint11是否主键schoolNamevarchar50否否学校名字dormitoryNovarchar50否否宿舍楼号dormNovarchar50否否宿舍号35 creditValueInt11否能信用值isnewInt11否否累计更改盒子次数申请表见表7。表7申请表名类型长度是否主键能否为空备注Idint20是否主键school_buiding_IdInt11否否宿舍楼IDopenidvarchar80否否申请人idtimedatetime否否申请时间时间表见表8。表8时间表名类型长度是否主键能否为空备注Idint11是否主键school_IdInt11否否学校IDsetTimedatetime否否修改时间用户表见表9。表9用户信息表名类型长度是否主键能否为空备注Idint11是否主键school_IdInt11否否学校IDopenidVarchar80否能用户openidnamevarchar20否能用户姓名Phonevarchar20否能用户手机号35 5系统实现5.1模块实现的理论基础这次选用的数据库是Mysql,利用HTML+JS+CSS技术完成前端页面的设计开发,用PHP+AJAX技术完成后台逻辑功能的实现[13]。系统一共有五大模块,其详细实现方法见以下各小节。5.2系统登录模块的实现系统登录模块的逻辑是静默登录,采用微信接口拉取用户信息,因为人人商城又对这个接口做了封装,所以本系统选择在人人商城里AJAX传值到我的页面,完成openid的传值,具体代码如下:5.3设置学校信息模块的实现首先通过用户的openid获取用户的名字以及头像信息,如图10所示,然后用户填写信息,(其间有输入验证,如图11所示)。填写完成后,点击提交,完成信息的填写,仅可填写一次,再次进入就只可以查看信息,如图12所示。此模块分别和两个页面有关系,一个是填写信息页面,一个是选择学校宿舍页面。图10信息页面图35 图11输入验证示意图图12填写完成示意图35 其关键逻辑有三个,第一是信息的拉取以及显示,关键代码如下:
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处