Your description here.
1.创建当用户鸡汤内容不通过可以选择删除(伪删除,只是标记不显示属性)页面<view class="icon" v-if="item.status===2" @click.stop="clickRemove(item._id)"> <uni-icons type="trash" size="16"></uni-icons> </view> js(引用的方法import没写),一般处理数据就用异步同步化,这样能在处理完数据后再执行下面的操作 const clickRemove=async(id)=>{ let res =await uni.showModal({ title:"是否删除此条鸡汤", content:"删除之后无法恢复,请谨慎操作"
1.在我的鸡汤列表中只显示该用户写的鸡汤,所以才list查询中要用where定点查询该用户,where(user_id==$cloudEnv_uid)此处用的jql语法,$cloudEnv_uid是云环境变量,直接获取用户uid,避免了我们用storge再调用用户id传值进来查询,这样十分简便,中间这个是`,反引号await db.collection("soup-chicken").where(`user_id==$cloudEnv_uid`).field("publish_date,last_modify_date,content,soup_type,like_count,collect_count,comment_count,status").orderBy("last_modify_date", 'desc').limit(pageSize).skip(skip) 2.https://doc.dcloud.net.cn/uniCloud/jql.htmljql语法教程
1.为了给edit页面加上发布人的昵称和头像,所以需要进行soup-chiken表和uni-id-users表进行联表查询const getDetail =async()=>{let soupTemp =await db.collection("soup-chicken").where({_id:id}).getTemp(); let userTemp =await db.collection("uni-id-users").field("_id,username,avatar").getTemp(); let {result:{errCode,data}}= await db.collection(soupTemp,userTemp).get({getOne:true}); 先创建各自俩张表的temp,结尾要用getTemp();,第一张表就是用里面的值来匹配第二张表里面的用此值的数据表,field来获取需要的东西通过db.collection(soupTemp,userTemp)返回一个id与第一个表相同的里面
1.在soup-chicken.schema表中创建审核员字段"review_uid":{ "bsonType": "string", "description": "审核员id,可以参考uin-id-users表", "foreignKey": "uni-id-users._id", }, 再在eidt中加入,在修改保存时当是管理员时,就添加id到审核员字段if(isAdminRole()) _formDate.review_uid=userStore.userInfo._id; 2.使用触发器,代替自己写入更新时间last_modify_date:Date.now(),在修改时系统是不会自动更新更新时间的,需要自己写let _formDate={soup_type,status,content,from} 删除后edit里面使用触发器在database文件夹右击新建db sc
关掉自动加载<z-paging ref="paging" v-model="dataList" @query="queryList" :auto="false">定义一个对象const firstLoad =ref(false);用watch进行监听watch(()=>props.currentIndex,(nv,ov)=>{ //nv表示currentIndex现在的数据,ov是过去 if(nv==props.tabIndex){ if(!firstLoad.value){ //只有第一次可以,防止每页重复执行 nextTick(()=>{ //等上面的值被操作完成后才开始,就是执行了一次,下面那个函数会改变firstload的值,因为一直监听,所以我们等他完全改变再开始 setTimeout(()=>{ paging.value.rel
ikrins