feat: 封装js
parent
e36fa01227
commit
f5ab55c4bc
|
@ -0,0 +1,17 @@
|
||||||
|
import { cdcmRequestClient } from './request';
|
||||||
|
|
||||||
|
export async function cdcmTemplateAPI(params, key) {
|
||||||
|
return cdcmRequestClient.post('/template', params, {
|
||||||
|
headers: {
|
||||||
|
action: key.code,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function cdcmDriverAPI(params, key) {
|
||||||
|
return cdcmRequestClient.post('/driver', params, {
|
||||||
|
headers: {
|
||||||
|
action: key.code,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
|
@ -0,0 +1,69 @@
|
||||||
|
import type { RequestClientOptions } from '@vben/request';
|
||||||
|
|
||||||
|
import { useAppConfig } from '@vben/hooks';
|
||||||
|
import { defaultResponseInterceptor, RequestClient } from '@vben/request';
|
||||||
|
|
||||||
|
import { useTokenStore } from '#/store'; // cc:增加token存储
|
||||||
|
|
||||||
|
const { apiURL } = useAppConfig(import.meta.env, import.meta.env.PROD);
|
||||||
|
|
||||||
|
function createCDCMRequestClient(
|
||||||
|
baseURL: string,
|
||||||
|
options?: RequestClientOptions,
|
||||||
|
) {
|
||||||
|
const client = new RequestClient({
|
||||||
|
...options,
|
||||||
|
baseURL,
|
||||||
|
});
|
||||||
|
|
||||||
|
client.addResponseInterceptor(
|
||||||
|
defaultResponseInterceptor({
|
||||||
|
codeField: 'code',
|
||||||
|
dataField: 'data',
|
||||||
|
successCode: 0,
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
|
// 响应拦截器:自动更新 token
|
||||||
|
client.addResponseInterceptor({
|
||||||
|
fulfilled: (response) => {
|
||||||
|
const token = response.headers?.token;
|
||||||
|
if (token) {
|
||||||
|
// 如果响应头中有新 token,自动更新 store
|
||||||
|
useTokenStore().setToken(token);
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
},
|
||||||
|
rejected: (error) => {
|
||||||
|
// 统一错误处理(如 token 过期)
|
||||||
|
if (error.response?.status === 401) {
|
||||||
|
useTokenStore().deleteToken();
|
||||||
|
// 这里要跳登录页面
|
||||||
|
}
|
||||||
|
return Promise.reject(error);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
// 请求拦截器:自动添加 token
|
||||||
|
client.addRequestInterceptor({
|
||||||
|
fulfilled: (config) => {
|
||||||
|
const token = useTokenStore().token;
|
||||||
|
if (token) {
|
||||||
|
// 添加 CDCM 自定义头部
|
||||||
|
config.headers.set('cdcm', token, true);
|
||||||
|
}
|
||||||
|
return config;
|
||||||
|
},
|
||||||
|
rejected: (error) => {
|
||||||
|
// 请求错误处理
|
||||||
|
return Promise.reject(error);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
return client;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const cdcmRequestClient = createCDCMRequestClient(apiURL);
|
||||||
|
|
||||||
|
export async function cdcmTemplateAPI(params: any) {
|
||||||
|
return cdcmRequestClient.post('/api/v1/cdcm', params);
|
||||||
|
}
|
|
@ -0,0 +1,129 @@
|
||||||
|
// 请求码
|
||||||
|
export interface TemplateQuerySupportType {
|
||||||
|
code: number;
|
||||||
|
desc: string;
|
||||||
|
}
|
||||||
|
export const DeviceCreate: TemplateQuerySupportType = {
|
||||||
|
code: 52_302,
|
||||||
|
desc: '创建设备',
|
||||||
|
};
|
||||||
|
export const DeviceDelete: TemplateQuerySupportType = {
|
||||||
|
code: 52_304,
|
||||||
|
desc: '删除设备',
|
||||||
|
};
|
||||||
|
export const DeviceQueryAll: TemplateQuerySupportType = {
|
||||||
|
code: 52_301,
|
||||||
|
desc: '查询所有设备',
|
||||||
|
};
|
||||||
|
export const DeviceUpdate: TemplateQuerySupportType = {
|
||||||
|
code: 52_303,
|
||||||
|
desc: '更新设备',
|
||||||
|
};
|
||||||
|
export const DriverCreate: TemplateQuerySupportType = {
|
||||||
|
code: 52_202,
|
||||||
|
desc: '创建驱动',
|
||||||
|
};
|
||||||
|
export const DriverDelete: TemplateQuerySupportType = {
|
||||||
|
code: 52_204,
|
||||||
|
desc: '删除驱动',
|
||||||
|
};
|
||||||
|
export const DriverQuery: TemplateQuerySupportType = {
|
||||||
|
code: 52_205,
|
||||||
|
desc: '查询驱动',
|
||||||
|
};
|
||||||
|
export const DriverQueryPage: TemplateQuerySupportType = {
|
||||||
|
code: 52_201,
|
||||||
|
desc: '查询模板点位',
|
||||||
|
};
|
||||||
|
export const DriverQueryStatus: TemplateQuerySupportType = {
|
||||||
|
code: 52_206,
|
||||||
|
desc: '查询驱动状态',
|
||||||
|
};
|
||||||
|
export const DriverQuerySupportType: TemplateQuerySupportType = {
|
||||||
|
code: 52_004,
|
||||||
|
desc: '查询驱动支持的类型',
|
||||||
|
};
|
||||||
|
export const DriverStart: TemplateQuerySupportType = {
|
||||||
|
code: 52_207,
|
||||||
|
desc: '启动驱动',
|
||||||
|
};
|
||||||
|
export const DriverStop: TemplateQuerySupportType = {
|
||||||
|
code: 52_208,
|
||||||
|
desc: '停止驱动',
|
||||||
|
};
|
||||||
|
export const DriverTemplateQuery: TemplateQuerySupportType = {
|
||||||
|
code: 52_209,
|
||||||
|
desc: '查询驱动模板',
|
||||||
|
};
|
||||||
|
export const DriverUpdate: TemplateQuerySupportType = {
|
||||||
|
code: 52_203,
|
||||||
|
desc: '更新驱动',
|
||||||
|
};
|
||||||
|
export const HistoryClear: TemplateQuerySupportType = {
|
||||||
|
code: 52_404,
|
||||||
|
desc: '清除历史记录',
|
||||||
|
};
|
||||||
|
export const HistoryExport: TemplateQuerySupportType = {
|
||||||
|
code: 52_405,
|
||||||
|
desc: '导出历史记录',
|
||||||
|
};
|
||||||
|
export const HistoryQuery: TemplateQuerySupportType = {
|
||||||
|
code: 52_403,
|
||||||
|
desc: '查询历史记录',
|
||||||
|
};
|
||||||
|
export const HistoryQueryConfig: TemplateQuerySupportType = {
|
||||||
|
code: 52_401,
|
||||||
|
desc: '查询历史记录配置',
|
||||||
|
};
|
||||||
|
export const HistoryUpdateConfig: TemplateQuerySupportType = {
|
||||||
|
code: 52_402,
|
||||||
|
desc: '更新历史记录配置',
|
||||||
|
};
|
||||||
|
export const PointCreate: TemplateQuerySupportType = {
|
||||||
|
code: 52_022,
|
||||||
|
desc: '创建模板点位',
|
||||||
|
};
|
||||||
|
export const PointDelete: TemplateQuerySupportType = {
|
||||||
|
code: 52_024,
|
||||||
|
desc: '删除模板点位',
|
||||||
|
};
|
||||||
|
export const PointQueryAll: TemplateQuerySupportType = {
|
||||||
|
code: 52_021,
|
||||||
|
desc: '查询所有模板点位',
|
||||||
|
};
|
||||||
|
export const PointUpdate: TemplateQuerySupportType = {
|
||||||
|
code: 52_023,
|
||||||
|
desc: '更新模板点位',
|
||||||
|
};
|
||||||
|
export const TemplateCreate: TemplateQuerySupportType = {
|
||||||
|
code: 52_012,
|
||||||
|
desc: '创建模板',
|
||||||
|
};
|
||||||
|
export const TemplateDelete: TemplateQuerySupportType = {
|
||||||
|
code: 52_014,
|
||||||
|
desc: '删除模板',
|
||||||
|
};
|
||||||
|
export const TemplatePointQuerySupportAccess: TemplateQuerySupportType = {
|
||||||
|
code: 52_003,
|
||||||
|
desc: '查询模板点位支持的权限类型',
|
||||||
|
};
|
||||||
|
export const TemplatePointQuerySupportType: TemplateQuerySupportType = {
|
||||||
|
code: 52_002,
|
||||||
|
desc: '查询模板点位支持的数据类型',
|
||||||
|
};
|
||||||
|
export const TemplateQuery: TemplateQuerySupportType = {
|
||||||
|
code: 52_015,
|
||||||
|
desc: '查询模板',
|
||||||
|
};
|
||||||
|
export const TemplateQueryPage: TemplateQuerySupportType = {
|
||||||
|
code: 52_011,
|
||||||
|
desc: '查询所有模板',
|
||||||
|
};
|
||||||
|
export const TemplateQuerySupportType: TemplateQuerySupportType = {
|
||||||
|
code: 52_001,
|
||||||
|
desc: '查询模板支持的类型',
|
||||||
|
};
|
||||||
|
export const TemplateUpdate: TemplateQuerySupportType = {
|
||||||
|
code: 52_013,
|
||||||
|
desc: '更新模板',
|
||||||
|
};
|
|
@ -0,0 +1,60 @@
|
||||||
|
import { useAppConfig } from '@vben/hooks';
|
||||||
|
import { defaultResponseInterceptor, RequestClient } from '@vben/request';
|
||||||
|
|
||||||
|
import { useTokenStore } from '#/store';
|
||||||
|
|
||||||
|
const { apiURL } = useAppConfig(import.meta.env, import.meta.env.PROD);
|
||||||
|
|
||||||
|
function createCDCMRequestClient(baseURL, options) {
|
||||||
|
const client = new RequestClient({
|
||||||
|
...options,
|
||||||
|
baseURL,
|
||||||
|
});
|
||||||
|
|
||||||
|
client.addResponseInterceptor(
|
||||||
|
defaultResponseInterceptor({
|
||||||
|
codeField: 'code',
|
||||||
|
dataField: 'data',
|
||||||
|
successCode: 0,
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
|
// 响应拦截器:自动更新 token
|
||||||
|
client.addResponseInterceptor({
|
||||||
|
fulfilled: (response) => {
|
||||||
|
const token = response.headers?.token;
|
||||||
|
if (token) {
|
||||||
|
// 如果响应头中有新 token,自动更新 store
|
||||||
|
useTokenStore().setToken(token);
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
},
|
||||||
|
rejected: (error) => {
|
||||||
|
// 统一错误处理(如 token 过期)
|
||||||
|
if (error.response?.status === 401) {
|
||||||
|
useTokenStore().deleteToken();
|
||||||
|
// 这里要跳登录页面
|
||||||
|
}
|
||||||
|
return Promise.reject(error);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
// 请求拦截器:自动添加 token
|
||||||
|
client.addRequestInterceptor({
|
||||||
|
fulfilled: (config) => {
|
||||||
|
const token = useTokenStore().token;
|
||||||
|
if (token) {
|
||||||
|
// 添加 CDCM 自定义头部
|
||||||
|
config.headers.set('cdcm', token, true);
|
||||||
|
}
|
||||||
|
return config;
|
||||||
|
},
|
||||||
|
rejected: (error) => {
|
||||||
|
// 请求错误处理
|
||||||
|
return Promise.reject(error);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
return client;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const cdcmRequestClient = createCDCMRequestClient(apiURL);
|
|
@ -1,3 +1,17 @@
|
||||||
|
<script setup lang="js">
|
||||||
|
import { cdcmTemplateAPI } from '#/cdcm/api/api.js';
|
||||||
|
import { templateQuerySupportType } from '#/cdcm/api/req_code';
|
||||||
|
|
||||||
|
const params = {
|
||||||
|
page_num: 1,
|
||||||
|
page_size: 10,
|
||||||
|
};
|
||||||
|
console.warn(
|
||||||
|
'cdcmTemplateAPI',
|
||||||
|
cdcmTemplateAPI(params, templateQuerySupportType),
|
||||||
|
);
|
||||||
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<page> 采集驱动 </page>
|
<page> 采集驱动 </page>
|
||||||
</template>
|
</template>
|
||||||
|
|
Loading…
Reference in New Issue