This commit is contained in:
张成
2025-11-24 13:23:42 +08:00
commit 5d7444cd65
156 changed files with 50653 additions and 0 deletions

130
admin/src/api/README.md Normal file
View File

@@ -0,0 +1,130 @@
# API 服务目录结构
## 📁 优化后的目录结构
根据菜单模块聚合优化API 服务按照以下结构组织:
```
api/
├── work/ # 工作管理模块
│ ├── apply_records_server.js # 投递记录 API
│ └── job_postings_server.js # 岗位信息 API
├── profile/ # 账号简历模块
│ ├── pla_account_server.js # 平台账号 API
│ └── resume_info_server.js # 简历信息 API
├── device/ # 设备监控模块
│ └── device_status_server.js # 设备状态 API
├── operation/ # 任务聊天模块
│ ├── task_status_server.js # 任务状态 API
│ └── chat_records_server.js # 聊天记录 API
└── system/ # 系统设置模块
└── system_config_server.js # 系统配置 API
```
## 🔄 模块映射关系
| 新模块 | 原模块 | 说明 |
|--------|--------|------|
| `work/` | `job/` | 工作管理 = 岗位 + 投递 |
| `profile/` | `account/` | 账号简历 = 账号 + 简历 |
| `device/` | `device/` | 设备监控(保持不变) |
| `operation/` | `task/` + `chat/` | 任务聊天 = 任务 + 聊天 |
| `system/` | `system/` | 系统设置(保持不变) |
## 📝 API 服务文件说明
### 1. work/apply_records_server.js
投递记录 API 服务
- `page(param)` - 分页查询投递记录
- `getStatistics()` - 获取投递统计数据
- `getById(id)` - 获取单条记录详情
- `del(row)` - 删除投递记录
- `batchDelete(ids)` - 批量删除
### 2. work/job_postings_server.js
岗位信息 API 服务
- `page(param)` - 分页查询岗位信息
- `getStatistics()` - 获取岗位统计数据
- `getById(id)` - 获取单条岗位详情
- `del(row)` - 删除岗位信息
- `batchDelete(ids)` - 批量删除
### 3. profile/pla_account_server.js
平台账号 API 服务
- `page(param)` - 分页查询平台账号
- `getStatistics()` - 获取账号统计数据
- `getById(id)` - 获取单条账号详情
- `update(row)` - 更新账号信息
- `del(row)` - 删除账号
### 4. profile/resume_info_server.js
简历信息 API 服务
- `page(param)` - 分页查询简历信息
- `getStatistics()` - 获取简历统计数据
- `getById(id)` - 获取单条简历详情
- `del(row)` - 删除简历
### 5. device/device_status_server.js
设备状态 API 服务
- `page(param)` - 分页查询设备状态
- `getOverview()` - 获取设备概览统计
- `updateConfig(data)` - 更新设备配置
- `resetError(deviceSn)` - 重置设备错误
- `del(row)` - 删除设备记录
### 6. operation/task_status_server.js
任务状态 API 服务
- `page(param)` - 分页查询任务状态
- `getStatistics()` - 获取任务统计数据
- `getById(id)` - 获取单条任务详情
- `update(row)` - 更新任务状态
- `del(row)` - 删除任务
### 7. operation/chat_records_server.js
聊天记录 API 服务
- `page(param)` - 分页查询聊天记录
- `getStatistics()` - 获取聊天统计数据
- `getById(id)` - 获取单条聊天详情
- `del(row)` - 删除聊天记录
### 8. system/system_config_server.js
系统配置 API 服务
- `page(param)` - 分页查询系统配置
- `getCategories()` - 获取配置分类列表
- `get(key)` - 获取单条配置详情
- `add(data)` - 添加配置
- `update(row)` - 更新配置
- `batchUpdate(configs)` - 批量更新配置
- `del(row)` - 删除配置
- `reset(key)` - 重置配置为默认值
## 🎯 使用示例
```javascript
// 导入 API 服务
import applyRecordsServer from '@/api/work/apply_records_server'
import deviceStatusServer from '@/api/device/device_status_server'
// 查询投递记录
const result = await applyRecordsServer.page({
seachOption: { applyStatus: 'success' },
pageOption: { page: 1, pageSize: 20 }
})
// 获取设备概览
const overview = await deviceStatusServer.getOverview()
```
## 📌 注意事项
1. 所有 API 服务都已配置为调用 `/admin_api/*` 路径的后端接口
2. 使用 `window.framework.http` 进行 HTTP 请求
3. 分页查询统一使用 `page(param)` 方法,参数包含 `seachOption``pageOption`
4. 所有服务类都已实例化并导出,可直接使用
## ✅ 迁移完成
- ✅ 所有 API 服务文件已按新目录结构创建
- ✅ 所有接口路径已更新为 `/admin_api/*` 格式
- ✅ 目录结构与 SQL 菜单定义保持一致

