diff --git a/repo/js/ActivitySwitchNotice/README.md b/repo/js/ActivitySwitchNotice/README.md index 357cda9ad..236b39d68 100644 --- a/repo/js/ActivitySwitchNotice/README.md +++ b/repo/js/ActivitySwitchNotice/README.md @@ -511,6 +511,9 @@ ActivitySwitchNotice/ ## 版本历史 +### 0.1.4 (2026-04-23) + +- 单例模式 配置唯一实例 ### 0.1.3 (2026-03-28) - 修复异常配置导致无法运行 ### 0.1.2 (2026-03-23) diff --git a/repo/js/ActivitySwitchNotice/utils/activity.js b/repo/js/ActivitySwitchNotice/utils/activity.js index d598a3c81..753ec68ec 100644 --- a/repo/js/ActivitySwitchNotice/utils/activity.js +++ b/repo/js/ActivitySwitchNotice/utils/activity.js @@ -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()) : []; diff --git a/repo/js/ActivitySwitchNotice/utils/ws.js b/repo/js/ActivitySwitchNotice/utils/ws.js index 91328163d..bb1f8ad13 100644 --- a/repo/js/ActivitySwitchNotice/utils/ws.js +++ b/repo/js/ActivitySwitchNotice/utils/ws.js @@ -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