feat(users): integrate user info and services APIs into 3-tab detail panel with proper padding
This commit is contained in:
+302
-27
@@ -50,7 +50,7 @@ export interface paths {
|
||||
content: {
|
||||
"application/json": {
|
||||
/**
|
||||
* @example all
|
||||
* @example archived
|
||||
* @enum {string|null}
|
||||
*/
|
||||
state?: "active" | "archived" | "trashed" | "all" | null;
|
||||
@@ -4371,7 +4371,7 @@ export interface paths {
|
||||
/** @example architecto */
|
||||
status?: string | null;
|
||||
/**
|
||||
* @example scheduled_booking
|
||||
* @example manual_selection
|
||||
* @enum {string|null}
|
||||
*/
|
||||
dispatch_mode?: "instant_accept" | "quote" | "scheduled_booking" | "manual_selection" | null;
|
||||
@@ -4879,12 +4879,12 @@ export interface paths {
|
||||
content: {
|
||||
"application/json": {
|
||||
/**
|
||||
* @example consumed
|
||||
* @example confirmed
|
||||
* @enum {string|null}
|
||||
*/
|
||||
status?: "created" | "confirmed" | "started" | "consumed" | "paid" | "fulfilled" | "canceled" | null;
|
||||
/**
|
||||
* @example UNPAID
|
||||
* @example PAID
|
||||
* @enum {string|null}
|
||||
*/
|
||||
payment_status?: "UNPAID" | "PAID" | null;
|
||||
@@ -5167,7 +5167,7 @@ export interface paths {
|
||||
* @enum {string|null}
|
||||
*/
|
||||
status?: "offline" | "online" | "inactive" | "busy" | null;
|
||||
/** @example false */
|
||||
/** @example true */
|
||||
is_disabled?: boolean | null;
|
||||
/** @example false */
|
||||
is_verified?: boolean | null;
|
||||
@@ -5448,12 +5448,12 @@ export interface paths {
|
||||
content: {
|
||||
"application/json": {
|
||||
/**
|
||||
* @example public
|
||||
* @example friends
|
||||
* @enum {string|null}
|
||||
*/
|
||||
visibility?: "public" | "friends" | "private" | null;
|
||||
/**
|
||||
* @example blocked
|
||||
* @example all
|
||||
* @enum {string|null}
|
||||
*/
|
||||
status?: "blocked" | "visible" | "all" | null;
|
||||
@@ -5779,7 +5779,7 @@ export interface paths {
|
||||
content: {
|
||||
"application/json": {
|
||||
/**
|
||||
* @example pending
|
||||
* @example all
|
||||
* @enum {string|null}
|
||||
*/
|
||||
status?: "pending" | "blocked" | "all" | null;
|
||||
@@ -6158,7 +6158,7 @@ export interface paths {
|
||||
path: {
|
||||
/**
|
||||
* @description The ID of the category.
|
||||
* @example 5a37db21-5a9a-4438-8b4a-f0c80fc4f29e
|
||||
* @example 2912b591-09f0-4c14-9190-866abd51cbee
|
||||
*/
|
||||
category_id: string;
|
||||
};
|
||||
@@ -6181,7 +6181,7 @@ export interface paths {
|
||||
path: {
|
||||
/**
|
||||
* @description The ID of the category.
|
||||
* @example 5a37db21-5a9a-4438-8b4a-f0c80fc4f29e
|
||||
* @example 2912b591-09f0-4c14-9190-866abd51cbee
|
||||
*/
|
||||
category_id: string;
|
||||
};
|
||||
@@ -6204,7 +6204,7 @@ export interface paths {
|
||||
path: {
|
||||
/**
|
||||
* @description The ID of the category.
|
||||
* @example 5a37db21-5a9a-4438-8b4a-f0c80fc4f29e
|
||||
* @example 2912b591-09f0-4c14-9190-866abd51cbee
|
||||
*/
|
||||
category_id: string;
|
||||
};
|
||||
@@ -6281,7 +6281,7 @@ export interface paths {
|
||||
path: {
|
||||
/**
|
||||
* @description The ID of the category.
|
||||
* @example 5a37db21-5a9a-4438-8b4a-f0c80fc4f29e
|
||||
* @example 2912b591-09f0-4c14-9190-866abd51cbee
|
||||
*/
|
||||
category_id: string;
|
||||
/**
|
||||
@@ -6312,7 +6312,7 @@ export interface paths {
|
||||
path: {
|
||||
/**
|
||||
* @description The ID of the category.
|
||||
* @example 5a37db21-5a9a-4438-8b4a-f0c80fc4f29e
|
||||
* @example 2912b591-09f0-4c14-9190-866abd51cbee
|
||||
*/
|
||||
category_id: string;
|
||||
/**
|
||||
@@ -6678,6 +6678,281 @@ export interface paths {
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/api/admin/v1/users/{uid}/info": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path: {
|
||||
/** @example architecto */
|
||||
uid: string;
|
||||
};
|
||||
cookie?: never;
|
||||
};
|
||||
/**
|
||||
* [用户信息查看] 用户资料详情
|
||||
* @description 返回用户账号信息、个人资料、工作经历、教育经历、荣誉与地址。
|
||||
*/
|
||||
get: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path: {
|
||||
/** @example architecto */
|
||||
uid: string;
|
||||
};
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": {
|
||||
/** @example true */
|
||||
success?: boolean;
|
||||
data?: {
|
||||
user?: {
|
||||
/** @example user */
|
||||
kind?: string;
|
||||
/** @example 01HQ8M4Z2A3B5C6D7E8F9G0H1I2J3K4L */
|
||||
uid?: string;
|
||||
/** @example [email protected] */
|
||||
email?: string;
|
||||
/** @example true */
|
||||
status?: boolean;
|
||||
};
|
||||
profile?: {
|
||||
/** @example user_profile */
|
||||
kind?: string;
|
||||
/** @example 01HQ8M4Z2A3B5C6D7E8F9G0H1I2J3K4L */
|
||||
user_uid?: string;
|
||||
/** @example 张三 */
|
||||
computed_fullname?: string;
|
||||
};
|
||||
/** @example [] */
|
||||
careers?: unknown[];
|
||||
/** @example [] */
|
||||
educations?: unknown[];
|
||||
/** @example [] */
|
||||
honors?: unknown[];
|
||||
/**
|
||||
* @example [
|
||||
* {
|
||||
* "kind": "user_address",
|
||||
* "contact_name": "张三",
|
||||
* "contact_phone_number": "13800000000"
|
||||
* }
|
||||
* ]
|
||||
*/
|
||||
addresses?: {
|
||||
/** @example user_address */
|
||||
kind?: string;
|
||||
/** @example 张三 */
|
||||
contact_name?: string;
|
||||
/** @example 13800000000 */
|
||||
contact_phone_number?: string;
|
||||
}[];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
403: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": {
|
||||
/** @example false */
|
||||
success?: boolean;
|
||||
/** @example FORBIDDEN */
|
||||
code?: string;
|
||||
/** @example 您无权访问此资源。 */
|
||||
message?: string;
|
||||
};
|
||||
};
|
||||
};
|
||||
404: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": {
|
||||
/** @example false */
|
||||
success?: boolean;
|
||||
/** @example NOT_FOUND */
|
||||
code?: string;
|
||||
/** @example 用户不存在 */
|
||||
message?: string;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
put?: never;
|
||||
post?: never;
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/api/admin/v1/users/{uid}/services": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path: {
|
||||
/** @example architecto */
|
||||
uid: string;
|
||||
};
|
||||
cookie?: never;
|
||||
};
|
||||
/**
|
||||
* [提供服务查看] 用户提供的服务
|
||||
* @description 返回用户全部专长及服务变体,包含已上架与未上架服务。
|
||||
*/
|
||||
get: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path: {
|
||||
/** @example architecto */
|
||||
uid: string;
|
||||
};
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": {
|
||||
/** @example true */
|
||||
success?: boolean;
|
||||
data?: {
|
||||
/**
|
||||
* @example [
|
||||
* {
|
||||
* "id": 1,
|
||||
* "kind": "expertise",
|
||||
* "name": "清洗空调",
|
||||
* "description": "空调深度清洗",
|
||||
* "tags": [
|
||||
* "家电"
|
||||
* ],
|
||||
* "user_uid": "01HQ8M4Z2A3B5C6D7E8F9G0H1I2J3K4L",
|
||||
* "services": [
|
||||
* {
|
||||
* "id": 1,
|
||||
* "kind": "expertise_service",
|
||||
* "service_type": "onsite",
|
||||
* "charge_type": "time",
|
||||
* "price": 12900,
|
||||
* "currency_code": "CNY",
|
||||
* "duration": 90,
|
||||
* "enabled": true
|
||||
* }
|
||||
* ]
|
||||
* }
|
||||
* ]
|
||||
*/
|
||||
expertises?: {
|
||||
/** @example 1 */
|
||||
id?: number;
|
||||
/** @example expertise */
|
||||
kind?: string;
|
||||
/** @example 清洗空调 */
|
||||
name?: string;
|
||||
/** @example 空调深度清洗 */
|
||||
description?: string;
|
||||
/**
|
||||
* @example [
|
||||
* "家电"
|
||||
* ]
|
||||
*/
|
||||
tags?: string[];
|
||||
/** @example 01HQ8M4Z2A3B5C6D7E8F9G0H1I2J3K4L */
|
||||
user_uid?: string;
|
||||
/**
|
||||
* @example [
|
||||
* {
|
||||
* "id": 1,
|
||||
* "kind": "expertise_service",
|
||||
* "service_type": "onsite",
|
||||
* "charge_type": "time",
|
||||
* "price": 12900,
|
||||
* "currency_code": "CNY",
|
||||
* "duration": 90,
|
||||
* "enabled": true
|
||||
* }
|
||||
* ]
|
||||
*/
|
||||
services?: {
|
||||
/** @example 1 */
|
||||
id?: number;
|
||||
/** @example expertise_service */
|
||||
kind?: string;
|
||||
/** @example onsite */
|
||||
service_type?: string;
|
||||
/** @example time */
|
||||
charge_type?: string;
|
||||
/** @example 12900 */
|
||||
price?: number;
|
||||
/** @example CNY */
|
||||
currency_code?: string;
|
||||
/** @example 90 */
|
||||
duration?: number;
|
||||
/** @example true */
|
||||
enabled?: boolean;
|
||||
}[];
|
||||
}[];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
403: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": {
|
||||
/** @example false */
|
||||
success?: boolean;
|
||||
/** @example FORBIDDEN */
|
||||
code?: string;
|
||||
/** @example 您无权访问此资源。 */
|
||||
message?: string;
|
||||
};
|
||||
};
|
||||
};
|
||||
404: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": {
|
||||
/** @example false */
|
||||
success?: boolean;
|
||||
/** @example NOT_FOUND */
|
||||
code?: string;
|
||||
/** @example 用户不存在 */
|
||||
message?: string;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
put?: never;
|
||||
post?: never;
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/api/admin/v1/sid/rules": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
@@ -7074,10 +7349,10 @@ export interface paths {
|
||||
get?: never;
|
||||
put?: never;
|
||||
/**
|
||||
* 分配用户 SID
|
||||
* [用户SID] 分配用户 SID
|
||||
* @description 管理员为用户分配或覆盖 SID。
|
||||
*/
|
||||
post: operations["SID"];
|
||||
post: operations["SIDSID"];
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
@@ -7143,7 +7418,7 @@ export interface paths {
|
||||
q?: string | null;
|
||||
/** @example true */
|
||||
status?: boolean | null;
|
||||
/** @example false */
|
||||
/** @example true */
|
||||
is_robot?: boolean | null;
|
||||
/**
|
||||
* @description Must not be greater than 100 characters.
|
||||
@@ -8302,7 +8577,7 @@ export interface paths {
|
||||
content: {
|
||||
"application/json": {
|
||||
/**
|
||||
* @example all
|
||||
* @example pending
|
||||
* @enum {string|null}
|
||||
*/
|
||||
status?: "pending" | "blocked" | "all" | null;
|
||||
@@ -8665,11 +8940,11 @@ export interface paths {
|
||||
content: {
|
||||
"application/json": {
|
||||
/**
|
||||
* @example desktop
|
||||
* @example android
|
||||
* @enum {string|null}
|
||||
*/
|
||||
platform?: "ios" | "android" | "web" | "desktop" | null;
|
||||
/** @example false */
|
||||
/** @example true */
|
||||
is_online?: boolean | null;
|
||||
/**
|
||||
* @description Must be at least 1.
|
||||
@@ -9039,7 +9314,7 @@ export interface operations {
|
||||
path: {
|
||||
/**
|
||||
* @description The ID of the category.
|
||||
* @example 5a37db21-5a9a-4438-8b4a-f0c80fc4f29e
|
||||
* @example 2912b591-09f0-4c14-9190-866abd51cbee
|
||||
*/
|
||||
category_id: string;
|
||||
};
|
||||
@@ -9055,7 +9330,7 @@ export interface operations {
|
||||
path: {
|
||||
/**
|
||||
* @description The ID of the category.
|
||||
* @example 5a37db21-5a9a-4438-8b4a-f0c80fc4f29e
|
||||
* @example 2912b591-09f0-4c14-9190-866abd51cbee
|
||||
*/
|
||||
category_id: string;
|
||||
};
|
||||
@@ -9071,7 +9346,7 @@ export interface operations {
|
||||
path: {
|
||||
/**
|
||||
* @description The ID of the category.
|
||||
* @example 5a37db21-5a9a-4438-8b4a-f0c80fc4f29e
|
||||
* @example 2912b591-09f0-4c14-9190-866abd51cbee
|
||||
*/
|
||||
category_id: string;
|
||||
};
|
||||
@@ -9389,7 +9664,7 @@ export interface operations {
|
||||
path: {
|
||||
/**
|
||||
* @description The ID of the category.
|
||||
* @example 5a37db21-5a9a-4438-8b4a-f0c80fc4f29e
|
||||
* @example 2912b591-09f0-4c14-9190-866abd51cbee
|
||||
*/
|
||||
category_id: string;
|
||||
/**
|
||||
@@ -9452,7 +9727,7 @@ export interface operations {
|
||||
path: {
|
||||
/**
|
||||
* @description The ID of the category.
|
||||
* @example 5a37db21-5a9a-4438-8b4a-f0c80fc4f29e
|
||||
* @example 2912b591-09f0-4c14-9190-866abd51cbee
|
||||
*/
|
||||
category_id: string;
|
||||
/**
|
||||
@@ -9521,7 +9796,7 @@ export interface operations {
|
||||
path: {
|
||||
/**
|
||||
* @description The ID of the category.
|
||||
* @example 5a37db21-5a9a-4438-8b4a-f0c80fc4f29e
|
||||
* @example 2912b591-09f0-4c14-9190-866abd51cbee
|
||||
*/
|
||||
category_id: string;
|
||||
/**
|
||||
@@ -9617,7 +9892,7 @@ export interface operations {
|
||||
path: {
|
||||
/**
|
||||
* @description The ID of the category.
|
||||
* @example 5a37db21-5a9a-4438-8b4a-f0c80fc4f29e
|
||||
* @example 2912b591-09f0-4c14-9190-866abd51cbee
|
||||
*/
|
||||
category_id: string;
|
||||
/**
|
||||
@@ -9704,7 +9979,7 @@ export interface operations {
|
||||
};
|
||||
};
|
||||
};
|
||||
SID: {
|
||||
SIDSID: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
|
||||
Reference in New Issue
Block a user