基于PHP的微信商城的设计与实现_第1页
基于PHP的微信商城的设计与实现_第2页
基于PHP的微信商城的设计与实现_第3页
基于PHP的微信商城的设计与实现_第4页
基于PHP的微信商城的设计与实现_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 年 月 日 目目 录录 摘摘 要要i abstractii 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 预

2、期目的.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

3、.6 人人商城到盒子模块的跳转 29 5.7 双支付接入 29 6 系统测试系统测试30 6.1 概述 30 6.2 系统测试用例 30 6.3 测试总结 32 7 结束语结束语33 参考文献参考文献34 致致 谢谢35 摘摘 要要 随着电商的不断发展和新老电商品牌的更新换代,电商行业似乎已经进入一个 饱和的阶段,另一方面,其以淘宝京东为大的垄断性质也越发明显。传统电商的模 式现在很难再发展出来新兴门户了,但是,电商现在的覆盖面还不是百分百的,有 很多有待开发的“蓝海”正亟待接入互联网,所以在传统电商的基础上,开发出一 套新的商业模式,避开当下电商“领头羊”的锋芒,是一种比较好的创业方法。 而

4、商城盒子就是这样一种模式,它是先消费后付款的,所以可以达到传统电子 商城不可能达到的时效性和便捷性。其发展前景是巨大的,完全可以发展成一个集 粉丝活跃度和用户消费量于一身的平台。 本设计课题的任务就是基于传统商城的模式给商城盒子定制开发出来一套专用 的电子商城模式,让用户的体验更好,商家的入驻和管理也更方便。采用了 php 作 为后台开发语言,html+js+css 作为前端开发语言,遵守微信的开发规范,完成 了零食盒子的基本功能,系统运行流畅,可以正常使用。 关键词:关键词:电商;php;微信 abstract with the continuous development of elect

5、ricity and new and old electric business brand replacement, electricity industry seems to have entered a saturated stage, on the other hand, its taobao jingdong large monopoly nature is more and more obvious. the traditional electric business model is now difficult to develop out of the new portal,

6、but the electricity business is now not 100% coverage, there are many to be developed blue ocean is urgently to access the internet, so the basis of the traditional electricity business on the development of a new business model, to avoid the current leader in the edge of electricity, is a better wa

7、y to start. the mall box is such a model, using the first payment after the payment model, to achieve the traditional e-mall can not achieve the timeliness and convenience. its development prospects are huge, can be developed into a set of fan activity and user consumption in a platform. the task of

8、 this design task is based on the traditional mall model to the mall to customize the development of a set of dedicated e-mall model, so that users experience better, businessmen settled and management is also more convenient. using php as a background development language, html + js + css as a fron

9、t-end development language, to comply with the development of wechat norms, the completion of the basic functions of the snack box, the system runs smoothly, can be used normally. key words: electricity business,php,wechat 1 绪论绪论 1.1 研究的背景、目的和意义研究的背景、目的和意义 当代,互联网发展迅速,基于互联网而产生的应用正在改变人们的生活1,电 子商务作为一种新

10、的消费形式,以各种出众的开发语言为动力2,正在以其势如破 竹之势,迅速改变的人们的生活。互联网继续只用于做信息的话,显然是大材小用 了,互联网应该为人们带来更多的便利。在信息化发达的国家,一些商家门户,如 沃尔玛等都利用先进的开发框架3纷纷开展了自己的网上业务。本世纪初的一份调 查就早早表明:网上购物从诞生之初就已经被现代家庭接受并且慢慢成为现代家庭 的习惯,而 php 作为开发电子商城的主要开发语言,其开发框架也在不断增加4。 有资料表明:2001 年,越来越多的商家开始在网上销售自己的商品5,中国网民 中的 31.6%都在网上买过商品,大约有 1060 人,在当时这个比例已经很接近发达国

