rule.ts 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import { addForwardRule, addLink, delForward, delLink, getForwardRulePage, getLinkPage, updateForwardStatus, updateLinkStatus } from '@/api/iot/rule'
  2. import { SubjectEventEnum, SubjectResourceEnum } from '@/enum/common'
  3. import { message } from 'ant-design-vue'
  4. export class RuleController {
  5. static SubjectResourceMap = new Map([
  6. [SubjectResourceEnum.DEVICE, { name: '设备', key: SubjectResourceEnum.DEVICE }],
  7. [SubjectResourceEnum.DEVICE_ATTRIBUTE, { name: '设备属性', key: SubjectResourceEnum.DEVICE_ATTRIBUTE }],
  8. [SubjectResourceEnum.DEVICE_STATUS, { name: '设备状态', key: SubjectResourceEnum.DEVICE_STATUS }],
  9. [SubjectResourceEnum.MODEL, { name: '模型', key: SubjectResourceEnum.MODEL }]
  10. ])
  11. static SubjectEventMap = new Map([
  12. [SubjectEventEnum.DEVICE_CREATE, { name: '设备创建', key: SubjectEventEnum.DEVICE_CREATE }],
  13. [SubjectEventEnum.DEVICE_DELETE, { name: '设备删除', key: SubjectEventEnum.DEVICE_DELETE }],
  14. [SubjectEventEnum.DEVICE_ATTRIBUTE_REPORT, { name: '设备属性上报', key: SubjectEventEnum.DEVICE_ATTRIBUTE_REPORT }],
  15. [SubjectEventEnum.DEVICE_STATUS_UPDATE, { name: '设备状态变更', key: SubjectEventEnum.DEVICE_STATUS_UPDATE }],
  16. [SubjectEventEnum.MODEL_CREATE, { name: '模型创建', key: SubjectEventEnum.MODEL_CREATE }],
  17. [SubjectEventEnum.MODEL_DELETE, { name: '模型删除', key: SubjectEventEnum.MODEL_DELETE }]
  18. ])
  19. /** 转发规则 分页获取转发规则 */
  20. static async pageForward (params: IOT.API.RULE.ForwardRuleQueryParams) {
  21. return await getForwardRulePage(params)
  22. }
  23. /** 转发规则 新增 */
  24. static async postForward (data: IOT.API.RULE.ForwardRuleBody) {
  25. await addForwardRule(data)
  26. message.success('新增转发规则成功')
  27. }
  28. static async delForward (id: string) {
  29. await delForward(id)
  30. message.success('删除成功')
  31. }
  32. static async updateForwardStatus (params: { id: string, status: boolean}) {
  33. await updateForwardStatus(params)
  34. params.status ? message.success('规则已启动') : message.success('规则已停止')
  35. }
  36. /** 联动规则 分页 */
  37. static async pageLink (params: {page: number, pageSize: number, ruleLabel: string}) {
  38. return await getLinkPage(params)
  39. }
  40. static async updateLinkStatus (params: { id: string, status: boolean}) {
  41. await updateLinkStatus(params)
  42. params.status ? message.success('规则已启动') : message.success('规则已停止')
  43. }
  44. static async delLink (id: string) {
  45. await delLink(id)
  46. message.success('删除成功')
  47. }
  48. static async addLink (data: any) {
  49. await addLink(data)
  50. message.success('新增成功')
  51. }
  52. }