Skip to content

Commit 6121046

Browse files
Refactor types
1 parent 2498a72 commit 6121046

File tree

12 files changed

+146
-167
lines changed

12 files changed

+146
-167
lines changed

src/index.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
*/
55

66
export { default as registerDrag } from './drag.js';
7-
export { default as logger } from './logger.js';
7+
export { default as logger, LogLevel } from './logger.js';
88
export { default as Model } from './live2d/index.js';
9-
export { default as ModelManager } from './model.js';
109
export { default as tools } from './tools.js';
1110

12-
export { showMessage, welcomeMessage } from './message.js';
13-
export { randomSelection } from './utils.js';
14-
export { initWidget } from './widget.js';
11+
export * from './message.js';
12+
export * from './model.js';
13+
export * from './utils.js';
14+
export * from './widget.js';

src/logger.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ class Logger {
1414
this.level = level;
1515
}
1616

17-
setLevel(level: LogLevel) {
17+
setLevel(level: LogLevel | undefined) {
18+
if (!level) return;
1819
this.level = level;
1920
}
2021

@@ -50,3 +51,4 @@ class Logger {
5051
const logger = new Logger();
5152

5253
export default logger;
54+
export { LogLevel };

src/message.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,19 @@
55

66
import { randomSelection } from './utils.js';
77

8+
type Time = {
9+
/**
10+
* 时间段,格式为 "HH-HH",例如 "00-06" 表示 0 点到 6 点。
11+
* @type {string}
12+
*/
13+
hour: string;
14+
/**
15+
* 在该时间段显示的消息。
16+
* @type {string}
17+
*/
18+
text: string;
19+
}[];
20+
821
let messageTimer: NodeJS.Timeout | null = null;
922

1023
/**
@@ -78,4 +91,4 @@ function welcomeMessage(time: Time): string {
7891
return text;
7992
}
8093

81-
export { showMessage, welcomeMessage };
94+
export { showMessage, welcomeMessage, Time };

src/model.ts

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,51 @@
66
import { showMessage } from './message.js';
77
import { randomSelection } from './utils.js';
88
import Model from './live2d/index.js';
9-
import logger from './logger.js';
9+
import logger, { LogLevel } from './logger.js';
1010

1111
interface ModelList {
1212
messages: string[];
1313
models: string | string[];
1414
}
1515

16+
interface Config {
17+
/**
18+
* 看板娘配置文件的路径。
19+
* @type {string}
20+
*/
21+
waifuPath: string;
22+
/**
23+
* API 的路径,如果需要使用 API 加载模型。
24+
* @type {string | undefined}
25+
*/
26+
apiPath?: string;
27+
/**
28+
* CDN 的路径,如果需要使用 CDN 加载模型。
29+
* @type {string | undefined}
30+
*/
31+
cdnPath?: string;
32+
/**
33+
* 默认模型的 id。
34+
* @type {string | undefined}
35+
*/
36+
modelId?: number;
37+
/**
38+
* 需要显示的工具列表。
39+
* @type {string[] | undefined}
40+
*/
41+
tools?: string[];
42+
/**
43+
* 支持拖动看板娘。
44+
* @type {boolean | undefined}
45+
*/
46+
drag?: boolean;
47+
/**
48+
* 日志的等级。
49+
* @type {LogLevel | undefined}
50+
*/
51+
logLevel?: LogLevel;
52+
}
53+
1654
/**
1755
* 看板娘模型类,负责加载和管理模型。
1856
*/
@@ -203,4 +241,4 @@ class ModelManager {
203241
}
204242
}
205243

206-
export default ModelManager;
244+
export { ModelManager, Config };

src/tools.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ const tools = {
4141
callback: () => {
4242
if (window.Asteroids) {
4343
if (!window.ASTEROIDSPLAYERS) window.ASTEROIDSPLAYERS = [];
44-
window.ASTEROIDSPLAYERS.push(new Asteroids());
44+
window.ASTEROIDSPLAYERS.push(new window.Asteroids());
4545
} else {
4646
const script = document.createElement('script');
4747
script.src =

src/types/asteroids.d.ts

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/types/config.d.ts

Lines changed: 0 additions & 41 deletions
This file was deleted.

src/types/index.d.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,6 @@
22
* @file 匯出所有類型定義。
33
* @module types/index
44
*/
5-
export * from './asteroids';
6-
export * from './config';
7-
export * from './model';
85
export * from './live2dApi';
9-
export * from './tips';
106
export * from './svg';
11-
export * from './time';
12-
export * from './tools';
137
export * from './window';

src/types/time.d.ts

Lines changed: 0 additions & 16 deletions
This file was deleted.

src/types/tips.d.ts

Lines changed: 0 additions & 60 deletions
This file was deleted.

0 commit comments

Comments
 (0)