區域管理

模塊列表

area

logic 邏輯碼

每個區域都有一個與之綁定且唯一的邏輯碼既 logic

logic 是一組字符串其長度爲2的整數倍,其字符內容只能是 0 到 9 的數字,長度最小爲2代表根節點(只能有一個),最大長度爲16

logic 體現了區域的父子關係,例如 成都的 logic 如果爲 51 則成都的子區域,錦江區的 logic 可能是 5101,錦江區下的華翰路的 logic 則可能是 510105。

area

此模塊提供了區域管理相關功能

函數列表

Add

Add 函數用於添加一個區域,其簽名如下:

rpc Add (AddRequest) returns (AddResponse){
    option (google.api.http) = {
        post: "/api/v1/meta/area"
        body: "*"
    };
}

http 路徑:

/api/v1/meta/area

權限要求: root(1) or area(201)

Import

Import 用於導入區域,其通常用於系統創建時管理員大規模的快速導入多個區域其簽名如下:

rpc Import (ImportRequest) returns (ImportResponse){
    option (google.api.http) = {
        post: "/api/v1/meta/area/import"
        body: "*"
    };
}

http 路徑:

/api/v1/meta/area/import

權限要求: root(1) or area(201)

ImportRequest.text 是要導入的內容,格式爲每行一個區域,區域邏輯碼和名稱使用空格間隔,例如:

510102 測試
510103 測試2
510104 測試3
51 成都
5101 錦江區
5102 青羊區

接口使用 json 編碼所以還需要將內容轉爲 json,你可以使用這個在線工具進行字符串到 json 的轉換

ImportFile

ImportFile 是爲了服務 http 接口特化的 Import 接口,ImportFile 直接接受一個上傳檔案將其內容轉爲 ImportRequest.text 傳輸給 Import 接口進行導入

http 路徑:

/api/v1/meta/area/import_file

權限要求: root(1) or area(201)

curl -X POST -F "attachment=@YourUploadFile" https://your_server/api/v1/meta/area/import_file

Export

ExportRequest 接受一個節點邏輯碼,將這個節點和其子節點全部導出爲下載檔案,這通常用與管理員備份區域,或者下載區域後進行大規模修改以便重新導入區域。其簽名如下:

rpc Export (ExportRequest) returns (google.api.HttpBody){
    option (google.api.http) = {
        get: "/api/v1/meta/area/export"
    };
}

http 路徑:

/api/v1/meta/area/export

權限要求: root(1) or area(201)

Change

Change 函數用於修改區域名稱,其簽名如下:

rpc Change (ChangeRequest) returns (ChangeResponse){
    option (google.api.http) = {
        patch: "/api/v1/meta/area"
        body: "*"
    };
}

http 路徑:

/api/v1/meta/area

權限要求: root(1) or area(201)

Disable

Disable 用於停用一個區域,同時它的子區域也會被停用。其簽名如下:

rpc Disable (DisableRequest) returns (DisableResponse){
    option (google.api.http) = {
        delete: "/api/v1/meta/area"
    };
}

http 路徑:

/api/v1/meta/area

權限要求: root(1) or area(201)

List

List 函數用於返回所有被啓用的區域信息,其簽名如下:

rpc List (ListRequest) returns (ListResponse){
    option (google.api.http) = {
        get: "/api/v1/meta/area/list"
    };
}

http 路徑:

/api/v1/meta/area/list

ListByLogic

ListByLogic 函數用於返回所有以指定邏輯碼開頭且被啓用的區域,這通常可以用於列出指定區域和其所有子區域,其簽名如下:

rpc ListByLogic (ListByLogicRequest) returns (ListResponse){
    option (google.api.http) = {
        get: "/api/v1/meta/area/list/by_logic"
    };
}

http 路徑:

/api/v1/meta/area/list/by_logic

ID

ID 函數用於返回指定 id 的區域信息,不論區域是否被停用只要存在就會返回。其簽名如下:

rpc ID (IDRequest) returns (IDResponse){
    option (google.api.http) = {
        get: "/api/v1/meta/area/by_id"
    };
}

http 路徑:

/api/v1/meta/area/by_id