11、家。2003 年全年,我国的网上商城上交易额比 2002 年上升了 190%,而近期的发展 速度更是令人咂舌,从淘宝网里程碑式的双十一开始,每一年,网上购物都在刷新 交易金额记录,2016 年底,淘宝网更是拿出了日交易额 1207 亿的骇人成绩。由此 可见,短短的几十年,发展是如此迅速,“网上创业”已经从当初的山野小径变成 了当今的商业发展高速大道。在国内,大规模网上销售平台都已成形并且不断有新 兴事物的出现,而移动端代替了电脑端之后,变化更大6。互联网在中国已经改变了 人民的生活和工作方式。而当前,网上商城看似已经被几大巨头所垄断,但是其待 发掘资源还是有很多的,比如京东的逆境存亡就是一个很

12、好的例子。我们应该在新 形式下抓住机遇,随着用户的习惯来发掘和优化技术,让网络可以更好的造福人民。 全球经济一体化是个大趋势,大力发展网络,是全球经济一体化最有效的推动 力。发展与创新是并存的,只有不断有创新的发展,才是良性的,所以开发一个有 针对性的新形式的网上商城是很值得一试的。 1.2 国内外文献综述国内外文献综述 虽然业内对电子商务的研究非常多,但是其针对性和深度都多少有点欠缺或者 不太吻合本次研究,因此本节将对此进行总结和深入研究。 abraham 曾经对印度 51 家企业进行过专门的研究,很明显,接入了网上营销的 公司的绩效要比没有接入的好的多。michelle 和 gabriel

13、le 利用波特的竞争优势框架 模型,针对电子商务对旅游业的影响做了深入研究,发现其对旅游业带来的效益也 是巨大的 。而 cecilia(2006)也对运营成本和电子商务进行了深入研究,结果 是电子商务的作用是积极的。lefebvre louis-a 对 b2b 和中小企业收益进行了研究 之后,认为中小企业也非常适合接入电子商务。 c.freund 和 d.weinhold 的研究项目是电子商务对国际贸易的影响,他们研究了 56 个国家得出了最终结论:电子商务刚出现的前两年,对国际贸易影响甚微,但是 平均从第三年开始,国际总贸易流将会因为电子商务发生显着变化。 董佳(2011)在国际贸易与电子商

14、务一文中指出,电子商务在国际贸易组 成中是重要的一部分。她的结论是电子商务的快速发展是国际贸易快速发展的重要 推动力,跟上电子商务的发展步伐,既是机遇也是挑战 。 1.3 研究的主要内容研究的主要内容 零食盒子是一种新的消费模式,采用线上线下结合的消费模式,线下消费,线 上付款。对于线下,其形式是:放一个盒子到学生宿舍,这个盒子归宿舍的人所共 享,盒子运营商放固定数量的商品进盒子,用户消费的时候,直接拿盒子里的东西, 然后往盒子里丢钱,自己找零,盒子运营商定期去维护盒子里的商品,是一种只适 用于大学校园的高自觉、高素质人群的消费模式。 而这次我的开发任务是,将这个模式转移到线上,对用户而言,在

15、用户端盒子 模块就相当于自己的一个“收藏夹”,用户可以定义这个“收藏夹”里放什么东西, 后台商家收到用户的自定义信息之后,将会上门把客户选择的商品放进盒子里,这 个过程是免费的,因为用户还没有产生真正的消费。在线下,实体纸箱盒子就是用 户可以随时消费的“寝室超市”,其消费流程很简单,从盒子里拿东西,在“收藏 夹”(线上盒子模块)快速找到商品进行线上付款,一切基于诚信。 微信已经通过它的大数据改变了当下的广告营销市场7,而且因为它的轻量化 和跨平台化,所以没有选择 app 开发,避开了开发攻坚,安卓 ios 双平台同步,软 件推广三大难题,在电子商务发展的过程中,微信是一个很好的营销平台8。 整

