飞道的博客

vue3+ts+node个人博客系统(三)

331人阅读  评论(0)

一.主页顶部和中心面板布局

(1) 首先先去element-plus选择合适的布局el-container

(2)在头部处编写相应的菜单栏el-menu,在这里要注意动态绑定路由的问题:default-active="$route.path"。将default-active设置为$route.path,el-menu-item的index设为要跳转的路由(并且点击菜单项,会直接push到点击的页面)。注意:一定要设置el-submenu的index属性(1,2,3…)。不然会出bug

 

, 

(3) 紧接着需要设计el-main中心的布局,同时需要满足点击不同菜单栏的时候,对应的el-main面板不一样,会跳转到对应的组件中


  
  1. <!-- 中间内容主体区域 -->
  2. <el-main>
  3. <!-- 路由占位符 -->
  4. <router-view> </router-view>
  5. </el-main>

 二、主页的中心面板的具体布局

(1)左侧的布局:分别是用el-card来包裹一个小组件 ,中心面板主要也是使用el-container里面的一种布局

 (2)中间的主要文章展示的布局

(3)最终的效果

三、获取所有的标签接口设计

(1)这里为了能够获取不同用户自己拥有的标签,所有需要上传相应的用户id


  
  1. / / 获取所有的标签
  2. exports.blogList = (req, res) = > {
  3. / /获取 tb_tag的全部标签信息
  4. var sql = ` select * from tb_tag where userid =${req.query.userid}` / /?用于占位
  5. db.query(sql, (err, data) = > {
  6. console.log( "sss", data)
  7. if(err) {
  8. return res. send( '错误:' + err.message)
  9. }
  10. res. send( data)
  11. })
  12. }

四、添加标签的接口设计

(1)在这里为了能够适应不同用户添加各自不同的标签,故在添加标签的时候需要把当前登录的用户的id当做一个条件


  
  1. / / 添加标签
  2. exports.addtag = (req, res) = > {
  3. / /获取 tb_tag的全部标签信息
  4. var sql = `INSERT into tb_tag VALUES ( null, '${req.body.params.name}', '${req.body.params.userid}')` / /?用于占位
  5. db.query(sql, (err, data) = > {
  6. if(err) {
  7. return res. send( '错误:' + err.message)
  8. }
  9. res. send( data)
  10. })
  11. }

六、获取所有的分类接口设计


  
  1. / / 获取所有分类
  2. exports.categoryList = (req, res) = > { / /获取 tb_cate的全部分类信息
  3. var sql = ` select * from tb_cate where userid =${req.query.userid}` / /?用于占位
  4. db.query(sql, (err, data) = > {
  5. if(err) {
  6. return res. send( '错误:' + err.message)
  7. }
  8. res. send( data)
  9. })
  10. }

七、添加分类接口设计


  
  1. / / 添加分类
  2. exports.addcategory = (req, res) = > {
  3. var sql = `INSERT into tb_cate VALUES ( null, '${req.body.params.name}', '${req.body.params.userid}')` / /?用于占位
  4. db.query(sql, (err, data) = > {
  5. if(err) {
  6. return res. send( '错误:' + err.message)
  7. }
  8. res. send( data)
  9. })
  10. }

八、删除相应的分类接口设计


  
  1. / / 删除分类
  2. exports.deleteCate =(req, res) = > {
  3. let id = req.body.params
  4. var sql =` DELETE FROM tb_cate WHERE id = ${id} ;`
  5. db.query(sql, (err, data) = > {
  6. if(err) {
  7. return res. send( '错误:' + err.message)
  8. }
  9. res. send( data)
  10. })
  11. }

九、获取所有的博客文章接口设计,同时带当前的页数和条数的参数


  
  1. exports.allblog = (req, res) = > {
  2. / /获取tb_blog表全部数据
  3. var sql = ` select * from tb_blog where userid =${req.query.userid}`
  4. db.query(sql, (err, data) = > {
  5. let curpage = Number(req.query.query.currentPage) / /当前页,前端传的页码
  6. let pagesize = req.query.query.pageSize / /每页显示的数量
  7. / / let sumpage =Math.ceil( data. length /pagesize) / /返一个总页码
  8. let sumpage = data. length / /返一个总页码
  9. console.log(req.query.username)
  10. if(err) {
  11. return res. send( '错误:' + err.message)
  12. } else {
  13. if (curpage = = '') {
  14. / / console.log( data.splice( 0,pagesize))
  15. / /这里是前端未传参数默认返第一页数据
  16. data = data.splice( 0,pagesize) / /利用数组方法截取数据
  17. res. send({
  18. data,sumpage
  19. }
  20. )
  21. }
  22. else{
  23. / /这里是前端传参数返回的数据
  24. data = data.splice((curpage - 1) * pagesize, pagesize) / /利用数组方法截取数据
  25. / / console.log( data.splice((curpage - 1) * 4, pagesize))
  26. res. send(
  27. {
  28. data,sumpage
  29. }
  30. )
  31. }
  32. }
  33. })
  34. }

十、删除对应博客文章接口设计


  
  1. exports. delete =(req, res) = > {
  2. let id = req.body.params
  3. var sql =` DELETE FROM tb_blog WHERE id = ${id} ;`
  4. db.query(sql, (err, data) = > {
  5. if(err) {
  6. return res. send( '错误:' + err.message)
  7. }
  8. res. send( data)
  9. })
  10. }

十一、模糊查询接口设计


  
  1. exports.look =(req, res) = > {
  2. let title = req.body.params.title
  3. let userid =req.body.params.userid
  4. var sql =` SELECT * FROM tb_blog WHERE userid =${userid} and title LIKE '%${title}%'`
  5. db.query(sql, (err, data) = > {
  6. let curpage = Number(req.body.params. page.currentPage) / /当前页,前端传的页码
  7. let pagesize = req.body.params. page.pageSize / /每页显示的数量
  8. / / let sumpage =Math.ceil( data. length /pagesize) / /返一个总页码
  9. let sumpage = data. length / /返一个总页码
  10. if (err) {
  11. return res. send( '错误:' + err.message)
  12. }
  13. else {
  14. if (curpage = = '') {
  15. / / console.log( data.splice( 0,pagesize))
  16. / /这里是前端未传参数默认返第一页数据
  17. data = data.splice( 0, pagesize) / /利用数组方法截取数据
  18. res. send({
  19. data, sumpage
  20. }
  21. )
  22. }
  23. else {
  24. / /这里是前端传参数返回的数据
  25. data = data.splice((curpage - 1) * pagesize, pagesize) / /利用数组方法截取数据
  26. / / console.log( data.splice((curpage - 1) * 4, pagesize))
  27. res. send(
  28. {
  29. data, sumpage
  30. }
  31. )
  32. }
  33. }
  34. });
  35. }


转载:https://blog.csdn.net/qq_55928824/article/details/129115444
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场