View File

@@ -0,0 +1,81 @@
/**
* 聊天记录 API 服务
*/
class ChatRecordsServer {
/**
* 分页查询聊天记录
* @param {Object} param - 查询参数
* @param {Object} param.seachOption - 搜索条件
* @param {Object} param.pageOption - 分页选项
* @returns {Promise}
*/
page(param) {
return window.framework.http.post('chat/list', param)
}
/**
* 获取单条记录详情
* @param {String} chatId - 聊天记录ID
* @returns {Promise}
*/
getById(chatId) {
return window.framework.http.post('chat/detail', { chatId })
}
/**
* 获取聊天统计
* @returns {Promise}
*/
statistics() {
return window.framework.http.get('chat/statistics')
}
/**
* 新增聊天记录
* @param {Object} data - 记录数据
* @returns {Promise}
*/
add(data) {
return window.framework.http.post('chat_records', data)
}
/**
* 更新聊天记录
* @param {Object} row - 记录数据包含id
* @returns {Promise}
*/
update(row) {
return window.framework.http.put(`chat_records/${row.chatId}`, row)
}
/**
* 删除聊天记录
* @param {Object} row - 记录数据包含chatId
* @returns {Promise}
*/
del(row) {
return window.framework.http.post('chat/delete', { chatId: row.chatId || row.id })
}
/**
* 批量删除
* @param {Array} ids - ID数组
* @returns {Promise}
*/
batchDelete(ids) {
return window.framework.http.post('chat_records/batch_delete', { ids })
}
/**
* 导出CSV
* @param {Object} param - 查询参数
* @returns {Promise}
*/
exportCsv(param) {
return window.framework.http.post('chat/export', param, { responseType: 'blob' })
}
}
export default new ChatRecordsServer()

View File

@@ -0,0 +1,62 @@
/**
* 设备状态 API 服务
*/
class DeviceStatusServer {
/**
* 分页查询设备状态
* @param {Object} param - 查询参数
* @param {Object} param.seachOption - 搜索条件
* @param {Object} param.pageOption - 分页选项
* @returns {Promise}
*/
page(param) {
return window.framework.http.post('/device/list', param)
}
/**
* 获取设备详情
* @param {String} deviceSn - 设备SN码
* @returns {Promise}
*/
getById(deviceSn) {
return window.framework.http.post('/device/detail', { deviceSn })
}
/**
* 获取设备概览统计
* @returns {Promise}
*/
getOverview() {
return window.framework.http.get('/device/overview')
}
/**
* 更新设备配置
* @param {Object} data - 设备配置数据
* @returns {Promise}
*/
updateConfig(data) {
return window.framework.http.post('/device/update-config', data)
}
/**
* 重置设备错误
* @param {String} deviceSn - 设备SN码
* @returns {Promise}
*/
resetError(deviceSn) {
return window.framework.http.post('/device/reset-error', { deviceSn })
}
/**
* 删除设备记录
* @param {Object} row - 设备数据
* @returns {Promise}
*/
del(row) {
return window.framework.http.post('/device/delete', { deviceSn: row.deviceSn })
}
}
export default new DeviceStatusServer()

View File

@@ -0,0 +1,81 @@
/**
* 投递记录 API 服务
*/
class ApplyRecordsServer {
/**
* 分页查询投递记录
* @param {Object} param - 查询参数
* @param {Object} param.seachOption - 搜索条件
* @param {Object} param.pageOption - 分页选项
* @returns {Promise}
*/
page(param) {
return window.framework.http.post('apply/list', param)
}
/**
* 获取单条记录详情
* @param {String} applyId - 投递记录ID
* @returns {Promise}
*/
getById(applyId) {
return window.framework.http.post('apply/detail', { applyId })
}
/**
* 获取投递统计
* @returns {Promise}
*/
statistics() {
return window.framework.http.get('apply/statistics')
}
/**
* 新增投递记录
* @param {Object} data - 记录数据
* @returns {Promise}
*/
add(data) {
return window.framework.http.post('apply_records', data)
}
/**
* 更新投递记录
* @param {Object} row - 记录数据包含id
* @returns {Promise}
*/
update(row) {
return window.framework.http.put(`apply_records/${row.applyId}`, row)
}
/**
* 删除投递记录
* @param {Object} row - 记录数据包含applyId
* @returns {Promise}
*/
del(row) {
return window.framework.http.post('apply/delete', { applyId: row.applyId || row.id })
}
/**
* 批量删除
* @param {Array} ids - ID数组
* @returns {Promise}
*/
batchDelete(ids) {
return window.framework.http.post('apply_records/batch_delete', { ids })
}
/**
* 导出CSV
* @param {Object} param - 查询参数
* @returns {Promise}
*/
exportCsv(param) {
return window.framework.http.post('apply/export', param, { responseType: 'blob' })
}
}
export default new ApplyRecordsServer()

View File

@@ -0,0 +1,95 @@
/**
* 岗位信息 API 服务
*/
class JobPostingsServer {
/**
* 分页查询岗位信息
* @param {Object} param - 查询参数
* @param {Object} param.seachOption - 搜索条件
* @param {Object} param.pageOption - 分页选项
* @returns {Promise}
*/
page(param) {
return window.framework.http.post('job/list', param)
}
/**
* 获取单条记录详情
* @param {String} jobId - 岗位ID
* @returns {Promise}
*/
getById(jobId) {
return window.framework.http.post('job/detail', { jobId })
}
/**
* 获取岗位统计
* @returns {Promise}
*/
statistics() {
return window.framework.http.get('job/statistics')
}
/**
* 职位打招呼
* @param {Object} data - 打招呼参数
* @param {String} data.sn_code - 设备SN码
* @param {String} data.encryptJobId - 加密的职位ID
* @param {String} data.securityId - 安全ID可选
* @param {String} data.brandName - 公司名称
* @param {String} data.platform - 平台默认boss
* @returns {Promise}
*/
greet(data) {
return window.framework.http.post('job/greet', data)
}
/**
* 新增岗位信息
* @param {Object} data - 记录数据
* @returns {Promise}
*/
add(data) {
return window.framework.http.post('job_postings', data)
}
/**
* 更新岗位信息
* @param {Object} row - 记录数据包含id
* @returns {Promise}
*/
update(row) {
return window.framework.http.put(`job_postings/${row.jobId}`, row)
}
/**
* 删除岗位信息
* @param {Object} row - 记录数据包含jobId
* @returns {Promise}
*/
del(row) {
return window.framework.http.post('job/delete', { jobId: row.jobId || row.id })
}
/**
* 批量删除
* @param {Array} ids - ID数组
* @returns {Promise}
*/
batchDelete(ids) {
return window.framework.http.post('job_postings/batch_delete', { ids })
}
/**
* 导出CSV
* @param {Object} param - 查询参数
* @returns {Promise}
*/
exportCsv(param) {
return window.framework.http.post('job/export', param, { responseType: 'blob' })
}
}
export default new JobPostingsServer()

View File

