| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import { EquipmentType } from '@/utils/dictMap'
- import { submitBoilerSign } from '@/api/boiler/boilerSign'
- import { submitPipeSign } from '@/api/pipe/pipeSign'
- import { signConfirm } from '@/api/sign'
- type Adapter = {
- inputAdapter: (data: any) => any
- reqFunction: (params: any) => any
- outputAdapter: (data: any) => any
- }
- export enum SignFuncName {
- SubmitSign,
- }
- const map = {
- [SignFuncName.SubmitSign]: {
- [EquipmentType.BOILER]: {
- inputAdapter: null,
- reqFunction: submitBoilerSign,
- outputAdapter: null,
- },
- [EquipmentType.PIPE]: {
- inputAdapter: null,
- reqFunction: submitPipeSign,
- outputAdapter: null,
- },
- [EquipmentType.CONTAINER]: {
- inputAdapter: null,
- reqFunction: signConfirm,
- outputAdapter: null,
- },
- },
- }
- export const requestFunc = (funcName: SignFuncName, equipType: EquipmentType, params: any) => {
- const funMap = map[funcName]
- const adapter = funMap[equipType]
- // 1. input adapter
- let reqParams = params
- if (adapter.inputAdapter != null) {
- reqParams = adapter.inputAdapter(params)
- }
- if (!adapter.reqFunction) {
- throw new Error('api for send is not exists')
- }
- // 2. send req
- const respData = adapter.reqFunction(reqParams)
- // 3. output adapter
- let adaptedRespData = respData
- if (adapter.outputAdapter) {
- adaptedRespData = adaptedRespData = adapter.outputAdapter(respData)
- }
- return adaptedRespData
- }
|