picaapi

package
v0.0.0-...-431522e Latest Latest
Warning

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

Go to latest
Published: Jan 29, 2021 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Category

type Category struct {
	Active bool   `json:"active"`
	IsWeb  bool   `json:"isWeb"`
	Link   string `json:"link"`
	Title  string `json:"title"`
	Thumb  Thumb  `json:"thumb"`
}

Category 每个分区的信息

type Comic

type Comic struct {
	Author     string   `json:"author"`
	Categories []string `json:"categories"`
	EpsCount   uint32   `json:"epsCount"`
	Finished   bool     `json:"finished"`
	LikesCount uint32   `json:"likesCount"`
	PagesCount uint32   `json:"pagesCount"`
	Thumb      Thumb    `json:"thumb"`
	Title      string   `json:"title"`
	ID         string   `json:"_id"`
}

Comic 搜索和分区中,每一条记录的数据格式

type ComicDetail

type ComicDetail struct {
	AllowComment  bool     `json:"allowComment"`
	AllowDownload bool     `json:"allowDownload"`
	Author        string   `json:"author"`
	Categories    []string `json:"categories"`
	ChineseTeam   string   `json:"chineseTeam"`
	CommentsCount string   `json:"commentsCount"`
	CreatedAt     string   `json:"created_at"`
	Description   string   `json:"description"`
	EpsCount      uint32   `json:"epsCount"`
	Finished      bool     `json:"finished"`
	IsFavourite   bool     `json:"isFavourite"`
	IsLiked       bool     `json:"isLiked"`
	LikesCount    uint32   `json:"likesCount"`
	PagesCount    uint32   `json:"pagesCount"`
	Tags          []string `json:"tags"`
	Thumb         Thumb    `json:"thumb"`
	Title         string   `json:"title"`
	TotalLikes    uint32   `json:"totalLikes"`
	TotalViews    uint32   `json:"totalViews"`
	UpdatedAt     string   `json:"updated_at"`
	ViewsCount    uint32   `json:"viewsCount"`
	Creator       User     `json:"_creator"`
	ID            string   `json:"_id"`
}

ComicDetail 漫画详细信息的格式

type ComicOrder

type ComicOrder string

ComicOrder 漫画顺序

const (
	// ComicOrderDEFALUE 默认顺序
	ComicOrderDEFALUE ComicOrder = "ua"
	// ComicOrderNEWEST 按时间新到旧
	ComicOrderNEWEST ComicOrder = "dd"
	// ComicOrderOLDEST 按时间旧到新
	ComicOrderOLDEST ComicOrder = "da"
	// ComicOrderPOINT 最多指名
	ComicOrderPOINT ComicOrder = "vd"
	// ComicOrderLOVE 最多收藏
	ComicOrderLOVE ComicOrder = "ld"
)

type Ep

type Ep struct {
	ID        string `json:"id"`
	Order     uint32 `json:"order"`
	Title     string `json:"title"`
	UpdatedAt string `json:"updated_at"`
}

Ep 获取comic时会返回的简单数据

type Image

type Image struct {
	ID    string `json:"id"`
	Media Thumb  `json:"media"`
}

Image 一集每张图片的格式

type PicaClient

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

PicaClient 哔咔客户端,对http.Client的封装

func NewPicaClient

func NewPicaClient(proxy, useIP string) *PicaClient

NewPicaClient 构造一个新的客户端,proxy 和 useIP只需填一个,都不填的话,默认直连

func (*PicaClient) Send

func (c *PicaClient) Send(r *PicaRequest) (*PicaResponse, error)

Send 发送请求

type PicaJSON

