# gulimall **Repository Path**: zgqone/gulimall ## Basic Information - **Project Name**: gulimall - **Description**: 谷粒商城,自己手写的源码 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 5 - **Created**: 2021-03-23 - **Last Updated**: 2021-06-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # gulimall ## 【分布式基础篇】文件夹结构说明 ### 1、文档篇 * 1、docs/ 分布式基础 : 尚硅谷官方 分布式基础篇的架构图和源码 * 2、docs/ 分布式高级篇 : 尚硅谷官方 分布式高级篇的架构图和源码 * 3、docs/ 高可用集群篇 : 尚硅谷官方 分布式高可用集群篇的架构图和源码 ### 2、前端篇 * 1、frontend : 前端的项目测试工程 * 2、reren-vue : 基于人人开源修改的前端工程,解决了安装等各种异常【参考reren-vue的readme.md】 * 完成 分类维护的树形结构,完成删除功能 ### 3、后端篇 * 1、reren-fast : 基于人人开源修改的后台管理系统 * 2、gulimall-common 【公共jiar】: 谷粒商城的公共配置工程,所有后端工程共享,多集成了swagger2 * 3、gulimall-coupon 【会员优惠券服务】: 谷粒商城的 会员优惠券系统 * 4、gulimall-gateway 【路由服务】: 谷粒商城的 路由服务 * 进行统一路由规则,并设置webfilter进行允许跨域请求 ```java package com.atguigu.gulimall.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.reactive.CorsWebFilter; import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource; /** * @author sunbaojin * @date 2020/5/24 5:56 */ @Configuration public class GatewayCorsConfig { @Bean public CorsWebFilter getCorsWebFilter() { // CorsConfigurationSource 有个子类UrlBasedCorsConfigurationSource,就实例化它 // 注意:都要使用 org.springframework.web.cors.reactive下的包 UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource(); CorsConfiguration corsConfiguration = new CorsConfiguration(); // 设置跨域信息 corsConfiguration.addAllowedHeader("*"); corsConfiguration.addAllowedMethod("*"); corsConfiguration.addAllowedOrigin("*"); // 携带cookie corsConfiguration.setAllowCredentials(true); // 配置拦截路径 urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration); return new CorsWebFilter(urlBasedCorsConfigurationSource); } } ``` * 注意:renren-fast 中,也有跨域的配置,要注释掉,否则浏览器会提供出现允许多个跨域 * 配置路由时,是有优先级的,比如下面的代码,他就先匹配【api/product】,匹配不到才会配置【/api/**】 ```yaml # 产品中心系统的路由 - id: product_route uri: lb://gulimall-product-service predicates: - Path=/api/produc/** filters: - RewritePath=/api/(?.*),/$\{segment} # 后台管理系统的路由 - id: admin_route uri: lb://renren-fast-service predicates: - Path=/api/** filters: - RewritePath=/api/(?.*),/renren-fast/$\{segment} ``` * 5、gulimall-member 【会员服务】: 谷粒商城的 会员服务 * 6、gulimall-order 【订单服务】: 谷粒商城的 订单服务 * 7、gulimall-product 【产品服务】: 谷粒商城的 产品服务 1) Java 8 Stream 说明 参考:https://www.runoob.com/java/java8-streams.html * 8、gulimall-ware 【仓储服务】: 谷粒商城的 仓储服务 ### 4、工具篇 * 7、reren-generator : 基于人人开源修改的自动生成controller、service、dao、do工程 ## 【分布式集群篇】文件夹结构说明 ### 1、kubenetes和kubesphere的安装 * 1.k8s的安装说明:参考【https://gitee.com/jeff_sunbaojin/java-docs】 ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request