仿微同商城后台API
1.介绍
原项目:https://gitee.com/fuyang_lipengjun/platform
本项目:https://gitee.com/zouchengxin/nide-shop-nest
由于本人比较倾向于MVC模式,所以选择nestjs来开发api接口。
nestjs开发文档:https://docs.nestjs.cn/7/firststeps
主要用到的模块:
- @nestjs/passport:认证
- @nestjs/typeorm:TypeORM它是 TypeScript 中最成熟的对象关系映射器( ORM )
- compression:压缩
- helmet:安全(CORS)
- @nestjs/swagger:OpenAPI(Swagger)规范是一种用于描述 RESTful API 的强大定义格式
- @nestjsx/CRUD:帮助您轻松创建 CRUD 控制器和服务
- moment:时间插件
- alipay-sdk:Alipay SDK对支付宝开放平台开放的所有能力提供了最全面和完整的支持
- dotenv:配置
- nodemailer:发送邮箱
- mysql:连接mysql数据库
2.接口文档
Swagger UI:http://39.106.207.193:3000/api/
3.接口
3.1.登陆
- 地址:http://39.106.207.193:3000/api/auth/login
- 请求方式:POST
- body参数:
{
"username": "test",
"password": "test"
}
- 响应:
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InRlc3QiLCJ1c2VyX2lkIjo2NiwiZW1haWxfc3RhdHVzIjowLCJpYXQiOjE1ODY4NzEwMzgsImV4cCI6MTU4Njg3ODIzOH0.vwlwGV2gdJiBo7RVqv-xwKs5STcjdnOKgqtlXjgqWt8",
"expires_time": "2h"
}
3.2.注册
- 地址:http://39.106.207.193:3000/api/user
- 请求方式:POST
- body参数:
{
"username": "test",
"nickname": "test",
"mobile": "17777777777",
"password": "test",
"gender": 0,
"birthday": "1999-09-09"
}
- 响应:
{
"username": "test",
"nickname": "test",
"mobile": "17777777777",
"password": "098f6bcd4621d373cade4e832627b4f6",
"birthday": "1999-09-09",
"gender": 0,
"register_ip": "127.0.0.1",
"id": 66,
"register_time": "2020-04-14T07:13:48.000Z",
"last_login_time": null,
"email_token_exptime": null,
"email_status": 0
}
3.3.用户信息
- 地址:http://39.106.207.193:3000/api/user/66
- 请求方式:GET
- 响应:
{
"id": 66,
"username": "test",
"nickname": "test",
"avatar": "",
"mobile": "17777777777",
"gender": 0,
"birthday": "1999-09-09",
"user_level_id": null,
"email": null,
"email_status": 0
}
3.4.邮箱激活
- 地址:http://39.106.207.193:3000/api/email/active?user_id=66
- 请求方式:GET
- query参数:user_id(用户ID)
- 响应:
{
"code": 200,
"msg": "邮箱已发送",
"activeUrl": "http://0.0.0.0:3000/api/email/verify?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjMxLCJ1c2VyRW1haWwiOiIxNzQxNzUwNTkxQHFxLmNvbSIsImlhdCI6MTU4Njg1MTEyOCwiZXhwIjoxNTg2ODU4MzI4fQ.pobyhlP4mlGx0uQ-5eF44l7P04a-UV45B_YBpqQBlZ0"
}
3.5.邮箱验证
- 地址:http://39.106.207.193:3000/api/email/verify?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjMxLCJ1c2VyRW1haWwiOiIxNzQxNzUwNTkxQHFxLmNvbSIsImlhdCI6MTU4Njg1MTEyOCwiZXhwIjoxNTg2ODU4MzI4fQ.pobyhlP4mlGx0uQ-5eF44l7P04a-UV45B_YBpqQBlZ0
- 请求方式:GET
- query参数:token(凭证)
- 响应:
{
code:200,
msg:"1741750591@qq.com邮箱激活成功"
}
3.6.获取广告
- 地址:http://39.106.207.193:3000/api/ad?limit=4&offset=0
- 请求方式:GET
- 响应:
{
"data": [
{
"id": 4,
"name": "商业版",
"link": "",
"image_url": "https://platform-wxmall.oss-cn-beijing.aliyuncs.com/platform-plus-mall/banner/38a0b23950b79611fb565bae14351a11.jpg",
"content": "商业版",
"end_time": "2020-01-30T04:49:25.000Z",
"adPosition": {
"id": 1,
"name": "移动端首页轮播广告",
"width": 750,
"height": 200
}
},
{
"id": 5,
"name": "双十一",
"link": "",
"image_url": "https://platform-wxmall.oss-cn-beijing.aliyuncs.com/platform-plus-mall/banner/aa860e44fbd468a7804c1a84796c4827.jpg",
"content": "",
"end_time": "2020-01-30T05:49:50.000Z",
"adPosition": {
"id": 1,
"name": "移动端首页轮播广告",
"width": 750,
"height": 200
}
},
{
"id": 6,
"name": "纷格新品",
"link": "",
"image_url": "https://platform-wxmall.oss-cn-beijing.aliyuncs.com/platform-plus-mall/banner/f02a4f8d5bbaf7f32e131c1f08ff21ae.jpg",
"content": "",
"end_time": "2020-01-30T06:49:59.000Z",
"adPosition": {
"id": 1,
"name": "移动端首页轮播广告",
"width": 750,
"height": 200
}
},
{
"id": 7,
"name": "居家生活",
"link": "",
"image_url": "https://platform-wxmall.oss-cn-beijing.aliyuncs.com/platform-plus-mall/banner/79b2dbf762217e6e532f335bda4c85b3.jpg",
"content": "",
"end_time": "2020-01-30T07:50:02.000Z",
"adPosition": {
"id": 1,
"name": "移动端首页轮播广告",
"width": 750,
"height": 200
}
}
],
"count": 4,
"total": 11,
"page": 1,
"pageCount": 3
}
3.7.获取公告
- 地址:http://39.106.207.193:3000/api/bulletin
- 请求方式:GET
- 响应:
{
"data": [
{
"id": 1,
"title": "。。。。。。",
"content": "。。。。。。",
"add_time": "1504933578"
},
{
"id": 2,
"title": "。。。。。。",
"content": "。。。。。。",
"add_time": "1504933999"
}
],
"count": 2,
"total": 2,
"page": 1,
"pageCount": 1
}
3.8.获取制造商
- 地址:http://39.106.207.193:3000/api/brand?limit=5&page=1
- 请求方式:GET
- 响应:
{
"data": [
{
"id": 1026000,
"name": "CK制造商",
"list_pic_url": "http://yanxuan.nosdn.127.net/658f09b7ec522d31742b47b914d64338.png",
"simple_desc": "严选寻访Calvin Klein品牌的制造商,\n深入世界领带第一生产地,设计与品质并重,\n致力于给消费者带来优质典雅的服饰用品。",
"pic_url": "http://yanxuan.nosdn.127.net/fb139c9f11a10deb41beeb42aaad488e.png",
"is_new": 1,
"floor_price": "39.00"
},
{
"id": 1001000,
"name": "MUJI制造商",
"list_pic_url": "http://yanxuan.nosdn.127.net/1541445967645114dd75f6b0edc4762d.png"