监控(项目监控、企业监控、客户监控)业务
::: tip 该业务模型已集成 API 接口请求。 :::
使用 interceptors-data-models.js
,将 service axios 实例中注入
// interceptors-data-models.js
import service from './interceptors-anti'
import { injectRequest } from '@jy/data-models'
injectRequest(service)
// 导入监控业务模型
import useQuickMonitor from '@jy/data-models/modules/quick-monitor/model'
const useMonitor = useQuickMonitor({
type: 'project',
params: {
id: '项目ID'
}
})
// 监控状态
// useMonitor.model
// useMonitor.id
// useMonitor.fid
// useMonitor.loading
// async 初始化,获取当前监控状态信息
useMonitor.doFetch()
// async 改变监控状态
useMonitor.doChange()
参数 | 描述 | 类型 | 默认值 |
---|---|---|---|
type | 用于监控的类型 (project - 项目 | ent - 企业 | client - 客户) |
params.id | 对应的监控项目ID、企业ID、客户ID | String | '' |
useMonitor.model
获取实时数据或者 useMonitor.createModel()
创建初始默认值
return {
// 是否可以展示监控按钮
canFollow: false,
// 当前监控状态
follow: false,
// 可扩展字段
expands: {
// 剩余可用数量
surplus: 0,
// 已用数量
used: 0
}
}
初始化,获取当前监控数据
返回值
返回值等于 model
改变监控状
{
// 操作是否成功
success: false,
msg: '',
// 接口返回值
data: {}
}
<script setup>
import { reactive, toRefs } from 'vue'
import useQuickMonitor from '@jy/data-models/modules/quick-monitor/model'
const useMonitor = useQuickMonitor({
type: props.type,
params: {
id: props.params
}
})
const { doFetch, doChange } = useMonitor
const { model } = toRefs(reactive(useMonitor))
// 未监控时可点击监控
function changeFollow() {
if (!model.value.follow) {
doChange()
}
}
<script>