Essay server API 服务
首先安装MongoDB数据库和Node.js环境,然后启动数据库
# yourDBpath 表示你自定义的数据库目录,任意位置皆可
$ sudo mongod --dbpath yourDBpath
$ git clone https://github.com/wmui/essay-server.git
$ cd essay-server
$ npm install
$ npm run dev # 浏览器访问 http://127.0.0.1:3010
配置文件在server/config
目录下
管理员默认用户名:q,默认密码:q
module.exports = {
// 初始化管理员信息
user: {
role: 'superAdmin',
username: 'q',
password: 'q',
nickname: 'Essay',
email: 'qq22337383@gmail.com',
motto: 'Never too old to learn',
},
// jwt 配置
jwt: {
secret: 'essay',
expiresIn: 1296000,
},
mongodb: {
host: '127.0.0.1',
database: 'essay-dev',
port: 27017,
username: '',
password: '',
},
// GitHub登录
githubConfig: {
githubClient: '9588f02db3f89d176f36',
githubSecret: '10f4f1daa81764664fafb2e50be2c6985ef139f8',
scope: 'user',
},
// SMTP配置
emailConfig: {
user: '',
pass: '',
},
// 前端域名
domain: 'http://127.0.0.1:3000',
}
baseUrl: http://127.0.0.1:3010/v1
若无特殊说明,所有POST、PATCH、DELETE请求均需要Token或Cookie认证信息
Method | URL | 参数 | 描述 |
---|---|---|---|
GET | /articles/{limit}/{page} | limit: 显示多少条,page: 第几页 | 获取首页展示的文章列表 |
GET | /article/{id} | 文章id | 获取文章详情 |
GET | /stick/{limit}/{page} | ... | 获取置顶文章 |
GET | /drafts/{limit}/{page} | ... | 获取草稿文章,需要token |
GET | /search/{keyword}/{limit}/{page} | keyword: 搜索关键字 | 获取搜索列表 |
GET | /tag/{id}/{limit}/{page} | id: 标签id | 获取标签下的文章列表 |
POST | /article | title: 标题,content: 内容,tags:标签id组成的数组(可选) | 发布文章 |
PATCH | /article | id: 文章的id,title: 标题,content: 内容 | 修改文章 |
DELETE | /article/{id} | id: 文章的id | 删除文章 |
Method | URL | 参数 | 描述 |
---|---|---|---|
GET | /tags | 获取所有标签 | |
POST | /tag | name: 标签名 | 创建一个标签 |
PATCH | /tag | id: 原标签id,name: 新标签名字 | 修改标签 |
DELETE | /tag/{id} | id: 标签id | 删除一个标签 |
Method | URL | 参数 | 描述 |
---|---|---|---|
GET | /admin | 获取管理员信息 | |
GET | /user | 获取用户信息,需要token | |
POST | /login | username: 用户名,password: 密码 | 管理员登录,后端会返回token并设置cookie |
POST | /logout | 退出登录 | |
PATCH | /password | oldPassword: 旧密码,newPassword: 新密码 | 修改管理员密码 |
PATCH | /admin | nickname: 昵称,emial: 邮箱,motto: 介绍 | 修改管理员信息 |
Method | URL | 参数 | 描述 |
---|---|---|---|
GET | /comments | 获取所有的评论 | |
POST | /comment | id: 文章id,content: 评论内容 | 用户发布评论 |
DELETE | /comment/{id} | id: 评论的id | 管理员删除评论 |
仅支持GitHub
Method | URL | 参数 | 描述 |
---|---|---|---|
GET | /oauth/github/{state} | state: 文章id | GitHub授权 |
Method | URL | 参数 | 描述 |
---|---|---|---|
POST | /upload-img | 上传图片 |
Method | URL | 参数 | 描述 |
---|---|---|---|
GET | /rss.xml | rss订阅服务 | |
GET | /sitemap.xml | 网站地图,便于搜索引擎收录 | |
GET | /robots.txt | robot 协议 |
GPL