mirror of
https://github.com/GopeedLab/gopeed.git
synced 2026-11-08 01:20:27 +00:00
feat: direct call download api by cgo
This commit is contained in:
1 parent
85fe92a378
commit
467ada5500
22 files changed
+1040
-709
No files matched your search
@@ -0,0 +1,58 @@
|
||||
package model
|
||||
|
||||
import "encoding/json"
|
||||
|
||||
type RespCode int
|
||||
|
||||
const (
|
||||
CodeOk RespCode = 0
|
||||
// CodeError is the common error code
|
||||
CodeError RespCode = 1000
|
||||
// CodeUnauthorized is the error code for unauthorized
|
||||
CodeUnauthorized RespCode = 1001
|
||||
// CodeInvalidParam is the error code for invalid parameter
|
||||
CodeInvalidParam RespCode = 1002
|
||||
// CodeTaskNotFound is the error code for task not found
|
||||
CodeTaskNotFound RespCode = 2001
|
||||
)
|
||||
|
||||
type Result[T any] struct {
|
||||
Code RespCode `json:"code"`
|
||||
Msg string `json:"msg"`
|
||||
Data T `json:"data"`
|
||||
}
|
||||
|
||||
func (r *Result[T]) Json() string {
|
||||
buf, _ := json.Marshal(r)
|
||||
return string(buf)
|
||||
}
|
||||
|
||||
func (r *Result[T]) HasError() bool {
|
||||
return r.Code != CodeOk
|
||||
}
|
||||
|
||||
func NewOkResult[T any](data T) *Result[T] {
|
||||
return &Result[T]{
|
||||
Code: CodeOk,
|
||||
Data: data,
|
||||
}
|
||||
}
|
||||
|
||||
func NewNilResult() *Result[any] {
|
||||
return &Result[any]{
|
||||
Code: CodeOk,
|
||||
}
|
||||
}
|
||||
|
||||
func NewErrorResult[T any](msg string, code ...RespCode) *Result[T] {
|
||||
// if code is not provided, the default code is CodeError
|
||||
c := CodeError
|
||||
if len(code) > 0 {
|
||||
c = code[0]
|
||||
}
|
||||
|
||||
return &Result[T]{
|
||||
Code: c,
|
||||
Msg: msg,
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user