@@ -0,0 +1,110 @@
/**
* 聊天记录 API 服务
*/
class ChatRecordsServer {
/**
* 分页查询聊天记录
* @param {Object} param - 查询参数
* @param {Object} param.seachOption - 搜索条件
* @param {Object} param.pageOption - 分页选项
* @returns {Promise}
*/
page(param) {
return window.framework.http.post('/chat/list', param)
}
/**
* 获取聊天统计数据
* @returns {Promise}
*/
getStatistics() {
return window.framework.http.get('/chat/statistics')
}
/**
* 获取单条聊天详情
* @param {Number|String} chatId - 聊天记录ID
* @returns {Promise}
*/
getById(chatId) {
return window.framework.http.post('/chat/detail', { chatId })
}
/**
* 删除聊天记录
* @param {Object} row - 聊天记录数据包含id或chatId
* @returns {Promise}
*/
del(row) {
return window.framework.http.post('/chat/delete', {
chatId: row.chatId || row.id,
id: row.id || row.chatId
})
}
/**
* 批量删除
* @param {Array} ids - ID数组
* @returns {Promise}
*/
batchDelete(ids) {
return window.framework.http.post('/chat/delete', { chatIds: ids })
}
/**
* 发送聊天消息
* @param {Object} data - 消息数据
* @param {String} data.sn_code - 设备SN码
* @param {String} data.jobId - 职位ID
* @param {String} data.content - 消息内容
* @param {String} data.chatType - 聊天类型
* @returns {Promise}
*/
sendMessage(data) {
return window.framework.http.post('/chat/send', data)
}
/**
* 获取与某个职位的聊天记录
* @param {Object} params - 查询参数
* @param {String} params.jobId - 职位ID
* @param {String} params.sn_code - 设备SN码
* @returns {Promise}
*/
getByJobId(params) {
return window.framework.http.get('/chat/by-job', params)
}
/**
* 导出聊天记录为CSV
* @param {Object} param - 查询参数
* @returns {Promise}
*/
exportCsv(param) {
return window.framework.http.post('/chat/export', param, { responseType: 'blob' })
}
/**
* 标记消息为已读
* @param {Object} data - 数据
* @param {String} data.chatId - 聊天记录ID
* @returns {Promise}
*/
markAsRead(data) {
return window.framework.http.post('/chat/mark-read', data)
}
/**
* 获取未读消息数量
* @param {Object} params - 查询参数
* @param {String} params.sn_code - 设备SN码
* @returns {Promise}
*/
getUnreadCount(params) {
return window.framework.http.get('/chat/unread-count', params)
}
}
export default new ChatRecordsServer()

View File

@@ -0,0 +1,90 @@
/**
* 任务状态 API 服务
*/
class TaskStatusServer {
/**
* 分页查询任务状态
* @param {Object} param - 查询参数
* @param {Object} param.seachOption - 搜索条件
* @param {Object} param.pageOption - 分页选项
* @returns {Promise}
*/
page(param) {
return window.framework.http.post('task/list', param)
}
/**
* 获取任务统计数据
* @returns {Promise}
*/
getStatistics() {
return window.framework.http.get('/task/statistics')
}
/**
* 获取单条任务详情
* @param {Number|String} taskId - 任务ID
* @returns {Promise}
*/
getById(taskId) {
return window.framework.http.post('task/detail', { taskId })
}
/**
* 更新任务状态
* @param {Object} row - 任务数据
* @returns {Promise}
*/
update(row) {
return window.framework.http.post('/task/update', row)
}
/**
* 删除任务
* @param {Object} row - 任务数据包含id
* @returns {Promise}
*/
del(row) {
return window.framework.http.post('task/delete', { taskId: row.taskId || row.id })
}
/**
* 取消任务
* @param {Object} row - 任务数据包含taskId
* @returns {Promise}
*/
cancel(row) {
return window.framework.http.post('task/cancel', { taskId: row.taskId || row.id })
}
/**
* 重试任务
* @param {Object} row - 任务数据包含taskId
* @returns {Promise}
*/
retry(row) {
return window.framework.http.post('task/retry', { taskId: row.taskId || row.id })
}
/**
* 导出任务列表
* @param {Object} param - 导出参数
* @returns {Promise}
*/
exportCsv(param) {
return window.framework.http.post('/task/export', param, { responseType: 'blob' })
}
/**
* 获取任务的指令列表
* @param {Number} taskId - 任务ID
* @returns {Promise}
*/
getCommands(taskId) {
return window.framework.http.post('/task/commands', { taskId })
}
}
export default new TaskStatusServer()

