unicloud-db配合schema 权限控制使用说明

必须在查询时和 schema 设置相同的权限才可以正常显示,只设置一个就不能生效。。。。

1.unicloud-db查询时设置查询条件

例子:

<unicloud-db ref="udb" v-slot:default="{data, pagination, loading, hasMore, error}"
				:where="`article_status==1`"
				collection="opendb-news-articles" orderby="publish_date desc"
				field="user_id,category_id,title,content,excerpt,article_status,comment_status,last_comment_user_id,avatar,publish_date,last_modify_date,mode">
				<view v-if="error">{{error.message}}</view>
				<view v-else-if="data">
					<uni-list>
						<uni-list-item v-for="(item, index) in data" :key="index" showArrow :clickable="true"
							@click="handleItemClick(item._id,item.title)">
							<view slot="body">
								<!-- 此处默认显示为_id,请根据需要自行修改为其他字段 -->
								{{item.title}}
							</view>
						</uni-list-item>
					</uni-list>
				</view>
				<uni-load-more :status="loading?'loading':(hasMore ? 'more' : 'noMore')"></uni-load-more>
			</unicloud-db>

2.在对应操作的schema里面设置权限

"permission": {
		// "read": "doc.user_id == auth.uid && doc.article_status == 0 || doc.article_status == 1",
		// "create": "auth.uid != null",
		// "update": "doc.user_id == auth.uid",
		// "delete": "doc.user_id == auth.uid"
		// auth.uid != null  用户必须登录
		// doc.user_id == auth.uid  用户只能看自己的文章
		// doc.status==true   只读取发布状态的文章
		"read": "doc.article_status == true",
		"create": true,
		"update": true,
		"delete": true
	},

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注