Compare commits

..

10 Commits

Author SHA1 Message Date
mf-xuao f942723a62 first 1 month ago
mayongjian e35567bab1 更新README
更名:中文-来因,英文-LiveIn,寓意因热爱而来
3 months ago
mayongjian f7796cb2d5 更新README 3 months ago
mayongjian 77200ed07c 更新README 3 months ago
mayongjian 3075d46db4 更新README 3 months ago
mayongjian 4ce7cad719 更细README 5 months ago
mayongjian 38ffb5ac07 小蓝书项目更新说明 5 months ago
mayongjian f9d01dbe8e 小蓝书项目更新说明 5 months ago
mayongjian 253b94e4d2 更新项目为小蓝书 6 months ago
mayongjian d2640864d2 更新项目为小蓝书 6 months ago

64
.gitignore vendored

@ -0,0 +1,64 @@
######################################################################
# Build Tools
.gradle
/build/
!gradle/wrapper/gradle-wrapper.jar
target/
!.mvn/wrapper/maven-wrapper.jar
######################################################################
# IDE
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### JRebel ###
rebel.xml
### NetBeans ###
nbproject/private/
build/*
nbbuild/
dist/
nbdist/
.nb-gradle/
######################################################################
# Others
*.log
*.xml.versionsBackup
*.swp
!*/build/*.java
!*/build/*.html
!*/build/*.xml
# macOS
.DS_Store
# Windows
Thumbs.db
desktop.ini
# 通用临时文件
*.tmp
*.bak
*.orig
# Docker / Compose
*.tar
*.gz
docker-compose/*.log
logs/

@ -1,13 +1,13 @@
<p align="center">
<img alt="logo" src="https://image.mayongjian.cn/2024/07/03/1de3ee08e0a34ab6bf9a163d380fb596.png" width="100"/>
<img alt="logo" src="https://image.mayongjian.cn/2026/02/04/988b7ef2e1d243fbb9c5f40d7ac76d8b.png" width="100"/>
</p>
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">HongShu</h1>
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">LiveIn</h1>
<p align="center">
<b>基于 SpringBoot + Vue + Uniapp + AI大模型 的仿小红书全栈项目</b>
</p>
<p align="center">
<i>1:1 高仿小红书,具备内容发布、商品交易、社交互动、算法推荐、即时通讯等核心功能,适合全栈学习与实战。</i>
<i>1:1 高仿小红书,具备内容发布、商品交易、社交互动、算法推荐、即时通讯、AI创作等核心功能,适合全栈学习与项目实战。</i>
</p>
<p align="center">
@ -23,28 +23,26 @@
</p>
> **声明**
> 本项目基于 MIT 协议,免费开源,仅供学习交流,禁止转卖,谨防受骗。如需商用请保留版权信息,确保合法合规使用,运营风险自负,与作者无关。
> **🌟声明**
> 本项目基于 [MIT](https://opensource.org/licenses/MIT) 协议开源,免费用于学习交流,禁止转售,请提高警惕,谨防受骗。
> 项目名称“来因LiveIn”为开发代号与“小红书”无任何商业关联仅为个人学习研究目的使用。演示环境使用的图片/视频素材均来源于网络,如有侵权请联系删除。
> 如需商用请确保合法合规使用,自行承担运营风险,与项目作者无关。
---
### 🎓 适合人群
| 👨‍💻 **全栈开发者** | 🎯 **求职者** | 🏢 **创业团队** | 📚 **学生党** |
|:---:|:---:|:---:|:---:|
| 学习 SpringBoot + Vue 全栈开发<br>了解微服务架构设计<br>掌握前后端分离开发 | 简历项目经验<br>面试技术亮点<br>实战能力证明 | 快速搭建社交平台<br>二次开发定制<br>商业化落地 | 毕业设计项目<br>技术栈学习<br>实战经验积累 |
## 🚀 项目简介
HongShu - 一款深度融合 AI 大模型能力的现代化社交电商平台,采用 SpringBoot + Vue + Uniapp 前后端分离架构,完整复刻小红书核心功能,并创新性集成多模态 AI 技术,打造智能化的内容创作与社交体验。
### 👨‍💻 适合人群
| **全栈开发者** | **求职者** | **创业团队** | **学生** |
|:------------------------------------------------------------------------:|:--------------------------:|:---------------------------:|:-------------------------:|
| 学习 SpringBoot + Vue + Uniapp 全栈开发<br>了解微服务架构设计<br>了解高并发业务场景<br>掌握前后端分离开发 | 简历项目经验<br>面试技术亮点<br>实战能力证明 | 快速搭建社交平台<br>二次开发定制<br>商业化落地 | 毕业设计项目<br>技术栈学习<br>实战经验积累 |
### 📂 项目组成
| 模块 | 模块说明 | 技术栈 | 项目地址 |
|------|-------|--------|---------------------------------------------------------------------------------------------------------------|
| **[HongShu](https://gitee.com/Maverick_Ma/hongshu)** | 后端服务代码Java | SpringBoot + SpringCloud | [gitee](https://gitee.com/Maverick_Ma/hongshu) 、 [github](https://github.com/Ma-YongJian/HongShu) |
| **[HongShu-Web](https://gitee.com/Maverick_Ma/hongshu-web)** | Web端代码Vue | Vue3 + Element Plus + TypeScript | [gitee](https://gitee.com/Maverick_Ma/hongshu-web) 、 [github](https://github.com/Ma-YongJian/HongShu-Web) |
| **[HongShu-Admin](https://gitee.com/Maverick_Ma/hongshu-admin)** | 管理端代码Vue | Vue3 + Arco Design + Vite | [gitee](https://gitee.com/Maverick_Ma/hongshu-admin) 、 [github](https://github.com/Ma-YongJian/HongShu-Admin) |
| **[HongShu-App](https://gitee.com/Maverick_Ma/hongshu-app)** | 移动端Uniapp代码 | Uniapp + Vue3支持App/小程序/H5 | [gitee](https://gitee.com/Maverick_Ma/hongshu-app) 、 [github](https://github.com/Ma-YongJian/HongShu-App) |
| 模块 | 模块说明 | 技术栈 | 项目地址 |
|------------------------------------------------------------------|------------------|------------------------------------------------|---------------------------------------------------------------------------------------------------------------|
| **[HongShu](https://gitee.com/Maverick_Ma/hongshu)** | 后端服务代码Java | SpringBoot、SpringCloud | [gitee](https://gitee.com/Maverick_Ma/hongshu) 、 [github](https://github.com/Ma-YongJian/HongShu) |
| **[HongShu-Ui](https://gitee.com/Maverick_Ma/hongshu-ui)** | 前端代码Vue、Uniapp | Vue3、Element Plus、TypeScript、Uniapp | [gitee](https://gitee.com/Maverick_Ma/hongshu-ui) 、 [github](https://github.com/Ma-YongJian/HongShu-Ui) |
### 🏗️ 技术选型
@ -68,7 +66,7 @@ HongShu - 一款深度融合 AI 大模型能力的现代化社交电商平台,
- **框架**Vue3 + TypeScript
- **构建工具**Vite 4.x
- **UI组件**Element Plus、Arco Design
- **移动端**Uniapp支持微信小程序
- **移动端**Uniapp支持H5、APP、微信小程序)
- **状态管理**Pinia
- **网络请求**Axios
- **富文本**WangEditor
@ -77,14 +75,15 @@ HongShu - 一款深度融合 AI 大模型能力的现代化社交电商平台,
</td>
<td width="33%">
#### 基础设施
#### 其他技术
- **容器化**Docker、Docker Compose
- **反向代理**Nginx
- **对象存储**Minio、七牛云、阿里云、腾讯云
- **短信服务**:阿里云、腾讯云、云片
- **支付**:支付宝沙箱
- **支付**:支付宝、微信
- **监控**SpringBoot Admin
- **文档**Swagger
- **爬虫**python
</td>
</table>
@ -93,99 +92,38 @@ HongShu - 一款深度融合 AI 大模型能力的现代化社交电商平台,
## 🌟 项目特色
| 功能模块 | 技术实现 | 创新点 |
|------|-----------------------------------------------------------------|---------------------------------|
| 智能推荐 | 轻量级推荐 + 协同过滤 + ES检索 动态切换 | ✅ 三套算法、新用户优化、性能<100ms |
| 即时通讯 | WebSocket + Netty + RocketMQ | ✅ 离线消息、多端同步、高并发支持 |
| 社交电商 | 笔记种草 + 商品转化 + 在线支付 | ✅ 价格区间推荐、同城优先、闭环转化 |
| 高并发优化 | Redis + RocketMQ 双通道 + 批量落库 | ✅ 性能提升20倍、数据库压力降低90% |
| AI大模型 | ChatGPT + DeepSeek + 多模型适配 | ✅ 8+模型支持、智能创作、对话系统 |
| 安全认证 | 双Token无感刷新 + JWT | ✅ 用户无感知、安全可靠 |
| 多云存储 | 本地 + Minio + 七牛云 + 阿里云 + 腾讯云 | ✅ 动态切换、后台配置 |
| 智能搜索 | ElasticSearch + MySQL 双引擎 | ✅ 多字段权重、模糊匹配 |
| LBS定位 | 高德地图 + IP定位 | ✅ 同城推荐、附近内容 |
| 在线支付 | 支付宝沙箱支付 | ✅ 完整支付流程 |
| 多端适配 | Web + App + 小程序 | ✅ 代码复用、统一API |
| 数据统计 | 用户增长、内容统计、交易分析 | ✅ 可视化图表、实时监控 |
---
## 📅 版本演进
> `💡 点击下方版本号可展开查看版本详情`
> [如需 Pro 版源码,👉 点击获取 👈](https://www.yuque.com/xiaomage-ippj7/kaoqwn/rqslw69egcbgx7v7?singleDoc#)
<details>
<summary><b>v1.0Lite版</b></summary>
- ✅ ES 智能查询
- ✅ 笔记随机推荐
- ✅ 图文笔记发布
- ✅ 本地存储、七牛云存储
- ✅ 基础审核机制
</details>
<details>
<summary><b>v2.0Pro版</b></summary>
- ✅ Uniapp 移动端App + H5
- ✅ 视频笔记支持
- ✅ Live Photo动态图片
- ✅ 多云存储方案(动态配置)
- ✅ 协同过滤推荐
</details>
<details>
<summary><b>v3.0Pro版</b></summary>
- ✅ SpringCloud 微服务架构
- ✅ Nacos 配置中心
- ✅ Netty 即时通讯系统
- ✅ 闲置商城(社交电商融合)
- ✅ 高德地图 LBS 定位
- ✅ Redis + RocketMQ 高并发优化
- ✅ WebSocket 离线消息推送
</details>
<details>
<summary><b>v4.0Pro版</b></summary>
- ✅ 支持扫码登录
- ✅ 8+ 主流AI大模型集成
- ✅ 智能对话系统
- ✅ AI辅助创作
- ✅ 微信小程序上线
- ✅ Arco Design 新版管理后台
- ✅ **轻量级推荐算法**(自研)
- 四维度混合召回
- 性能<100ms
</details>
<details>
<summary><b>v5.0Pro版</b>- 微信相关功能开发中</summary>
- ✅ 微信登录
- ✅ 微信支付
- ✅ 微信对话、朋友圈分享
</details>
| 功能模块 | 技术实现 | 创新点 |
|------|------------------------------|---------------------------------|
| 智能推荐 | 轻量级推荐 + 协同过滤 + ES检索 动态切换 | ✅ 三套算法、新用户优化、性能<100ms |
| 即时通讯 | WebSocket + Netty + RocketMQ | ✅ 离线消息、多端同步、高并发支持 |
| 社交电商 | 笔记种草 + 商品转化 + 在线支付 | ✅ 价格区间推荐、同城优先、闭环转化 |
| 高并发优化 | Redis + RocketMQ 双通道 + 批量落库 | ✅ 性能提升20倍、数据库压力降低90% |
| AI大模型 | ChatGPT + DeepSeek + 多模型适配 | ✅ 8+模型支持、智能创作、对话系统 |
| 安全认证 | 双Token无感刷新 + JWT | ✅ 用户无感知、安全可靠 |
| 多云存储 | 本地 + Minio + 七牛云 + 阿里云 + 腾讯云 | ✅ 动态切换、后台配置 |
| 智能搜索 | ElasticSearch + MySQL 双引擎 | ✅ 多字段权重、模糊匹配 |
| LBS定位 | 高德地图 + IP定位 | ✅ 同城推荐、附近内容 |
| 在线支付 | 支付宝支付、微信支付 | ✅ 完整支付流程 |
| 多端适配 | Web + App + 小程序 | ✅ 代码复用、统一API |
| 数据统计 | 用户增长、内容统计、交易分析 | ✅ 可视化图表、实时监控 |
---
## 🌐 演示站(微服务版本 - 演进更新)
> 💡 **温馨提示**: 服务器配置有限,如遇访问缓慢请耐心等待
### [👉 点击获取 Pro 版源码](https://www.yuque.com/xiaomage-ippj7/kaoqwn/rqslw69egcbgx7v7?singleDoc#)
> 💡 **温馨提示**: 因服务器配置有限,如遇访问缓慢请耐心等待
> `小龟速服务器正在奔跑中...`
| 端类型 | 访问方式 | 功能说明 | 推荐指数 |
|--------|------------------------------------------------------------------------------------------|--------|---------|
| **Web端** | [👉 点击访问](https://hongshu.website/) | 完整功能体验PC最佳 | ⭐⭐⭐⭐⭐ |
| **管理端** | [👉 点击访问](https://hongshu.website/admin/) | 传统后台管理 | ⭐⭐⭐⭐ |
| **Arco管理端** | [👉 点击访问](https://hongshu.website/arco-admin/) | 现代化管理界面 | ⭐⭐⭐⭐⭐ |
| **移动端(H5)** | [👉 点击访问](https://hongshu.website/app/) 或 扫码体验 <img src="doc/images/h5.png" width="80"/> | 移动端最佳体验 | ⭐⭐⭐⭐⭐ |
| **微信小程序** | 体验版 <img src="doc/images/wxamp.png" width="80"/> | 小程序生态 | ⭐⭐⭐⭐⭐ |
| 端类型 | 访问方式 | 功能说明 |
|---------------|------------------------------------------------------------------------------------------|----------------|
| **Web端响应式** | [👉 点击查看(电脑)](https://hongshu.website/) | 完整功能PC体验最佳 |
| **Arco管理端** | [👉 点击查看(电脑)](https://hongshu.website/arco-admin/) | 现代化管理界面PC体验最佳 |
| **移动端(H5)** | [👉 点击查看](https://hongshu.website/app/) 或 扫码体验:<img src="doc/images/h5.png" width="80"/> | 移动端体验最佳 |
| **微信小程序** | 体验版:<img src="doc/images/wxamp.png" width="80"/> | 小程序生态 |
| **安卓** | 扫码下载:<img src="doc/images/Android.png" width="80"/> | 安卓端测试 |
| **IOS** | 暂无 | IOS端测试 |
---
@ -193,10 +131,10 @@ HongShu - 一款深度融合 AI 大模型能力的现代化社交电商平台,
<table>
<tr>
<td align="center" width="33%">
<td align="center" width="25%">
#### 🤝 项目定制 & 部署
<img src="doc/images/wx.png" width="200"/>
<img src="doc/images/wx.png" width="150"/>
- 项目部署指导
- 功能定制开发
@ -204,23 +142,23 @@ HongShu - 一款深度融合 AI 大模型能力的现代化社交电商平台,
- Bug修复服务
</td>
<td align="center" width="33%">
<td align="center" width="25%">
#### 💬 技术交流群
<img src="doc/images/qq.png" width="200"/>
#### 📂 项目资料
<img src="doc/images/gongzhonghao.jpg" width="150"/>
- 技术问题解答
- 学习资料分享
- 项目更新通知
- 优先内测资格
- 搭建部署文档
- 核心功能详解
- 架构图、时序图
- 开题报告、毕业论文
</td>
<td align="center" width="33%">
<td align="center" width="25%">
#### 💖 打赏支持
<img src="doc/images/pay.png" width="200"/>
**您的支持是我前进的动力!**
感谢小伙伴们的打赏~
- 升级服务器配置
- 持续功能开发
- 提升访问速度
@ -237,13 +175,14 @@ HongShu - 一款深度融合 AI 大模型能力的现代化社交电商平台,
- **Gitee**: [https://gitee.com/Maverick_Ma/hongshu](https://gitee.com/Maverick_Ma/hongshu) (⭐ Star支持
- **Github**: [https://github.com/Ma-YongJian/HongShu](https://github.com/Ma-YongJian/HongShu) (⭐ Star支持
> **❤️ 如果这个项目对您有帮助,欢迎 Star & Fork 支持一下!** **您的 Star 是对我最大的鼓励!** 🌟
> **❤️ 如果这个项目对您有帮助,欢迎 Star & Fork 支持一下!** **您的 Star 是对我最大的鼓励!**
## 📚 项目文档
- [部署文档](https://www.yuque.com/xiaomage-ippj7/kaoqwn/zdgtgrco82vftbot?singleDoc#)
- [核心文档](https://www.yuque.com/xiaomage-ippj7/kaoqwn/chm8w6thvrmtnmbk)
> 都放在公众号里了,自取即可<br>
>
<img src="doc/images/gongzhonghao-search.png" width="400"/>
<br><img src="doc/images/doc.png" width="400"/>
## 🎬 视频演示
@ -253,6 +192,32 @@ HongShu - 一款深度融合 AI 大模型能力的现代化社交电商平台,
## 📷 演示图
### App端
<table>
<tr>
<td><img src="doc/images/app/app-login.png" width="300"/></td>
<td><img src="doc/images/app/app-follow.png" width="300"/></td>
<td><img src="doc/images/app/app-index.png" width="300"/></td>
<td><img src="doc/images/app/app-near.png" width="300"/></td>
<td><img src="doc/images/app/app-idle.png" width="300"/></td>
</tr>
<tr>
<td><img src="doc/images/app/app-chat.png" width="300"/></td>
<td><img src="doc/images/app/app-note.png" width="300"/></td>
<td><img src="doc/images/app/app-product.png" width="300"/></td>
<td><img src="doc/images/app/app-collect.png" width="300"/></td>
<td><img src="doc/images/app/app-order.png" width="300"/></td>
</tr>
<tr>
<td><img src="doc/images/app/app-message.png" width="300"/></td>
<td><img src="doc/images/app/app-message-chat.png" width="300"/></td>
<td><img src="doc/images/app/app-message-kefu.png" width="300"/></td>
<td><img src="doc/images/app/app-message-notice.png" width="300"/></td>
<td><img src="doc/images/app/app-mine.png" width="300"/></td>
</tr>
</table>
### Web端
<table>
@ -263,21 +228,24 @@ HongShu - 一款深度融合 AI 大模型能力的现代化社交电商平台,
</tr>
<tr>
<td><img src="doc/images/web/web-trends-note.png" width="500"/></td>
<td><img src="doc/images/web/web-trends-idle.png" width="500"/></td>
<td><img src="doc/images/web/web-publish.png" width="500"/></td>
<td><img src="doc/images/web/web-trends-product.png" width="500"/></td>
<td><img src="doc/images/web/web-ai.png" width="500"/></td>
</tr>
<tr>
<td><img src="doc/images/web/web-message.png" width="500"/></td>
<td><img src="doc/images/web/web-message-idle.png" width="500"/></td>
<td><img src="doc/images/web/web-message-comment.png" width="500"/></td>
</tr>
<tr>
<td><img src="doc/images/web/web-publish-map.png" width="500"/></td>
<td><img src="doc/images/web/web-publish.png" width="500"/></td>
<td><img src="doc/images/web/web-publish-img.png" width="500"/></td>
<td><img src="doc/images/web/web-publish-video.png" width="500"/></td>
</tr>
<tr>
<td><img src="doc/images/web/web-message-comment.png" width="500"/></td>
<td><img src="doc/images/web/web-message-like.png" width="500"/></td>
<td><img src="doc/images/web/web-message-kefu.png" width="500"/></td>
<td><img src="doc/images/web/web-message-notice.png" width="500"/></td>
<td><img src="doc/images/web/web-user.png" width="500"/></td>
</tr>
<tr>
</tr>
</table>
### 管理端
@ -289,51 +257,37 @@ HongShu - 一款深度融合 AI 大模型能力的现代化社交电商平台,
<td><img src="doc/images/admin/admin-data-map.png" width="500"/></td>
</tr>
<tr>
<td><img src="doc/images/admin/admin-navbar.png" width="500"/></td>
<td><img src="doc/images/admin/admin-member.png" width="500"/></td>
<td><img src="doc/images/admin/admin-note.png" width="500"/></td>
<td><img src="doc/images/admin/admin-idle.png" width="500"/></td>
</tr>
<tr>
<td><img src="doc/images/admin/admin-member.png" width="500"/></td>
<td><img src="doc/images/admin/admin-album.png" width="500"/></td>
<td><img src="doc/images/admin/admin-config.png" width="500"/></td>
<td><img src="doc/images/admin/admin-note-navbar.png" width="500"/></td>
<td><img src="doc/images/admin/admin-idle-navbar.png" width="500"/></td>
<td><img src="doc/images/admin/admin-note-comment.png" width="500"/></td>
</tr>
<tr>
<td><img src="doc/images/admin/admin-idle-order.png" width="500"/></td>
<td><img src="doc/images/admin/admin-kefu.png" width="500"/></td>
<td><img src="doc/images/admin/admin-gpt.png" width="500"/></td>
<td><img src="doc/images/admin/admin-gpt-login.png" width="500"/></td>
<td><img src="doc/images/admin/admin-gpt-chat.png" width="500"/></td>
</tr>
</table>
### App端
<table>
<tr>
<td><img src="doc/images/app/app-login.png" width="300"/></td>
<td><img src="doc/images/app/app-index.png" width="300"/></td>
<td><img src="doc/images/app/app-follow.png" width="300"/></td>
<td><img src="doc/images/app/app-near.png" width="300"/></td>
</tr>
<tr>
<td><img src="doc/images/app/app-idle.png" width="300"/></td>
<td><img src="doc/images/app/app-user.png" width="300"/></td>
<td><img src="doc/images/app/app-main.png" width="300"/></td>
<td><img src="doc/images/app/app-user-mine.png" width="300"/></td>
</tr>
<tr>
<td><img src="doc/images/app/app-message.png" width="300"/></td>
<td><img src="doc/images/app/app-message-follow.png" width="300"/></td>
<td><img src="doc/images/app/app-message-comment.png" width="300"/></td>
<td><img src="doc/images/app/app-message-like.png" width="300"/></td>
<td><img src="doc/images/admin/admin-config.png" width="500"/></td>
<td><img src="doc/images/admin/admin-config-api.png" width="500"/></td>
<td><img src="doc/images/admin/admin-config-pachong.png" width="500"/></td>
</tr>
</table>
## 🙏 致谢
- [若依 RuoYi](https://gitee.com/y_project/RuoYi)
- [蘑菇博客](https://gitee.com/moxi159753/mogu_blog_v2)
- [xiaozhao 仿小红书前端](https://gitee.com/xzjsccz/xiaohongshu)
- [Chat MASTER](https://gitee.com/panday94/chat-master)
**来因LiveIn** 项目参考了很多开源项目的解决方案,开源不易,感谢分享
- 感谢 **若依** 提供的RuoYi项目[RuoYi-Vue](https://gitee.com/y_project/RuoYi-Vue) 、 [RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud)
- 感谢 **dromara** 提供的RuoYi-plus项目[RuoYi-Vue-Plus](https://gitee.com/dromara/RuoYi-Vue-Plus) 、 [RuoYi-Cloud-Plus](https://gitee.com/dromara/RuoYi-Cloud-Plus)
- 感谢 **陌溪** 提供的博客项目:[蘑菇博客](https://gitee.com/moxi159753/mogu_blog_v2)
- 感谢 **xiaozhao** 提供的:[仿小红书前端](https://gitee.com/xzjsccz/xiaohongshu) 、 [yanhuo后端](https://gitee.com/xzjsccz/yanhuo-springboot-vue)
- 感谢 **panday** 提供的:[Chat MASTER](https://gitee.com/panday94/chat-master)
- 感谢 **belief-team** 提供的:[AJ-Captcha](https://gitee.com/belief-team/captcha)
- <img src="./doc/images/qiniu.jpg" width="80" />感谢 [七牛云](https://portal.qiniu.com/signup?utm_source=kaiyuan&utm_media=mogu) 提供的免费云存储和CDN服务
- <img src="./doc/images/jetbrains.png" width="40" />感谢 [jetbrains](https://www.jetbrains.com/?from=mogu_blog_v2) 提供的开源License
- <img src="./doc/images/jetbrains.png" width="30" />感谢 [jetbrains](https://www.jetbrains.com/?from=mogu_blog_v2) 提供的开源License
- 感谢 [百度千帆大模型](https://ai.baidu.com/ai-doc/ANTIPORN/ek3h6x90n) 提供的图像/视频审核策略

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 460 KiB

After

Width:  |  Height:  |  Size: 465 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 841 KiB

After

Width:  |  Height:  |  Size: 872 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 715 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 977 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 429 KiB

After

Width:  |  Height:  |  Size: 421 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 726 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 682 KiB

After

Width:  |  Height:  |  Size: 763 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 711 KiB

After

Width:  |  Height:  |  Size: 687 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 762 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 849 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 818 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 769 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 670 KiB

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 953 KiB

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 441 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 817 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 313 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 461 KiB

After

Width:  |  Height:  |  Size: 568 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1003 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 368 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 478 KiB

After

Width:  |  Height:  |  Size: 505 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 MiB

After

Width:  |  Height:  |  Size: 5.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 MiB

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 451 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 547 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 271 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 922 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 MiB

After

Width:  |  Height:  |  Size: 2.4 MiB

@ -134,6 +134,18 @@
<groupId>co.elastic.clients</groupId>
<artifactId>elasticsearch-java</artifactId>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
</dependency>
<dependency>
<groupId>jakarta.json</groupId>
<artifactId>jakarta.json-api</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.parsson</groupId>
<artifactId>parsson</artifactId>
</dependency>
<!-- gson-->
<dependency>
<groupId>com.google.code.gson</groupId>

@ -8,7 +8,7 @@ spring:
master:
url: jdbc:mysql://localhost:3306/hongshu_springboot?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2B8
username: root
password: Myj950501
password: 123456
# 从库数据源
slave:
# 从数据源开关/默认关闭

@ -75,7 +75,7 @@ spring:
# 数据库索引
database: 0
# 密码
password: Myj950501
password:
# 连接超时时间
timeout: 10s
lettuce:

@ -300,6 +300,10 @@ public class WebEsNoteServiceImpl extends ServiceImpl<WebNoteMapper, WebNote> im
@Override
public void addNoteBulkData() {
List<WebNote> noteList = noteMapper.selectList(new QueryWrapper<WebNote>().eq("audit_status", 1));
if (CollectionUtil.isEmpty(noteList)) {
log.info("数据库中没有需要同步的笔记数据,跳过批量插入。");
return;
}
List<NoteSearchVO> noteSearchVOList = DozerUtil.convertor(noteList, NoteSearchVO.class);
for (NoteSearchVO noteSearchVo : noteSearchVOList) {
WebUser user = userMapper.selectOne(new QueryWrapper<WebUser>().like("id", noteSearchVo.getUid()));

@ -41,7 +41,7 @@
<jwt.version>0.9.1</jwt.version>
<lombok.version>1.18.24</lombok.version>
<hutool.version>5.7.22</hutool.version>
<elasticsearch-version>8.1.0</elasticsearch-version>
<elasticsearch.version>8.13.4</elasticsearch.version>
<guava.version>20.0</guava.version>
<gson.version>2.9.0</gson.version>
<mybatisplus.version>3.5.2</mybatisplus.version>
@ -156,8 +156,24 @@
<dependency>
<groupId>co.elastic.clients</groupId>
<artifactId>elasticsearch-java</artifactId>
<version>${elasticsearch-version}</version>
<version>${elasticsearch.version}</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>${elasticsearch.version}</version>
</dependency>
<dependency>
<groupId>jakarta.json</groupId>
<artifactId>jakarta.json-api</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.parsson</groupId>
<artifactId>parsson</artifactId>
<version>1.0.5</version>
</dependency>
<!-- guava-->
<dependency>
<groupId>com.google.guava</groupId>

Loading…
Cancel
Save