1.启动renren-fast、renren-fast-vue
admin/admin进行登录
系统管理–》菜单管理,点击添加
添加一级菜单:商品系统
添加‘商品系统’子菜单:分类维护
2.仿照‘角色管理’添加‘分类维护’组件
由此得出:
需要在src\views\modules\product下创建category.vue组件
3.整合element的Tree 树形控件
category.vue
<template>
<div>
<el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
</div>
</template>
<script>
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
//例如:import 《组件名称》 from '《组件路径》';
export default {
//import引入的组件需要注入到对象中才能使用
components: {},
data() {
return {
data: [{
label: '一级 1',
children: [{
label: '二级 1-1',
children: [{
label: '三级 1-1-1'
}]
}]
}, {
label: '一级 2',
children: [{
label: '二级 2-1',
children: [{
label: '三级 2-1-1'
}]
}, {
label: '二级 2-2',
children: [{
label: '三级 2-2-1'
}]
}]
}, {
label: '一级 3',
children: [{
label: '二级 3-1',
children: [{
label: '三级 3-1-1'
}]
}, {
label: '二级 3-2',
children: [{
label: '三级 3-2-1'
}]
}]
}],
defaultProps: {
children: 'children',
label: 'label'
}
};
},
methods: {
handleNodeClick(data) {
console.log(data);
}
},
//监听属性 类似于data概念
computed: {},
//监控data中的数据变化
watch: {},
//生命周期 - 创建完成(可以访问当前this实例)
created() {
},
//生命周期 - 挂载完成(可以访问DOM元素)
mounted() {
},
beforeCreate() {}, //生命周期 - 创建之前
beforeMount() {}, //生命周期 - 挂载之前
beforeUpdate() {}, //生命周期 - 更新之前
updated() {}, //生命周期 - 更新之后
beforeDestroy() {}, //生命周期 - 销毁之前
destroyed() {}, //生命周期 - 销毁完成
activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
}
</script>
<style scoped>
</style>
4.数据从后台获取
1.清空data
2.在‘生命周期 - 创建完成’后查询所有分类数据
请求后台函数从role.vue中拷贝
注意:在调用方法时,需要用this调用
methods: {
handleNodeClick(data) {
console.log(data);
},
getCategorys(){
this.$http({
url: this.$http.adornUrl('/product/category/list/tree'),
method: 'get'
}).then(({data}) => {
console.log("成功获取到分类数据", data);
})
}
},
//监听属性 类似于data概念
computed: {},
//监控data中的数据变化
watch: {},
//生命周期 - 创建完成(可以访问当前this实例)
created() {
getCategorys();
},
//生命周期 - 挂载完成(可以访问DOM元素)
mounted() {
},
访问‘分类维护’,发现地址前面的端口不正确
全局搜索: http://localhost:8080/renren-fast
配置请求走网关
// api接口请求地址
window.SITE_CONFIG['baseUrl'] = 'http://localhost:808';
刷新页面,验证码也没有了
发现网关项目发送了这个验证码请求了,而实际上是renren-fast这个项目发送的验证码请求
5.renren-fast服务注册到注册中心
pom.xml
<dependency>
<groupId>com.atguigu.gulimall</groupId>
<artifactId>gulimall-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
application.yml
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
application:
name: renren-fast
开启服务注册发现RenrenApplication
@EnableDiscoveryClient
发现验证码还是没出来,再继续修改代码
6.spring-cloud-gateway官网
重写路径Filter
6.15. RewriteLocationResponseHeader GatewayFilter Factory
- id: admin_route
uri: lb://renren-fast
predicates:
- Path=/api/**
filters:
- RewritePath=/api/(?<segment>.*),/renren-fast/$\{segment}
重启网关服务,验证码就出来了
但是登录发现报错了,存在跨域的问题
报错信息,是存在跨域的问题