【最新原创毕设】基于Flask的在线购物网+85114(免费领源码)可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C#、C++、python、数据可视化、大数据、全套文案

目录

1 绪论

1.1 课题背景及意义

1.1.1 课题背景

1.1.2 课题意义

1.2 研究现状

1.2.1 国外研究现状

1.2.2 国内研究现状

2 开发工具和开发平台

2.1关键性知识及技术简介

2.1.1 HTML5介绍

2.1.2 Flask框架概述

2.2 数据库

2.3 开发环境及工具

3 系统分析

3.1 可行性分析

3.2 功能需求分析

3.2.1 功能需求分析

3.2.2 非功能性需求分析

3.3 数据库需求分析

3.4 性能需求分析

4 系统设计

4.1功能结构图分析

4.2 数据库结构分析

4.2.1 数据库E-R图

4.2.2 数据库表设计

5 系统实现

5.1 前台用户功能模块

5.1.1 前台首页

5.1.2注册界面

5.1.3登录界面

5.1.4 网购公告界面

5.1.5 网购资讯界面

5.1.6 购物中心详情界面

5.1.7个人中心界面

5.2后台功能模块

5.2.1卖家后台管理首页界面

5.2.2管理员用户管理界面

5.2.3资讯管理界面

5.2.4 商城管理购物中心界面

5.2.5 分类列表界面

6 系统测试

6.1 测试目的

6.2测试用例

6.3 测试总结

7 总结与展望

7.1总结

7.2展望

Flask基于HTML5技术的在线购物网

摘要:近年来,电子商务的快速发展引起了行业和学术界的高度关注。基于HTML5技术的在线购物网旨在为用户提供一个简单、高效、便捷的微商产品购物体验,它不仅要求用户清晰地查看所需信息,而且还要求界面设计精美,使得功能与页面完美融合,从而提升系统的可操作性。因此,我们需要深入研究信息内容,并利用技术手段来完善基于HTML5技术的在线购物网。

首先,论文分析了在线购物网的需求和功能,包括前台的首页、网购公告、网购资讯、购物中心、商城管理和后台的公共管理(轮播图、网购公告)、用户管理、资讯管理、商城管理、退货退款、申请调解、调查信息等。该系统旨在提供一个便捷的在线购物网站,供用户一站式购买商品。然后,系统基于HTML技术和Flask框架,使用MySQL数据库进行数据存储,并结合前端技术实现了用户界面的设计。通过该系统,用户可以浏览商品信息、下单购买、管理个人订单、地址等功能。本文详细描述了系统的功能需求、数据库设计、系统架构和主要模块的实现过程。通过测试和验证,该系统达到了预期的目标,为商品线上销售提供了有效的支持。

关键词:在线购物;html5;flask

Flask's Online Shopping Network Based on HTML5 Technology

Abstract: In recent years, the rapid development of e-commerce has attracted high attention from the industry and academia. The online shopping website based on HTML5 technology aims to provide users with a simple, efficient, and convenient shopping experience for micro commerce products. It not only requires users to clearly view the required information, but also requires exquisite interface design to perfectly integrate functions and pages, thereby improving the operability of the system. Therefore, we need to conduct in-depth research on information content and utilize technological means to improve online shopping websites based on HTML5 technology.

Firstly, the paper analyzes the requirements and functions of online shopping websites, including the front desk homepage, online shopping announcements, online shopping information, shopping centers, mall management, and public management in the background (such as carousels and online shopping announcements), user management, information management, mall management, returns and refunds, application mediation, investigation information, etc. The system aims to provide a convenient online shopping website for users to purchase goods in one stop. Then, the system was based on HTML technology and Flask framework, using MySQL database for data storage, and combined with front-end technology to achieve user interface design. Through this system, users can browse product information, place orders for purchases, manage personal orders, address, and other functions. This article provides a detailed description of the system's functional requirements, database design, system architecture, and the implementation process of the main modules. Through testing and verification, the system has achieved the expected goals and provided effective support for online sales of goods.

Keywords: online shopping; html5; flask

1 绪论

1.1 课题背景及意义

1.1.1 课题背景

随着互联网的发展和智能手机的普及,电子商务已经成为人们进行购物的重要渠道之一。随之而来的是对用户体验的需求不断增加。用户期望能够方便快捷地浏览商品信息、进行购买、支付和物流跟踪等一系列操作。智能手机和平板电脑的普及,人们越来越倾向于使用在线购物服务进行商品购买。因此,优化和改进在线购物体验已经成为电子商务企业的一项重要任务[1]。

在过去,传统的网页技术例如HTML和CSS无法提供丰富的交互和动态效果,使得在线购物网站的用户体验局限于简单的展示和购买过程。然而,HTML5作为一种新一代的网页标准,弥补了这一不足,为在线购物网站提供了更多的创新和功能性。

HTML5具有许多强大的特性,例如语义化标签、本地存储、多媒体支持、地理定位等,可以提供更加直观、互动和个性化的用户体验。同时,HTML5还具有跨平台兼容性,可以在不同的设备和浏览器上实现一致的展示效果,大大降低了开发和维护成本[2]。

本研究旨在利用HTML5技术实现一个基于在线购物的网站。通过深入研究和分析HTML5的特性和优势,结合用户需求和市场趋势,设计和开发一个创新且高效的在线购物平台。通过提供更加便捷、快速和个性化的购物体验,提高用户满意度,促进电子商务的发展。

1.1.2 课题意义

随着互联网的普及和电子商务的快速发展,越来越多的人选择通过在线购物进行消费。在线购物网站以其方便、快捷、开放的特点吸引了大量的消费者,成为现代商业中不可或缺的一部分。HTML5技术作为一项新的网页标准,具有丰富的功能和良好的跨平台兼容性,已成为开发在线购物网站的重要工具[3]。

研究基于HTML5技术的在线购物网具有重要的意义,主要体现在以下几个方面:

(1)推动电子商务的发展:在线购物网站将传统的购物方式转变为线上交易,使消费者可以更加方便地浏览商品、比较价格、下订单等。通过研究基于HTML5技术的在线购物网,可以提供更好的用户体验,优化用户界面和交互设计,提高网站的稳定性和响应速度,进一步促进电子商务的发展。