16、个商城是基于微擎版人人商城的二次开发,我的开发任务就是对人人商城进 行数据库和代码逻辑分析,然后完成零食盒子的功能开发以及盒子数据库和人人商 城数据库的融合,相当于在一块打了地基的土地上盖房子,用成熟的底层写自己的 逻辑模块。 2 需求分析与可行性研究需求分析与可行性研究 2.1 市场定位分析市场定位分析 主打线上零食盒子的微信商城的构建初始目标是在校大学生,针对于在校大学 生的消费能力,微信商城在具有自己特色的同时应当适应大学生的消费需求。因此, 以零食作为切入点,加上日用品,文具办公用品,以及各类生活服务,可以很快的 占领大部分学生市场。同时,商品的保质保量,以及别的电子商城无法比拟的配送

17、 速度,会让粉丝的粘性大大增加。 2.2 可行性分析可行性分析 商城的建设需要有服务器资源,公司资质(用来申请、认证微信服务号),商 品仓库,配送员开销。这些开销加在一起,与实体店的前期投入相比,大约只是实 体店的十分之一。所以其在经济上是完全可行的。 商城不牵扯到侵权,其在法律上是可行的。 对于网页开发来说,php 是比较流行的开发语言,而且网上有着海量的 php 开 源程序,其中不乏优质源代码,所以,没有必要从头开始写底层功能,只需要拿成 熟技术做底层,然后自己做定制二次开发就可以了,所以,其在技术上是完全可行 的。 由于人人商城的操作以及后续我所做的定制开发的操作都是基于浏览器的网页 操

18、作,简单明了,对于经常网购的大学生群体来说,是操作是完全没问题的,而对 于后台管理人员来说,也有专门的可视化管理页面,所以管理员也无需具备专业知 识,只需要对一些数据进行简单的输入、修改、删除和日常的维护就够了。 2.3 需求目标需求目标 2.3.1 概述概述 该商城的目的是开发一个带盒子功能(相当于个人收藏夹,不过还是有很大区 别)的微信商城,在用户端要实现的基本主要功能有: (1) 商品选购(可按分类方式查找商品,也可模糊全局搜索) (2) 购物车功能 (3) 查看商品详细情况 (4) 用户自动登录 (5) 查看用户的订单信息 (6) 查看用户的订单信息 (7) 修改用户信息 后台管理部分

19、有: (1) 商店商品管理:添加、修改、删除、查看 (2) 用户信息管理:查看、修改 (3) 订单信息管理:查看订单清单,更新订单状态 (4) 盒子管理:查看盒子申请,更新盒子状态 2.3.2 商城整体说明商城整体说明 微信商城的主要参与者是顾客和商家以及管理员,顾客端是一个完整的消费体 验,商家只需负责线下的服务,而管理员负责后台的运行、管理,以及信息的审核。 网上商店的操作流程都类似,操作步骤说明如下: (1) 顾客在公众号点击特定按钮进入微信商城 (2) 后台调用微信接口,拉取用户 openid 完成静默登录 (3) 用户设置学校信息 (4) 用户设置盒子内容,提交申请 (5) 后台管理

20、员审核申请,点击通过 (6) 用户在“我的盒子”里点击商品完成购买 (7) 后台自动收集信息 (8) 晚上 6 点,导出一整天的订单信息,排版分类,开始补货 3 系统解决方案系统解决方案 3.1 设计方案的论证设计方案的论证 3.1.1 设计方案的选择设计方案的选择 所谓 b/s,是指“browser/server(浏览器/服务器)”应用模式,客户端/服务器 模式 c/s(client/server)架构的发展,这种设计模式的好处是,用户不需要下载任 何软件(或者只需下载一些基本的功能插件),就可以利用浏览器完成一些业务逻 辑,和平常上网的过程没有区别。这种模式最大的优势是广域网下的业务处理,

21、即 使是拨号上网的用户也不会感觉很慢。另外,无需繁杂的软件安装和后期维护方便 也是其优势之一。其工作原理是,在客户端浏览器对服务器发送 http 请求,wep 服务器通过 php 文件进行数据库操作和业务逻辑处理,并将操作结果以静态 html 页面的形式返回给前端浏览器9。如图 1: 浏览器 php文件 apache服务器 html请求 html响应 数据库 图 1 b/s 工作流程图 3.1.2 工具的选择工具的选择 工欲善其事必先利其器,开发工具的选择对于程序开发来说是个很重要的过程, 它关乎开发的效率和最终的代码质量,所以选择合适的开发工具,是一个好的开始。 (1) 前台开发技术的选择:

