添加 Appid 字段,疑似用户看直播的应用id,按需使用;

进入直播间消息 添加 进入渠道字段`EnterTipType` 已知0为普通进入,6为通过分享进入;
User字段新增  `IsAdmin` 和 `IsAnchor` 字段,用于区分是否为管理员或者主播的消息;
web在中途监听弹幕,且直播间弹幕链接已降级为轮询的情况下,解决 webroomid 以及房间信息丢失问题;
优化部分已知问题;
This commit is contained in:
Muihd
2025-01-12 13:54:21 +08:00
parent 000b20c492
commit 3b27012415
8 changed files with 373 additions and 104 deletions
+39
View File
@@ -319,5 +319,44 @@ namespace BarrageGrab
});
}
/// <summary>
/// 获取Uri查询参数
/// </summary>
/// <param name="uri"></param>
/// <returns></returns>
/// <exception cref="ArgumentNullException"></exception>
public static IDictionary<string, string> GetQueryParams(this Uri uri)
{
if (uri == null)
{
throw new ArgumentNullException(nameof(uri));
}
var queryParams = uri.Query.TrimStart('?');
if (string.IsNullOrEmpty(queryParams))
{
return new Dictionary<string, string>();
}
return queryParams
.Split('&')
.Select(param => param.Split('='))
.ToDictionary(
keyValuePair => Uri.UnescapeDataString(keyValuePair[0]),
keyValuePair => Uri.UnescapeDataString(keyValuePair.Length > 1 ? keyValuePair[1] : ""));
}
/// <summary>
/// 获取Uri查询参数
/// </summary>
/// <param name="uri"></param>
/// <param name="key"></param>
/// <returns></returns>
public static string GetQueryParam(this Uri uri, string key)
{
return uri.GetQueryParams().Where(w => w.Key == key).Select(s => s.Value).FirstOrDefault();
}
}
}