小米商城html代码_微服务架构实战:商城的用户登录与账户切换设计、订单查询设计...
商城的用户登录与账号切换设计
在移动商城的设计中,除商品和分类查询是完全开放权限的页面外,其他涉及个人隐私的个人信息、订单查询和购物车等都必须进行权限管理。
有关用户权限管理的功能,在这里根据移动设备的特点,使用了本地存储的方式,提供了用户登录设计和账号切换设计。
注意,为了节省篇幅,这里的用户信息只是一个演示数据,并没有跟实际用户服务进行绑定。
用户登录设计
在用户登录设计中,为了保证用户身份的真实性,可以由用户提供手机号,并通过短信接收到的验证码进行验证。
用户登录设计主要在视图 verify.html 中实现,这是一个H5单页设计,主要使用本地存储来保存用户的登录状态,代码如下所示:
用户登录
手机号码
验证码
验证码错误
关于我们
这里为了简化设计,我们把手机号和验证码都写进了程序中。
当用户通过验证后,将在本地存储中登记用户的手机号和用户ID,让用户处于登录状态中直到用户切换账号时,才退出当前登录状态。所以在测试时,直接单击“确定”按钮后,即可保存用户的登录状态。
用户登录设计完成之后,显示效果如图9-4所示。
![](/assets/blank.gif)
用户登录之后,当需要进行身份确认时,就可以通过本地存储取得用户信息,执行相关的操作流程。
账号切换设计
如果用户没有清除移动设备的缓存,则本地存储将长期存在。为了让用户能够退出登录状态,或者切换到另一个账号进行操作,这里提供了一个切换账号设计。
切换账号视图设计“switch.html”是一个H5单页,实现代码如下所示:
切换账号
切换登录账号
关于我们
从上面的代码可以看出,只要在本地存储中清除用户登录时保存的用户对象,就可以退出登录状态,然后将用户引导到订单查询的主页上,在这里会自动要求用户进行登录。
切换账号设计完成之后,显示效果如图9-5所示。
![](/assets/blank.gif)
订单查询设计
在订单查询设计中,主要是使用订单列表的方式显示每一个特定用户的订单。
首先在OrderController 控制器中,设计一个订单的主页链接,通过主页显示订单列表及其详细信息,代码如下所示:
@RestController@RequestMapping ("/order")CSlf4jpublic class OrderController {@Autowiredprivate OrderRestService orderRestService;@RequestMapping (value="/index")public ModelAndView index(ModelMap model) throws Exception{return new ModelAndview ( "order/index");}@RequestMapping(value ="/list")public Page> findAll (0rderQo orderQo){String json = orderRestService.findPage(orderQo);Pageable pageable = PageRequest.of (orderQo.getPage(),orderQo.getSize(),null);List<0rderQo> list = new Gson() .fromJson(json,newTypeToken>(){}.getType());for(0rderQo order :list){order.setStatusStr (StatusEnum.valueOf (order.getStatus ()).getName ());}String count = orderRestService.getCount ();return new Page Impl(list, pageable,new Long ( count));}}
在上面的代码中,通过“/index”链接,返回订单查询的主页视图设计“index.html”
订单查询的主页视图设计与商品查询设计相似,都是通过屏幕的滑动下拉实现自动分页功能的,不同之处在于权限管理和信息显示处理设计。
为了保证每个用户只能查询自己的订单,在订单列表查询视图设计中会检查用户的登录状态。如果用户未登录,则提示用户登录,实现代码如下所示:
另外,在订单的信息处理中,使用了如下所示的设计:
在上面的代码中使用了四个参数进行查询,即订单号 ( orderNo)、用户编号(userid)页码(page)和每页行数(size)。其中,订单号可以由用户输入,如果用户未提供订单号,则显示所有的订单。同时,针对订单金额的小数位数也进行了设定,以避免因为浮点数的原因出现很长的小数位,影响用户体验。订单明细数据则以商品图片的形式进行显示。
订单查询设计完成之后,显示效果如图9-6所示。
![](/assets/blank.gif)
集成测试
当移动商城设计完成之后,可以进行一个集成测试。在这个集成测试中,可以按下列顺序启动相关应用:
- catolog-restapi:类目接口服务应用。
- goods-restapi:商品接口服务应用。
- order-restapi:订单接口服务应用。
- mall-microservice:移动商城服务应用。
- order-web:订单管理应用。
启动完成之后,可以通过注册中心查看所有应用的启动情况,如图9-7所示。
![](/assets/blank.gif)
下面在浏览器中输入如下链接,打开移动商城进行测试:
http://localhost: 7090
如果打开成功,则可以将浏览器调整成手机或iPad的显示界面,模拟移动设备操作,如图9-8所示。
![](/assets/blank.gif)
当在手机或者iPad 上进行测试时,请确认手机或iPad与电脑处于同一个局域网中,然后将上面的“localhost”改成电脑上的P地址进行访问。在 iPad上打开的移动商城首页如图9-9所示。这里用到的P地址是“192.168.0.104”。
![](/assets/blank.gif)
在手机上测试时,可以参考前面在开发讲解中提供的各种场景的效果图。
当我们在测试中进行了一些操作之后,会生成一些数据,这时可以通过如下链接打开PC端的订单管理后台,查看订单列表,进行订单管理操作。
http://localhost:8095
打开链接之后,可以看到如图9-10所示页面。这是第8章的工作成果,即订单管理后台主页的操作界面。在这个界面中,可以进行一些订单管理操作。
![](/assets/blank.gif)
小结
本章使用前面章节设计的各种接口服务,设计并开发了一个移动端的商城。在这个设计中,演示了微服务接口的调用方法,同时,针对移动设备进行了一些H5的单页设计实践。在整个开发过程中,读者可以更加深刻地体会到微服务之间的接口调用是非常方便的。而使用SpringCloud工具套件进行移动端应用的开发,同样是轻量级且令人感到愉快的。
![](/assets/blank.gif)
本文给大家讲解的内容SpringCloud微服务架构实战:商城的用户登录与账户切换设计、订单查询设计、集成测试
- 下篇文章给大家讲解的是SpringCloud微服务架构实战:商家管理后台与sso设计;
- 觉得文章不错的朋友可以转发此文关注小编;
- 感谢大家的支持!
小米商城html代码_微服务架构实战:商城的用户登录与账户切换设计、订单查询设计...相关推荐
- 《Spring Cloud与Docker微服务架构实战》配套代码
不才写了本使用Spring Cloud玩转微服务架构的书,书名是<Spring Cloud与Docker微服务架构实战> - 周立,已于2017-01-12交稿.不少朋友想先看看源码,现将 ...
- SpringCloud与Docker微服务架构实战pdf
下载地址:网盘下载 作为一部帮助大家实现微服务架构落地的作品,<Spring Cloud与Docker微服务架构实战>覆盖了微服务理论.微服务开发框架(Spring Cloud)以及运行平 ...
- 【福利】赠书:Spring Cloud与Docker微服务架构实战(第2版)
本次福利送出好友周立的第二版书籍! 正在关注和使用Spring Cloud的朋友们不要错过哦! 内容提要 <Spring Cloud与Docker微服务架构实战(第2版)>基于Spring ...
- 微服务 前台调用后台的慢的原因_20年IT农民工分享SpringCloud微服务架构实战文档...
前言 越来越多的企业使用 SpringCloud 实现微服务架构设计.我们可以看到这样一种现象:不管是全新开发,还是系统重构,大家似乎都在争先恐后地使用微服务.对于一个Java开发人员来说,学习微服务 ...
- 微服务_SpringCloud微服务架构实战:高并发微服务架构设计
高并发微服务架构设计 作为一个 IT 从业人员,我们经常会碰到类似于下面的一些问题: 单个项目巨大而沉重,难以维护. 系统稳定性得不到更有效的保证. 怎样才能持续地提升系统的性能. 怎样才能快速地响应 ...
- Go微服务架构实战 中篇:6. 微服务治理策略
Go微服务架构实战-[公粽号:堆栈future] Go微服务架构实战目录 1. 微服务架构上篇 1. grpc技术介绍 2. grpc+protobuf+网关实战 3. etcd技术介绍 4. 基于e ...
- SpringCloud微服务架构实战:商家权限体系设计及开发
商家管理后台与sso设计 在本文的电商平台实例中,商家是这个平台的主角,商家管理后台是专门为这个主角提供的一个安全可靠的操作平台.在商家管理后台中,商家可以进行商品管理.订单管理.物流管理.会员管理. ...
- 疯狂Spring Cloud微服务架构实战
网站 更多书籍点击进入>> CiCi岛 下载 电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍 电子书下载(皮皮云盘-点击"普通下载" ...
- Spring Cloud与Docker微服务架构实战 PDF版 内含目录
Spring Cloud与Docker微服务架构实战 目录 1 微服务架构概述 1 1.1 单体应用架构存在的问题1 1.2 如何解决单体应用架构存在的问题3 1.3 什么是微服务3 1.4 微服务 ...
最新文章
- linux send 失败_linux高性能网络编程之tcp连接的内存使用
- Android蓝牙开发其二
- 【鸿蒙 HarmonyOS】Ability 中使用 XML 布局文件 绘制布局及 UI 组件
- 数据库连接池技术详解【吐血整理,疯狂推荐】
- python 混淆矩阵_绘制混沌矩阵
- Jquery中的this是什么类型
- img、列表和table标签
- 3 张图带你走近蚂蚁mPaaS音视频通话组件
- linux 安装log4j,Log4j 安装
- dns服务器系统架构,详解 DNS 与 CoreDNS 的实现原理
- 高级参数绑定(数组和List绑定)
- 机器人到底会不会有情感?
- web前端设计与开发期末作品_期末大作业【使用HTML制作汽车首页】
- js json数据去重。json数据如何将相邻的一条数据的重复数据删掉,通过key判断值相等的
- iOS开发小记:初次接入环信SDK3.0时遇到的问题及解决办法汇总
- 战地5离线bot模式_战地2单机怎么增加BOT?
- Abnova ProteoScreen - 组织微阵列抗体详解
- 单片机接收到红外对管的数据怎么用c语言程序传给led显示器,通过红外接口实现单片机之间的通信...
- VS 2019 MFC Edit Control控件自绘带软键盘
- 论文写作中关键字的概念
热门文章
- android租车管理系统,毕业设计(论文)-基于Android的学校租车管理系统的设计与开发.doc...
- python数据挖掘培训课程-python数据挖掘需要学的内容
- 优思学院|六西格玛管理的核心理念是什么?
- 新颖交互形式的H5案例浅析(技术分析)
- 姜兆明:让二手车实现整合与联动
- python中的scrapy爬虫_Python 爬虫之Scrapy《中》
- 一文读懂:“新四化”下的智能驾驶定位三大发展趋势
- Execute Disable Bit
- echarts 3D earth实时攻击 线路图
- 信号的产生——方波函数:矩形波square