22、 adobe dreamweaver,中文名称 梦想编织者,是美国 macromedia 公司开 发的一款优秀网页设计软件,adobe dreamweaver 是第一套针对网页设计师开发的 视觉化设计工具。它的代码提示和纠错机制非常好用,可以让 php 编程的过程非常 高效,而且大大减少了语法错误,格式错误出现的几率,提升了编码效率。 (2) 后台数据库管理工具的选择: navicat premium 是一款数据库管理工具。因为 mysql 本身提供的网页式数据库 管理工具不是很好用,所以利用 navicat premium 这一款第三方 pc 端数据库管理工 具进行可视化操作来提高效率。而且

23、 navicat premium 还提供了一些类似于数据库查 询结果导出成 xls 等非常好用的小功能。 (3) ftp 文件管理工具的选择: filezilla 是一个免费开源的 ftp 软件,其简洁的界面给人印象良好,而且其功 能也不弱,具有 ftp 软件所有应该具备的功能,对于文件的上传下载 ,其多窗口 的操作模式,将效率提升了好几倍。 3.2 设计方案的说明设计方案的说明 3.2.1 系统总体描述系统总体描述 因为电子商城架构过于庞大,凭一个人的力量,短期内不可能完成全部功能的 开发。所以本系统采用微擎版的人人商城,进行二次开发,完成一些定制性的功能, 人人商城的兼容性很强,可以把自己

24、想要的功能做成插件,一些需要特殊权限的功 能(例如微信付款),只需要将数据写回人人商城,剩下的业务逻辑它就会帮我的 系统完成。因为选择了微信端,所以用人人商城等同于用自己的模板引擎10把微信 接口再次封装了一下,让开发的目的性更强。 3.2.2 系统角色类型系统角色类型 该系统有三类用户,分别是人人商城管理员,盒子模块管理员,普通用户。如 图 2 所示: 商商城城系系统统 商城管理员 普通用户盒子管理员 权限仅高于普通用户最低权限 最 高 权 限 图 2 用户类别总图 人人商城管理员信息储存在人人商城原版数据库里,是已经建好的一张表,这 个系统用户的权限是最高的,他可以接入微信公众号,配置服务

25、器资源信息,查看 其他用户信息,上下架商品,查看订单,发货退货等等。如图 3 所示: 人人商城管理员 系统配置 商城配置 客户管理 商品管理 订单管理 页面管理 图 3 人人商城管理员权限用例图 盒子模块管理员:其基本功能和普通用户是一样的,比普通用户多了个审核盒 子申请的功能。 普通用户:权限最低,可浏览网页,商品,下单,提交盒子申请等等。如图 4 所示: 普通用户 商品查看 网页查看 购买商品 退换商品 图 4 用户权限用例图 3.2.3 系统规划系统规划 对于数据库系统,前期的规划和设计工作是非常有必要的,因为数据库是整个 系统的核心和最大的兼容性限制,如果最初的设计是不合理的,对后期设

26、计的影响 将会是毁灭性的。系统采用支持事务的 mysql11。 而盒子模块的主要系统功能规划如下: 设计不同用户的操作权限和登陆方法 对所有用户开放的页面查看、商品查看以及下单 根据下单情况对数据库进行操作 根据退款情况对数据库进行操作 根据关注、跑路情况对数据库进行操作 维护用户、商品、订单以及管理员信息 3.2.4 预期目的预期目的 提高盒子维护的工作效率 通过全面简洁的信息查询、删除和修改方式,提高订单配送的工作效率 通过使用本系统,能达到全面高效的提高系统的管理水平、降低人力资源消 耗、 提高工作效率的目的 3.2.5 技术要求技术要求 数据库设计满足功能要求 数据库冗余度小,尽量满足