(2)提升用户体验:在线购物网站的用户体验对消费者的购物决策和再次购买行为有着重要影响。基于HTML5技术的在线购物网站可以通过借助多媒体、动画、地理定位等功能,提供更加丰富、生动的用户界面和交互方式,提升用户的购物体验,增强用户的满意度和忠诚度。

(3)支持多平台兼容性:HTML5技术的广泛应用使得网站可以在不同的设备和平台上实现良好的兼容性,不再局限于特定的操作系统或浏览器。基于HTML5技术的在线购物网站可以适应不同终端设备的屏幕大小和操作方式,使得消费者可以随时随地进行购物,提高网站的可访问性和可用性。

(4)加强网站的安全性:作为在线购物网,在线购物网站必须保护消费者的个人信息和交易数据的安全。HTML5技术提供了一些新的安全特性,如Web存储和IndexedDB,可以用来加密和本地存储敏感信息,增强网站的安全性。

(5)促进行业竞争与创新:研究基于HTML5技术的在线购物网将为该领域的技术创新和发展提供新的思路和方法。网站开发者可以根据HTML5技术的特点和优势,设计新的功能和服务,突破传统的购物模式,提供更加个性化、差异化的购物体验,增强商家的竞争力。

1.2 研究现状

1.2.1 国外研究现状

在线购物网的出现和发展,为消费者提供了更加便捷、快速的购物方式。用户可以通过在线购物网站在家中或办公室通过互联网选购商品,并享受到多种付款和物流方式的便利,大大提升了消费者的购物体验。同时,在线购物网站也为商家提供了一个全新的销售渠道,极大地扩大了他们的市场覆盖面[4]。

国外在线购物网的发展十分迅猛,亚马逊、eBay等平台成为了具有全球影响力的电商巨头。这些平台除了提供丰富的商品选择和便捷的支付和物流服务外,还注重用户体验和个性化推荐。利用大数据和人工智能技术[5],它们能够根据用户的购物记录和行为偏好提供个性化推荐服务,让用户更容易找到自己想要的商品。

此外,国外在线购物网在线购物网站的发展还注重创新。例如,利用虚拟现实和增强现实技术,使消费者可以通过虚拟试衣间等方式在线“试穿”商品,提升购物体验。同时,一些国外电商平台还将社交网络与在线购物相结合,推出社交电商模式,让用户可以在社交媒体上分享自己的购物心得并进行购物推荐。

1.2.2 国内研究现状

国内的在线购物网在线购物网站经历了多年的发展,取得了长足的进步。目前国内的主流在线购物网站有淘宝、京东、拼多多等[6]。这些电商平台致力于提供丰富多样的商品选择、全程购物保障以及灵活便捷的支付和物流方式。同时,他们也积极推动线上线下融合、社交电商等新模式的发展。此外,国内一些高科技企业也涉足在线购物领域,如阿里巴巴的“新零售”概念,将线下实体店与线上购物平台相结合,创造全新的购物体验。

然而,国内在线购物网在线购物网站也面临一些挑战。首先,诚信问题。在购物过程中存在着商品质量不符、虚假宣传等问题,消费者对于网站的信任程度有所下降。其次,物流配送问题。由于网络购物的商品需要经过物流配送,时效、准确度和物流服务质量都对消费者的购物体验有重要影响。最后,平台竞争激烈。国内在线购物网站众多,市场竞争十分激烈,如何在竞争中脱颖而出成为企业面临的重要问题[7]。

未来,在线购物网在线购物网站的发展仍然充满机遇和挑战。发展趋势方面,个性化推荐、虚拟现实、社交电商等[8][9]新兴技术和模式将会得到更广泛的应用;线上线下融合将进一步促进购物体验的提升;同时,跨境电商也将成为重要的发展方向。

然而,挑战也不容忽视。首先,网络安全问题。在线购物网在线购物网站涉及大量的用户个人信息和支付数据,如何确保网站的安全性和可信性是一个难题。其次,竞争压力。无论是国内还是国外,在线购物网站的竞争都非常激烈,如何提升自身的服务质量和用户体验,增强竞争力至关重要[10]。最后,法律法规和监管政策。在线购物网在线购物网站需要遵守当地的法律法规和监管政策,如消费者权益保护、商品质量监管等,对于跨国电商平台来说尤为复杂。

综上所述,在线购物网在线购物网站在国内外得到了广泛的应用和发展,给用户带来了便利和选择的福音[11]。然而,与此同时,也面临着一系列挑战。未来,通过技术创新、提升服务质量以及符合当地法律法规的运营,在线购物网在线购物网站有望迎来更好的发展[12]。

2 开发工具和开发平台

2.1关键性知识及技术简介

2.1.1 HTML5介绍

HTML的英文全称为Hyper Text Markup Language,即超文本标记语言。HTML5是HTML的一个新版本。HTML不是一种编程语言,而是一种标记语言(markup language)。HTML5是万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改[13]。

HTML5有以下特性:

语义特性:HTML5赋予网页更好的意义和结构。更加丰富的标签将随着对RDFa的,微数据与微格式等方面的支持,构建对程序、对用户都更有价值的数据驱动的Web。

本地存储特性:基于HTML5开发的网页APP拥有更短的启动时间,更快的联网速度,这些全得益于HTML5 APP Cache,以及本地存储功能。Indexed DB(html5本地存储最重要的技术之一)和API说明文档。

设备兼容特性:从Geolocation功能的API文档公开以来,HTML5为网页应用开发者们提供了更多功能上的优化选择,带来了更多体验功能的优势。HTML5提供了前所未有的数据与应用接入开放接口。使外部应用可以直接与浏览器内部的数据直接相连,例如视频影音可直接与microphones及摄像头相联。

连接特性:更有效的连接工作效率,使得基于页面的实时聊天,更快速的网页游戏体验,更优化的在线交流得到了实现。HTML5拥有更有效的服务器推送技术,Server-Sent Event和WebSockets就是其中的两个特性,这两个特性能够帮助我们实现服务器将数据“推送”到客户端的功能。

2.1.2 Flask框架概述

Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手[14]。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。

