/// <summary> /// 上传配置初始化 /// </summary> public static void InitUpload() { try { enableUpload = MMPU.读取exe默认配置文件("EnableUpload", "0") == "1" ? true : false; InfoLog.InfoPrintf($"配置文件初始化任务[EnableUpload]:{enableUpload}", InfoLog.InfoClass.Debug); } catch { enableUpload = false; deleteAfterUpload = "0"; InfoLog.InfoPrintf($"上传模块初始化错误,已关闭自动上传", InfoLog.InfoClass.系统错误信息); return; } if (enableUpload) { try { deleteAfterUpload = MMPU.读取exe默认配置文件("DeleteAfterUpload", "0"); InfoLog.InfoPrintf($"配置文件初始化任务[DeleteAfterUpload]:{deleteAfterUpload}", InfoLog.InfoClass.Debug); InitOneDrive(); InitCos(); enableUpload &= CheckEnableUpload; //配置文件中EnableUpload开启 且 至少成功配置一个上传目标 UploadOrder = UploadOrderTemp.OrderBy(p => p.Key).ToDictionary(p => p.Key, o => o.Value); } catch (ArgumentException) { InfoLog.InfoPrintf($"上传顺序出现重复,已自动关闭上传", InfoLog.InfoClass.系统错误信息); enableUpload = false; return; } } }
/// <summary> /// 初始化Cos /// </summary> private static void InitCos() { enableCos = MMPU.读取exe默认配置文件("EnableCos", "0"); InfoLog.InfoPrintf($"配置文件初始化任务[EnableCos]:{enableCos}", InfoLog.InfoClass.Debug); if (enableCos != "0") { UploadOrderTemp.Add(int.Parse(enableCos), "Cos"); CheckEnableUpload = true; InfoLog.InfoPrintf($"已检测到Cos上传任务,上传顺序为{enableCos}", InfoLog.InfoClass.必要提示); cosSecretId = MMPU.读取exe默认配置文件("CosSecretId", ""); InfoLog.InfoPrintf($"配置文件初始化任务[CosSecretId]:敏感信息,隐藏内容,信息长度:{cosSecretId.Length}", InfoLog.InfoClass.Debug); cosSecretKey = MMPU.读取exe默认配置文件("CosSecretKey", ""); InfoLog.InfoPrintf($"配置文件初始化任务[CosSecretKey]:敏感信息,隐藏内容,信息长度:{cosSecretKey.Length}", InfoLog.InfoClass.Debug); cosRegion = MMPU.读取exe默认配置文件("CosRegion", ""); InfoLog.InfoPrintf($"配置文件初始化任务[CosRegion]:{cosRegion}", InfoLog.InfoClass.Debug); cosBucket = MMPU.读取exe默认配置文件("CosBucket", ""); InfoLog.InfoPrintf($"配置文件初始化任务[CosBucket]:{cosBucket}", InfoLog.InfoClass.Debug); cosPath = MMPU.读取exe默认配置文件("CosPath", "/"); MMPU.CheckPath(ref cosPath); InfoLog.InfoPrintf($"配置文件初始化任务[CosPath]:{cosPath}", InfoLog.InfoClass.Debug); } }
/// <summary> /// 初始化OneDrive /// </summary> private static void InitOneDrive() { enableOneDrive = MMPU.读取exe默认配置文件("EnableOneDrive", "0"); InfoLog.InfoPrintf($"配置文件初始化任务[EnableOneDrive]:{enableOneDrive}", InfoLog.InfoClass.Debug); if (enableOneDrive != "0") { UploadOrderTemp.Add(int.Parse(enableOneDrive), "OneDrive"); CheckEnableUpload = true; InfoLog.InfoPrintf($"已检测到OneDrive上传任务,上传顺序为{enableOneDrive}", InfoLog.InfoClass.必要提示); oneDriveConfig = MMPU.读取exe默认配置文件("OneDriveConfig", ""); InfoLog.InfoPrintf($"配置文件初始化任务[oneDriveConfig]:{oneDriveConfig}", InfoLog.InfoClass.Debug); oneDrivePath = MMPU.读取exe默认配置文件("OneDrivePath", "/"); MMPU.CheckPath(ref oneDrivePath); InfoLog.InfoPrintf($"配置文件初始化任务[oneDrivePath]:{oneDrivePath}", InfoLog.InfoClass.Debug); } }
public static void 导入VTBVUP(Action <string> callback, System.Windows.Window W, bool 是否初始化) { NewThreadTask.Run(runOnLocalThread => { try { if (string.IsNullOrEmpty(MMPU.Cookie)) { callback("未登录,请先登录"); return; } MMPU.加载网络房间方法.更新网络房间缓存(); MMPU.加载网络房间方法.是否正在缓存 = true; while (MMPU.加载网络房间方法.是否正在缓存) { Thread.Sleep(500); } if (是否初始化) { RoomInit.RoomConfigFile = MMPU.读取exe默认配置文件("RoomConfiguration", "./RoomListConfig.json"); RoomInit.InitializeRoomConfigFile(); RoomInit.InitializeRoomList(0, false, false); } int 增加的数量 = 0; int 已经存在的数量 = 0; RoomBox rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile)); RoomBox RB = new RoomBox { data = new List <RoomCadr>() }; if (rlc.data != null) { foreach (var item in rlc.data) { RB.data.Add(item); } } List <MMPU.加载网络房间方法.中的网络房间> 符合条件的房间 = new List <MMPU.加载网络房间方法.中的网络房间>(); JObject BB = bilibili.根据UID获取关注列表(MMPU.UID); foreach (var 账号关注数据 in BB["data"]) { foreach (var 网络房间数据 in MMPU.加载网络房间方法.列表缓存1) { if (账号关注数据["UID"].ToString() == 网络房间数据.UID) { 符合条件的房间.Add(new MMPU.加载网络房间方法.中的网络房间() { UID = 网络房间数据.UID, 称 = 网络房间数据.称, 官方名称 = 网络房间数据.官方名称, 平台 = 网络房间数据.平台, 房间号 = 网络房间数据.roomId, 编号 = 0 }); break; } } } foreach (var 符合条件的 in 符合条件的房间) { bool BF = false; if (!string.IsNullOrEmpty(符合条件的.UID)) { string 房间号 = string.Empty; if (string.IsNullOrEmpty(符合条件的.房间号)) { BF = true; 房间号 = bilibili.通过UID获取房间号(符合条件的.UID); 符合条件的.房间号 = 房间号; } else { 房间号 = 符合条件的.房间号; } bool 是否已经存在 = false; foreach (var item in bilibili.RoomList) { if (item.房间号 == 房间号) { 是否已经存在 = true; break; } } if (!是否已经存在 && !string.IsNullOrEmpty(房间号.Trim('0'))) { 增加的数量++; long UIDD = 0; try { UIDD = long.Parse(符合条件的.UID); } catch (Exception) {} RB.data.Add(new RoomCadr { Name = 符合条件的.称, RoomNumber = 符合条件的.房间号, Types = 符合条件的.平台, RemindStatus = false, status = false, VideoStatus = false, OfficialName = 符合条件的.官方名称, LiveStatus = false, UID = UIDD }); } else { 已经存在的数量++; } } if (BF) { Thread.Sleep(200); } } string JOO = JsonConvert.SerializeObject(RB); MMPU.储存文本(JOO, RoomConfigFile); InitializeRoomList(0, false, false); runOnLocalThread(() => { callback("导入成功!原有:" + 已经存在的数量 + "个,新增VTB/VUP数:" + 增加的数量); }); } catch (Exception E) { ; } }, W); }
private void 导入VTBVUP(Action <int, int> callback) { NewThreadTask.Run(runOnLocalThread => { runOnLocalThread(() => 导入VTBVUP提示文本.Text = "正在加载房间列表数据,该过程耗时较长,请耐心等待……"); MMPU.加载网络房间方法.更新网络房间缓存(); MMPU.加载网络房间方法.是否正在缓存 = true; while (MMPU.加载网络房间方法.是否正在缓存) { Thread.Sleep(500); } runOnLocalThread(() => 导入VTBVUP提示文本.Text = "正在导入关注列表里符合的VTB/VUP数据,请稍候……"); int 增加的数量 = 0; int 已经存在的数量 = 0; RoomInit.RoomConfigFile = MMPU.读取exe默认配置文件("RoomConfiguration", "./RoomListConfig.json"); RoomInit.InitializeRoomConfigFile(); RoomInit.InitializeRoomList(0, false, false); RoomBox rlc = JsonConvert.DeserializeObject <RoomBox>(ReadConfigFile(RoomConfigFile)); RoomBox RB = new RoomBox { data = new List <RoomCadr>() }; if (rlc.data != null) { foreach (var item in rlc.data) { RB.data.Add(item); } } List <MMPU.加载网络房间方法.中的网络房间> 符合条件的房间 = new List <MMPU.加载网络房间方法.中的网络房间>(); JObject BB = bilibili.根据UID获取关注列表(MMPU.UID); foreach (var 账号关注数据 in BB["data"]) { foreach (var 网络房间数据 in MMPU.加载网络房间方法.列表缓存1) { if (账号关注数据["UID"].ToString() == 网络房间数据.UID) { 符合条件的房间.Add(new MMPU.加载网络房间方法.中的网络房间() { UID = 网络房间数据.UID, 称 = 网络房间数据.称, 官方名称 = 网络房间数据.官方名称, 平台 = 网络房间数据.平台, 房间号 = null, 编号 = 0 }); break; } } } foreach (var 符合条件的 in 符合条件的房间) { if (!string.IsNullOrEmpty(符合条件的.UID)) { string 房间号 = bilibili.通过UID获取房间号(符合条件的.UID); 符合条件的.房间号 = 房间号; bool 是否已经存在 = false; foreach (var item in bilibili.RoomList) { if (item.房间号 == 房间号) { 是否已经存在 = true; break; } } if (!是否已经存在 && !string.IsNullOrEmpty(房间号.Trim('0'))) { 增加的数量++; RB.data.Add(new RoomCadr { Name = 符合条件的.称, RoomNumber = 符合条件的.房间号, Types = 符合条件的.平台, RemindStatus = false, status = false, VideoStatus = false, OfficialName = 符合条件的.官方名称, LiveStatus = false }); } else { 已经存在的数量++; } } Thread.Sleep(100); } string JOO = JsonConvert.SerializeObject(RB); MMPU.储存文本(JOO, RoomConfigFile); InitializeRoomList(0, false, false); _已导入 = true; runOnLocalThread(() => { callback(增加的数量, 已经存在的数量); }); }, this); }