发表文章时状态码500,专栏图片丢失,以及文章详情需要重新刷新后才能出现

来源:10-1 添加编辑和删除区域

慕丝3211513

2022-02-19

出现了一些bug希望老师帮忙看一下
仓库地址:https://gitee.com/bent-on-false-learning/zheye

写回答

1回答

张轩

2022-02-20

同学你好 

1 发布文章 500,不能传入 createdAt 字段,这个字段是后端 mongo 直接生成的,而且是 Date 类型,你传入的是 string 类型,删除以后发布就成功了

const newPost: PostProps = {
    title: titleVal.value,
    content: contentVal.value,
    column,
    // 下面这行删除掉
    // createdAt: new Date().toLocaleString(),
    author: _id
}

2 专栏以及 POST 列表图片不显示

专栏头图使用 addColumnAvatar 函数

PostList 组件当中 应该使用生成的 fitURL 字段

// 头图 ColumnDetail
if (selectColumn) {
    generateFitUrl(selectColumn, 100, 100)
}
// 改成
if (selectColumn) {
    addColumnAvatar(selectColumn, 100, 100)
}
// PostList
<div v-if="post.image && typeof post.image !== 'string'" class="col-4">
    <img :src="post.image.fitUrl" :alt="post.title" class="rounded-lg w-100">
</div>

3 文章详情刷新才能出来

是因为 第一次 进去出现了一个错误,打开 console 就能看见,因为 avatar 在取 column 的时候是一个字符串类型,并没有连表查询。

这里要做一个判断,在它重新取得数据,变成 object 以后在显示。

// PostDetail
// 注意加的 v-if
<user-profile :user="currentPost.author" v-if="typeof currentPost.author === 'object'"></user-profile>

亲测有效,全部修正~

0
1
慕丝3211513
非常感谢!
2022-02-20
共1条回复

Vue3 + TS 仿知乎专栏企业级项目

带你完成前后端分离复杂项目,率先掌握 vue3 造轮子技能

3142 学习 · 2313 问题

查看课程