Flask是目前十分流行的web框架,采用Python编程语言来实现相关功能。它被称为微框架(microframework),“微”并不是意味着把整个Web应用放入到一个Python文件,微框架中的“微”是指Flask旨在保持代码简洁且易于扩展,Flask框架的主要特征是核心构成比较简单,但具有很强的扩展性和兼容性,程序员可以使用Python语言快速实现一个网站或Web服务。

2.2 数据库

MySQL数据库已经成为网络上的一种强大的工具,它能够支持多个用户,并且能够根据客户端和服务端的需求进行调整,从而满足不同的需求。在这里,服务端和客户端只是一种软件上的概念,而我们所使用的计算机硬件则没有必要完全相互匹配。

MySQL作为一个受到广泛认可的开放式DBMS,其卓越的性能和易于操作的特性,以及其在多种操作环境中的灵活性,让其成为了众多AP中的首选。此外,MySQL还具有良好的跨平台性,让软件开发人员对其有着极高的评价。与传统的关联式数据库系统形式大相径庭,MySQL拥有一套完善的数据库管理策略,以确保用户的安全、稳健、安全。MySQL具备良好的容错、安全、快速、稳健的特点,使得mysql成为一款极其实用的数据库管理工具。

2.3 开发环境及工具

操作系统:Windows 7及以上

编程语言:Python3.6

开发工具:Pycharm、Vs Code、HbuildX

数据库:MySQL5.7

3 系统分析

3.1 可行性分析

(1)技术可行性

从开发工具来看,由于基于HTML5技术的在线购物网是基于Flask框架技术的,因此当前市面上的开发工具都可以来开发,这些功能强大的开发工具可以给我来设计毕设带来非常大的方便。

从基于HTML5技术的在线购物网的本身技术来说,对于我来开发一个基于HTML5技术的在线购物网这个毕设是不费事的。基于HTML5技术的在线购物网的开发可以简单的分为前台模块、后台模块开发以及数据库开发。其中的大部分技术难点在我上学时已经使用过了,同时网络上很多技术点可以让我来借鉴。Web后台管理使用Flask、Python语言等技术,数据库使用MySQL,因此为我在开发基于HTML5技术的在线购物网这个毕设上省去了很多多余代码,这给我的毕设项目编写带来了极大的便利。

从用户体验来看,市面上很多被广泛使用的例如淘宝等电商案例可以让我来参考,因此我可以综合淘宝上的页面交互设计的优点,基于我的毕设项目特点来进行改版,最后达到令用户满意的页面交互体验。综上所述,从技术层面来看开发基于HTML5技术的在线购物网是可行的。

(2)经济可行性

从基于HTML5技术的在线购物网的开发成本来看,基于HTML5技术的在线购物网的设计和开发都是我自己完成的,没有其他成本上的开销。

从基于HTML5技术的在线购物网的维护成本来看,基于HTML5技术的在线购物网的开发遵循一套完整的代码编写规范,并且基于HTML5技术的在线购物网的结构设计非常灵活,遵循高内聚低耦合的原则,因此易于维护和迭代开发。

在基于HTML5技术的在线购物网上线之后,上线前期我会根据真实需求来调查,对使用我开发的基于HTML5技术的在线购物网来制定一套符合的使用费。系统运行稳定后我会将推广范围到其他行业的中,他们可以自己来注册使用我的基于HTML5技术的在线购物网,只需要缴纳一点点的定金,我会给他们引入广告投资和自营业务。

综合以上的分析,基于HTML5技术的在线购物网所带来的经济效益将会带来极大的收益。并且随着我的推广,来使用我开发的基于HTML5技术的在线购物网的市场将越来越大,基于HTML5技术的在线购物网带来的利润也就越来越多。因此,从经济层面来看开发基于HTML5技术的在线购物网的是可行的。

3.2 功能需求分析

本在线购物网的设计主要是针对四种用户进行使用,第一种是以游客身份使用,游客在进入系统后可以查看到系统中的所有内容,包括首页、网购公告、网购资讯、购物中心、商城管理,如果想要评论或者购买,可以注册登录;第二种是注册之后有账号的用户,登录以后可以收藏、评论、购买、管理收货地址、订单、个人资料等;第三种是卖家,登录后台以后可以对购物中心、订单列表、订单配送、退货退款、申请调解、调查信息进行管理。第四种则是管理员,是系统的管理者,管理员对轮播图、网购公告、用户管理、资讯管理、商城管理、退货退款、申请调解、调查信息进行整体把控。

3.2.1 功能需求分析

(1)注册登录模块:注册是游客独有的功能,注册后就成了系统的正式用户了,然后游客通过前台登录,管理员和卖家用户通过后台登录。注册登录模块用例如下3.1所示。

3.1 注册登录模块用例图

(2)网购资讯模块:用户可以查看网购资讯,用户可以收藏、评论、点赞网购资讯信息,管理员可以添加、修改、删除网购资讯,管理评论。网购资讯模块用例如下图3.2所示。

3.2 网购资讯模块用例图

(3)购物中心模块:游客可以查看购物中心,用户可以对购物中心的商品收藏、评论、加购、立即购买,管理员和卖家可以添加、修改、删除商品,管理商品评论。购物中心模块如下图3.3所示。

3.3 购物中心模块用例图

(4)用户管理模块:用户管理是后台管理员独有功能,管理员可以对注册的用户进行修改、删除、查询、也可以添加新的用户。用户管理模块用例如下图3.4所示。

3.4用户管理模块用例图

(5)购物管理模块:购物管理是前台用户独有功能,用户可以选择两种购买方式,一种是把商品加入到购物车,另一种是直接购买,最终实现购物功能,购物管理模块用例如下图3.5所示。

3.5购物管理模块用例图

(6)订单管理模块:订单管理模块是前台用户和后台管理员都有的功能,前台用户可以提交订单,管理订单,管理员和卖家能够对用户订单进行管控。订单管理模块用例如下3.6所示。

3.6订单管理模块用例图

(7)个人中心模块:个人中心模块是用户独有的功能,可以在“个人中心”对个人首页、退货退款、申请调解、调查信息、订单配送、收藏进行管理,个人中心用例如下图3.7所示。

3.7个人中心管理模块用例图

3.2.2 非功能性需求分析

系统的非功能需求方面主要是从系统的安全性、存储性、可靠性、易学性、稳定性等方面进行分析:

(1)安全性:系统的安全问题是开发者首先要考虑的,如果系统存在安全隐患,可能使得用户个人信息被泄露,给用户带来困扰,造成损失。

(2)储存性:因为用户使用的关于在线购物的网站,普通用户多,而且登录后要查询各种商品信息,那就需要一个强大的数据库来进行数据的存储,对数据库的要求是非常严格的,本系统选用的是MYSQL数据库,MYSQL的运行速度很快,执行命令的速度也非常快,而且体积小。

(3)可靠性:可靠性指的是用户在进行商品信息查询、评论以及购买的时候,能够按照用户的指示进行显示信息,如果用户点击查询商品详细信息,显示出来的是不可购买的信息,那就违背用户的初衷。

(4)易学性:系统的开发面向对象学历不尽相同,所有在开发的时候要考虑系统操作应该简单,不需要进行任何学习、培训,只能上网的用户就可以操作。

(5)稳定性:系统在运行方面要很稳定,系统的界面、字体要清楚,没有失真现象,给用户以良好的体验。

(6)可拓展性:本在线购物网的功能还有待完善,因此系统要有很好的拓展性,方便后期功能更新维护。

3.3 数据库需求分析

本系统使用MySQL数据库,MySQL是一个关系型数据库,可创建表,并对表里的列进行设置。

按照实际所需,数据库表的设计包括:

(1)用户表(user):存储用户的基本信息,包括用户ID、用户名、密码、手机号等。

(2)商品表(goods):存储商品的信息,包括商品ID、名称、价格、库存等。

(3)订单表(order):存储订单的信息,包括订单ID、用户ID、商品ID、数量、金额等。

(4)购物车表(cart):存储用户的购物车信息,包括购物车ID、用户ID、商品ID、数量等。

(5)评价表(comment):存储用户对商品的评价信息,包括评价ID、用户ID、商品ID、评分、内容等。

(6)退货表(return):存储用户的退货信息,包括退货ID、订单ID、用户ID、商品ID、原因等。

3.4 性能需求分析

通过对基于HTML5技术的在线购物网站的系统性能需求进行分析,找出影响其性能的关键因素,并提供相应的优化策略和建议。具体研究内容包括:

(1)分析目前主流的基于HTML5技术的在线购物网站的特点和优势。

(2)研究基于HTML5技术的在线购物网站的系统性能需求,包括响应时间、安全性、可伸缩性、稳定性等方面。

(3)分析影响基于HTML5技术的在线购物网站性能的关键因素,如服务器负载、网络传输速度、前端页面优化等。

(4)探讨基于HTML5技术的在线购物网站性能优化的方法和策略,包括使用CDN加速、压缩资源文件、正确使用缓存等。

4 系统设计

4.1功能结构图分析

系统在结构上的设计至关重要,要考虑周全,设计全面,一个完善的结构体系,能够满足用户在使用时的各种需求,这样会让提高程序的使用率,保证程序被长久的利用。在设计在线购物网的结构时,也列入重点,采用模块化的方法来进行设计,即首先将大模块确定下来,再慢慢的将大模块进行补充完善,向下分支出小模块,一起共同组成的系统的结构体系,下图是该在线购物网的结构设计图,直观明了的可以看出本项目程序的功能。

系统功能结构图如下图4.1所示:

4.1功能结构图

4.2 数据库结构分析

4.2.1 数据库E-R图

本系统的数据库E-R图如图4.2所示:

图4.2 数据库E-R图

4.2.2 数据库表设计

在数据库表中我们会看到系统的表名、主键、外键等信息,我们通过数据库表的主键、外键把每个表关联起来,然后在界面中展示,本在线购物网的主要的数据库表如下:

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表address (收货地址:)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

address_id

int

10

0

N

Y

收货地址:

2

name

varchar

32

0

Y

N

姓名:

3

phone

varchar

13

0

Y

N

手机:

4

postcode

varchar

8

0

Y

N

邮编:

5

address

varchar

255

0

N

N

地址:

6

user_id

mediumint

8

0

N

N

用户ID:[0,8388607]用户获取其他与用户相关的数据

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

default

bit

1

0

N

N

0

默认判断

表apply_for_mediation (申请调解)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

apply_for_mediation_id

int

10

0

N

Y

申请调解ID

2

purchasing_users

int

10

0

Y

N

0

购买用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

seller_customers

int

10

0

Y

N

0

卖家用户

5

product_name

varchar

64

0

Y

N

商品名称

6

purchase_quantity

varchar

64

0

Y

N

购买数量

7

application_time

date

10

0

Y

N

申请时间

8

application_description

text

65535

0

Y

N

申请说明

9

examine_state

varchar

16

0

N

N

未审核

审核状态

10

examine_reply

varchar

16

0

Y

N

审核回复

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表cart (购物车)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cart_id

int

10

0

N

Y

购物车ID:

2

title

varchar

64

0

Y

N

标题:

3

img

varchar

255

0

N

N

0

图片:

4

user_id

int

10

0

N

N

0

用户ID:

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

state

int

10

0

N

N

0

状态:使用中,已失效

8

price

double

9

2

N

N

0.00

单价:

9

price_ago

double

9

2

N

N

0.00

原价:

10

price_count

double

11

2

N

N

0.00

总价:

11

num

int

10

0

N

N

1

数量:

12

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

13

type

varchar

64

0

N

N

未分类

商品分类:

14

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表goods (商品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

goods_id

mediumint

8

0

N

Y

产品id:[0,8388607]

2

title

varchar

125

0

Y

N

标题:[0,125]用于产品和html的<title>标签中

3

img

text

65535

0

Y

N

封面图:用于显示于产品列表页

4

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

5

price_ago

double

8

2

N

N

0.00

原价:[1]

6

price

double

8

2

N

N

0.00

卖价:[1]

7

sales

int

10

0

N

N

0

销量:[0,1000000000]

8

inventory

int

10

0

N

N

0

商品库存

9

type

varchar

64

0

N

N

商品分类:

10

hits

int

10

0

N

N

0

点击量:[0,1000000000]访问这篇产品的人次

11

content

longtext

2147483647

0

Y

N

正文:产品的主体内容

12

img_1

text

65535

0

Y

N

主图1:

13

img_2

text

65535

0

Y

N

主图2:

14

img_3

text

65535

0

Y

N

主图3:

15

img_4

text

65535

0

Y

N

主图4:

16

img_5

text

65535

0

Y

N

主图5:

17

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

19

customize_field

text

65535

0

Y

N

自定义字段

20

source_table

varchar

255

0

Y

N

来源表:

21

source_field

varchar

255

0

Y

N

来源字段:

22

source_id

int

10

0

N

N

0

来源ID:

23

user_id

int

10

0

Y

N

0

添加人

表goods_type (商品类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

int

10

0

N

Y

商品分类ID:

2

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

3

name

varchar

255

0

Y

N

商品名称:

4

desc

varchar

255

0

Y

N

描述:

5

icon

varchar

255

0

Y

N

图标:

6

source_table

varchar

255

0

Y

N

来源表:

7

source_field

varchar

255

0

Y

N

来源字段:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表logistics_delivery (物流配送)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

logistics_delivery_id

int

10

0

N

Y

物流配送ID

2

order_number

varchar

64

0

Y

N

订单号

3

product_name

varchar

64

0

Y

N

商品名称

4

purchase_quantity

varchar

64

0

Y

N

购买数量

5

total_transaction_amount

double

11

2

Y

N

0.00

交易总额

6

the_date_of_issuance

date

10

0

Y

N

发货日期

7

delivery_number

varchar

30

0

Y

N

配送订单

8

ordinary_users

int

10

0

Y

N

0

普通用户

9

shipping_address

varchar

64

0

Y

N

收货地址

10

delivery_status

varchar

64

0

Y

N

配送状态

11

signing_status

varchar

64

0

Y

N

签收状态

12

recommend

int

10

0

N

N

0

智能推荐

13

contact_name

varchar

255

0

Y

N

联系人名字

14

merchant_id

int

10

0

Y

N

商家id

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表order (订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

order_id

int

10

0

N

Y

订单ID:

2

order_number

varchar

64

0

Y

N

订单号:

3

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

4

title

varchar

32

0

Y

N

商品标题:

5

img

varchar

255

0

Y

N

商品图片:

6

price

double

10

2

N

N

0.00

价格:

7

price_ago

double

10

2

N

N

0.00

原价:

8

num

int

10

0

N

N

1

数量:

9

price_count

double

8

2

N

N

0.00

总价:

10

norms

varchar

255

0

Y

N

规格:

11

type

varchar

64

0

N

N

未分类

商品分类:

12

contact_name

varchar

32

0

Y

N

联系人姓名:

13

contact_email

varchar

125

0

Y

N

联系人邮箱:

14

contact_phone

varchar

11

0

Y

N

联系人手机:

15

contact_address

varchar

255

0

Y

N

收件地址:

16

postal_code

varchar

9

0

Y

N

邮政编码:

17

user_id

int

10

0

N

N

0

买家ID:

18

merchant_id

mediumint

8

0

N

N

0

商家ID:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

21

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

22

state

varchar

16

0

N

N

待付款

订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成

23

remark

text

65535

0

Y

N

订单备注

24

delivery_state

varchar

16

0

Y

N

未配送

发货状态:未配送,已配送

25

vip_discount

double

11

2

Y

N

0.00

折扣

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regular_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_phone_number

varchar

16

0

Y

N

用户电话

4

user_gender

varchar

64

0

Y

N

用户性别

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表returns_and_refunds (退货退款)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

returns_and_refunds_id

int

10

0

N

Y

退货退款ID

2

purchasing_users

int

10

0

Y

N

0

购买用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

seller_customers

int

10

0

Y

N

0

卖家用户

5

product_name

varchar

64

0

Y

N

商品名称

6

purchase_quantity

varchar

64

0

Y

N

购买数量

7

return_and_exchange_instructions

text

65535

0

Y

N

退换说明

8

examine_state

varchar

16

0

N

N

未审核

审核状态

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表seller (卖家)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

seller_id

int

10

0

N

Y

卖家ID

2

store_name

varchar

64

0

Y

N

店铺名称

3

store_address

varchar

64

0

Y

N

店铺地址

4

seller_name

varchar

64

0

Y

N

卖家姓名

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表sensitive_vocabulary (敏感词汇)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

sensitive_vocabulary_id

int

10

0

N

Y

敏感词汇ID

2

sensitive_vocabulary

varchar

64

0

Y

N

敏感词汇

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表shopping_center (购物中心)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

shopping_center_id

int

10

0

N

Y

购物中心ID

2

seller_customers

int

10

0

Y

N

0

卖家用户

3

seller_name

varchar

64

0

Y

N

卖家姓名

4

store_name

varchar

64

0

Y

N

店铺名称

5

store_address

varchar

64

0

Y

N

店铺地址

6

purchase_notice

varchar

64

0

Y

N

购买须知

7

hits

int

10

0

N

N

0

点击数

8

praise_len

int

10

0

N

N

0

点赞数

9

cart_title

varchar

125

0

Y

N

标题:[0,125]用于产品html的标签中

10

cart_img

text

65535

0

Y

N

封面图:用于显示于产品列表页

11

cart_description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

12

cart_price_ago

double

8

2

N

N

0.00

原价:[1]

13

cart_price

double

8

2

N

N

0.00

卖价:[1]

14

cart_inventory

int

10

0

N

N

0

商品库存

15

cart_type

varchar

64

0

N

N

未分类

商品分类:

16

cart_content

longtext

2147483647

0

Y

N

正文:产品的主体内容

17

cart_img_1

text

65535

0

Y

N

主图1:

18

cart_img_2

text

65535

0

Y

N

主图2:

19

cart_img_3

text

65535

0

Y

N

主图3:

20

cart_img_4

text

65535

0

Y

N

主图4:

21

cart_img_5

text

65535

0

Y

N

主图5:

22

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

23

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表survey_information (调查信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

survey_information_id

int

10

0

N

Y

调查信息ID

2

purchasing_users

int

10

0

Y

N

0

购买用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

seller_customers

int

10

0

Y

N

0

卖家用户

5

investigation_time

date

10

0

Y

N

调查时间

6

survey_content

text

65535

0

Y

N

调查内容

7

adjustment_result

text

65535

0

Y

N

调查结果

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5 系统实现

5.1 前台用户功能模块

5.1.1 前台首页

游客或者用户进入系统后可以查看系统的信息,包含了程序的标题、导航栏、轮播图、网购公告、购物中心信息等,其主界面展示如下图5-1所示。

图5-1 前台首页界面图

5.1.2注册界面

游客可以查看系统信息,也有注册成为用户的权限。其用注册流程图如图5-2所示,注册界面展示如下图5-3所示。

图5-2注册流程图

图5-3 用户注册界面图

注册关键代码如下所示。

 # 用户类

class User(controllerClass):

    def __init__(self, config={}):

        """

        构造函数

        @param {Object} config 配置参数

        """

        config_init = {

            # 选择的模板那路径模板

            "tpl": "./user/",

            # 选择的服务

            "services": "user",

            # 注册API

            "get_api": ["state", "quit"],

            "post_api": ["login", "register", "change_password", "forget_password"],

            # 唯一判断

            "unique": ["username"]

        }

        config_temp = config

        config_temp.update(config_init)

        super(User, self).__init__(config_temp)

    def Register(self, ctx):

        """

        注册API

        @param {Object} config 配置参数

        """

        print("===================注册=====================")

        userService = service_select("user")

        body = ctx.body

        # 判断必须信息

        if "username" not in body and body["username"] == '':

            return {"error": {

                "code": 70000,

                "message": "用户名不能为空",

            }}

        if "user_group" not in body and body["user_group"] == '':

            return {

                "error": {

                    "code": 70000,

                    "message": "用户组不能为空",

                }

            }

        if "password" not in body and body["password"] == '':

            return {

                "error": {

                    "code": 70000,

                    "message": "密码不能为空",

                }

            }

        # 取出表单

        post_param = body

        post_param['nickname'] = body["nickname"] or ""

        post_param['password'] = md5hash(body["password"])

        # 校验是否存在用户

        obj = userService.Get_obj({"username": post_param['username']}, {"like": False})

        if obj:

            return {

                "error": {

                    "code": 70000,

                    "message": "用户名已存在",

                }

            }

        ret = {

            "error": {

                "code": 70000,

                "message": "注册失败",

            }

        }

        # 添加

        bl = userService.Add(post_param)

        if bl:

            ret = {

                "result": {

                    "bl": True,

                    "message": "注册成功"

                }

            }

        return ret

5.1.3登录界面

当用户注册成功以后就成为了正式用户,正式用户可以通过前台的登录页面登录到系统当中,用户登录流程如图5-4所示,登录界面如下图5-5所示。

图5-4 登录流程图

图5-5用户登录界面图

登录的逻辑代码如下所示。

 def Login(self, ctx):

        """

        登录API

        @param {Object} ctx http请求上下文

        """

        print("===================登录=====================")

        ret = {

            "error": {

                "code": 70000,

                "message": "账户不存在",

            }

        }

        body = ctx.body

        # 获取用户

        password = md5hash(body["password"]) or ""

        obj = service_select("user").Get_obj(

            {"username": body["username"]}, {"like": False}

        )

        if obj:

            # 检查用户所属用户组

            user_group = service_select("user_group").Get_obj({'name': obj['user_group']}, {"like": False})

            if user_group and user_group['source_table'] != '':

                user_obj = service_select(user_group['source_table']).Get_obj({"user_id": obj['user_id']},

                                                                              {"like": False})

                if user_obj['examine_state'] == '未通过':

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "账户未通过审核",

                        }

                    }

                    return ret

                if user_obj['examine_state'] == '未审核':

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "账户未审核",

                        }

                    }

                    return ret

            # 校验用户状态

            if obj["state"] == 1:

                # 校验密码

                if obj["password"] == password:

                    # 生成Token

                    timeout = datetime.now(tz=timezone.utc)

                    timestamp = int(time.mktime(timeout.timetuple())) * 1000

                    token = md5hash(str(obj["user_id"]) + "_" + str(timestamp))

                    # 存储Token

                    # session[token] = obj["user_id"]

                    session.setdefault(token, obj["user_id"])

                    session.permanent = True

                    service_select("access_token").Add(

                        {"token": token, "user_id": obj["user_id"]}

                    )

                    # 回传用户

                    obj["token"] = token

                    ret = {

                        "result": {"obj": obj}

                    }

                else:

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "密码错误",

                        }

                    }

            else:

                ret = {

                    "error": {

                        "code": 70000,

                        "message": "用户账户不可用,请联系管理员",

                    }

                }

        return ret

