diff --git a/module/ai/iml.go b/module/ai/iml.go index a6a0c8a2..58710ff2 100644 --- a/module/ai/iml.go +++ b/module/ai/iml.go @@ -85,10 +85,7 @@ func (i *imlProviderModule) Providers(ctx context.Context) ([]*ai_dto.ProviderIt }) items := make([]*ai_dto.ProviderItem, 0, len(providers)) for _, v := range providers { - defaultLLM, has := v.DefaultModel(model_runtime.ModelTypeLLM) - if !has { - continue - } + item := &ai_dto.ProviderItem{ Id: v.ID(), Name: v.Name(), @@ -97,6 +94,10 @@ func (i *imlProviderModule) Providers(ctx context.Context) ([]*ai_dto.ProviderIt Sort: v.Sort(), } if info, has := providerMap[v.ID()]; has { + defaultLLM, has := v.GetModel(info.DefaultLLM) + if !has { + continue + } item.Configured = true item.DefaultLLM = defaultLLM.ID() item.DefaultLLMLogo = defaultLLM.Logo() @@ -279,10 +280,13 @@ func (i *imlProviderModule) UpdateProviderConfig(ctx context.Context, id string, if !errors.Is(err, gorm.ErrRecordNotFound) { return err } - //defaultLLm, ok := p.DefaultModel(model_runtime.ModelTypeLLM) - //if !ok { - // return fmt.Errorf("ai provider default llm not found") - //} + if input.DefaultLLM == "" { + defaultLLM, has := p.DefaultModel(model_runtime.ModelTypeLLM) + if !has { + return fmt.Errorf("ai provider default llm not found") + } + input.DefaultLLM = defaultLLM.ID() + } info = &ai.Provider{ Id: id, Name: p.Name(), @@ -344,20 +348,13 @@ func (i *imlProviderModule) UpdateProviderDefaultLLM(ctx context.Context, id str }) } -func (i *imlProviderModule) getAiProviders(ctx context.Context, clusterId string) ([]*gateway.DynamicRelease, error) { - list, err := i.providerService.List(ctx, clusterId) - if err != nil { - return nil, err - } +func (i *imlProviderModule) getAiProviders(ctx context.Context) ([]*gateway.DynamicRelease, error) { + list, err := i.providerService.List(ctx) if err != nil { return nil, err } providers := make([]*gateway.DynamicRelease, 0, len(list)) for _, p := range list { - if !p.Status { - // 关闭 - continue - } cfg := make(map[string]interface{}) err = json.Unmarshal([]byte(p.Config), &cfg) if err != nil { @@ -380,7 +377,7 @@ func (i *imlProviderModule) getAiProviders(ctx context.Context, clusterId string return providers, nil } func (i *imlProviderModule) initGateway(ctx context.Context, clusterId string, clientDriver gateway.IClientDriver) error { - providers, err := i.getAiProviders(ctx, clusterId) + providers, err := i.getAiProviders(ctx) if err != nil { return err } @@ -397,7 +394,7 @@ func (i *imlProviderModule) initGateway(ctx context.Context, clusterId string, c if err != nil { return err } - err = client.Online(ctx, providers...) + err = client.Online(ctx, p) if err != nil { return err } diff --git a/resources/access/access.yaml b/resources/access/access.yaml index 76d3d327..4008e5e1 100644 --- a/resources/access/access.yaml +++ b/resources/access/access.yaml @@ -1,21 +1,75 @@ system: - - name: organization -# cname: '组织管理' - value: 'organization' + - name: workspace + value: 'workspace' children: - - name: member -# cname: '成员' - value: 'member' + - name: consumer + value: 'application' + children: + - name: view all consumer + value: 'view_all' + guest_allow: true + - name: manager all consumer + value: "manager_all" + dependents: + - system.workspace.consumer.view_all + - name: service + value: 'service' + children: + - name: view all service + value: 'view_all' + guest_allow: true + - name: manager all consumer + value: "manager_all" + dependents: + - system.workspace.service.view_all + - name: team + value: 'team' + children: + - name: view all team + value: 'view_all' + guest_allow: true + - name: create + value: 'create' + - name: manager + value: 'manager' + dependents: + - system.workspace.team.view_all + - name: api portal + value: 'api_portal' + children: + - name: api portal + value: 'api_portal' + children: + - name: view + value: 'view' + guest_allow: true + - name: analysis + value: 'analysis' + children: + - name: run view + value: 'run_view' + children: + - name: view + value: 'view' + guest_allow: true + - name: system settings + value: 'settings' + children: + - name: general + value: 'general' + children: + - name: view + value: 'view' + guest_allow: true + - name: manager + value: 'manager' + - name: account + value: 'account' children: - name: view -# cname: '查看' value: 'view' guest_allow: true - apis: - - "GET:/api/v1/user/accounts" - - "GET:/api/v1/user/departments" - name: manager -# cname: '管理' value: 'manager' apis: - "POST:/api/v1/user/account" @@ -31,93 +85,20 @@ system: - "POST:/api/v1/user/department/member/remove" - "POST:/api/v1/account/role" dependents: - - system.organization.member.view - - name: team - cname: '团队' - value: 'team' - children: - - name: view -# cname: '查看' - value: 'view' - guest_allow: true - apis: - - "GET:/api/v1/manager/teams" - - "GET:/api/v1/manager/team" - - name: manager -# cname: '管理' - value: 'manager' - apis: - - "POST:/api/v1/manager/team" - - "PUT:/api/v1/manager/team" - - "DELETE:/api/v1/manager/team" - dependents: - - system.organization.team.view + - system.settings.account.view - name: role -# cname: '角色' value: 'role' children: - - name: view system role - cname: '查看系统角色' + - name: view guest_allow: true - value: 'view_system_role' + value: 'view' apis: - "GET:/api/v1/system/roles" - "GET:/api/v1/system/role" - - name: view team role - cname: '查看团队角色' - guest_allow: true - value: 'view_team_role' - apis: - "GET:/api/v1/team/roles" - "GET:/api/v1/team/role" - - name: System Settings -# cname: '系统设置' - value: 'settings' - children: - - name: service classification -# cname: '服务分类' - value: 'service_classification' - children: - - name: view -# cname: '查看' - value: 'view' - guest_allow: true -# apis: -# - "GET:/api/v1/catalogues" - - name: manager -# cname: '管理' - value: 'manager' - apis: - - "POST:/api/v1/catalogue" - - "PUT:/api/v1/catalogue" - - "DELETE:/api/v1/catalogue" - - "PUT:/api/v1/catalogue/sort" - dependents: - - system.settings.service_classification.view - - name: General -# cname: 常规设置 - value: 'general' - children: - - name: view -# cname: 查看 - value: 'view' - guest_allow: true - apis: -# - "GET:/api/v1/setting" - - name: manager -# cname: 管理 - value: 'manager' - apis: -# - "PUT:/api/v1/setting" - dependents: - - system.settings.general.view - - name: Devops -# cname: 运维 - value: 'devops' - children: - - name: cluster - cname: 集群 - value: 'cluster' + - name: api gateway + value: 'api_gateway' children: - name: view cname: 查看 @@ -126,53 +107,63 @@ system: apis: - "GET:/api/v1/cluster/nodes" - name: manager -# cname: 管理 value: 'manager' apis: - "PUT:/api/v1/cluster/reset" - "POST:/api/v1/cluster/check" + - name: ai provider + value: 'ai_provider' + children: + - name: view + value: 'view' + guest_allow: true + apis: + - "GET:/api/v1/ai/providers" + - "GET:/api/v1/ai/provider/config" + - name: manager + value: 'manager' + apis: + - "PUT:/api/v1/ai/provider/config" + - "PUT:/api/v1/ai/provider/default-llm" + dependents: + - system.settings.ai_provider.view - name: ssl certificate cname: 证书 value: 'ssl_certificate' children: - name: view -# cname: 查看 value: 'view' guest_allow: true apis: - "GET:/api/v1/certificates" - "GET:/api/v1/certificate" - name: manager -# cname: 管理 value: 'manager' apis: - "POST:/api/v1/certificate" - "PUT:/api/v1/certificate" - "DELETE:/api/v1/certificate" dependents: - - system.devops.ssl_certificate.view - - name: Data Source -# cname: '数据源' + - system.settings.ssl_certificate.view + - name: data source value: 'data_source' children: - name: view -# cname: '查看' value: 'view' guest_allow: true apis: - "GET:/api/v1/monitor/config" - name: manager -# cname: '管理' value: 'manager' apis: - "POST:/api/v1/monitor/config" - "PUT:/api/v1/monitor/config" + dependents: + - system.settings.data_source.view - name: log configuration -# cname: 日志 value: 'log_configuration' children: - name: view -# cname: 查看 value: 'view' guest_allow: true apis: @@ -180,7 +171,6 @@ system: - "GET:/api/v1/dynamic/{name}/list" - "GET:/api/v1/dynamic/{name}/render" - name: manager -# cname: 管理 value: 'manager' apis: - "POST:/api/v1/dynamic/{name}" @@ -189,93 +179,13 @@ system: - "PUT:/api/v1/dynamic/{name}/online" - "PUT:/api/v1/dynamic/{name}/offline" dependents: - - system.devops.log_configuration.view - - name: ai provider -# cname: AI 模型供应商 - value: 'ai_provider' - children: - - name: view -# cname: 查看 - value: 'view' - guest_allow: true - apis: - - "GET:/api/v1/ai/providers" - - "GET:/api/v1/ai/provider/config" - - name: manager -# cname: 管理 - value: 'manager' - apis: - - "PUT:/api/v1/ai/provider/config" - - "PUT:/api/v1/ai/provider/default-llm" - dependents: - - system.devops.ai_provider.view - - - name: dashboard -# cname: 仪表盘 - value: 'dashboard' - children: - - name: run view -# cname: 运行视图 - value: 'run_view' - children: - - name: view -# cname: 查看 - value: 'view' - guest_allow: true - apis: - - "GET:/api/v1/monitor/overview/invoke" - - "GET:/api/v1/monitor/overview/message" - - "GET:/api/v1/monitor/overview/top10" - - "GET:/api/v1/monitor/overview/summary" - - name: workspace -# cname: 工作空间 - value: 'workspace' - children: - - name: application -# cname: 应用 - value: 'application' - children: - - name: view all application -# cname: 查看所有应用 - value: 'view_all' - guest_allow: true - apis: - - "GET:/api/v1/apps" - - name: service -# cname: 服务 - value: 'service' - children: - - name: view all service -# cname: 查看所有服务 - value: 'view_all' - guest_allow: true - apis: - - "GET:/api/v1/services" - - name: team -# cname: 团队 - value: 'team' - children: - - name: view all team -# cname: 查看所有团队 - value: 'view_all' - guest_allow: true - apis: - - "GET:/api/v1/manager/teams" - - name: api market - value: 'api_market' - children: - - name: view - value: 'view' - guest_allow: true - apis: - - "GET:/api/v1/catalogue/services" - - "GET:/api/v1/catalogue/service" + - system.settings.log_configuration.view team: - name: service value: 'service' children: - - name: router - value: 'router' + - name: api + value: 'api' children: - name: view value: 'view' @@ -291,43 +201,53 @@ team: - "POST:/api/v1/service/router" - "PUT:/api/v1/service/router" - "DELETE:/api/v1/service/router" + dependents: + - team.service.api.view - name: api doc cname: API文档 value: 'api_doc' children: - name: view -# cname: 查看 value: 'view' guest_allow: true apis: - "GET:/api/v1/service/api_doc" - name: manager -# cname: 管理 value: 'manager' apis: - "PUT:/api/v1/service/api_doc" - "POST:/api/v1/service/api_doc/upload" + dependents: + - team.service.api_doc.view + - name: service intro + value: 'service_intro' + children: + - name: view + value: 'view' + guest_allow: true + - name: manager + value: 'manager' + dependents: + - team.service.service_intro.view - name: upstream cname: 上游 value: 'upstream' children: - name: view -# cname: 查看 value: 'view' guest_allow: true apis: - "GET:/api/v1/service/upstream" - name: manager -# cname: 管理 value: 'manager' apis: - "PUT:/api/v1/service/upstream" + dependents: + - team.service.upstream.view - name: release -# cname: 发布 value: 'release' children: - name: view -# cname: 查看 value: 'view' guest_allow: true apis: @@ -338,18 +258,16 @@ team: - "GET:/api/v1/service/release/preview" - "GET:/api/v1/service/publish/status" - name: manager -# cname: 管理 value: 'manager' apis: - "POST:/api/v1/service/publish/release/do" -# - "PUT:/api/v1/service/publish/execute" - "DELETE:/api/v1/service/release" - - name: subscription management -# cname: 订阅方管理 + dependents: + - team.service.release.view + - name: subscription review value: 'subscription' children: - name: view -# cname: 查看 value: 'view' guest_allow: true apis: @@ -357,50 +275,48 @@ team: - "GET:/api/v1/service/approval/subscribe" - "GET:/api/v1/service/subscribers" - name: manager -# cname: 管理 value: 'manager' apis: - "POST:/api/v1/service/approval/subscribe" - "POST:/api/v1/service/subscriber" - "DELETE:/api/v1/service/subscriber" + dependents: + - team.service.subscription.view - name: service -# cname: 服务管理 value: 'service' children: - name: manager -# cname: 管理 value: 'manager' apis: - "PUT:/api/v1/service/info" - "POST:/api/v1/team/service" - "DELETE:/api/v1/team/service" - - name: application - cname: 应用 - value: 'application' + dependents: + - team.service.service.manager + - name: consumer + value: 'consumer' children: - - name: subscription Service + - name: subscription service cname: 订阅服务 value: 'subscription' children: - - name: view -# cname: 查看 - value: 'view' + - name: allow subscribe service + value: 'subscribe' + - name: view subscribed services + value: 'view_subscribed_service' guest_allow: true apis: - - "GET:/api/v1/application/subscriptions" - - name: manager -# cname: 管理 - value: 'manager' + - "GET:/api/v1/application/subscription" + - name: manager subscribed services + value: 'manager_subscribed_services' apis: - "POST:/api/v1/catalogue/service/subscribe" - "POST:/api/v1/application/subscription/cancel" - "POST:/api/v1/application/subscription/cancel_apply" - name: authorization -# cname: 访问授权 value: 'authorization' children: - name: view -# cname: 查看 value: 'view' guest_allow: true apis: @@ -408,60 +324,61 @@ team: - "GET:/api/v1/app/authorizations" - "GET:/api/v1/app/authorization/details" - name: manager -# cname: 管理 value: 'manager' apis: - "POST:/api/v1/app/authorization" - "PUT:/api/v1/app/authorization" - "DELETE:/api/v1/app/authorization" - - name: application -# cname: 应用 + - name: consumer value: 'application' children: - name: manager -# cname: 管理 value: 'manager' apis: - "PUT:/api/v1/app/info" - "POST:/api/v1/team/app" - - "DELETE:/api/v1/app" - name: team -# cname: 团队 value: 'team' children: + - name: service + value: 'service' + children: + - name: view + value: 'view' + guest_allow: true + - name: manager + value: 'manager' + dependents: + - team.team.service.view + - name: consumer + value: 'consumer' + children: + - name: view + value: 'view' + guest_allow: true + - name: manager + value: 'manager' + dependents: + - team.team.consumer.view - name: member -# cname: 成员 value: 'member' children: - name: view -# cname: 查看 value: 'view' guest_allow: true - apis: - - "GET:/api/v1/team/members" - - "GET:/api/v1/team/members/toadd" - name: manager -# cname: 管理 value: 'manager' - apis: - - "POST:/api/v1/team/member" - - "DELETE:/api/v1/team/member" - - "PUT:/api/v1/team/member/role" - - name: team -# cname: 团队管理 + dependents: + - team.team.member.view + - name: team settings value: 'team' children: - name: view -# cname: '查看' value: 'view' guest_allow: true apis: - - "GET:/api/v1/manager/teams" - - "GET:/api/v1/manager/team" - name: manager -# cname: '管理' value: 'manager' apis: - - "POST:/api/v1/manager/team" - - "PUT:/api/v1/manager/team" - - "DELETE:/api/v1/manager/team" \ No newline at end of file + dependents: + - team.team.team.view \ No newline at end of file diff --git a/resources/access/role.yaml b/resources/access/role.yaml index 5b752025..19772f90 100644 --- a/resources/access/role.yaml +++ b/resources/access/role.yaml @@ -2,163 +2,159 @@ system: - name: super admin value: super_admin permits: - - system.dashboard.run_view.view - - system.devops.ai_provider.manager - - system.devops.ai_provider.view - - system.devops.cluster.manager - - system.devops.cluster.view - - system.devops.data_source.manager - - system.devops.data_source.view - - system.devops.log_configuration.manager - - system.devops.log_configuration.view - - system.devops.ssl_certificate.manager - - system.devops.ssl_certificate.view - - system.organization.member.manager - - system.organization.member.view - - system.organization.role.view_system_role - - system.organization.role.view_team_role - - system.organization.team.manager - - system.organization.team.view + - system.analysis.run_view.view + - system.api_portal.api_portal.view + - system.settings.account.manager + - system.settings.account.view + - system.settings.ai_provider.manager + - system.settings.ai_provider.view + - system.settings.api_gateway.manager + - system.settings.api_gateway.view + - system.settings.data_source.manager + - system.settings.data_source.view - system.settings.general.manager - system.settings.general.view - - system.settings.service_classification.manager - - system.settings.service_classification.view - - system.workspace.api_market.view + - system.settings.log_configuration.manager + - system.settings.log_configuration.view + - system.settings.role.view + - system.settings.ssl_certificate.manager + - system.settings.ssl_certificate.view + - system.workspace.application.manager_all - system.workspace.application.view_all + - system.workspace.service.manager_all - system.workspace.service.view_all + - system.workspace.team.create + - system.workspace.team.manager - system.workspace.team.view_all supper: true - name: team admin value: team_admin permits: - - system.organization.role.view_team_role - - system.organization.team.manager - - system.organization.team.view - - system.workspace.api_market.view - - system.workspace.application.view_all - - system.workspace.service.view_all - - system.workspace.team.view_all + - system.api_portal.api_portal.view + - system.workspace.team.create - name: devops admin value: devops_admin permits: - - system.dashboard.run_view.view - - system.devops.ai_provider.manager - - system.devops.ai_provider.view - - system.devops.cluster.manager - - system.devops.cluster.view - - system.devops.data_source.manager - - system.devops.data_source.view - - system.devops.log_configuration.manager - - system.devops.log_configuration.view - - system.devops.ssl_certificate.manager - - system.devops.ssl_certificate.view - - system.workspace.api_market.view + - system.analysis.run_view.view + - system.api_portal.api_portal.view + - system.settings.ai_provider.manager + - system.settings.ai_provider.view + - system.settings.api_gateway.manager + - system.settings.api_gateway.view + - system.settings.data_source.manager + - system.settings.data_source.view + - system.settings.general.manager + - system.settings.general.view + - system.settings.log_configuration.manager + - system.settings.log_configuration.view + - system.settings.ssl_certificate.manager + - system.settings.ssl_certificate.view - system.workspace.application.view_all - system.workspace.service.view_all - system.workspace.team.view_all - - system.settings.general.manager - - system.settings.general.view - - system.settings.service_classification.manager - - system.settings.service_classification.view - name: general member value: member permits: - - system.workspace.api_market.view + - system.api_portal.api_portal.view default: true - - name: guest - value: guest - permits: - - system.settings.service_classification.view - - system.devops.cluster.view - - system.devops.log_configuration.view - - system.devops.ssl_certificate.view - - system.devops.monitor.view - - system.organization.member.view - - system.organization.role.view_system_role - - system.organization.role.view_team_role - - system.organization.team.view - - system.workspace.api_market.view - - system.workspace.application.view_all - - system.workspace.service.view_all - - system.workspace.team.view_all - - system.dashboard.run_view.view + team: - name: team admin value: team_admin permits: - - team.application.application.manager - - team.application.authorization.manager - - team.application.authorization.view - - team.application.subscription.manager - - team.application.subscription.view - - team.service.api_doc.view + - team.consumer.application.manager + - team.consumer.authorization.manager + - team.consumer.authorization.view + - team.consumer.subscription.manager_subscribed_services + - team.consumer.subscription.subscribe + - team.consumer.subscription.view_subscribed_service + - team.service.api.manager + - team.service.api.view - team.service.api_doc.manager - - team.service.router.manager - - team.service.router.view + - team.service.api_doc.view - team.service.release.manager - team.service.release.view - team.service.service.manager + - team.service.service_intro.manager + - team.service.service_intro.view - team.service.subscription.manager - team.service.subscription.view - team.service.upstream.manager - team.service.upstream.view + - team.team.consumer.manager + - team.team.consumer.view - team.team.member.manager - team.team.member.view + - team.team.service.manager + - team.team.service.view - team.team.team.manager - team.team.team.view supper: true - name: service admin value: service_admin permits: - - team.service.service.manager - - team.service.upstream.manager - - team.service.upstream.view - - team.service.api_doc.view + - team.service.api.manager + - team.service.api.view - team.service.api_doc.manager - - team.service.router.manager - - team.service.router.view - - team.service.subscription.manager - - team.service.subscription.view + - team.service.api_doc.view - team.service.release.manager - team.service.release.view + - team.service.service.manager + - team.service.service_intro.manager + - team.service.service_intro.view + - team.service.subscription.manager + - team.service.subscription.view + - team.service.upstream.manager + - team.service.upstream.view + - team.team.consumer.view - team.team.member.view + - team.team.service.manager + - team.team.service.view + - team.team.team.view - name: service developer value: service_developer permits: - - team.service.upstream.manager - - team.service.upstream.view - - team.service.api_doc.view + - team.service.api.manager + - team.service.api.view - team.service.api_doc.manager - - team.service.router.manager - - team.service.router.view + - team.service.api_doc.view - team.service.release.manager - team.service.release.view - - team.team.member.view - - name: application admin - value: application_admin - permits: - - team.application.application.manager - - team.application.authorization.manager - - team.application.authorization.view - - team.application.subscription.manager - - team.application.subscription.view - - team.team.member.view - - name: application developer - value: application_developer - permits: - - team.application.authorization.view - - team.application.subscription.manager - - team.application.subscription.view - - team.team.member.view - default: true - - name: guest - value: guest - permits: - - team.application.authorization.view - - team.application.subscription.view - - team.service.router.view - - team.service.release.view + - team.service.service.manager + - team.service.service_intro.manager + - team.service.service_intro.view + - team.service.subscription.manager - team.service.subscription.view + - team.service.upstream.manager - team.service.upstream.view + - team.team.consumer.view - team.team.member.view - - team.team.team.view \ No newline at end of file + - team.team.service.view + - team.team.team.view + - name: consumer admin + value: consumer_admin + permits: + - team.consumer.application.manager + - team.consumer.authorization.manager + - team.consumer.authorization.view + - team.consumer.subscription.manager_subscribed_services + - team.consumer.subscription.subscribe + - team.consumer.subscription.view_subscribed_service + - team.team.consumer.manager + - team.team.consumer.view + - team.team.member.view + - team.team.service.view + - team.team.team.view + - name: consumer developer + value: consumer_developer + permits: + - team.consumer.application.manager + - team.consumer.authorization.manager + - team.consumer.authorization.view + - team.consumer.subscription.subscribe + - team.consumer.subscription.view_subscribed_service + - team.team.consumer.view + - team.team.member.view + - team.team.service.view + - team.team.team.view + default: true diff --git a/resources/locale/i18n/zh-CN.json b/resources/locale/i18n/zh-CN.json index 3882a74f..e9b000f4 100644 --- a/resources/locale/i18n/zh-CN.json +++ b/resources/locale/i18n/zh-CN.json @@ -1,44 +1,46 @@ { - "ai provider": "AI供应商", - "api market": "API门户", + "account": "账号", + "ai provider": "AI模型供应商", + "analysis": "分析报告", + "api": "API", "api doc": "API文档", - "application": "应用", - "application admin": "应用管理员", - "application developer": "应用开发者", - "authorization": "鉴权", - "cluster": "集群", - "dashboard": "仪表盘", + "api gateway": "API网关", + "api portal": "API门户", + "authorization": "访问授权", + "consumer": "消费者", + "consumer admin": "消费者管理员", + "consumer developer": "消费者开发者", + "create": "创建", "data source": "数据源", - "devops": "运维", "devops admin": "运维管理员", "general": "常规设置", "general member": "普通成员", - "guest": "访客", "log configuration": "日志配置", "manager": "管理", + "manager all consumer": "管理所有消费者", + "manager subscribed services": "管理已订阅的服务", "member": "成员", - "organization": "组织管理", "release": "发布", "role": "角色", - "router": "路由", "run view": "运行视图", "service": "服务", "service admin": "服务管理员", - "service classification": "服务目录", "service developer": "服务开发者", + "service intro": "服务文档", "ssl certificate": "SSL证书", - "subscription management": "订阅方管理", + "allow subscribe service": "允许订阅服务", + "subscription review": "订阅审核", "subscription service": "订阅服务", "super admin": "超级管理员", "system settings": "系统设置", "team": "团队", + "team settings": "团队设置", "team admin": "团队管理员", "upstream": "上游", "view": "查看", - "view all application": "查看所有应用", + "view all consumer": "查看所有消费者", "view all service": "查看所有服务", "view all team": "查看所有团队", - "view system role": "查看系统角色", - "view team role": "查看团队角色", + "view subscribed services": "查看已经订阅的服务", "workspace": "工作空间" -} \ No newline at end of file +}