<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`
# 🗃 目录
- [功能](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 [email protected]: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中可以配置秘钥文件的名字如:
```yml
jwt:
pvt-key-file-name: RSA.key
pub-key-file-name: RSA.pub
duration: 1D #JWT 1天过期
```
请确保resource目录下有你配置的这个秘钥文件。JWT发行方(auth-service)需要私钥(.key),验证方(goods-service,im-service)需要公钥(.pub)。
如果你想改成新的秘钥,`io.github.nnkwrik.authservice.token.RSAKeysGenerator`中提供了RSA密钥对生成器。运行后会在`auth-service/src/main/resources`下生成新的秘钥对(.key和.pub)。把公钥(.pub)复制到需要JWT验证的服务(`goods-service`,`im-service`)的resource下,就能替换成新的秘钥了。
`auth-serv
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
毕设&课设&项目&实训-微服务仿闲鱼开源交易平台。Power By 微信小程序.zip (316个子文件)
my.cnf 240B
Dockerfile 203B
Dockerfile 200B
Dockerfile 200B
Dockerfile 194B
Dockerfile 185B
Dockerfile 182B
.gitignore 170B
IndexServiceImpl.java 8KB
GoodsMapper.java 7KB
UserController.java 7KB
GoodsController.java 6KB
FormServiceImpl.java 5KB
GoodsServiceImpl.java 5KB
ChatEndpoint.java 5KB
HistoryMapper.java 5KB
WebSocketServiceImpl.java 4KB
GenerateToken.java 4KB
UserMapper.java 4KB
UserServiceImpl.java 4KB
ChatController.java 4KB
PostController.java 4KB
SearchController.java 3KB
JWTResolver.java 3KB
RedisConfig.java 3KB
IndexController.java 3KB
AuthController.java 3KB
RSAKeysGenerator.java 3KB
SearchMapper.java 3KB
RSAKeysReader.java 3KB
GoodsServiceController.java 3KB
ImServiceController.java 3KB
BrowseCache.java 3KB
PostServiceImpl.java 2KB
AuthServiceImpl.java 2KB
IndexServiceImpl.java 2KB
TokenCreator.java 2KB
ChatEndpointConfigure.java 2KB
TokenSolver.java 2KB
SearchServiceImpl.java 2KB
SearchCache.java 2KB
UserServiceController.java 2KB
UserMapper.java 2KB
GoodsClientHandler.java 2KB
UserClientHandler.java 2KB
Response.java 2KB
JsonUtil.java 2KB
UserServiceImpl.java 1KB
TestToken.java 1KB
WxMaConfiguration.java 1KB
RegisterStreamReceiver.java 1KB
ChatMapper.java 1KB
CategoryMapper.java 1KB
UserClient.java 1KB
GoodsServiceMapper.java 1KB
ChatForm.java 1002B
GlobalExceptionHandler.java 984B
BeanListUtils.java 969B
ChatIndexEle.java 940B
GoodsClient.java 932B
Goods.java 932B
RegisterStreamSender.java 900B
GoodsService.java 897B
RedisClient.java 870B
ImClientHandler.java 828B
GoodsDetailPageVo.java 825B
ImClient.java 813B
UserService.java 795B
WxMaProperties.java 768B
IndexMapper.java 749B
SimpleUser.java 726B
PostMapper.java 696B
GoodsServiceApplication.java 684B
ImServiceApplication.java 681B
WsMessage.java 679B
SolverConfig.java 672B
IndexPageVo.java 642B
UserPageVo.java 637B
UserRegisterStream.java 610B
CategoryPageVo.java 608B
JWTException.java 608B
IndexService.java 576B
WebSocketConfig.java 573B
MessageType.java 571B
CommentVo.java 535B
ChatIndex.java 531B
CatalogPageVo.java 530B
PostService.java 529B
JWT.java 502B
AuthServiceApplication.java 480B
User.java 476B
SearchService.java 445B
SimpleGoods.java 441B
SearchPageVo.java 440B
UserServiceApplication.java 439B
UserService.java 426B
ListUtil.java 424B
EurekaApplication.java 423B
FormService.java 422B
GatewayApplication.java 421B
共 316 条
- 1
- 2
- 3
- 4
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- python代码案例详解-旅行商问题的多种求解算法.zip
- springcloud.rar
- 一键清理maven项目依赖下载失败生成的.lastUpdated文件, 以及解决无法连接远程仓库导致本地依赖找不到的批处理脚本
- C#+WPF开发IOC框架实战架构师课程
- 《JAVA WEB项目开发案例精粹》中的代码案例源文件(超全).rar
- 背景music,用作业网轮地址
- comment_6e56cd5d6e140046ef1cd248910ea5ca.png
- 基于卷积神经网络的自动驾驶系统的设计与实现
- MySQL的执行原理-2.md
- 基于 FCN 网络对无人机俯拍下的生活场景语义分割(12类别)【包含数据集、完整代码、训练好的结果、权重文件等等】
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功