27、三范式要求 绘制数据库各数据表之间的关系图 建立数据库访问接口类,实现对数据库的访问 完成功能模块中的一个较小的功能,以测试数据库接口的正确性 4 系统详细设计系统详细设计 4.1 系统模块架构系统模块架构 系统模块架构图如图 5 所示: 商 城 管 理 用 户 管 理 商 品 管 理 订 单 管 理 页 面 管 理 盒 子 管 理 用 户 权 限 信 息 管 理 静 默 登 录 填 写 地 址 商 品 页 面 查 看 购 物 订 单 信 息 查 看 用 户 行 为 信 息 积 分 信 息 虚 拟 商 品 普 通 商 品 商 品 上 下 架 商 品 详 情 页 商 品 库 存 管 理 商 品

28、上 下 架 商 品 详 情 页 虚 拟 商 品 发 货 核 实 销 售 订 单 退 货 订 单 订 单 发 货 订 单 受 理 销 售 统 计 退 货 审 核 页 面 编 辑 页 面 流 量 统 计 盒 子 申 请 盒 子 维 护 盒 子 选 货 地 址 填 写 盒 子 消 费 退 盒 子 更 换 内 容 图 5 系统模块架构图 4.2 系统功能说明系统功能说明 4.2.1 系统登录模块系统登录模块 (1) 功能说明 这个模块是用的微信 openid,一个用户在一个公众号上的 openid 是唯一的12, 以此为用户账号,同时无需密码,不用用户手动填写登录信息,达到“静默登录” 的效果。 (2

29、) 功能特性 普通用户静默登录。 (3) 输入、输出 输入: 用户 openid 输出: 登录反馈 (4) 前提条件 用户关注服务号。 4.2.2 盒子设置模块盒子设置模块 盒子设置模块的流程图如图 6 所示。 开始 是否设置宿舍 选填宿舍地址 否 是否已存在该 宿舍 在盒子设置里选择 商品并提交 否 审核通过 四十八小时内不能 修改 结束 是 无法再次修改是 自动加载同寝室的 盒子信息 是 否 图 6 盒子设置流程图 (1) 功能说明 此模块为用户使用盒子功能的关键模块,主要完成盒子内容的设置和使用宿舍 的创建以及加入。 (2) 功能特性 普通用户基本操作。 (3) 输入、输出格式 输入:

30、微信接口提供的信息 用户填写信息 商品信息 输出: 提示信息 操作反馈 (4) 前提条件 用户关注服务号。 4.2.3 盒子内容更改模块盒子内容更改模块 盒子内容更改模块的流程图如图 7 所示。 (1) 功能说明 此模块为用户使用盒子功能的关键模块,主要完成盒子内容的日常更改。 (2) 功能特性 普通用户基本操作。 (3) 输入、输出格式 输入: 微信接口提供的信息 用户填写信息 商品信息 输出: 提示信息 操作反馈 在盒子设置里选择 商品并提交 审核通过 相同寝室四十八小 时内不能修改 结束 是 开始 添加商品到盒子设 置里 否 图 7 更改盒子内容流程图 (4) 前提条件 用户关注服务号。

31、 4.2.4 盒子管理员模块盒子管理员模块 盒子管理员模块的流程图如图 8 所示。 (1) 功能说明 此模块为管理员审核盒子申请的关键模块,主要完成商家盒子内容把控的主动 性。 (2) 功能特性 管理员特殊操作。 (3) 输入、输出格式 输入: 用户提交的申请信息 商品信息 输出: 审核结果 开始 用户提交盒子申请 是否给予通过 结束 是 否 图 8 盒子管理员流程图 (4) 前提条件 操作人有管理员权限。 4.2.5 基本商城功能模块基本商城功能模块 商城基本功能模块流程图如图 9 所示。 开始用户购买商品后台发货是否退货 结束 进入退货流程 否 是 图 9 商城基本功能模块流程图 (1)

32、功能说明 此模块人人商城的基础功能模块。 (2) 功能特性 面向全网所有用户。 (3) 输入、输出格式 输入: 用户提交的各种行为信息 商品信息 输出: 商城信息反馈 (4) 前提条件 商城正常运行即可。 4.3 数据字典数据字典 本系统模块一共有九张表,分别是:存储盒子管理员信息的盒子管理员表 tbl_admin,存储盒子内容信息的盒子表 tbl_box,存储地址信息的学校表 tbl_school,宿舍楼表 tbl_building,宿舍号表 tbl_dorm,学校宿舍号表 tbl_school_dorm,存储申请的申请表 tbl_submit,存储修改时间的时间表 tbl_time, 存储

