<p align="center"><img src="assets/top.png" width="800"/>
</p>
<p align="center">
<a href="https://travis-ci.com/nnkwrik/weapp-fangxianyu">
<img src="https://travis-ci.com/nnkwrik/weapp-fangxianyu.svg?branch=master"/>
</a>
<a href="https://spring.io/projects/spring-boot">
<img src="https://img.shields.io/badge/power%20by-Spring%20Boot%202.1.0-yellowgreen.svg"/>
</a>
<a href="https://opensource.org/licenses/MIT">
<img src="https://img.shields.io/badge/License-MIT-lightgrey.svg"/>
</a>
<a href="#">
<img src="https://img.shields.io/github/stars/nnkwrik/weapp-fangxianyu.svg"/>
</a>
</p>
一款高质量仿闲鱼开源交易平台。
Power By `微信小程序`,`JWT`, `Java8`,`Maven`,`SpringBoot`,`SpringCloud`,`MySQL`,`Redis`,`RabbitMQ`,`Docker`
# 2024/10/25更新
感谢各位的喜欢,这个项目已很长很长很长时间没有维护了。
这个项目是我大学时做的,现在已经工作快5年,历经大厂,创业,结婚,实在没有精力整代码的事情。
统一跟大家说一下:这个项目后面不会再维护了,欢迎大家fork做研究学习。使用过程中遇到问题,请大家自行研修解决。
感谢一直以来邮件,微信私戳问问题的同学们,精力有限无法一一回复。
# 🗃 目录
- [功能](https://github.com/nnkwrik/weapp-fangxianyu#-%E5%8A%9F%E8%83%BD)
- [后端服务拆分](https://github.com/nnkwrik/weapp-fangxianyu#-%E5%90%8E%E7%AB%AF%E6%9C%8D%E5%8A%A1%E6%8B%86%E5%88%86)
- [预览](https://github.com/nnkwrik/weapp-fangxianyu#-%E9%A2%84%E8%A7%88)
- [快速开始](https://github.com/nnkwrik/weapp-fangxianyu#-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)
- [前端](https://github.com/nnkwrik/weapp-fangxianyu#%E5%89%8D%E7%AB%AF)
- [后端](https://github.com/nnkwrik/weapp-fangxianyu#%E5%90%8E%E7%AB%AF)
- [真机调试](https://github.com/nnkwrik/weapp-fangxianyu#%E7%9C%9F%E6%9C%BA%E8%B0%83%E8%AF%95)
- [移除docker搭建的镜像](https://github.com/nnkwrik/weapp-fangxianyu#%E7%A7%BB%E9%99%A4docker%E6%90%AD%E5%BB%BA%E7%9A%84%E9%95%9C%E5%83%8F)
- [非docker-compose部署](https://github.com/nnkwrik/weapp-fangxianyu#-%E9%9D%9Edocker-compose%E9%83%A8%E7%BD%B2)
- [端口](https://github.com/nnkwrik/weapp-fangxianyu#-%E7%AB%AF%E5%8F%A3)
- [docker-compose环境下](https://github.com/nnkwrik/weapp-fangxianyu#docker-compose%E7%8E%AF%E5%A2%83%E4%B8%8B)
- [非docker-compose环境下](https://github.com/nnkwrik/weapp-fangxianyu#%E9%9D%9Edocker-compose%E7%8E%AF%E5%A2%83%E4%B8%8B)
- [关于JWT](https://github.com/nnkwrik/weapp-fangxianyu#-关于JWT)
- [最后](https://github.com/nnkwrik/weapp-fangxianyu#%E6%9C%80%E5%90%8E)
# 🌀 功能
- 首页 : 广告banner,推荐分类,推荐商品
- 分类功能 : 2级分类,分类浏览商品
- 搜索功能 : 关键字搜索,搜索历史,热门关键字,搜索辅助,
- 浏览商品详情 : 商品信息,2级评论,卖家信息,相关商品,标记为收藏,标记为想要
- 发布商品 : 上传商品图,发货地点,支持多种交易方式
- 聊天功能 : 基于WebSocket,标记为想要后创建对话(模仿闲鱼),在聊天框中下单(模仿闲鱼)
- 其他功能 : 用户主页,查看自己发布,收藏,卖出,买到的商品
- 订单,支付 : **未完成**
# 🖇 后端服务拆分
后端基于Spring Cloud搭建,拆分为`认证`,`用户`,`消息`,`商品`,`服务发现`,`网关`6个服务
![1545185932747](assets/1545185932747.png)
# 🗺 预览
<p align="center">
<img src="assets/347252446.jpg" style="margin:20px;border:1px solid #eee" width="350" />
<img src="assets/20025781.jpg" style="margin:20px;border:1px solid #eee" width="350"/>
<img src="assets/935521060.jpg" style="margin:20px;border:1px solid #eee" width="350"/>
<img src="assets/1900355585.jpg" style="margin:20px;border:1px solid #eee" width="350"/>
<img src="assets/1988065609.jpg" style="margin:20px;border:1px solid #eee" width="350"/>
<img src="assets/1565722579.jpg" style="margin:20px;border:1px solid #eee" width="350"/>
<img src="assets/1130381648.jpg" style="margin:20px;border:1px solid #eee" width="350"/>
<img src="assets/619991011.jpg" style="margin:20px;border:1px solid #eee" width="350"/>
</p>
# 🚀 快速开始
## 前端
然而并不能快速开始,首先你得有小程序的appid。需要先申请小程序账号和下载小程序开发工具,步骤可以参考[官方教程](https://developers.weixin.qq.com/miniprogram/dev/)。注册完成后会拿到appid和secret,在`auth-service/src/main/resources/application.yml`中配置你的appid和secret。
```yml
#写入你的小程序信息
wx:
miniapp:
appid: #微信小程序的appid
secret: #微信小程序的Secret
msgDataFormat: JSON
```
打开刚下载好的小程序开发工具,创建一个新项目。然后把[wx-front](https://github.com/nnkwrik/fangxianyu/tree/master/wx-front)中的所有文件覆盖到你刚创建的小程序项目目录中。由于小程序默认服务端只能是HTTPS并且是ICP备案过的域名,不方便开发,在小程序开发工具的`设置/项目设置`中把`不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书`勾上。
## 后端
后端用docker-compose快速部署,确保你安装了docker和docker-compose。(参考:[Ubuntu安装Docker](https://docs.docker.com/install/linux/docker-ce/ubuntu/),[安装docker-compose](https://docs.docker.com/compose/install/))。
```
$ git clone git@github.com:nnkwrik/weapp-fangxianyu.git
$ cd /weapp-fangxianyu
```
maven打包
```
mvn clean package -Dmaven.test.skip=true
```
打开docker-compose.yml看一下,确保和你本机的端口没有冲突。然后就可以docker部署啦
```
$ docker-compose build
$ docker-compose up
```
部署完成后稍等片刻(网关完全启动比较耗时),打开你的小程序开发工具,点击上方的`编译`就可以看到首页了。
![1545124207261](assets/1545124207261.png)
## 真机调试
因为现在域名用的是localhost,手机是访问不到的,需要内网穿透。我在dev/ngrok/下放了linux版本的ngrok,如果你也是linux系统,直接运行里面的目录下的`start.sh`就行了,别的系统的话去谷歌找一下.. 随后会得到一个随机的域名(websocket通用),把它配置到小程序前端的config/api.js下,替换原来的localhost:8080。然后点`真机调试`就能通过手机访问到服务端了。
## 移除docker搭建的镜像
不想用了? 删除所有相关镜像
```
$ docker-compose down
$ docker rmi $(docker images | grep fangxianyu | awk '{print $3}')
```
# 🐢 非docker-compose部署
不想用docker-compose就只能一步步来了。
- 先启动3个基础服务。运行`dev/mysql`,`dev/redis`,`dev/rebbitmq`目录下的`start.sh`。
- 把6个服务(`auth-service`,`goods-service`,`user-service`,`im-service`,`eureka`,`gateway`)下Application启动类跑起来。
其他和快速开始一样
# 📡 端口
### docker-compose环境下
- MySQL : 3306
- Redis : 6379
- Rabbit MQ : 5672 (管理界面:15672)
- gateway : 8080
具体参考`docker-compose.yml`。基础服务的端口都可以不暴露,暴露出来是为了方便生产环境中调试
### 非docker-compose环境下
- MySQL : 3306
- Redis : 6379
- Rabbit MQ : 5672 (管理界面:15672)
- gateway : 8080
- eureka :8801
- user-service : 8802
- auth-service : 8803
- goods-service :8804
- im-service :8805
# 🔑 关于JWT
后端API基于Header中的JWT Token进行认证。如果你还不了解JWT的话可以先了解下,微服务认证的神器。
controller中通过@JWT注解把Token进行认证后转成JWTUser类。具体参考各个controller中的代码。在yml中可以
没有合适的资源?快使用搜索试试~ 我知道了~
微服务仿闲鱼开源交易平台Power By 微信小程序JWT Java8MavenSpringBoot.zip
共338个文件
java:119个
png:33个
js:31个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 43 浏览量
2024-11-29
08:56:29
上传
评论
收藏 25.73MB ZIP 举报
温馨提示
重点:所有项目都有sql文件,比其他博主项目要严谨一万倍所有项目本人亲自测试可运行使用!!有任何问题私我解决! 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 求注关 所有9.9的项目,企业项目都有SQL文件,购买后运行部署可联系包你满意。不容易啊,谢谢大家支持!!
资源推荐
资源详情
资源评论
收起资源包目录
微服务仿闲鱼开源交易平台Power By 微信小程序JWT Java8MavenSpringBoot.zip (338个子文件)
auth-service\Dockerfile 207B
dev\mysql\conf\my.cnf 255B
dev\ngrok\ngrok 15.37MB
eureka\Dockerfile 189B
gateway\Dockerfile 192B
.git\config 310B
.git\description 73B
.git\HEAD 23B
.git\index 42KB
.git\info\exclude 240B
.git\logs\HEAD 198B
.git\logs\refs\heads\master 198B
.git\logs\refs\remotes\origin\HEAD 198B
.git\packed-refs 231B
.git\refs\heads\master 41B
.git\refs\remotes\origin\HEAD 32B
.gitignore 184B
goods-service\Dockerfile 210B
.git\objects\pack\pack-a0df9a9e693b1f7bc5bcce8e07b462207a1ac0a6.idx 88KB
im-service\Dockerfile 201B
im-service\src\main\java\io\github\nnkwrik\imservice\service\impl\IndexServiceImpl.java 8KB
goods-service\src\main\java\io\github\nnkwrik\goodsservice\dao\GoodsMapper.java 8KB
goods-service\src\main\java\io\github\nnkwrik\goodsservice\controller\UserController.java 7KB
goods-service\src\main\java\io\github\nnkwrik\goodsservice\controller\GoodsController.java 6KB
im-service\src\main\java\io\github\nnkwrik\imservice\service\impl\FormServiceImpl.java 5KB
goods-service\src\main\java\io\github\nnkwrik\goodsservice\service\impl\GoodsServiceImpl.java 5KB
im-service\src\main\java\io\github\nnkwrik\imservice\websocket\ChatEndpoint.java 5KB
im-service\src\main\java\io\github\nnkwrik\imservice\dao\HistoryMapper.java 5KB
im-service\src\main\java\io\github\nnkwrik\imservice\service\impl\WebSocketServiceImpl.java 5KB
auth-service\src\test\java\io\github\nnkwrik\authservice\jwt\GenerateToken.java 4KB
goods-service\src\main\java\io\github\nnkwrik\goodsservice\service\impl\UserServiceImpl.java 4KB
goods-service\src\main\java\io\github\nnkwrik\goodsservice\dao\UserMapper.java 4KB
im-service\src\main\java\io\github\nnkwrik\imservice\controller\ChatController.java 4KB
goods-service\src\main\java\io\github\nnkwrik\goodsservice\controller\PostController.java 4KB
goods-service\src\main\java\io\github\nnkwrik\goodsservice\controller\SearchController.java 3KB
common\src\main\java\io\github\nnkwrik\common\token\injection\JWTResolver.java 3KB
im-service\src\main\java\io\github\nnkwrik\imservice\redis\RedisConfig.java 3KB
goods-service\src\main\java\io\github\nnkwrik\goodsservice\controller\IndexController.java 3KB
auth-service\src\main\java\io\github\nnkwrik\authservice\controller\AuthController.java 3KB
auth-service\src\main\java\io\github\nnkwrik\authservice\token\RSAKeysGenerator.java 3KB
goods-service\src\main\java\io\github\nnkwrik\goodsservice\dao\SearchMapper.java 3KB
common\src\main\java\io\github\nnkwrik\common\token\RSAKeysReader.java 3KB
goods-service\src\main\java\io\github\nnkwrik\goodsservice\controller\GoodsServiceController.java 3KB
im-service\src\main\java\io\github\nnkwrik\imservice\controller\ImServiceController.java 3KB
goods-service\src\main\java\io\github\nnkwrik\goodsservice\cache\BrowseCache.java 3KB
goods-service\src\main\java\io\github\nnkwrik\goodsservice\service\impl\PostServiceImpl.java 2KB
auth-service\src\main\java\io\github\nnkwrik\authservice\service\impl\AuthServiceImpl.java 2KB
goods-service\src\main\java\io\github\nnkwrik\goodsservice\service\impl\IndexServiceImpl.java 2KB
auth-service\src\main\java\io\github\nnkwrik\authservice\token\TokenCreator.java 2KB
im-service\src\main\java\io\github\nnkwrik\imservice\websocket\ChatEndpointConfigure.java 2KB
common\src\main\java\io\github\nnkwrik\common\token\TokenSolver.java 2KB
goods-service\src\main\java\io\github\nnkwrik\goodsservice\cache\SearchCache.java 2KB
goods-service\src\main\java\io\github\nnkwrik\goodsservice\service\impl\SearchServiceImpl.java 2KB
user-service\src\main\java\io\github\nnkwrik\userservice\controller\UserServiceController.java 2KB
user-service\src\main\java\io\github\nnkwrik\userservice\dao\UserMapper.java 2KB
inner-api\src\main\java\fangxianyu\innerApi\goods\GoodsClientHandler.java 2KB
inner-api\src\main\java\fangxianyu\innerApi\user\UserClientHandler.java 2KB
common\src\main\java\io\github\nnkwrik\common\dto\Response.java 2KB
common\src\main\java\io\github\nnkwrik\common\util\JsonUtil.java 2KB
user-service\src\main\java\io\github\nnkwrik\userservice\service\impl\UserServiceImpl.java 2KB
auth-service\src\test\java\io\github\nnkwrik\authservice\jwt\TestToken.java 2KB
auth-service\src\main\java\io\github\nnkwrik\authservice\config\WxMaConfiguration.java 1KB
user-service\src\main\java\io\github\nnkwrik\userservice\mq\RegisterStreamReceiver.java 1KB
im-service\src\main\java\io\github\nnkwrik\imservice\dao\ChatMapper.java 1KB
goods-service\src\main\java\io\github\nnkwrik\goodsservice\dao\CategoryMapper.java 1KB
inner-api\src\main\java\fangxianyu\innerApi\user\UserClient.java 1KB
goods-service\src\main\java\io\github\nnkwrik\goodsservice\dao\GoodsServiceMapper.java 1KB
im-service\src\main\java\io\github\nnkwrik\imservice\model\vo\ChatForm.java 1KB
common\src\main\java\io\github\nnkwrik\common\exception\GlobalExceptionHandler.java 1015B
common\src\main\java\io\github\nnkwrik\common\util\BeanListUtils.java 1006B
im-service\src\main\java\io\github\nnkwrik\imservice\model\vo\ChatIndexEle.java 982B
goods-service\src\main\java\io\github\nnkwrik\goodsservice\model\po\Goods.java 973B
inner-api\src\main\java\fangxianyu\innerApi\goods\GoodsClient.java 963B
auth-service\src\main\java\io\github\nnkwrik\authservice\mq\RegisterStreamSender.java 931B
goods-service\src\main\java\io\github\nnkwrik\goodsservice\service\GoodsService.java 929B
im-service\src\main\java\io\github\nnkwrik\imservice\redis\RedisClient.java 910B
goods-service\src\main\java\io\github\nnkwrik\goodsservice\model\vo\GoodsDetailPageVo.java 862B
inner-api\src\main\java\fangxianyu\innerApi\im\ImClientHandler.java 855B
inner-api\src\main\java\fangxianyu\innerApi\im\ImClient.java 836B
goods-service\src\main\java\io\github\nnkwrik\goodsservice\service\UserService.java 824B
auth-service\src\main\java\io\github\nnkwrik\authservice\config\WxMaProperties.java 807B
goods-service\src\main\java\io\github\nnkwrik\goodsservice\dao\IndexMapper.java 777B
common\src\main\java\io\github\nnkwrik\common\dto\SimpleUser.java 754B
goods-service\src\main\java\io\github\nnkwrik\goodsservice\dao\PostMapper.java 718B
im-service\src\main\java\io\github\nnkwrik\imservice\model\vo\WsMessage.java 706B
goods-service\src\main\java\io\github\nnkwrik\goodsservice\GoodsServiceApplication.java 700B
im-service\src\main\java\io\github\nnkwrik\imservice\ImServiceApplication.java 697B
common\src\main\java\io\github\nnkwrik\common\token\injection\SolverConfig.java 696B
goods-service\src\main\java\io\github\nnkwrik\goodsservice\model\vo\IndexPageVo.java 672B
goods-service\src\main\java\io\github\nnkwrik\goodsservice\model\vo\UserPageVo.java 667B
goods-service\src\main\java\io\github\nnkwrik\goodsservice\model\vo\CategoryPageVo.java 637B
common\src\main\java\io\github\nnkwrik\common\mq\UserRegisterStream.java 635B
common\src\main\java\io\github\nnkwrik\common\exception\JWTException.java 633B
goods-service\src\main\java\io\github\nnkwrik\goodsservice\service\IndexService.java 600B
im-service\src\main\java\io\github\nnkwrik\imservice\websocket\WebSocketConfig.java 596B
im-service\src\main\java\io\github\nnkwrik\imservice\constant\MessageType.java 594B
goods-service\src\main\java\io\github\nnkwrik\goodsservice\model\vo\CommentVo.java 561B
goods-service\src\main\java\io\github\nnkwrik\goodsservice\model\vo\CatalogPageVo.java 558B
im-service\src\main\java\io\github\nnkwrik\imservice\model\vo\ChatIndex.java 556B
goods-service\src\main\java\io\github\nnkwrik\goodsservice\service\PostService.java 551B
共 338 条
- 1
- 2
- 3
- 4
资源评论
项目资源总站点博客专家
- 粉丝: 1357
- 资源: 4368
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功