mirror of
https://github.com/unanmed/HumanBreak.git
synced 2025-04-19 17:16:08 +08:00
feat: 局域网服务器
This commit is contained in:
parent
3e0311897f
commit
8de7e046ab
@ -42,6 +42,7 @@
|
||||
"@types/babel__core": "^7.20.1",
|
||||
"@types/fontmin": "^0.9.0",
|
||||
"@types/fs-extra": "^9.0.13",
|
||||
"@types/http-proxy": "^1.17.14",
|
||||
"@types/lodash-es": "^4.17.9",
|
||||
"@types/node": "^18.17.14",
|
||||
"@types/ws": "^8.5.5",
|
||||
@ -53,6 +54,7 @@
|
||||
"fontmin": "^0.9.9",
|
||||
"form-data": "^4.0.0",
|
||||
"fs-extra": "^10.1.0",
|
||||
"http-proxy": "^1.18.1",
|
||||
"less": "^4.2.0",
|
||||
"postcss-preset-env": "^9.4.0",
|
||||
"rollup": "^3.29.4",
|
||||
|
@ -76,6 +76,9 @@ devDependencies:
|
||||
'@types/fs-extra':
|
||||
specifier: ^9.0.13
|
||||
version: 9.0.13
|
||||
'@types/http-proxy':
|
||||
specifier: ^1.17.14
|
||||
version: 1.17.14
|
||||
'@types/lodash-es':
|
||||
specifier: ^4.17.9
|
||||
version: 4.17.9
|
||||
@ -109,6 +112,9 @@ devDependencies:
|
||||
fs-extra:
|
||||
specifier: ^10.1.0
|
||||
version: 10.1.0
|
||||
http-proxy:
|
||||
specifier: ^1.18.1
|
||||
version: 1.18.1
|
||||
less:
|
||||
specifier: ^4.2.0
|
||||
version: 4.2.0
|
||||
@ -2943,6 +2949,12 @@ packages:
|
||||
'@types/node': 18.17.14
|
||||
dev: true
|
||||
|
||||
/@types/http-proxy@1.17.14:
|
||||
resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==}
|
||||
dependencies:
|
||||
'@types/node': 18.17.14
|
||||
dev: true
|
||||
|
||||
/@types/linkify-it@3.0.5:
|
||||
resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==}
|
||||
dev: true
|
||||
@ -4337,6 +4349,10 @@ packages:
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/eventemitter3@4.0.7:
|
||||
resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
|
||||
dev: true
|
||||
|
||||
/exponential-backoff@3.1.1:
|
||||
resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==}
|
||||
dev: true
|
||||
@ -4733,6 +4749,17 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/http-proxy@1.18.1:
|
||||
resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
|
||||
engines: {node: '>=8.0.0'}
|
||||
dependencies:
|
||||
eventemitter3: 4.0.7
|
||||
follow-redirects: 1.15.2
|
||||
requires-port: 1.0.0
|
||||
transitivePeerDependencies:
|
||||
- debug
|
||||
dev: true
|
||||
|
||||
/https-proxy-agent@5.0.1:
|
||||
resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
|
||||
engines: {node: '>= 6'}
|
||||
@ -6222,6 +6249,10 @@ packages:
|
||||
engines: {node: '>= 10'}
|
||||
dev: true
|
||||
|
||||
/requires-port@1.0.0:
|
||||
resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
|
||||
dev: true
|
||||
|
||||
/resize-observer-polyfill@1.5.1:
|
||||
resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
|
||||
dev: false
|
||||
|
37
script/wlan.ts
Normal file
37
script/wlan.ts
Normal file
@ -0,0 +1,37 @@
|
||||
import { networkInterfaces } from 'os';
|
||||
import proxy from 'http-proxy';
|
||||
import { createServer } from 'http';
|
||||
|
||||
const port = process.argv[2];
|
||||
|
||||
const network = networkInterfaces();
|
||||
|
||||
let ip: string;
|
||||
|
||||
for (const interfaceName in network) {
|
||||
const interfaces = network[interfaceName];
|
||||
if (!interfaces) continue;
|
||||
if (interfaceName !== 'WLAN') continue;
|
||||
for (const iface of interfaces) {
|
||||
// 检查是否为IPv4地址且非内部地址
|
||||
if (iface.family === 'IPv4' && !iface.internal) {
|
||||
console.log(`局域网IP地址: ${iface.address}`);
|
||||
ip = iface.address;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (ip!) {
|
||||
const server = proxy.createProxyServer();
|
||||
const httpServer = createServer((req, res) => {
|
||||
server.web(req, res, { target: `http://localhost:${port}` }, err => {
|
||||
console.log(err);
|
||||
});
|
||||
});
|
||||
httpServer.listen(Number(port) + 1000, ip, () => {
|
||||
console.log(`Wlan server on: http://${ip}:${Number(port) + 1000}`);
|
||||
console.log(
|
||||
`Editor on: http://${ip}:${Number(port) + 1000}/editor.html`
|
||||
);
|
||||
});
|
||||
}
|
@ -425,7 +425,7 @@ mainSetting
|
||||
.register('itemDetail', '宝石血瓶显伤', true, COM.Boolean)
|
||||
.register('transition', '界面动画', false, COM.Boolean)
|
||||
.register('antiAlias', '抗锯齿', false, COM.Boolean)
|
||||
.register('fontSize', '字体大小', isMobile ? 12 : 16, COM.Number, [2, 48, 1])
|
||||
.register('fontSize', '字体大小', isMobile ? 10 : 16, COM.Number, [2, 48, 1])
|
||||
.register('fontSizeStatus', '状态栏字体', 100, COM.Number, [20, 300, 10])
|
||||
.register('smoothView', '平滑镜头', true, COM.Boolean)
|
||||
.register('criticalGem', '临界显示方式', false, COM.Boolean)
|
||||
@ -485,7 +485,7 @@ loading.once('coreInit', () => {
|
||||
'screen.itemDetail': !!storage.getValue('screen.itemDetail', true),
|
||||
'screen.transition': !!storage.getValue('screen.transition', false),
|
||||
'screen.antiAlias': !!storage.getValue('screen.antiAlias', false),
|
||||
'screen.fontSize': storage.getValue('screen.fontSize', isMobile ? 12 : 16),
|
||||
'screen.fontSize': storage.getValue('screen.fontSize', isMobile ? 10 : 16),
|
||||
'screen.fontSizeStatus': storage.getValue('screen.fontSizeStatus', 100),
|
||||
'screen.smoothView': !!storage.getValue('screen.smoothView', true),
|
||||
'screen.criticalGem': !!storage.getValue('screen.criticalGem', false),
|
||||
|
@ -4,6 +4,7 @@ import { loading } from '../game';
|
||||
|
||||
export interface CurrentEnemy {
|
||||
enemy: DamageEnemy;
|
||||
// 这个是干啥的?
|
||||
onMapEnemy: DamageEnemy[];
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user