33、用户信息的用户表 tbl_user。 盒子管理员表见表 1。 表 1 盒子管理员信息表 名类型长度是否主键能否为空备注 idint11是否主键 openidvarchar80否能 管理员 openid namevarchar10否能管理员姓名 盒子信息表见表 2。 表 2 盒子信息表 名类型长度是否主键能否为空备注 idint11是否主键 school_dorm_idint20否否宿舍 id goods_idint11否否商品 id boolint1否否是否存在 numint11否否商品数量 nowuseint1否否 是否在使用, 0 代表编辑状 态,1 正常使 用状态,2 代 表中间状态 学

34、校表,楼栋表,以及宿舍表分别见表 3,4,5。 表 3 学校表 名类型长度是否主键能否为空备注 idint11是否主键 schoolnamevarchar50否否学校名字 表 4 宿舍楼栋表 名类型长度是否主键能否为空备注 idint11是否主键 school_idint11否否学校 id dormvarchar50否否宿舍楼栋名 表 5 宿舍号表 名类型长度是否主键能否为空备注 idint11是否主键 school_buiding_idint11否否宿舍楼 id dormnumvarchar50否否宿舍号 学校宿舍表见表 6。 表 6 学校宿舍表 名类型长度是否主键能否为空备注 idint1

35、1是否主键 schoolnamevarchar50否否学校名字 dormitorynovarchar50否否宿舍楼号 dormnovarchar50否否宿舍号 creditvalueint11否能信用值 isnewint11否否 累计更改盒 子次数 申请表见表 7。 表 7 申请表 名类型长度是否主键能否为空备注 idint20是否主键 school_buiding_idint11否否宿舍楼 id openidvarchar80否否申请人 id timedatetime否否申请时间 时间表见表 8。 表 8 时间表 名类型长度是否主键能否为空备注 idint11是否主键 school_idin

36、t11否否学校 id settimedatetime否否修改时间 用户表见表 9。 表 9 用户信息表 名类型长度是否主键能否为空备注 idint11是否主键 school_idint11否否学校 id openidvarchar80否能用户 openid namevarchar20否能用户姓名 phonevarchar20否能用户手机号 5 系统实现系统实现 5.1 模块实现的理论基础模块实现的理论基础 这次选用的数据库是 mysql,利用 html+js+css 技术完成前端页面的设计开 发,用 php+ajax 技术完成后台逻辑功能的实现13。系统一共有五大模块,其详细 实现方法见以下各

37、小节。 5.2 系统登录模块的实现系统登录模块的实现 系统登录模块的逻辑是静默登录,采用微信接口拉取用户信息,因为人人商城 又对这个接口做了封装,所以本系统选择在人人商城里 ajax 传值到我的页面,完 成 openid 的传值,具体代码如下: 5.3 设置学校信息模块的实现设置学校信息模块的实现 首先通过用户的 openid 获取用户的名字以及头像信息,如图 10 所示,然后用 户填写信息,(其间有输入验证,如图 11 所示)。填写完成后,点击提交,完成信 息的填写,仅可填写一次,再次进入就只可以查看信息,如图 12 所示。此模块分别 和两个页面有关系,一个是填写信息页面,一个是选择学校宿舍

