当前位置:   article > 正文

Spring Boot 笔记 028 文章列表

Spring Boot 笔记 028 文章列表

1.1 导入中文语言包

1.2 显示文章分类

  1. //回显文章分类
  2. import { articleCategoryListService } from '@/api/article.js'
  3. const articleCategoryList = async () => {
  4. let result = await articleCategoryListService();
  5. categorys.value = result.data;
  6. }
  7. articleCategoryList()

1.3.1 article.js增加文章列表接口

1.3.2 页面调用接口显示数据

  1. //回显文章分类
  2. import { articleCategoryListService , articleListService} from '@/api/article.js'
  3. const articleCategoryList = async () => {
  4. let result = await articleCategoryListService();
  5. categorys.value = result.data;
  6. }
  7. //获取文章列表数据
  8. const articleList = async () => {
  9. let params = {
  10. pageNum: pageNum.value,
  11. pageSize: pageSize.value,
  12. categoryId: categoryId.value ? categoryId.value : null,
  13. state: state.value ? state.value : null
  14. }
  15. let result = await articleListService(params);
  16. //渲染视图
  17. total.value = result.data.total;
  18. articles.value = result.data.items;
  19. //处理数据,给数据模型扩展一个属性categoryName,分类名称
  20. for (let i = 0; i < articles.value.length; i++) {
  21. let article = articles.value[i];
  22. for (let j = 0; j < categorys.value.length; j++) {
  23. if (article.categoryId == categorys.value[j].id) {
  24. article.categoryName = categorys.value[j].categoryName;
  25. }
  26. }
  27. }
  28. }
  29. articleCategoryList()
  30. articleList();

1.3.3 表单绑定categoryname

1.3.4 搜索按钮,重置按钮,分页按钮

  1. <el-form-item>
  2. <el-button type="primary" @click="articleList">搜索</el-button>
  3. <el-button @click="categoryId = ''; state = ''">重置</el-button>
  4. </el-form-item>
  1. //当每页条数发生了变化,调用此函数
  2. const onSizeChange = (size) => {
  3. pageSize.value = size
  4. articleList()
  5. }
  6. //当前页码发生变化,调用此函数
  7. const onCurrentChange = (num) => {
  8. pageNum.value = num
  9. articleList()
  10. }

1.4 添加文章按钮

1.4.1 编辑页面,绑定数据,添加样式

1.4.2 文本编辑器

1.4.2.1 安装vue-quill

npm install @vueup/vue-quill@latest --save

1.4.2.2 导入组件和样式

  1. import { QuillEditor } from '@vueup/vue-quill'
  2. import '@vueup/vue-quill/dist/vue-quill.snow.css'

1.4.2.3 使用quill组件

  1. <quill-editor
  2. theme="snow"
  3. v-model:content="articleModel.content"
  4. contentType="html"
  5. >
  6. </quill-editor>

1.4.2.4 样式美化

  1. .editor {
  2. width: 100%;
  3. :deep(.ql-editor) {
  4. min-height: 200px;
  5. }
  6. }

1.4.2.5 上传文章图片

1.4.2.5.1 导入token

1.4.2.5.2 上传代码编写

  1. <el-form-item label="文章封面">
  2. <!--
  3. auto-upload:设置是否自动上传
  4. action:设置服务器接口路径
  5. name:设置上传的文件字段名
  6. headers:设置上传的请求头
  7. on-success:设置上传成功的回调函数
  8. -->
  9. <el-upload class="avatar-uploader" :auto-upload="true" :show-file-list="false"
  10. action="/api/upload"
  11. name="file"
  12. :headers="{'Authorization':tokenStore.token}"
  13. :on-success="uploadSuccess"
  14. >
  15. <img v-if="articleModel.coverImg" :src="articleModel.coverImg" class="avatar" />
  16. <el-icon v-else class="avatar-uploader-icon">
  17. <Plus />
  18. </el-icon>
  19. </el-upload>
  20. </el-form-item>

1.4.2.5.3 uploadsuccess回调函数

1.4.2.6 添加文章

1.4.2.6.1 编写接口

1.4.2.6.2 页面中编写函数

1.4.6.3 调用函数

 

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/125546?site
推荐阅读
相关标签
  

闽ICP备14008679号