5.1.4 网购公告界面

用户可以查看网购公告信息,可以查看某一公告的详情,其界面如下图5-6所示。

图5-6网购公告界面图

5.1.5 网购资讯界面

当用户点击在线购物网中导航栏上的“网购资讯”后将会进入到该“网购资讯”列表的界面,然后选择想要看的资讯信息,点击进入到详细界面,在详细界面可以收藏+赞+评论等操作。网购资讯界面如下图5-7所示。

图5-7网购资讯界面图

5.1.6 购物中心详情界面

游客只能查看购物中心的商品,不能进行任何购买、评论操作,普通用户可以选择自己需要的商品,加入购物车、立即购买、收藏、评论。

加入购物车流程图如图5-8所示。

图5-8加入购物车流程图

购买工作流程图如图5-9所示。

图5-9 购买工作流程图

购物中心详情展示页面如图5-10所示。

图5-10 购物中心详情展示界面图

购买支付界面如图5-11所示。

图5-11 购买支付界面图

5.1.7个人中心界面

当用户点击右上角“账号名”这个按钮,会出现子菜单,点击“个人中心”可以对个人首页、退货退款、申请调解、调查信息、订单配送和自己收藏的信息进行设置管理。用户个人中心界面如下图5-12所示。

图5-12 用户个人中心界面图

5.2后台功能模块

5.2.1卖家后台管理首页界面

卖家登录后台,主要对商城管理(购物中心、订单列表、订单配送)、退货退款、申请调解和调查信息进行管理。卖家后台管理主页界面如下5-13所示。

图5-13 卖家后台管理主页界面图

卖家商城管理添加商品信息界面如下5-14所示。

图5-14 卖家商城管理添加商品信息界面图

