# home-server **Repository Path**: jameswatt2008/home-server ## Basic Information - **Project Name**: home-server - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-01-15 - **Last Updated**: 2025-05-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 1-接口 ----后端接口的启动,参考文档-下面 # 2-实现一个移动端商城 # 3-实现一个管理系统 界面仿照 http://localhost:1337/manager (需要运行接口honey-home-main-master) # 4-后端项目说明 本项目是一个后端接口项目 #### 后端项目启动 ```bash npm i # 安装依赖项 npm run start # 启动项目 终端会有提示,输入 1 按回车即可 ``` **ps:本项目的代码 不要到中文路径里面,否则上传图片会失败** #### 本项目提供了一个现成的 后台管理系统 [管理后台访问地址](http://localhost:1337/manager) http://localhost:1337/manager ``` 管理后台默认登录信息 admin/admin ``` # 5-智能社区云平台接口文档 > 制作一个智能社区的系统,主要服务对象为小区业主,由物业公司或者第三方单位运营。只对当前小区提供服务。包含有:小区论坛、小区新闻发布、小区活动(报名)、小区购物(社区购物) ## 接口基地址 http://localhost:1337 ## 前端身份验证token 需要登录的接口需要在请求头中传入token,登录成功会返回token headers 字段名token:字段值登录时候返回的token值 ## 接口中参数不明白什么意思 可以参见文档最下面的数据库表中的字段说明 ## 通用接口 ### 文件上传 ``` url /api/v1/common/upload_file method post 请求参数-get是搜索参数,post是请求体参数-格式是application/json file result { code: 1, data: '上传之后的文件路径' } ``` ## 前台用户端接口 ### 轮播图 #### 获取轮播图数据 ``` url /api/v1/banners method get 请求参数-get是搜索参数,post是请求体参数-格式是application/json category 可选,为空表示返回所有的 result { code: 1, data: [] } ``` ### 公告 小区的公告信息,比如:停水停电公告,集体维修公告等等 #### 公告列表 分页的方式,按时间倒叙获取公告列表。列表中不包含详情数据 ``` url /api/v1/notices method get 请求参数-get是搜索参数,post是请求体参数-格式是application/json page 页码 per 每页显示的数量 result { code: 1, total: 0, pages: 1, data: [] } ``` #### 公告详情 根据 id 获取公告的详情信息 ``` url /api/v1/notices/:id method get result { code: 1, data: {} } ``` ### 资讯 小区的一些新闻趣事 #### 资讯分类数据 资讯的类别信息,如果需要可以在列表页制作一个分类切换的功能 ``` url /api/v1/article_categories method get retult { code: 1, data: [] } ``` #### 资讯列表 资讯列表数据,如果有传递参数分类 id,那么获取的是指定分类的资讯数据 ``` url /api/v1/articles method get 请求参数-get是搜索参数,post是请求体参数-格式是application/json category 分类id name 名字,可以做模糊查询 page 当前页码 per 每一页显示的数量 result { code: 1, total: 0, pages: 1, data: [] } ``` #### 资讯详情 根据 id 获取资讯详情 ``` url /api/v1/articles/:id method get result { code: 1, data: {} } ``` ### 活动 小区组织的一些社区活动,比如:自驾、旅游、比赛项目等,可以开启报名功能。报名需提供姓名、手机号、参与人数等 #### 活动分类数据 ``` url /api/v1/activity_categories method get result { code: 1, data: [] } ``` #### 活动列表 活动列表数据,如果传递的有参数分类 id,那么返回指定分类的活动。否则返回所有 ``` url /api/v1/activities method get 请求参数-get是搜索参数,post是请求体参数-格式是application/json category 类别 name 名字 page 页码 per 每页显示的数量 result { code: 1, pages: 1, total: 0, data: [] } ``` #### 活动详情 根据 id 获取活动详情数据 ``` url /api/v1/activities/:id method get result { code: 1, data: {} } ``` 活动报名 #### 活动报名,用户可以填写个人报名信息进行报名活动。必须登录之后才能报名活动 ``` url /api/v1/activity_logs method post 请求参数-get是搜索参数,其他请求参数-一般都是请求体参数-格式是application/json activity name remarks headers token result { code: 1, msg: '报名成功' } ``` ### 论坛 #### 板块列表 论坛的板块信息 ``` url /api/v1/forums method get result { code: 1, data: [] } ``` #### 帖子列表 如果是自己发布的帖子,提供修改和删除功能 获取审核过的帖子列表,如果传递板块参数,那么获取的是当前分类的帖子 ``` url /api/v1/posts method get 请求参数-get是搜索参数,post是请求体参数-格式是application/json forum 板块id 必选参数 name 标题 可选参数-传入表示模糊搜索 page 页码 可选参数 per 每页显示的数量 可选参数 result { code: 1, total: 0, pages: 1, data: [] } ``` #### 帖子详情 获取帖子详情 ``` url /api/1/posts/:id method get result { code: 1, data: {} } ``` #### 发布帖子 发布新帖子 ``` url /api/v1/posts method post 请求参数-get是搜索参数,post是请求体参数-格式是application/json forum 板块id 可选 name 帖子标题 必选 desc 帖子描述-帖子核心内容 可选 content 帖子内容 必选 cover_image 帖子封面图 可选 headers token result { code: 1, msg: '发帖成功' } ``` #### 评论列表 根据帖子 id 获取帖子的评论列表 ``` url /api/v1/comments/:post_id method get 请求参数-get是搜索参数,post是请求体参数-格式是application/json per page name result { code: 1, pages: 1, total: 0, data: [] } ``` #### 发布评论 发布评论 ``` url /api/v1/comments/:post_id method post 请求参数-get是搜索参数,post是请求体参数-格式是application/json content headers token result { code: 1, msg: '发布评论成功' } ``` #### 热门帖子 获取浏览量最多的帖子,可以传递一个返回的数量作为参数 ``` url /api/v1/posts/hot method get 请求参数-get是搜索参数,post是请求体参数-格式是application/json nums 返回的数量,默认是10 result { code: 1, data: [] } ``` #### 最新帖子 获取最新发布的帖子,可以传递一个返回的数量作为参数 ``` url /api/v1/posts/fresh method get 请求参数-get是搜索参数,post是请求体参数-格式是application/json nums 返回的数量,默认是10 result { code: 1, data: [] } ``` ### 商城 #### 商品部分 ##### 商品分类 商品类别数据 ``` url /api/v1/product_categories method get result { code: 1, data: [] } ``` ##### 商品列表 商品列表,如果有分类根据分类 id 获取指定分类的商品 ``` url /api/v1/products 请求参数-get是搜索参数,post是请求体参数-格式是application/json page 页码 per 每页显示的数量 name 名字 category 分类 method get result { code: 1, pages: 1, total: 0, data: [] } ``` ##### 商品详情 根据 id 获取商品详情 ``` url /api/v1/products/:id method get result { code: 1, data: {} } ``` ##### 商品评论信息 ``` url /api/v1/product_comments/:product_id method get result { code: 1, data: [] } ``` ##### 发布评论 ``` url /api/v1/product_comments/:product_id method post 请求参数-get是搜索参数,post是请求体参数-格式是application/json content coverImage headers token result { code: 1, msg: '评论发布成功' } ``` #### 购物车 ##### 获取购物车数据 ``` url /api/v1/shop_carts method get headers token result { code: 1, data: [] } ``` ##### 新增 加入购物车 ``` url /api/v1/shop_carts method post 请求参数-get是搜索参数,post是请求体参数-格式是application/json product amount // 根据传递的数量正负,会自动的计算最新的数量 price headers token result { code: 1, msg: '加入购物车成功' } ``` ##### 删除 删除购物车数据 ``` url /api/v1/shop_carts/:cart_id method delete headers token result { code: 1, msg: '删除购物车成功' } ``` #### 订单 ##### 购买-提交订单 ``` url /api/v1/orders method post 请求参数-get是搜索参数,post是请求体参数-格式是application/json products // 购买的商品信息,数据格式如下,一个商品信息组成的数组 [{ product:1, amount: 1, }, { product:2, amount: 1 }], receiver 收货人 address 地址 headers token result { code: 1, msg: '提交订单成功' } ``` ##### 获取订单列表(根据状态(支付状态、订单状态)) 获取订单列表,可以传递参数 支付状态(0/1),订单状态(0/1) ``` url /api/v1/orders method get 请求参数-get是搜索参数,post是请求体参数-格式是application/json order_status 订单状态,默认返回所有的(可选) pay_status 支付状态,默认返回所有的(可选) page 页码,默认1 per 每页显示的数量,默认10 headers token result { code: 1, total: 0, pages: 1, data: [] } ``` ##### 获取订单详情 根据订单 id 获取订单详情 ``` url /api/v1/orders/:id method get headers token result { code: 1, data: {} } ``` ### 个人中心 #### 登录 返回的data是token值 ``` url /api/v1/auth/login method post 请求参数-get是搜索参数,其他请求参数-一般都是请求体参数-格式是application/json userName password result { code: 1, data: '' //data是token } ``` #### 注册 注册成功以后,直接返回token,表示注册成功,并且自动登录,返回的data是token值 注意参数名 **userName** ``` url /api/v1/auth/reg method post 请求参数-get是搜索参数,其他请求参数-一般都是请求体参数-格式是application/json userName 用户名(必填) password 密码(必填) birthday 生日 age 年龄 avatar 头像 area 楼栋信息 address 详细地址门派信息 nickName 昵称 gender 性别 result { code: 1, data: ''//data是token } ``` #### 修改个人信息 ``` url /api/v1/user/modify headers token method put 请求参数-get是搜索参数,其他请求参数-一般都是请求体参数-格式是application/json birthday 生日 age 年龄 avatar 头像地址 area 楼栋信息 address 详细地址门派信息 nickName 昵称 gender 性别 result { code: 1, msg: '修改个人信息成功' } ``` #### 修改密码 ``` url /api/v1/user/update_pwd headers token method put 请求参数-get是搜索参数,post是请求体参数-格式是application/json password oldPassword result { code: 1, msg: '修改密码成功' } ``` #### 签到 ``` url /api/v1/user/check_in headers token method post result { code: 1, msg: '签到成功' } ``` #### 获取用户信息 ``` url /api/v1/user/info headers token method get result { code: 1, data: {} } ``` ## 后台管理系统接口 所有的管理后台接口都需要登录之后访问 ### 登录 ``` url /api/v1/auth/manager_login method post 请求参数-get是搜索参数,post是请求体参数-格式是application/json userName password result { code: 1, data: '' } ``` ### 获取管理员信息 ``` url /api/v1/auth/manager_info method get result { // 数据 } ``` ### 用户管理 - 用户列表 ``` url /api/v1/admin/user method get parmas per page userName nickName result { code: 1, pages: 1, total: 0, data: [] } ``` - 用户修改 ``` url /api/v1/admin/user/:id method put 请求参数-get是搜索参数,其他请求参数-一般都是请求体参数-格式是application/json birthday 生日 age 年龄 avatar 头像 area 楼栋信息 address 详细地址门派信息 nickName 昵称 gender 性别 result { code: 1, msg: '修改成功' } ``` - 用户删除 ``` url /api/v1/admin/user/:id method delete result { code: 1, msg: '删除成功' } ``` - 用户锁定 ``` url /api/v1/admin/user/:id method put 请求参数-get是搜索参数,post是请求体参数-格式是application/json isLocked 1表示锁定,0表示解锁 result { code: 1, msg: '修改成功' } ``` - 用户购物车列表 ``` url /api/v1/admin/cart/info method get 请求参数-get是搜索参数,post是请求体参数-格式是application/json user 用户id result { code: 1, data: [] } ``` - 用户购物车删除 ``` url /api/v1/admin/cart/:id method delete result { code: 1, msg: '删除成功' } ``` - 积分记录 ``` url /api/v1/admin/scorelog/info method get 请求参数-get是搜索参数,post是请求体参数-格式是application/json user 用户id result { code: 1, data: [] } ``` ### 商城管理 #### 商品分类 - 新增 ``` url /api/v1/admin/productcategory method post 请求参数-get是搜索参数,post是请求体参数-格式是application/json name 分类名字 coverImage 主图 desc 描述信息 parent 父类的id,默认是0,可选参数 result { } ``` - 修改 ``` url /api/v1/admin/productcategory/:id method put 请求参数-get是搜索参数,post是请求体参数-格式是application/json name 分类名字 coverImage 主图 desc 描述信息 parent 父类的id,默认是0,可选参数 result { } ``` - 删除 ``` url /api/v1/admin/productcategory/:id method delete result { } ``` - 列表 ``` url /api/v1/admin/productcategory method get parmas per page name result { code: 1, pages: 1, total: 0, data: [] } ``` #### 商品 - 新增 ``` url /api/v1/admin/product method post 请求参数-get是搜索参数,post是请求体参数-格式是application/json name 名字 coverImage 主图 desc 描述信息 content 详情 views 浏览次数 price 价格 category 分类id onSale 是否在售 amount 库存 result { } ``` - 修改 ``` url /api/v1/admin/product/:id method put 请求参数-get是搜索参数,post是请求体参数-格式是application/json name 名字 coverImage 主图 desc 描述信息 content 详情 views 浏览次数 price 价格 category 分类id onSale 是否在售 amount 库存 result { } ``` - 删除 ``` url /api/v1/admin/product/:id method delete result { } ``` - 列表 ``` url /api/v1/admin/product method get parmas per 每页显示的数量 page 页码 name 名字 category 分类id result { code: 1, pages: 1, total: 0, data: [] } ``` - 商品评论列表 ``` url /api/v1/admin/productcomment method get parmas per page product 商品id result { code: 1, pages: 1, total: 0, data: [] } ``` - 商品评论删除 ``` url /api/v1/admin/productcomment/:id method delete result { } ``` #### 订单管理 - 列表 ``` url /api/v1/admin/order method get parmas per page result { code: 1, pages: 1, total: 0, data: [] } ``` - 订单详情 ``` url /api/v1/admin/orderdetail method get parmas where { "order": 订单id } // 传递一个json数据 result [] ``` ### 论坛管理 #### 板块列表 ``` url /api/v1/admin/forum method get parmas per page result { code: 1, pages: 1, total: 0, data: [] } ``` #### 板块新增 ``` url /api/v1/admin/forum method post parmas name 分类名字 coverImage 主图 desc 描述信息 parent 父类的id,默认是0,可选参数 result { } ``` #### 板块修改 ``` url /api/v1/admin/forum/:id method put parmas name 分类名字 coverImage 主图 desc 描述信息 parent 父类的id,默认是0,可选参数 result { } ``` #### 板块删除 ``` url /api/v1/admin/forum/:id method delete result { } ``` #### 帖子帖子列表 ``` url /api/v1/admin/post method get parmas forum 板块id,不传返回所有 per page name 名字 isChecked 是否审核 result { code: 1, pages: 1, total: 0, data: [] } ``` #### 帖子审核 ``` url /api/v1/admin/post/check method put parmas ids 审核的id数组 isChecked 0未审核/1已审核 result { } ``` #### 帖子删除 ``` url /api/v1/admin/post/:id method delete result { } ``` #### 批量删除帖子 ``` url /api/v1/admin/post/delete_many method post 请求参数-get是搜索参数,post是请求体参数-格式是application/json ids 需要删除的id组成的数组 result { } ``` #### 评论列表 ``` url /api/v1/admin/comment method get parmas where { "post": 1 } // 已json形势传递帖子id result [] ``` #### 评论删除 ``` url /api/v1/admin/comment/:id method delete result { } ``` #### 批量删评论 ``` url /api/v1/admin/comment/delete_many method post 请求参数-get是搜索参数,post是请求体参数-格式是application/json ids 需要删除的id result { } ``` ### 活动管理 #### 活动分类列表 ``` url /api/v1/admin/activitycategory method get parmas per page result { code: 1, pages: 1, total: 0, data: [] } ``` #### 活动分类新增 ``` url /api/v1/admin/activitycategory method post parmas name desc coverImage parent 父类id result { } ``` #### 活动分类修改 ``` url /api/v1/admin/activitycategory/:id method put parmas name desc coverImage parent 父类id result { } ``` #### 活动分类删除 ``` url /api/v1/admin/activitycategory/:id method delete result { } ``` #### 活动列表-活动新增 ``` url /api/v1/admin/activity method post parmas name category desc coverImage content result { } ``` #### 活动列表-活动修改 ``` url /api/v1/admin/activity/:id method put parmas name category desc coverImage content result { } ``` #### 活动列表-活动删除 ``` url /api/v1/admin/activity/:id method delete result { } ``` #### 活动列表-活动列表 ``` url /api/v1/admin/activity method get parmas category name per page result { code: 1, pages: 1, total: 0, data: [] } ``` #### 活动列表-活动报名信息 ``` url /api/v1/admin/activitylog method get parmas activity 活动id per page result { code: 1, pages: 1, total: 0, data: [] } ``` ### 资讯管理 #### 资讯分类 ##### 列表 ``` url /api/v1/admin/articlecategory method get parmas per page result { code: 1, pages: 1, total: 0, data: [] } ``` ##### 新增 ``` url /api/v1/admin/articlecategory method post parmas name desc coverImage parent 父类id result { } ``` ##### 修改 ``` url /api/v1/admin/articlecategory/:id method put parmas name desc coverImage parent 父类id result { } ``` ##### 删除 ``` url /api/v1/admin/articlecategory/:id method delete result { } ``` #### 资讯列表 ##### 资讯列表 ``` url /api/v1/admin/article method get parmas name category per page result { code: 1, pages: 1, total: 0, data: [] } ``` ##### 资讯新增 ``` url /api/v1/admin/article method post parmas name category desc coverImage views content result { } ``` ##### 资讯修改 ``` url /api/v1/admin/article/:id method put parmas name category desc coverImage views content result { } ``` ##### 资讯删除 ``` url /api/v1/admin/article/:id method delete result { } ``` ### 公告管理 ##### 列表 ``` url /api/v1/admin/notice method get parmas name per page result { code: 1, pages: 1, total: 0, data: [] } ``` ##### 新增 ``` url /api/v1/admin/notice method post parmas name desc coverImage content result { } ``` ##### 修改 ``` url /api/v1/admin/banner/:id method put parmas name desc coverImage content result { } ``` ##### 删除 ``` url /api/v1/admin/banner/:id method delete result { } ``` ### 营销管理 #### 轮播图分类 ##### 列表 ``` url /api/v1/admin/bannercategory method get parmas per page result { code: 1, pages: 1, total: 0, data: [] } ``` ##### 新增 ``` url /api/v1/admin/bannercategory method post parmas name desc coverImage result { } ``` ##### 修改 ``` url /api/v1/admin/bannercategory/:id method put parmas name desc coverImage result { } ``` ##### 删除 ``` url /api/v1/admin/bannercategory/:id method delete result { } ``` #### 轮播图管理 ##### 列表 ``` url /api/v1/admin/banner method get parmas category per page result { code: 1, pages: 1, total: 0, data: [] } ``` ##### 新增 ``` url /api/v1/admin/banner method post parmas category name link url desc coverImage result { } ``` ##### 修改 ``` url /api/v1/admin/banner/:id method put parmas category name link url desc coverImage result { } ``` ##### 删除 ``` url /api/v1/admin/banner/:id method delete result { } ``` --- ## 数据库设计 ### 用户表(users) ``` user_name 用户名 nick_name 昵称 age 年龄 birthday 生日 address 详细信息 area 楼栋号 password 密码 is_locked 是否锁定 score 积分 avatar 头像 gender 性别 ``` ### 轮播图分类(banner_categories) ``` name 名字 desc 描述 ``` ### 轮播图(banners) ``` name 名字 link 链接 url 资源路径 desc 描述 category 分类id ``` ### 资讯分类(article_categories) ``` name 名字 cover_image 主图 desc 描述 parent 父级id ``` ### 资讯(articles) ``` name 名字 cover_image 主图 desc 描述 conten 详情 category 分类id views 浏览次数 ``` ### 公告(notices) ``` name 名字 cover_image 主图 desc 描述 conten 详情 views 浏览次数 ``` ### 论坛版块(forums) ``` name 名字 cover_image 主图 desc 描述 parent 父级id ``` ### 论坛帖子(posts) ``` name 名字 cover_image 主图 desc 描述 conten 详情 forum 版块id views 浏览次数 user 用户id is_checked 是否审核 ``` ### 评论(comments) ``` conten 详情 post 帖子id views 浏览次数 user 用户id is_checked 是否审核 ``` ### 商品分类(product_categories) ``` name 名字 cover_image 主图 desc 描述 parent 父级id ``` ### 商品(products) ``` name 名字 cover_image 主图 desc 描述 conten 详情 category 商品分类id views 浏览次数 price 价格 amount 库存 on_sale 是否在售 ``` ### 商品评论(product_comments) ``` user_id 用户id product_id 商品id content 评论内容 cover_image 主图 ``` ### 购物车(carts) ``` user 用户id product 商品id price 价格 amount 数量 ``` ### 订单(orders) ``` user 用户id address 地址 receiver 收件人名字 pay_status 支付状态(0未支付,1已支付) order_status 订单状态(0未完成,1已完成) price 金额 ``` ### 订单详情(order_details) ``` order 订单id product 商品id price 商品价格 amount 购买数量 ``` ### 积分记录(score_logs) ``` user 用户id score 积分 remarks 备注 ``` ### 活动分类(activity_categories) ``` name 名字 cover_image 主图 desc 描述 ``` ### 活动(activities) ``` name 名字 cover_image 主图 category 分类 desc 描述 conten 详情 ``` ### 活动报名记录(activity_logs) ``` name 名字 remarks 备注 activity 活动id ``` ### 管理员信息表 ``` user_name 用户名 password 密码 nick_name 昵称 gender 性别 avatar 头像 ```