ServiceUser
最后更新:2026年7月3日
ServiceUser 是通过 ServiceLogin 注册的产品 end-user,也就是会员账号。它与 Weegloo 平台账号(登录内容工作室的 Weegloo User)是相互独立的身份,ServiceUser 的令牌针对 ACMA/ACDA 进行认证。
ServiceUser 在会员通过 ServiceLogin 自行注册时创建。因此该 API 没有创建和删除端点,只有查询以及由管理员(Weegloo User)执行的部分修改。
资源结构
下面是单个 ServiceUser 的单条查询响应。除了 sys(系统属性)之外,它还具有承载会员展示信息和权限设置的本体属性 nickname、avatarUrl、roleOverride、enableLogin、isAdmin。
{
"sys": {
"id": "3trmXRM3RqbgSnifyg7PSusr01Ex",
"type": "ServiceUser",
"space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
"provider": "google",
"email": "buyer@example.com",
"createdAt": "2026-06-18T12:50:00.000Z",
"updatedAt": "2026-06-18T12:50:00.000Z"
},
"nickname": "常客",
"avatarUrl": "https://lh3.example.com/a/buyer-avatar",
"roleOverride": null,
"enableLogin": true,
"isAdmin": false
}主要键:
sys.email:会员注册时使用的电子邮件地址。它与sys.provider一起表示使用哪个账号进行了注册。sys.provider:注册时使用的 OAuth 提供商(例如google)。roleOverride:仅为该会员指定另一个 ServiceUserRole 时填入的Refer。为空(null)时则沿用 ServiceLogin 的默认角色。isAdmin:开启后,该会员可以删除其他会员创建的资源。这是一项受限权限,不会授予对其他会员资源的修改和读取权限。
系统属性 (sys)
每个 ServiceUser 都在 sys 对象中承载通用系统属性。space 以 Refer 形态({ "sys": { "id", "type": "Refer", "targetType" } })填入。
| 属性 | 类型 | 说明 |
|---|---|---|
id | string | 资源唯一标识符。 |
type | string | 资源种类。ServiceUser 始终为 "ServiceUser"。 |
space | Refer<Space> | 该 ServiceUser 所属的 Space。 |
provider | string | 注册时使用的 OAuth 提供商(例如 google)。 |
email | string | 注册时使用的电子邮件地址。 |
createdAt | string (date-time) | 注册(创建)时间。 |
updatedAt | string (date-time) | 最后修改时间。 |
ServiceUser 是会员通过自行注册创建的资源,因此与其他 CMA 资源不同,sys 中没有 createdBy、updatedBy、version。由于没有 version,修改(PUT、PATCH)时也不发送 X-Weegloo-Version 头。它也没有发布概念,因此没有 publish、archive、status。
本体属性
| 属性 | 类型 | 说明 |
|---|---|---|
nickname | string | 会员展示名称。 |
avatarUrl | string | 头像图片地址(可选)。 |
roleOverride | Refer<ServiceUserRole> | 仅为该会员指定的 ServiceUserRole(可选)。指定后将优先于 ServiceLogin 的默认角色。 |
enableLogin | boolean | 是否允许登录。关闭后将阻止该会员登录。 |
isAdmin | boolean | 开启后可删除其他会员创建的资源。这是一项受限权限,不会授予对其他会员资源的修改和读取权限。 |
会员管理
ServiceUser 通过注册产生,因此没有创建端点,也没有删除端点。管理员(Weegloo User)可以通过修改(PUT、PATCH)调整的内容有以下三项。
- 指定/解除
roleOverride:仅为特定会员指定另一个 ServiceUserRole。用于像付费等级、版主、Beta 分组那样仅对单个会员区别对待的场景。指定的roleOverride优先于 ServiceLogin 的defaultRole。 - 切换
enableLogin:关闭后将阻止该会员登录。 - 切换
isAdmin:开启后,为了便于审核,该会员可以删除其他会员创建的资源。
isAdmin 是仅追加对其他会员资源的删除权限的受限标志。它不会授予对其他会员资源的修改和读取权限,也不会将该会员提升为 Weegloo 内容工作室管理员(CMA 管理员)。此外,它也不会开放会员所持 ServiceUserRole 本就不允许的操作。
API
下面所有端点的基准 URL 均为 https://cma.weegloo.com/v1,并且需要在 Authorization 头中提供用于对 CMA 进行认证的 Bearer 令牌。ServiceUser 是没有 version 的资源,因此修改(PUT、PATCH)时也不发送 X-Weegloo-Version 头。没有创建和删除端点(通过注册创建)。
相关文档
- ServiceUserRole:分配给
roleOverride的权限集合。 - ServiceLogin:会员注册及默认角色(
defaultRole)设置。 - ACMA/ACDA 概述:ServiceUser 调用的 API。
