添加 Appid 字段,疑似用户看直播的应用id,按需使用;
进入直播间消息 添加 进入渠道字段`EnterTipType` 已知0为普通进入,6为通过分享进入; User字段新增 `IsAdmin` 和 `IsAnchor` 字段,用于区分是否为管理员或者主播的消息; web在中途监听弹幕,且直播间弹幕链接已降级为轮询的情况下,解决 webroomid 以及房间信息丢失问题; 优化部分已知问题;
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user