Commit dc30c192 authored by haiyoucuv's avatar haiyoucuv

new 模板

parent c4f942aa
...@@ -32,15 +32,15 @@ ...@@ -32,15 +32,15 @@
// alert("【警告】检测到活动url中没有appID参数\n缺少该参数会导致埋点、分享、app信息获取错误。") // alert("【警告】检测到活动url中没有appID参数\n缺少该参数会导致埋点、分享、app信息获取错误。")
} }
</script> </script>
<script type="module" crossorigin src="//yun.duiba.com.cn/db_games/spark/v3/1729496487145/assets/index-IOlgD7Xl.js"></script> <script type="module" crossorigin src="//yun.duiba.com.cn/db_games/spark/v3/1729517141652/assets/index-DPQtDLbj.js"></script>
<link rel="stylesheet" crossorigin href="//yun.duiba.com.cn/db_games/spark/v3/1729496487145/assets/index-yKeX4PuT.css"> <link rel="stylesheet" crossorigin href="//yun.duiba.com.cn/db_games/spark/v3/1729517141652/assets/index-DFky1LnK.css">
<script type="module">import.meta.url;import("_").catch(()=>1);(async function*(){})().next();if(location.protocol!="file:"){window.__vite_is_modern_browser=true}</script> <script type="module">import.meta.url;import("_").catch(()=>1);(async function*(){})().next();if(location.protocol!="file:"){window.__vite_is_modern_browser=true}</script>
<script type="module">!function(){if(window.__vite_is_modern_browser)return;console.warn("vite: loading legacy chunks, syntax error above and the same error below should be ignored");var e=document.getElementById("vite-legacy-polyfill"),n=document.createElement("script");n.src=e.src,n.onload=function(){System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))},document.body.appendChild(n)}();</script> <script type="module">!function(){if(window.__vite_is_modern_browser)return;console.warn("vite: loading legacy chunks, syntax error above and the same error below should be ignored");var e=document.getElementById("vite-legacy-polyfill"),n=document.createElement("script");n.src=e.src,n.onload=function(){System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))},document.body.appendChild(n)}();</script>
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
<script nomodule>!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",(function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()}),!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script> <script nomodule>!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",(function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()}),!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script>
<script nomodule crossorigin id="vite-legacy-polyfill" src="//yun.duiba.com.cn/db_games/spark/v3/1729496487145/assets/polyfills-legacy-lCXTzC3s.js"></script> <script nomodule crossorigin id="vite-legacy-polyfill" src="//yun.duiba.com.cn/db_games/spark/v3/1729517141652/assets/polyfills-legacy-W9lTZna6.js"></script>
<script nomodule crossorigin id="vite-legacy-entry" data-src="//yun.duiba.com.cn/db_games/spark/v3/1729496487145/assets/index-legacy-BdSZAkKJ.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script> <script nomodule crossorigin id="vite-legacy-entry" data-src="//yun.duiba.com.cn/db_games/spark/v3/1729517141652/assets/index-legacy-fDO6dxZd.js">System.import(document.getElementById('vite-legacy-entry').getAttribute('data-src'))</script>
</body> </body>
</html> </html>
import { AESEncrypt } from "./Crypto"; import { AESEncrypt } from "./Crypto";
import { MockMethod, MockConfig } from 'vite-plugin-mock';
export default [ export default [
{ {
......
export default [
{
url: '/log/clock',
method: 'get',
response: 1,
},
]
import React, { Component, StrictMode } from 'react' import React, { Component } from 'react'
import { observer } from "mobx-react"; import { observer } from "mobx-react";
import { createRoot } from "react-dom/client"; import { createRoot } from "react-dom/client";
import store from "./store/store"; import store from "./store/store";
import "./utils/checkwebp"; import "./utils/checkwebp";
import '@csstools/normalize.css';
import MD from "./MD"; // 埋点 import MD from "./MD"; // 埋点
MD();
import './App.less'
import { PAGE_MAP } from "./utils/constants"; import { PAGE_MAP } from "./utils/constants";
import LoadingDemo from "./pages/LoadingDemo/LoadingDemo"; import LoadingDemo from "./pages/LoadingDemo/LoadingDemo";
import HomeDemo from "./pages/HomeDemo/HomeDemo"; import HomeDemo from "./pages/HomeDemo/HomeDemo";
import Modal from "./modal/modal"; import Modal from "./modal/modal";
import './App.less'
import '@csstools/normalize.css';
import API from "./api";
MD();
const pageMap = { const pageMap = {
[PAGE_MAP.LOADING_PAGE]: <LoadingDemo />, [PAGE_MAP.LOADING_PAGE]: <LoadingDemo />,
...@@ -28,14 +28,16 @@ class App extends Component { ...@@ -28,14 +28,16 @@ class App extends Component {
async componentDidMount() { async componentDidMount() {
await store.getFrontVariable(); await store.getFrontVariable();
store.initRule();
API.doJoin();
} }
render() { render() {
const {curPage, pageData} = store; const { curPage, pageData } = store;
return ( return (
<> <>
{{...pageMap[curPage], props: {...pageData}}} {{ ...pageMap[curPage], props: { ...pageData } }}
<Modal/> <Modal />
</> </>
); );
} }
......
...@@ -4,8 +4,7 @@ import { logClick, logExposure } from "@spark/utils/src-js/md"; ...@@ -4,8 +4,7 @@ import { logClick, logExposure } from "@spark/utils/src-js/md";
const appId = CFG.appID; const appId = CFG.appID;
const dcm = "202." + CFG.projectId + ".0.0"; const dcm = "202." + CFG.projectId + ".0.0";
const domain = "//embedlog.duiba.com.cn"; const domain = "https://embedlog.duiba.com.cn";
const dom = `${CFG.channel}.0.0.0`
const MDList = new Array(50).fill("").map((v, i) => { const MDList = new Array(50).fill("").map((v, i) => {
return { return {
ele: `.md${i + 1}`, ele: `.md${i + 1}`,
...@@ -14,7 +13,6 @@ const MDList = new Array(50).fill("").map((v, i) => { ...@@ -14,7 +13,6 @@ const MDList = new Array(50).fill("").map((v, i) => {
dcm, dcm,
domain, domain,
appId, appId,
dom,
}, },
once: false, once: false,
}; };
...@@ -32,7 +30,6 @@ export function handleLogExposure(id, id2 = 0) { ...@@ -32,7 +30,6 @@ export function handleLogExposure(id, id2 = 0) {
dcm, dcm,
domain, domain,
appId, appId,
dom
}); });
} }
export function handleLogClick(id, id2 = 0) { export function handleLogClick(id, id2 = 0) {
...@@ -41,6 +38,5 @@ export function handleLogClick(id, id2 = 0) { ...@@ -41,6 +38,5 @@ export function handleLogClick(id, id2 = 0) {
dcm, dcm,
domain, domain,
appId, appId,
dom
}); });
} }
import { generateAPI } from "./utils.js" import { generateAPI } from "./utils"
const API = generateAPI({ const API = generateAPI({
/** 获取活动规则 */ /** 获取活动规则 */
......
declare type Methods = 'get' | 'post';
declare interface APIArguments {
uri: string,
method?: Methods | Uppercase<Methods>,
headers?: any
withToken?: boolean
secret?: string,
secretKey?: string,
contentType?: string,
showMsg?:boolean,
showLoading?: boolean;
}
declare type APIConfig = APIArguments | string
declare interface GenerateAPIParams {
[key: string]: APIConfig
}
declare type RequestParamType = Record<string, any>
declare interface ResponseType<T = any> {
code: number,
success: boolean,
message: string,
data: T
}
export declare function generateAPI<
T extends GenerateAPIParams = GenerateAPIParams,
P = RequestParamType,
Q = ResponseType>
(apiList: T): {
[key in keyof T]: (args?: P) => Promise<Q>
}
import { callApi } from '@spark/api-base'
import { Loading, Toast } from '@spark/ui'
import { isFromShare, newUser } from '../built-in/duiba-utils';
import { errorHandler } from "../utils/errorHandler";
import { getPxToken } from "../built-in/getPxToken";
const mergeData = {
user_type: newUser ? '0' : '1',
is_from_share: isFromShare ? '0' : '1',
}
// let tempCookieId = "";
//
// export function setCookieId(cookieId) {
// tempCookieId = cookieId;
// }
export function resetBackCookie(duibaTempCookieId) {
return new Promise((resolve) => {
callApi("/autoLogin/resetCookie", {
duibaTempCookieId
}).then((resp) => {
return resolve('success');
}, (e) => {
return resolve(e);
});
});
}
/**
* 请求方法get、post处理
* @param {*} value
* @returns
*/
function getRequestParams(value) {
if (typeof value === 'string') {
return {
uri: value,
method: 'get'
}
} else if (typeof value === 'object') {
const { uri, method = 'get', showMsg = true, showLoading = false, headers, withToken, secret, secretKey, contentType = 'form' } = value;
return {
uri,
method,
headers,
withToken,
secret,
secretKey,
contentType,
showLoading,
showMsg
}
} else {
console.error('getRequestParams: 传参有误');
}
}
/**
* 请求API通用处理
* @param {*} value
* @returns
*/
export function generateAPI(apiList) {
const api = {};
for (const key in apiList) {
const value = apiList[key];
const { method, uri, headers: mHeaders, withToken, secret, secretKey, contentType, showLoading, showMsg = true } = getRequestParams(value);
api[key] = async (params = {}, headers) => {
// cookie丢失的问题
// 如遇跳转Cookie丢失,打开如下代码
// const duibaTempCookieId = localStorage.getItem("db_temp_cookie");
// // const duibaTempCookieId = tempCookieId;
//
// if (duibaTempCookieId) {
// localStorage.removeItem("db_temp_cookie");
// // tempCookieId = "";
//
// const res = await API.userLogin()
// .catch(async () => {
// await resetBackCookie(duibaTempCookieId);
// });
//
// if (!res || !res.success) {
// await resetBackCookie(duibaTempCookieId);
// }
// }
// 根据接口配置showLoading展示loading
// 600ms内结束的请求不显示loading,避免闪烁
let query = false;
showLoading && setTimeout(() => {
if (!query) {
Loading.show();
}
}, 600);
let token;
if (withToken) { // 是否携带token
try {
token = await getPxToken(); // 获取token
} catch (e) {
Toast('网络异常,请稍后再试~');
query = true;
showLoading && Loading.hide();// 根据接口配置showLoading关闭loading
return ({ success: false, data: '' });
}
}
const mergedHeaders = { ...mHeaders, ...headers }
if (withToken && token) {
params.token = token;
}
params = { ...params, ...mergeData };
const result = await callApi(uri, params, method, mergedHeaders, false, secret, secretKey, contentType)
.catch(e => {
query = true;
// 捕获网络异常
showMsg && Toast(e.message || '网络异常,请稍后再试~');
showLoading && Loading.hide();
});
query = true;
showLoading && Loading.hide();// 根据接口配置showLoading关闭loading
return new Promise((resolve) => {
if (result) {
// 判断接口错误
if (!result.success && showMsg) {
errorHandler(result);
}
// 返回整个结果
resolve(result);
} else {
resolve({ success: false, data: '' });
}
})
}
}
return api;
}
import { Toast } from '@spark/ui'
import { isFromShare, newUser } from '../built-in/duiba-utils';
import { errorHandler } from "@/utils/errorHandler.js";
import { getPxToken } from "@/built-in/getPxToken.js";
import { Axios } from 'axios';
interface IRes {
success: boolean;
data: any;
msg: string;
code: number | string;
}
const mergeData = {
user_type: newUser ? '0' : '1',
is_from_share: isFromShare ? '0' : '1',
}
// let tempCookieId = "";
//
// export function setCookieId(cookieId) {
// tempCookieId = cookieId;
// }
export function resetBackCookie(duibaTempCookieId) {
return new Promise((resolve) => {
apiAxios.request({
url: "/autoLogin/resetCookie",
data: {
duibaTempCookieId
}
}).then((resp) => {
return resolve('success');
}, (e) => {
return resolve(e);
});
});
}
/**
* 请求方法get、post处理
* @param {*} value
* @returns
*/
function getRequestParams(value) {
if (typeof value === 'string') {
return {
uri: value,
method: 'get'
}
} else if (typeof value === 'object') {
const {
uri,
method = 'get',
showMsg = true,
headers,
withToken,
} = value;
return {
uri,
method,
headers,
withToken,
showMsg
}
} else {
console.error('getRequestParams: 传参有误');
}
}
const apiAxios = new Axios({
timeout: 10000,
});
apiAxios.interceptors.response.use(
async (resp) => {
try {
const res = JSON.parse(resp.data);
if (res.success) {
return res;
} else {
return { success: false };
}
} catch (e) {
return { success: false };
}
},
async (error) => {
console.error(error);
return { success: false };
}
);
/**
* 请求API通用处理
* @returns
* @param apiList
*/
export function generateAPI(apiList): { [key in string]: (params?, headers?) => Promise<IRes> } {
const api = {};
for (const key in apiList) {
let value = apiList[key];
if (typeof value === 'string') {
value = {
uri: value,
method: 'get'
}
}
const {
method = 'get',
uri,
headers: mHeaders,
withToken,
showMsg = true
} = value;
api[key] = async (params: any = {}, headers: any = {}) => {
// cookie丢失的问题
// 如遇跳转Cookie丢失,打开如下代码
// const duibaTempCookieId = localStorage.getItem("db_temp_cookie");
// // const duibaTempCookieId = tempCookieId;
//
// if (duibaTempCookieId) {
// localStorage.removeItem("db_temp_cookie");
// // tempCookieId = "";
//
// const res = await API.userLogin()
// .catch(async () => {
// await resetBackCookie(duibaTempCookieId);
// });
//
// if (!res || !res.success) {
// await resetBackCookie(duibaTempCookieId);
// }
// }
if (withToken) { // 是否携带token
params.token = await getPxToken()
.catch(() => {
Toast('网络异常,请稍后再试~');
return ({ success: false, data: '' });
});
}
const mergedHeaders = { ...mHeaders, ...headers }
params = { ...params, ...mergeData };
const res: IRes = await apiAxios.request({
method,
url: uri,
headers: mergedHeaders,
data: params,
});
if (res) {
if (!res.success && showMsg) {
errorHandler(res);
}
return res;
} else {
return { success: false, data: '' };
}
}
}
return api;
}
...@@ -5,7 +5,7 @@ export class CodeError { ...@@ -5,7 +5,7 @@ export class CodeError {
stack: string; stack: string;
payload: any; payload: any;
constructor(input, message) { constructor(input, message?) {
if (typeof input === 'number' || typeof input === 'string') { if (typeof input === 'number' || typeof input === 'string') {
this.code = input + ''; this.code = input + '';
} else if (typeof input === 'object') { } else if (typeof input === 'object') {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* Created by rockyl on 2019-11-22. * Created by rockyl on 2019-11-22.
*/ */
import {injectProp, obj2query} from "./utils"; import { injectProp, obj2query } from "./utils";
/** /**
* http请求 * http请求
...@@ -16,16 +16,14 @@ export function httpRequest(url: string, method: string = 'get', params?: any, t ...@@ -16,16 +16,14 @@ export function httpRequest(url: string, method: string = 'get', params?: any, t
let openUrl = url.indexOf('blob') === 0 ? url : urlJoin(url, '__ts__=' + Date.now()); let openUrl = url.indexOf('blob') === 0 ? url : urlJoin(url, '__ts__=' + Date.now());
let mParams = {}; let mParams = {};
injectProp(mParams, params); injectProp(mParams, params);
if (type === "jsonp") {
return jsonp(openUrl, mParams);
} else {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
let mHeaders = { let mHeaders = {
'Content-Type': 'application/x-www-form-urlencoded', 'Content-Type': 'application/x-www-form-urlencoded',
}; };
injectProp(mHeaders, headers); injectProp(mHeaders, headers);
let request = {url, method, params: mParams, type, headers: mHeaders}; let request = { url, method, params: mParams, type, headers: mHeaders };
const mock = window['mock']; const mock = window['mock'];
let mockRule; let mockRule;
...@@ -41,7 +39,6 @@ export function httpRequest(url: string, method: string = 'get', params?: any, t ...@@ -41,7 +39,6 @@ export function httpRequest(url: string, method: string = 'get', params?: any, t
doRequest(request, resolve, reject); doRequest(request, resolve, reject);
} }
}); });
}
} }
function doProxyRequest(payload, resolve, reject) { function doProxyRequest(payload, resolve, reject) {
...@@ -73,7 +70,7 @@ function doProxyRequest(payload, resolve, reject) { ...@@ -73,7 +70,7 @@ function doProxyRequest(payload, resolve, reject) {
} }
} }
function doXhrRequest({url, method, params, type, headers}, resolve, reject) { function doXhrRequest({ url, method, params, type, headers }, resolve, reject) {
let xhr; let xhr;
if (window["XMLHttpRequest"]) { if (window["XMLHttpRequest"]) {
xhr = new XMLHttpRequest(); xhr = new XMLHttpRequest();
...@@ -128,32 +125,6 @@ function doRequest(payload, resolve, reject) { ...@@ -128,32 +125,6 @@ function doRequest(payload, resolve, reject) {
} }
} }
/**
* jsonp请求
* @param url
* @param params
*/
export function jsonp(url, params) {
return new Promise<void>((resolve, reject) => {
const src = urlJoin(url, obj2query(params));
const scriptEl = document.createElement('script');
scriptEl.src = src;
scriptEl.onload = function () {
resolve();
document.body.removeChild(scriptEl);
};
scriptEl.onerror = function () {
reject();
document.body.removeChild(scriptEl);
};
/*const callbackFuncName = '__zeroing_jsonp_callback__' + Math.random();
window[callbackFuncName] = function () {
callback(result);
};*/
document.body.appendChild(scriptEl);
})
}
export function urlJoin(url, query) { export function urlJoin(url, query) {
if (query) { if (query) {
url += url.indexOf('?') < 0 ? '?' : ''; url += url.indexOf('?') < 0 ? '?' : '';
......
...@@ -79,8 +79,8 @@ export function obj2query(obj: any): string { ...@@ -79,8 +79,8 @@ export function obj2query(obj: any): string {
if(!obj) { if(!obj) {
return ''; return '';
} }
let arr: string[] = []; const arr: string[] = [];
for(let key in obj) { for(const key in obj) {
arr.push(key + (key ? '=' : '') + obj[key]); arr.push(key + (key ? '=' : '') + obj[key]);
} }
return arr.join('&'); return arr.join('&');
......
import * as utils from "./utils.js"; import * as utils from "./utils.js";
import "./intersection-observer.polyfill.js"; import "./intersection-observer.polyfill.js";
import "intersection-observer"; import "intersection-observer";
import { jsonp } from "../net/jsonp.ts";
import axios from "axios";
const showedMapper = {}; const showedMapper = {};
...@@ -47,21 +50,13 @@ function doClickLog(data) { ...@@ -47,21 +50,13 @@ function doClickLog(data) {
if (!validateParam(data)) { if (!validateParam(data)) {
return; return;
} }
const net = { axios.get(`/log/click?${new URLSearchParams(data).toString()}`);
name: "clickLog",
uri: "/log/click",
type: "get",
dataType: "json",
param: data,
callback: null,
hideMsg: true,
};
doAjax(net);
} }
const intersectionObservers: IntersectionObserver[] = [] const intersectionObservers: IntersectionObserver[] = []
function registryIntersectionObserver(items) { function registryIntersectionObserver(items: any[]) {
for (const observer of intersectionObservers) { for (const observer of intersectionObservers) {
observer.disconnect() observer.disconnect()
} }
...@@ -119,7 +114,7 @@ function registryIntersectionObserver(items) { ...@@ -119,7 +114,7 @@ function registryIntersectionObserver(items) {
}); });
} }
const generatorShow = (item) => { const generatorShow = (item: { ele: any; data: any; once?: any; }) => {
// 目标元素在dom中则处理 // 目标元素在dom中则处理
if (utils.getReference(item.ele)) { if (utils.getReference(item.ele)) {
// 参数校验 // 参数校验
...@@ -140,16 +135,9 @@ const generatorShow = (item) => { ...@@ -140,16 +135,9 @@ const generatorShow = (item) => {
showedMapper[ele] = true; showedMapper[ele] = true;
observer.unobserve(change.target); observer.unobserve(change.target);
const net = {
name: "showLog", jsonp(`${data.domain}/exposure/standard?${new URLSearchParams(data).toString()}`);
uri: data.domain + "/exposure/standard",
type: "get",
dataType: "jsonp",
param: data,
callback: null,
hideMsg: true,
};
doAjax(net);
} else { } else {
// 消失在视口 // 消失在视口
if (!once) { if (!once) {
...@@ -178,34 +166,9 @@ function doShowLog(items) { ...@@ -178,34 +166,9 @@ function doShowLog(items) {
observer.observe(document, { childList: true, subtree: true }); observer.observe(document, { childList: true, subtree: true });
} }
/**
* 发送请求
* @param net
*/
export const doAjax = (net) => {
let realUrl = net.uri;
//url加参数等特殊需求(例如再玩一次需要在dostart接口的url上加埋点)
if (net.addUrl) {
realUrl += net.addUrl;
}
window["$"].ajax({
type: net.type,
url: realUrl,
dataType: net.dataType,
data: net.param,
async: true,
success: (result) => {
console.log(`完成${net.name}${net.param}`);
},
error: (message) => {
console.info(message)
},
});
};
const MD = { const MD = {
doClickLog: (data) => doClickLog(data), doClickLog: (data: any) => doClickLog(data),
doShowLog: (items) => doShowLog(items), doShowLog: (items: any) => doShowLog(items),
}; };
export default MD; export default MD;
import { obj2query, urlJoin } from "@/built-in/utils/utils";
export function jsonp(url: string, params: any = {}) {
return new Promise<void>((resolve, reject) => {
const src = urlJoin(url, obj2query(params));
const scriptEl = document.createElement('script');
scriptEl.src = src;
scriptEl.onload = function () {
resolve();
document.body.removeChild(scriptEl);
};
scriptEl.onerror = function () {
reject();
document.body.removeChild(scriptEl);
};
/*const callbackFuncName = '__zeroing_jsonp_callback__' + Math.random();
window[callbackFuncName] = function () {
callback(result);
};*/
document.body.appendChild(scriptEl);
})
}
\ No newline at end of file
/**
* 对象转query字符串
* @param obj
*/
export function obj2query(obj: any): string {
if(!obj) {
return '';
}
const arr: string[] = [];
for(const key in obj) {
arr.push(key + (key ? '=' : '') + obj[key]);
}
return arr.join('&');
}
export function urlJoin(url: string, query: any) {
if (query) {
url += url.indexOf('?') < 0 ? '?' : '';
url += url[url.length - 1] === '?' ? '' : '&';
return url + query;
} else {
return url;
}
}
...@@ -15,8 +15,8 @@ class HomeDemo extends React.Component { ...@@ -15,8 +15,8 @@ class HomeDemo extends React.Component {
} }
render() { render() {
return <div className="homeDemo"> return <div className="homeDemo md1">
<div className="homeImg md1" /> <div className="homeImg" />
<img src={png} /> <img src={png} />
当前为活动首页 当前为活动首页
<SvgaPlayer className="svga" src={svga} /> <SvgaPlayer className="svga" src={svga} />
......
import { defineConfig } from 'vite' import { defineConfig, UserConfig } from 'vite'
import react from '@vitejs/plugin-react' import react from '@vitejs/plugin-react'
import legacy from '@vitejs/plugin-legacy' import legacy from '@vitejs/plugin-legacy'
import autoprefixer from "autoprefixer" import autoprefixer from "autoprefixer"
...@@ -9,7 +9,7 @@ import dotenv from 'dotenv'; ...@@ -9,7 +9,7 @@ import dotenv from 'dotenv';
import * as path from "node:path"; import * as path from "node:path";
// https://vitejs.dev/config/ // https://vitejs.dev/config/
export default defineConfig(({ mode }) => { export default defineConfig(({ mode }): UserConfig => {
dotenv.config({ path: [`./config/.env.global`, `./config/.env.${mode}`] }); dotenv.config({ path: [`./config/.env.global`, `./config/.env.${mode}`] });
...@@ -33,9 +33,7 @@ export default defineConfig(({ mode }) => { ...@@ -33,9 +33,7 @@ export default defineConfig(({ mode }) => {
server: { server: {
// port: 3001 // port: 3001
open: false, open: false,
}, host: "0.0.0.0",
build: {
chunkSizeWarningLimit: 10,
}, },
resolve: { resolve: {
alias: { alias: {
......
...@@ -1574,7 +1574,7 @@ autoprefixer@^10.4.20: ...@@ -1574,7 +1574,7 @@ autoprefixer@^10.4.20:
picocolors "^1.0.1" picocolors "^1.0.1"
postcss-value-parser "^4.2.0" postcss-value-parser "^4.2.0"
axios@^1.6.8: axios@^1.6.8, axios@^1.7.7:
version "1.7.7" version "1.7.7"
resolved "http://npm.dui88.com:80/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" resolved "http://npm.dui88.com:80/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f"
integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment