parent
dfdcd58d8c
commit
ea631f49d3
@ -1,20 +1,17 @@
|
|||||||
/*
|
/*
|
||||||
七牛云配置
|
七牛云配置
|
||||||
*/
|
*/
|
||||||
// const qiniu = require('qiniu')
|
|
||||||
import qiniu from 'qiniu'
|
import qiniu from 'qiniu'
|
||||||
|
|
||||||
// 创建上传凭证
|
// 创建上传凭证
|
||||||
const accessKey = 'et7Cr4yqTf5kHJ3cNuAkzAghjGI378X9tflGO6dT' // 这里填写七牛云的accessKey
|
const accessKey = 'et7Cr4yqTf5kHJ3cNuAkzAghjGI378X9tflGO6dT' // 这里填写七牛云的accessKey
|
||||||
const secretKey = '1eKk1NJIeXmuZ6klkvaLmvRqVQeuO817G_6AOblD'// 这里填写七牛云的secretKey
|
const secretKey = '1eKk1NJIeXmuZ6klkvaLmvRqVQeuO817G_6AOblD' // 这里填写七牛云的secretKey
|
||||||
const mac = new qiniu.auth.digest.Mac(accessKey, secretKey)
|
const mac = new qiniu.auth.digest.Mac(accessKey, secretKey)
|
||||||
const options = {
|
const options = {
|
||||||
scope: 'liuyxcc-blog', // 这里填写七牛云空间名称
|
scope: 'liuyxcc-blog', // 这里填写七牛云空间名称
|
||||||
expires: 60 * 60 * 24 * 7
|
expires: 60 * 60 * 24 * 356
|
||||||
}
|
}
|
||||||
const putPolicy = new qiniu.rs.PutPolicy(options)
|
const putPolicy = new qiniu.rs.PutPolicy(options)
|
||||||
const uploadToken = putPolicy.uploadToken(mac)
|
const uploadToken = putPolicy.uploadToken(mac)
|
||||||
|
|
||||||
export {
|
export { uploadToken }
|
||||||
uploadToken
|
|
||||||
}
|
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
import mongoose from 'mongoose'
|
||||||
|
|
||||||
|
const AboutSchema = new mongoose.Schema({
|
||||||
|
content: String
|
||||||
|
})
|
||||||
|
|
||||||
|
export default mongoose.model('About', AboutSchema, 'about')
|
@ -0,0 +1,11 @@
|
|||||||
|
import mongoose from 'mongoose'
|
||||||
|
|
||||||
|
const CategorySchema = new mongoose.Schema({
|
||||||
|
name: String,
|
||||||
|
articleNum: {
|
||||||
|
type: Number,
|
||||||
|
default: 0
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
export default mongoose.model('Category', CategorySchema, 'category')
|
@ -0,0 +1,8 @@
|
|||||||
|
import mongoose from 'mongoose'
|
||||||
|
|
||||||
|
const PageSchema = new mongoose.Schema({
|
||||||
|
pageName: String,
|
||||||
|
bannerUrl: String
|
||||||
|
})
|
||||||
|
|
||||||
|
export default mongoose.model('Page', PageSchema, 'page')
|
@ -0,0 +1,22 @@
|
|||||||
|
/*
|
||||||
|
* @Author: liuyx 1517482303@qq.com
|
||||||
|
* @Date: 2022-12-17 08:19:03
|
||||||
|
* @LastEditTime: 2022-12-17 09:38:01
|
||||||
|
* @Description: 网站信息Schema
|
||||||
|
*/
|
||||||
|
import mongoose from 'mongoose'
|
||||||
|
|
||||||
|
const SiteSchema = mongoose.Schema({
|
||||||
|
avatar: String,
|
||||||
|
siteName: String,
|
||||||
|
author: String,
|
||||||
|
intro: String,
|
||||||
|
sentence: String,
|
||||||
|
date: Date,
|
||||||
|
notice: String,
|
||||||
|
github: String,
|
||||||
|
gitee: String,
|
||||||
|
icp: String
|
||||||
|
})
|
||||||
|
|
||||||
|
export default mongoose.model('Site', SiteSchema, 'site')
|
@ -0,0 +1,11 @@
|
|||||||
|
import mongoose from 'mongoose'
|
||||||
|
|
||||||
|
const TagSchema = new mongoose.Schema({
|
||||||
|
name: String,
|
||||||
|
articleNum: {
|
||||||
|
type: Number,
|
||||||
|
default: 0
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
export default mongoose.model('Tag', TagSchema, 'tag')
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,33 @@
|
|||||||
|
import express from 'express'
|
||||||
|
import About from '../models/about.js'
|
||||||
|
import result from '../utils/result.js'
|
||||||
|
|
||||||
|
const aboutRouter = express.Router()
|
||||||
|
|
||||||
|
aboutRouter.get('/', async (req, res) => {
|
||||||
|
const about = await About.findOne()
|
||||||
|
console.log(about)
|
||||||
|
if (about === null) {
|
||||||
|
res.status(200).json(result(400, '暂时没有数据哦', { _id: '', content: '' }))
|
||||||
|
} else {
|
||||||
|
res.status(200).json(result(200, '查询成功', about))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
aboutRouter.put('/', async (req, res) => {
|
||||||
|
const data = req.body
|
||||||
|
if (data._id === '') {
|
||||||
|
const about = new About({
|
||||||
|
content: data.content
|
||||||
|
})
|
||||||
|
await about.save()
|
||||||
|
res.status(200).json(result(200, '创建成功', null))
|
||||||
|
} else {
|
||||||
|
await About.updateOne({ _id: data._id }, data)
|
||||||
|
res.status(200).json(result(200, '更新成功', null))
|
||||||
|
}
|
||||||
|
// await About.updateOne()
|
||||||
|
console.log(data)
|
||||||
|
})
|
||||||
|
|
||||||
|
export default aboutRouter
|
@ -0,0 +1,41 @@
|
|||||||
|
import express from 'express'
|
||||||
|
import Category from '../models/category.js'
|
||||||
|
import result from '../utils/result.js'
|
||||||
|
|
||||||
|
const categpryRouter = express.Router()
|
||||||
|
|
||||||
|
// 获取所有标签
|
||||||
|
categpryRouter.get('/', (req, res) => {
|
||||||
|
Category.find({}, (err, doc) => {
|
||||||
|
if (err) {
|
||||||
|
res.status(500).json(result(500, '查询出错啦', null))
|
||||||
|
}
|
||||||
|
res.status(200).json(result(200, '查询成功', doc))
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
// 根据id获取标签
|
||||||
|
categpryRouter.get('/:id', async (req, res) => {
|
||||||
|
const category = await Category.findOne({ _id: req.params.id })
|
||||||
|
res.status(200).json(result(200, null, category))
|
||||||
|
})
|
||||||
|
|
||||||
|
// 根据id是否为空字符串来实现新增或修改
|
||||||
|
categpryRouter.post('/', async (req, res) => {
|
||||||
|
const data = req.body
|
||||||
|
if (data._id === '') {
|
||||||
|
await Category.create({ name: data.name })
|
||||||
|
res.status(200).json(result(200, '新增成功', null))
|
||||||
|
} else {
|
||||||
|
await Category.updateOne({ _id: data._id }, { name: data.name })
|
||||||
|
res.status(200).json(result(200, '修改成功', null))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// 根据id删除标签
|
||||||
|
categpryRouter.delete('/:id', async (req, res) => {
|
||||||
|
await Category.deleteOne({ _id: req.params.id })
|
||||||
|
res.status(200).json(result(200, '删除成功', null))
|
||||||
|
})
|
||||||
|
|
||||||
|
export default categpryRouter
|
@ -1,16 +1,25 @@
|
|||||||
// const token = require('./token')
|
/*
|
||||||
// const article = require('./article')
|
* @Author: liuyx 1517482303@qq.com
|
||||||
|
* @Date: 2022-11-23 10:44:22
|
||||||
|
* @LastEditTime: 2022-12-17 09:22:16
|
||||||
|
* @Description: 注册路由
|
||||||
|
*/
|
||||||
import token from './token.js'
|
import token from './token.js'
|
||||||
import article from './article.js'
|
import article from './article.js'
|
||||||
|
import tag from './tag.js'
|
||||||
// module.exports = routers = (app) => {
|
import category from './category.js'
|
||||||
// app.use('/token', token)
|
import site from './site.js'
|
||||||
// app.use('/article', article)
|
import about from './about.js'
|
||||||
// }
|
import page from './page.js'
|
||||||
|
|
||||||
const routes = (app) => {
|
const routes = (app) => {
|
||||||
app.use('/token', token)
|
app.use('/token', token)
|
||||||
app.use('/article', article)
|
app.use('/articles', article)
|
||||||
|
app.use('/tags', tag)
|
||||||
|
app.use('/categories', category)
|
||||||
|
app.use('/sites', site)
|
||||||
|
app.use('/about', about)
|
||||||
|
app.use('/pages', page)
|
||||||
}
|
}
|
||||||
|
|
||||||
export default routes
|
export default routes
|
||||||
|
@ -0,0 +1,43 @@
|
|||||||
|
import express from 'express'
|
||||||
|
import Page from '../models/page.js'
|
||||||
|
import result from '../utils/result.js'
|
||||||
|
|
||||||
|
const pageRouter = express.Router()
|
||||||
|
|
||||||
|
pageRouter.get('/', async (req, res) => {
|
||||||
|
if ((await Page.find()).length === 0) {
|
||||||
|
new Page({ pageName: '主页', bannerUrl: 'http://cdn.liuyx.cc/wallhaven-m3dm1k.png' }).save()
|
||||||
|
new Page({
|
||||||
|
pageName: '分类',
|
||||||
|
bannerUrl: 'https://typora-lyx.oss-cn-guangzhou.aliyuncs.com/typora/wallhaven-kxw9o1.png'
|
||||||
|
}).save()
|
||||||
|
new Page({
|
||||||
|
pageName: '标签',
|
||||||
|
bannerUrl: 'https://typora-lyx.oss-cn-guangzhou.aliyuncs.com/typora/wallhaven-kxw3p1.jpg'
|
||||||
|
}).save()
|
||||||
|
new Page({
|
||||||
|
pageName: '归档',
|
||||||
|
bannerUrl: 'https://typora-lyx.oss-cn-guangzhou.aliyuncs.com/typora/wallhaven-1p38v3.png'
|
||||||
|
}).save()
|
||||||
|
new Page({
|
||||||
|
pageName: '关于我',
|
||||||
|
bannerUrl: 'https://typora-lyx.oss-cn-guangzhou.aliyuncs.com/typora/wallhaven-p931d9.png'
|
||||||
|
}).save()
|
||||||
|
}
|
||||||
|
const pageList = await Page.find({})
|
||||||
|
res.status(200).json(result(200, '页面图片查询成功', pageList))
|
||||||
|
})
|
||||||
|
|
||||||
|
pageRouter.get('/:pageName', async (req, res) => {
|
||||||
|
const pageName = req.params.pageName
|
||||||
|
const page = await Page.findOne({ pageName })
|
||||||
|
res.status(200).json(result(200, '获取页面图片成功', page))
|
||||||
|
})
|
||||||
|
|
||||||
|
pageRouter.put('/', async (req, res) => {
|
||||||
|
const { _id, bannerUrl } = req.body
|
||||||
|
await Page.updateOne({ _id }, { bannerUrl })
|
||||||
|
res.status(200).json(result(200, '修改页面图片成功', null))
|
||||||
|
})
|
||||||
|
|
||||||
|
export default pageRouter
|
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* @Author: liuyx 1517482303@qq.com
|
||||||
|
* @Date: 2022-12-17 09:14:28
|
||||||
|
* @LastEditTime: 2022-12-17 15:10:09
|
||||||
|
* @Description: 网站信息相关操作
|
||||||
|
*/
|
||||||
|
import express from 'express'
|
||||||
|
import Site from '../models/Site.js'
|
||||||
|
import result from '../utils/result.js'
|
||||||
|
|
||||||
|
const siteRouter = express.Router()
|
||||||
|
|
||||||
|
siteRouter.get('/', async (req, res) => {
|
||||||
|
const siteInfo = await Site.findOne()
|
||||||
|
if (siteInfo === null) {
|
||||||
|
res.status(500).json(result(500, '未能找到有关信息', null))
|
||||||
|
} else {
|
||||||
|
res.status(200).json(result(200, '查询成功', siteInfo))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
siteRouter.put('/', async (req, res) => {
|
||||||
|
const data = req.body
|
||||||
|
await Site.updateOne({ _id: data._id }, data)
|
||||||
|
res.status(200).json(result(200, '更新成功', null))
|
||||||
|
})
|
||||||
|
|
||||||
|
export default siteRouter
|
@ -0,0 +1,44 @@
|
|||||||
|
import express from 'express'
|
||||||
|
// import Article from '../models/article.js'
|
||||||
|
import Tag from '../models/tag.js'
|
||||||
|
import result from '../utils/result.js'
|
||||||
|
|
||||||
|
const tagRouter = express.Router()
|
||||||
|
|
||||||
|
// 获取所有标签
|
||||||
|
tagRouter.get('/', (req, res) => {
|
||||||
|
Tag.find({}, (err, doc) => {
|
||||||
|
if (err) {
|
||||||
|
res.status(500).json(result(500, '查询出错啦', null))
|
||||||
|
}
|
||||||
|
res.status(200).json(result(200, null, doc))
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
// 根据id获取标签
|
||||||
|
tagRouter.get('/:id', async (req, res) => {
|
||||||
|
const tag = await Tag.findOne({ _id: req.params.id })
|
||||||
|
res.status(200).json(result(200, null, tag))
|
||||||
|
})
|
||||||
|
|
||||||
|
// 根据id是否为空字符串来实现新增或修改
|
||||||
|
tagRouter.post('/', async (req, res) => {
|
||||||
|
const data = req.body
|
||||||
|
if (data._id === '') {
|
||||||
|
await Tag.create({ name: data.name })
|
||||||
|
res.status(200).json(result(200, '新增成功', null))
|
||||||
|
} else {
|
||||||
|
// const temp = await Article.find({ tagList: { $elemMatch: { _id: data._id } } })
|
||||||
|
// console.log(temp)
|
||||||
|
await Tag.updateOne({ _id: data._id }, { name: data.name })
|
||||||
|
res.status(200).json(result(200, '修改成功', null))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// 根据id删除标签
|
||||||
|
tagRouter.delete('/:id', async (req, res) => {
|
||||||
|
await Tag.deleteOne({ _id: req.params.id })
|
||||||
|
res.status(200).json(result(200, '删除成功', null))
|
||||||
|
})
|
||||||
|
|
||||||
|
export default tagRouter
|
Loading…
Reference in new issue