谷粒商城
2023-11-28 15:45:05 0 举报
AI智能生成
谷粒商城笔记
作者其他创作
大纲/内容
1、最好是centos7下安装docker,不然内核版本过低会导致安装不成功
https://docs.docker.com/engine/install/centos/
2、通过docker官方文档进行安装
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://2j04ls1x.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
3、配置docker阿里云镜像加速
安装docker
docker pull mysql:5.7
下载镜像文件:
docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
启动mysql
docker exec -it mysql /bin/bash
进入docker服务容器中
vi /mydata/mysql/conf/my.cnf
[client]13;default-character-set=utf813;13;[mysql]13;default-character-set=utf813;13;[mysqld]13;init_connect='SET collation_connection = utf8_unicode_ci'13;init_connect='SET NAMES utf8'13;character-set-server=utf813;collation-server=utf8_unicode_ci13;skip-character-set-client-handshake13;skip-name-resolve
设置mysql的字符编码
docker restart mysql
重启
docker安装mysql
docker pull redis
安装redis镜像
mkdir -p /mydata/redis/conf
touch redis.conf
创建文件夹
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
启动容器
docker exec -it redis redis-cli
进入redis客户端
appendonly yes
vim /mydata/redis/conf/redis.conf
设置aof持久化
docker安装redis
jdk1.8.0_251
maven 3.6
<profile> 13;\t\t<id>jdk-1.8</id> 13;\t\t<activation> 13;\t\t\t<activeByDefault>true</activeByDefault> 13;\t\t\t<jdk>1.8</jdk> 13;\t\t</activation> 13;\t\t<properties> 13;\t\t\t<maven.compiler.source>1.8</maven.compiler.source> 13;\t\t\t<maven.compiler.target>1.8</maven.compiler.target> 13;\t\t\t<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> 13;\t\t</properties> 13;\t</profile>
maven setting 配置
maven配置
lombok
MybatisX
插件下载
idea配置
Auto Close Tag
Auto Rename Tag
Chinese (Simplified) Language Pack for Visual Studio Code
ESLint
HTML CSS Support
HTML Snippets
JavaScript (ES6) code snippets
Live Server
open-in-browser
Vetur
插件安装
vscood安装(官网下载安装)
注册码云
登陆git官网下载客户端并安装
git config --global user.name "supperqiang"
对你的commit操作设置关联的用户名
git config --global user.email "[email address]"
对你的commit操作设置关联的邮箱地址
对所有本地仓库的用户信息进行配置
进入git bash
ssh-keygen -t rsa -C "xxxxx@xxxxx.com" 13; 13;# Generating public/private rsa key pair...13;# 三次回车即可生成 ssh key
cat ~/.ssh/id_rsa.pub13;# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
查看秘钥
将秘钥配置到码云的公钥中
ssh -T git@gitee.com
测试是否配置成功
配置ssh免密登陆
git配置
码云新建仓库
idea克隆地址
导入web
导入routing中的OpenFeign
spring初始化创建各个服务
<modelVersion>4.0.0</modelVersion>13; <groupId>com.atguigu.gulimall</groupId>13; <artifactId>gulimall</artifactId>13; <version>0.0.1-SNAPSHOT</version>13; <name>gulimall</name>13; <description>聚合服务</description>13; <packaging>pom</packaging>13;13; <modules>13; <module>gulimall-product</module>13; <module>gulimall-order</module>13; <module>gulimall-member</module>13; <module>gulimall-coupon</module>13; <module>gulimall-ware</module>13; </modules>
复制pom文件至总服务
聚合服务创建
修改.gitignore文件
配置忽略文件
项目建构创建
导入至微服务项目中
renren-fast
使用vscood打开
官网下载安装
npm config set registry https://registry.npm.taobao.org
配置npm使用淘宝镜像
安装node.js
npm install
下载镜像
npm run dev
运行项目
renren-fast-vue
人人开源搭建后台管理系统
环境准备
配置数据库
配置包名
删除\\jdk1.8.0_121\\jre\\lib\\ext路径下的servlet-api.jar
renren-generator
代码导入相应模块
pom文件添加description描述
<dependency>13; <groupId>com.baomidou</groupId>13; <artifactId>mybatis-plus-boot-starter</artifactId>13; <version>3.3.2</version>13;</dependency>
mybatis plus
<dependency>13; <groupId>org.projectlombok</groupId>13; <artifactId>lombok</artifactId>13; <version>1.18.4</version>13; </dependency>
添加com.atguigu.common.utils包
复制PageUtils、Query工具类
解决service报错
复制R工具类
删除RequiresPermissions注解
解决controller报错
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore -->13;<dependency>13; <groupId>org.apache.httpcomponents</groupId>13; <artifactId>httpcore</artifactId>13; <version>4.4.13</version>13;</dependency>13;
添加httpComponents
<dependency>13; <groupId>commons-lang</groupId>13; <artifactId>commons-lang</artifactId>13; <version>2.6</version>13; </dependency>
添加commons-lang依赖
将renren-fast的xss包复制至common包下
复制Constant工具类
pom文件添加依赖
将模板中RequiresPermissions注解注释掉
删除模板中的import org.apache.shiro.authz.annotation.RequiresPermissions;
重新生成代码并将controller重新替换
新建gulimall-common模块
将common模块添加至微服务pom依赖中
逆向工程搭建&使用
1)、导入依赖
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->13;<dependency>13; <groupId>mysql</groupId>13; <artifactId>mysql-connector-java</artifactId>13; <version>8.0.20</version>13;</dependency>13;
1、导入数据库驱动
<dependency>13; <groupId>javax.servlet</groupId>13; <artifactId>servlet-api</artifactId>13; <version>2.5</version>13; <scope>provided</scope>13; </dependency>
导入servlet-api
删除XssHttpServletRequestWrapper、XssFilter
导入RRException
spring:13; datasource:13; username: root13; password: root13; url: jdbc:mysql://192.168.10.150:3306/gulimall_pms13; driver-class-name: com.mysql.jdbc.Driver
创建application.yml文件
2、配置
1、配置数据源
@MapperScan("com.atguigu.gulimall.product.dao")
1)、使用@MapperScan
mybatis-plus:13; mapper-locations: classpath:/mapper/**/*.xml
2)、告诉MyBatis-Plus映射文件
global-config:13; db-config:13; id-type: auto
配置主键自增
2、配置MyBatis-Plus
2)、配置
整合MyBatis-Plus
配置&测试微服务基本CRUD功能
gulimall-coupon(优惠券)
gulimall-member(用户)
gulimall-order(订单)
gulimall-ware(库存)
逆向生成所有微服务基本CRUD代码
快速开发
<dependencyManagement>13; <dependencies>13; <dependency>13; <groupId>com.alibaba.cloud</groupId>13; <artifactId>spring-cloud-alibaba-dependencies</artifactId>13; <version>2.2.0.RELEASE</version>13; <type>pom</type>13; <scope>import</scope>13; </dependency>13; </dependencies>13; </dependencyManagement>
spring-cloud-alibaba
<dependency>13; <groupId>com.alibaba.cloud</groupId>13; <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>13; </dependency>
1、common的pom配置文件中引入Nacos Discovery starter
1.3.0
版本
http://127.0.0.1:8848/nacos
访问
2、Nacos服务下载&启动
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
3、在应用的 yml配置文件中配置文件中配置 Nacos Server 地址
4、使用 @EnableDiscoveryClient 注解开启服务注册与发现功能
spring.application.name=service-provider
5、配置服务名
spring-cloud-alibaba-Nacos注册中心
<dependency>13; <groupId>org.springframework.cloud</groupId>13; <artifactId>spring-cloud-starter-openfeign</artifactId>13; </dependency>
1、服务中引入依赖
@FeignClient("gulimall-coupon")
接口上使用@FeignClient注解
@RequestMapping("/coupon/coupon/member/coupons")13; public R memberCoupons();
拷贝远程调用接口
@EnableFeignClients("com.atguigu.gulimall.member.feign")
在服务主类上添加@EnableFeignClients注解
开启远程调用功能
2、创建feign接口
spring-cloud-OpenDeign测试远程调用
<dependency>13; <groupId>com.alibaba.cloud</groupId>13; <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>13; </dependency>
1、引入依赖
spring.application.name=gulimall-coupon13;spring.cloud.nacos.config.server-addr=127.0.0.1:8848
2、在应用的 /src/main/resources/bootstrap.properties 配置文件中配置 Nacos Config 元数据
@RefreshScope13; class SampleController {13;13; \t@Value("${user.name}")13; \tString userName;13;13; \t@Value("${user.age}")13; \tint age;13; }
使用 @Value 注解来将对应的配置注入到 SampleController 的 userName 和 age 字段,使用 @RefreshScope 打开动态刷新功能
Data Id规则为:服务名.properties
在nacos配置界面添加配置
3、使配置生效
spring-cloud-alibaba-Nacos配置中心
默认:public(保留空间);默认新增的所有配置都在
新建命名空间dev、test、prop
克隆配置
spring.cloud.nacos.config.namespace=propConfig
添加使用配置
1、开发、测试、生产配置均不同
新建命名空间"服务名"
2、每一个微服务使用各自的配置
使用场景
命名空间:配置隔离
配置集:所有配置的集合
Data Id:类似文件名
配置集ID:类似文件名
默认所有的配置集都属于:DEFAULT_GROUP
spring.cloud.nacos.config.group=618
添加配置
1111、618
场景
配置分组
每个微服务创建自己的命名空间,使用配置分组区分环境,dev、test、prod
总结
spring-cloud-alibaba-Nacos配置中心-命名空间与配置分组
根据功能在nacos配置界面分别新建不同配置文件进行参数配置
spring.cloud.nacos.config.extension-configs[0].data-id=datasource.yml13;spring.cloud.nacos.config.extension-configs[0].group=dev13;spring.cloud.nacos.config.extension-configs[0].refresh=true13;13;spring.cloud.nacos.config.extension-configs[1].data-id=mybatis.yml13;spring.cloud.nacos.config.extension-configs[1].group=dev13;spring.cloud.nacos.config.extension-configs[1].refresh=true13;13;spring.cloud.nacos.config.extension-configs[2].data-id=other.yml13;spring.cloud.nacos.config.extension-configs[2].group=dev13;spring.cloud.nacos.config.extension-configs[2].refresh=true
在bootstrap中配置
https://nacos.io/zh-cn/docs/quick-start.html
其他环境配置nacos
spring-cloud-alibaba-Nacos配置中心-加载多配置集
https://spring.io/projects/spring-cloud-gateway#learn
官网
springCloud-Gateway网关核心&原理
添加Gateway依赖
创建网关模块gulimall-gateway
1、主类上添加@EnableDiscoveryClient注解
spring.cloud.nacos.discovery.server-addr=127.0.0.1:884813;spring.application.name=gulimall-gateway
2、application.yml文件中添加nacos地址&服务名称
开启服务的注册发现
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
1、新建bootstrap配置文件,添加配置
spring.cloud.nacos.config.namespace=gatewayConfig
2、在nancos配置界面新增gateway命名空间
3、在nacos客户端新增gulimall-gateway.yml配置文件并新增spring.applicaction.name配置
开启服务的配置
1、新建application.yml配置文件&添加配置
测试网关
springCloud-Gateway创建&测试API网关
分布式组件
分支主题
技术栈简介
{13; var a = 1;13; let b = 2;13;13; }13; console.log(a);13; console.log(b);
1、let无法越域
var a = 1;13; var a = 2;13;13; let b = 3;13; // let b = 4;13;13; console.log(a);13; console.log(b);
2、let无法重复申明
console.log(a);(undefined)13; var a = 1;13;13; console.log(b);( Cannot access 'b' before initialization)13; let b = 4;
3、var存在变量提升
let与var比较
const a = 3;13; a = 4;(Assignment to constant variable.)
用来申明常量,一旦申明,不允许修改
const
ES6-let&const
1、数组解构
2、对象解构
解构
let str = "hello.vue";13; console.log(str.startsWith("hello"));13; console.log(str.endsWith("vue"));13; console.log(str.includes("e"));13; console.log(str.includes("java"));
1、几个新的API
2、字符串模板(``)
function fun(){13; return "这是一个美人";13; }13; console.log(`她是${abc},今年${age},我想说:${fun()}`);
3、字符串插入变量和表达式,变量名及表达式写在${}中
字符串扩展
解构&字符串
1、函数参数默认值
2、不定参数
3、箭头函数
函数优化
1、新增API
2、申明对象简写
3、对象的函数属性简写
1、拷贝对象
2、合并对象
4、对象扩展运算符
对象优化
map()
reduce()
ES6-map、reduce
ES6-promise异步编排
export
import
ES6-模块化
Vue介绍&HelloWorld
双向绑定
绑定模型
v-model
绑定事件
v-on
v-**指令
Vue 2 Snippets
Vue Devtools(浏览器插件)
插件
Vue基本语法&插件安装
v-text、v-html
v-bind
v-module
v-for
v-if、v-show
v-else、v-else-if
指令
Vue指令-单向绑定&双向绑定
Vue计算属性和侦听器
Vue组件化基础
Vue生命周期和钩子函数
npm install webpack -g
1、全局安装webpack
npm install -g @vue/cli-init
2、全局安装vue脚手架
vue init webpack appname
cd vue-demo13; npm run dev
3、初始化vue项目
Vue使用Vue脚手架进行模块开发
npm i element-ui
安装ElementUI及上手
Vue整合ElementUI快速开发
前端基础
在gulimall-product模块编写获取分类代码
三级分类-查询-递归树形结构数据获取
启动renren-fast前台与后台系统(gulimall-admin数据库)
新建商品系统-分类维护菜单
参照前端其他模块新建分类模块product/category.vue
修改前端基础路径为网关路径http://localhost:88
启动nacos
renren-fast服务注册
- id: renren-fast13; uri: lb://renren-fast13; predicates:13; - Path=/api/**
使用Path Route Predicate Factory断言设置路由规则
使用RewritePath GatewayFilter Factory过滤工厂重写路径
三级分类-配置网关路由与路径重写
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS
官方文档
在网关中统一添加Cors过滤
将renren-fast中的corsConfig注释掉
三级分类-网关统一配置跨域
将gulimall-product服务注册到Nacos
在网关配置product路由(详细路由要放在高优先级处)
通过{data}将数据结构并将data.page展示到树形结构中
三级分类-查询-树形展示三级分类数据
使用 scoped slot 添加删除,新增按钮
show-checkbox
添加show-checkbox\t节点是否可被选择
node-key="catId"
添加node-key\t每个树节点用来作为唯一标识的属性,整棵树应该是唯一的
:expand-on-click-node="false"
添加expand-on-click-node\t是否在点击节点的时候展开或者收缩节点, 默认值为 true,如果为 false,则只有点箭头图标的时候才会展开或者收缩节点。
通过v-if判断哪个节点应该出现合适的按钮
三级分类-删除-页面效果
下载postman
测试分类删除接口
https://mp.baomidou.com/guide/logic-delete.html#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95%EF%BC%9A
1、配置DbConfig
@TableLogic13;private Integer deleted;
2、实体类字段上加上@TableLogic注解
logging:13; level:13; com.atguigu.gulimall: debug
调整日志级别
mybatis plus添加逻辑删除配置
三级分类-删除-逻辑删除
调用删除请求
MessageBox 弹框
Message 消息提示
default-expanded-keys\t默认展开的节点的 key 的数组
三级分类-删除-删除效果细化
Dialog 对话框
三级分类-新增-新增效果完成
close-on-click-modal\t是否可以通过点击 modal 关闭 Dialog\t
三级分类-修改-基本修改效果完成
draggable\t是否开启拖拽节点功能\tboolean
allow-drop\t拖拽时判定目标节点能否被放置。type 参数有三种情况:'prev'、'inner' 和 'next',分别表示放置在目标节点前、插入至目标节点和放置在目标节点后
三级分类-修改-拖拽效果
商品服务-API
谷粒商城
0 条评论
回复 删除
下一页