parent
							
								
									dfdcd58d8c
								
							
						
					
					
						commit
						ea631f49d3
					
				| @ -1,20 +1,17 @@ | ||||
| /* | ||||
| 七牛云配置 | ||||
| */ | ||||
| // const qiniu = require('qiniu')
 | ||||
| import qiniu from 'qiniu' | ||||
| 
 | ||||
| // 创建上传凭证
 | ||||
| const accessKey = 'et7Cr4yqTf5kHJ3cNuAkzAghjGI378X9tflGO6dT' // 这里填写七牛云的accessKey
 | ||||
| const secretKey = '1eKk1NJIeXmuZ6klkvaLmvRqVQeuO817G_6AOblD'// 这里填写七牛云的secretKey
 | ||||
| const secretKey = '1eKk1NJIeXmuZ6klkvaLmvRqVQeuO817G_6AOblD' // 这里填写七牛云的secretKey
 | ||||
| const mac = new qiniu.auth.digest.Mac(accessKey, secretKey) | ||||
| const options = { | ||||
|   scope: 'liuyxcc-blog', // 这里填写七牛云空间名称
 | ||||
|   expires: 60 * 60 * 24 * 7 | ||||
|   expires: 60 * 60 * 24 * 356 | ||||
| } | ||||
| const putPolicy = new qiniu.rs.PutPolicy(options) | ||||
| const uploadToken = putPolicy.uploadToken(mac) | ||||
| 
 | ||||
| export { | ||||
|   uploadToken | ||||
| } | ||||
| export { 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 article from './article.js' | ||||
| 
 | ||||
| // module.exports = routers = (app) => {
 | ||||
| //   app.use('/token', token)
 | ||||
| //   app.use('/article', article)
 | ||||
| // }
 | ||||
| import tag from './tag.js' | ||||
| import category from './category.js' | ||||
| import site from './site.js' | ||||
| import about from './about.js' | ||||
| import page from './page.js' | ||||
| 
 | ||||
| const routes = (app) => { | ||||
|   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 | ||||
|  | ||||
| @ -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