Merge remote-tracking branch 'origin/test' into dev
This commit is contained in:
@@ -17,6 +17,56 @@ tags:
|
||||
- name: RBAC
|
||||
description: Platform and merchant role-permission management / 平台端与商户端角色权限管理
|
||||
paths:
|
||||
/api/merchant/v1/iam/profile:
|
||||
get:
|
||||
tags: [Merchant Tenant / 商户企业]
|
||||
summary: 查看当前登录用户个人资料
|
||||
responses:
|
||||
'200':
|
||||
description: 查询成功
|
||||
content:
|
||||
application/json:
|
||||
schema: {$ref: '#/components/schemas/PersonalProfileApiResponse'}
|
||||
'401': {$ref: '#/components/responses/Unauthorized'}
|
||||
'403': {$ref: '#/components/responses/Forbidden'}
|
||||
put:
|
||||
tags: [Merchant Tenant / 商户企业]
|
||||
summary: 修改当前登录用户普通资料
|
||||
description: 仅修改显示名称和邮箱;用户名、手机号必须走敏感标识接口。
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema: {$ref: '#/components/schemas/UpdatePersonalProfileRequest'}
|
||||
responses:
|
||||
'200':
|
||||
description: 修改成功
|
||||
content:
|
||||
application/json:
|
||||
schema: {$ref: '#/components/schemas/PersonalProfileApiResponse'}
|
||||
'400': {$ref: '#/components/responses/BadRequest'}
|
||||
'401': {$ref: '#/components/responses/Unauthorized'}
|
||||
'403': {$ref: '#/components/responses/Forbidden'}
|
||||
/api/merchant/v1/iam/profile/login-identifiers:
|
||||
put:
|
||||
tags: [Merchant Tenant / 商户企业]
|
||||
summary: 修改当前登录用户的用户名和手机号
|
||||
description: 仅允许当前非代登录用户修改本人标识,必须用当前密码重新认证;成功后全部 Token 和会话失效,需重新登录。权限为已认证客户本人,无额外权限码。
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema: {$ref: '#/components/schemas/ChangeLoginIdentifiersRequest'}
|
||||
responses:
|
||||
'200':
|
||||
description: 修改成功并已吊销会话
|
||||
content:
|
||||
application/json:
|
||||
schema: {$ref: '#/components/schemas/PersonalProfileApiResponse'}
|
||||
'400': {$ref: '#/components/responses/BadRequest'}
|
||||
'401': {$ref: '#/components/responses/Unauthorized'}
|
||||
'403': {$ref: '#/components/responses/Forbidden'}
|
||||
'409': {$ref: '#/components/responses/Conflict'}
|
||||
/api/platform/v1/iam/tenants/contact-phone-availability:
|
||||
get:
|
||||
tags: [Platform Tenant / 平台租户]
|
||||
@@ -924,6 +974,35 @@ components:
|
||||
ServiceUnavailable: {description: Authentication service unavailable / 认证服务不可用, content: {application/json: {schema: {$ref: '#/components/schemas/ApiResponse'}}}}
|
||||
UnprocessableEntity: {description: 参数校验失败, content: {application/json: {schema: {$ref: '#/components/schemas/ApiResponse'}}}}
|
||||
schemas:
|
||||
PersonalProfileResponse:
|
||||
type: object
|
||||
required: [userId, authUserId, username, displayName, phone]
|
||||
properties:
|
||||
userId: {type: string, pattern: '^\d+$'}
|
||||
authUserId: {type: string, pattern: '^\d+$'}
|
||||
username: {type: string, pattern: '^[A-Za-z][A-Za-z0-9_.@-]{3,63}$'}
|
||||
displayName: {type: string, maxLength: 64}
|
||||
phone: {type: string, pattern: '^1\d{10}$'}
|
||||
email: {type: string, format: email, nullable: true}
|
||||
UpdatePersonalProfileRequest:
|
||||
type: object
|
||||
required: [displayName]
|
||||
properties:
|
||||
displayName: {type: string, minLength: 1, maxLength: 64}
|
||||
email: {type: string, format: email, maxLength: 128, nullable: true}
|
||||
ChangeLoginIdentifiersRequest:
|
||||
type: object
|
||||
required: [username, phone, currentPassword]
|
||||
properties:
|
||||
username: {type: string, pattern: '^[A-Za-z][A-Za-z0-9_.@-]{3,63}$'}
|
||||
phone: {type: string, pattern: '^1\d{10}$'}
|
||||
currentPassword: {type: string, format: password, writeOnly: true}
|
||||
PersonalProfileApiResponse:
|
||||
allOf:
|
||||
- {$ref: '#/components/schemas/ApiResponse'}
|
||||
- type: object
|
||||
properties:
|
||||
data: {$ref: '#/components/schemas/PersonalProfileResponse'}
|
||||
ApiResponse:
|
||||
type: object
|
||||
required: [code, message, timestamp]
|
||||
@@ -1206,22 +1285,22 @@ components:
|
||||
reviewComment: {type: string}
|
||||
RequiredQualificationPackageRequest:
|
||||
type: object
|
||||
required: [tenantId, unifiedSocialCreditCode, businessLicenseDocumentUrl, replaceBusinessLicense, legalPersonIdDocumentUrl, replaceLegalPersonId]
|
||||
required: [tenantId, unifiedSocialCreditCode, businessLicenseDocumentUrl, replaceBusinessLicense]
|
||||
properties:
|
||||
tenantId: {type: string, pattern: '^\d+$'}
|
||||
unifiedSocialCreditCode: {type: string, pattern: '^[0-9A-Za-z]{18}$'}
|
||||
businessLicenseDocumentUrl: {type: string, minLength: 1}
|
||||
businessLicenseValidTo: {type: string, format: date, nullable: true}
|
||||
replaceBusinessLicense: {type: boolean}
|
||||
legalPersonIdDocumentUrl: {type: string, minLength: 1}
|
||||
legalPersonIdDocumentUrl: {type: string, minLength: 1, nullable: true, description: 法人身份证选填}
|
||||
legalPersonIdValidTo: {type: string, format: date, nullable: true}
|
||||
replaceLegalPersonId: {type: boolean}
|
||||
replaceLegalPersonId: {type: boolean, nullable: true, default: false}
|
||||
RequiredQualificationPackageResponse:
|
||||
type: object
|
||||
required: [businessLicenseQualificationId, legalPersonIdQualificationId, tenantStatus]
|
||||
required: [businessLicenseQualificationId, tenantStatus]
|
||||
properties:
|
||||
businessLicenseQualificationId: {type: string, pattern: '^\d+$'}
|
||||
legalPersonIdQualificationId: {type: string, pattern: '^\d+$'}
|
||||
legalPersonIdQualificationId: {type: string, pattern: '^\d+$', nullable: true}
|
||||
tenantStatus: {type: string, enum: [PROFILE_REQUIRED, REJECTED]}
|
||||
replacedBusinessLicenseDocumentUrl: {type: string, nullable: true}
|
||||
replacedLegalPersonIdDocumentUrl: {type: string, nullable: true}
|
||||
@@ -1317,7 +1396,7 @@ components:
|
||||
type: object
|
||||
required: [username, displayName, phone, tenantId, roleIds, password, status]
|
||||
properties:
|
||||
username: {type: string, minLength: 4, maxLength: 64}
|
||||
username: {type: string, pattern: '^[A-Za-z][A-Za-z0-9_.@-]{3,63}$'}
|
||||
displayName: {type: string, maxLength: 64}
|
||||
phone: {type: string, pattern: '^1\\d{10}$'}
|
||||
email: {type: string, format: email, maxLength: 128}
|
||||
@@ -1342,10 +1421,10 @@ components:
|
||||
properties:
|
||||
authUserId: {type: integer, format: int64, description: 兼容旧接口;填写后关联已有认证账号}
|
||||
userType: {type: string, enum: [INTERNAL, PLATFORM], description: 兼容旧接口,可省略}
|
||||
username: {type: string, minLength: 4, maxLength: 64}
|
||||
username: {type: string, pattern: '^[A-Za-z][A-Za-z0-9_.@-]{3,63}$'}
|
||||
password: {type: string, format: password, minLength: 8, maxLength: 64, writeOnly: true}
|
||||
displayName: {type: string, maxLength: 64}
|
||||
phone: {type: string, maxLength: 32}
|
||||
phone: {type: string, pattern: '^1\d{10}$'}
|
||||
email: {type: string, format: email, maxLength: 128}
|
||||
memberNo: {type: string, maxLength: 64}
|
||||
roleIds: {type: array, items: {type: integer, format: int64}}
|
||||
@@ -1354,7 +1433,7 @@ components:
|
||||
required: [displayName, memberNo, roleIds]
|
||||
properties:
|
||||
displayName: {type: string, maxLength: 64}
|
||||
phone: {type: string, maxLength: 32}
|
||||
phone: {type: string, pattern: '^1\d{10}$'}
|
||||
email: {type: string, format: email, maxLength: 128}
|
||||
memberNo: {type: string, maxLength: 64}
|
||||
roleIds: {type: array, items: {type: integer, format: int64}}
|
||||
@@ -1413,10 +1492,10 @@ components:
|
||||
type: object
|
||||
required: [username, password, displayName, memberType]
|
||||
properties:
|
||||
username: {type: string, minLength: 4, maxLength: 64}
|
||||
username: {type: string, pattern: '^[A-Za-z][A-Za-z0-9_.@-]{3,63}$'}
|
||||
password: {type: string, format: password, minLength: 8, maxLength: 64}
|
||||
displayName: {type: string, maxLength: 64}
|
||||
phone: {type: string, maxLength: 32}
|
||||
phone: {type: string, pattern: '^1\d{10}$'}
|
||||
email: {type: string, format: email, maxLength: 128}
|
||||
memberType: {type: string, enum: [EMPLOYEE]}
|
||||
memberNo: {type: string}
|
||||
@@ -1429,7 +1508,7 @@ components:
|
||||
required: [displayName, memberType]
|
||||
properties:
|
||||
displayName: {type: string, maxLength: 64}
|
||||
phone: {type: string, maxLength: 32}
|
||||
phone: {type: string, pattern: '^1\d{10}$'}
|
||||
email: {type: string, format: email, maxLength: 128}
|
||||
memberType: {type: string, enum: [EMPLOYEE]}
|
||||
memberNo: {type: string, maxLength: 64}
|
||||
|
||||
Reference in New Issue
Block a user