123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373 |
- import r from '@/utils/request'
- import { getRequestId } from '@/utils/misc'
- export interface StandardResponse {
- code: number
- message: string
- data: any,
- meta: any
- records: any
- }
- const URL_GET_JOB = '/api/agent/job'
- const URL_GET_QUEUE = '/api/agent/queue'
- const URL_GET_FILE = '/api/file/browse'
- const URL_GET_USER = '/api/user/session'
- const URL_PUT_USER = '/api/user/signin'
- const URL_GET_CONFIG = '/api/config/do'
- const SUCCESS = 200
- const FAILED = 500
- const PROCESSING = 202
- interface RequestActionParams { // 定义Job接口
- name: string
- value: any
- }
- export interface SearchData {
- job_name: string,
- start_category: string,
- job_category: string,
- status: number,
- }
- export interface JobData {
- id: number
- start_category: string
- job_category: string
- job_name: string
- job_details: string
- job_creator: string
- job_status: string
- job_logs: string
- status: number
- executor: string
- created: Date
- updated: Date
- }
- export interface RequestBody { // 定义Job接口
- id: string
- action: string
- params: Array<RequestActionParams>
- }
- export interface JobData {
- id: number
- job_category: string
- job_name: string
- job_details: string
- job_creator: string
- job_status: string
- status: number
- executor: string
- created: Date
- updated: Date
- }
- export const JobCategory = {
- "SYSTEM_WORD": "WORD文档文字提取",
- "SYSTEM_OCR": "PDF文档文字提取",
- "SYSTEM_PDF": "PDF文档文字提取",
- "SYSTEM_IMAGE": "图片文字提取",
- "SYSTEM_CHUNKS": "文本分块",
- "SYSTEM_EMBEDDINGS": "文本向量化",
- "SYSTEM_SUMMARIZE": "文本摘要",
- "SYSTEM_QA": "文本问答",
- "SYSTEM_KB_BUILD": "知识图谱构建",
- "SYSTEM_KB_EXTRACT": "抽取知识",
- }
- export const JobSatus = [
- //primary success info warning danger
- { "label": "无效", "value": -1, "tag": "danger", "could_be_set": false },
- { "label": "准备中", "value": 0, "tag": "primary", "could_be_set": true },
- { "label": "运行中", "value": 1, "tag": "success", "could_be_set": false },
- { "label": "完成", "value": 2, "tag": "success", "could_be_set": false },
- { "label": "失败", "value": 3, "tag": "warning", "could_be_set": false },
- { "label": "取消", "value": 4, "tag": "info", "could_be_set": true },
- { "label": "等待", "value": 5, "tag": "info", "could_be_set": false },
- { "label": "暂停", "value": 6, "tag": "info", "could_be_set": true },
- { "label": "恢复", "value": 7, "tag": "info", "could_be_set": false },
- { "label": "重启", "value": 8, "tag": "info", "could_be_set": false },
- { "label": "跳过", "value": 9, "tag": "info", "could_be_set": true },
- { "label": "重试", "value": 10, "tag": "warning", "could_be_set": true },
- ]
- export function getJobCategory(category: string): string {
- if (category in JobCategory) {
- return JobCategory[category as keyof typeof JobCategory]
- }
- return category
- }
- export function searchJobs(params: SearchData, page: number = 1, page_size: number = 10): Promise<StandardResponse> {
- var data: RequestBody = {
- id: getRequestId(),
- action: 'search_jobs',
- params: [
- { name: 'job_status', value: params.status },
- { name: 'job_category', value: params.job_category },
- { name: 'start_category', value: params.start_category },
- { name: 'job_name', value: params.job_name },
- { name: 'page', value: page },
- { name: 'page_size', value: page_size },
- ]
- }
- return serverRequest(URL_GET_QUEUE, data)
- }
- export function getStartQueueJobs(categroy: string, name: string, page: number = 1, page_size: number = 10): Promise<StandardResponse> {
- var data: RequestBody = {
- id: getRequestId(),
- action: 'get_jobs_start_from_queue',
- params: [
- { name: 'queue_category', value: categroy },
- { name: 'queue_name', value: name },
- { name: 'page', value: page },
- { name: 'page_size', value: page_size },
- ]
- }
- return serverRequest(URL_GET_QUEUE, data)
- }
- export function getJobStatus(status: number): string {
- var result = JobSatus.find(item => item.value == status)
- if (result) {
- return result.label
- } else {
- return '未知'
- }
- }
- export function getJobStatusTag(status: number): string {
- var result = JobSatus.find(item => item.value == status)
- if (result) {
- return result.tag
- } else {
- return 'primary'
- }
- }
- export function serverRequest(url: string, body: RequestBody): Promise<StandardResponse> {
- return new Promise((resolve, reject) => {
- r.request<StandardResponse>({ url: url, method: 'POST', data: body }).then(result => {
- var response_data: StandardResponse = result as StandardResponse
- if (response_data.code == SUCCESS) {
- resolve(response_data)
- } else {
- reject(response_data)
- }
- })
- })
- }
- export function serverGetRequest(url: string,): Promise<StandardResponse> {
- return new Promise((resolve, reject) => {
- r.request<StandardResponse>({ url: url, method: 'GET' }).then(result => {
- var response_data: StandardResponse = result as StandardResponse
- if (response_data.code == SUCCESS) {
- resolve(response_data)
- } else {
- reject(response_data)
- }
- })
- })
- }
- export function getJob(job_id: number): Promise<StandardResponse> {
- var data: RequestBody = {
- id: getRequestId(),
- action: 'get_job',
- params: [
- { name: 'job_id', value: job_id },
- ]
- }
- return serverRequest(URL_GET_JOB, data)
- }
- export function getJobs(categroy: string, name: string, page: number = 1, page_size: number = 10): Promise<StandardResponse> {
- var data: RequestBody = {
- id: getRequestId(),
- action: 'get_jobs',
- params: [
- { name: 'queue_category', value: categroy },
- { name: 'queue_name', value: name },
- { name: 'page', value: page },
- { name: 'page_size', value: page_size },
- ]
- }
- return serverRequest(URL_GET_QUEUE, data)
- }
- export function getQueue(categroy: string, name: string): Promise<StandardResponse> {
- var data: RequestBody = {
- id: getRequestId(),
- action: 'get_queue',
- params: [
- { name: 'queue_category', value: categroy },
- { name: 'queue_name', value: name },
- ]
- }
- return serverRequest(URL_GET_QUEUE, data)
- }
- export function createJob(params: any): Promise<StandardResponse> {
- // console.log(params)
- var data: RequestBody = {
- id: getRequestId(),
- action: 'create_job',
- params: [
- { name: 'job_category', value: params['job_category'] },
- { name: 'job_name', value: params['job_name'] },
- { name: 'job_details', value: params['job_details'] },
- { name: 'job_creator', value: params['job_creator'] },
- { name: 'queue_category', value: params['queue_category'] },
- { name: 'queue_name', value: params['queue_name'] },
- ]
- }
- return serverRequest(URL_GET_JOB, data)
- }
- export function deleteJob(params: any): Promise<StandardResponse> {
- // console.log(params)
- var data: RequestBody = {
- id: getRequestId(),
- action: 'delete_job',
- params: [
- { name: 'job_id', value: params['job_id'] },
- ]
- }
- return serverRequest(URL_GET_JOB, data)
- }
- export function updateJobStatus(job: JobData): Promise<StandardResponse> {
- var data: RequestBody = {
- id: getRequestId(),
- action: 'update_job_status',
- params: [
- { name: 'job_id', value: job.id },
- { name: 'status', value: job.status },
- ]
- }
- return serverRequest(URL_GET_JOB, data)
- }
- export function updateJob(job: JobData): Promise<StandardResponse> {
- var data: RequestBody = {
- id: getRequestId(),
- action: 'update_job',
- params: [
- { name: 'job_id', value: job.id },
- { name: 'job_category', value: job.job_category },
- { name: 'job_name', value: job.job_name },
- { name: 'job_details', value: job.job_details },
- { name: 'job_creator', value: job.job_creator },
- { name: 'status', value: job.status },
- ]
- }
- return serverRequest(URL_GET_JOB, data)
- }
- export function putQueueJob(params: any): Promise<StandardResponse> {
- // console.log(params)
- var data: RequestBody = {
- id: getRequestId(),
- action: 'put_job',
- params: [
- { name: 'queue_category', value: params['queue_category'] },
- { name: 'queue_name', value: params['queue_name'] },
- { name: 'job_id', value: params['job_id'] },
- ]
- }
- return serverRequest(URL_GET_QUEUE, data)
- }
- export function browseJobFile(params: any): Promise<StandardResponse> {
- // console.log(params)
- var data: RequestBody = {
- id: getRequestId(),
- action: 'browse_job_file',
- params: [
- { name: 'job_id', value: params['job_id'] },
- { name: 'path', value: params['path'] },
- ]
- }
- return serverRequest(URL_GET_FILE, data)
- }
- export function userSignin(params: any): Promise<StandardResponse> {
- // console.log(params)
- var data: RequestBody = {
- id: getRequestId(),
- action: 'signin',
- params: [
- { name: 'username', value: params['username'] },
- { name: 'password', value: params['password'] },
- { name: 'email', value: params['email'] },
- { name: 'full_name', value: params['full_name'] },
- ]
- }
- return serverRequest(URL_PUT_USER, data)
- }
- export function userLogin(params: any): Promise<StandardResponse> {
- // console.log(params)
- var data: RequestBody = {
- id: getRequestId(),
- action: 'login',
- params: [
- { name: 'username', value: params['username'] },
- { name: 'password', value: params['password'] },
- ]
- }
- return serverRequest(URL_GET_USER, data)
- }
- export function userLogout(params: any): Promise<StandardResponse> {
- // console.log('logout')
- var data: RequestBody = {
- id: getRequestId(),
- action: 'logout',
- params: [{ name: 'session_id', value: params['username'] }]
- }
- return serverRequest(URL_GET_USER, data)
- }
- export function getQueueSummary(params: any): Promise<StandardResponse> {
- // console.log(params)
- var data: RequestBody = {
- id: getRequestId(),
- action: 'get_queue_summary',
- params: [
- ]
- }
- return serverRequest(URL_GET_QUEUE, data)
- }
- export function getFileContent(url: string): Promise<StandardResponse> {
- return serverGetRequest(url)
- }
- export function getKnowledgeBase(params: any = { name: "", pageNo: 1, pageSize: 10 }): Promise<StandardResponse> {
- return serverGetRequest(`/open-platform/knowledge-base/?name=${params.name}&pageNo=${params.pageNo}&pageSize=${params.pageSize}`)
- }
- export function getKnowledgeBaseFilesList(params: any): Promise<StandardResponse> {
- return serverGetRequest(`/open-platform/knowledge-base/${params.kbId}/files/?file_name=${params.file_name}&pageNo=${params.pageNo}&pageSize=${params.pageSize}`)
- }
- export function getConfig(params: any): Promise<StandardResponse> {
- console.log(params)
- var data: RequestBody = {
- id: getRequestId(),
- action: 'get_config',
- params: [
- { name: 'code', value: params['code'] },
- ]
- }
- return serverRequest(URL_GET_CONFIG, data)
- }
- export function getQueues(): Promise<StandardResponse> {
- var data: RequestBody = {
- id: getRequestId(),
- action: 'get_queues',
- params: []
- }
- return serverRequest(URL_GET_QUEUE, data)
- }
- export function setConfig(params: any): Promise<StandardResponse> {
- console.log(params)
- var data: RequestBody = {
- id: getRequestId(),
- action: 'set_config',
- params: [
- { name: 'code', value: params['code'] },
- { name: 'name', value: params['name'] },
- { name: 'content', value: params['content'] },
- ]
- }
- return serverRequest(URL_GET_CONFIG, data)
- }
|