fix(manifest): 新增首页的动态组件
This commit is contained in:
+10
-1
@@ -1,3 +1,5 @@
|
||||
import type { WorkFlow, WorkFlowApp } from "~/types/workflow";
|
||||
|
||||
export enum MaterialTypeEnum {
|
||||
common = "common", // 公共级别,用户素材
|
||||
personal = "personal", // 个人级别,用户个人素材
|
||||
@@ -28,6 +30,7 @@ export interface IMaterial {
|
||||
export const GlobalInjectKeyConst = {
|
||||
AllMaterials: "allMaterials",
|
||||
UploadFileToOSS: "useUtilsUploadFileToOSS",
|
||||
AllWorkFlowApps: "allWorkFlowApps"
|
||||
} as const;
|
||||
|
||||
export type GlobalInjectKeyEnum =
|
||||
@@ -39,6 +42,12 @@ export interface GlobalInjectMaterials {
|
||||
refreshMaterials: () => Promise<void>;
|
||||
}
|
||||
|
||||
/** 全局注入工作流应用状态 */
|
||||
export interface GlobalInjectWorkflowAppStatus {
|
||||
workflows: Ref<WorkFlowApp[], WorkFlow[]>
|
||||
refreshAllWorkflows: () => Promise<void>
|
||||
}
|
||||
|
||||
/** 全局注入函数 */
|
||||
/**
|
||||
* 上传文件到OSS函数
|
||||
@@ -46,6 +55,6 @@ export interface GlobalInjectMaterials {
|
||||
export interface GlobalInjectUploadFileToOSS {
|
||||
useUtilsUploadFileToOSS: (
|
||||
file: File | Blob,
|
||||
filename?: string,
|
||||
filename?: string
|
||||
) => Promise<string>;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,274 @@
|
||||
export enum WorkFlowTypeEnum {
|
||||
system = 'system', // 系统级别,内置工作流
|
||||
common = 'common', // 公共级别,用户共享工作流
|
||||
personal = 'personal' // 个人级别,创作者工作流
|
||||
}
|
||||
|
||||
/**
|
||||
* @property _id 工作流id
|
||||
* @property title 显示名称
|
||||
* @property name 标准名称,需要保持唯一
|
||||
* @property params 参数
|
||||
* @property workflow 工作流
|
||||
* @property cover 封面图
|
||||
* @property preview 预览图
|
||||
* @property is_public 是否公开
|
||||
* @property description 工作流描述
|
||||
* @property power 算力消耗
|
||||
* @property nodeCount 节点数
|
||||
* @property runTime 运行时间,秒
|
||||
* @property sortNumber 排序
|
||||
* @property tags 应用标签
|
||||
* @property useGuide 使用指导图,显示在工作流的使用页面
|
||||
* @property includeServers 指定运行的服务器名
|
||||
* @property excludeServers 排除运行的服务器名
|
||||
* @property user 用户
|
||||
* @property type 工作流类型
|
||||
* @property mainProducts 代表作
|
||||
* @property comment 评论
|
||||
* @property organizations 所属组织
|
||||
* @property salePrice 销售价格
|
||||
* @property updated_at 更新时间
|
||||
* @property application_id 所属应用
|
||||
* @property editor_model 0表示创造新内容, 1表示编辑已有内容
|
||||
* @property prem_level_min 默认为空,表示无需权限层级,有值时表示需要相应的权限层级才可以访问
|
||||
* @property category 分类
|
||||
* @property appType 应用类型
|
||||
* @property custom_workflow 自定义工作流id
|
||||
* @property customAccessUrl 自定义访问接口
|
||||
* @property created_at 创建时间
|
||||
* @property isLiked 是否喜欢
|
||||
* @property likeCount 喜欢数
|
||||
* @property isFavorited 是否喜欢
|
||||
* @property favoriteCount 喜欢数
|
||||
* @property useCount 使用次数
|
||||
*/
|
||||
export interface WorkFlow {
|
||||
_id?: string
|
||||
title?: string // 显示名称
|
||||
name: string // 标准名称,需要保持唯一
|
||||
params: any // 参数
|
||||
workflow: string | object // 工作流
|
||||
cover?: string // 封面图
|
||||
preview?: string // 预览图
|
||||
is_public?: boolean // 是否公开
|
||||
description?: string // 工作流描述
|
||||
description_mcp?: string // 描述,用于mcp
|
||||
power?: number // 算力消耗
|
||||
nodeCount?: number // 节点数
|
||||
runTime?: number // 运行时间,秒
|
||||
timeout_setting: TimeOutConfig
|
||||
sortNumber?: number // 排序
|
||||
tags?: string[] // 应用标签
|
||||
useGuide?: string // 使用指导图,显示在工作流的使用页面
|
||||
includeServers?: string[] // 指定运行的服务器名
|
||||
excludeServers?: string[] // 排除运行的服务器名
|
||||
user?: User
|
||||
type?: WorkFlowTypeEnum // 工作流类型
|
||||
mainProducts?: string[] // 代表作
|
||||
comment?: IComment[] // 评论
|
||||
organizations?: string[] // 所属组织
|
||||
salePrice?: number // 销售价格
|
||||
updated_at?: number // 更新时间
|
||||
application_id?: string[] // 所属应用
|
||||
editor_model?: 0 | 1 // editor_model 0表示创造新内容, 1表示编辑已有内容
|
||||
prem_level_min?: number // 默认为空,表示无需权限层级,有值时表示需要相应的权限层级才可以访问
|
||||
category?: WorkFlowCategoriesEnum[] // 分类
|
||||
appType: AppTypeEnum
|
||||
custom_workflow?: string // 自定义工作流id
|
||||
template_example_data?: Record<string, any>
|
||||
customAccessUrl?: string // 自定义访问接口
|
||||
created_at?: number // 创建时间
|
||||
isLiked?: boolean // 是否喜欢
|
||||
likeCount?: number // 喜欢数
|
||||
isFavorited?: boolean // 是否收藏
|
||||
favoriteCount?: number // 收藏数
|
||||
useCount?: number // 使用次数
|
||||
integrationPlatforms?: { _id: string, code: string, isAuthed: boolean }[] // 集成平台
|
||||
}
|
||||
|
||||
export type WorkFlowApp = Pick<
|
||||
WorkFlow,
|
||||
| 'cover'
|
||||
| 'user'
|
||||
| 'title'
|
||||
| 'description'
|
||||
| '_id'
|
||||
| 'tags'
|
||||
| 'name'
|
||||
| 'type'
|
||||
| 'category'
|
||||
| 'customAccessUrl'
|
||||
| 'params'
|
||||
| 'appType'
|
||||
| 'sortNumber'
|
||||
| 'created_at'
|
||||
| 'isLiked'
|
||||
| 'likeCount'
|
||||
| 'isFavorited'
|
||||
| 'favoriteCount'
|
||||
| 'useCount'
|
||||
| 'power'
|
||||
>
|
||||
|
||||
|
||||
/** 工作流超时设定 */
|
||||
export interface TimeOutConfig {
|
||||
timeout: number
|
||||
timeoutActions?: TimeOutActionEnum[]
|
||||
}
|
||||
|
||||
|
||||
export const TimeOutActionConst = {
|
||||
CANCEL: 'cancel',
|
||||
CONTINUE: 'continue',
|
||||
RETRY: 'RETRY'
|
||||
} as const
|
||||
|
||||
export type TimeOutActionEnum =
|
||||
(typeof TimeOutActionConst)[keyof typeof TimeOutActionConst]
|
||||
|
||||
/**
|
||||
* 用户信息
|
||||
* @property _id 用户id
|
||||
* @property nickname 用户名
|
||||
* @property password 密码
|
||||
* @property username 用户名
|
||||
* @property wx_openid 微信openid
|
||||
* @property wx_unionid 微信unionid
|
||||
* @property avatar_url 头像url
|
||||
* @property email 邮箱
|
||||
* @property inviter_uid 邀请人id
|
||||
* @property last_login_date 最后一次登录时间
|
||||
* @property register_date 注册时间
|
||||
* @property last_login_ip 最后一次登录ip
|
||||
* @property mobile 手机号
|
||||
* @property my_invite_code 我的邀请码
|
||||
* @property role 用户角色
|
||||
* @property token 登录token
|
||||
* @property socket_id 用户socket id
|
||||
* @property status 用户状态
|
||||
* @property balance 用户余额
|
||||
*/
|
||||
export interface User {
|
||||
_id: string
|
||||
nickname?: string
|
||||
password?: string
|
||||
username: string
|
||||
wx_openid?: string
|
||||
wx_unionid?: string
|
||||
avatar_url?: string
|
||||
email?: string
|
||||
inviter_uid?: string | User
|
||||
last_login_date?: number
|
||||
register_date?: number
|
||||
last_login_ip?: string
|
||||
mobile?: string
|
||||
my_invite_code?: string[]
|
||||
role?: RoleEnum[]
|
||||
token?: string
|
||||
refresh_token?: string
|
||||
socket_id?: string
|
||||
status?: 0 | 1 | 2 // 0:正常,1:禁用,2:删除
|
||||
balance?: number // 余额
|
||||
points?: number // 积分
|
||||
organizations?: Array<Pick<IOrganization, '_id' | 'name' | 'admin_ids'>> // 组织id列表
|
||||
totalPower?: number // 总积分
|
||||
}
|
||||
|
||||
export interface IComment {
|
||||
_id?: string
|
||||
rootId?: string
|
||||
replyTo?: User | string // 回复的评论ID
|
||||
content: string // 评论内容
|
||||
author?: User // 评论者
|
||||
targetType: CommentTypeEnum // 评论对象的类型 (应用|作品|AI模型|项目)
|
||||
targetId?: string // 评论对象的ID
|
||||
deleteFlag?: boolean // 删除标记
|
||||
created_at?: number // 创建时间
|
||||
likeCount?: number // 点赞数
|
||||
authorFlag?: boolean // 作者标记
|
||||
replies?: IComment[] // 回复评论
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 工作流分类
|
||||
* @description 工作流分类,用于前端展示
|
||||
* @enum Marketing 营销
|
||||
* @enum Design 设计
|
||||
* @enum Development 开发
|
||||
* @enum CustomerService 客服
|
||||
* @enum Product 产品
|
||||
* @enum Operations 运营
|
||||
*/
|
||||
export enum WorkFlowCategoriesEnum {
|
||||
Marketing = 'Marketing',
|
||||
Design = 'Design',
|
||||
Development = 'Development',
|
||||
CustomerService = 'CustomerService',
|
||||
Product = 'Product',
|
||||
Operations = 'Operations'
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 工作流的类型
|
||||
* @enum workflow: ComfyUI工作流应用
|
||||
* @enum custom: 自定义应用,访问链接跳转
|
||||
* @enum api: 自定义工作流应用,EasyAI 应用
|
||||
*/
|
||||
export enum AppTypeEnum {
|
||||
workflow = 'workflow',
|
||||
custom = 'custom',
|
||||
customWorkflow = 'customWorkflow'
|
||||
}
|
||||
|
||||
export enum CommentTypeEnum {
|
||||
app = 'app', // 应用(工作流)
|
||||
work = 'work', // 作品
|
||||
aiModel = 'aiModel', // AI模型
|
||||
project = 'project' // 项目
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户权限
|
||||
* @property PUBLIC 游客
|
||||
* @property USER 普通用户
|
||||
* @property CREATOR 创作者
|
||||
* @property OPERATOR 运营人员
|
||||
* @property MANAGER 普通管理员
|
||||
* @property ADMIN 超级管理员
|
||||
*/
|
||||
export enum RoleEnum {
|
||||
// 游客
|
||||
PUBLIC = 'public',
|
||||
// 普通用户
|
||||
USER = 'user',
|
||||
// 创作者
|
||||
CREATOR = 'creator',
|
||||
// 运营人员
|
||||
OPERATOR = 'operator',
|
||||
// 普通管理员
|
||||
MANAGER = 'manager',
|
||||
// 超级管理员
|
||||
ADMIN = 'admin'
|
||||
}
|
||||
|
||||
|
||||
export interface IOrganization {
|
||||
_id: string
|
||||
name: string
|
||||
description?: string
|
||||
parent?: string
|
||||
level?: number // 权限等级
|
||||
workflows?: string[] | WorkFlow[]
|
||||
users?: string[] | User[]
|
||||
created_at?: number
|
||||
children?: IOrganization[]
|
||||
admin_ids: Array<string>
|
||||
balance: number
|
||||
concurrency_limit: number
|
||||
is_default_register_org: boolean // 是否是默认注册组织
|
||||
enableExclusive: boolean // 启用独享部署
|
||||
}
|
||||
Reference in New Issue
Block a user