38、页面。 图 10 信息页面图 图 11 输入验证示意图 图 12 填写完成示意图 其关键逻辑有三个,第一是信息的拉取以及显示,关键代码如下: ?php echo ?php $rs=mysql_query(select * from tbl_school);/显示所有学校信息 while($rows=mysql_fetch_assoc($rs) echo .$rowsschoolname.; ? 第二个是信息输入的验证控制模块,关键代码如下: $(#submit).click(function() load_re2(); var deal=true; if($.cookie(school)=nu

39、ll) deal=false; $(#w_school).css(display:); if($.cookie(building)=null) deal=false; $(#w_building).css(display:); if($.cookie(dorm)=null) deal=false; $(#w_dorm).css(display:); if($(#name).val()=) deal=false; $(#w_name).css(display:); if($(#phone).val()=) deal=false; $(#w_phone).css(display:); 第三个是提交

40、信息后的数据库操作,关键代码如下: 0)/ echo 有学校;/说明已经有学校了 else echo 没学校; ? 5.4 盒子选货模块的实现盒子选货模块的实现 5.4.1 选货模块选货模块 用户在商品的罗列页以及详情页都有一个“添加”的按钮,点击这个按钮,将 通过 ajax 把值传到一个后台处理的 php 文件,完成数据库盒子表记录的插入和修 改操作。如图 13 所示。 其实现方式主要分为两部分,第一部分是在人人商城添加点击事件。具体代码 如下: $goodstitle 添加到盒子 var xhr = new xmlhttprequest(); /ajax 事件设置,以便接收返回的信息 xh

41、r.onreadystatechange = function() if(xhr.readystate=4) alert(xhr.responsetext); xhr.open(get, xhr.send(null); xhr.onreadystatechange = function() if(xhr.readystate=4) alert(xhr.responsetext); xhr.open(get, xhr.send(null); 图 13 盒子选货图 5.4.2 选货后编辑及提交模块选货后编辑及提交模块 选货之后,进入“盒子设置”页面,就可以看到已经选择的商品,在这个页面 上可以修改

42、商品的梳理,左滑出现删除按钮,点击可以删除商品,左侧有选中按钮, 选中后下方有个实时的数值计算,点击提交按钮就可以提交。如图 14 所示。 图 14 盒子设置编辑演示图 此模块的关键有四部分,第一部分是商品罗列,其代码如下所示: if(mysql_num_rows($rs_dorm)0)/预留判定条件 $rows_dorm=mysql_fetch_assoc($rs_dorm); $rs_goods=mysql_query(select goods_id,num from tbl_box where nowuse=0 and school_dorm_id=.(int)$rows_dormsch

43、ool_dorm_id);/根据组名选 出所有商品 while($rows_goods=mysql_fetch_assoc($rs_goods)/依次获取这个宿舍下的每个商 品的商品 id $nm=$rows_goodsnum; $goodsid=$rows_goodsgoods_id;/存的是这个宿舍里的所有的商品 id $rs_detail=mysql_query(select title,thumb,marketprice from ims_ewei_shop_goods where id=.(int)$goodsid);/从老表里获取每个商品的详情 $str=$str.$goodsid

44、.:.$nm.,; $rows_detail=mysql_fetch_assoc($rs_detail); $title=$rows_detailtitle; $img= $price=$rows_detailmarketprice; echo ; echo 删除 ; echo ;/在这里用数组写购物车 echo ; echo .$title.; echo ¥.$price.; echo ; echo -; echo ; echo + ; echo ; echo ; echo ; $nm=$rows_goodsnum; $goodsid=$rows_goodsgoods_id;/存的是这个宿舍

45、里的所有的商品 id $rs_detail=mysql_query(select title,thumb,marketprice from ims_ewei_shop_goods where id=.(int)$goodsid);/从老表里获取每个商品的详情 $str=$str.$goodsid.:.$nm.,; $rows_detail=mysql_fetch_assoc($rs_detail); $title=$rows_detailtitle; $img= $price=$rows_detailmarketprice; echo ; echo 删除 ; echo ;/在这里用数组写购物车

46、 echo ; echo .$title.; echo ¥.$price.; echo ; echo -; echo ; echo + ; echo ; echo ; echo ; echo + ; echo ; echo ; echo ; 第二部分是选中设置和实时计算数值,因篇幅问题,在这里简述一下它的逻辑: 获取罗列商品页的所有选中按钮的状态,然后完成根据每个商品的单价,数量,完 成相乘相加得出总的数值,填到固定位置。 第三部分是滑动删除特效,这里是调用一个第三方插件,具体代码如下: var countstr=$.cookie(sql_countstr);/获取 cookie var st

47、atus_process=eval( + countstr+ ); mui.init(); (function($) $(#oa_task_1).on(tap, .mui-btn, function(event) var elem = this; var li = elem.parentnode.parentnode; var str=li.id; var xhr = new xmlhttprequest(); xhr.open(get,./php/delete.php?goodsid=+str); xhr.send(null); li.parentnode.removechild(li);)

48、; var btnarray = 确认, 取消;/第二个 demo,向左拖拽后显示操作图标,释放后 自动触发的业务逻辑)(mui); 第四部分是提交后后台数据库处理,这一步完成后将会跳到审核页面,等待管 理员审核其盒子请求,此时用户可以看到自己提交了什么商品,但是是黑白颜色的, 如图 15 所示。 图 15 等待审核示意图 5.5 管理员审核模块管理员审核模块 首先,在后台管理员表里有记录的用户,是管理员,管理员的盒子界面的右下 角比普通用户多了个圆形的按钮,上面有“审核”的字样,点击之后,就会跳转到 审核页面。在审核页面罗列着最近七天的盒子请求条目,其中第一次请求的条目上 多了“new”字样

49、,单击每个条目会下拉展开显示请求的具体内容,左滑会出现审 核选项按钮。如图 16 所示。 此模块主要有两部分组成,第一是请求的罗列与编辑,这一部分的逻辑和本章 第四节的罗列编辑商品是一样的,所以不予重复粘贴代码。 第二部分是后台数据库的操作。当选择审核通过时,将会更新用户请求的所有 商品的状态,接下来用户在 48 小时内不得再次修改,其代码如下: mysql_query(set names utf8); mysql_query(delete from tbl_box where school_dorm_id=$school and nowuse=1);/清空 mysql_query(updat

50、e tbl_school_dorm set isnew=isnew+1 where id=$school);/变成 mysql_query(update tbl_box set nowuse=1,bool=1 where school_dorm_id=$school and nowuse=2);/重新加入 ? 图 16 审核页示意图 审核通过后将会跳往“我的盒子”页面,接下来就可以正常使用盒子了,如图 17 所示,用户在审核页的黑白色商品将会全部转移到“我的盒子”里,并且变成彩 色,点击这些商品,就会跳转到所选商品的详情页面商品详情页,然后就可以进行 商品购买。 图 17 正常盒子页面 5.6

51、 人人商城到盒子模块的跳转人人商城到盒子模块的跳转 系统采用了在首页放了一个悬浮按钮的方案,并且通过绝对路径,将其点击事 件设置为跳往盒子页面。同时在个人中心增加了到盒子设置和学校设置的跳转,到 此为止,人人商城盒子模块的开发,告一段落。 5.7 双支付接入双支付接入 微擎提供了一个支付封装类,比直接调用微信以及支付宝要方便,在任意一个 界面调用父类的 this-pay 方法,然后传入订单号,金额等信息即可完成支付。其底 层其实还是两个支付接口的调用。 6 系统测试系统测试 6.1 概述概述 测试就是做查漏补缺的工作14,程序开发是不可能一步到位的,其间好多问题 都是通过系统测试发现并解决的,

52、系统也需要反复的修改才能完善,从而才能慢慢 的契合用户的需求。这样,整个开发过程才是完整的15。 6.2 系统测试用例系统测试用例 系统测试用例表见表 10。 表 10 系统测试用例表 用例编号测试项目输入及操作预期结果实际结果是否通过 bmhz-01用户登录点击进入商城 自动进入商城, 无需登录 与预期相同通过 bmhz-02进入学校设置 点击个人中心, 点击我的学校 进入我的学校 设置页,并且 显示微信头像 与预期相同通过 bmhz-03 学校、宿舍选 择 点击各个选项 进入选项页面, 选中某个选项 后跳回设置页 面,并将选择 结果显示出来 与预期相同通过 bmhz-04 姓名与电话的 填写以及输入 验证控制 部分信息没填 提示信息填写 不完善,无法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论