谷粒商城商品服务API

Posted 天宇轩-王

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谷粒商城商品服务API相关的知识,希望对你有一定的参考价值。

 29-44跳过,不会前端

F:\\谷粒商城前端\\vue-demo>vue init webpack vue-demo
\'vue\' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

F:\\谷粒商城前端\\vue-demo>npm install -g @vue/cli-init
npm WARN deprecated vue-cli@2.9.6: This package has been deprecated in favour of @vue/cli
npm WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
+ @vue/cli-init@4.4.1
updated 2 packages in 16.692s

F:\\谷粒商城前端\\vue-demo>vue init webpack vue-demo
\'vue\' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

F:\\谷粒商城前端\\vue-demo>npm install -g vue
+ vue@2.6.11
added 1 package from 1 contributor in 0.737s

F:\\谷粒商城前端\\vue-demo>vue init webpack vue-demo
\'vue\' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

F:\\谷粒商城前端\\vue-demo>npm config list
; cli configs
metrics-registry = "https://registry.npm.taobao.org/"
scope = ""
user-agent = "npm/6.9.0 node/v10.16.0 win32 x64"

; userconfig C:\\Users\\asus\\.npmrc
registry = "https://registry.npm.taobao.org/"

; builtin config undefined
prefix = "C:\\\\Users\\\\asus\\\\AppData\\\\Roaming\\\\npm"

; node bin location = D:\\node\\node.exe
; cwd = F:\\谷粒商城前端\\vue-demo
; HOME = C:\\Users\\asus
; "npm config ls -l" to show all defaults.


F:\\谷粒商城前端\\vue-demo>vue
\'vue\' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

F:\\谷粒商城前端\\vue-demo>npm install -g vue
+ vue@2.6.11
updated 1 package in 0.673s

F:\\谷粒商城前端\\vue-demo>npm install -g  @vue/cli
npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
C:\\Users\\asus\\AppData\\Roaming\\npm\\vue -> C:\\Users\\asus\\AppData\\Roaming\\npm\\node_modules\\@vue\\cli\\bin\\vue.js

> core-js@3.6.5 postinstall C:\\Users\\asus\\AppData\\Roaming\\npm\\node_modules\\@vue\\cli\\node_modules\\core-js
> node -e "try{require(\'./postinstall\')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling javascript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)


> @apollo/protobufjs@1.0.4 postinstall C:\\Users\\asus\\AppData\\Roaming\\npm\\node_modules\\@vue\\cli\\node_modules\\@apollo\\protobufjs
> node scripts/postinstall


> nodemon@1.19.4 postinstall C:\\Users\\asus\\AppData\\Roaming\\npm\\node_modules\\@vue\\cli\\node_modules\\nodemon
> node bin/postinstall || exit 0

Love nodemon? You can now support the project via the open collective:
 > https://opencollective.com/nodemon/donate


> ejs@2.7.4 postinstall C:\\Users\\asus\\AppData\\Roaming\\npm\\node_modules\\@vue\\cli\\node_modules\\ejs
> node ./postinstall.js