View File

@@ -0,0 +1,160 @@
/**
* 平台账号 API 服务
*/
class PlaAccountServer {
/**
* 分页查询平台账号
* @param {Object} param - 查询参数
* @param {Object} param.seachOption - 搜索条件
* @param {Object} param.pageOption - 分页选项
* @returns {Promise}
*/
page(param) {
return window.framework.http.post('/account/list', param)
}
/**
* 获取账号详情
* @param {Number|String} id - 账号ID
* @returns {Promise}
*/
getById(id) {
return window.framework.http.post('/account/detail', { id })
}
/**
* 新增账号
* @param {Object} row - 账号数据
* @returns {Promise}
*/
add(row) {
return window.framework.http.post('/account/create', row)
}
/**
* 更新账号信息
* @param {Object} row - 账号数据
* @returns {Promise}
*/
update(row) {
return window.framework.http.post('/account/update', row)
}
/**
* 删除账号
* @param {Object} row - 账号数据包含id
* @returns {Promise}
*/
del(row) {
return window.framework.http.post('/account/delete', { id: row.id })
}
/**
* 导出CSV
* @param {Object} param - 查询参数
* @returns {Promise}
*/
exportCsv(param) {
return window.framework.http.post('/account/export', param, { responseType: 'blob' })
}
/**
* 获取账号任务列表
* @param {Number|String} accountId - 账号ID
* @param {Object} param - 查询参数
* @param {Object} param.seachOption - 搜索条件
* @param {Object} param.pageOption - 分页选项
* @returns {Promise}
*/
getTasks(accountId, param) {
const { pageOption } = param || {}
const queryParams = {
id: accountId,
page: pageOption?.page || 1,
pageSize: pageOption?.pageSize || 10
}
return window.framework.http.get(`pla_account/tasks`, queryParams)
}
/**
* 获取账号指令列表
* @param {Number|String} accountId - 账号ID
* @param {Object} param - 查询参数
* @param {Object} param.seachOption - 搜索条件
* @param {Object} param.pageOption - 分页选项
* @returns {Promise}
*/
getCommands(accountId, param) {
const { pageOption } = param || {}
const queryParams = {
id: accountId,
page: pageOption?.page || 1,
pageSize: pageOption?.pageSize || 10
}
return window.framework.http.get(`pla_account/commands`, queryParams)
}
/**
* 执行指令
* @param {Object} param - 指令参数
* @param {Number|String} param.id - 账号ID
* @param {String} param.commandType - 指令类型
* @param {String} param.commandName - 指令名称
* @returns {Promise}
*/
runCommand(param) {
return window.framework.http.post(`pla_account/runCommand`, param)
}
/**
* 获取指令详情
* @param {Number|String} accountId - 账号ID
* @param {Number|String} commandId - 指令ID
* @returns {Promise}
*/
getCommandDetail(accountId, commandId) {
return window.framework.http.get(`pla_account/commandDetail`, {
accountId,
commandId
})
}
/**
* 停止账号的所有任务
* @param {Object} row - 账号数据包含id和sn_code
* @returns {Promise}
*/
stopTasks(row) {
return window.framework.http.post('/account/stopTasks', {
id: row.id,
sn_code: row.sn_code
})
}
/**
* 解析地址并更新经纬度
* @param {Object} param - 参数对象
* @param {Number|String} param.id - 账号ID
* @param {String} param.address - 地址(可选)
* @returns {Promise}
*/
parseLocation(param) {
return window.framework.http.post('/pla_account/parseLocation', param)
}
/**
* 批量解析地址并更新经纬度
* @param {Array<Number|String>} ids - 账号ID数组
* @returns {Promise}
*/
batchParseLocation(ids) {
return window.framework.http.post('/pla_account/batchParseLocation', { ids })
}
}
export default new PlaAccountServer()

View File

@@ -0,0 +1,45 @@
/**
* 简历信息 API 服务
*/
class ResumeInfoServer {
/**
* 分页查询简历信息
* @param {Object} param - 查询参数
* @param {Object} param.seachOption - 搜索条件
* @param {Object} param.pageOption - 分页选项
* @returns {Promise}
*/
page(param) {
return window.framework.http.post('/resume/list', param)
}
/**
* 获取简历统计数据
* @returns {Promise}
*/
getStatistics() {
return window.framework.http.get('/resume/statistics')
}
/**
* 获取单条简历详情
* @param {Number|String} id - 简历ID
* @returns {Promise}
*/
getById(id) {
return window.framework.http.post('/resume/detail', { resumeId: id })
}
/**
* 删除简历
* @param {Object} row - 简历数据包含id
* @returns {Promise}
*/
del(row) {
return window.framework.http.post('/resume/delete', { resumeId: row.resumeId || row.id })
}
}
export default new ResumeInfoServer()

View File

@@ -0,0 +1,65 @@
/**
* 统计数据 API 服务
*/
class StatisticsServer {
/**
* 获取按天统计的数据
* @param {Object} params - 查询参数
* @param {String} params.deviceSn - 设备SN码
* @param {String} params.startDate - 开始日期 (YYYY-MM-DD)
* @param {String} params.endDate - 结束日期 (YYYY-MM-DD)
* @param {Number} params.days - 统计最近几天(可选,与日期范围二选一)
* @returns {Promise}
*/
getDailyStatistics(params) {
return window.framework.http.post('/statistics/daily', params)
}
/**
* 获取实时统计概览
* @param {String} deviceSn - 设备SN码
* @returns {Promise}
*/
getOverview(deviceSn) {
return window.framework.http.get('/statistics/overview', { deviceSn })
}
/**
* 获取投递数量统计(按天)
* @param {Object} params - 查询参数
* @returns {Promise}
*/
getApplyStatistics(params) {
return window.framework.http.post('/statistics/apply', params)
}
/**
* 获取找工作数量统计(按天)
* @param {Object} params - 查询参数
* @returns {Promise}
*/
getJobSearchStatistics(params) {
return window.framework.http.post('/statistics/job-search', params)
}
/**
* 获取聊天/沟通数量统计(按天)
* @param {Object} params - 查询参数
* @returns {Promise}
*/
getChatStatistics(params) {
return window.framework.http.post('/statistics/chat', params)
}
/**
* 获取当前正在执行的任务
* @param {String} deviceSn - 设备SN码
* @returns {Promise}
*/
getRunningTasks(deviceSn) {
return window.framework.http.get('/statistics/running-tasks', { deviceSn })
}
}
export default new StatisticsServer()

View File

@@ -0,0 +1,80 @@
/**
* 系统配置 API 服务
*/
class SystemConfigServer {
/**
* 分页查询系统配置
* @param {Object} param - 查询参数
* @param {Object} param.seachOption - 搜索条件
* @param {Object} param.pageOption - 分页选项
* @returns {Promise}
*/
page(param) {
return window.framework.http.post('/config/list', param)
}
/**
* 获取配置分类列表
* @returns {Promise}
*/
getCategories() {
return window.framework.http.get('/config/categories')
}
/**
* 获取单条配置详情
* @param {String} key - 配置键
* @returns {Promise}
*/
get(key) {
return window.framework.http.post('/config/detail', { configKey: key })
}
/**
* 添加配置
* @param {Object} data - 配置数据
* @returns {Promise}
*/
add(data) {
return window.framework.http.post('/config/create', data)
}
/**
* 更新配置
* @param {Object} row - 配置数据
* @returns {Promise}
*/
update(row) {
return window.framework.http.post('/config/update', row)
}
/**
* 批量更新配置
* @param {Array} configs - 配置数组
* @returns {Promise}
*/
batchUpdate(configs) {
return window.framework.http.post('/config/batch-update', { configs })
}
/**
* 删除配置
* @param {Object} row - 配置数据
* @returns {Promise}
*/
del(row) {
return window.framework.http.post('/config/delete', { configKey: row.configKey })
}
/**
* 重置配置为默认值
* @param {String} key - 配置键
* @returns {Promise}
*/
reset(key) {
return window.framework.http.post('/config/reset', { configKey: key })
}
}
export default new SystemConfigServer()

View File

@@ -0,0 +1,113 @@
/**
* 任务状态 API 服务
*/
class TaskStatusServer {
/**
* 分页查询任务状态
* @param {Object} param - 查询参数
* @param {Object} param.seachOption - 搜索条件
* @param {Object} param.pageOption - 分页选项
* @returns {Promise}
*/
page(param) {
return window.framework.http.post('task/list', param)
}
/**
* 获取单条记录详情
* @param {String} taskId - 任务ID
* @returns {Promise}
*/
getById(taskId) {
return window.framework.http.post('task/detail', { taskId })
}
/**
* 获取任务统计
* @returns {Promise}
*/
statistics() {
return window.framework.http.get('task/statistics')
}
/**
* 获取任务的指令列表
* @param {Number|String} taskId - 任务ID
* @returns {Promise}
*/
getCommands(taskId) {
return window.framework.http.post('task/commands', { taskId })
}
/**
* 新增任务
* @param {Object} data - 记录数据
* @returns {Promise}
*/
add(data) {
return window.framework.http.post('task_status', data)
}
/**
* 更新任务状态
* @param {Object} row - 记录数据包含taskId
* @returns {Promise}
*/
update(row) {
return window.framework.http.post('task/update', {
taskId: row.taskId || row.id,
status: row.status,
progress: row.progress,
errorMessage: row.errorMessage
})
}
/**
* 删除任务
* @param {Object} row - 记录数据包含taskId
* @returns {Promise}
*/
del(row) {
return window.framework.http.post('task/delete', { taskId: row.taskId || row.id })
}
/**
* 批量删除
* @param {Array} ids - ID数组
* @returns {Promise}
*/
batchDelete(ids) {
return window.framework.http.post('task_status/batch_delete', { ids })
}
/**
* 取消任务
* @param {Object} row - 任务数据
* @returns {Promise}
*/
cancel(row) {
return window.framework.http.post(`task_status/${row.taskId}/cancel`)
}
/**
* 重试任务
* @param {Object} row - 任务数据
* @returns {Promise}
*/
retry(row) {
return window.framework.http.post(`task_status/${row.taskId}/retry`)
}
/**
* 导出CSV
* @param {Object} param - 查询参数
* @returns {Promise}
*/
exportCsv(param) {
return window.framework.http.post('task/export', param, { responseType: 'blob' })
}
}
export default new TaskStatusServer()

View File

@@ -0,0 +1,81 @@
/**
* 投递记录 API 服务
*/
class ApplyRecordsServer {
/**
* 分页查询投递记录
* @param {Object} param - 查询参数
* @param {Object} param.seachOption - 搜索条件
* @param {Object} param.pageOption - 分页选项
* @returns {Promise}
*/
page(param) {
return window.framework.http.post('apply/list', param)
}
/**
* 获取投递统计数据
* @returns {Promise}
*/
getStatistics() {
return window.framework.http.get('/apply/statistics')
}
/**
* 获取单条记录详情
* @param {Number|String} applyId - 记录ID
* @returns {Promise}
*/
getById(applyId) {
return window.framework.http.post('apply/detail', { applyId })
}
/**
* 删除投递记录
* @param {Object} row - 记录数据包含id
* @returns {Promise}
*/
del(row) {
return window.framework.http.post('/apply/delete', { applyId: row.applyId })
}
/**
* 批量删除
* @param {Array} ids - ID数组
* @returns {Promise}
*/
batchDelete(ids) {
return window.framework.http.post('/apply/delete', { applyIds: ids })
}
/**
* 导出投递记录为CSV
* @param {Object} param - 查询参数
* @returns {Promise}
*/
exportCsv(param) {
return window.framework.http.post('/apply/export', param, { responseType: 'blob' })
}
/**
* 新增投递记录
* @param {Object} data - 投递记录数据
* @returns {Promise}
*/
add(data) {
return window.framework.http.post('/apply/add', data)
}
/**
* 更新投递记录
* @param {Object} data - 投递记录数据
* @returns {Promise}
*/
update(data) {
return window.framework.http.post('/apply/update', data)
}
}
export default new ApplyRecordsServer()

View File

@@ -0,0 +1,98 @@
/**
* 岗位信息 API 服务
*/
class JobPostingsServer {
/**
* 分页查询岗位信息
* @param {Object} param - 查询参数
* @param {Object} param.seachOption - 搜索条件
* @param {Object} param.pageOption - 分页选项
* @returns {Promise}
*/
page(param) {
return window.framework.http.post('job/list', param)
}
/**
* 获取岗位统计数据
* @returns {Promise}
*/
getStatistics() {
return window.framework.http.get('/job/statistics')
}
/**
* 获取单条岗位详情
* @param {Number|String} jobId - 岗位ID
* @returns {Promise}
*/
getById(jobId) {
return window.framework.http.post('job/detail', { jobId })
}
/**
* 职位打招呼通过MQTT发送指令到boss-automation-nodejs
* @param {Object} data - 打招呼数据
* @param {String} data.sn_code - 设备SN码
* @param {String} data.encryptJobId - 加密的职位ID
* @param {String} data.brandName - 公司名称
* @returns {Promise}
*/
jobGreet(data) {
return window.framework.http.post('/job/greet', data)
}
/**
* 获取聊天列表
* @param {Object} params - 查询参数
* @param {String} params.sn_code - 设备SN码
* @returns {Promise}
*/
getChatList(params) {
return window.framework.http.get('/job/chat-list', params)
}
/**
* 发送聊天消息
* @param {Object} data - 消息数据
* @param {String} data.sn_code - 设备SN码
* @param {String} data.jobId - 职位ID
* @param {String} data.message - 消息内容
* @param {String} data.chatType - 聊天类型
* @returns {Promise}
*/
sendMessage(data) {
return window.framework.http.post('/job/send-message', data)
}
/**
* 导出岗位信息为CSV
* @param {Object} param - 查询参数
* @returns {Promise}
*/
exportCsv(param) {
return window.framework.http.post('/job/export', param, { responseType: 'blob' })
}
/**
* 删除岗位信息
* @param {Object} row - 岗位数据包含id
* @returns {Promise}
*/
del(row) {
return window.framework.http.post('/job/delete', { jobId: row.jobId })
}
/**
* 批量删除
* @param {Array} ids - ID数组
* @returns {Promise}
*/
batchDelete(ids) {
return window.framework.http.post('/job/delete', { jobIds: ids })
}
}
export default new JobPostingsServer()

View File

@@ -0,0 +1,63 @@
/**
* 职位类型 API 服务
*/
class JobTypesServer {
/**
* 分页查询职位类型
* @param {Object} param - 查询参数
* @param {Object} param.seachOption - 搜索条件
* @param {Object} param.pageOption - 分页选项
* @returns {Promise}
*/
page(param) {
return window.framework.http.post('/job_type/list', param)
}
/**
* 获取职位类型详情
* @param {Number|String} id - 职位类型ID
* @returns {Promise}
*/
getById(id) {
return window.framework.http.get('/job_type/detail', { id })
}
/**
* 新增职位类型
* @param {Object} row - 职位类型数据
* @returns {Promise}
*/
add(row) {
return window.framework.http.post('/job_type/create', row)
}
/**
* 更新职位类型信息
* @param {Object} row - 职位类型数据
* @returns {Promise}
*/
update(row) {
return window.framework.http.post('/job_type/update', row)
}
/**
* 删除职位类型
* @param {Object} row - 职位类型数据包含id
* @returns {Promise}
*/
del(row) {
return window.framework.http.post('/job_type/delete', { id: row.id })
}
/**
* 获取所有启用的职位类型(用于下拉选择)
* @returns {Promise}
*/
getAll() {
return window.framework.http.get('/job_type/all')
}
}
export default new JobTypesServer()