注册账号登录
关注

关于发布帖子之前的判断

有两个关于帖子发布之前判断逻辑的问题

1,目前帖子内容是空白的,也可以发布成功,这样不利于优质内容的积累。

在xiaoduyu.com\src\app\components\editor-posts\index.js中,有一段关于这个逻辑的代码,是被注释的状态,我将这部分去掉注释了

if (type._id == 2 || type._id == 3) {

let str = contentHTML.replace(/\s/ig,'')

str = str.replace(/<[^>]+>/g,"")

if (type._id == 2 && str.length == 0) return editorElement.focus()

if (type._id == 3 && str.length < 300) {

alert('文章正文内容不能少于300字')

editorElement.focus()

return

}

}

但是浏览器Console会报错,也没有任何提示

Uncaught (in promise) ReferenceError: type is not defined

at n.<anonymous> (18.df6938e254caa002d346.js:1)

at _ (vendor.df6938e254caa002d346.js:84)

at Generator._invoke (vendor.df6938e254caa002d346.js:84)

at Generator.e.(anonymous function) [as next] (http://localhost:4000/vendor.df6938e254caa002d346.js:84:122231)

at w (18.df6938e254caa002d346.js:1)

at a (18.df6938e254caa002d346.js:1)

at 18.df6938e254caa002d346.js:1

at new Promise (<anonymous>)

at n.<anonymous> (18.df6938e254caa002d346.js:1)

at n.<anonymous> (18.df6938e254caa002d346.js:1)

还请帮忙看看如何实现对帖子内容的判断?

2,目前帖子在修改24小时之后,就不让编辑了。

如果想去掉这个逻辑,或者增加限制时间,应该在哪里修改呢

2条评论 / 1条回复

问题1

contentHTML是帖子的显示内容,删除掉所有html标签,得到文本的长度,可以用于判断是否为空的逻辑。

let str = contentHTML.replace(/\s/ig,'')
str = str.replace(/<[^>]+>/g,"")
if (str.length == 0) return editorElement.focus()
if (str.length < 300) {
alert('文章正文内容不能少于300字')
editorElement.focus()
return
}

问题2

帖子限制编辑的逻辑代码

https://github.com/54sword/api.xiaoduyu.com/blob/master/src/graphql/models/posts/resolvers.ts#L521

评论与回复限制编辑的逻辑代码

https://github.com/54sword/api.xiaoduyu.com/blob/master/src/graphql/models/comment/resolvers.ts#L341

6月16日1 人赞
回复

谢谢。

原本被注释掉代码中

if (type._id == 2 || type._id == 3)

这部分适用于判断什么的呢?不太明白type._id是指什么

回复

type是用于帖子分类,以前的版本有说说和写文章,后面项目迭代中决定不分类了,所以这块代码就注解了

6月16日
回复
chorylee
关注私信
8
关注
2
粉丝
17
帖子