mirror of https://github.com/certd/certd
pref: 允许忽略自签证书校验
parent
18ee87daff
commit
09847ce074
|
@ -5,6 +5,7 @@ import { HttpProxyAgent } from 'http-proxy-agent';
|
|||
import { HttpsProxyAgent } from 'https-proxy-agent';
|
||||
import nodeHttp from 'http';
|
||||
import * as https from 'node:https';
|
||||
import { merge } from 'lodash-es';
|
||||
export class HttpError extends Error {
|
||||
status?: number;
|
||||
statusText?: string;
|
||||
|
@ -40,7 +41,7 @@ export class HttpError extends Error {
|
|||
url = error.config?.baseURL + url;
|
||||
}
|
||||
if (url) {
|
||||
this.message = `${this.message} : ${url}`;
|
||||
this.message = `${this.message} : url=${url}`;
|
||||
}
|
||||
|
||||
this.response = {
|
||||
|
@ -99,6 +100,11 @@ export function createAxiosService({ logger }: { logger: Logger }) {
|
|||
delete config.skipSslVerify;
|
||||
config.httpsAgent = agents.httpsAgent;
|
||||
config.httpAgent = agents.httpAgent;
|
||||
|
||||
// const agent = new https.Agent({
|
||||
// rejectUnauthorized: false // 允许自签名证书
|
||||
// });
|
||||
// config.httpsAgent = agent;
|
||||
config.proxy = false; //必须 否则还会走一层代理,
|
||||
return config;
|
||||
},
|
||||
|
@ -161,9 +167,6 @@ export function createAxiosService({ logger }: { logger: Logger }) {
|
|||
`请求出错:status:${error.response?.status},statusText:${error.response?.statusText},url:${error.config?.url},method:${error.config?.method}。`
|
||||
);
|
||||
logger.error('返回数据:', JSON.stringify(error.response?.data));
|
||||
if (error?.config?.logRes !== false) {
|
||||
logger.error('返回数据:', JSON.stringify(error.response?.data));
|
||||
}
|
||||
if (error.response?.data) {
|
||||
error.message = error.response.data.message || error.response.data.msg || error.response.data.error || error.response.data;
|
||||
}
|
||||
|
@ -195,6 +198,7 @@ export function createAgent(opts: nodeHttp.AgentOptions = {}) {
|
|||
if (httpProxy) {
|
||||
logger.info('use httpProxy:', httpProxy);
|
||||
httpAgent = new HttpProxyAgent(httpProxy, opts as any);
|
||||
merge(httpAgent.options, opts);
|
||||
} else {
|
||||
httpAgent = new nodeHttp.Agent(opts);
|
||||
}
|
||||
|
@ -202,6 +206,7 @@ export function createAgent(opts: nodeHttp.AgentOptions = {}) {
|
|||
if (httpsProxy) {
|
||||
logger.info('use httpsProxy:', httpsProxy);
|
||||
httpsAgent = new HttpsProxyAgent(httpsProxy, opts as any);
|
||||
merge(httpsAgent.options, opts);
|
||||
} else {
|
||||
httpsAgent = new https.Agent(opts);
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
"debug:force": "vite --force --mode debug",
|
||||
"build": " vite build ",
|
||||
"dev-build": "echo 1",
|
||||
"test:unit": "vitest",
|
||||
"serve": "vite preview",
|
||||
"preview": "vite preview",
|
||||
"pretty-quick": "pretty-quick",
|
||||
|
@ -114,7 +115,9 @@
|
|||
"vite-plugin-html": "^3.2.2",
|
||||
"vite-plugin-windicss": "^1.9.3",
|
||||
"vue-eslint-parser": "^9.4.2",
|
||||
"vue-tsc": "^1.8.8"
|
||||
"vue-tsc": "^1.8.8",
|
||||
"@vue/test-utils": "^2.4.6",
|
||||
"vitest": "^2.1.2"
|
||||
},
|
||||
"husky": {
|
||||
"hooks": {
|
||||
|
|
|
@ -53,7 +53,9 @@ function createService() {
|
|||
// @ts-ignore
|
||||
response.config.onError(new Error(errorMessage));
|
||||
}
|
||||
errorCreate(`${errorMessage}: ${response.config.url}`);
|
||||
//@ts-ignore
|
||||
const showErrorNotify = response?.config?.showErrorNotify;
|
||||
errorCreate(`${errorMessage}: ${response.config.url}`, showErrorNotify);
|
||||
return dataAxios;
|
||||
}
|
||||
}
|
||||
|
@ -97,7 +99,7 @@ function createService() {
|
|||
default:
|
||||
break;
|
||||
}
|
||||
errorLog(error);
|
||||
errorLog(error, error?.response?.config?.showErrorNotify);
|
||||
if (status === 401) {
|
||||
const userStore = useUserStore();
|
||||
userStore.logout();
|
||||
|
|
|
@ -48,7 +48,7 @@ export function responseError(data = {}, msg = "请求失败", code = 500) {
|
|||
* @description 记录和显示错误
|
||||
* @param {Error} error 错误对象
|
||||
*/
|
||||
export function errorLog(error: any) {
|
||||
export function errorLog(error: any, notify = true) {
|
||||
// 打印到控制台
|
||||
console.error("errorLog", error);
|
||||
let message = error.message;
|
||||
|
@ -58,17 +58,22 @@ export function errorLog(error: any) {
|
|||
if (message.indexOf("ssl3_get_record:wrong version number") >= 0) {
|
||||
message = "http协议错误,服务端要求http协议,请检查是否使用了https请求";
|
||||
}
|
||||
// 显示提示
|
||||
uiContext.get().notification.error({ message });
|
||||
if (notify) {
|
||||
// 显示提示
|
||||
uiContext.get().notification.error({ message });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 创建一个错误
|
||||
* @param {String} msg 错误信息
|
||||
*/
|
||||
export function errorCreate(msg: string) {
|
||||
export function errorCreate(msg: string, notify = true) {
|
||||
const err = new Error(msg);
|
||||
console.error("errorCreate", err);
|
||||
uiContext.get().notification.error({ message: err.message });
|
||||
if (notify) {
|
||||
uiContext.get().notification.error({ message: err.message });
|
||||
}
|
||||
|
||||
throw err;
|
||||
}
|
||||
|
|
|
@ -43,6 +43,7 @@ const attrs = useAttrs();
|
|||
const optionsRef = ref([]);
|
||||
const message = ref("");
|
||||
const getOptions = async () => {
|
||||
message.value = "";
|
||||
const res = await doRequest(
|
||||
{
|
||||
type: props.type,
|
||||
|
@ -53,10 +54,10 @@ const getOptions = async () => {
|
|||
{
|
||||
onError(err: any) {
|
||||
message.value = `获取选项出错:${err.message}`;
|
||||
}
|
||||
},
|
||||
showErrorNotify: false
|
||||
}
|
||||
);
|
||||
message.value = "";
|
||||
return res;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue