mirror of
https://github.com/unanmed/HumanBreak.git
synced 2025-09-24 00:11:48 +08:00
Compare commits
3 Commits
f0551d163f
...
0d98a6ce57
Author | SHA1 | Date | |
---|---|---|---|
0d98a6ce57 | |||
0b611c897a | |||
b34de95c06 |
18
components.d.ts
vendored
18
components.d.ts
vendored
@ -1,18 +0,0 @@
|
||||
// generated by unplugin-vue-components
|
||||
// We suggest you to commit this file into source control
|
||||
// Read more: https://github.com/vuejs/core/pull/3399
|
||||
import '@vue/runtime-core'
|
||||
|
||||
export {}
|
||||
|
||||
declare module '@vue/runtime-core' {
|
||||
export interface GlobalComponents {
|
||||
ADivider: typeof import('ant-design-vue/es')['Divider']
|
||||
AInput: typeof import('ant-design-vue/es')['Input']
|
||||
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']
|
||||
}
|
||||
}
|
10
package.json
10
package.json
@ -52,9 +52,9 @@
|
||||
"@types/fontmin": "^0.9.5",
|
||||
"@types/fs-extra": "^11.0.4",
|
||||
"@types/lodash-es": "^4.17.12",
|
||||
"@types/node": "^18.19.80",
|
||||
"@types/node": "^22.18.0",
|
||||
"@types/ws": "^8.18.0",
|
||||
"@vitejs/plugin-legacy": "^6.0.2",
|
||||
"@vitejs/plugin-legacy": "^7.2.1",
|
||||
"@vitejs/plugin-vue": "^6.0.1",
|
||||
"@vitejs/plugin-vue-jsx": "^5.1.1",
|
||||
"archiver": "^7.0.1",
|
||||
@ -62,7 +62,8 @@
|
||||
"compressing": "^1.10.1",
|
||||
"concurrently": "^9.1.2",
|
||||
"eslint": "^9.22.0",
|
||||
"eslint-plugin-prettier": "^5.5.0",
|
||||
"eslint-config-prettier": "^10.1.8",
|
||||
"eslint-plugin-prettier": "^5.5.4",
|
||||
"eslint-plugin-react": "^7.37.5",
|
||||
"eslint-plugin-vue": "^9.33.0",
|
||||
"express": "^5.1.0",
|
||||
@ -82,8 +83,7 @@
|
||||
"tsx": "^4.20.5",
|
||||
"typescript": "^5.9.2",
|
||||
"typescript-eslint": "^8.27.0",
|
||||
"unplugin-vue-components": "^0.22.12",
|
||||
"vite": "^6.3.5",
|
||||
"vite": "^7.0.0",
|
||||
"vite-plugin-dts": "^4.5.4",
|
||||
"vitepress": "^1.6.3",
|
||||
"vitepress-plugin-mermaid": "^2.0.17",
|
||||
|
@ -1,9 +1,7 @@
|
||||
import { Mota } from '@user/entry-data';
|
||||
import * as Client from '@motajs/client';
|
||||
import * as ClientBase from '@motajs/client-base';
|
||||
import * as Common from '@motajs/common';
|
||||
import * as LegacyClient from '@motajs/legacy-client';
|
||||
import * as LegacyCommon from '@motajs/legacy-common';
|
||||
import * as LegacySystem from '@motajs/legacy-system';
|
||||
import * as LegacyUI from '@motajs/legacy-ui';
|
||||
import * as Render from '@motajs/render';
|
||||
@ -26,9 +24,7 @@ export function create() {
|
||||
|
||||
Mota.register('@motajs/client', Client);
|
||||
Mota.register('@motajs/client-base', ClientBase);
|
||||
Mota.register('@motajs/common', Common);
|
||||
Mota.register('@motajs/legacy-client', LegacyClient);
|
||||
Mota.register('@motajs/legacy-common', LegacyCommon);
|
||||
Mota.register('@motajs/legacy-system', LegacySystem);
|
||||
Mota.register('@motajs/legacy-ui', LegacyUI);
|
||||
Mota.register('@motajs/render', Render);
|
||||
|
@ -1,4 +1,6 @@
|
||||
import { Mota } from './mota';
|
||||
import * as Common from '@motajs/common';
|
||||
import * as LegacyCommon from '@motajs/legacy-common';
|
||||
import * as DataBase from '@user/data-base';
|
||||
import * as DataFallback from '@user/data-fallback';
|
||||
import * as DataState from '@user/data-state';
|
||||
@ -8,6 +10,8 @@ import * as LegacyPluginData from '@user/legacy-plugin-data';
|
||||
export function create() {
|
||||
DataBase.loading.once('registered', createModule);
|
||||
|
||||
Mota.register('@motajs/common', Common);
|
||||
Mota.register('@motajs/legacy-common', LegacyCommon);
|
||||
Mota.register('@user/data-base', DataBase);
|
||||
Mota.register('@user/data-fallback', DataFallback);
|
||||
Mota.register('@user/data-state', DataState);
|
||||
|
@ -610,16 +610,6 @@ export async function loadCompressedResource() {
|
||||
});
|
||||
const list: CompressedLoadList = JSON.parse(data.data);
|
||||
|
||||
// const d = data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d;
|
||||
// 对于bgm,直接按照原来的方式加载即可
|
||||
// d.main.bgms.forEach(v => {
|
||||
// const res = LoadTask.add('audio', `audio/${v}`);
|
||||
// Mota.r(() => {
|
||||
// res.once('loadStart', res => {
|
||||
// Mota.require('var', 'bgm').add(`bgms.${v}`, res.resource!);
|
||||
// });
|
||||
// });
|
||||
// });
|
||||
// 对于区域内容,按照zip格式进行加载,然后解压处理
|
||||
const autotiles: Partial<Record<AllIdsOf<'autotile'>, HTMLImageElement>> =
|
||||
{};
|
||||
@ -716,7 +706,7 @@ export async function loadCompressedResource() {
|
||||
document.fonts.add(
|
||||
new FontFace(name.slice(0, -4), font)
|
||||
);
|
||||
} else if (usage === 'sound') {
|
||||
} else if (usage === 'sound' && main.mode === 'play') {
|
||||
const { soundPlayer } = Mota.require(
|
||||
'@user/client-modules'
|
||||
);
|
||||
|
@ -9,12 +9,12 @@
|
||||
<Scroll class="column-left" :id="`column-left-${id}`">
|
||||
<slot name="left"></slot>
|
||||
</Scroll>
|
||||
<a-divider
|
||||
<Divider
|
||||
class="divider"
|
||||
dashed
|
||||
style="border-color: #ddd4"
|
||||
:type="isMobile ? 'horizontal' : 'vertical'"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<Scroll class="column-right" :id="`column-right-${id}`"
|
||||
><slot name="right"></slot
|
||||
></Scroll>
|
||||
@ -25,6 +25,7 @@
|
||||
<script lang="ts" setup>
|
||||
import { onMounted, onUpdated } from 'vue';
|
||||
import { LeftOutlined } from '@ant-design/icons-vue';
|
||||
import { Divider } from 'ant-design-vue';
|
||||
import Scroll from './scroll.vue';
|
||||
import { isMobile, requireUniqueSymbol } from '../use';
|
||||
import { isNil } from 'lodash-es';
|
||||
|
@ -27,11 +27,11 @@
|
||||
</div>
|
||||
<div class="special-text" v-else>无属性</div>
|
||||
</div>
|
||||
<a-divider
|
||||
<Divider
|
||||
type="vertical"
|
||||
dashed
|
||||
style="height: 100%; margin: 0 3% 0 1%; border-color: #ddd4"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<div class="rightbar">
|
||||
<div class="detail">
|
||||
<div class="detail-info">
|
||||
@ -76,7 +76,6 @@
|
||||
}}</span
|
||||
>
|
||||
</div>
|
||||
|
||||
<div class="detail-info">
|
||||
<span style="color: lightsalmon"
|
||||
>临界 {{
|
||||
@ -110,6 +109,7 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { Divider } from 'ant-design-vue';
|
||||
import BoxAnimate from '../components/boxAnimate.vue';
|
||||
import { isMobile } from '../use';
|
||||
import { ToShowEnemy } from '../tools/book';
|
||||
|
@ -5,11 +5,11 @@
|
||||
<canvas ref="critical" class="chart"></canvas>
|
||||
<div class="slider-div">
|
||||
<span>加攻次数 {{ addAtk }}</span>
|
||||
<a-slider
|
||||
<Slider
|
||||
class="slider"
|
||||
v-model:value="addAtk"
|
||||
:max="ceil((originCri.at(-1)?.[0] ?? 2) / ratio) - 1"
|
||||
></a-slider>
|
||||
></Slider>
|
||||
<span
|
||||
>最大值 {{
|
||||
ceil((originCri.at(-1)?.[0] ?? 2) / ratio) - 1
|
||||
@ -17,20 +17,20 @@
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
style="width: 100%; border-color: #ddd4; margin: 1vh 0 1vh 0"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<div id="def">
|
||||
<div class="des">加防伤害</div>
|
||||
<canvas ref="def" class="chart"></canvas>
|
||||
<div class="slider-div">
|
||||
<span>加防次数 {{ addDef }}</span>
|
||||
<a-slider
|
||||
<Slider
|
||||
class="slider"
|
||||
v-model:value="addDef"
|
||||
:max="ceil((originDef.at(-1)?.[0] ?? 2) / ratio) - 1"
|
||||
></a-slider>
|
||||
></Slider>
|
||||
<span
|
||||
>最大值 {{
|
||||
ceil((originDef.at(-1)?.[0] ?? 2) / ratio) - 1
|
||||
@ -93,6 +93,7 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { Slider, Divider } from 'ant-design-vue';
|
||||
import { computed, onMounted, ref, watch } from 'vue';
|
||||
import { detailInfo, getCriticalDamage, getDefDamage } from '../tools/book';
|
||||
import Chart, { ChartConfiguration } from 'chart.js/auto';
|
||||
|
@ -5,10 +5,10 @@
|
||||
<component :is="info"></component>
|
||||
</div>
|
||||
</Scroll>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
style="margin: 2vh 0 2vh 0; border-color: #ddd4"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<div id="critical">
|
||||
<div style="font-size: 2.5vh; width: 100%; text-align: center">
|
||||
临界表
|
||||
@ -31,6 +31,7 @@
|
||||
import { isMobile } from '../use';
|
||||
import { detailInfo, getSpecialHint } from '../tools/book';
|
||||
import Scroll from '../components/scroll.vue';
|
||||
import { Divider } from 'ant-design-vue';
|
||||
|
||||
const props = defineProps<{
|
||||
fromBook?: boolean;
|
||||
|
@ -23,10 +23,10 @@
|
||||
@select="select(e, i)"
|
||||
@hover="selected = i"
|
||||
></EnemyOne>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
style="width: 100%; border-color: #ddd4"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
</div>
|
||||
</Scroll>
|
||||
</div>
|
||||
@ -50,6 +50,7 @@ import { mainSetting } from '../preset/settingIns';
|
||||
import { isMobile } from '../use';
|
||||
import { IMountedVBind } from '../interface';
|
||||
import { isNil } from 'lodash-es';
|
||||
import { Divider } from 'ant-design-vue';
|
||||
|
||||
const props = defineProps<IMountedVBind>();
|
||||
|
||||
|
@ -8,10 +8,10 @@
|
||||
</div>
|
||||
<div id="info" :style="{ top: `${top}px` }">
|
||||
<EnemyOne :enemy="enemy!"></EnemyOne>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
style="margin: 2vh 0 2vh 0; border-color: #ddd4; width: 100%"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
</div>
|
||||
<Transition name="detail">
|
||||
<EnemySpecial
|
||||
@ -78,6 +78,7 @@ import { LeftOutlined, RightOutlined } from '@ant-design/icons-vue';
|
||||
import EnemyCritical from '../panel/enemyCritical.vue';
|
||||
import { detailInfo } from '../tools/book';
|
||||
import { gameKey } from '@motajs/system-action';
|
||||
import { Divider } from 'ant-design-vue';
|
||||
|
||||
const props = defineProps<{
|
||||
fromBook?: boolean;
|
||||
|
@ -29,14 +29,14 @@
|
||||
<meh-outlined />
|
||||
</span>
|
||||
<div id="danmaku-input-div">
|
||||
<a-input
|
||||
<Input
|
||||
id="danmaku-input-input"
|
||||
:max-length="200"
|
||||
v-model:value="inputValue"
|
||||
:max-length="200"
|
||||
placeholder="请在此输入弹幕,显示中括号请使用\[或\]"
|
||||
autocomplete="off"
|
||||
@change="input(inputValue)"
|
||||
@pressEnter="inputEnter()"
|
||||
@press-enter="inputEnter()"
|
||||
/>
|
||||
</div>
|
||||
<span
|
||||
@ -50,14 +50,14 @@
|
||||
<Transition name="danmaku">
|
||||
<div v-if="cssOpened" id="danmaku-css">
|
||||
<span id="danmaku-css-hint">编辑弹幕的 CSS 样式</span>
|
||||
<a-input
|
||||
<Input
|
||||
id="danmaku-css-input"
|
||||
:max-length="300"
|
||||
v-model:value="cssInfo"
|
||||
:max-length="300"
|
||||
placeholder="请在此输入样式"
|
||||
autocomplete="off"
|
||||
@blur="inputCSS(cssInfo)"
|
||||
@pressEnter="inputCSS(cssInfo)"
|
||||
@press-enter="inputCSS(cssInfo)"
|
||||
/>
|
||||
<span v-if="cssError" id="danmaku-css-error">{{
|
||||
cssError
|
||||
@ -113,7 +113,7 @@
|
||||
></span>
|
||||
</div>
|
||||
</Scroll>
|
||||
<a-input
|
||||
<Input
|
||||
id="danmaku-color-input"
|
||||
:max-length="100"
|
||||
v-model:value="nowColor"
|
||||
@ -121,7 +121,7 @@
|
||||
autocomplete="off"
|
||||
@blur="inputColor(nowColor)"
|
||||
@pressEnter="inputColor(nowColor)"
|
||||
></a-input>
|
||||
></Input>
|
||||
</div>
|
||||
</Transition>
|
||||
<Transition name="danmaku-icon">
|
||||
@ -168,6 +168,7 @@ import Scroll from '../components/scroll.vue';
|
||||
import BoxAnimate from '../components/boxAnimate.vue';
|
||||
import { IMountedVBind } from '../interface';
|
||||
import { tip } from '../use';
|
||||
import { Input } from 'ant-design-vue';
|
||||
|
||||
const props = defineProps<IMountedVBind>();
|
||||
|
||||
|
@ -11,19 +11,17 @@
|
||||
<div id="equipbox-main">
|
||||
<div id="equip-list">
|
||||
<div id="filter">
|
||||
<a-select v-model:value="norm" class="select">
|
||||
<a-select-option v-for="t of normList" :value="t">{{
|
||||
<Select v-model:value="norm" class="select">
|
||||
<SelectOption v-for="t of normList" :value="t">{{
|
||||
t === 'none' ? '所有' : getStatusLabel(t)
|
||||
}}</a-select-option>
|
||||
</a-select>
|
||||
<a-divider type="vertical" class="divider"></a-divider>
|
||||
<a-select v-model:value="sType" class="select">
|
||||
<a-select-option value="value">数值</a-select-option>
|
||||
<a-select-option value="percentage"
|
||||
>百分比</a-select-option
|
||||
>
|
||||
</a-select>
|
||||
<a-divider type="vertical" class="divider"></a-divider>
|
||||
}}</SelectOption>
|
||||
</Select>
|
||||
<Divider type="vertical" class="divider"></Divider>
|
||||
<Select v-model:value="sType" class="select">
|
||||
<SelectOption value="value">数值</SelectOption>
|
||||
<SelectOption value="percentage">百分比</SelectOption>
|
||||
</Select>
|
||||
<Divider type="vertical" class="divider"></Divider>
|
||||
<span
|
||||
@click="changeSort()"
|
||||
class="button-text"
|
||||
@ -35,10 +33,10 @@
|
||||
<span v-else><sort-descending-outlined /></span>
|
||||
</span>
|
||||
</div>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
style="border-color: #ddd4; margin: 1vh 0 1vh 0"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<Scroll id="equip-scroll"
|
||||
><div
|
||||
class="equip selectable"
|
||||
@ -62,12 +60,12 @@
|
||||
>
|
||||
</div>
|
||||
<div id="equip-status">
|
||||
<a-divider
|
||||
<Divider
|
||||
class="divider"
|
||||
:type="isMobile ? 'horizontal' : 'vertical'"
|
||||
dashed
|
||||
style="border-color: #ddd4"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<div id="equip-status-main">
|
||||
<div id="equip-now">
|
||||
<Scroll
|
||||
@ -94,10 +92,10 @@
|
||||
</div>
|
||||
</Scroll>
|
||||
</div>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
style="border-color: #ddd4; margin: 1vh 0 1vh 0"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<div id="equip-hero" v-if="!isMobile">
|
||||
<div id="hero-icon">
|
||||
<BoxAnimate
|
||||
@ -112,21 +110,21 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a-divider
|
||||
<Divider
|
||||
v-if="!isMobile"
|
||||
class="divider"
|
||||
type="vertical"
|
||||
dashed
|
||||
style="border-color: #ddd4"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
</div>
|
||||
<div id="equip-desc">
|
||||
<div id="equip-icon">
|
||||
<BoxAnimate
|
||||
:id="
|
||||
isCol
|
||||
? equiped[selected] ?? 'none'
|
||||
: toShow[selected]?.[0] ?? 'none'
|
||||
? (equiped[selected] ?? 'none')
|
||||
: (toShow[selected]?.[0] ?? 'none')
|
||||
"
|
||||
></BoxAnimate>
|
||||
<span>{{ equip.name }}</span>
|
||||
@ -134,20 +132,20 @@
|
||||
<div id="equip-type">
|
||||
<span>装备孔:{{ equip.equip?.type }}</span>
|
||||
</div>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
style="border-color: #ddd4; margin: 1vh 0 1vh 0"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<div id="equip-add">
|
||||
<span id="title">增减属性</span>
|
||||
<Scroll style="width: 100%; height: 100%">
|
||||
<component :is="addStatus"></component>
|
||||
</Scroll>
|
||||
</div>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
style="border-color: #ddd4; margin: 1vh 0 1vh 0"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<div id="equip-desc-text">
|
||||
<span id="title">装备介绍</span>
|
||||
<Scroll id="desc-text" style="height: 100%; width: 100%">
|
||||
@ -189,6 +187,7 @@ import { hyper } from 'mutate-animate';
|
||||
import { gameKey } from '@motajs/system-action';
|
||||
import { IMountedVBind } from '../interface';
|
||||
import { isNil } from 'lodash-es';
|
||||
import { Divider, Select, SelectOption } from 'ant-design-vue';
|
||||
|
||||
const props = defineProps<IMountedVBind>();
|
||||
|
||||
|
@ -8,21 +8,21 @@
|
||||
<div id="fly-settings">
|
||||
<div id="fly-border">
|
||||
<span>无边框模式</span>
|
||||
<a-switch
|
||||
<Switch
|
||||
class="fly-settings"
|
||||
v-model:checked="noBorder"
|
||||
checked-children="ON"
|
||||
un-checked-children="OFF"
|
||||
></a-switch>
|
||||
></Switch>
|
||||
</div>
|
||||
<div v-if="!isMobile" id="fly-tradition">
|
||||
<span>传统按键模式</span>
|
||||
<a-switch
|
||||
<Switch
|
||||
class="fly-settings"
|
||||
v-model:checked="tradition"
|
||||
checked-children="ON"
|
||||
un-checked-children="OFF"
|
||||
></a-switch>
|
||||
></Switch>
|
||||
</div>
|
||||
<span
|
||||
v-if="!isMobile"
|
||||
@ -45,16 +45,16 @@
|
||||
>
|
||||
</div></Scroll
|
||||
>
|
||||
<a-divider type="vertical" dashed id="divider-left"></a-divider>
|
||||
<Divider type="vertical" dashed id="divider-left"></Divider>
|
||||
<div id="fly-map-div">
|
||||
<canvas id="fly-map" @click="click"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<a-divider
|
||||
<Divider
|
||||
id="divider-right"
|
||||
dashed
|
||||
:type="isMobile ? 'horizontal' : 'vertical'"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<div id="fly-right">
|
||||
<canvas id="fly-thumbnail" @click="fly" @wheel="wheel"></canvas>
|
||||
<div id="fly-tools">
|
||||
@ -104,6 +104,7 @@ import { createChangable } from '../tools/common';
|
||||
import { mainSetting } from '../preset/settingIns';
|
||||
import { GameStorage } from '@motajs/legacy-system';
|
||||
import { IMountedVBind } from '../interface';
|
||||
import { Divider, Switch } from 'ant-design-vue';
|
||||
|
||||
const props = defineProps<IMountedVBind>();
|
||||
|
||||
@ -580,7 +581,10 @@ onUnmounted(() => {
|
||||
max-width: 50%;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
text-shadow: 1px 1px 1px black, 1px -1px 1px black, -1px 1px 1px black,
|
||||
text-shadow:
|
||||
1px 1px 1px black,
|
||||
1px -1px 1px black,
|
||||
-1px 1px 1px black,
|
||||
-1px -1px 1px black;
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div id="load">
|
||||
<a-progress
|
||||
<Progress
|
||||
class="task-progress"
|
||||
type="circle"
|
||||
:percent="(loading / totalTask) * 100"
|
||||
@ -9,17 +9,17 @@
|
||||
<template #format>
|
||||
<span>{{ loaded }} / {{ totalTask }}</span>
|
||||
</template>
|
||||
</a-progress>
|
||||
</Progress>
|
||||
<div class="byte-div">
|
||||
<span class="byte-progress-tip"
|
||||
>{{ formatSize(loadedByte) }} /
|
||||
{{ formatSize(totalByte) }}</span
|
||||
>
|
||||
<a-progress
|
||||
<Progress
|
||||
class="byte-progress"
|
||||
type="line"
|
||||
:percent="loadedPercent"
|
||||
></a-progress>
|
||||
></Progress>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@ -35,6 +35,7 @@ import { formatSize } from '../utils';
|
||||
import { logger } from '@motajs/common';
|
||||
import { sleep } from 'mutate-animate';
|
||||
import { IMountedVBind } from '../interface';
|
||||
import { Progress } from 'ant-design-vue';
|
||||
|
||||
const props = defineProps<IMountedVBind>();
|
||||
|
||||
|
@ -37,11 +37,11 @@
|
||||
</div>
|
||||
</div>
|
||||
</Scroll>
|
||||
<a-divider
|
||||
<Divider
|
||||
class="display-divider"
|
||||
:type="isMobile ? 'horizontal' : 'vertical'"
|
||||
dashed
|
||||
></a-divider>
|
||||
></Divider>
|
||||
</div>
|
||||
</TransitionGroup>
|
||||
</div>
|
||||
@ -54,7 +54,7 @@
|
||||
"
|
||||
></div>
|
||||
</Scroll>
|
||||
<a-divider class="info-divider" dashed></a-divider>
|
||||
<Divider class="info-divider" dashed></Divider>
|
||||
<div class="info-editor" v-if="!!selectedItem">
|
||||
<div class="editor-custom">
|
||||
<component
|
||||
@ -86,6 +86,7 @@ import Scroll from '../components/scroll.vue';
|
||||
import { isMobile } from '../use';
|
||||
import { gameKey } from '@motajs/system-action';
|
||||
import { IMountedVBind } from '../interface';
|
||||
import { Divider } from 'ant-design-vue';
|
||||
|
||||
const props = defineProps<IMountedVBind>();
|
||||
|
||||
|
@ -6,17 +6,17 @@
|
||||
>
|
||||
</div>
|
||||
<span id="item-name">{{ info.name }}</span>
|
||||
<a-divider dashed style="border-color: #ddd4" id="divider"></a-divider>
|
||||
<Divider dashed style="border-color: #ddd4" id="divider"></Divider>
|
||||
<div id="item-info">
|
||||
<Scroll id="item-desc" :no-scroll="true">
|
||||
<span v-html="desc"></span>
|
||||
</Scroll>
|
||||
</div>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
style="border-color: #ddd4"
|
||||
id="divider-split"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<div id="shop-bottom">
|
||||
<div id="item-list">
|
||||
<Scroll style="width: 100%; height: 100%">
|
||||
@ -43,12 +43,12 @@
|
||||
</div>
|
||||
</Scroll>
|
||||
</div>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
style="border-color: #ddd4"
|
||||
type="vertical"
|
||||
id="divider-vertical"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<div id="item-sell-info">
|
||||
<div id="shop-mode">
|
||||
<span
|
||||
@ -57,12 +57,12 @@
|
||||
@click="mode = 'buy'"
|
||||
>购买</span
|
||||
>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
type="vertical"
|
||||
id="divider-vertical"
|
||||
style="border-color: #ddd4"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<span
|
||||
class="button-text mode-button"
|
||||
:active="mode === 'sell'"
|
||||
@ -71,11 +71,11 @@
|
||||
>售出</span
|
||||
>
|
||||
</div>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
style="border-color: #ddd4"
|
||||
id="divider-mode"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<div
|
||||
class="item-sell-info"
|
||||
:style="{
|
||||
@ -105,11 +105,11 @@
|
||||
<span>拥有</span>
|
||||
<span>{{ cnt(item.id) }}</span>
|
||||
</div>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
style="border-color: #ddd4"
|
||||
id="divider-mode"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<div id="sell-count">
|
||||
<span>{{ mode === 'buy' ? '购买' : '售出' }}数量</span>
|
||||
<div id="sell-count-select">
|
||||
@ -126,10 +126,10 @@
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
style="border-color: #ddd4; margin: 2vh 0 2vh 0"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<div id="sell-confirm">
|
||||
<span
|
||||
id="sell-total"
|
||||
@ -175,6 +175,7 @@ import BoxAnimate from '../components/boxAnimate.vue';
|
||||
import { gameKey } from '@motajs/system-action';
|
||||
import { IMountedVBind } from '../interface';
|
||||
import { tip } from '../use';
|
||||
import { Divider } from 'ant-design-vue';
|
||||
|
||||
const props = defineProps<IMountedVBind>();
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
>
|
||||
</div>
|
||||
<span id="skill-title">{{ skill.title }}</span>
|
||||
<a-divider dashed style="border-color: #ddd4" id="divider"></a-divider>
|
||||
<Divider dashed style="border-color: #ddd4" id="divider"></Divider>
|
||||
<div id="skill-info">
|
||||
<Scroll id="skill-desc" :no-scroll="true">
|
||||
<span v-html="desc"></span>
|
||||
@ -16,25 +16,25 @@
|
||||
<span v-if="level < skill.max" v-html="effect[1]"></span>
|
||||
</div>
|
||||
</div>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
style="border-color: #ddd4"
|
||||
id="divider-split"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<div id="skill-bottom">
|
||||
<canvas id="skill-canvas"></canvas>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
style="border-color: #ddd4"
|
||||
:type="isMobile ? 'horizontal' : 'vertical'"
|
||||
id="divider-vertical"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<div id="skill-upgrade-info">
|
||||
<div id="skill-upgrade-up">
|
||||
<span id="skill-level"
|
||||
>当前等级:{{ level }} / {{ skill.max }}</span
|
||||
>
|
||||
<a-divider dashed class="upgrade-divider"></a-divider>
|
||||
<Divider dashed class="upgrade-divider"></Divider>
|
||||
<span
|
||||
v-if="level < skill.max"
|
||||
id="skill-consume"
|
||||
@ -44,7 +44,7 @@
|
||||
<span v-else id="skill-consume" style="color: gold"
|
||||
>已满级</span
|
||||
>
|
||||
<a-divider dashed class="upgrade-divider"></a-divider>
|
||||
<Divider dashed class="upgrade-divider"></Divider>
|
||||
<Scroll id="front-scroll" :no-scroll="true"
|
||||
><div id="skill-front">
|
||||
<span>前置技能</span>
|
||||
@ -59,7 +59,7 @@
|
||||
>
|
||||
</div>
|
||||
<div id="skill-upgrade-bottom">
|
||||
<a-divider dashed class="upgrade-divider"></a-divider>
|
||||
<Divider dashed class="upgrade-divider"></Divider>
|
||||
<div id="skill-chapter">
|
||||
<span class="button-text" @click="selectChapter(-1)"
|
||||
><LeftOutlined
|
||||
@ -87,6 +87,7 @@ import { sleep } from 'mutate-animate';
|
||||
import { gameKey } from '@motajs/system-action';
|
||||
import { IMountedVBind } from '../interface';
|
||||
import { isNil } from 'lodash-es';
|
||||
import { Divider } from 'ant-design-vue';
|
||||
|
||||
const props = defineProps<IMountedVBind>();
|
||||
|
||||
|
@ -21,11 +21,11 @@
|
||||
:selected="mode === 'tools'"
|
||||
>消耗道具</span
|
||||
>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
style="border-color: #ddd4; height: 100%"
|
||||
type="vertical"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<span
|
||||
class="button-text"
|
||||
@click="mode = 'constants'"
|
||||
@ -33,10 +33,10 @@
|
||||
>永久道具</span
|
||||
>
|
||||
</div>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
style="margin: 1vh 0 1vh 0; border-color: #ddd4"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
<Scroll class="item-list">
|
||||
<div
|
||||
class="item selectable"
|
||||
@ -62,12 +62,12 @@
|
||||
</div>
|
||||
</Scroll>
|
||||
</div>
|
||||
<a-divider
|
||||
<Divider
|
||||
dashed
|
||||
:type="isMobile ? 'horizontal' : 'vertical'"
|
||||
class="divider"
|
||||
style="border-color: #ddd4; margin: 1%"
|
||||
></a-divider>
|
||||
></Divider>
|
||||
</div>
|
||||
<div id="detail">
|
||||
<div id="info">
|
||||
@ -85,13 +85,13 @@
|
||||
<span>{{
|
||||
selected === 'none'
|
||||
? '永久道具'
|
||||
: getClsName(all[selected].cls as ItemMode) ??
|
||||
'永久道具'
|
||||
: (getClsName(all[selected].cls as ItemMode) ??
|
||||
'永久道具')
|
||||
}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<span style="margin-top: 2vh">点击该物品以使用</span>
|
||||
<a-divider dashed style="border-color: #ddd4"></a-divider>
|
||||
<Divider dashed style="border-color: #ddd4"></Divider>
|
||||
<div id="desc">
|
||||
<span>道具描述</span>
|
||||
<Scroll id="desc-text">
|
||||
@ -115,7 +115,7 @@ import { getClsName, getItems } from '../tools/toolbox';
|
||||
import { isMobile } from '../use';
|
||||
import { type } from '../utils';
|
||||
import { hyper } from 'mutate-animate';
|
||||
import { message } from 'ant-design-vue';
|
||||
import { Divider, message } from 'ant-design-vue';
|
||||
import { gameKey } from '@motajs/system-action';
|
||||
import { IMountedVBind } from '../interface';
|
||||
import { isNil } from 'lodash-es';
|
||||
|
218
pnpm-lock.yaml
218
pnpm-lock.yaml
@ -109,20 +109,20 @@ importers:
|
||||
specifier: ^4.17.12
|
||||
version: 4.17.12
|
||||
'@types/node':
|
||||
specifier: ^18.19.80
|
||||
version: 18.19.123
|
||||
specifier: ^22.18.0
|
||||
version: 22.18.0
|
||||
'@types/ws':
|
||||
specifier: ^8.18.0
|
||||
version: 8.18.1
|
||||
'@vitejs/plugin-legacy':
|
||||
specifier: ^6.0.2
|
||||
version: 6.1.1(terser@5.43.1)(vite@6.3.5(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5))
|
||||
specifier: ^7.2.1
|
||||
version: 7.2.1(terser@5.43.1)(vite@7.0.0(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5))
|
||||
'@vitejs/plugin-vue':
|
||||
specifier: ^6.0.1
|
||||
version: 6.0.1(vite@6.3.5(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5))(vue@3.5.20(typescript@5.9.2))
|
||||
version: 6.0.1(vite@7.0.0(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5))(vue@3.5.20(typescript@5.9.2))
|
||||
'@vitejs/plugin-vue-jsx':
|
||||
specifier: ^5.1.1
|
||||
version: 5.1.1(vite@6.3.5(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5))(vue@3.5.20(typescript@5.9.2))
|
||||
version: 5.1.1(vite@7.0.0(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5))(vue@3.5.20(typescript@5.9.2))
|
||||
archiver:
|
||||
specifier: ^7.0.1
|
||||
version: 7.0.1
|
||||
@ -138,9 +138,12 @@ importers:
|
||||
eslint:
|
||||
specifier: ^9.22.0
|
||||
version: 9.34.0
|
||||
eslint-config-prettier:
|
||||
specifier: ^10.1.8
|
||||
version: 10.1.8(eslint@9.34.0)
|
||||
eslint-plugin-prettier:
|
||||
specifier: ^5.5.0
|
||||
version: 5.5.4(eslint@9.34.0)(prettier@3.6.2)
|
||||
specifier: ^5.5.4
|
||||
version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.34.0))(eslint@9.34.0)(prettier@3.6.2)
|
||||
eslint-plugin-react:
|
||||
specifier: ^7.37.5
|
||||
version: 7.37.5(eslint@9.34.0)
|
||||
@ -198,21 +201,18 @@ importers:
|
||||
typescript-eslint:
|
||||
specifier: ^8.27.0
|
||||
version: 8.41.0(eslint@9.34.0)(typescript@5.9.2)
|
||||
unplugin-vue-components:
|
||||
specifier: ^0.22.12
|
||||
version: 0.22.12(@babel/parser@7.28.3)(rollup@4.49.0)(vue@3.5.20(typescript@5.9.2))
|
||||
vite:
|
||||
specifier: ^6.3.5
|
||||
version: 6.3.5(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)
|
||||
specifier: ^7.0.0
|
||||
version: 7.0.0(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)
|
||||
vite-plugin-dts:
|
||||
specifier: ^4.5.4
|
||||
version: 4.5.4(@types/node@18.19.123)(rollup@4.49.0)(typescript@5.9.2)(vite@6.3.5(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5))
|
||||
version: 4.5.4(@types/node@22.18.0)(rollup@4.49.0)(typescript@5.9.2)(vite@7.0.0(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5))
|
||||
vitepress:
|
||||
specifier: ^1.6.3
|
||||
version: 1.6.4(@algolia/client-search@5.36.0)(@types/node@18.19.123)(async-validator@4.2.5)(axios@1.11.0)(less@4.4.1)(markdown-it-mathjax3@4.3.2(encoding@0.1.13))(postcss@8.5.6)(search-insights@2.17.3)(terser@5.43.1)(typescript@5.9.2)
|
||||
version: 1.6.4(@algolia/client-search@5.36.0)(@types/node@22.18.0)(async-validator@4.2.5)(axios@1.11.0)(less@4.4.1)(markdown-it-mathjax3@4.3.2(encoding@0.1.13))(postcss@8.5.6)(search-insights@2.17.3)(terser@5.43.1)(typescript@5.9.2)
|
||||
vitepress-plugin-mermaid:
|
||||
specifier: ^2.0.17
|
||||
version: 2.0.17(mermaid@11.10.1)(vitepress@1.6.4(@algolia/client-search@5.36.0)(@types/node@18.19.123)(async-validator@4.2.5)(axios@1.11.0)(less@4.4.1)(markdown-it-mathjax3@4.3.2(encoding@0.1.13))(postcss@8.5.6)(search-insights@2.17.3)(terser@5.43.1)(typescript@5.9.2))
|
||||
version: 2.0.17(mermaid@11.10.1)(vitepress@1.6.4(@algolia/client-search@5.36.0)(@types/node@22.18.0)(async-validator@4.2.5)(axios@1.11.0)(less@4.4.1)(markdown-it-mathjax3@4.3.2(encoding@0.1.13))(postcss@8.5.6)(search-insights@2.17.3)(terser@5.43.1)(typescript@5.9.2))
|
||||
vue-tsc:
|
||||
specifier: ^2.2.8
|
||||
version: 2.2.12(typescript@5.9.2)
|
||||
@ -651,9 +651,6 @@ packages:
|
||||
'@antfu/install-pkg@1.1.0':
|
||||
resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==}
|
||||
|
||||
'@antfu/utils@0.7.10':
|
||||
resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==}
|
||||
|
||||
'@antfu/utils@8.1.1':
|
||||
resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==}
|
||||
|
||||
@ -2354,6 +2351,9 @@ packages:
|
||||
'@types/node@18.19.123':
|
||||
resolution: {integrity: sha512-K7DIaHnh0mzVxreCR9qwgNxp3MH9dltPNIEddW9MYUlcKAzm+3grKNSTe2vCJHI1FaLpvpL5JGJrz1UZDKYvDg==}
|
||||
|
||||
'@types/node@22.18.0':
|
||||
resolution: {integrity: sha512-m5ObIqwsUp6BZzyiy4RdZpzWGub9bqLJMvZDD0QMXhxjqMHMENlj+SqF5QxoUwaQNFe+8kz8XM8ZQhqkQPTgMQ==}
|
||||
|
||||
'@types/qs@6.14.0':
|
||||
resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==}
|
||||
|
||||
@ -2449,12 +2449,12 @@ packages:
|
||||
'@ungap/structured-clone@1.3.0':
|
||||
resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
|
||||
|
||||
'@vitejs/plugin-legacy@6.1.1':
|
||||
resolution: {integrity: sha512-BvusL+mYZ0q5qS5Rq3D70QxZBmhyiHRaXLtYJHH5AEsAmdSqJR4xe5KwMi1H3w8/9lVJwhkLYqFQ9vmWYWy6kA==}
|
||||
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
|
||||
'@vitejs/plugin-legacy@7.2.1':
|
||||
resolution: {integrity: sha512-CaXb/y0mlfu7jQRELEJJc2/5w2bX2m1JraARgFnvSB2yfvnCNJVWWlqAo6WjnKoepOwKx8gs0ugJThPLKCOXIg==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
peerDependencies:
|
||||
terser: ^5.16.0
|
||||
vite: ^6.0.0
|
||||
vite: ^7.0.0
|
||||
|
||||
'@vitejs/plugin-vue-jsx@5.1.1':
|
||||
resolution: {integrity: sha512-uQkfxzlF8SGHJJVH966lFTdjM/lGcwJGzwAHpVqAPDD/QcsqoUGa+q31ox1BrUfi+FLP2ChVp7uLXE3DkHyDdQ==}
|
||||
@ -3611,6 +3611,12 @@ packages:
|
||||
engines: {node: '>=6.0'}
|
||||
hasBin: true
|
||||
|
||||
eslint-config-prettier@10.1.8:
|
||||
resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
eslint: '>=7.0.0'
|
||||
|
||||
eslint-plugin-prettier@5.5.4:
|
||||
resolution: {integrity: sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
@ -4420,10 +4426,6 @@ packages:
|
||||
lie@3.3.0:
|
||||
resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==}
|
||||
|
||||
local-pkg@0.4.3:
|
||||
resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
|
||||
engines: {node: '>=14'}
|
||||
|
||||
local-pkg@1.1.2:
|
||||
resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==}
|
||||
engines: {node: '>=14'}
|
||||
@ -4480,10 +4482,6 @@ packages:
|
||||
typescript:
|
||||
optional: true
|
||||
|
||||
magic-string@0.27.0:
|
||||
resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
magic-string@0.30.18:
|
||||
resolution: {integrity: sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==}
|
||||
|
||||
@ -5812,6 +5810,9 @@ packages:
|
||||
undici-types@5.26.5:
|
||||
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
|
||||
|
||||
undici-types@6.21.0:
|
||||
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
|
||||
|
||||
unicode-canonical-property-names-ecmascript@2.0.1:
|
||||
resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==}
|
||||
engines: {node: '>=4'}
|
||||
@ -5859,20 +5860,6 @@ packages:
|
||||
resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
unplugin-vue-components@0.22.12:
|
||||
resolution: {integrity: sha512-FxyzsuBvMCYPIk+8cgscGBQ345tvwVu+qY5IhE++eorkyvA4Z1TiD/HCiim+Kbqozl10i4K+z+NCa2WO2jexRA==}
|
||||
engines: {node: '>=14'}
|
||||
peerDependencies:
|
||||
'@babel/parser': ^7.15.8
|
||||
vue: 2 || 3
|
||||
peerDependenciesMeta:
|
||||
'@babel/parser':
|
||||
optional: true
|
||||
|
||||
unplugin@1.16.1:
|
||||
resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
|
||||
update-browserslist-db@1.1.3:
|
||||
resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
|
||||
hasBin: true
|
||||
@ -5971,19 +5958,19 @@ packages:
|
||||
terser:
|
||||
optional: true
|
||||
|
||||
vite@6.3.5:
|
||||
resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==}
|
||||
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
|
||||
vite@7.0.0:
|
||||
resolution: {integrity: sha512-ixXJB1YRgDIw2OszKQS9WxGHKwLdCsbQNkpJN171udl6szi/rIySHL6/Os3s2+oE4P/FLD4dxg4mD7Wust+u5g==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
|
||||
'@types/node': ^20.19.0 || >=22.12.0
|
||||
jiti: '>=1.21.0'
|
||||
less: '*'
|
||||
less: ^4.0.0
|
||||
lightningcss: ^1.21.0
|
||||
sass: '*'
|
||||
sass-embedded: '*'
|
||||
stylus: '*'
|
||||
sugarss: '*'
|
||||
sass: ^1.70.0
|
||||
sass-embedded: ^1.70.0
|
||||
stylus: '>=0.54.8'
|
||||
sugarss: ^5.0.0
|
||||
terser: ^5.16.0
|
||||
tsx: ^4.8.1
|
||||
yaml: ^2.4.2
|
||||
@ -6095,9 +6082,6 @@ packages:
|
||||
webidl-conversions@3.0.1:
|
||||
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
|
||||
|
||||
webpack-virtual-modules@0.6.2:
|
||||
resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
|
||||
|
||||
whatwg-url@5.0.0:
|
||||
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
|
||||
|
||||
@ -6337,8 +6321,6 @@ snapshots:
|
||||
package-manager-detector: 1.3.0
|
||||
tinyexec: 1.0.1
|
||||
|
||||
'@antfu/utils@0.7.10': {}
|
||||
|
||||
'@antfu/utils@8.1.1': {}
|
||||
|
||||
'@babel/cli@7.28.3(@babel/core@7.28.3)':
|
||||
@ -7606,23 +7588,23 @@ snapshots:
|
||||
dependencies:
|
||||
langium: 3.3.1
|
||||
|
||||
'@microsoft/api-extractor-model@7.30.7(@types/node@18.19.123)':
|
||||
'@microsoft/api-extractor-model@7.30.7(@types/node@22.18.0)':
|
||||
dependencies:
|
||||
'@microsoft/tsdoc': 0.15.1
|
||||
'@microsoft/tsdoc-config': 0.17.1
|
||||
'@rushstack/node-core-library': 5.14.0(@types/node@18.19.123)
|
||||
'@rushstack/node-core-library': 5.14.0(@types/node@22.18.0)
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
|
||||
'@microsoft/api-extractor@7.52.11(@types/node@18.19.123)':
|
||||
'@microsoft/api-extractor@7.52.11(@types/node@22.18.0)':
|
||||
dependencies:
|
||||
'@microsoft/api-extractor-model': 7.30.7(@types/node@18.19.123)
|
||||
'@microsoft/api-extractor-model': 7.30.7(@types/node@22.18.0)
|
||||
'@microsoft/tsdoc': 0.15.1
|
||||
'@microsoft/tsdoc-config': 0.17.1
|
||||
'@rushstack/node-core-library': 5.14.0(@types/node@18.19.123)
|
||||
'@rushstack/node-core-library': 5.14.0(@types/node@22.18.0)
|
||||
'@rushstack/rig-package': 0.5.3
|
||||
'@rushstack/terminal': 0.15.4(@types/node@18.19.123)
|
||||
'@rushstack/ts-command-line': 5.0.2(@types/node@18.19.123)
|
||||
'@rushstack/terminal': 0.15.4(@types/node@22.18.0)
|
||||
'@rushstack/ts-command-line': 5.0.2(@types/node@22.18.0)
|
||||
lodash: 4.17.21
|
||||
minimatch: 10.0.3
|
||||
resolve: 1.22.10
|
||||
@ -7809,7 +7791,7 @@ snapshots:
|
||||
'@rollup/rollup-win32-x64-msvc@4.49.0':
|
||||
optional: true
|
||||
|
||||
'@rushstack/node-core-library@5.14.0(@types/node@18.19.123)':
|
||||
'@rushstack/node-core-library@5.14.0(@types/node@22.18.0)':
|
||||
dependencies:
|
||||
ajv: 8.13.0
|
||||
ajv-draft-04: 1.0.0(ajv@8.13.0)
|
||||
@ -7820,23 +7802,23 @@ snapshots:
|
||||
resolve: 1.22.10
|
||||
semver: 7.5.4
|
||||
optionalDependencies:
|
||||
'@types/node': 18.19.123
|
||||
'@types/node': 22.18.0
|
||||
|
||||
'@rushstack/rig-package@0.5.3':
|
||||
dependencies:
|
||||
resolve: 1.22.10
|
||||
strip-json-comments: 3.1.1
|
||||
|
||||
'@rushstack/terminal@0.15.4(@types/node@18.19.123)':
|
||||
'@rushstack/terminal@0.15.4(@types/node@22.18.0)':
|
||||
dependencies:
|
||||
'@rushstack/node-core-library': 5.14.0(@types/node@18.19.123)
|
||||
'@rushstack/node-core-library': 5.14.0(@types/node@22.18.0)
|
||||
supports-color: 8.1.1
|
||||
optionalDependencies:
|
||||
'@types/node': 18.19.123
|
||||
'@types/node': 22.18.0
|
||||
|
||||
'@rushstack/ts-command-line@5.0.2(@types/node@18.19.123)':
|
||||
'@rushstack/ts-command-line@5.0.2(@types/node@22.18.0)':
|
||||
dependencies:
|
||||
'@rushstack/terminal': 0.15.4(@types/node@18.19.123)
|
||||
'@rushstack/terminal': 0.15.4(@types/node@22.18.0)
|
||||
'@types/argparse': 1.0.38
|
||||
argparse: 1.0.10
|
||||
string-argv: 0.3.2
|
||||
@ -8119,6 +8101,10 @@ snapshots:
|
||||
dependencies:
|
||||
undici-types: 5.26.5
|
||||
|
||||
'@types/node@22.18.0':
|
||||
dependencies:
|
||||
undici-types: 6.21.0
|
||||
|
||||
'@types/qs@6.14.0': {}
|
||||
|
||||
'@types/range-parser@1.2.7': {}
|
||||
@ -8250,10 +8236,14 @@ snapshots:
|
||||
|
||||
'@ungap/structured-clone@1.3.0': {}
|
||||
|
||||
'@vitejs/plugin-legacy@6.1.1(terser@5.43.1)(vite@6.3.5(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5))':
|
||||
'@vitejs/plugin-legacy@7.2.1(terser@5.43.1)(vite@7.0.0(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5))':
|
||||
dependencies:
|
||||
'@babel/core': 7.28.3
|
||||
'@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.3)
|
||||
'@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.28.3)
|
||||
'@babel/preset-env': 7.28.3(@babel/core@7.28.3)
|
||||
babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.3)
|
||||
babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.3)
|
||||
browserslist: 4.25.3
|
||||
browserslist-to-esbuild: 2.1.1(browserslist@4.25.3)
|
||||
core-js: 3.45.1
|
||||
@ -8261,31 +8251,31 @@ snapshots:
|
||||
regenerator-runtime: 0.14.1
|
||||
systemjs: 6.15.1
|
||||
terser: 5.43.1
|
||||
vite: 6.3.5(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)
|
||||
vite: 7.0.0(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@vitejs/plugin-vue-jsx@5.1.1(vite@6.3.5(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5))(vue@3.5.20(typescript@5.9.2))':
|
||||
'@vitejs/plugin-vue-jsx@5.1.1(vite@7.0.0(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5))(vue@3.5.20(typescript@5.9.2))':
|
||||
dependencies:
|
||||
'@babel/core': 7.28.3
|
||||
'@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.3)
|
||||
'@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.3)
|
||||
'@rolldown/pluginutils': 1.0.0-beta.34
|
||||
'@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.3)
|
||||
vite: 6.3.5(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)
|
||||
vite: 7.0.0(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)
|
||||
vue: 3.5.20(typescript@5.9.2)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@vitejs/plugin-vue@5.2.4(vite@5.4.19(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1))(vue@3.5.20(typescript@5.9.2))':
|
||||
'@vitejs/plugin-vue@5.2.4(vite@5.4.19(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1))(vue@3.5.20(typescript@5.9.2))':
|
||||
dependencies:
|
||||
vite: 5.4.19(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1)
|
||||
vite: 5.4.19(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1)
|
||||
vue: 3.5.20(typescript@5.9.2)
|
||||
|
||||
'@vitejs/plugin-vue@6.0.1(vite@6.3.5(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5))(vue@3.5.20(typescript@5.9.2))':
|
||||
'@vitejs/plugin-vue@6.0.1(vite@7.0.0(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5))(vue@3.5.20(typescript@5.9.2))':
|
||||
dependencies:
|
||||
'@rolldown/pluginutils': 1.0.0-beta.29
|
||||
vite: 6.3.5(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)
|
||||
vite: 7.0.0(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)
|
||||
vue: 3.5.20(typescript@5.9.2)
|
||||
|
||||
'@volar/language-core@2.4.15':
|
||||
@ -9712,12 +9702,18 @@ snapshots:
|
||||
optionalDependencies:
|
||||
source-map: 0.6.1
|
||||
|
||||
eslint-plugin-prettier@5.5.4(eslint@9.34.0)(prettier@3.6.2):
|
||||
eslint-config-prettier@10.1.8(eslint@9.34.0):
|
||||
dependencies:
|
||||
eslint: 9.34.0
|
||||
|
||||
eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.34.0))(eslint@9.34.0)(prettier@3.6.2):
|
||||
dependencies:
|
||||
eslint: 9.34.0
|
||||
prettier: 3.6.2
|
||||
prettier-linter-helpers: 1.0.0
|
||||
synckit: 0.11.11
|
||||
optionalDependencies:
|
||||
eslint-config-prettier: 10.1.8(eslint@9.34.0)
|
||||
|
||||
eslint-plugin-react@7.37.5(eslint@9.34.0):
|
||||
dependencies:
|
||||
@ -10618,8 +10614,6 @@ snapshots:
|
||||
dependencies:
|
||||
immediate: 3.0.6
|
||||
|
||||
local-pkg@0.4.3: {}
|
||||
|
||||
local-pkg@1.1.2:
|
||||
dependencies:
|
||||
mlly: 1.8.0
|
||||
@ -10680,10 +10674,6 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
magic-string@0.27.0:
|
||||
dependencies:
|
||||
'@jridgewell/sourcemap-codec': 1.5.5
|
||||
|
||||
magic-string@0.30.18:
|
||||
dependencies:
|
||||
'@jridgewell/sourcemap-codec': 1.5.5
|
||||
@ -12235,6 +12225,8 @@ snapshots:
|
||||
|
||||
undici-types@5.26.5: {}
|
||||
|
||||
undici-types@6.21.0: {}
|
||||
|
||||
unicode-canonical-property-names-ecmascript@2.0.1: {}
|
||||
|
||||
unicode-match-property-ecmascript@2.0.0:
|
||||
@ -12281,30 +12273,6 @@ snapshots:
|
||||
|
||||
unpipe@1.0.0: {}
|
||||
|
||||
unplugin-vue-components@0.22.12(@babel/parser@7.28.3)(rollup@4.49.0)(vue@3.5.20(typescript@5.9.2)):
|
||||
dependencies:
|
||||
'@antfu/utils': 0.7.10
|
||||
'@rollup/pluginutils': 5.2.0(rollup@4.49.0)
|
||||
chokidar: 3.6.0
|
||||
debug: 4.4.1
|
||||
fast-glob: 3.3.3
|
||||
local-pkg: 0.4.3
|
||||
magic-string: 0.27.0
|
||||
minimatch: 5.1.6
|
||||
resolve: 1.22.10
|
||||
unplugin: 1.16.1
|
||||
vue: 3.5.20(typescript@5.9.2)
|
||||
optionalDependencies:
|
||||
'@babel/parser': 7.28.3
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- supports-color
|
||||
|
||||
unplugin@1.16.1:
|
||||
dependencies:
|
||||
acorn: 8.15.0
|
||||
webpack-virtual-modules: 0.6.2
|
||||
|
||||
update-browserslist-db@1.1.3(browserslist@4.25.3):
|
||||
dependencies:
|
||||
browserslist: 4.25.3
|
||||
@ -12381,9 +12349,9 @@ snapshots:
|
||||
replace-ext: 2.0.0
|
||||
teex: 1.0.1
|
||||
|
||||
vite-plugin-dts@4.5.4(@types/node@18.19.123)(rollup@4.49.0)(typescript@5.9.2)(vite@6.3.5(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)):
|
||||
vite-plugin-dts@4.5.4(@types/node@22.18.0)(rollup@4.49.0)(typescript@5.9.2)(vite@7.0.0(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)):
|
||||
dependencies:
|
||||
'@microsoft/api-extractor': 7.52.11(@types/node@18.19.123)
|
||||
'@microsoft/api-extractor': 7.52.11(@types/node@22.18.0)
|
||||
'@rollup/pluginutils': 5.2.0(rollup@4.49.0)
|
||||
'@volar/typescript': 2.4.23
|
||||
'@vue/language-core': 2.2.0(typescript@5.9.2)
|
||||
@ -12394,24 +12362,24 @@ snapshots:
|
||||
magic-string: 0.30.18
|
||||
typescript: 5.9.2
|
||||
optionalDependencies:
|
||||
vite: 6.3.5(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)
|
||||
vite: 7.0.0(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5)
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- rollup
|
||||
- supports-color
|
||||
|
||||
vite@5.4.19(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1):
|
||||
vite@5.4.19(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1):
|
||||
dependencies:
|
||||
esbuild: 0.21.5
|
||||
postcss: 8.5.6
|
||||
rollup: 4.49.0
|
||||
optionalDependencies:
|
||||
'@types/node': 18.19.123
|
||||
'@types/node': 22.18.0
|
||||
fsevents: 2.3.3
|
||||
less: 4.4.1
|
||||
terser: 5.43.1
|
||||
|
||||
vite@6.3.5(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5):
|
||||
vite@7.0.0(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1)(tsx@4.20.5):
|
||||
dependencies:
|
||||
esbuild: 0.25.9
|
||||
fdir: 6.5.0(picomatch@4.0.3)
|
||||
@ -12420,20 +12388,20 @@ snapshots:
|
||||
rollup: 4.49.0
|
||||
tinyglobby: 0.2.14
|
||||
optionalDependencies:
|
||||
'@types/node': 18.19.123
|
||||
'@types/node': 22.18.0
|
||||
fsevents: 2.3.3
|
||||
less: 4.4.1
|
||||
terser: 5.43.1
|
||||
tsx: 4.20.5
|
||||
|
||||
vitepress-plugin-mermaid@2.0.17(mermaid@11.10.1)(vitepress@1.6.4(@algolia/client-search@5.36.0)(@types/node@18.19.123)(async-validator@4.2.5)(axios@1.11.0)(less@4.4.1)(markdown-it-mathjax3@4.3.2(encoding@0.1.13))(postcss@8.5.6)(search-insights@2.17.3)(terser@5.43.1)(typescript@5.9.2)):
|
||||
vitepress-plugin-mermaid@2.0.17(mermaid@11.10.1)(vitepress@1.6.4(@algolia/client-search@5.36.0)(@types/node@22.18.0)(async-validator@4.2.5)(axios@1.11.0)(less@4.4.1)(markdown-it-mathjax3@4.3.2(encoding@0.1.13))(postcss@8.5.6)(search-insights@2.17.3)(terser@5.43.1)(typescript@5.9.2)):
|
||||
dependencies:
|
||||
mermaid: 11.10.1
|
||||
vitepress: 1.6.4(@algolia/client-search@5.36.0)(@types/node@18.19.123)(async-validator@4.2.5)(axios@1.11.0)(less@4.4.1)(markdown-it-mathjax3@4.3.2(encoding@0.1.13))(postcss@8.5.6)(search-insights@2.17.3)(terser@5.43.1)(typescript@5.9.2)
|
||||
vitepress: 1.6.4(@algolia/client-search@5.36.0)(@types/node@22.18.0)(async-validator@4.2.5)(axios@1.11.0)(less@4.4.1)(markdown-it-mathjax3@4.3.2(encoding@0.1.13))(postcss@8.5.6)(search-insights@2.17.3)(terser@5.43.1)(typescript@5.9.2)
|
||||
optionalDependencies:
|
||||
'@mermaid-js/mermaid-mindmap': 9.3.0
|
||||
|
||||
vitepress@1.6.4(@algolia/client-search@5.36.0)(@types/node@18.19.123)(async-validator@4.2.5)(axios@1.11.0)(less@4.4.1)(markdown-it-mathjax3@4.3.2(encoding@0.1.13))(postcss@8.5.6)(search-insights@2.17.3)(terser@5.43.1)(typescript@5.9.2):
|
||||
vitepress@1.6.4(@algolia/client-search@5.36.0)(@types/node@22.18.0)(async-validator@4.2.5)(axios@1.11.0)(less@4.4.1)(markdown-it-mathjax3@4.3.2(encoding@0.1.13))(postcss@8.5.6)(search-insights@2.17.3)(terser@5.43.1)(typescript@5.9.2):
|
||||
dependencies:
|
||||
'@docsearch/css': 3.8.2
|
||||
'@docsearch/js': 3.8.2(@algolia/client-search@5.36.0)(search-insights@2.17.3)
|
||||
@ -12442,7 +12410,7 @@ snapshots:
|
||||
'@shikijs/transformers': 2.5.0
|
||||
'@shikijs/types': 2.5.0
|
||||
'@types/markdown-it': 14.1.2
|
||||
'@vitejs/plugin-vue': 5.2.4(vite@5.4.19(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1))(vue@3.5.20(typescript@5.9.2))
|
||||
'@vitejs/plugin-vue': 5.2.4(vite@5.4.19(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1))(vue@3.5.20(typescript@5.9.2))
|
||||
'@vue/devtools-api': 7.7.7
|
||||
'@vue/shared': 3.5.20
|
||||
'@vueuse/core': 12.8.2(typescript@5.9.2)
|
||||
@ -12451,7 +12419,7 @@ snapshots:
|
||||
mark.js: 8.11.1
|
||||
minisearch: 7.1.2
|
||||
shiki: 2.5.0
|
||||
vite: 5.4.19(@types/node@18.19.123)(less@4.4.1)(terser@5.43.1)
|
||||
vite: 5.4.19(@types/node@22.18.0)(less@4.4.1)(terser@5.43.1)
|
||||
vue: 3.5.20(typescript@5.9.2)
|
||||
optionalDependencies:
|
||||
markdown-it-mathjax3: 4.3.2(encoding@0.1.13)
|
||||
@ -12559,8 +12527,6 @@ snapshots:
|
||||
|
||||
webidl-conversions@3.0.1: {}
|
||||
|
||||
webpack-virtual-modules@0.6.2: {}
|
||||
|
||||
whatwg-url@5.0.0:
|
||||
dependencies:
|
||||
tr46: 0.0.3
|
||||
|
@ -173,17 +173,7 @@ editor.prototype.init = function (callback) {
|
||||
editor.airwallImg = new Image();
|
||||
editor.airwallImg.src = './project/materials/airwall.png';
|
||||
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open('GET', 'index.html', true);
|
||||
xhr.onload = function () {
|
||||
if (xhr.status != 200) {
|
||||
alert("HTTP " + xhr.status);
|
||||
return;
|
||||
}
|
||||
var str = xhr.response.split('<!-- injection -->');
|
||||
if (str.length != 3) window.onerror("index.html格式不正确");
|
||||
editor.dom.gameInject.innerHTML = str[1];
|
||||
|
||||
var execute = function() {
|
||||
var cvs = ['bg', 'event', 'event2', 'fg'].map(function(e) {
|
||||
return document.getElementById(e);
|
||||
});
|
||||
@ -303,9 +293,6 @@ editor.prototype.init = function (callback) {
|
||||
mainScript.id = "mainScript";
|
||||
mainScript.src = "main.js";
|
||||
editor.dom.gameInject.appendChild(mainScript);
|
||||
};
|
||||
xhr.onabort = xhr.ontimeout = xhr.onerror = function () {
|
||||
alert("无法访问index.html");
|
||||
}
|
||||
|
||||
editor.config = new editor_config();
|
||||
@ -313,7 +300,7 @@ editor.prototype.init = function (callback) {
|
||||
var theme = editor.config.get('theme', 'editor_color');
|
||||
document.getElementById('color_css').href = '_server/css/' + theme + '.css';
|
||||
editor.dom.editorTheme.value = theme;
|
||||
xhr.send();
|
||||
execute();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -450,7 +450,151 @@
|
||||
</div>
|
||||
<!-- <script>/* -->
|
||||
|
||||
<div id="gameInject" style='display: none'></div>
|
||||
<div id="gameInject" style='display: none'>
|
||||
<div id='gameGroup'>
|
||||
<p id='mainTips'>请稍候...</p>
|
||||
<img id='musicBtn'>
|
||||
<div id='startPanel'>
|
||||
<div id='startTop'>
|
||||
<div id='startTopProgressBar'>
|
||||
<div id='startTopProgress'></div>
|
||||
</div>
|
||||
<p id='startTopLoadTips'>资源即将开始加载</p>
|
||||
<p id='startTopHint'>HTML5魔塔游戏平台,享受更多魔塔游戏:<br />https://h5mota.com/</p>
|
||||
</div>
|
||||
<img id='startBackground'>
|
||||
<p id='startLogo'></p>
|
||||
<div id='startButtonGroup'>
|
||||
<div id='startButtons'>
|
||||
<span class='startButton' id='playGame'>开始游戏</span>
|
||||
<span class='startButton' id='loadGame'>载入游戏</span>
|
||||
<span class='startButton' id='replayGame'>录像回放</span>
|
||||
</div>
|
||||
<div id='levelChooseButtons'></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id='floorMsgGroup'>
|
||||
<p id='logoLabel'></p>
|
||||
<p id='versionLabel'></p>
|
||||
<p id='floorNameLabel'></p>
|
||||
</div>
|
||||
<div id='statusBar' class="clearfix">
|
||||
<div class="status" id="floorCol">
|
||||
<img id="img-floor">
|
||||
<p class='statusLabel statusText' id='floor'></p>
|
||||
</div>
|
||||
<div class="status" id="nameCol">
|
||||
<img id="img-name">
|
||||
<p class='statusLabel statusText' id='name'></p>
|
||||
</div>
|
||||
<div class="status" id="lvCol">
|
||||
<img id="img-lv">
|
||||
<p class='statusLabel statusText' id='lv'></p>
|
||||
</div>
|
||||
<div class="status" id='hpmaxCol'>
|
||||
<img id="img-hpmax">
|
||||
<p class='statusLabel statusText' id='hpmax'></p>
|
||||
</div>
|
||||
<div class="status" id='hpCol'>
|
||||
<img id="img-hp">
|
||||
<p class='statusLabel statusText' id='hp'></p>
|
||||
</div>
|
||||
<div class="status" id='manaCol'>
|
||||
<img id="img-mana">
|
||||
<p class='statusLabel statusText' id='mana'></p>
|
||||
</div>
|
||||
<div class="status" id='atkCol'>
|
||||
<img id="img-atk">
|
||||
<p class='statusLabel statusText' id='atk'></p>
|
||||
</div>
|
||||
<div class="status" id='defCol'>
|
||||
<img id="img-def">
|
||||
<p class='statusLabel statusText' id='def'></p>
|
||||
</div>
|
||||
<div class="status" id="mdefCol">
|
||||
<img id="img-mdef">
|
||||
<p class='statusLabel statusText' id='mdef'></p>
|
||||
</div>
|
||||
<div class="status" id="moneyCol">
|
||||
<img id="img-money">
|
||||
<p class='statusLabel statusText' id='money'></p>
|
||||
</div>
|
||||
<div class="status" id="expCol">
|
||||
<img id="img-exp">
|
||||
<p class='statusLabel statusText' id='exp'></p>
|
||||
</div>
|
||||
<div class="status" id="upCol">
|
||||
<img id="img-up">
|
||||
<p class='statusLabel statusText' id='up'></p>
|
||||
</div>
|
||||
<div class="status" id="skillCol">
|
||||
<img id="img-skill">
|
||||
<p class='statusLabel statusText' id='skill' style='font-style: normal'></p>
|
||||
</div>
|
||||
<div class="status" id='keyCol'>
|
||||
<span class='statusLabel' id='yellowKey' style="color:#FFCCAA"></span>
|
||||
<span class='statusLabel' id='blueKey' style="color:#AAAADD"></span>
|
||||
<span class='statusLabel' id='redKey' style="color:#FF8888"></span>
|
||||
<span class='statusLabel' id='greenKey' style="color:#88FF88"></span>
|
||||
</div>
|
||||
<div class="status" id='pzfCol'>
|
||||
<span class='statusLabel' id='pickaxe' style="color: #BC6E27"></span>
|
||||
<span class='statusLabel' id='bomb' style="color: #FA14B9"></span>
|
||||
<span class='statusLabel' id='fly' style="color: #8DB600"></span>
|
||||
</div>
|
||||
<div class="status" id="debuffCol">
|
||||
<span class='statusLabel' id='poison' style="color: #AFFCA8;"></span>
|
||||
<span class='statusLabel' id='weak' style="color: #FECCD0;"></span>
|
||||
<span class='statusLabel' id='curse' style="color: #C2F4E7;"></span>
|
||||
</div>
|
||||
|
||||
<!-- 状态栏canvas化 -->
|
||||
<canvas id="statusCanvas" style="position: absolute; left: 0; top: 0;"></canvas>
|
||||
</div>
|
||||
<div id="toolBar" class="clearfix">
|
||||
<img class="tools" id='img-book'>
|
||||
<img class="tools" id='img-fly'>
|
||||
<img class="tools" id='img-toolbox'>
|
||||
<img class="tools" id='img-keyboard'>
|
||||
<img class="tools" id='img-shop'>
|
||||
<img class="tools" id='img-save'>
|
||||
<img class="tools" id='img-load'>
|
||||
<img class="tools" id='img-settings'>
|
||||
<img class="tools" id='img-btn1' style='display:none'>
|
||||
<img class="tools" id='img-btn2' style='display:none'>
|
||||
<img class="tools" id='img-btn3' style='display:none'>
|
||||
<img class="tools" id='img-btn4' style='display:none'>
|
||||
<img class="tools" id='img-btn5' style='display:none'>
|
||||
<img class="tools" id='img-btn6' style='display:none'>
|
||||
<img class="tools" id='img-btn7' style='display:none'>
|
||||
<img class="tools" id='img-btn8' style='display:none'>
|
||||
<p class="statusLabel tools" id="hard"></p>
|
||||
</div>
|
||||
<div id="gameDraw">
|
||||
<div id="gif"></div>
|
||||
<div id="gif2"></div>
|
||||
<canvas class='gameCanvas' id='bg'></canvas>
|
||||
<canvas class='gameCanvas' id='event'></canvas>
|
||||
<canvas class='gameCanvas' id='hero'></canvas>
|
||||
<canvas class='gameCanvas' id='event2'></canvas>
|
||||
<canvas class='gameCanvas' id='fg'></canvas>
|
||||
<canvas class='gameCanvas' id='damage'></canvas>
|
||||
<canvas class='gameCanvas' id='animate'></canvas>
|
||||
<canvas class='gameCanvas' id='curtain'></canvas>
|
||||
<canvas class='gameCanvas' id='ui'></canvas>
|
||||
<canvas class='gameCanvas' id='data'>此浏览器不支持HTML5</canvas>
|
||||
<div id="next"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id='inputDiv'>
|
||||
<div id='inputDialog'>
|
||||
<p id="inputMessage">请输入文字...</p>
|
||||
<input id='inputBox' type="text" autocomplete="off" />
|
||||
<button id='inputYes'>确定</button>
|
||||
<button id='inputNo'>取消</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- UI预览 & 地图选点 -->
|
||||
<div id='uieventDiv' style='display: none'>
|
||||
|
@ -267,10 +267,13 @@ function core() {
|
||||
|
||||
////// 初始化 //////
|
||||
core.prototype.init = async function (coreData, callback) {
|
||||
if (main.replayChecking) {
|
||||
console.log(`core.init should be called when not replay checking!`);
|
||||
}
|
||||
|
||||
this._forwardFuncs();
|
||||
for (var key in coreData) core[key] = coreData[key];
|
||||
await this._loadGameProcess();
|
||||
await this._loadPluginAsync();
|
||||
this._init_flags();
|
||||
this._init_platform();
|
||||
this._init_others();
|
||||
@ -290,10 +293,21 @@ core.prototype.init = async function (coreData, callback) {
|
||||
}
|
||||
}
|
||||
|
||||
if (main.replayChecking || main.mode === 'editor') {
|
||||
if (main.mode === 'editor') {
|
||||
if (main.scriptCompress) {
|
||||
const { LoadTask, loadCompressedResource } = Mota.require(
|
||||
'@motajs/legacy-common'
|
||||
);
|
||||
await loadCompressedResource();
|
||||
await LoadTask.load();
|
||||
core.loader._loadMaterials_afterLoad();
|
||||
core._afterLoadResources(callback);
|
||||
Mota.require('@user/data-base').loading.emit('loaded');
|
||||
} else {
|
||||
core.loader._load(function () {
|
||||
core._afterLoadResources(callback);
|
||||
});
|
||||
}
|
||||
} else {
|
||||
if (main.renderLoaded)
|
||||
Mota.require('@motajs/legacy-ui').fixedUi.open('load', {
|
||||
@ -312,7 +326,6 @@ core.prototype.init = async function (coreData, callback) {
|
||||
core.prototype.initSync = function (coreData, callback) {
|
||||
this._forwardFuncs();
|
||||
for (var key in coreData) core[key] = coreData[key];
|
||||
this._loadGameProcessSync();
|
||||
this._loadPluginSync();
|
||||
this._init_flags();
|
||||
this._init_platform();
|
||||
@ -323,42 +336,21 @@ core.prototype.initSync = function (coreData, callback) {
|
||||
});
|
||||
};
|
||||
|
||||
core.prototype._loadPluginAsync = async function () {
|
||||
if (!main.useCompress) {
|
||||
await main.loadScript(`project/plugins.js?v=${main.version}`);
|
||||
}
|
||||
this._initPlugins();
|
||||
};
|
||||
|
||||
core.prototype._loadPluginSync = function () {
|
||||
if (main.useCompress) main.loadMod('project', 'project', () => 0);
|
||||
else {
|
||||
main.pureData.forEach(v => main.loadMod('project', v, () => 0));
|
||||
}
|
||||
this._initPlugins();
|
||||
};
|
||||
|
||||
core.prototype._initPlugins = function () {
|
||||
for (const [key, value] of Object.entries(
|
||||
plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1
|
||||
)) {
|
||||
try {
|
||||
value?.call(plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1);
|
||||
} catch (e) {
|
||||
console.error(`Plugin '${key}' init failed.`);
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
core.prototype._loadGameProcess = async function () {
|
||||
// 加载游戏进程代码
|
||||
if (main.pluginUseCompress && main.replayChecking) {
|
||||
await main.loadScript(`project/processG.min.js?v=${main.version}`);
|
||||
if (main.scriptCompress && main.replayChecking) {
|
||||
await main.loadScript(`data.process.js`);
|
||||
} else {
|
||||
if (main.mode === 'editor') {
|
||||
if (main.pluginUseCompress) {
|
||||
await main.loadScript(`project/processG.min.js`);
|
||||
if (main.scriptCompress) {
|
||||
await main.loadScript(`data.process.js`);
|
||||
} else {
|
||||
await main.loadScript(`esm?name=src/data.ts`, true);
|
||||
}
|
||||
@ -369,11 +361,6 @@ core.prototype._loadGameProcess = async function () {
|
||||
}
|
||||
};
|
||||
|
||||
core.prototype._loadGameProcessSync = function () {
|
||||
if (main.useCompress) main.loadMod('project', 'processG', () => 0);
|
||||
else main.loadMod('project', 'processG.min', () => 0);
|
||||
};
|
||||
|
||||
core.prototype._init_flags = function () {
|
||||
core.flags = core.clone(core.data.flags);
|
||||
core.values = core.clone(core.data.values);
|
||||
|
@ -5,6 +5,7 @@ function main() {
|
||||
this.version = '1.0.0'; // 游戏版本号;如果更改了游戏内容建议修改此version以免造成缓存问题。
|
||||
|
||||
this.useCompress = false; // 是否使用压缩文件
|
||||
this.scriptCompress = false; // 是否经过打包
|
||||
this.skipResourcePackage = true; // 跳过资源打包
|
||||
|
||||
this.bgmRemote = false; // 是否采用远程BGM
|
||||
|
@ -121,7 +121,11 @@ main.floors.MT0=
|
||||
"autoEvent": {},
|
||||
"bgm": "cave.opus",
|
||||
"beforeBattle": {},
|
||||
"bg2map": [],
|
||||
"fg2map": [],
|
||||
"bg2map": [
|
||||
|
||||
],
|
||||
"fg2map": [
|
||||
|
||||
],
|
||||
"cannotMoveIn": {}
|
||||
}
|
@ -44,7 +44,6 @@ async function buildClient(outDir: string) {
|
||||
'Opera >= 43'
|
||||
],
|
||||
polyfills: true,
|
||||
modernPolyfills: true,
|
||||
renderModernChunks: false
|
||||
})
|
||||
],
|
||||
@ -60,18 +59,6 @@ async function buildClient(outDir: string) {
|
||||
assetFileNames: 'assets/[name].[hash][extname]',
|
||||
manualChunks: {
|
||||
antdv: ['ant-design-vue', '@ant-design/icons-vue'],
|
||||
common: [
|
||||
'lodash-es',
|
||||
'axios',
|
||||
'lz-string',
|
||||
'chart.js',
|
||||
'mutate-animate',
|
||||
'eventemitter3',
|
||||
'gl-matrix',
|
||||
'jszip',
|
||||
'anon-tokyo',
|
||||
'vue'
|
||||
],
|
||||
audio: [
|
||||
'codec-parser',
|
||||
'opus-decoder',
|
||||
@ -448,9 +435,13 @@ async function buildGame() {
|
||||
);
|
||||
}
|
||||
const code = transformed.code;
|
||||
const modifiedHead = head.replace(
|
||||
'this.scriptCompress = false;',
|
||||
'this.scriptCompress = true;'
|
||||
);
|
||||
await writeFile(
|
||||
resolve(tempDir, 'common/main.js'),
|
||||
head + '\n// >>>> body end\n' + code,
|
||||
modifiedHead + '\n// >>>> body end\n' + code,
|
||||
'utf-8'
|
||||
);
|
||||
} catch (e) {
|
||||
@ -536,7 +527,8 @@ async function buildGame() {
|
||||
'project/icons.js',
|
||||
'project/items.js',
|
||||
'project/maps.js',
|
||||
'project/plugins.js'
|
||||
'project/plugins.js',
|
||||
'project/materials/airwall.png'
|
||||
];
|
||||
|
||||
clientPackArr.forEach(v => {
|
||||
|
@ -2,8 +2,8 @@
|
||||
"compilerOptions": {
|
||||
"target": "ESNext",
|
||||
"composite": true,
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "Node",
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"strict": true
|
||||
},
|
||||
|
@ -1,7 +1,5 @@
|
||||
import { defineConfig } from 'vite';
|
||||
import vue from '@vitejs/plugin-vue';
|
||||
import components from 'unplugin-vue-components/vite';
|
||||
import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers';
|
||||
import vuejsx from '@vitejs/plugin-vue-jsx';
|
||||
import path from 'path';
|
||||
import postcssPresetEnv from 'postcss-preset-env';
|
||||
@ -39,8 +37,7 @@ export default defineConfig({
|
||||
isCustomElement: tag => {
|
||||
return custom.includes(tag) || tag.startsWith('g-');
|
||||
}
|
||||
}),
|
||||
components({ resolvers: [AntDesignVueResolver()] })
|
||||
})
|
||||
],
|
||||
base: `./`,
|
||||
resolve: {
|
||||
|
Loading…
Reference in New Issue
Block a user