Thank you for installing EJS: built with the Jake JavaScript build tool (https://jakejs.com/)

npm WARN jscodeshift@0.9.0 requires a peer of @babel/preset-env@^7.1.6 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules\\@vue\\cli\\node_modules\\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

+ @vue/cli@4.4.1
added 1099 packages from 662 contributors in 84.531s

F:\\谷粒商城前端\\vue-demo>npm config list
; cli configs
metrics-registry = "https://registry.npm.taobao.org/"
scope = ""
user-agent = "npm/6.9.0 node/v10.16.0 win32 x64"

; userconfig C:\\Users\\asus\\.npmrc
registry = "https://registry.npm.taobao.org/"

; builtin config undefined
prefix = "C:\\\\Users\\\\asus\\\\AppData\\\\Roaming\\\\npm"

; node bin location = D:\\node\\node.exe
; cwd = F:\\谷粒商城前端\\vue-demo
; HOME = C:\\Users\\asus
; "npm config ls -l" to show all defaults.


F:\\谷粒商城前端\\vue-demo>vue init webpack vue-demo

? Project name vue-demo
? Project description vue-demo
? Author
? Vue build standalone
? Install vue-router? Yes
? Use ESLint to lint your code? No
? Set up unit tests No
? Setup e2e tests with Nightwatch? No
? Should we run `npm install` for you after the project has been created? (recommended) npm

   vue-cli · Generated "vue-demo".


# Installing project dependencies ...
# ========================

npm WARN deprecated extract-text-webpack-plugin@3.0.2: Deprecated. Please use https://github.com/webpack-contrib/mini-css-extract-plugin
npm WARN deprecated browserslist@2.11.3: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm WARN deprecated bfj-node4@5.3.1: Switch to the `bfj` package for fixes and new features!
npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated core-js@2.6.11: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.

> core-js@2.6.11 postinstall F:\\谷粒商城前端\\vue-demo\\vue-demo\\node_modules\\core-js
> node -e "try{require(\'./postinstall\')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)


> ejs@2.7.4 postinstall F:\\谷粒商城前端\\vue-demo\\vue-demo\\node_modules\\ejs
> node ./postinstall.js

Thank you for installing EJS: built with the Jake JavaScript build tool (https://jakejs.com/)


> uglifyjs-webpack-plugin@0.4.6 postinstall F:\\谷粒商城前端\\vue-demo\\vue-demo\\node_modules\\webpack\\node_modules\\uglifyjs-webpack-plugin
> node lib/post_install.js

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN ajv-keywords@3.4.1 requires a peer of ajv@^6.9.1 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules\\webpack-dev-server\\node_modules\\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules\\watchpack-chokidar2\\node_modules\\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules\\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

added 1279 packages from 672 contributors in 115.446s

# Project initialization finished!
# ========================

To get started:

  cd vue-demo
  npm run dev

Documentation can be found at https://vuejs-templates.github.io/webpack



F:\\谷粒商城前端\\vue-demo>

45-51三类分类的操作 

吸引人的有几点

1.父子节点的查找,一般都是sql进行递归,视频中是用方法查的,但是有部分代码相似

 @Override
    public List<CategoryEntity> listWithTree() {
        // 查出全部数据
        List<CategoryEntity> entities = categoryDao.selectList(null);
        //2、组装成父子的树形结构
        List<CategoryEntity> level1Menus = entities.stream().filter(categoryEntity ->
                categoryEntity.getParentCid() == 0
        ).map((menu)->{
            menu.setChildren(getChildrens(menu,entities));
            return menu;
        }).sorted(Comparator.comparing(CategoryEntity::getSort)).collect(Collectors.toList());
        return level1Menus;

    }

    /**
     * 说明:把主节点带进来,查到他的子节点的同时,再查出子节点的下面节点
     * @param root
     * @param all
     * @return
     */
    public List<CategoryEntity> getChildrens(CategoryEntity root,List<CategoryEntity> all){
        List<CategoryEntity> children = all.stream().filter(categoryEntity -> categoryEntity.getParentCid() == root.getCatId())
                .map(categoryEntity -> {
                    categoryEntity.setChildren(getChildrens(categoryEntity, all));
                    return categoryEntity;
                }).sorted(Comparator.comparing(CategoryEntity::getSort))
                .collect(Collectors.toList());
        return children;

    }

2.就是网关的配置,我之前博客也写过

spring:
  cloud:
    gateway:
      routes:
      - id: product
        uri: lb://gulimall-product
        predicates:
          - Path=/api/product/**
        filters:
          - RewritePath=/api/(?<segment>.*), /$\\{segment}
      - id: admin_route
        uri: lb://renren-fast
        predicates:
          - Path=/api/**
        filters:
          - RewritePath=/api/(?<segment>.*), /renren-fast/$\\{segment}

3.就是路由转发以后,会有跨域问题,我也写过转发过博客

https://www.cnblogs.com/dalianpai/p/12584811.html

https://www.cnblogs.com/dalianpai/p/12584789.html  

https://www.cnblogs.com/dalianpai/p/12584960.html  

 

 

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 WGR
 * @create 2020/5/27 -- 21:54
 */
@Configuration
public class GulimallCorsConfiguration {

    @Bean
    public CorsWebFilter corsWebFilter(){
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();

        CorsConfiguration corsConfiguration = new CorsConfiguration();
        //1、配置跨域
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        corsConfiguration.addAllowedOrigin("*");
        corsConfiguration.setAllowCredentials(true);
        source.registerCorsConfiguration("/**",corsConfiguration);
        return new CorsWebFilter(source);
    }
}  

 mybatisplus的逻辑删除也比较简单,底层就是update方法,sql打印如下

以上是关于谷粒商城商品服务API的主要内容,如果未能解决你的问题,请参考以下文章

谷粒商城学习——P54商品服务-API-三级分类-修改-拖拽效果

第178天学习打卡(项目 谷粒商城20 商品服务API 修改拖拽 数据收集修改批量拖拽效果)

谷粒商城-分类维护-通过Java8 Stream API 获取商品三级分类数据

谷粒商城高级篇商品服务 & 商品上架

第176天学习打卡(项目 谷粒商城 18 API三级分类 删除效果细化 新增效果)

Day400&401&402.商品服务 -谷粒商城