# 语若商城
**Repository Path**: championwang/yuruo-mall
## Basic Information
- **Project Name**: 语若商城
- **Description**: 语若商城是一个功能强大、灵活可定制的个人开源 B2C 电商平台系统,适用于各类企业建立自己的线上商城语若商城项目专注于提供一个完整的B2C电商解决方案,以满足企业建立和管理自己的线上商城的需求,该项目采用了现代化的技术架构和前后端分离的开发模式,支持多 SKU 配置、优惠券、积分、会员等级、商城装修、开放平台等多种功能,适合个人学习与企业二次开发
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 3
- **Created**: 2025-07-23
- **Last Updated**: 2025-07-23
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 语若商城项目介绍
## 一、简介
语若商城是一个功能强大、灵活可定制的个人开源 B2C 电商平台系统,适用于各类企业建立自己的线上商城语若商城项目专注于提供一个完整的B2C电商解决方案,以满足企业建立和管理自己的线上商城的需求,该项目采用了现代化的技术架构和前后端分离的开发模式,支持多 SKU 配置、优惠券、积分、会员等级、商城装修、开放平台等多种功能,适合个人学习与企业二次开发
后端技术栈: SpringCloud Alibaba + Mybatis plus + Springsecurity OAuth2 + Mysql + redis + Elasticsearch
前端技术栈: Vue2 + js + Uniapp
项目部署问题联系QQ:2015250251
管理端UI代码仓库: 👉https://gitee.com/leronx/yuruo-admin-front
客户端(uniapp)代码仓库: 👉https://gitee.com/leronx/yuruo-mobile
后端项目结构
```
├── doc # 项目文档、sql相关
├── yuruomall-admin # 后端管理系统,基于 Ruoyi 框架
├── yuruomall-auth # OAuth 认证系统
├── yuruomall-cart # 购物车系统
├── yuruomall-common # 公共模块
├── yuruomall-coupon # 优惠系统
├── yuruomall-gateway # 网关
├── yuruomall-member # 会员系统
├── yuruomall-order # 订单系统
├── yuruomall-product # 商品系统
├── yuruomall-search # 搜索系统
├── yuruomall-ware # 仓储系统
└── yuruomall-webapp # 前端应用 API
```
## 二、本地安装
前置环境准备
- JDK 1.8
- Redis5.x
- Mysql8.0
- Elasticsearch7.x
- RocketMq4.x
- Node14+
- HbuilderX
- Nacos2.x
### 1、clone 项目
```shell
git clone https://gitee.com/leronx/yuruo-mall.git
```
### 2、导入 Sql 文件
sql 文件在后端`根目录/doc/sql`文件下
### 3、配置 Nacos 连接信息
在项目的根 pom.xml 文件下修改自己的 Nacos 配置信息
```xml
dev
true
dev
xxx:8848
DEFAULT_GROUP
test
test
127.0.0.1:8848
test
DEFAULT_GROUP
...
```
### 4、更改 Nacos 中相关连接信息
更改配置文件中的 Elasticsearch、Redis、Mysql、RocketMq 连接信息
### 5、认证配置
#### 1、管理端认证配置
修改如下环境变量(本地运行无需修改)
```
# 系统接口
VUE_APP_BASE_API = 'http://localhost:88/api'
# 系统认证接口
VUE_APP_AUTH_URL = 'http://localhost:99/oauth/authorize'
# 系统注销接口
VUE_APP_LOGOUT_URL = 'http://localhost:99/logout'
# 应用名称,对应 yuruo_auth 库 oauth_client_details 表中管理端应用名称
VUE_APP_AUTH_APP_ID = 'yrmall_admin'
```
编辑 nacos 配置中心中 `console.yml` 配置,本地运行无需修改
``` yml
yuruo:
oauth:
# 客户端 ID,和前端中的应用名称以及数据库中应用ID保持一致
client-id: yrmall_admin
# 客户端密钥
client_secret: y25ykwkt2m
# 认证地址
token-url: http://localhost:99/oauth/token?client_id=%s&client_secret=%s&grant_type=authorization_code&code=%s&redirect_uri=%s
# 认证完成允许的回调地址,和前端应用运行的ip和端口保持一致
redirect-uri: http://localhost:1024/login
```
修改 yurou_auth 库 oauth_client_details 中允许回调的 url 地址列表,如果允许多个回调地址请使用`,`隔开,本地运行无需修改
配置完成后,访问管理前端 `http://localhost:1024/`,点击使用语若账号登录后会跳转至认证中心,点击登录即可正常登录至系统
登录成功后,可以在管理菜单中的`应用管理 > 应用列表`中对应用进行自定义配置
#### 2、移动端认证配置
修改`yuruo-mobile/common/api/request.js`,本地运行无需修改
```js
# 接口地址
baseUrl: "http://localhost:88/api",
# 认证中心地址,client_id,对应 yuruo_auth 库 oauth_client_details 表中管理端应用名称
ucenterUrl: "http://localhost:99/oauth/authorize?client_id=yrmall&response_type=code&scope=ROLE_ALL&redirect_uri=",
```
编辑 nacos 配置中心中 `webapp.yml` 配置,本地运行无需修改
```yml
yuruo:
oauth:
# 客户端 ID,和前端中的应用名称以及数据库中应用ID保持一致
client-id: yrmall
# 客户端密钥
client_secret: x736h4hc9o
# 认证地址
token-url: http://localhost:99/oauth/token?client_id=%s&client_secret=%s&grant_type=authorization_code&code=%s&redirect_uri=%s
# 认证完成允许的回调地址,和前端应用运行的ip和端口保持一致
redirect-uri: http://localhost:1025/pages/authentication/authentication
```
修改 yurou_auth 库 oauth_client_details 中允许回调的 url 地址列表,如果允许多个回调地址请使用`,`隔开,本地运行无需修改
配置完成后访问需要认证的页面(例如个人中心即可跳转至认证中心)
## 三、项目部署
### 1、项目部署架构

### 2、后端打包
后端项目推荐使用 Docker + Kubernetes 部署,项目已配置 Docker 打包插件,在父 POM 文件中修改 Docker 服务器地址即可自动打包和上传至 Docker 镜像服务器
### 3、前端打包
#### 1、安装所需依赖并打包
```shell
yarn
yarn run build:prod
```
2、运行 Dockerfile
```shell
docker build -t yrmall/yrmall-admin-front:latest ./
```
## 四、项目截图
### 1、管理后台
### 2、用户端