hdu_cas_helper

package module
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 8, 2022 License: CC0-1.0 Imports: 11 Imported by: 0

README

HDU CAS HELPER 杭电cas登录辅助

使用本工具,可以快速登录到杭电cas,并快速登录其他所有相关服务,如上课啦、杭电助手

cas 登陆方式

  • 账号密码
  • 二维码
  • 短信验证码

受支持的第三方校内应用

  • 上课啦
  • 杭电助手
  • 新正方教务
  • 智慧杭电
  • 杭电勤工三助

Quick start

go get github.com/wujunyi792/hdu-cas-helper

无论登录哪个服务,必须先登录 cas

cas login
// 杭电 CAS 账号密码
ticker := hducashelper.CasPasswordLogin("", "") 
// 使用二维码登录, 控制台会输出链接, 使用微信打开连接即可登录
ticker := hducashelper.CasQrCodeLogin().PrintScannerUrl().AsyncLogin(5 * time.Second, 10) 

获取到 ticket 以后,可以使用这个ticket来登录其他应用

上课啦登录示例
package main

import (
	hducashelper "github.com/wujunyi792/hdu-cas-helper"
	"log"
)

func main() {
	ticker := hducashelper.CasPasswordLogin("", "") // 杭电 CAS 账号密码
	//ticker := hducashelper.CasQrCodeLogin().PrintScannerUrl().AsyncLogin(5 * time.Second, 10)
	sklLogin := hducashelper.SklLogin(ticker)
	if sklLogin.Error() != nil {
		log.Fatalln(sklLogin.Error())
	}
	log.Println(sklLogin.GetToken())
}
智慧杭电登录示例
package main

import (
	hducashelper "github.com/wujunyi792/hdu-cas-helper"
	"log"
)

func main() {
	ticker := hducashelper.CasPasswordLogin("", "") // 杭电 CAS 账号密码
	//ticker := hducashelper.CasQrCodeLogin().PrintScannerUrl().AsyncLogin(5 * time.Second, 10) // 使用二维码登录, 控制台会输出链接, 使用微信打开连接即可登录
	iHduLogin := hducashelper.IHduLogin(ticker)
	if iHduLogin.Error() != nil {
		log.Fatalln(iHduLogin.Error())
	}
	log.Println(iHduLogin.GetCookie())
}
新正方教务登录示例
package main

import (
	hducashelper "github.com/wujunyi792/hdu-cas-helper"
	"log"
)

func main() {
	ticker := hducashelper.CasPasswordLogin("", "") // 杭电 CAS 账号密码
	//ticker := hducashelper.CasQrCodeLogin().PrintScannerUrl().AsyncLogin(5 * time.Second, 10) // 使用二维码登录, 控制台会输出链接, 使用微信打开连接即可登录
	newJwLogin := hducashelper.NewJWLogin(ticker)
	if newJwLogin.Error() != nil {
		log.Fatalln(newJwLogin.Error())
	}
	log.Println(newJwLogin.GetCookie())
}

杭电助手登录示例
package main

import (
	hducashelper "github.com/wujunyi792/hdu-cas-helper"
	"log"
)

func main() {
	ticker := hducashelper.CasPasswordLogin("", "") // 杭电 CAS 账号密码
	hduHelpLogin := hducashelper.HduHelpLogin(ticker)
	if hduHelpLogin.Error() != nil {
		log.Fatalln(hduHelpLogin.Error())
	}
	log.Println(hduHelpLogin.GetToken())
}

杭电勤工登录示例
package main

import (
	hducashelper "github.com/wujunyi792/hdu-cas-helper"
	"log"
)

func main() {
	ticker := hducashelper.CasPasswordLogin("", "") // 杭电 CAS 账号密码
	hduHelpLogin := hducashelper.HduHelpLogin(ticker)
	if hduHelpLogin.Error() != nil {
		log.Fatalln(hduHelpLogin.Error())
	}
	hdqgLogin := hducashelper.HDQGLogin(hduHelpLogin)
	log.Println(hdqgLogin.GetToken())
}

Now you obtained the necessary credentials to use these third-party applications, enjoy it!

Documentation

Index

Constants

View Source
const (
	UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36"

	METHODPASSWORD = "Password Login"
	METHODQRCODE   = "QrCode Login"

	SKLLOGINURL = "https://skl.hdu.edu.cn"
	SKLAPPURL   = "https://skl.hduhelp.com"

	IHDULOGINURL = "https://i.hdu.edu.cn/tp_up/"

	NEWJWLOGINURL = "https://newjw.hdu.edu.cn/sso/driot4login"

	HDUHELPLOGINURL   = "https://api.hduhelp.com/login/direct/cas"
	HDUHELPAPPURL     = "https://app.hduhelp.com"
	HDUHELPOAUTHLOGIN = "https://api.hduhelp.com/oauthLogin/%s/%s"

	HDQGAPPID = "NgZ0Tcc2dtPUz1Ks"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type HDQG added in v1.0.1

type HDQG struct {
	// contains filtered or unexported fields
}

func HDQGLogin added in v1.0.1

func HDQGLogin(hh *HduHelp) *HDQG

func (*HDQG) Error added in v1.0.1

func (s *HDQG) Error() error

func (*HDQG) GetToken added in v1.0.1

func (s *HDQG) GetToken() string

type HduHelp added in v1.0.1

type HduHelp struct {
	// contains filtered or unexported fields
}

func HduHelpLogin added in v1.0.1

func HduHelpLogin(cas *LoginStatus) *HduHelp

func (*HduHelp) Error added in v1.0.1

func (s *HduHelp) Error() error

func (*HduHelp) GetToken added in v1.0.1

func (s *HduHelp) GetToken() string

type IHdu

type IHdu struct {
	// contains filtered or unexported fields
}

func IHduLogin

func IHduLogin(cas *LoginStatus) *IHdu

func (*IHdu) Error

func (s *IHdu) Error() error

func (*IHdu) GetCookie

func (s *IHdu) GetCookie() string

type LoginStatus

type LoginStatus struct {
	// contains filtered or unexported fields
}

func CasAsyncQrLoginWithUUID

func CasAsyncQrLoginWithUUID(uuid string, interval time.Duration, retry int) *LoginStatus

func CasPasswordLogin

func CasPasswordLogin(uname, password string) *LoginStatus

func CasQrLoginWithUUID

func CasQrLoginWithUUID(uuid string) *LoginStatus

func (*LoginStatus) Error

func (s *LoginStatus) Error() error

type NewJW

type NewJW struct {
	// contains filtered or unexported fields
}

func NewJWLogin

func NewJWLogin(cas *LoginStatus) *NewJW

func (*NewJW) Error

func (s *NewJW) Error() error

func (*NewJW) GetCookie

func (s *NewJW) GetCookie() string

type QrLogin

type QrLogin struct {
	// contains filtered or unexported fields
}

func CasQrCodeLogin

func CasQrCodeLogin() *QrLogin

func (*QrLogin) AsyncLogin

func (q *QrLogin) AsyncLogin(interval time.Duration, retry int) *LoginStatus

func (*QrLogin) GetScannerUrl

func (q *QrLogin) GetScannerUrl() string

func (*QrLogin) GetUUID

func (q *QrLogin) GetUUID() string

func (*QrLogin) Login

func (q *QrLogin) Login() *LoginStatus

func (*QrLogin) PrintScannerUrl

func (q *QrLogin) PrintScannerUrl() *QrLogin

type Skl

type Skl struct {
	// contains filtered or unexported fields
}

func SklLogin

func SklLogin(cas *LoginStatus) *Skl

func (*Skl) Error

func (s *Skl) Error() error

func (*Skl) GetToken

func (s *Skl) GetToken() string

Directories

Path Synopsis
example
skl
util

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL