import type { MockMethod } from './types' const brands = [ { id: 1, brandName: 'FANUC', deviceField: 'device', tagsPath: 'tags', isEnabled: 1, fieldCount: 16 }, { id: 2, brandName: 'SIEMENS', deviceField: 'device', tagsPath: 'tags', isEnabled: 1, fieldCount: 12 }, { id: 3, brandName: 'MITSUBISHI', deviceField: 'device', tagsPath: 'tags', isEnabled: 0, fieldCount: 8 }, ] const standardFields = [ 'program_name', 'part_count', 'device_status', 'run_status', 'operate_mode', 'spindle_speed_set', 'feed_speed_set', 'spindle_speed_actual', 'feed_speed_actual', 'spindle_load', 'spindle_override', 'power_on_time', 'run_time', 'cutting_time', 'cycle_time', 'machining_status', ] const fanucMappings = [ { id: 1, standardField: 'program_name', fieldName: 'Tag5', matchBy: 'id', dataType: 'string', isRequired: 1 }, { id: 2, standardField: 'part_count', fieldName: 'Tag8', matchBy: 'id', dataType: 'number', isRequired: 1 }, { id: 3, standardField: 'device_status', fieldName: '_io_status', matchBy: 'id', dataType: 'number', isRequired: 1 }, { id: 4, standardField: 'run_status', fieldName: 'Tag9', matchBy: 'id', dataType: 'number', isRequired: 0 }, { id: 5, standardField: 'operate_mode', fieldName: 'Tag10', matchBy: 'id', dataType: 'number', isRequired: 0 }, { id: 6, standardField: 'spindle_speed_set', fieldName: 'Tag11', matchBy: 'id', dataType: 'number', isRequired: 0 }, { id: 7, standardField: 'feed_speed_set', fieldName: 'Tag12', matchBy: 'id', dataType: 'number', isRequired: 0 }, { id: 8, standardField: 'spindle_speed_actual', fieldName: 'Tag13', matchBy: 'id', dataType: 'number', isRequired: 0 }, { id: 9, standardField: 'feed_speed_actual', fieldName: 'Tag14', matchBy: 'id', dataType: 'number', isRequired: 0 }, { id: 10, standardField: 'spindle_load', fieldName: 'Tag15', matchBy: 'id', dataType: 'number', isRequired: 0 }, { id: 11, standardField: 'spindle_override', fieldName: 'Tag16', matchBy: 'id', dataType: 'number', isRequired: 0 }, { id: 12, standardField: 'power_on_time', fieldName: 'Tag17', matchBy: 'id', dataType: 'number', isRequired: 0 }, { id: 13, standardField: 'run_time', fieldName: 'Tag18', matchBy: 'id', dataType: 'number', isRequired: 0 }, { id: 14, standardField: 'cutting_time', fieldName: 'Tag19', matchBy: 'id', dataType: 'number', isRequired: 0 }, { id: 15, standardField: 'cycle_time', fieldName: 'Tag20', matchBy: 'id', dataType: 'number', isRequired: 0 }, { id: 16, standardField: 'machining_status', fieldName: 'Tag21', matchBy: 'id', dataType: 'string', isRequired: 0 }, ] const mock: MockMethod[] = [ { url: '/mock-api/admin/brand', method: 'get', response: () => ({ code: 0, data: { items: brands } }), }, { url: '/mock-api/admin/brand/detail', method: 'get', response: ({ query }: any) => { const id = Number(query.id) const b = brands.find((b: any) => b.id === id) return { code: 0, data: { ...b, mappings: id === 1 ? fanucMappings : [] } } }, }, { url: '/mock-api/admin/brand', method: 'post', response: () => ({ code: 0, message: 'success', data: { id: 4, brandName: '新品牌' } }), }, { url: '/mock-api/admin/brand/update', method: 'post', response: () => ({ code: 0, message: 'success', data: null }), }, { url: '/mock-api/admin/brand/delete', method: 'post', response: () => ({ code: 0, message: 'success', data: null }), }, { url: '/mock-api/admin/brand/copy', method: 'post', response: () => ({ code: 0, message: 'success', data: { id: 4, brandName: '新复制品牌' } }), }, { url: '/mock-api/admin/brand/toggle', method: 'post', response: () => ({ code: 0, message: 'success', data: null }), }, { url: '/mock-api/admin/brand/standard-fields', method: 'get', response: () => ({ code: 0, data: { items: standardFields } }), }, ] export default mock