- 博客(643)
- 资源 (23)
- 收藏
- 关注
原创 Vue中watch的简单应用
Vue中watch的简单应用Vue中watch的简单应用demo1demo2demo3Vue中watch的简单应用Vue.js 有一个方法 watch,它可以用来监测Vue实例上的数据变动。如果对应一个对象,键是观察表达式,值是对应回调,值也可以是方法名,或者是对象,包含选项。下面写两个demo,参考demo来了解一下demo1<template> <div>...
2019-08-16 06:41:19
557
原创 chrome 67版本后无法拖拽离线安装CRX格式插件的解决方法
chrome 67版本后无法拖拽离线安装CRX格式插件的解决方法第一种:开启开发者模式即可 (推荐)第二种方法:修改参数第三种:修改文件格式,加载扩展程序有一部分网友反映子chrome 67版本以后以前离线安装chrome插件的方法无法使用,虽然小编的电脑仍然可以使用,但是既然有那么多用户反映,自然是存在这种问题的,小编收集整理了三种解决chrome 67版本后无法拖拽离线安装CRX格式插件的解...
2019-08-13 11:27:45
693
原创 Webpack DefinePlugin使用
Webpack DefinePlugin使用DefinePluginDefinePluginnew webpack.DefinePlugin(definitions)DefinePlugin可以在编译时期创建全局变量。该特性适用于开发版本同线上版本在某些常量上有区别的场景。比如,可能会通过全局变量定义是否需要打印日志,在开发版中打印日志,而在先上版本不打印日志。new webpac...
2019-08-06 10:36:54
1273
1
原创 IDEA配置Git
IDEA配置GitIDEA配置Git步骤:(1)在本地安装git(Windows版本)(2)在IDEA中选择菜单 : File – settings , 在窗口中选择Version Control – Git将项目代码提交到Git(1)选择菜单VCS --> Enable Version Control Integration…,选择Git(2)设置远程地址: 右键点击工程...
2019-08-05 18:20:04
345
原创 git --bare init和git init的区别
git --bare init和git init的区别如果使用了git init初始化,则远程仓库的目录下,也包含work tree,当本地仓库向远程仓库push时, 如果远程仓库正在push的分支上(如果当时不在push的分支,就没有问题), 那么push后的结果不会反应在work tree上, 也即在远程仓库的目录下对应的文件还是之前的内容,必须得使用git reset --hard才...
2019-08-05 17:57:59
624
原创 Path variable [contentHash:8] not implemented in this context: styles.[contentHash:8].css
Path variable [contentHash:8] not implemented in this context: styles.[contentHash:8].csswebPack 升级到 4.x导致extract-text-webpack-plugin 无法使用处理方法 plugins: [ new ExtractTextPlugin({ // 从 ...
2019-07-31 18:17:04
4017
1
原创 webpack4.x 报错:Error: Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoin
webpack4.x 报错:Error: Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoin在配置webpack4报错:Error: Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoi...
2019-07-31 18:13:11
542
原创 一个简单的线程工具线程工具
商城-一个简单的线程工具线程工具定义线程工具线程工具调用定义线程工具package com.leyou.utils;import java.util.concurrent.*;/** * @Feature: 线程工具 */public class ThreadUtils { private static final ExecutorService es = Execut...
2019-07-05 18:17:18
644
原创 inequivalent arg 'durable' for queue 'simple_queue' in vhost '/leyou': received 'false' but current
异常:Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILED - inequivalent arg ‘durable’ for...
2019-07-04 15:58:02
4952
原创 docker部署rabbitmq
docker run -di --name=leyou_rabbitmq -p 5671:5617 -p 5672:5672 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 rabbitmq:management
2019-07-03 18:23:21
214
原创 用docker部署FastDFS(分布式文件系统)
用docker部署FastDFS[分布式文件系统]关闭防火墙步骤1步骤2步骤3下载FastDFS文件系统的docker镜像查询镜像安装镜像使用docker镜像构建tracker容器创建tracker容器查看Tracker端口构建storage容器进行服务的配置配置fdfs_conf目录下的storage.conf重新启动storage容器查看tracker容器和storage容器的关联在docke...
2019-06-26 03:45:58
1242
原创 docker的四种网络模式
docker的四种网络模式host模式Container模式none 模式bridge模式host模式docker run 使用 --net=host指定docker使用的网络实际上和宿主机一样Container模式使用 --net=container:container_id/container_name多个容器使用共同的网络,看到的ip是一样的。none 模式使用 --net=...
2019-06-26 02:12:19
455
原创 Centos下安装FastDFS
1. Centos下安装FastDFS1.1 上传将课前资料中的文件上传到linux下的/home/leyou/fdfs目录:1.2 安装依赖FastDFS运行需要一些依赖,在课前资料提供的虚拟中已经安装好了这些依赖,如果大家想要从头学习,可以按下面方式安装:1.2.1 安装GCC依赖GCC用来对C语言代码进行编译运行,使用yum命令安装:sudo yum -y install g...
2019-06-25 20:39:50
363
原创 商城-下单-微信支付
商城-下单-微信支付3.微信支付3.1.介绍3.2.开发流程3.3.生成二维码3.3.1.生成预交易链接3.3.2.生成二维码3.4.付款状态查询3.4.1.页面循环查询支付状态3.4.2.付款成功页面3.微信支付3.1.介绍微信支付官方文档:https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F我们选择开发文...
2019-06-18 13:05:07
1720
原创 商城-下单-订单结算页
商城-购物车-订单结算页2.订单结算页2.1.页面跳转2.2.收货人信息(作业)2.3.支付方式2.4.商品列表2.4.1.购物车信息获取2.4.2.页面渲染2.5.总金额2.6.提交订单2.6.1.页面提交2.6.2.精度损失问题2.订单结算页2.1.页面跳转在购物车页面的最下方,有一个去结算按钮:当点击结算,我们应该跳转到订单结算页,即:getOrderInfo.html查看购物...
2019-06-18 13:02:01
13690
1
原创 商城-下单-订单系统接口
商城-购物车-订单系统接口1.订单系统接口1.1.导入订单服务1.2.Swagger-UI1.2.1.什么是OpenAPI1.2.2.什么是swagger?1.2.3.快速入门1)引入依赖2)编写配置3)接口声明4)启动测试1.3.测试接口1.3.1.创建订单接口1.3.2.生成ID的方式1.3.2.查询订单接口1.3.3.更新订单状态1.3.4.分页查询订单1.3.5.生成微信付款链接微信支付工...
2019-06-18 12:57:30
7949
原创 商城-购物车-登录后购物车合并
商城-购物车-登录后购物车合并5.登录后购物车合并5.登录后购物车合并当跳转到购物车页面,查询购物车列表前,需要判断用户登录状态,如果登录:首先检查用户的LocalStorage中是否有购物车信息,如果有,则提交到后台保存,清空LocalStorage如果未登录,直接查询即可...
2019-06-18 12:51:28
1647
原创 商城-购物车-已登录购物车
商城-购物车-已登录购物车4.已登录购物车4.1.添加登录校验4.1.1.引入JWT相关依赖4.1.2.配置公钥4.1.3.加载公钥4.1.4.编写拦截器4.1.5.配置过滤器4.2.后台购物车设计4.3.添加商品到购物车4.3.1.页面发起请求4.3.2.编写controller4.3.3.CartService4.3.4.GoodClient4.3.5.结果4.4.查询购物车4.4.1.页面发...
2019-06-18 12:50:39
825
原创 商城-购物车-未登录购物车
商城-购物车-未登录购物车3.未登录购物车3.1.准备3.1.1购物车的数据结构3.1.2.web本地存储什么是web本地存储?LocalStorage的用法3.1.3.获取num3.2.添加购物车3.2.1.点击事件3.2.2.获取数量,添加购物车3.3.查询购物车3.3.1.校验用户登录3.3.2.查询购物车3.5.2.渲染到页面3.6.修改数量3.7.删除商品3.8.选中商品3.8.1.选中...
2019-06-18 12:46:39
1584
原创 商城-购物车-购物车功能分析
商城-购物车-搭建购物车服务2.购物车功能分析2.1.需求2.2.流程图2.购物车功能分析2.1.需求需求描述:用户可以在登录状态下将商品添加到购物车放入数据库放入redis(采用)用户可以在未登录状态下将商品添加到购物车放入localstorage用户可以使用购物车一起结算下单用户可以查询自己的购物车用户可以在购物车中修改购买商品的数量。用户可以在购物车中删...
2019-06-18 12:41:16
4798
原创 商城-购物车-搭建购物车服务
商城-购物车-搭建购物车服务1.搭建购物车服务1.1.创建module1.2.pom依赖1.3.配置文件1.4.启动类1.搭建购物车服务1.1.创建module1.2.pom依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" ...
2019-06-18 12:40:07
512
原创 商城-授权中心-网关的登录拦截器
商城-授权中心-网关的登录拦截器4.网关的登录拦截器4.1.引入jwt相关配置4.2.编写过滤器逻辑4.3.白名单4.网关的登录拦截器接下来,我们在Zuul编写拦截器,对用户的token进行校验,如果发现未登录,则进行拦截。4.1.引入jwt相关配置既然是登录拦截,一定是前置拦截器,我们在leyou-gateway中定义。首先在pom.xml中,引入所需要的依赖:<depende...
2019-06-18 12:38:04
1582
原创 商城-授权中心-首页判断登录状态
商城-授权中心-首页判断登录状态3.首页判断登录状态3.1.页面JS代码3.2.后台实现校验用户接口3.3.测试3.4.刷新token3.首页判断登录状态虽然cookie已经成功写入,但是我们首页的顶部,登录状态依然没能判断出用户信息:这里需要向后台发起请求,根据cookie获取当前用户的信息。我们先看页面实现3.1.页面JS代码页面的顶部已经被我们封装为一个独立的Vue组件,在/j...
2019-06-18 12:35:42
1040
原创 商城-授权中心-授权中心
商城-授权中心-授权中心2.授权中心2.1.创建授权中心2.1.1.创建父module2.1.2.通用module2.1.3.授权服务2.2.JWT工具类2.3.测试工具类2.3.编写登录授权接口2.3.1.生成公钥和私钥2.3.2.Controller2.3.3.CookieUtils2.3.3.UserClient2.3.4.Service2.3.5.项目结构2.3.6.测试2.4.登录页面2...
2019-06-18 12:31:06
1169
原创 商城-授权中心-无状态登录原理
商城-授权中心-无状态登录原理1.无状态登录原理1.1.什么是有状态?1.2.什么是无状态1.3.如何实现无状态1.4.JWT1.4.1.简介1.4.2.数据格式1.4.3.JWT交互流程1.4.4.非对称加密1.5.结合Zuul的鉴权流程1.5.1.没有RSA加密时1.5.2.结合RSA的鉴权1.无状态登录原理1.1.什么是有状态?有状态服务,即服务端需要记录每次会话的客户端信息,从而识别...
2019-06-18 12:22:56
505
原创 商城-用户注册-根据用户名和密码查询用户
商城-用户注册-根据用户名和密码查询用户7.根据用户名和密码查询用户7.1.接口说明功能说明接口路径参数说明:返回结果:7.2.controller7.3.service7.4.测试8.在注册页进行测试7.根据用户名和密码查询用户7.1.接口说明功能说明查询功能,根据参数中的用户名和密码查询指定用户接口路径GET /query参数说明:form表单格式参数说明是否...
2019-06-18 12:05:44
1650
原创 商城-用户注册-注册功能
商城-用户注册-注册功能6.注册功能6.1.接口说明6.2.controller6.3.service6.4.测试6.5.服务端数据校验6.5.1.什么是Hibernate Validator6.5.2.Bean校验的注解6.5.3.给User添加校验6.5.4.在controller上进行控制6.5.5.测试6.注册功能6.1.接口说明6.2.controller/** * 注册 ...
2019-06-18 12:04:22
999
原创 商城-用户注册-发送短信功能
商城-用户注册-数据验证功能5.发送短信功能5.1.接口说明5.2.Redis5.2.1.安装5.2.2.Spring Data Redis5.2.3.RedisTemplate基本操作5.2.4.StringRedisTemplate5.2.5.测试5.3.controller5.4.service5.5.测试5.发送短信功能短信微服务已经准备好,我们就可以继续编写用户中心接口了。5.1....
2019-06-18 11:58:31
369
原创 商城-用户注册-数据验证功能
商城-用户注册-数据验证功能3.数据验证功能3.1.接口说明3.2.controller3.3.Service3.4.测试3.数据验证功能3.1.接口说明实现用户数据的校验,主要包括对:手机号、用户名的唯一性校验。接口路径:GET /check/{data}/{type}参数说明:参数说明是否必须数据类型默认值data要校验的数据是String无...
2019-06-18 11:49:36
410
原创 商城-用户注册-后台功能准备
商城-用户注册-后台功能准备2.后台功能准备2.1.接口文档2.2.数据结构2.3.基本代码2.3.1.实体类2.3.2.mapper2.3.3.Service2.3.4.controller2.后台功能准备2.1.接口文档整个用户中心的开发,我们将模拟公司内面向接口的开发。现在假设项目经理已经设计好了接口文档,详见:《用户中心接口说明.md》我们将根据文档直接编写后台功能,不关心页面...
2019-06-18 11:47:01
526
原创 商城-用户注册-创建用户中心
商城-用户注册-创建用户中心1.创建用户中心1.1.创建父module1.2.创建leyou-user-interface1.3.创建leyou-user-service1.4.添加网关路由1.创建用户中心用户搜索到自己心仪的商品,接下来就要去购买,但是购买必须先登录。所以接下来我们编写用户中心,实现用户的登录和注册功能。用户中心的提供的服务:用户的注册用户登录用户个人信息管理用户...
2019-06-18 11:31:15
523
原创 商城-RabbitMQ及消息同步-项目改造
商城-RabbitMQ及消息同步-项目改造4.项目改造4.1.思路分析4.2.商品服务发送消息4.2.1.引入依赖4.2.2.配置文件4.2.3.改造GoodsService4.3.搜索服务接收消息4.3.1.引入依赖4.3.2.添加配置4.3.3.编写监听器4.3.4.编写创建和删除索引方法4.4.静态页服务接收消息4.4.1.引入依赖4.4.2.添加配置4.4.3.编写监听器4.4.4.添加删...
2019-06-17 22:11:18
261
原创 商城-RabbitMQ及消息同步-Spring AMQP
商城-RabbitMQ及消息同步-Spring AMQP3.Spring AMQP3.1.简介3.2.依赖和配置3.3.监听者3.4.AmqpTemplate3.5.测试代码3.Spring AMQP3.1.简介Sprin有很多不同的项目,其中就有对AMQP的支持:Spring AMQP的页面:http://spring.io/projects/spring-amqp注意这里一段描述...
2019-06-17 21:59:23
243
原创 商城-RabbitMQ及消息同步-五种消息模型
商城-RabbitMQ及消息同步-五种消息模型2.五种消息模型2.1.基本消息模型2.1.1.生产者发送消息2.1.2.管理工具中查看消息2.1.3.消费者获取消息2.1.4.消息确认机制(ACK)2.1.4.1.自动ACK存在的问题2.1.4.2.演示手动ACK2.2.work消息模型2.2.1.生产者2.2.2.消费者12.2.3.消费者22.2.4.能者多劳2.3.订阅模型分类2.4.订阅模...
2019-06-17 21:54:43
1903
原创 商城-RabbitMQ及消息同步-RabbitMQ
商城-RabbitMQ及消息同步-RabbitMQ1.RabbitMQ1.1.搜索与商品服务的问题1.2.消息队列(MQ)1.2.1.什么是消息队列1.2.2.AMQP和JMS1.2.3.常见MQ产品1.2.4.RabbitMQ1.3.下载和安装1.3.1.下载1.3.2.安装1.RabbitMQ1.1.搜索与商品服务的问题目前我们已经完成了商品详情和搜索系统的开发。我们思考一下,是否存在问...
2019-06-17 21:40:35
850
原创 商城-商品详情及静态化-页面静态化
商城-商品详情及静态化-页面静态化2.页面静态化2.1.简介2.1.1.问题分析2.1.2.什么是静态化2.1.3.如何实现静态化2.2.Thymeleaf实现静态化2.2.1.概念2.2.2.具体实现2.2.3.什么时候创建静态文件2.2.4.重启测试:2.3.nginx代理静态页面2.页面静态化2.1.简介2.1.1.问题分析现在,我们的页面是通过Thymeleaf模板引擎渲染后返回到...
2019-06-17 21:29:00
2171
原创 商城-商品详情及静态化-商品详情
商城-商品详情及静态化-商品详情1.商品详情1.1.Thymeleaf1.2.商品详情页服务1.2.1.创建module1.2.2.pom依赖1.2.3.编写启动类1.2.4.application.yml文件1.2.5.页面模板1.3.页面跳转1.3.1.修改页面跳转路径1.3.2.nginx反向代理1.3.3.编写跳转controller1.3.4.测试1.4.封装模型数据1.4.1.商品微服...
2019-06-17 21:26:40
518
原创 商城-搜索过滤-优化
商城-搜索过滤-优化7.优化7.优化搜索系统需要优化的点:查询规格参数部分可以添加缓存聚合计算interval变化频率极低,所以可以设计为定时任务计算(周期为天),然后缓存起来。elasticsearch本身有查询缓存,可以不进行优化商品图片应该采用缩略图,减少流量,提高页面加载速度图片采用延迟加载图片还可以采用CDN服务器sku信息应该在页面异步加载,而不是放到索引库...
2019-06-17 18:27:58
426
原创 商城-搜索过滤-取消过滤项
商城-搜索过滤-取消过滤项6.取消过滤项6.取消过滤项我们能够看到,每个过滤项后面都有一个小叉,当点击后,应该取消对应条件的过滤。思路非常简单:给小叉绑定点击事件点击后把过滤项从search.filter中移除,页面会自动刷新,OK绑定点击事件:绑定点击事件时,把k传递过去,方便删除删除过滤项removeFilter(k){ this.search.filt...
2019-06-17 18:27:19
386
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人