操作数据库
先链接数据库,然后写一个向数据库增加数据的方法addData
,在点击提交方法中调用
<script>
import {getImgSrc,getProvince} from "@/utils/tools.js"
const db=uniCloud.database()
methods:{
// 点击按钮 提交内容
onSubmit(){
this.editorCtx.getContents({
success:res=>{
// 截取正文的前50个字符作为摘要
this.artObj.description = res.text.slice(0,80)
this.artObj.content = res.html;
// 通过引入的正则表达式方法截取出图片url
// 第二个参数是默认3,获取3张图的url,这里如果是3可以不写,其他的数就需要写
this.artObj.picurls=getImgSrc(res.html);
console.log(this.artObj);
this.addData();
}
})
},
// 向数据库提交数据
addData(){
db.collection("quanzi_article").add({
// this.artObj是一个对象,在这里把他展开
...this.artObj
}).then(res=>{
console.log(res);
})
},
现在数据库中没有这张表,需要自己创建
点击提交数据后
加一个提示功能 点击按钮提交后,弹出弹窗提示发布中,提交成功后,在向数据库添加数据的方法中隐藏弹窗,并再次提示发布成功
// 点击按钮 提交内容
onSubmit(){
this.editorCtx.getContents({
success:res=>{
// 截取正文的前50个字符作为摘要
this.artObj.description = res.text.slice(0,80)
this.artObj.content = res.html;
// 通过引入的正则表达式方法截取出图片url
// 第二个参数是默认3,获取3张图的url,这里如果是3可以不写,其他的数就需要写
this.artObj.picurls=getImgSrc(res.html);
uni.showToast({
title:"发布中..."
})
this.addData();
}
})
},
// 向数据库提交数据
addData(){
db.collection("quanzi_article").add({
// this.artObj是一个对象,在这里把他展开
...this.artObj
}).then(res=>{
// 上传成功后,取消弹窗显示
uni.hideLoading()
// 弹窗提示发布成功
uni.showToast({
title:"发布成功"
})
})
},
发布成功后跳转到首页 在pages.json中把首页提到前面,方便测试
在quanzi_article.scheam中,需要给阅读量字段view_count
添加初始值,使得一增加内容,就有一个初始的阅读量存在,加一个默认初始值
"view_count": {
"bsonType": "int",
"title": "阅读数量",
"description": "阅读数量",
"defaultValue":55,
"permission": {
"write": false
}
},
点赞数也加一个默认值,但不写初始值, 写一个初始值就是作假的,这个字段需要记录哪些用户进行了点赞,所以如实记录
"like_count": {
"bsonType": "int",
"description": "喜欢数、点赞数",
"defaultValue":0,
"permission": {
"write": false
}
},
评论数加默认值
"comment_count": {
"bsonType": "int",
"description": "评论数量",
"defaultValue":0,
"permission": {
"write": false
}
},