1.在soup-chicken.schema中建立用户id让发布内容与用户关联,这样在知道谁发布的内容
"properties": {
"_id": {
"description": "存储文档 ID(用户 ID),系统自动生成" //内容储存id生成
},
"user_id":{
"bsonType": "string",
"description": "作者id,可以参考uin-id-users表",
"foreignKey": "uni-id-users._id",
"defaultValue":{
"$env": "uid"
}
}
其中"foreignKey": "uni-id-users._id",是关联uni-id-users._id,这样我们现在发布的内容里面的数据就有我们的用户当前userid了
而如果关联表没有提供值,就会defaultValue默认用env云环境变量来提供uid
2.方便开发,在数据库自己的用户表中中加入 "role":["admin"],成为管理员,因为表结构里面用户角色是数组类型所以这样写
{
"wx_openid": {
"mp": "o51LL6_DfIOMkwIKb69miA_Kp2MY",
"mp___UNI__6A102F8": "o51LL6_DfIOMkwIKb69miA_Kp2MY"
},
"third_party": {
"mp_weixin": {
"session_key": "jdug+a7ClbOyuq7MTlAywg=="
}
},
"register_env": {
"appid": "__UNI__6A102F8",
"uni_platform": "mp-weixin",
"os_name": "ios",
"app_name": "鸡汤来咯",
"app_version": "1.0.0",
"app_version_code": "100",
"channel": "1001",
"client_ip": "127.0.0.1"
},
"register_date": 1722351004420,
"dcloud_appid": [
"__UNI__6A102F8"
],
"username": "游客7fsv55545",
"last_login_date": 1722601622743,
"last_login_ip": "127.0.0.1",
"token": [
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiI2NmE4ZmQ5ZWUwZWMxOTQzZWJmNjdhMzQiLCJyb2xlIjpbXSwicGVybWlzc2lvbiI6W10sInVuaUlkVmVyc2lvbiI6IjEuMC4xOCIsImlhdCI6MTcyMjU5OTQ1MSwiZXhwIjoxNzIyODU4NjUxfQ.QtFXmfVspS62GRLucD6fLR8y32x8DoYBFfbs1fXM__U",
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiI2NmE4ZmQ5ZWUwZWMxOTQzZWJmNjdhMzQiLCJyb2xlIjpbXSwicGVybWlzc2lvbiI6W10sInVuaUlkVmVyc2lvbiI6IjEuMC4xOCIsImlhdCI6MTcyMjU5OTQ3MiwiZXhwIjoxNzIyODU4NjcyfQ.ymfojJJDdXbbtzFXmwz6geSw2DlY8qyTak8CO34zS1w",
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiI2NmE4ZmQ5ZWUwZWMxOTQzZWJmNjdhMzQiLCJyb2xlIjpbXSwicGVybWlzc2lvbiI6W10sInVuaUlkVmVyc2lvbiI6IjEuMC4xOCIsImlhdCI6MTcyMjYwMDM4NSwiZXhwIjoxNzIyODU5NTg1fQ.3aHWvRTfn2L4HC2ojWk9tPfC0YePtEKPuug_nSPi_gA",
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiI2NmE4ZmQ5ZWUwZWMxOTQzZWJmNjdhMzQiLCJyb2xlIjpbXSwicGVybWlzc2lvbiI6W10sInVuaUlkVmVyc2lvbiI6IjEuMC4xOCIsImlhdCI6MTcyMjYwMDQwOCwiZXhwIjoxNzIyODU5NjA4fQ.-wHoQ_KVLUrdI46onBmN6DE04qFyxhZePkYJkfgDCPI",
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiI2NmE4ZmQ5ZWUwZWMxOTQzZWJmNjdhMzQiLCJyb2xlIjpbXSwicGVybWlzc2lvbiI6W10sInVuaUlkVmVyc2lvbiI6IjEuMC4xOCIsImlhdCI6MTcyMjYwMDY3MiwiZXhwIjoxNzIyODU5ODcyfQ.YC47cSdD6osA3_BfOhZDPCBNr3MSEOVxDWBThSEF138",
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiI2NmE4ZmQ5ZWUwZWMxOTQzZWJmNjdhMzQiLCJyb2xlIjpbXSwicGVybWlzc2lvbiI6W10sInVuaUlkVmVyc2lvbiI6IjEuMC4xOCIsImlhdCI6MTcyMjYwMDk4MSwiZXhwIjoxNzIyODYwMTgxfQ.fmDCko9imxf03Xy5K4AqzsAEjCWb3jPUGiyQSicTvfg",
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiI2NmE4ZmQ5ZWUwZWMxOTQzZWJmNjdhMzQiLCJyb2xlIjpbXSwicGVybWlzc2lvbiI6W10sInVuaUlkVmVyc2lvbiI6IjEuMC4xOCIsImlhdCI6MTcyMjYwMTA1NCwiZXhwIjoxNzIyODYwMjU0fQ.0gaCPg-YlSFiGr2NjaPtfSrSVE5ghrNqJQkG0DLgQBg",
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiI2NmE4ZmQ5ZWUwZWMxOTQzZWJmNjdhMzQiLCJyb2xlIjpbXSwicGVybWlzc2lvbiI6W10sInVuaUlkVmVyc2lvbiI6IjEuMC4xOCIsImlhdCI6MTcyMjYwMTIyNCwiZXhwIjoxNzIyODYwNDI0fQ.wmNh-Fh-VXGMfWB5tXeb3900oNDt7NCE0xVJQ49GKZs",
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiI2NmE4ZmQ5ZWUwZWMxOTQzZWJmNjdhMzQiLCJyb2xlIjpbXSwicGVybWlzc2lvbiI6W10sInVuaUlkVmVyc2lvbiI6IjEuMC4xOCIsImlhdCI6MTcyMjYwMTUzNywiZXhwIjoxNzIyODYwNzM3fQ.YfqldwJnoFPeDOXZFUk-jPxePBozs3fTHcbj0mpId-s",
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiI2NmE4ZmQ5ZWUwZWMxOTQzZWJmNjdhMzQiLCJyb2xlIjpbXSwicGVybWlzc2lvbiI6W10sInVuaUlkVmVyc2lvbiI6IjEuMC4xOCIsImlhdCI6MTcyMjYwMTYyMywiZXhwIjoxNzIyODYwODIzfQ.S2nbvP3syCzYUdtS9AKeVHUwZvnb4TSML0I1KbHTpYU"
],
"gender": 2,
"avatar": "https://mp-fa2cf1a5-2342-4992-bfcc-886723553f59.cdn.bspapp.com/userAvatar/2024-08-02/1722597569076.jpg",
"role":["admin"]
}
3.在tool.js中写一个用户角色是否是管理员的判断的工具
运用此方法能直接获取当前用户信息getCurrentUserInfo()
export function isAdminRole(){
if(uniCloud.getCurrentUserInfo().role.includes('admin')){
return true;
}else{
return false;
}
}
4.然后再edit中引用,如果是管理员则发布按钮不一样
<view class="body">
<button type="primary" v-if="isAdminRole()" :disabled="disabled ||statusDisabled" @click="onSubmit">发布鸡汤</button>
<button type="primary" v-else :disabled="disabled ||statusDisabled" @click="onSubmit">提交审核</button>
</view>