mall
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客 户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
Top Related Projects
又一个小商城。litemall = Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端
基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构,提供整套公共微服务服务模块:集中权限管理(单点登录)、内容管理、支付中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业级开发解决方案。
🔥 🎉newbee-mall是一套电商系统,包括基础版本(Spring Boot+Thymeleaf)、前后端分离版本(Spring Boot+Vue 3+Element-Plus+Vue-Router 4+Pinia+Vant 4) 、秒杀版本、Go语言版本、微服务版本(Spring Cloud Alibaba+Nacos+Sentinel+Seata+Spring Cloud Gateway+OpenFeign+ELK)。 前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。 后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。
spring cloud + vue + oAuth2.0全家桶实战,前后端分离模拟商城,完整的购物流程、后端运营平台,可以实现快速搭建企业级微服务项目。支持微信登录等三方登录。
🕷 Super-agent driven library for testing node.js HTTP servers using a fluent API. Maintained for @forwardemail, @ladjs, @spamscanner, @breejs, @cabinjs, and @lassjs.
A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)
Quick Overview
Mall is a comprehensive e-commerce system developed using SpringBoot and Vue. It includes a front-end mall system and a back-end management system, covering various e-commerce features such as product management, order management, and member management. The project serves as a learning resource for those interested in e-commerce development using modern technologies.
Pros
- Comprehensive e-commerce solution with both front-end and back-end systems
- Well-documented with detailed deployment instructions and API documentation
- Utilizes popular and modern technologies like SpringBoot, Vue, and Docker
- Active community and regular updates
Cons
- Large and complex project, which may be overwhelming for beginners
- Primarily documented in Chinese, which could be a barrier for non-Chinese speakers
- Requires significant resources to run the entire system locally
- Some features may be specific to the Chinese e-commerce market
Code Examples
// Example of product search in ProductController
@ApiOperation("Search for products")
@RequestMapping(value = "/search", method = RequestMethod.GET)
@ResponseBody
public CommonResult<CommonPage<PmsProduct>> search(@RequestParam(required = false) String keyword,
@RequestParam(required = false) Long brandId,
@RequestParam(required = false) Long productCategoryId,
@RequestParam(required = false, defaultValue = "0") Integer pageNum,
@RequestParam(required = false, defaultValue = "5") Integer pageSize,
@RequestParam(required = false, defaultValue = "0") Integer sort) {
List<PmsProduct> productList = productService.search(keyword, brandId, productCategoryId, pageNum, pageSize, sort);
return CommonResult.success(CommonPage.restPage(productList));
}
// Example of order creation in OmsPortalOrderController
@ApiOperation("Generate order based on shopping cart")
@RequestMapping(value = "/generateOrder", method = RequestMethod.POST)
@ResponseBody
public CommonResult generateOrder(@RequestBody OrderParam orderParam) {
Map<String, Object> result = portalOrderService.generateOrder(orderParam);
return CommonResult.success(result, "Order placed successfully");
}
<!-- Example of product list component in Vue -->
<template>
<div class="product-list">
<div v-for="product in products" :key="product.id" class="product-item">
<img :src="product.pic" :alt="product.name">
<h3>{{ product.name }}</h3>
<p>{{ product.price }}</p>
<button @click="addToCart(product)">Add to Cart</button>
</div>
</div>
</template>
<script>
export default {
data() {
return {
products: []
}
},
methods: {
addToCart(product) {
// Implementation of add to cart functionality
}
}
}
</script>
Getting Started
-
Clone the repository:
git clone https://github.com/macrozheng/mall.git
-
Set up the database:
- Install MySQL and create a database named
mall
- Run the SQL scripts in the
document/sql
directory
- Install MySQL and create a database named
-
Configure application properties:
- Update
application.yml
with your database credentials
- Update
-
Run the application:
mvn spring-boot:run
-
Access the application at
http://localhost:8080
For detailed instructions, refer to the project's documentation.
Competitor Comparisons
又一个小商城。litemall = Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端
Pros of litemall
- Simpler architecture, making it easier to understand and maintain
- Includes a Vue-based admin dashboard out of the box
- Focuses on small to medium-sized e-commerce applications
Cons of litemall
- Less comprehensive feature set compared to mall
- Smaller community and fewer contributions
- Limited scalability for large-scale e-commerce platforms
Code Comparison
mall:
@Autowired
private UmsMemberService memberService;
@ApiOperation("获取验证码")
@GetMapping("/getAuthCode")
public CommonResult getAuthCode(@RequestParam String telephone) {
return memberService.generateAuthCode(telephone);
}
litemall:
@Autowired
private LitemallUserService userService;
@PostMapping("register")
public Object register(@RequestBody String body) {
String username = JacksonUtil.parseString(body, "username");
String password = JacksonUtil.parseString(body, "password");
String mobile = JacksonUtil.parseString(body, "mobile");
String code = JacksonUtil.parseString(body, "code");
if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password) || StringUtils.isEmpty(mobile) || StringUtils.isEmpty(code)) {
return ResponseUtil.badArgument();
}
return userService.register(username, password, mobile, code);
}
The code snippets show different approaches to user registration and authentication. mall uses a dedicated service for generating authentication codes, while litemall combines user registration with code verification in a single method.
基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构,提供整套公共微服务服务模块:集中权限管理(单点登录)、内容管理、支付 中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业级开发解决方案。
Pros of zheng
- More comprehensive microservices architecture with a wider range of modules
- Includes additional features like SSO and API gateway
- Provides a more detailed project structure for large-scale applications
Cons of zheng
- Less active development and maintenance compared to mall
- Documentation is not as extensive or up-to-date
- May have a steeper learning curve due to its complexity
Code Comparison
zheng:
@Service
@Transactional
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
public UserVO getUserById(int userId) {
return userMapper.selectByPrimaryKey(userId);
}
}
mall:
@Service
public class UmsAdminServiceImpl implements UmsAdminService {
@Autowired
private UmsAdminMapper adminMapper;
@Override
public UmsAdmin getAdminByUsername(String username) {
return adminMapper.selectByUsername(username);
}
}
Both projects use similar service implementation patterns, but mall tends to have more focused and specific service methods, while zheng's services often cover broader functionality.
🔥 🎉newbee-mall是一套电商系统,包括基础版本(Spring Boot+Thymeleaf)、前后端分离版本(Spring Boot+Vue 3+Element-Plus+Vue-Router 4+Pinia+Vant 4) 、秒杀版本、Go语言版本、微服务版本(Spring Cloud Alibaba+Nacos+Sentinel+Seata+Spring Cloud Gateway+OpenFeign+ELK)。 前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。 后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。
Pros of newbee-mall
- Simpler architecture, making it easier for beginners to understand and learn
- More focused on core e-commerce functionalities
- Includes a separate admin panel for managing the store
Cons of newbee-mall
- Less comprehensive feature set compared to mall
- Smaller community and fewer contributors
- Limited documentation and learning resources
Code Comparison
mall:
@Autowired
private UmsMemberService memberService;
@ApiOperation("获取验证码")
@GetMapping("/getAuthCode")
public CommonResult getAuthCode(@RequestParam String telephone) {
return memberService.generateAuthCode(telephone);
}
newbee-mall:
@Autowired
private NewBeeMallUserService newBeeMallUserService;
@PostMapping("/login")
@ApiOperation(value = "登录接口", notes = "返回token")
public Result<String> login(@RequestBody @Valid LoginUserParam loginUserParam) {
String loginResult = newBeeMallUserService.login(loginUserParam.getLoginName(), loginUserParam.getPasswordMd5());
return ResultGenerator.genSuccessResult(loginResult);
}
Both projects use Spring Boot and follow similar coding patterns. However, mall tends to have more complex implementations with additional features, while newbee-mall focuses on simplicity and core functionalities.
spring cloud + vue + oAuth2.0全家桶实战,前后端分离模拟商城,完整的购物流程、后端运营平台,可以实现快速搭 建企业级微服务项目。支持微信登录等三方登录。
Pros of paascloud-master
- More comprehensive microservices architecture, including service discovery and configuration management
- Includes a front-end component with Vue.js, offering a full-stack solution
- Provides detailed documentation and deployment guides for various cloud platforms
Cons of paascloud-master
- Less active development and community engagement compared to mall
- More complex setup and configuration, which may be challenging for beginners
- Fewer integrated e-commerce specific features out of the box
Code Comparison
paascloud-master (Spring Cloud Config):
@EnableConfigServer
@SpringBootApplication
public class PaasCloudConfigApplication {
public static void main(String[] args) {
SpringApplication.run(PaasCloudConfigApplication.class, args);
}
}
mall (Spring Boot Configuration):
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.macro.mall.controller"))
.paths(PathSelectors.any())
.build();
}
}
The code comparison shows that paascloud-master focuses on distributed configuration management, while mall emphasizes API documentation and testing with Swagger. This reflects the different architectural approaches of the two projects, with paascloud-master being more oriented towards microservices and mall towards a monolithic e-commerce platform.
🕷 Super-agent driven library for testing node.js HTTP servers using a fluent API. Maintained for @forwardemail, @ladjs, @spamscanner, @breejs, @cabinjs, and @lassjs.
Pros of supertest
- Focused on API testing, making it ideal for backend developers
- Lightweight and easy to integrate into existing Node.js projects
- Supports both callback and promise-based testing styles
Cons of supertest
- Limited to HTTP testing, unlike mall's comprehensive e-commerce functionality
- Requires additional libraries for more complex testing scenarios
- Less active community and fewer contributors compared to mall
Code Comparison
supertest:
const request = require('supertest');
const express = require('express');
const app = express();
request(app)
.get('/user')
.expect('Content-Type', /json/)
.expect(200, done);
mall:
@Autowired
private PmsBrandService brandService;
@ApiOperation("获取所有品牌列表")
@RequestMapping(value = "listAll", method = RequestMethod.GET)
@ResponseBody
public CommonResult<List<PmsBrand>> getBrandList() {
return CommonResult.success(brandService.listAllBrand());
}
Key Differences
- supertest is a testing library, while mall is a full e-commerce platform
- supertest is JavaScript-based, mall is Java-based
- mall offers a complete application structure, while supertest is a tool to be integrated into existing projects
- supertest focuses on HTTP assertions, while mall provides a wide range of e-commerce features
A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)
Pros of xxl-job
- Focused on distributed task scheduling, making it more specialized and potentially more efficient for this specific use case
- Lighter weight and easier to integrate into existing projects
- Provides a web-based management interface for job monitoring and configuration
Cons of xxl-job
- Limited to task scheduling functionality, whereas mall is a more comprehensive e-commerce solution
- Less active community and fewer contributors compared to mall
- Fewer integrations with other technologies and frameworks
Code Comparison
xxl-job:
XxlJobSpringExecutor xxlJobExecutor = new XxlJobSpringExecutor();
xxlJobExecutor.setAdminAddresses(adminAddresses);
xxlJobExecutor.setAppname(appname);
xxlJobExecutor.setIp(ip);
xxlJobExecutor.setPort(port);
mall:
@Configuration
@EnableSwagger2
public class Swagger2Config extends BaseSwaggerConfig {
@Override
public SwaggerProperties swaggerProperties() {
return SwaggerProperties.builder()
.apiBasePackage("com.macro.mall.controller")
.title("mall后台系统")
.description("mall后台相关接口文档")
.contactName("macro")
.version("1.0")
.enableSecurity(true)
.build();
}
}
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
mall
åæ æ示
- **å¿«éä½éªé¡¹ç®**ï¼å¨çº¿è®¿é®å°å ã
- å ¨å¥å¦ä¹ æç¨ï¼ãmallå¦ä¹ æç¨ã ã
- è§é¢æç¨ï¼2023ææ°çï¼ï¼ãmallè§é¢æç¨ã ã
- **å¾®æå¡çæ¬**ï¼åºäºSpring Cloud Alibabaç项ç®ï¼mall-swarm ã
- åæ¯è¯´æï¼
master
åæ¯åºäºSpring Boot 2.7+JDK 8ï¼dev-v3
åæ¯åºäºSpring Boot 3.2+JDK 17ã
åè¨
mall
项ç®è´åäºæé ä¸ä¸ªå®æ´ççµåç³»ç»ï¼éç¨ç°é¶æ®µä¸»æµææ¯å®ç°ã
项ç®ææ¡£
ææ¡£å°åï¼https://www.macrozheng.com
项ç®ä»ç»
mall
项ç®æ¯ä¸å¥çµåç³»ç»ï¼å
æ¬åå°ååç³»ç»ååå°ç®¡çç³»ç»ï¼åºäºSpringBoot+MyBatiså®ç°ï¼éç¨Docker容å¨åé¨ç½²ãåå°ååç³»ç»å
å«é¦é¡µé¨æ·ãååæ¨èãååæç´¢ãååå±ç¤ºãè´ç©è½¦ã订åæµç¨ãä¼åä¸å¿ã客æ·æå¡ã帮å©ä¸å¿ç模åãåå°ç®¡çç³»ç»å
å«åå管çã订å管çãä¼å管çãä¿é管çãè¿è¥ç®¡çãå
容管çãç»è®¡æ¥è¡¨ãè´¢å¡ç®¡çãæé管çã设置ç模åã
项ç®æ¼ç¤º
åå°ç®¡çç³»ç»
å端项ç®mall-admin-web
å°åï¼https://github.com/macrozheng/mall-admin-web
项ç®æ¼ç¤ºå°åï¼ https://www.macrozheng.com/admin/index.html
åå°ååç³»ç»
å端项ç®mall-app-web
å°åï¼https://github.com/macrozheng/mall-app-web
项ç®æ¼ç¤ºå°åï¼å°æµè§å¨åæ¢ä¸ºææºæ¨¡å¼æææ´ä½³ï¼ï¼https://www.macrozheng.com/app/
ç»ç»ç»æ
mall
âââ mall-common -- å·¥å
·ç±»åéç¨ä»£ç
âââ mall-mbg -- MyBatisGeneratorçæçæ°æ®åºæä½ä»£ç
âââ mall-security -- SpringSecurityå°è£
å
¬ç¨æ¨¡å
âââ mall-admin -- åå°åå管çç³»ç»æ¥å£
âââ mall-search -- åºäºElasticsearchçååæ索系ç»
âââ mall-portal -- åå°ååç³»ç»æ¥å£
âââ mall-demo -- æ¡æ¶æ建æ¶çæµè¯ä»£ç
ææ¯éå
å端ææ¯
å端ææ¯
ææ¯ | 说æ | å®ç½ |
---|---|---|
Vue | å端æ¡æ¶ | https://vuejs.org/ |
Vue-router | è·¯ç±æ¡æ¶ | https://router.vuejs.org/ |
Vuex | å ¨å±ç¶æ管çæ¡æ¶ | https://vuex.vuejs.org/ |
Element | å端UIæ¡æ¶ | https://element.eleme.io |
Axios | å端HTTPæ¡æ¶ | https://github.com/axios/axios |
v-charts | åºäºEchartsçå¾è¡¨æ¡æ¶ | https://v-charts.js.org/ |
Js-cookie | cookie管çå·¥å · | https://github.com/js-cookie/js-cookie |
nprogress | è¿åº¦æ¡æ§ä»¶ | https://github.com/rstacruz/nprogress |
移å¨ç«¯ææ¯
ææ¯ | 说æ | å®ç½ |
---|---|---|
Vue | æ ¸å¿å端æ¡æ¶ | https://vuejs.org |
Vuex | å ¨å±ç¶æ管çæ¡æ¶ | https://vuex.vuejs.org |
uni-app | 移å¨ç«¯å端æ¡æ¶ | https://uniapp.dcloud.io |
mix-mall | çµå项ç®æ¨¡æ¿ | https://ext.dcloud.net.cn/plugin?id=200 |
luch-request | HTTP请æ±æ¡æ¶ | https://github.com/lei-mu/luch-request |
æ¶æå¾
ç³»ç»æ¶æå¾
ä¸å¡æ¶æå¾
模åä»ç»
åå°ç®¡çç³»ç» mall-admin
- åå管çï¼åè½ç»æå¾-åå.jpg
- 订å管çï¼åè½ç»æå¾-订å.jpg
- ä¿é管çï¼åè½ç»æå¾-ä¿é.jpg
- å 容管çï¼åè½ç»æå¾-å 容.jpg
- ç¨æ·ç®¡çï¼åè½ç»æå¾-ç¨æ·.jpg
åå°ååç³»ç» mall-portal
å¼åè¿åº¦
ç¯å¢æ建
å¼åå·¥å ·
å·¥å · | 说æ | å®ç½ |
---|---|---|
IDEA | å¼åIDE | https://www.jetbrains.com/idea/download |
RedisDesktop | redis客æ·ç«¯è¿æ¥å·¥å · | https://github.com/qishibo/AnotherRedisDesktopManager |
Robomongo | mongo客æ·ç«¯è¿æ¥å·¥å · | https://robomongo.org/download |
SwitchHosts | æ¬å°host管ç | https://oldj.github.io/SwitchHosts/ |
X-shell | Linuxè¿ç¨è¿æ¥å·¥å · | http://www.netsarang.com/download/software.html |
Navicat | æ°æ®åºè¿æ¥å·¥å · | http://www.formysql.com/xiazai.html |
PowerDesigner | æ°æ®åºè®¾è®¡å·¥å · | http://powerdesigner.de/ |
Axure | ååè®¾è®¡å·¥å · | https://www.axure.com/ |
MindMaster | æ维导å¾è®¾è®¡å·¥å · | http://www.edrawsoft.cn/mindmaster |
ScreenToGif | gifå½å¶å·¥å · | https://www.screentogif.com/ |
ProcessOn | æµç¨å¾ç»å¶å·¥å · | https://www.processon.com/ |
PicPick | å¾çå¤çå·¥å · | https://picpick.app/zh/ |
Snipaste | å±å¹æªå¾å·¥å · | https://www.snipaste.com/ |
Postman | APIæ¥å£è°è¯å·¥å · | https://www.postman.com/ |
Typora | Markdownç¼è¾å¨ | https://typora.io/ |
å¼åç¯å¢
å·¥å · | çæ¬å· | ä¸è½½ |
---|---|---|
JDK | 1.8 | https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html |
MySQL | 5.7 | https://www.mysql.com/ |
Redis | 7.0 | https://redis.io/download |
MongoDB | 5.0 | https://www.mongodb.com/download-center |
RabbitMQ | 3.10.5 | http://www.rabbitmq.com/download.html |
Nginx | 1.22 | http://nginx.org/en/download.html |
Elasticsearch | 7.17.3 | https://www.elastic.co/downloads/elasticsearch |
Logstash | 7.17.3 | https://www.elastic.co/cn/downloads/logstash |
Kibana | 7.17.3 | https://www.elastic.co/cn/downloads/kibana |
æ建æ¥éª¤
Windowsç¯å¢é¨ç½²
- Windowsç¯å¢æ建请åèï¼mallå¨Windowsç¯å¢ä¸çé¨ç½²;
- 注æï¼å¦æåªå¯å¨
mall-admin
模åï¼ä» éå®è£ MySQLãRediså³å¯; - å
é
mall-admin-web
项ç®ï¼å¹¶å¯¼å ¥å°IDEAä¸å®æç¼è¯ï¼å端项ç®å°å; mall-admin-web
项ç®çå®è£ åé¨ç½²è¯·åèï¼mallå端项ç®çå®è£ ä¸é¨ç½² ã
Dockerç¯å¢é¨ç½²
- 使ç¨èææºå®è£ CentOS7.6请åèï¼èææºå®è£ å使ç¨Linuxï¼çè¿ä¸ç¯å°±å¤äº;
- æ¬é¡¹ç®Dockeréåæ建请åèï¼ä½¿ç¨Mavenæ件为SpringBootåºç¨æ建Dockeréå;
- æ¬é¡¹ç®å¨Docker容å¨ä¸çé¨ç½²è¯·åèï¼mallå¨Linuxç¯å¢ä¸çé¨ç½²ï¼åºäºDocker容å¨ï¼;
- æ¬é¡¹ç®ä½¿ç¨Docker Compose请åèï¼ mallå¨Linuxç¯å¢ä¸çé¨ç½²ï¼åºäºDocker Composeï¼;
- æ¬é¡¹ç®å¨Linuxä¸çèªå¨åé¨ç½²è¯·åèï¼mallå¨Linuxç¯å¢ä¸çèªå¨åé¨ç½²ï¼åºäºJenkinsï¼;
ç¸å ³ç¯å¢é¨ç½²
- ELKæ¥å¿æ¶éç³»ç»çæ建请åèï¼mall项ç®ELKæ¥å¿æ¶é解å³æ¹æ¡;
- 使ç¨MinIOåå¨æ件请åèï¼ä½¿ç¨MinIOå®ç°æ件åå¨;
- 读åå离解å³æ¹æ¡è¯·åèï¼ä½ è¿å¨ä»£ç éå读åå离ä¹ï¼è¯è¯è¿ä¸ªä¸é´ä»¶å§;
- Redisé群解å³æ¹æ¡è¯·åèï¼Dockerç¯å¢ä¸ç§å»ºRedisé群 ã
å ¬ä¼å·
å 微信群交æµï¼å ³æ³¨å ¬ä¼å·ãmacrozhengãï¼åå¤ã**å 群**ãå³å¯ã
许å¯è¯
Copyright (c) 2018-2024 macrozheng
Top Related Projects
又一个小商城。litemall = Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端
基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构,提供整套公共微服务服务模块:集中权限管理(单点登录)、内容管理、支付中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业级开发解决方案。
🔥 🎉newbee-mall是一套电商系统,包括基础版本(Spring Boot+Thymeleaf)、前后端分离版本(Spring Boot+Vue 3+Element-Plus+Vue-Router 4+Pinia+Vant 4) 、秒杀版本、Go语言版本、微服务版本(Spring Cloud Alibaba+Nacos+Sentinel+Seata+Spring Cloud Gateway+OpenFeign+ELK)。 前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。 后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。
spring cloud + vue + oAuth2.0全家桶实战,前后端分离模拟商城,完整的购物流程、后端运营平台,可以实现快速搭建企业级微服务项目。支持微信登录等三方登录。
🕷 Super-agent driven library for testing node.js HTTP servers using a fluent API. Maintained for @forwardemail, @ladjs, @spamscanner, @breejs, @cabinjs, and @lassjs.
A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot