一个深度集成 UApi 的C# SDK, 由社区制作, 旨在为了更好的体验而诞生.
Copyright (©) AxT-Team & UApi, Developer: Rainbow-SPY. All content is protected by copyright.
This project is licensed under AGPL-3.0 + Attribution + Non-Commercial terms.
- You must:
- Keep original author attribution and repository link.
- Open-source any modified versions under AGPL-3.0.
- You cannot:
- Use this code (or derivatives) for commercial purposes.
- See LICENSE for full terms.
版权所有 (©) AxT-Team & UApi,开发者:Rainbow-SPY,所有内容均受版权保护。
本项目采用 AGPL-3.0 + 署名 + 非商业附加条款 许可协议。
- 您必须:
- 保留原始作者署名及仓库链接。
- 任何修改后的版本必须以 AGPL-3.0 协议开源。
- 您不得:
- 将此代码(或衍生作品)用于商业用途。
- 完整条款参见 LICENSE
var request = await UAPI.bilibili.GetArchives(string mid,
ArchivesSearchType orderby = ArchivesSearchType.Pubdate,
string keywords = "",
int ps = 20, int pn = 1)- 参数选项:
-
mid: 指定要查询的用户UID(mid)
-
orderby: 指定以何种查询方式, 默认为
Pubdate. 可供使用的枚举有:枚举值 注释 Pubdate以最新发布顺序排列 Views以播放量排列 -
keywords: 指定一个关键字作为查找内容并返回与之相关的内容, 默认为空.
-
ps: 指定每页的稿件数量, 默认
20. -
pn: 指定一个页码并返回指定页码的稿件信息, 默认为
1.
-
- 返回类型:
Task <UAPI.bilibili.ArchiveType> - 返回值:
ArchiveType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.bilibili.BilibiliServiceError: bilibili API 上游服务异常, 这可能是他们的服务暂时中断.
- 属性列表: 详见 bilibili.GetArchives.md
var request = await UAPI.bilibili.GetLiveRoomStatus.AsID(string mid);
= await UAPI.bilibili.GetLiveRoomStatus.AsLiveroomID(string room_id);- 参数选项:
- mid: 指定要查询的用户UID(mid)
- room_id: 指定要查询的直播间ID, 和上述参数
mid选其一即可.
- 返回类型:
Task <UAPI.bilibili.LiveRoomType> - 返回值:
LiveRoomType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.bilibili.BilibiliServiceError: bilibili API 上游服务异常, 这可能是他们的服务暂时中断.
var request = await UAPI.bilibili.GetUserData(string mid);- 参数选项:
- mid: 指定要查询的用户UID(mid)
- 返回类型:
Task <UAPI.bilibili.UserType> - 返回值:
UserType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.bilibili.BilibiliServiceError: bilibili API 上游服务异常, 这可能是他们的服务暂时中断.
var request = await UAPI.bilibili.GetVideoData(string video_id, BiliVideoIDType IDType)- 参数选项:
-
mid: 指定要查询的用户UID(mid)
-
IDType: 指定查询视频的ID格式, 可供使用的枚举如下:
枚举值 注释 AID 视频的AV号 (aid) BVID 视频的BV号 (bvid)
-
- 返回类型:
Task <UAPI.bilibili.VideoType> - 返回值:
VideoType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.bilibili.BilibiliServiceError: bilibili API 上游服务异常, 这可能是他们的服务暂时中断.
var request = await UAPI.bilibili.GetRepliesList(string oid, string sort = "0", int ps = 20, int pn = 1)- 参数选项:
- oid: 指定要查询的目标评论区的ID。对于视频,这通常就是它的
aid/bvid. - sort: 指定查询视频的排序方式。支持
0/time(按时间)、1/like(按点赞)、2/reply(按回复数)、3/hot/hottest/最热(按最热)。默认为0/time。 - ps: 每页获取的评论数量,范围是
1到20。默认为20。 - pn: 要获取的页码,从
1开始。默认为1。
- oid: 指定要查询的目标评论区的ID。对于视频,这通常就是它的
- 返回类型:
Task <UAPI.bilibili.RepliesListType> - 返回值:
RepliesListType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.bilibili.BilibiliServiceError: bilibili API 上游服务异常, 这可能是他们的服务暂时中断.
var request = await UAPI.QQ.GetGroupData(string group_id);- 参数选项:
- group_id: 指定要查询的群ID
- 返回类型:
Task <UAPI.QQ.GroupType> - 返回值:
GroupType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.QQ.QQServiceError(): QQ 上游服务异常, 这可能是他们的服务暂时中断.
var request = await UAPI.QQ.GetUserData(string qq);- 参数选项:
- qq: 指定要查询的用户QQ号
- 返回类型:
Task <UAPI.QQ.UserType> - 返回值:
UserType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.QQ.QQServiceError(): QQ 上游服务异常, 这可能是他们的服务暂时中断.
var request = await UAPI.github.GetReposData(string owner_and_repo)- 参数选项:
- owner_and_repo: 指定要查询的用户+仓库, 例:
"torvalds/linux"
- owner_and_repo: 指定要查询的用户+仓库, 例:
- 返回类型:
Task <UAPI.github.ReposType> - 返回值:
ReposType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.github.GithubAPIServiceError(): Github 上游服务异常, 这可能是他们的服务暂时中断.
var request = await UAPI.EpicGames.GetDataJson();- 返回类型:
Task <UAPI.EpicGames.EpicType> - 返回值:
EpicType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.EpicGames.EpicGamesServerError: Epic Games 上游 API 服务异常
Note
所有 Minecraft 相关被请求查询的用户必须均为正版, 否则没有官方数据会返回 404等StatusCode .
var request = await UAPI.minecraft.GetHistoryName(string _param, SearchType searchType);- 参数选项:
-
_param: 指定要查询的用户UUID或昵称
-
searchType: 指定查询的查找方式, 可供使用的枚举如下:
枚举值 注释 UUID 以UUID查找 Name 以昵称查找
-
- 返回类型:
Task <UAPI.bilibili.HistoryType> - 返回值:
HistoryType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.minecraft.MojangAPIServiceError: Mojang API 上游服务异常, 这可能是他们的服务暂时中断.
var request = await UAPI.minecraft.GetServerStatus(string server, int port = 25565);- 参数选项:
- server: 指定要查询的服务器地址
- port: 指定查询的服务器的端口, 默认为
25565.
- 返回类型:
Task <UAPI.minecraft.ServerType> - 返回值:
ServerType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.minecraft.MojangAPIServiceError: Mojang API 上游服务异常, 这可能是他们的服务暂时中断.
var request = await UAPI.minecraft.GetUserData(string username)- 参数选项:
- username: 指定要查询的用户名
- 返回类型:
Task <UAPI.minectaft.UserType> - 返回值:
UserType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.minecraft.MojangAPIServiceError: Mojang API 上游服务异常, 这可能是他们的服务暂时中断.
var request = await UAPI.Steam.GetUserData(string SteamID, string key);-
参数选项:
-
SteamID: 指定要查询的用户ID, 有多重枚举类型的ID可供选择, 如下:
ID类型 正则表达式格式 示例 STEAM_ID Regex: ^STEAM_[0-5]:[01]:\d+$STEAM_1:1:728234856 STEAM_ID3 Regex: ^\[U:1:([0-9]+)\]$[U:1:1456469713] STEAM_ID32 Regex: ^[0-9]{1,16}$1456469713 STEAM_ID64 Regex: ^7656[0-9]*$76561199416735441 Link Regex: https://steamcommunity.com/*https://steamcommunity.com/id/Rainbow-SPY -
key: Steam Web API 所需要的
Key, 这是一个可选参数,如果提供,它将覆盖API供应商提供的全局Key。这为你提供了更大的灵活性,但请务必注意Key的保密,不要在前端暴露。
-
-
返回类型:
Task <UAPI.Steam.SteamType> -
返回值:
SteamType对象 -
异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.Steam.SteamServiceError: Steam Web API 上游服务异常, 这可能是他们的服务暂时中断.
var request = await UAPI.Network.GetMyIP(bool commercial = false);- 参数选项:
- commercial: 指定是否使用商业级的数据源, 默认为
false
- commercial: 指定是否使用商业级的数据源, 默认为
- 返回类型:
Task <UAPI.Network.IPType> - 返回值:
IPType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作HttpRequestException: 引发的异常的基类HttpClient和HttpMessageHandler类 , 使用此异常通常是这个接口没有上游服务, 多数异常来源于服务器和连接过程.
var request = await UAPI.hotboard.GetBilibiliHotboard();- 返回类型:
Task <UAPI.hotboard.bilibiliType> - 返回值:
bilibiliType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作Hotboard.HotboardUpstreamServiceError(): 上游服务异常, 这可能是他们的服务暂时中断.
var request = await UAPI.hotboard.GetNeteaseMusicHotboard();- 返回类型:
Task <UAPI.hotboard.NeteaseType> - 返回值:
NeteaseType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作Hotboard.HotboardUpstreamServiceError: 上游服务异常, 这可能是他们的服务暂时中断.
var request = await UAPI.Weather.GetWeatherDataJson(string city,
bool extended = false, bool indices = false,
bool forecast = false, bool hourly = false,
bool minutely = false);
= await UAPI.Weather.GetWeatherDataJson(int adcode,
bool extended = false, bool indices = false,
bool forecast = false, bool hourly = false,
bool minutely = false);- 参数选项:
- city: 指定要查询天气的城市
- adcode: 指定要查询天气的城市的高德地图的6位数字城市编码
- extended: 是否返回扩展气象字段(体感温度、能见度、气压、紫外线指数、空气质量、降水量、云量), 默认为
false - indices: 是否返回生活指数(穿衣、紫外线、洗车、晾晒、空调、感冒、运动、舒适度), 默认为
false - forecast: 是否返回预报数据(当日最高/最低气温及未来3天天气预报), 默认为
false - hourly: 是否返回逐小时预报 (24小时),含温度、天气、风向风速、湿度、降水概率等
- minutely:是否返回分钟级降水预报 (仅国内城市),每5分钟一个数据点,共24个
- 返回类型:
Task <UAPI.Weather.WeatherType> - 返回值:
WeatherType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.Weather.WeatherServiceError(): 天气供应商的上游服务不可用, 这可能是他们的服务暂时中断
var request = await UAPI.misc.GetWorldTime(string region);-
参数选项:
-
region: 指定要查询天气的城市, 格式为 七大洲之一/地区 或 直接输入地区
例: Asia/Shanghai, America/New_York, Tokyo
-
-
返回类型:
Task <UAPI.misc.WorldTimeType> -
返回值:
WorldTimeType对象 -
异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.General.UAPIUnknowException: 未知的异常
因为这个接口没有什么所谓的上游, 因此也不会报出其他异常.
var request = await UAPI.misc.GetPhoneInfo(string phoneNumber);- 参数选项:
- phoneNumber: 指定要查询的中国大陆的11位手机号码
- 返回类型:
Task <UAPI.misc.PhoneInfoType> - 返回值:
PhoneInfoType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.General.UAPIUnknowException: 未知的异常
var request = await UAPI.misc.GetRandomNumberList(int min = 0, int max = 0, int count = 0,bool allow_repeat = false, bool allow_decimal = false, int decimal_places = 0);- 参数选项:
- min: 生成随机数的最小值(包含)。
- max: 生成随机数的最大值(包含)。
- count: 需要生成的随机数的数量。
- allow_repeat: 是否允许生成的多个数字中出现重复值。
- allow_decimal: 是否生成小(浮点)数。如果为
false,则只生成整数。 - decimal_places: 如果
allow_decimal=true,这里可以指定小数的位数。
- 返回类型:
Task <UAPI.misc.RandomNumberType> - 返回值:
RandomNumberType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.General.UAPIUnknowException(): 未知异常
var request = await UAPI.misc.GetProgrammerHistoryToday();- 返回类型:
Task <UAPI.misc.HistoryTodayType> - 返回值:
HistoryTodayType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.General.UAPIUnknowException: 未知的异常
var request = await UAPI.misc.CovertTimestamp(string ts);- 参数选项:
- ts : Unix 时间戳, 支持10位(秒)或13位(毫秒)。
- 返回类型:
Task <UAPI.misc.TimestampType> - 返回值:
TimestampType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.General.UAPIUnknowException: 未知的异常
var request = await UAPI.misc.DetectTrackingCarrier(string tracking_number);- 参数选项:
- tracking_number: 快递单号
- 返回类型:
Task <UAPI.misc.DetectedCarrierType> - 返回值:
DetectedCarrierType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.General.UAPIUnknowException: 未知的异常
var request = await UAPI.misc.GetLunarTime(string ts = "", string timezone = "Asia/Shanghai")- 参数选项:
- ts: Unix 时间戳,支持 10 位秒级或 13 位毫秒级。默认以当前时间。
- timezone: 时区名称。支持 IANA 时区(如
Asia/Shanghai)和别名(Shanghai、Beijing)。默认Asia/Shanghai。
- 返回类型:
Task <UAPI.misc.LunarTimeType> - 返回值:
LunarTimeType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.General.UAPIUnknowException: 未知的异常
var request = await UAPI.misc.GetTrackingCarriers();- 返回类型:
Task <UAPI.misc.CarriersType> - 返回值:
CarriersType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.General.UAPIUnknowException: 未知的异常
var request = await UAPI.misc.GetTrackingInfo(string tracking_number, string carrier_code = "",string phone = "");- 参数列表
- tracking_number: 快递单号,通常是一串10-20位的数字或字母数字组合。
- carrier_code: 快递公司编码(可选)。不填写时系统会自动识别,填写后可加快查询速度。
- phone: 收件人手机尾号,4位数字(可选)。部分快递公司需要验证手机尾号才能查询详细物流信息。
- 返回类型:
Task <UAPI.misc.TrackingInfoType> - 返回值:
TrackingInfoType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.General.UAPIUnknowException: 未知的异常
var request = await UAPI.misc.PostDateDiff(string start_date, string end_date,string format = "YYYY-MM-DD");- 参数列表
- start_date: 开始时间/日期
- end_date: 结束时间/日期
- format: 时间格式, 默认为
YYYY-MM-DD
- 返回类型:
Task <UAPI.misc.DateDiffType> - 返回值:
DateDiffType对象 - 异常:
IException.General.UAPIServerDown: 请求源服务器发生错误UnauthorizedAccessException: 未经授权的请求操作IException.General.UAPIUnknowException: 未知的异常
-
-
- 系统要求
- Windows 10 版本1809 或更高版本
- 64 位操作系统, 基于 x64 的处理器
- .NET Framework 4.7.2 或更高版本
- 在 Windows 上不得禁用强名称跳过功能
- 系统要求
-
-
- Windows 11 版本 21H2 或更高版本:家庭版、专业版、专业教育版、专业工作站版、企业版和教育版
- Windows 10 版本 1909 或更高版本:家庭版、专业版、教育版和企业版。
- 64 位操作系统, 基于 x64 的处理器
-
工作负荷
- 桌面应用和移动应用
- .NET 桌面开发
- 桌面应用和移动应用
-
-
-
编译语言
- C# .NET Framework 4.7.2
-
依赖项
-
第三方程序集
-
AntdUI
用于依赖项 Rox.Runtimes 的
Reporter窗体渲染, 防止出现未知的异常 -
用于
Json反序列化解析 -
用于输出日志、引用字符串常量等
-
用于压缩
Json.后续会集成移除
-
-
来自 Microsoft 的 NuGet 包扩展
-
System.Buffers
-
System.Diagnostics.DiagnosticSource
-
System.Memory
-
System.Numerics.Vectors
-
System.Runtime.CompilerServices.Unsafe
-
System.Net.Http
-
-