type PicaJSON struct {
	// Code 相应状态码
	Code    int    `json:"code"`
	Message string `json:"message"`
	// Data 返回数据
	Data struct {
		// Categories 首页目录
		Categories []Category `json:"categories"` // adddd
		// Comic 获取一部漫画详情时返回
		Comic ComicDetail `json:"comic"`
		// Comics 分区和搜索时返回的数据格式
		Comics struct {
			Docs []Comic `json:"docs"`
			// contains filtered or unexported fields
		} `json:"comics"`
		// Eps 漫画获取分集的时候返回
		Eps struct {
			Docs []Ep `json:"docs"`
			// contains filtered or unexported fields
		} `json:"eps"`
		// Pages 获取一集的所有图片时返回
		Pages struct {
			Docs []Image `json:"docs"`
			// contains filtered or unexported fields
		} `json:"pages"`
		// 登陆时返回的数据
		Token string `json:"token"`
	} `json:"data"`
}

PicaJSON 哔咔的所有json格式,统一到一个struct里面

type PicaRequest

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

PicaRequest 构造哔咔请求

func NewPicaRequest

func NewPicaRequest() (r *PicaRequest)

NewPicaRequest 构建一个新的请求

func (*PicaRequest) AddHeader

func (r *PicaRequest) AddHeader(k, v string) *PicaRequest

AddHeader 添加http头,相同key会覆盖

func (*PicaRequest) Method

func (r *PicaRequest) Method(m string) *PicaRequest

Method http请求method

func (*PicaRequest) Path

func (r *PicaRequest) Path(p string) *PicaRequest

Path 设置http的path

func (*PicaRequest) SetBytesBody

func (r *PicaRequest) SetBytesBody(b string) *PicaRequest

SetBytesBody 设定post时的body

func (*PicaRequest) SetImageQuality

func (r *PicaRequest) SetImageQuality(q string) *PicaRequest

SetImageQuality 设置获取图片的清晰度,默认是原图

func (*PicaRequest) SetPage

func (r *PicaRequest) SetPage(page uint64) *PicaRequest

SetPage 设置跳转页面

func (*PicaRequest) SetResultOrder

func (r *PicaRequest) SetResultOrder(order ComicOrder) *PicaRequest

SetResultOrder 设置漫画顺序

func (*PicaRequest) SetSimpleMapBody

func (r *PicaRequest) SetSimpleMapBody(data map[string]interface{}) *PicaRequest

SetSimpleMapBody 设置简单单层的json

func (*PicaRequest) SetToken

func (r *PicaRequest) SetToken(token string) *PicaRequest

SetToken 身份验证token

func (*PicaRequest) SetURLParam

func (r *PicaRequest) SetURLParam(k, v string) *PicaRequest

SetURLParam 设置url参数

type PicaResponse

type PicaResponse struct {
	// Content 请求后,http的body
	Content []byte
	// StatusCode http的状态码
	StatusCode int
	// Header 请求后的响应头
	Header http.Header
}

PicaResponse 哔咔请求后的返回结果

func NewPicaResponseFromHTTPResponse

func NewPicaResponseFromHTTPResponse(h *http.Response) (*PicaResponse, error)

NewPicaResponseFromHTTPResponse 从http相应构建一个新的PicaResponse

func (*PicaResponse) JSON

func (p *PicaResponse) JSON() PicaJSON

JSON 把数据格式化为json

type Thumb

type Thumb struct {
	FileServer   string `json:"fileServer"`
	Path         string `json:"path"`
	OriginalName string `json:"originalName"`
}

Thumb 所有图片格式,链接格式为 FileServer + "/static/" + Path

type User

type User struct {
	Avatar     Thumb    `json:"avatar"`
	Character  string   `json:"character"`
	Characters []string `json:"characters"`
	Exp        uint32   `json:"exp"`
	Gender     string   `json:"gender"`
	Level      int32    `json:"level"`
	Name       string   `json:"name"`
	Role       string   `json:"role"`
	Slogan     string   `json:"slogan"`
	Title      string   `json:"title"`
	Verified   bool     `json:"verified"`
	ID         string   `json:"_id"`
}

User 用户数据格式

Jump to

Keyboard shortcuts

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