// Generated by OpenXiangda 2.0 Native compiler. Do not edit by hand. export const compilerContractVersion = "native-4" as const; export const appCode = "openxiangda-application" as const; export const appName = "OpenXiangda 应用" as const; export const appPerspectives = [] as const; export const resourceCodes = [] as const; export const resourceSurfaces = {} as const; export const resourceDefinitions = {} as const; export const capabilities = [ "app:openxiangda-application:directory:read", "app:role:assign", "app:role:define", "app:role:grant-capability", "app:role:read", "app:scope-grant:manage", "app:super-admin:manage" ] as const; export const appOperations = {} as const; export const appRoutes = { applicationHome: { "code": "application-home", "path": "/home", "label": "应用首页", "surface": "user", "tabPersistence": "session", "keepAlive": "none" }, applicationHomeMobile: { "code": "application-home-mobile", "path": "/m/home", "label": "移动首页", "surface": "user", "tabPersistence": "session", "keepAlive": "none" } } as const; export const authenticationMethods = [ { "code": "password", "type": "password", "label": "账号密码登录", "presentation": "primary", "required": true } ] as const; export const authenticationSurfaces = { applicationLogin: { "device": "desktop", "routeCode": "application-login", "path": "/login", "defaultRouteCode": "application-home" }, applicationLoginMobile: { "device": "mobile", "routeCode": "application-login-mobile", "path": "/m/login", "defaultRouteCode": "application-home-mobile" } } as const; export const applicationAuthentication = { "accountMode": "existing-platform-users-only", "registration": { "mode": "reject" }, "methods": [ { "code": "password", "type": "password", "label": "账号密码登录", "presentation": "primary", "required": true } ], "surfaces": { "desktop": { "routeCode": "application-login", "path": "/login", "defaultRouteCode": "application-home" }, "mobile": { "routeCode": "application-login-mobile", "path": "/m/login", "defaultRouteCode": "application-home-mobile" } } } as const; export const anonymousPublicAccess = undefined; export const platformAuthManifest = { "schemaVersion": "openxiangda.platform-auth-manifest/v2", "appCode": "openxiangda-application", "protectedUserRouteCount": 2, "methods": [ { "code": "password", "type": "password", "label": "账号密码登录", "presentation": "primary", "required": true } ], "surfaces": [ { "device": "desktop", "routeCode": "application-login", "path": "/login", "defaultRouteCode": "application-home" }, { "device": "mobile", "routeCode": "application-login-mobile", "path": "/m/login", "defaultRouteCode": "application-home-mobile" } ] } as const; export const adminAccess = undefined; export const routeManifest = { "schemaVersion": "openxiangda.application-route-manifest/v3", "appCode": "openxiangda-application", "devicePolicy": { "kind": "viewport-family", "mobileMaxWidthPx": 900, "desktopMinWidthPx": 901 }, "rootEntry": { "code": "application-home", "desktop": "/home", "mobile": "/m/home" }, "authentication": { "desktop": { "routeCode": "application-login", "path": "/login" }, "mobile": { "routeCode": "application-login-mobile", "path": "/m/login" } }, "routes": [], "digest": "2c01252ac4415de49a2fe58bf21df94a77f8c235d739ec7a6af583fc695ba0cf" } as const; export const adminPages = [] as const; export const adminNavigation = [] as const; export const eventTypes = [] as const; export const eventSubscriptionCodes = [] as const; export const eventHandlerManifest = { "schemaVersion": "openxiangda.event-handler-manifest/v2", "appCode": "openxiangda-application", "handlers": [] } as const; export const eventHandlers = {} as const; export const eventSchemas = [] as const; export const workflowCodes = [] as const; export const workflowDefinitions = [] as const; export const notificationTemplateCodes = { applicationInformational: "application.informational.standard", } as const; export type ResourceCode = (typeof resourceCodes)[number]; export type Capability = (typeof capabilities)[number]; export type AppOperation = (typeof appOperations)[keyof typeof appOperations]; export type AppRoute = (typeof appRoutes)[keyof typeof appRoutes]; export type AppRouteCode = AppRoute["code"]; export type ApplicationAuthenticationMethod = (typeof authenticationMethods)[number]; export type ApplicationAuthenticationSurface = (typeof authenticationSurfaces)[keyof typeof authenticationSurfaces]; export type ApplicationAuthenticationSurfaceCode = ApplicationAuthenticationSurface["routeCode"]; export type AnonymousPublicAccess = typeof anonymousPublicAccess; export type AdminAccess = typeof adminAccess; export type RouteManifest = typeof routeManifest; export type AdminPage = (typeof adminPages)[number]; export type AdminNavigationGroup = (typeof adminNavigation)[number]; export type AppPerspective = (typeof appPerspectives)[number]; export type EventType = (typeof eventTypes)[number]; export type EventSubscriptionCode = (typeof eventSubscriptionCodes)[number]; export type EventTypesForSubscription = never; export type WorkflowCode = (typeof workflowCodes)[number]; export type NotificationTemplateCode = (typeof notificationTemplateCodes)[keyof typeof notificationTemplateCodes]; export interface OpenXiangdaCloudEvent = Record> { specversion: "1.0"; id: string; source: string; type: TType; subject?: string; time: string; datacontenttype: "application/json"; dataschema?: string; data: TData; tenantid: string; appcode: typeof appCode; environment: string; traceid?: string; schemaversion: string; } export type EventHandlerInput = OpenXiangdaCloudEvent>; export interface LabeledValue { label: string; value: string; description?: string; color?: string; } export interface ResourceReferenceValue extends LabeledValue { resourceCode: string; snapshot?: Record; } export interface DepartmentReferenceValue extends LabeledValue { fullPath?: string; path?: LabeledValue[]; parent?: LabeledValue; } export interface UserReferenceValue extends LabeledValue { avatarUrl?: string; employeeNo?: string; title?: string; mobile?: string; email?: string; departments?: DepartmentReferenceValue[]; } export interface DateRangeValue { start: string; end: string; } export type CascadePathValue = LabeledValue[]; export interface DataFileRef { schemaVersion: 'openxiangda.data-file-ref/v2'; id: string; name: string; size: number; contentType: string; } export interface DataImageRef extends DataFileRef { width: number; height: number; thumbnailUrl: string; previewUrl: string; } export interface StableSignatureValue { file: Omit; signer?: UserReferenceValue; signedAt: string; points?: Array<{ x: number; y: number; t: number }>; hash: string; } export interface StableAddressValue { country?: LabeledValue; province?: LabeledValue; city?: LabeledValue; district?: LabeledValue; street?: LabeledValue; detail?: string; fullAddress?: string; } export interface StableLocationSnapshot { address?: string; name?: string; province?: string; city?: string; district?: string; accuracy?: number; capturedAt?: string; } export type StableLocationValue = StableLocationSnapshot & { source: 'browser' | 'dingTalk'; longitude: number; latitude: number; };