卖家审核退货退款申请界面如下5-15所示。

图5-15 卖家审核退货退款界面图

5.2.2管理员用户管理界面

在后台系统用户管理中,主要是管理注册的普通用户、卖家和管理员,管理员拥有对所有用户管控的功能。用户管理界面如下图5-16所示。

图5-16 系统用户界面图

增加用户关键代码如下:

 def Add(self, ctx):

        """

        增

        @param {Object} ctx http请求上下文

        @return {Object} 返回json-rpc格式结果

        """

        body = ctx.body

        unique = self.config.get("unique")

        obj = None

        if unique:

            qy = {}

            for i in range(len(unique)):

                key = unique[i]

                qy[key] = body.get(key)

            obj = self.service.Get_obj(qy)

        if not obj:

            # 添加数据前

            error = self.Add_before(ctx)

            if error["code"]:

                return {"error": error}

            error = self.Events("add_before", ctx, None)

            if error["code"]:

                return {"error": error}

            # 添加数据

            result = self.service.Add(body, self.config)

            # 添加数据发生错误

            if self.service.error:

                return {"error": self.service.error}

            # 添加数据成功后

            res = self.Add_after(ctx, result)

            if res:

                result = res

            res = self.Events("add_after", ctx, result)

            if res:

                result = res

            return {"result": result}

        else:

            return {"error": {"code": 10000, "message": "已存在"}}

5.2.3资讯管理界面

管理员点击“资讯管理”可以对前台展示的网购资讯以及资讯所属分类进行管理,网购资讯管理的界面如下图5-17所示。

图5-17网购资讯管理界面图

5.2.4 商城管理购物中心界面

管理员拥有对购物中心中的商品进行添加、修改、删除、管理评论的功能,购物中心管理界面如下图5-18所示。

图5-18购物中心管理界面图

5.2.5 分类列表界面

管理员拥有对商品的分类增删改查的功能,分类列表界面如下图5-19所示。

图5-19分类列表界面图

6 系统测试

6.1 测试目的

一个系统测试的目的就是检验系统在真正的工作环境、条件下是不是能够正常运行,各种功能能不能符合设计的要求,通过测试发现系统当中存在的一些潜在的错误,然后对系统进行改进,使得系统最终以完美的形式展现给用户,提高用户使用过程中的体验度,真正达到项目的实际使用目的。

6.2测试用例

系统测试包括:管理员登录功能测试、购物中心查看功能测试、商品添加功能测试、加入购物车购买功能测试,如表6-1、6-2、6-3、6-4所示:

管理员登录功能测试:

6-1 管理员登录功能测试表

测试名称

测试功能

操作过程

预期结果

测试结果

登录模块测试

登录成功的情况

管理员可以通过浏览器进入到电子商务平台后台登录界面,输入用户名:admin和密码admin后,点击“登录”按钮。

成功登录到管理员管理的界面

正确

登录模块测试

登录失败的情况

管理员可以通过浏览器进入到电子商务平台后台登录界面,输入用户名:admin和密码111后,点击“登录”按钮。

系统提示“用户名和密码不匹配”

正确

购物中心查看功能测试:

6-2 购物中心查看功能测试表

测试名称

测试功能

操作过程

预期结果

测试结果

查询购物中心信息功能测试

查询成功的情况

用户在导航栏中点击“购物中心”,输入关键词查询商品,输入的商品在系统中存在,显示查询商品信息

查询成功

正确

商城管理中商品添加界面测试:

6-3 管理员添加商品界面测试表

测试名称

测试功能

操作过程

预期结果

测试结果

 商品添加模块测试

商品添加成功的情况

在“商城管理”菜单中点击“购物中心”会显示出所有的商品信息,点击“添加”,输入商品信息,输入正确的信息后,点击“提交”按钮。

提示添加成功

正确

商品添加模块测试

商品添加失败的情况

在“商城管理”菜单中点击“购物中心”会显示出所有的商品信息,点击“添加”,不输入标题,其他信息正常填写后,点击“提交”按钮。

提示“添加失败,标题不能为空”

正确

加入购物车购买功能测试:

6-4 加入购物车购买功能测试表

测试名称

测试功能

操作过程

预期结果

测试结果

加入购物车购买功能测试

购买的情况

用户在购物中心的商品详情页面,点击“加入购物车”,然后在“我的购物车”界面,点击“购买”按钮,进行付款。

加入购物车购买成功

正确

6.3 测试总结

本次开发的系统是一个商品在线交易、购买的系统,主要功能就是实现用户的在线购买,通过对管理员登录、商品查询、商品添加、加入购物车购买这几个方面的测试可以看出系统的基本可以实现用户对商品购买的功能,而且在测试的过程中也对界面的展示进行了查看,发现界面并没有出现扭曲、混乱等情况,能够满足用户的需求,系统运行良好,是可以进行投入使用的。

7 总结与展望

7.1总结

随着科技的飞速发展,越来越多的行业和企业都在利用计算机技术来管理日益增长的数据。本文旨在探讨Flask基于HTML5技术的在线购物网设计与实现,以满足商品销售信息化管理的需求。

本次毕业论文主要是利用HTML5技术开发一个安全可靠,操作简易,同时具备业务可扩展的在线购物网。本文详细的论述了系统的设计和开发,本系统的所有事务逻辑都是按照系统的需求分析进行设计的,系统有管理员、卖家和普通用户三种角色。在这个设计中,我花了大量的时间去理解系统开发中使用的知识,经过这段时间的努力工作最终完成了系统设计。通过这一阶段的学习,我发现了自己的不足,充分掌握了必要的应用技能,进一步的学习使我充实了自己的知识基础,完成了这个艰巨的任务。当遇到问题时,我很及时的寻求老师的帮助,通过专业的网站和论坛来解决,他们的帮助让我一步一步的成功克服了困难的问题。系统设计过程不容易,你需要不断充实自己,有勇气克服困难。系统开发的一些功能还不完善,需要继续改善后,通过用户体验来修改设计完美的系统,让用户得到更好的体验,我觉得很高兴,因为这是我第一次通过自己的努力实现这个系统,但绝不是我的最后一个,在未来我将努力实现更多的优秀的系统。

