Skip to content

HIT-ReFreSH/HitGeneralServices

Repository files navigation

HitGeneralServices-HIT通用服务集

nuget Nuget GitHub GitHub last commit GitHub Workflow Status GitHub repo size GitHub code size

View at Nuget.org

HIT通用服务集包含了以下常用的组件:

  • HitInfoProviderFactory: 用于获取乐学网认证登录后,用户信息的工厂类
  • WeChatServices:微信服务大厅中的服务
  • CasLogin.LoginHttpClient:用于使用统一身份认证登录的HttpClient
  • Jwts.JwtsService:用于Jwts的各种服务

HitInfoProviderFactory 使用方法

将需要使用的服务,加入依赖注入的服务集合即可

CasLogin.LoginHttpClient 使用方法

既可以使用依赖注入初始化,也可以直接使用new来创建LoginHttpClient的实例。LoginHttpClient直接继承自HttpClient,可以像HttpClient一样使用。除此外,还提供了以下成员:

名称 类型 说明 参数 返回值 异常
LoginAsync 异步方法 进行统一认证登录 string username用户名
string password密码
Func<Stream, Task<string>>? captchaGenerator可选。 验证码填写适配器,用于在必须时填写验证码。
- CaptchaRequiredException: 需要填写二维码,但是未提供对应的适配器
LoginFailedException: 登陆认证失败,原因见Message
TryLoginFor 异步方法 持续尝试进行统一认证登录,直至满足最大尝试次数,或者抛出不能处理的异常 string username用户名
string password密码
uint maxTrail最大尝试次数
Func<Stream, Task<string>>? captchaGenerator可选。 验证码填写适配器,用于在必须时填写验证码。
- CaptchaRequiredException: 需要填写二维码,但是未提供对应的适配器
LoginFailedException: 登陆认证失败,原因见Message
IsAuthorized 异步方法 检查是否已经完成统一认证登录 - bool,是/否 -
Win32CaptchaInput 静态函数(验证码填写适配器) 适用于控制台程序。 使用Windows默认图片查看器查看验证码图片 - - -
CaptchaInputFactory 静态函数(验证码填写适配器工厂) 适用于控制台程序。 使用指定查看器生成验证码填写适配器 string pathToJpegViewerJpeg查看器的路径 验证码填写适配器 -
GetTwoPhaseLoginInfoAsync 异步方法 获取进行两段CAS登录的登录信息(第一阶段) string username用户名 Dictionary<string, string?>用于两段异步登录的登录信息字典;其中键password对应值是加密的salt(Aes.Key);键captcha如果存在,则对应值是用于获取验证码的url -
ApplyTwoPhaseLoginInfoAsync 异步方法 应用两段CAS登录的登录信息进行登录(第二阶段) Dictionary<string, string?> loginInfo登录信息,原始产生自GetTwoPhaseLoginInfoAsync(string);但是此处的键password对应值已经加密(Aes);键captcha如果存在,则对应值已经完成人工填写。 - LoginFailedException: 登陆认证失败,原因见Message

Jwts.JwtsService 使用方法

既可以使用依赖注入初始化,也可以直接使用new来创建JwtsService的实例。JwtsService提供了以下成员:

名称 类型 说明 参数 返回值 异常
LoginAsync 异步方法 进行统一认证登录 string username用户名
string password密码
Func<Stream, Task<string>>? captchaGenerator可选。 验证码填写适配器,用于在必须时填写验证码。
- CaptchaRequiredException: 需要填写二维码,但是未提供对应的适配器
LoginFailedException: 登陆认证失败,原因见Message
LoginAsync 异步方法 使用已经登录完毕LoginHttpClient登录Jwts LoginHttpClient,已经完成登录 - -
GetSemesterStartAsync 异步方法 获取学期开始日期 uint year学年
JwtsSemester semester学期
学期开始日期 -
GetScheduleAsync 异步方法 获取课表信息 uint year学年
JwtsSemester semester学期
大小为[7,6]的字符串列表矩阵,7为周一至周日,6为节次;数组的每个元素是该位置的课程(课程可能会占用1-3行) -
GetExamDetailsAsync 异步方法 获取考试详细(默认学期全部类别) - 一组考试详细记录 -
GetExamDetailsAsync 异步方法 获取考试详细(指定学期类别) uint year学年
JwtsSemester semester学期
JwtsExamType type类别
一组考试详细记录 -

WeChatServices微信服务大厅使用方法

这是一个静态类,直接调用对应方法即可。 目前提供以下服务:

  • 匿名查询课表服务

About

HIT通用服务集

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages