mirror of
https://github.com/babalae/bettergi-scripts-list.git
synced 2026-04-27 22:59:49 +08:00
(适配 https://github.com/babalae/better-genshin-impact/pull/3069) feat(ActivitySwitchNotice): 实现单例模式配置唯一实例 (#3154)
This commit is contained in:
@@ -511,6 +511,9 @@ ActivitySwitchNotice/
|
||||
|
||||
## 版本历史
|
||||
|
||||
### 0.1.4 (2026-04-23)
|
||||
|
||||
- 单例模式 配置唯一实例
|
||||
### 0.1.3 (2026-03-28)
|
||||
- 修复异常配置导致无法运行
|
||||
### 0.1.2 (2026-03-23)
|
||||
|
||||
@@ -435,7 +435,24 @@ async function OcrKey(activityName, key = "剩余时间", ocrRegion = ocrRegionC
|
||||
}
|
||||
}
|
||||
|
||||
async function buildInitConfigSettings() {
|
||||
config = {
|
||||
//剩余时间,白名单 启用`和`关系(默认`与`关系)
|
||||
relationship: settings.relationship,
|
||||
whiteActivityNameList: parseWhiteActivity(settings.whiteActivityNameList),
|
||||
activityKey: (settings.activityKey ? settings.activityKey : 'F5'),
|
||||
toTopCount: settingsParseInt(settings.toTopCount, 10),//滑动到顶最大尝试次数
|
||||
scrollPageCount: settingsParseInt(settings.scrollPageCount, 4),//滑动次数/页
|
||||
notifyHoursThreshold: settingsParseInt(settings.notifyHoursThreshold, 8760),//剩余时间阈值(默认 8760小时=365天)
|
||||
// 黑名单活动名称列表,这些活动将被排除在识别和处理之外
|
||||
// 通过 | 分隔多个活动名称,并过滤掉空白项
|
||||
blackActivityMap: parseBlackActivity(settings.blackActivity, parseWhiteActivity(settings.whiteActivityNameList)),
|
||||
// 同时确保黑名单中的活动名称不包含在白名单(whiteActivityNameList)中
|
||||
blackActivityNameList: [],
|
||||
}
|
||||
}
|
||||
async function init() {
|
||||
await buildInitConfigSettings();
|
||||
log.debug(`[init-config]-[{config}]`, JSON.stringify(config));
|
||||
let blackActivityMap = config.blackActivityMap
|
||||
config.blackActivityNameList = blackActivityMap ? Array.from(blackActivityMap.keys()) : [];
|
||||
|
||||
@@ -48,6 +48,27 @@ let local = {
|
||||
uid: null,
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建初始化配置设置函数
|
||||
* 该函数用于初始化WebSocket配置和本地配置信息
|
||||
*/
|
||||
async function buildInitConfigSettings() {
|
||||
// 初始化WebSocket配置对象
|
||||
configWs = {
|
||||
action: actionMap.get(settings.action), // 从actionMap中获取对应的操作映射
|
||||
group_id: settings.send_id, // 设置群组ID
|
||||
user_id: settings.send_id, // 设置用户ID
|
||||
ws_proxy_url: settings.ws_proxy_url, // 设置WebSocket代理URL
|
||||
ws_url: settings.ws_url, // 设置WebSocket连接URL
|
||||
ws_token: settings.ws_token, // 设置WebSocket连接令牌
|
||||
at_list: settings.at_list ? settings.at_list.split(",") : [] // 处理@用户列表,如果存在则按逗号分割,否则为空数组
|
||||
}
|
||||
// 初始化本地配置对象
|
||||
local = {
|
||||
token: null, // 初始化token为null
|
||||
uid: null, // 初始化用户ID为null
|
||||
}
|
||||
}
|
||||
/**
|
||||
*
|
||||
*
|
||||
@@ -56,6 +77,7 @@ let local = {
|
||||
* 目前函数体为空,可以根据实际需求添加初始化逻辑
|
||||
*/
|
||||
async function init() {
|
||||
await buildInitConfigSettings()
|
||||
const uid = await ocrUID()
|
||||
local.token = await getToken()
|
||||
local.uid = uid
|
||||
|
||||
Reference in New Issue
Block a user