{"openapi":"3.1.0","info":{"title":"zeroweb-service-open","version":"v1"},"servers":[{"url":"http://localhost:10011","description":"Generated server url"}],"tags":[{"name":"subscription-call-http-endpoint","description":"订阅服务调用记录"},{"name":"third-party-app-member-http-endpoint","description":"第三方应用成员管理"},{"name":"subscription-http-endpoint","description":"接口订阅管理"},{"name":"openapi-http-endpoint","description":"对外接口管理"},{"name":"third-party-app-http-endpoint","description":"第三方应用管理"},{"name":"metadata-http-endpoint","description":"服务自省"}],"paths":{"/call/{openapiCode}":{"get":{"tags":["subscription-call-http-endpoint"],"summary":"转发 GET 请求","description":"转发 GET 请求","operationId":"forwardForSafe","parameters":[{"name":"openapiCode","in":"path","description":"对外接口编码","required":true,"schema":{"type":"string","minLength":1}},{"name":"X-Access-Key","in":"header","description":"用于标识一个第三方应用","required":true,"schema":{"type":"string"}},{"name":"X-Timestamp","in":"header","description":"摘要生成时间","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"X-Signature","in":"header","description":"请求体摘要","required":true,"schema":{"type":"string"}},{"name":"headers","in":"header","description":"请求头","required":true,"schema":{"$ref":"#/components/schemas/HttpHeaders"}}],"requestBody":{"description":"请求体","content":{"application/json":{"schema":{"type":"string","format":"byte"}}}},"responses":{"200":{"description":"响应内容","content":{"*/*":{"schema":{"type":"string","format":"byte"}}}}}},"put":{"tags":["subscription-call-http-endpoint"],"summary":"转发非 GET 请求","description":"转发非 GET 请求","operationId":"forwardForUnsafe_1","parameters":[{"name":"openapiCode","in":"path","description":"对外接口编码","required":true,"schema":{"type":"string","minLength":1}},{"name":"X-Access-Key","in":"header","description":"用于标识一个第三方应用","required":true,"schema":{"type":"string"}},{"name":"X-Timestamp","in":"header","description":"摘要生成时间","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"X-Signature","in":"header","description":"请求体摘要","required":true,"schema":{"type":"string"}},{"name":"headers","in":"header","description":"请求头","required":true,"schema":{"$ref":"#/components/schemas/HttpHeaders"}}],"requestBody":{"description":"请求体","content":{"application/json":{"schema":{"type":"string","format":"byte"}}}},"responses":{"200":{"description":"响应内容","content":{"*/*":{"schema":{"type":"string","format":"byte"}}}}}},"post":{"tags":["subscription-call-http-endpoint"],"summary":"转发非 GET 请求","description":"转发非 GET 请求","operationId":"forwardForUnsafe","parameters":[{"name":"openapiCode","in":"path","description":"对外接口编码","required":true,"schema":{"type":"string","minLength":1}},{"name":"X-Access-Key","in":"header","description":"用于标识一个第三方应用","required":true,"schema":{"type":"string"}},{"name":"X-Timestamp","in":"header","description":"摘要生成时间","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"X-Signature","in":"header","description":"请求体摘要","required":true,"schema":{"type":"string"}},{"name":"headers","in":"header","description":"请求头","required":true,"schema":{"$ref":"#/components/schemas/HttpHeaders"}}],"requestBody":{"description":"请求体","content":{"application/json":{"schema":{"type":"string","format":"byte"}}}},"responses":{"200":{"description":"响应内容","content":{"*/*":{"schema":{"type":"string","format":"byte"}}}}}},"delete":{"tags":["subscription-call-http-endpoint"],"summary":"转发非 GET 请求","description":"转发非 GET 请求","operationId":"forwardForUnsafe_2","parameters":[{"name":"openapiCode","in":"path","description":"对外接口编码","required":true,"schema":{"type":"string","minLength":1}},{"name":"X-Access-Key","in":"header","description":"用于标识一个第三方应用","required":true,"schema":{"type":"string"}},{"name":"X-Timestamp","in":"header","description":"摘要生成时间","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"X-Signature","in":"header","description":"请求体摘要","required":true,"schema":{"type":"string"}},{"name":"headers","in":"header","description":"请求头","required":true,"schema":{"$ref":"#/components/schemas/HttpHeaders"}}],"requestBody":{"description":"请求体","content":{"application/json":{"schema":{"type":"string","format":"byte"}}}},"responses":{"200":{"description":"响应内容","content":{"*/*":{"schema":{"type":"string","format":"byte"}}}}}},"patch":{"tags":["subscription-call-http-endpoint"],"summary":"转发非 GET 请求","description":"转发非 GET 请求","operationId":"forwardForUnsafe_3","parameters":[{"name":"openapiCode","in":"path","description":"对外接口编码","required":true,"schema":{"type":"string","minLength":1}},{"name":"X-Access-Key","in":"header","description":"用于标识一个第三方应用","required":true,"schema":{"type":"string"}},{"name":"X-Timestamp","in":"header","description":"摘要生成时间","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"X-Signature","in":"header","description":"请求体摘要","required":true,"schema":{"type":"string"}},{"name":"headers","in":"header","description":"请求头","required":true,"schema":{"$ref":"#/components/schemas/HttpHeaders"}}],"requestBody":{"description":"请求体","content":{"application/json":{"schema":{"type":"string","format":"byte"}}}},"responses":{"200":{"description":"响应内容","content":{"*/*":{"schema":{"type":"string","format":"byte"}}}}}}},"/third-party-app/-/member":{"put":{"tags":["third-party-app-member-http-endpoint"],"summary":"持邀请码加入应用","description":"持邀请码加入应用","operationId":"acceptInvitation","parameters":[{"name":"token","in":"query","description":"邀请码","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"成员ID","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Id"}}}}}}},"/subscription/{id}/audit":{"put":{"tags":["subscription-http-endpoint"],"summary":"审核订阅\n\n审核后第三方应用即可调用该接口","description":"审核订阅\n\n审核后第三方应用即可调用该接口","operationId":"auditSubscription","parameters":[{"name":"id","in":"path","description":"订阅标识","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"OK"}}}},"/openapi":{"get":{"tags":["openapi-http-endpoint"],"summary":"获取`对外接口`列表的分页数据","description":"获取`对外接口`列表的分页数据","operationId":"getOpenapiList","parameters":[{"name":"odata","in":"query","description":"OData查询参数，用于分页和排序","required":true,"schema":{"$ref":"#/components/schemas/ODataRequestParam"}}],"responses":{"200":{"description":"包含`对外接口`列表的分页对象","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelOpenapi"}}}}}},"put":{"tags":["openapi-http-endpoint"],"summary":"更新`对外接口`信息","description":"更新`对外接口`信息","operationId":"modifyOpenapi","requestBody":{"description":"包含更新`对外接口`请求数据的请求体","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModifyOpenapiReq"}}},"required":true},"responses":{"200":{"description":"OK"}}},"post":{"tags":["openapi-http-endpoint"],"summary":"新增`对外接口`","description":"新增`对外接口`","operationId":"addOpenapi","requestBody":{"description":"包含添加`对外接口`请求数据的请求体","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddOpenapiReq"}}},"required":true},"responses":{"200":{"description":"添加的`对外接口`的唯一标识符","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Id"}}}}}}},"/openapi/{id}/publish":{"put":{"tags":["openapi-http-endpoint"],"summary":"发布指定的`对外接口`","description":"发布指定的`对外接口`","operationId":"publishOpenapi","parameters":[{"name":"id","in":"path","description":"要发布的`对外接口`的唯一标识符","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"OK"}}}},"/third-party-app":{"get":{"tags":["third-party-app-http-endpoint"],"summary":"查询所有第三方应用列表","description":"查询所有第三方应用列表","operationId":"listThirdPartyApp","parameters":[{"name":"odata","in":"query","description":"查询参数","required":true,"schema":{"$ref":"#/components/schemas/ODataRequestParam"}}],"responses":{"200":{"description":"所有第三方应用列表","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelThirdPartyApp"}}}}}},"post":{"tags":["third-party-app-http-endpoint"],"summary":"添加第三方应用","description":"添加第三方应用","operationId":"add","requestBody":{"description":"请求体，包含要添加的第三方应用信息","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddThirdPartyAppReq"}}},"required":true},"responses":{"200":{"description":"添加成功后返回的第三方应用ID","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AccessSecret"}}}}}}},"/third-party-app/{appId}/member":{"get":{"tags":["third-party-app-member-http-endpoint"],"summary":"查询第三方应用的成员","description":"查询第三方应用的成员","operationId":"listMember","parameters":[{"name":"appId","in":"path","description":"第三方应用ID","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"第三方应用成员列表","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ThirdPartyAppMember"}}}}}}},"post":{"tags":["third-party-app-member-http-endpoint"],"summary":"邀请人员成为应用的成员。","description":"邀请人员成为应用的成员。","operationId":"inviteMember","parameters":[{"name":"appId","in":"path","description":"应用ID","required":true,"schema":{"type":"string","minLength":1}},{"name":"userId","in":"query","description":"用户ID。如果为空，则生成对所有人有效的邀请码","required":false,"schema":{"type":"string"}},{"name":"timeout","in":"query","description":"邀请码有效期。单位：小时。默认为24。","required":false,"schema":{"type":"integer","format":"int32","default":24}}],"responses":{"200":{"description":"邀请码","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/subscription":{"get":{"tags":["subscription-http-endpoint"],"summary":"查询已订阅的接口","description":"查询已订阅的接口","operationId":"listSubscription","parameters":[{"name":"appId","in":"query","description":"第三方应用 ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"订阅列表","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}}}}}}},"post":{"tags":["subscription-http-endpoint"],"summary":"订阅对外接口","description":"订阅对外接口","operationId":"subscribe","requestBody":{"description":"接口订阅信息","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddSubscriptionReq"}}},"required":true},"responses":{"200":{"description":"订阅标识","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Id"}}}}}}},"/third-party-app/{appId}/roll":{"patch":{"tags":["third-party-app-http-endpoint"],"summary":"更新第三方应用的密钥","description":"更新第三方应用的密钥","operationId":"rollAccessSecret","parameters":[{"name":"appId","in":"path","description":"第三方应用ID","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"更新后的第三方应用的凭据与密钥","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AccessSecret"}}}}}}},"/third-party-app/{appId}/owner":{"patch":{"tags":["third-party-app-member-http-endpoint"],"summary":"第三方应用所有权转移","description":"第三方应用所有权转移","operationId":"moveOwnership","parameters":[{"name":"appId","in":"path","description":"第三方应用 ID","required":true,"schema":{"type":"string","minLength":1}},{"name":"userId","in":"query","description":"转移的目标用户","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"OK"}}}},"/third-party-app/{id}":{"get":{"tags":["third-party-app-http-endpoint"],"summary":"查询指定的第三方应用","description":"查询指定的第三方应用","operationId":"queryThirdPartyApp","parameters":[{"name":"id","in":"path","description":"第三方应用 ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"第三方应用信息","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ThirdPartyApp"}}}}}}},"/third-party-app/{appId}/subscription":{"get":{"tags":["subscription-http-endpoint"],"summary":"查询所有已发布的对外接口以及指定第三方应用的订阅情况","description":"查询所有已发布的对外接口以及指定第三方应用的订阅情况","operationId":"listSubscriptionWithOpenapi","parameters":[{"name":"odata","in":"query","description":"查询参数","required":true,"schema":{"$ref":"#/components/schemas/ODataRequestParam"}},{"name":"appId","in":"path","description":"第三方应用 ID","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"所有已发布的对外接口以及指定第三方应用的订阅情况","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelSubscription"}}}}}}},"/third-party-app/mine":{"get":{"tags":["third-party-app-http-endpoint"],"summary":"获取当前用户的所有第三方应用列表","description":"获取当前用户的所有第三方应用列表","operationId":"listMyThirdPartyApp","responses":{"200":{"description":"当前用户的所有第三方应用列表","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagedModelThirdPartyApp"}}}}}}},"/metadata/menu.json":{"get":{"tags":["metadata-http-endpoint"],"summary":"获取当前服务提供的所有菜单或资源信息。","description":"获取当前服务提供的所有菜单或资源信息。","operationId":"loadResourceInfo","responses":{"200":{"description":"包含所有 [MenuInfo] 对象的列表，聚合了所有 [IMenuService] 的结果。","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MenuInfo"}}}}}}}},"/metadata/info.json":{"get":{"tags":["metadata-http-endpoint"],"summary":"获取当前服务的自省信息。","description":"获取当前服务的自省信息。","operationId":"loadServiceInfo","responses":{"200":{"description":"包含服务名称、版本、类型等信息的 [ServiceInfo] 对象。","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ServiceInfo"}}}}}}},"/third-party-app/{appId}/member/{id}":{"delete":{"tags":["third-party-app-member-http-endpoint"],"summary":"将成员从第三方应用的成员中移除","description":"将成员从第三方应用的成员中移除","operationId":"deleteMember","parameters":[{"name":"appId","in":"path","description":"应用 ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"成员 ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/openapi/{id}":{"delete":{"tags":["openapi-http-endpoint"],"summary":"删除对外接口","description":"删除对外接口","operationId":"deleteOpenapi","parameters":[{"name":"id","in":"path","description":"接口 ID","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"OK"}}}}},"components":{"schemas":{"ContentDisposition":{"type":"object","properties":{"type":{"type":"string"},"name":{"type":"string"},"filename":{"type":"string"},"charset":{"type":"string"},"inline":{"type":"boolean"},"attachment":{"type":"boolean"},"formData":{"type":"boolean"}}},"HttpHeaders":{"type":"object","properties":{"empty":{"type":"boolean"},"location":{"type":"string","format":"uri"},"host":{"type":"object","properties":{"address":{"type":"object","properties":{"address":{"type":"string","format":"byte"},"hostAddress":{"type":"string"},"linkLocalAddress":{"type":"boolean"},"hostName":{"type":"string"},"multicastAddress":{"type":"boolean"},"anyLocalAddress":{"type":"boolean"},"loopbackAddress":{"type":"boolean"},"siteLocalAddress":{"type":"boolean"},"mcglobal":{"type":"boolean"},"mcnodeLocal":{"type":"boolean"},"mclinkLocal":{"type":"boolean"},"mcsiteLocal":{"type":"boolean"},"mcorgLocal":{"type":"boolean"},"canonicalHostName":{"type":"string"}}},"port":{"type":"integer","format":"int32"},"hostName":{"type":"string"},"unresolved":{"type":"boolean"},"hostString":{"type":"string"}}},"all":{"type":"object","additionalProperties":{"type":"string"},"writeOnly":true},"lastModified":{"type":"integer","format":"int64"},"date":{"type":"integer","format":"int64"},"contentLength":{"type":"integer","format":"int64"},"acceptCharset":{"type":"array","items":{"type":"string"}},"contentDisposition":{"$ref":"#/components/schemas/ContentDisposition"},"contentType":{"$ref":"#/components/schemas/MediaType"},"origin":{"type":"string"},"connection":{"type":"array","items":{"type":"string"}},"ifModifiedSince":{"type":"integer","format":"int64"},"range":{"type":"array","items":{"$ref":"#/components/schemas/HttpRange"}},"cacheControl":{"type":"string"},"contentLanguage":{"type":"string"},"etag":{"type":"string"},"acceptLanguage":{"type":"array","items":{"type":"object","properties":{"range":{"type":"string"},"weight":{"type":"number","format":"double"}}}},"basicAuth":{"type":"string","writeOnly":true},"accept":{"type":"array","items":{"$ref":"#/components/schemas/MediaType"}},"acceptLanguageAsLocales":{"type":"array","items":{"type":"string"}},"acceptPatch":{"type":"array","items":{"$ref":"#/components/schemas/MediaType"}},"accessControlAllowCredentials":{"type":"boolean"},"accessControlAllowHeaders":{"type":"array","items":{"type":"string"}},"accessControlAllowMethods":{"type":"array","items":{"$ref":"#/components/schemas/HttpMethod"}},"accessControlAllowOrigin":{"type":"string"},"accessControlExposeHeaders":{"type":"array","items":{"type":"string"}},"accessControlMaxAge":{"type":"integer","format":"int64"},"accessControlRequestHeaders":{"type":"array","items":{"type":"string"}},"accessControlRequestMethod":{"$ref":"#/components/schemas/HttpMethod"},"allow":{"type":"array","items":{"$ref":"#/components/schemas/HttpMethod"},"uniqueItems":true},"bearerAuth":{"type":"string","writeOnly":true},"expires":{"type":"integer","format":"int64"},"ifMatch":{"type":"array","items":{"type":"string"}},"ifNoneMatch":{"type":"array","items":{"type":"string"}},"ifUnmodifiedSince":{"type":"integer","format":"int64"},"pragma":{"type":"string"},"upgrade":{"type":"string"},"vary":{"type":"array","items":{"type":"string"}}}},"HttpMethod":{},"HttpRange":{},"MediaType":{"type":"object","properties":{"type":{"type":"string"},"subtype":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"qualityValue":{"type":"number","format":"double"},"concrete":{"type":"boolean"},"wildcardType":{"type":"boolean"},"wildcardSubtype":{"type":"boolean"},"subtypeSuffix":{"type":"string"},"charset":{"type":"string"}}},"Id":{"type":"object","description":"封装 ID 的记录类。\n将 ID 封装成强类型对象，避免原始类型偏执。","properties":{"id":{"type":"string","description":"ID 字符串"}}},"ModifyOpenapiReq":{"type":"object","description":"修改对外接口请求对象\n\n用于修改现有的对外接口，包含接口标识、编码、后端地址和HTTP方法等信息。","properties":{"id":{"type":"string","description":"对外接口标识，唯一标识要修改的接口"},"code":{"type":"string","description":"接口编码，唯一标识一个对外接口","maxLength":255,"minLength":0},"destination":{"type":"string","description":"后端地址，即该接口应该转发到的后端服务地址","maxLength":2083,"minLength":0},"httpMethod":{"type":"string","description":"请求接口的HTTP方法，如 GET、POST 等","enum":["GET","POST","PUT","DELETE","PATCH"]}},"required":["code","destination","httpMethod","id"]},"AddThirdPartyAppReq":{"type":"object","description":"添加第三方应用的请求参数\n\n用于接收客户端添加第三方应用的请求数据","properties":{"name":{"type":"string","description":"第三方应用名称","maxLength":255,"minLength":0}},"required":["name"]},"AccessSecret":{"type":"object","description":"第三方应用访问凭据与密钥","properties":{"id":{"type":"string","description":"第三方应用标识"},"secretKey":{"type":"string","description":"第三方应用密钥，用于签名验证"},"accessKey":{"type":"string","description":"获取第三方应用访问凭据"}}},"AddSubscriptionReq":{"type":"object","description":"添加订阅请求对象，用于向订阅系统申请订阅指定接口","properties":{"appId":{"type":"string","description":"订阅接口的第三方应用标识"},"openapiCode":{"type":"string","description":"被订阅的对外接口的编码","maxLength":255,"minLength":0}},"required":["appId","openapiCode"]},"AddOpenapiReq":{"type":"object","description":"新增对外接口请求对象\n\n用于创建新的对外接口，包含接口编码、后端地址和HTTP方法等信息。","properties":{"code":{"type":"string","description":"接口编码，唯一标识一个对外接口","maxLength":255,"minLength":0},"destination":{"type":"string","description":"后端地址，即该接口应该转发到的后端服务地址","maxLength":2083,"minLength":0},"httpMethod":{"type":"string","description":"请求接口的HTTP方法，如 GET、POST 等","enum":["GET","POST","PUT","DELETE","PATCH"]}},"required":["code","destination","httpMethod"]},"ODataRequestParam":{"type":"object","description":"OData 请求参数","properties":{"top":{"type":"integer","format":"int32","description":"最大返回条数"},"skip":{"type":"integer","format":"int32","description":"偏移量"}}},"PageMetadata":{"type":"object","properties":{"size":{"type":"integer","format":"int64"},"number":{"type":"integer","format":"int64"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"PagedModelThirdPartyApp":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/ThirdPartyApp"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"ThirdPartyApp":{"type":"object","description":"第三方应用","properties":{"id":{"type":"string","description":"第三方应用标识"},"name":{"type":"string","description":"第三方应用名称"},"ownerId":{"type":"string","description":"第三方应用所有者标识"},"createTime":{"type":"string","format":"date-time","description":"创建时间"}}},"Openapi":{"type":"object","description":"对外接口","properties":{"id":{"type":"string","description":"对外接口标识"},"code":{"type":"string","description":"接口编码\n\n即第三方接口调用的路径"},"destination":{"type":"string","description":"后端地址\n\n即该接口应该转发到的后端地址"},"httpMethod":{"type":"string","description":"请求接口的HTTP方法","enum":["GET","POST","PUT","DELETE","PATCH"]},"status":{"type":"string","description":"接口状态","enum":["DRAFT","PUBLISHED"]},"published":{"type":"boolean","description":"检查接口是否已发布"}}},"PagedModelSubscription":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"Subscription":{"type":"object","description":"订阅的对外接口","properties":{"id":{"type":"string","description":"订阅标识"},"appId":{"type":"string","description":"第三方应用标识"},"openapiCode":{"type":"string","description":"对外接口编码"},"status":{"type":"string","description":"订阅状态","enum":["NONE","AUDITING","SUBSCRIBED"]},"openapi":{"$ref":"#/components/schemas/Openapi","description":"对外接口详情"},"subscriptionStatus":{"type":"string","description":"获取订阅状态，如果状态为 null 则返回 NONE","enum":["NONE","AUDITING","SUBSCRIBED"]}}},"ThirdPartyAppMember":{"type":"object","description":"第三方应用成员信息\n\n表示用户在某个第三方应用中的成员身份，包括角色信息等","properties":{"id":{"type":"string","description":"成员标识"},"groupId":{"type":"string","description":"第三方应用ID（作为用户组）"},"userId":{"type":"string","description":"用户ID"},"roleId":{"type":"string","description":"角色ID，决定用户在应用中的权限"},"createTime":{"type":"string","format":"date-time","description":"创建时间"},"owner":{"type":"boolean","description":"判断该成员是否是所有者。即"}}},"PagedModelOpenapi":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Openapi"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"MenuInfo":{"type":"object","description":"菜单或资源的信息封装类。\n用于描述前端菜单、外部链接、嵌入页面以及后端接口权限和资源权限等。","properties":{"type":{"type":"string","description":"菜单或资源的具体类型，例如路由、外部链接、接口权限等。","enum":["ROUTE","EXTERNAL_LINK","EMBEDDED","PERMISSION","GROUP_PERMISSION"]},"path":{"type":"string","description":"菜单或资源的路径。\n不同类型的资源有不同的路径格式，详见 [MenuType]。"},"permissions":{"type":"array","description":"访问此菜单或资源所需要的权限集合。\n取并集，即访问者必须满足列表中所有权限才能访问。","items":{"type":"string"}}}},"ServiceInfo":{"type":"object","description":"服务元数据信息封装类。\n包含服务的名称、版本、类型以及是否隐藏等信息，用于服务自省。","properties":{"name":{"type":"string","description":"服务的名称，例如 \"user-service\" 或 \"product-service\"。"},"version":{"type":"string","description":"服务的版本，例如 \"1.0.0\"。"},"type":{"type":"string","description":"服务的类型，例如 [ServiceType#CLIENT] (前端) 或 [ServiceType#SERVER] (后端)。\n默认为 [ServiceType#SERVER]。","enum":["CLIENT","SERVER"]},"hidden":{"type":"boolean","description":"指示服务是否应该在站内链接中隐藏。\n如果为 `true`，则通常不应在公共菜单或服务列表中显示。\n默认为 `true`。"}}}}}}