目前完成的Flask基于HTML5在线购物网设计与实现,还有许多有待改进的地方。一个是功能上的改进,第二个是技术上的改进。另外,系统如果能提供更多的功能就会使得系统更加丰富和多样化,比如兼职数据分析和可视化等。另外就是对前端UI的使用还不够熟练,视觉效果和界面观感有待提升,希望日后能对这个系统有所改进。

7.2展望

尽管本文在基于HTML5技术的在线购物网的设计与开发方面取得了一定的成果,但是仍存在一些问题和不足之处,需要进一步的工作来解决和完善。

首先,需要加强对网站的性能优化。尽管使用了HTML5的缓存特性来减少数据传输和页面加载时间,但是仍需要对网站的加载速度进行优化,在网络环境较差的情况下依然能够快速响应用户的操作。其次,需要进一步完善网站的安全性。虽然本文对用户的数据进行了一定的保护和加密,但是仍需要对用户的隐私信息和交易数据进行更深入的保护,防止信息的泄露和篡改。最后,需要进一步完善用户体验和界面设计。本文在界面设计和交互方面已经运用了一些HTML5的新特性,但是仍需要根据用户的反馈和需求,优化用户界面的设计,提供更好的购物体验和使用便利性。

总之,本文提出的基于HTML5技术的在线购物网架构为实现一个高性能、安全可靠、用户友好的在线购物网提供了一种解决方案。未来的研究方向可以进一步加强网站的性能优化和安全性,提供更好的用户体验和界面设计。

参考文献:

[1]Tao Z ,Chao J .The impact of a blockchain-based food traceability system on the online purchase intention of organic agricultural products[J].Innovative Food Science and Emerging Technologies,2024,92103598-.

[2]Li J ,Liu S ,Gong X , et al.Technology affordance, national polycontextuality, and customer loyalty in the cross-border e-commerce platform: A comparative study between China and South Korea[J].Telematics and Informatics,2024,88102099-.

[3]Wang L ,Zhang S R ,Zhang X C .Live streaming E-commerce platform characteristics: Influencing consumer value co-creation and co-destruction behavior[J].Acta Psychologica,2024,243104163-.

[4]Li Q ,Tan J ,Jiao Y .Research on the formation mechanism of brand identification in cross-border e-commerce platforms — Based on the perspective of perceived brand globalness/localness[J].Heliyon,2024,10(3):e25155-.

[5]陈红卫.基于HTML5+CSS3的Web前端响应式页面布局研究[J].数字通信世界,2023,(09):26-28.

[6]白美玲.基于HTML5语言技术的WebIM组件前端设计与实现[J].科学技术创新,2023,(16):85-88.

[7]邹晓丹.基于HTML5和CSS3的网页前端设计优化研究[J].自动化应用,2023,64(S1):217-219.

[8]陈嘉发,黄宇靖.Flask框架在数据可视化的应用[J].福建电脑,2022,38(12):44-48.DOI:10.16707/j.cnki.fjpc.2022.12.009.

[9]任建新,王一鸣,李鑫等.基于Java Web的智慧商城购物系统设计[J].信息技术与信息化,2022,(07):23-27.

[10]朱琨日.高性能智能商城系统架构设计与实现[D].桂林电子科技大学,2022.DOI:10.27049/d.cnki.ggldc.2022.000395.

[11]赖颖婕.基于个性化推荐的电商平台顾客购买意愿研究[D].桂林理工大学,2022.DOI:10.27050/d.cnki.gglgc.2022.000318.

[12]方生,秦晓安,王睿.基于前后端分离技术的在线购物平台研究与实现[J].黄河水利职业技术学院学报,2021,33(04):50-54.DOI:10.13681/j.cnki.cn41-1282/tv.2021.04.012.

[13]刘欢.基于微服务架构的商城购物系统的设计与实现[D].西安电子科技大学,2021.DOI:10.27389/d.cnki.gxadu.2021.003338.

[14]甘宁.互联网时代B2C电子商城购物网站的应用与测试[J].信息与电脑(理论版),2021,33(14):98-100.

[15]何贵涛.A线上购物商城服务营销优化研究[D].广西大学,2021.DOI:10.27034/d.cnki.ggxiu.2021.000355.

[16]陈继磊.高并发下购物平台系统的设计与实现[D].山东大学,2021.DOI:10.27272/d.cnki.gshdu.2021.004359.

[17]曹艳琴.基于HTML5的Web App的购物网站设计分析[J].数字技术与应用,2021,39(04):170-172.DOI:10.19695/j.cnki.cn12-1369.2021.04.56.

[18]梁艳玲.基于HTML5的Web前端开发技术研究[J].电子技术与软件工程,2020,(24):44-45.

[19]蒋敏建.某商城管理前端系统设计与实现[D].厦门大学,2020.DOI:10.27424/d.cnki.gxmdu.2020.004211.

[20]刘丽媛.基于HTML5技术的微商城设计与实现[J].电脑编程技巧与维护,2020,(05):53-55.DOI:10.16184/j.cnki.comprg.2020.05.019.

致谢

眨眼之间,大学生活就要结束了。在本文的最后,我要感谢我和蔼可亲的导师、团结有爱的同学的帮助和鼓励。此刻,我找不到感谢之词可以用来表达我最深切的感激之情。尤其感谢我的指导老师,在选题的过程中与我进行了深入的交流,在毕业设计期间给我提供了一些指导。四年的学习生活让我受益良多,老师们的丰富的学术知识、认真负责的学习态度让我受益匪浅。在此,我深深地感谢那些曾经给予我帮助和指导的老师!

我们的论文得益于许多学者的贡献,他们的研究成果为我们提供了宝贵的指导,使我们能够更好地完成这篇文章。感谢我的同学和朋友在我的写作以及排版过程中给予热情的帮助,才使得我比较顺利的完成了这篇论文。

感谢大学里遇见的朋友,你们在我这四年里留下无数的温暖和快乐,让我对这个校园多了一份留念。最后,感谢我的父母、辅导员、班长,以及室友们对我大学生活上的关心和理解,让我能保持乐观和追求我所热爱的。尽管我的能力有限,但我仍然尽力去完善这篇论文,并且诚挚地希望各位老师和学友能够给予宝贵的指导与意见。

免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-

免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-

免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值