修复服务器bug

This commit is contained in:
unanmed 2023-05-13 22:09:05 +08:00
parent a746823f63
commit 72e61ccf41
3 changed files with 79 additions and 68 deletions

5
components.d.ts vendored
View File

@ -7,7 +7,12 @@ export {}
declare module '@vue/runtime-core' { declare module '@vue/runtime-core' {
export interface GlobalComponents { export interface GlobalComponents {
ADivider: typeof import('ant-design-vue/es')['Divider']
AProgress: typeof import('ant-design-vue/es')['Progress'] AProgress: typeof import('ant-design-vue/es')['Progress']
ASelect: typeof import('ant-design-vue/es')['Select']
ASelectOption: typeof import('ant-design-vue/es')['SelectOption']
ASlider: typeof import('ant-design-vue/es')['Slider']
ASwitch: typeof import('ant-design-vue/es')['Switch']
Box: typeof import('./src/components/box.vue')['default'] Box: typeof import('./src/components/box.vue')['default']
BoxAnimate: typeof import('./src/components/boxAnimate.vue')['default'] BoxAnimate: typeof import('./src/components/boxAnimate.vue')['default']
Colomn: typeof import('./src/components/colomn.vue')['default'] Colomn: typeof import('./src/components/colomn.vue')['default']

View File

@ -314,6 +314,7 @@ async function writeMultiFiles(req: Request, res: Response) {
* @param {string} data * @param {string} data
*/ */
async function doDeclaration(type: string, data: string) { async function doDeclaration(type: string, data: string) {
try {
const buf = Buffer.from(data, 'base64'); const buf = Buffer.from(data, 'base64');
data = buf.toString('utf-8'); data = buf.toString('utf-8');
if (type === 'events') { if (type === 'events') {
@ -324,7 +325,7 @@ async function doDeclaration(type: string, data: string) {
for (const id in eventData.commonEvent) { for (const id in eventData.commonEvent) {
eventDec += ` | '${id}'\n`; eventDec += ` | '${id}'\n`;
} }
await fs.writeFile('../src/source/events.d.ts', eventDec, 'utf-8'); await fs.writeFile('src/source/events.d.ts', eventDec, 'utf-8');
} else if (type === 'items') { } else if (type === 'items') {
// 道具 // 道具
const itemData = JSON.parse(data.split('\n').slice(1).join('')); const itemData = JSON.parse(data.split('\n').slice(1).join(''));
@ -334,7 +335,7 @@ async function doDeclaration(type: string, data: string) {
itemDec += ` ${id}: '${itemData[id].cls}';\n`; itemDec += ` ${id}: '${itemData[id].cls}';\n`;
} }
itemDec += '}'; itemDec += '}';
await fs.writeFile('../src/source/items.d.ts', itemDec, 'utf-8'); await fs.writeFile('src/source/items.d.ts', itemDec, 'utf-8');
} else if (type === 'maps') { } else if (type === 'maps') {
// 映射 // 映射
const d = JSON.parse(data.split('\n').slice(1).join('')); const d = JSON.parse(data.split('\n').slice(1).join(''));
@ -351,9 +352,9 @@ async function doDeclaration(type: string, data: string) {
id2cls += '}'; id2cls += '}';
id2num += '}'; id2num += '}';
num2id += '}'; num2id += '}';
await fs.writeFile('../src/source/cls.d.ts', id2cls, 'utf-8'); await fs.writeFile('src/source/cls.d.ts', id2cls, 'utf-8');
await fs.writeFile( await fs.writeFile(
'../src/source/maps.d.ts', 'src/source/maps.d.ts',
`${id2num}\n${num2id}`, `${id2num}\n${num2id}`,
'utf-8' 'utf-8'
); );
@ -381,7 +382,7 @@ async function doDeclaration(type: string, data: string) {
names += '}'; names += '}';
await fs.writeFile( await fs.writeFile(
'../src/source/data.d.ts', 'src/source/data.d.ts',
` `
${floorId} ${floorId}
${d.images.length > 0 ? imgs : 'type ImageIds = never\n'} ${d.images.length > 0 ? imgs : 'type ImageIds = never\n'}
@ -394,6 +395,9 @@ ${names}
'utf-8' 'utf-8'
); );
} }
} catch (e) {
console.log(e);
}
} }
async function startHttpServer(port: number = 3000) { async function startHttpServer(port: number = 3000) {
@ -496,7 +500,7 @@ function watchProject() {
// 数据热重载 // 数据热重载
if (/project(\/|\\).*\.js/.test(path)) { if (/project(\/|\\).*\.js/.test(path)) {
const data = basename(path); const data = basename(path).slice(0, -3);
ws.send(JSON.stringify({ type: 'dataHotReload', data })); ws.send(JSON.stringify({ type: 'dataHotReload', data }));
console.log(`Data hot reload: ${data}.`); console.log(`Data hot reload: ${data}.`);
return; return;
@ -510,7 +514,9 @@ function watchProject() {
} }
// 剩余内容全部reload // 剩余内容全部reload
if (!/_.*/.test(path)) {
ws.send(JSON.stringify({ type: 'reload' })); ws.send(JSON.stringify({ type: 'reload' }));
}
}); });
} }

View File

@ -105,7 +105,7 @@ export {};
*/ */
async function reloadData(data) { async function reloadData(data) {
const script = document.createElement('script'); const script = document.createElement('script');
script.src = `.forceTem/project/${data}.js?v=${Date.now()}`; script.src = `/forceTem/project/${data}.js?v=${Date.now()}`;
document.body.appendChild(script); document.body.appendChild(script);
await new Promise(res => { await new Promise(res => {
script.onload = () => res('success'); script.onload = () => res('success');