1、1北 京 邮 电 大 学 网 络 教 育 学 院毕 业 设 计设 计 题 目 :电子商务网站设计与实现 入 学 年 月 年 月姓 名 学 号 专 业 计算机科学与技术总站/学习中心 北京邮电大学网络教育学院北京直属站指 导 教 师 年 月2毕业设计(论文)中文摘要摘要 当今世界网络、通信和信息技术快速发展、因特网(Internet)在全球迅速普及,使得现代商业具有不断增长的供货能力、不断增长的客户需求和不粉白眉黛黑增长的全球竞争三大简授画戎筹,使得任何一个商业组织都必须改变自己的组织结构和运行方式来适应这种全球性的发展和变化。随着信息技术的国际贸易和商业领域的广泛应用,利用计算机技术、网络通信
2、技术Internet实现商务活动的国际化、信息化和无纸化,已成为各国商务发展的一大趋势。电子商务正是为了适应这种以全球为市场的变化而出现和发展起来的。从形式上来说,电子商务主要指利用Web提供的通信手段在网上进行交易活动,包括通过Internet买卖产品和提供服务。是一种依托现代信息技术和网络技术,集金融电子化、管理信息化、商贸信息网络化为一体,旨在实现物流、资金流与信息流和谐统一的新型贸易方式。本文作者以一个小型销售型公司的业务为模型,对此公司业务进行详细调研,结合目前跨平台的PHP开发语言,采用Linux+Nginx+Mysql+PHP技术。关键词电子商务 PHP JavaScript 系
3、统设计 B2C 数据库 3目录一、绪论 11. 选题背景 12. 实现目标. 23. 可行性分析. 24. 其他. 3二、需求分析. 41. 电子商务平台业务分析. 42. 功能需求分析. 53. 系统性能需求9三、系统设计.101. 电子商务网站平台体系结构设计1042. 功能模块设计.103. 数据库设计.123.1 概念数据库设计.123.2 逻辑数据库设计.133.3 物理数据库设计.144. 软件和硬件选择.27四、系统实现.281. 后台权限管理模块.282. 分类管理的实现 .323. 商品管理的实现.354. 商品销售管理的实现3955. API路由实现模块416. 登录校验模
4、块427. 数据库的访问43五、平台的部署与发布.45六、系统测试.471. 测试的方法.472. 测试中发现的问题及解决方案.493. 测试的感想.51七、总结.52八、参考文献.54九、附录.551第一章 绪论1.1 选题背景电子商务通常是指在全球各地广泛的商业贸易活动中,在因特网开放的网络环境下,基于浏览器/服务器应用的方式,买卖双方不谋面地进行各种商贸活动,实现消费者的网上购物,商户之间的网上交易和在线电子支付以及各种商务活动、交易活动、金融活动和相关的综合服务活动。从21世纪90年代以来,信息化浪潮席卷了全球,给传统的运作和管理模式带来了巨大的冲击。越来越多的传统企业认为以网络化、知
5、识管理、全球化为主要特征的新经济已经是一个不可逆转的趋势,电子商务化已成为了企业发展的必由之路。我国电子商务自1999年进入了实践运作的阶段,消费类电子商务网站开始大量的涌现,基于Internet的电子商务可以分为三个方面:信息服务、交易、支付。电子商务作为 Internet 爆炸式发展的直接产物是网络技术应用的全新的发展方向具有开放性、全球性、低成本、高效率的特点使其具有大大超越原始的贸易形式所具有的价值,改变企业本身的生产、经营管理活动而且影响到整个社会的经济运行结构。目前,电子商务在我国已经成型,最具代表性的就是淘宝天猫的电商平台,该平台在 2015 年“双 11”狂欢购物节中,交易额达
6、到912.17 亿,从这么高的交易额可以看出,现在在我国,电子商务平台的用户量已经达到了很高的数量,并且每天使用电子商务平台来实现买卖行为的用户量还在不断的上升。当下电子商务不仅成为多数企业间进行贸易的主要手段,还成为企业之间、2企业对个人、个人对个人之间重要的交易方式,B2C(企业对个人)模式就是其中之一。对企业来讲,电子商务能否可持续发展的重要因素,取决于企业电子商务系统是否安全稳定、结构合理、功能齐全、操作简便等并有效的去管理。对顾客或者消费者来说,制约商务活动完成的主要因素是商家的信誉和商品质量及其价格。在双方都满意的前提下商务活动才算完成。电子商务能有效提高客户的商务运作,可以作为企
7、业提供相关问题的解决方案。所以,设计并开发B2C 电子商务网上购物系统具有非常大的市场价值。本课题降在 LNMP 架构下建立一套可行的企业电子商务网上购物系统,验证使用电子商务系统促使中小企业经济发展的作用。1.2 实现目标基于 PHP+MYSQL 的电子商务网站管理系统是以“大米”网上商城作为研究 对象。后台语言是使用了电商平台中比较常用的 PHP 语言,而数据库则采用的是轻量级开源的 MySQL 数据库,前台使用的是 JAVASCRIPT 脚本语言。它是一个B2C 的电商网站,所谓 B2C 就是 Businessman to Customer,企业直接将商品卖给消费者的网站。网站的主要功能
8、是可以在线浏览商品,注册用户,登陆,添加购物车,结算,提交订单,评价商品等。为了带给用户更好的视觉体验,前端使用 JAVASCRIPT 脚本和 H5 页面,让顾客更加流畅地选择喜欢的商品,提高网站的人气。并且网站还提供了便捷的后台管理系统,管理员可以登录编辑维护网站的信息,也能方便的管理订单,管理用户,操作商品信息,提高网站的运营效率。 总之,“大米”网上商城一定会采用更好的交互方式带给用户以方便贴心的体验,让顾客买的舒心、用着放心。 1.3 可行性分析31.3.1 技术可行性分析本系统采用了 Linux+Nginx+PHP+Mysql 进行开发,使用的是前端通过 Ajax调用接口的形式,然后
9、渲染出页面,各种友好的提示信息,使用户使用起来更加顺手。后台采用开源的 Mysql 数据库,一些关键的逻辑步骤添加了事务处理,增加了系统的错误处理能力。所部署的环境采用 Linux 系统和 Nginx 反向代理服务器,使用方便,能够提供稳定的运行环境,并且更加安全可靠。在业界普遍使用 LNMP 的架构,已经得到了比较广泛的应用,像小米,美团等一些大型互联网公司都是采用此架构,已经有了很多的例子证明此套技术是可行的。1.3.2 操作可行性分析系统采用了 B/S 的架构,用户可以直接通过浏览器访问网站,不需要很高的成本,只要能联网就可以正常访问。后台系统也同样,管理员也是通过浏览器就可以直接操作后
10、台,简单方便。1.3.3 经济可行性分析由于该系统是模拟的电子商务系统,开发成本并不高,实现整体的购买流程就可以了。整个过程由两到三个人参与,需要一台 Linux 服务器和域名,直接租用阿里云的服务器即可。硬件需求不是很高,软件也都是使用开源的免费软件,直接部署就行了。在经济上耗费少,比较实惠,但不缺乏功能。1.4 其他在通过以上的调查和分析,已经有成功的案例及足够的条件去实现该系统,相信在共同的努力下,该网站一定会达到其预期的效果。4第二章 需求分析2.1 电子商务平台业务分析在开发任何系统之前,首先要做的就是对系统的功能、性能提前进行分析,这个阶段就成为需求分析阶段。需求分析一定是建立在可
11、行性的基础之上的,工作中一般都是需要产品经理对系统进行功能描述,和开发一起讨论流程,然后整理成完整的需求文档。根据这几年在互联网公司工作的了解,一个电商网站最主要的业务就是卖东西,要卖东西必须的功能就是用户可以浏览,下单购买。因此,电子商务平台主要可以分两个方面,前台和后台。前台主要是面向用户的,主要功能有注册,登录,商品分类,商品列表,商品详情,添加购物车,结算,下单,支付,查看订单,地址管理等。后台主要是面向管理员的,它的功能要有商品管理,订单管理,会员管理,系统设置,权限管理等。通过这些所有的业务功能组成一个完整的电子商务网站。网上购物系统的操作都比较简单,不需要用户有很高的学习成本,只
12、需要按照系统提示流程完成操作即可。简单归纳购物系统的总体业务流程图如图 2-1 所示。5图 2-1 系统业务流程图2.2 功能需求分析根据业务的分析,大致归纳了网站所需要的主要功能,具体的功能需求如下:1. 任何用户都可以浏览商品2. 任何用户都可以注册成为网站会员3. 会员可以添加购物车,并在线购买商品以及支付4. 会员可以添加并管理自己的地址5. 会员有查看订单详情的功能6. 网站管理员可以发布、编辑商品,管理商品的上下架和分类等7. 网站管理员可以进行订单管理8. 网站管理员可以管理网站的会员69. 网站后台的权限管理综上所述,根据系统的功能需要,大致可以分为:商品分类及详情、会员注册登
13、录、购物车及结算、会员地址管理、会员订单管理、商品管理、订单管理、会员管理、权限管理这九个模块。系统的功能模块如图 2-2 所示。图 2-2 系统功能模块图下面对系统的各个功能模块进行详细的描述:1. 商品分类及详情模块本模块的主要功能是归纳商品的分类和展示,可以使用户更快更方便的找到自己想要买的商品。商品分类:管理员把商品添加到系统中,首先要按照商品类型及属性对商品进行一个分类,例如手机充电线、手机壳、电池等。商品详情:展示商品的详情图片及属性信息、价格、颜色、是否缺货等。72. 会员注册登录模块注册:用户输入个人的资料,例如:邮箱、用户名、密码、性别等登录:检查用户的登录状态,如果用户没有
14、登录,则不能进行购物相关的流程。3. 购物车及结算模块购物车:已经登录的用户可以把自己想要买的商品添加进入购物车,也可以对购物车进行编辑或者删除购物车里面的商品。结算:结算页面就是从购物车进去,去进行下单的前一步操作,需要选择用户的收货地址、支付方式、配送方式以及发票等相关信息。4. 会员地址管理模块地址管理:可以让已登录的用户新增、编辑或者删除收货地址,可以添加多个收货地址。5. 会员订单管理订单管理:已登录的用户可以查看自己的订单列表和订单详情,也可以取消未支付的订单。6. 后台商品管理模块商品管理模块可分为三大块为:基础设置,内容管理和销售管理。每一个大块都可以分成多个小的模块。基础设置
15、包括:品牌管理,属性管理,规格管理和商品分类。内容管理包括:商品列表,商品内容的添加和修改。销售管理包括:货品的上下架,改库存,改价格等操作。品牌管理:商品所属的品牌,其中包含品牌的一些相关属性,品牌是在创8建商品的时候选择的。属性管理:属性管理就是填写一些商品的属性,然后把属性挂载到分类上,在这个分类下创建商品的时候就生成了一套属性的模板,为了规范化商品的创建。规格管理:商品是分为两级的,第一级是商品,第二级是货品,货品是通过规格做区分的,比如玫瑰是一个商品,粉色、红色、蓝色等就是其下面的货品,销售的是货品的层级。商品分类:分类就是把商品归类管理,需要创建并编辑分类,在创建商品的时候选择分类
16、。商品列表:展示商品的相关信息,后台用户可以编辑和查看详情。添加商品:添加商品包括填写商品的基本信息、属性、详细描述、规格和商品相册。销售管理:这里是针对货品做一些销售属性的操作,比如上下架,调库存,调价格等。7. 订单管理模块订单管理:管理员可以查看所有会员的订单详情,可以关闭会员长时间未支付的订单,也可以更新订单的订单状态,例如发货后填写物流相关信息。8. 会员管理模块会员管理模块主要对会员的账号进行管理。会员账号安全:在交易的过程中,会员的账户安全非常重要,管理员不能修改或者浏览会员的所有信息,只能进行一些有限度的管理,例如查询或者搜索用户的信息,设置等级或者设置初始密码,添加用户的操作
17、。99. 权限管理模块权限管理可以分为节点管理,角色管理,导航管理和用户列表。节点管理:就是添加需要进行权限分配的节点。角色管理:通过角色绑定不同的权限节点。导航管理:定义后台左侧导航的列表。用户列表:对用户进行增删改查,并且创建用户的时候要选择用户所属的角色,从而进行权限的判断。2.3 系统性能需求除了对系统业务功能进行确定之外,在软件开发的阶段不仅要把系统功能作为重点,同样要关注于系统的性能,系统的性能往往对整个系统有至关重要的作用。高并发时的业务处理能力一般都是电商网站的瓶颈,所以也要高度重视性能。系统性能的需求大致可以分为以下几个方面:1. 时间特性系统的响应时间应在人得感觉和视觉范围
18、内(1s) ,系统响应时间足够迅速,才能满足用户的需求,不然让用户等待时间过长的话,用户就可能流失。2. 适应性在操作方式、运行环境、软件接口活开发计划等发生变化时,也要具有适应的能力。3. 安全保密性只有通过合法登录的用户才能使用此系统,对每个用户的登录名、密码以及用户的敏感信息都要进行加密存储,保证其信息的安全。4. 可维护性10系统必须要记录执行日志,可以随时查询崩溃信息和执行记录,代码结构要清晰,便于人员进行维护。第三章 系统设计3.1 电子商务网站平台体系结构设计根据前面的业务、功能及性能的需求分析,已经对所要做的系统有了一个大概的规划,整个系统的架构就是使用 LNMP 技术去实现服
19、务端,客户端则使用H5 页面通过 Ajax 调用服务端接口的形式开发。整个系统分为前台和后台两大部分,后台也会同时提供一套 API 接口的服务供前端去使用,页面的渲染让客户端去干,而不是在服务端直接返回,这样做的一个最大的好处就是,降低服务器 CPU 和内存的消耗,大流量的情况下,这样做的效果还是很明显的。同时这样做还便于不同客户端的接入,比如手机网页版或者手机 APP,都可以直接接入 API 接口,降低开发的工作量。数据库还是使用开源的 Mysql,成本低,也便于维护。3.2 功能模块设计功能模块设计可以分为前台和后台,前台主要的功能就是面向用户的,让用户可以正常的购买商品,后台主要做一些网
20、站的管理。3.2.1 前台功能模块设计前台功能模块主要是 H5+JavaScript+Ajax 实现的。用户访问某个页面,JavaScript 通过路由关系找到响应的方法,然后通过 Ajax 调用 API 的接口,获取到数据之后找到对应的模板文件,然后渲染出页面,前台的结构逻辑很简单,没有什么复杂的操作。需要考虑的就是怎么去实现路由关系和模板文件的对应关系。下面简单介绍一下 H5、JavaScript 和 Ajax:11H5:是 HTML5 的缩写,它是超文本标记语言的第五次重大修改,其设计目的是为了能在移动设备上支持多媒体,并且还引进了很多新的功能,可以改变用户与文档的交互方式,新的功能有:
21、设备兼容性、链接特性、网页多媒体特性、三位和图形的特效,它还增加了本地存储的功能,就是可以把数据存储到用户的浏览器中,有了这些功能可以做很多事情去提升网站的效率。JavaScript:它是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它是需要通过 JavaScript 引擎来解释执行的,这个引擎是浏览器的一部分。它是广泛用户客户端的脚本语言,用来给 html 网页增加动态功能。Ajax:它是指一种创建交互式网页应用的网页开发技术,它不是一种新的编程语言,而是一种用户创建更好更快已经交互性更强的 Web 应用程序的技术。通过在后台异步的和服务器进行少量数据交换,而实现
22、页面的更新。3.2.2 后台功能模块设计后台功能模块可以分为两个部分,第一部分是后台功能,第二部分是 API接口。后台功能:后台的设计采用 H5+Bootstrap+CodeIgniter+PHP+Mysql 这样的结构。前面已经介绍了 H5,下面再分别介绍一下其他用到的技术:CodeIgniter:这个是一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它可以为开发者们建立功能完善的 WEB 应用程序。它的目标是让你能够更快速的开发,它提供了日常任务中所需要的大量类库,以及简单的接口和逻辑结构。通过少量的代码,让你更加专注于你的创造性工作。Bootstrap:它是一个 We
23、b 前端 CSS 框架,是基于 Html、CSS、JavaScript12的,简洁灵活,使得 Web 开发更加快捷。它提供了优雅的 Html 和 CSS 规范,是由动态 CSS 语言 Less 写成的。Mysql:是一个关系型数据库管理系统,由瑞典 MYSQL AB 公司开发,目前属于 Oracle 旗下公司。它由于体积小、速度快、总体拥有成本低,一半中小型网站的开发都选择 Mysql 作为网站数据库。API 接口:这一层没有用到任何的框架,只是用 PHP 简单封装了一套路由规则,然后按照请求链接去对应的模块完成数据的处理和返回。这里面要注意的是做好参数的校验和登陆状态的判断。存储是 Mysq
24、l+Redis,Redis 用于做缓存存储。简单介绍一下 Redis:Redis:是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日执行、Key-Value 数据库,并提供多种语言的 API。3.3 数据库设计数据库设计是指对于一个给定的应用环境,构造最优的数据库模型,简历数据库及其应用系统,使之能够有效的存储数据,满足各种用户的应用需求。上面我们已经分析了商城的需求,下面我们要开始设计数据库。3.3.1 概念数据库设计根据以上的需求分析,简单画出商品、订单和购物车之间的 ER 图如下:13图 3-1 实体之间总体 ER 图由此可知,用户和购物车之间、用户和订单之间、
25、订单和购物车之间、管理员和用户、购物车、商品、订单之间都是一对多的关系。商品和购物车之间、用户和商品之间是多对多的关系。3.3.2 逻辑数据库设计数据库的逻辑设计结束之后,可以将逻辑结构转化为某种实际数据模型,即数据库的逻辑结构:pms_brand(品牌表):品牌名、品牌描述、品牌链接等pms_attr(属性表):属性名、属性输入类型、属性状态等pms_attr_value(属性值表):属性 ID、属性值、属性值状态等pms_spec(规格表):规格名、规格备注、创建时间等pms_spec_value(规格值表):规格 ID、规格值等14pms_category(商品分类表):分类 ID、分类
26、名称、描述等pms_category_attr(商品分类属性表):分类 ID、属性 ID、是否筛选等pms_product(商品表):分类 ID、品牌 ID、规格 ID、商品名等pms_product_attr(商品属性表):商品 ID、属性 ID、属性值 ID 等pms_goods(货品表):商品 ID、规格 ID、规格值 ID、货品名等pms_goods_gallery(货品相册表):货品 ID、图片路径、图片状态等pms_user(用户表):用户名、密码、邮箱、性别等pms_menu(菜单表):导航名称、节点 ID、导航父 ID 等pms_node(节点表):目录、控制器、方法等pms_
27、role(角色表):角色名、角色状态pms_auth(角色与节点对应表):节点 ID、角色 IDuser(前台用户表):用户名、密码等cart(购物车表):用户 ID、商品 ID、商品数量等address(地址表):省市区、详细地址、邮编、电话、姓名等order(订单表):订单号、用户 ID、订单状态、订单总价、订单时间、收货人姓名、收货人电话、收货人地址、快递公司、快递单号、备注等order_item(订单详情表):订单号、商品 ID、商品数量、商品价格等3.3.3 物理数据库设计根据以上的分析,现对逻辑结构进行详细的描述。现设计数据表如下:表 3-1 品牌表 pms_brand字段名称 字
28、段说明 字段类型 键 可否为空15brand_id 品牌 id mediumint(10) primary 否name 品牌名称 varchar(128) no 否aliases 品牌别名 varchar(128) no 否info 品牌描述 text no 否link 品牌链接 varchar(255) no 否breeding 育种地 varchar(128) no 否production 生产地 varchar(128) no 否is_show 是否显示 tinyint(3) no 否is_delete 是否删除 tinyint(3) no 否sort 排序 tinyint(3) key
29、 否add_time 创建时间 int(10) no 否update_time 更新时间 int(10) no 否表 3-2 属性表 pms_attr字段名称 字段说明 字段类型 键 可否为空attr_id 属性 id mediumint(10) primary 否name 属性名称 varchar(64) no 否field_type 属性输入类型 tinyint(3) no 否is_delete 是否删除 tinyint(3) no 否add_time 创建时间 int(10) no 否update_time 更新时间 int(10) no 否16表 3-3 属性值表 pms_attr_v
30、alue字段名称 字段说明 字段类型 键 可否为空attr_value_id 属性值 id mediumint(10) primary 否attr_id 属性 id mediumint(10) no 否name 属性值名称 varchar(32) no 否is_delete 是否删除 tinyint(3) no 否add_time 创建时间 int(10) no 否update_time 更新时间 int(10) no 否表 3-4 规格表 pms_spec字段名称 字段说明 字段类型 键 可否为空spec_id 规格 id smallint(3) primary 否name 规格名称 var
31、char(64) no 否remark 备注 varchar(64) no 否is_delete 是否删除 tinyint(3) no 否add_time 创建时间 int(10) no 否update_time 更新时间 int(10) no 否表 3-5 属性值表 pms_spec_value字段名称 字段说明 字段类型 键 可否为空17spec_value_id 属性值 id mediumint(10) primary 否spec_id 属性 id smallint(3) no 否name 属性值名称 varchar(32) no 否is_delete 是否删除 tinyint(3) n
32、o 否add_time 创建时间 int(10) no 否update_time 更新时间 int(10) no 否表 3-6 商品分类表 pms_category字段名称 字段说明 字段类型 键 可否为空category_id 分类 id mediumint(10) primary 否name 分类名称 varchar(64) no 否name_alias 分类别名 varchar(64) no 否description 分类描述 varchar(255) no 否parent_id 父分类 id mediumint(10) no 否icon 分类图标 varchar(255) no 否m_
33、icon 移动端图标 varchar(255) no 否is_show 是否显示 tinyint(3) no 否is_highlight 高亮显示 tinyint(3) no 否show_in_nav 是否在导航显示tinyint(3) no 否sort 排序 tinyint(3) no 否18highlight_sort 高亮排序 tinyint(3) no 否is_delete 是否删除 tinyint(3) no 否add_time 创建时间 int(10) no 否update_time 更新时间 int(10) no 否表 3-7 商品分类属性表 pms_category_attr字
34、段名称 字段说明 字段类型 键 可否为空category_attr_id 分类属性 id int(10) primary 否category_id 分类 id mediumint(10) no 否attr_id 属性 id mediumint(10) no 否is_require 是否必填 tinyint(3) no 否is_search 是否用于筛选tinyint(3) no 否search_sort 筛选排序 tinyint(3) no 否sort 排序 tinyint(3) no 否is_delete 是否删除 tinyint(3) no 否add_time 创建时间 int(10) n
35、o 否update_time 更新时间 int(10) no 否表 3-8 商品表 pms_product字段名称 字段说明 字段类型 键 可否为空19product_id 商品 id int(10) primary 否category_id 分类 id mediumint(10) no 否brand_id 品牌 id mediumint(10) no 否spec_id 规格 id smallint(3) no 否name 商品名称 varchar(255) no 否short_name 商品短名称 varchar(255) no 否keywords 搜索关键词 varchar(255) no
36、 否description 商品描述 varchar(255) no 否info 商品详情 text no 否m_info 移动端商品详情text no 否is_sale 是否上架 tinyint(3) no 否market_price_min 市场价 decimal(10,2) no 否market_price_max 市场价 decimal(10,2) no 否price_min 销售价 decimal(10,2) no 否price_max 销售价 decimal(10,2) no 否is_show 是否显示 tinyint(3) no 否sort 排序 tinyint(3) no 否i
37、s_delete 是否删除 tinyint(3) no 否add_time 创建时间 int(10) no 否update_time 更新时间 int(10) no 否20表 3-9 商品属性表 pms_product_attr字段名称 字段说明 字段类型 键 可否为空product_attr_id 商品属性idint(10) primary 否product_id 商品 id int(10) no 否attr_id 属性 id mediumint(10) no 否product_attr_value 商品属性值varchar(64) no 否product_attr_value_id 商品属
38、性值 idint(10) no 否is_show 是否显示 tinyint(3) no 否sort 排序 tinyint(3) no 否is_delete 是否删除 tinyint(3) no 否add_time 创建时间 int(10) no 否update_time 更新时间 int(10) no 否表 3-10 货品表 pms_goods字段名称 字段说明 字段类型 键 可否为空goods_id 货品 id bigint(20) primary 否product_id 商品 id int(10) no 否21spec_id 规格 id smallint(3) no 否spec_value
39、_id 规格值 id mediumint(10) no 否goods_name 货品名称 varchar(255) no 否goods_shor_name 货品短名称 varchar(255) no 否market_price 市场价 decimal(10,2) no 否price 销售价 decimal(10,2) no 否reserve_stock 保留库存 mediumint(10) no 否is_sale 是否上架 tinyint(3) no 否buy_limit 购买数量限制tinyint(3) no 否sku sku int(10) no 否stock 库存 int(10) no
40、否icon_name 规格别名 varchar(32) no 否highlight 重点货品 tinyint(1) no 否sort 排序 tinyint(3) no 否is_delete 是否删除 tinyint(3) no 否add_time 创建时间 int(10) no 否update_time 更新时间 int(10) no 否表 3-11 货品相册表 pms_goods_gallery字段名称 字段说明 字段类型 键 可否为空22goods_gallery_id 货品图片 id int(10) primary 否goods_id 货品 id bigint(20) no 否path
41、图片路径 varchar(255) no 否quality 图片质量 tinyint(3) no 否sort 排序 tinyint(3) no 否is_delete 是否删除 tinyint(3) no 否add_time 创建时间 int(10) no 否update_time 更新时间 int(10) no 否表 3-12 会员表 pms_user字段名称 字段说明 字段类型 键 可否为空user_id 用户 ID int(11) primary key 否user_name 用户名 varchar(50) no 否password 密码 varchar(50) no 否email 邮箱
42、varchar(50) no 否phone 电话 varchar(20) no 否real_name 用户真实名称 varchar(64) no 否role_id 用户组 ID int(11) no 否icon 头像 varchar(100) no 否status 用户状态 tinyint(3) no 否last_ip 最后登录 IP varchar(15) no 否23last_time 最后登录时间 int(10) no 否add_time 创建时间 int(10) no 否update_time 更新时间 int(10) no 否表 3-13 菜单表 pms_menu字段名称 字段说明
43、字段类型 键 可否为空id 菜单 id smallint(3) primary 否title 导航名称 varchar(32) no 否node_id 节点 id mediumint(10) no 否p_id 导航父 id smallint(3) no 否sort 排序 tinyint(3) no 否icon_name 图标名称 varchar(32) no 否status 状态 tinyint(3) no 否表 3-14 节点表 pms_node字段名称 字段说明 字段类型 键 可否为空id 节点 id mediumint(10) primary 否dirc 目录 varchar(20) n
44、o 否cont 控制器 varchar(20) no 否func 方法 varchar(20) no 否memo 备注 varchar(25) no 否24status 状态 tinyint(3) no 否表 3-15 角色表 pms_role字段名称 字段说明 字段类型 键 可否为空id 角色 id smallint(3) primary 否role_name 角色名称 varchar(25) no 否status 状态 tinyint(3) no 否表 3-16 权限表 pms_auth字段名称 字段说明 字段类型 键 可否为空node_id 节点 id mediumint(10) no
45、否role_id 角色 id smallint(3) no 否表 3-17 前端会员表 user字段名称 字段说明 字段类型 键 可否为空id 用户 ID int(11) primary key 否username 用户名 varchar(50) no 否password 密码 varchar(50) no 否email 邮箱 varchar(50) no 否tel 电话 varchar(20) no 否icon 头像 varchar(100) no 是25status 用户状态 tinyint(3) no 否nickname 昵称 varchar(50) no 是表 3-18 购物车表 ca
46、rt字段名称 字段说明 字段类型 键 可否为空cart_id 购物车 ID int(11) primary key 否user_id 用户 ID int(11) no 否product_id 商品 ID int(11) no 否product_num 商品数量 smallint(5) no 否price 商品价格 decimal(10,2) no 否表 3-19 地址表 address字段名称 字段说明 字段类型 键 可否为空address_id 地址 ID int(11) primary key 否user_id 用户 ID int(11) no 否province 省份 varchar(20) no 否city 城市 varchar(20) no 否district 区 varchar(20) no 否address 详细地址 varchar(255) no 否tel 收货人电话 varchar(20) no 否zipcode 邮编 char(6) no 否