1. 数据库的状态

地球号核心资源遵循标准的状态编号

编号 名称 修改 说明
0 正常 可以 资源处于正常状态
1 冻结 不可 资源处于disable状态
2 下线 不可 资源处于offline状态,这个状态可以删除
3 删除 不可 资源处于被软删除状态

God/Admin/Ceo/Butler可以把资源设置为冻结,只有他们才可以解冻,这个就是上层控制下层的唯一方法。


[!note] 地球号同时维护硬删除和软删除两种删除。为了设计方便,要求各资源只有m5d是唯一的,其它name等都是可相同的,这样就可以维持软删除的唯一性。


graph TD; ENABLED(正常状态); DISABLED(冻结状态); OFFLINE(下线状态); DELETO(删除状态); ENABLED --关闭--> DISABLED; DISABLED --下线--> OFFLINE; OFFLINE --上线--> DISABLED; OFFLINE --删除--> DELETO; DELETO --回收--> OFFLINE; DISABLED --打开--> OFFLINE;
graph TD; ST_ENABLED; ST_DISABLED; ST_OFFLINE; ST_DELETO; ST_OFFLINE --DIS(God)--> ST_DISABLED; ST_ENABLED --DIS(God)--> ST_DISABLED; ST_ENABLED --OFF(None)--> ST_OFFLINE; ST_OFFLINE --PUB(None)--> ST_ENABLED; ST_OFFLINE --DOL(None)--> ST_DELETO; ST_DELETO --RCC(Root)--> ST_OFFLINE; ST_DISABLED --ENB(God)--> ST_OFFLINE;

graph LR; STATE_ENABLED; STATE_DISABLED; STATE_OFFLINE; STATE_DELETO;

style STATE_ENABLED fill:#0c0,stroke:#393,stroke-width:2px;
style STATE_DISABLED fill:#f00,stroke:#c00,stroke-width:2px;
style STATE_OFFLINE fill:#ccc,stroke:#999,stroke-width:2px;
style STATE_DELETO fill:#03f,stroke:#306,stroke-width:2px;

STATE_OFFLINE  --God.DIS --> STATE_DISABLED;
STATE_ENABLED  --God.DIS --> STATE_DISABLED;
STATE_ENABLED  --None.OFF--> STATE_OFFLINE;
STATE_OFFLINE  --None.PUB--> STATE_ENABLED;
STATE_OFFLINE  --None.DOL--> STATE_DELETO;
STATE_DELETO   --Root.RCC--> STATE_OFFLINE;
STATE_DISABLED --God.ENB --> STATE_OFFLINE;

</div>

[!note|label:详情和私详状态的区别] 私详只能是None发出,如果发起者没有None角色,即使拥有God角色,也不会返回。因为它仅仅服务于None角色,会返回一些只有None角色自己作为创建者能看到的字段。

results matching ""

    No results matching ""