1,根据登录状态修复详情页H5和小程序bug
1.1 bug描述:
如果用户未登录时查看详情页,会出现错误。
1.2 修复方法–修改详情页代码如下:
加个likeTemp是否为空的判断。如果不为空,就去查询数据库,如果为空,不查询点赞表。
let artTemp = db.collection('quanzi_articles').where(`_id =="${this.artid}"`).getTemp()
let userTemp = db.collection('uni-id-users').field("_id,username,nickname,avatar_file").getTemp()
let likeTemp = db.collection("quanzi_like").where(`article_id=="${this.artid}" && user_id==$cloudEnv_uid`)
.getTemp();
let tempArr = [artTemp, userTemp];
if (store.hasLogin) tempArr.push(likeTemp)
db.collection(...tempArr).get({
....省略
let isLike = false;
if (store.hasLogin) isLike = res.result.data._id.quanzi_like.length ? true : false;
//是否点过赞 如果没有点赞记录,_id.quanzi_like数组长度为0 反正为1
// let isLike = res.result.data._id.quanzi_like.length ? true : false;
res.result.data.isLike = isLike;
....省略
2,用户未登录不能点赞的bug
2.1 bug描述:
如果用户发布的文章不带图片或者不带内容(只有文章标题)时,那么可能出现样式或者文章内容等字段为空的报错信息。
2.2 修复方案
引入pagejson:
import pageJson from "@/pages.json"
点赞方法修改:
//点击点赞方法
async clickLike() {
//判断登录后才对文章进行点赞
if (!store.hasLogin) {
uni.showModal({
title: "登录后才可进行后续操作",
success: res => {
if (res.confirm) {
uni.navigateTo({
url: "/" + pageJson.uniIdRouter.loginPage
})
}
}
})
return;
}
3,文章内容为空,文章没有图片的bug
3.1 bug描述
如果发布的文章中内容和图片都为空时,就会出现样式和某些字段不存在的错误。
3.2 修复方法:
修改代码如下:
blog-item子组件中:
<!-- 中 内容 -->
<view class="text" @click="goDetail" v-if="item.description">
<view class="t">{{item.description}}</view>
</view>
<!-- 下 缩略图 -->
<view class="piclist" v-if="item.picurls.length">
<view class="pic" :class="item.picurls.length==1 ? 'only': ''" v-for="(pic,index) in item.picurls" :key="index">
<image @click="clickPic(index)" :src="pic" mode="aspectFill"></image>
</view>
</view>
</view>
3.3 效果:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/135730.html