core

package
v0.0.0-...-8dbf7a7 Latest Latest
Warning

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

Go to latest
Published: Aug 6, 2021 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ErrCodeOK                 = 0
	ErrCodeInvalidCredential  = 40001 // access_token 过期错误码
	ErrCodeAccessTokenExpired = 42001 // access_token 过期错误码(maybe!!!)
)

Variables

View Source
var DefaultHttpClient *http.Client
View Source
var JobQueue chan Job

JobQueue A buffered channel that we can send work requests on.

Functions

func AddActivity

func AddActivity(title, wxto string) (activity db.Activity)

AddActivity 新增号召

func DecodeJSONHttpResponse

func DecodeJSONHttpResponse(r io.Reader, v interface{}) error

DecodeJSONHttpResponse 解决json

func GetActivities

func GetActivities() (activities []db.Activity)

GetActivities 搜索post

func GetCryptData

func GetCryptData(sessionKey, encryptedData, iv string) (*db.Fans, error)

GetCryptData 解密数据

func GetFansByOpenID

func GetFansByOpenID(openID string) (*db.Fans, error)

GetFansByOpenID 解密数据

func GetMd5String

func GetMd5String(s string) string

GetMd5String 获取MD5加密字符串

func GetPostsByName

func GetPostsByName(name string) (posts []db.Post)

GetPostsByName 搜索post

func GetPostsByNameLimitLevel

func GetPostsByNameLimitLevel(name string, level int) (posts []db.Post)

GetPostsByNameLimitLevel 搜索post

func GetwxCodeUnlimit

func GetwxCodeUnlimit(scene, page string) (file string, err error)

GetwxCodeUnlimit 获取无数量限制的微信二维码

func HTTPGetJSON

func HTTPGetJSON(url string, response interface{}) error

HTTPGetJSON 通过传入url和结构,提取出页面中的值

func HTTPPostJSON

func HTTPPostJSON(url string, body []byte, response interface{}) error

HTTPPostJSON 通过传入url和内容,提交内容后,提取出页面中的值

func MSGSecCHECK

func MSGSecCHECK(text string) error

MSGSecCHECK 文本安全检查

func SaveQrcodeImg

func SaveQrcodeImg(imageURL, saveName string, body []byte) (n int64, err error)

SaveQrcodeImg 保存图片到本地

func SyncPost

func SyncPost(name, wxto, from string, cate int32)

SyncPost 保存数据

func WxAppSubmitPage

func WxAppSubmitPage(wxto string) error

WxAppSubmitPage 提交页面单个页面(望收录)

func WxAppSubmitPages

func WxAppSubmitPages(list reader.Catalog) (err error)

WxAppSubmitPages 提交页面(望收录)

Types

type AccessTokenServer

type AccessTokenServer interface {
	Token() (token string, err error)                           // 请求中控服务器返回缓存的 access_token
	RefreshToken(currentToken string) (token string, err error) // 请求中控服务器刷新 access_token
	IID01332E16DF5011E5A9D5A4DB30FED8E1()                       // 接口标识, 没有实际意义
}

access_token 中控服务器接口.

type Ad struct {
	ForceReward    bool   `toml:"force_reward"`     // 强制激励广告看下一章
	Screen         string `toml:"screen"`           // 弹窗视频广告
	Reward         string `toml:"reward"`           // 激励式视频广告
	TopHomeBanner  string `toml:"top_home_banner"`  // 首页顶部banner广告(与视频广告两者用其一)
	HomeBanner     string `toml:"home_banner"`      // 首页banner广告(与视频广告两者用其一)
	TopListBanner  string `toml:"top_list_banner"`  // 列表页顶部banner广告
	ListBanner     string `toml:"list_banner"`      // 列表页banner广告
	InfoBanner     string `toml:"info_banner"`      // 详情页banner广告
	CataBanner     string `toml:"cata_banner"`      // 文章目录banner广告
	HomeScreen     string `toml:"home_screen"`      // 首页弹窗广告
	ListScreen     string `toml:"list_screen"`      // 列表页弹窗广告
	InfoScreen     string `toml:"info_screen"`      // 详情页弹窗广告
	CataScreen     string `toml:"cata_screen"`      // 文章目录弹窗广告
	TopHomeVideo   string `toml:"top_home_video"`   // 首页顶部视频广告
	HomeVideo      string `toml:"home_video"`       // 首页视频广告
	TopListVideo   string `toml:"top_list_video"`   // 列表页顶部视频广告
	ListVideo      string `toml:"list_video"`       // 列表页视频广告
	InfoVideo      string `toml:"info_video"`       // 详情页视频广告
	CataVideo      string `toml:"cata_video"`       // 文章目录视频广告
	PreVideo       string `toml:"pre_video"`        // 视频播放前广告
	TopHomeGrid    string `toml:"top_home_grid"`    // 首页顶部格子广告
	HomeGrid       string `toml:"home_grid"`        // 首页格子广告
	TopListGrid    string `toml:"top_list_grid"`    // 列表页顶部格子广告
	ListGrid       string `toml:"list_grid"`        // 列表页格子广告
	InfoGrid       string `toml:"info_grid"`        // 详细页格子广告
	CataGrid       string `toml:"cata_grid"`        // 文章目录格子广告
	InfoVideoAdlt  int32  `toml:"info_video_adlt"`  //详情页面视频轮循总数
	InfoVideoAdlm  int32  `toml:"info_video_adlm"`  //详情页面视频轮循开始余量
	InfoBannerAdlt int32  `toml:"info_banner_adlt"` //详情页面Banner轮循总数
	InfoBannerAdlm int32  `toml:"info_banner_adlm"` //详情页面Banner轮循开始余量
	InfoGridAdlt   int32  `toml:"info_grid_adlt"`   //详情页面格子广告轮循总数
	InfoGridAdlm   int32  `toml:"info_grid_adlm"`   //详情页面格子广告轮循开始余量
	InfoScreenAdlt int32  `toml:"info_screen_adlt"` //详情页面插屏广告轮循总数
	InfoScreenAdlm int32  `toml:"info_screen_adlm"` //详情页面插屏广告轮循开始余量

}

Ad 配置

type Config

type Config struct {
	ReaderMinApp ReaderMinApp
	Database     Database
	Search       Search
	Ad           Ad
}

Config 配置

func GetConf

func GetConf() Config

GetConf 获取config

type Database

type Database struct {
	Type     string `toml:"type"`
	Host     string `toml:"host"`
	User     string `toml:"user"`
	Password string `toml:"password"`
	Sslmode  string `toml:"sslmode"`
	Dbname   string `toml:"dbname"`
	Port     int    `toml:"port"`
}

Database 配置

type DefaultAccessTokenServer

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

DefaultAccessTokenServer 实现了 AccessTokenServer 接口.

NOTE:
1. 用于单进程环境.
2. 因为 DefaultAccessTokenServer 同时也是一个简单的中控服务器, 而不是仅仅实现 AccessTokenServer 接口,
   所以整个系统只能存在一个 DefaultAccessTokenServer 实例!
var TokenServe *DefaultAccessTokenServer

TokenServe token 服务器

func NewDefaultAccessTokenServer

func NewDefaultAccessTokenServer(appId, appSecret string) (srv *DefaultAccessTokenServer)

NewDefaultAccessTokenServer 创建一个新的 DefaultAccessTokenServer, 如果 httpClient == nil 则默认使用 util.DefaultHttpClient.

func (*DefaultAccessTokenServer) IID01332E16DF5011E5A9D5A4DB30FED8E1

func (srv *DefaultAccessTokenServer) IID01332E16DF5011E5A9D5A4DB30FED8E1()

func (*DefaultAccessTokenServer) RefreshToken

func (srv *DefaultAccessTokenServer) RefreshToken(currentToken string) (token string, err error)

func (*DefaultAccessTokenServer) Token

func (srv *DefaultAccessTokenServer) Token() (token string, err error)

type Dispatcher

type Dispatcher struct {
	// A pool of workers channels that are registered with the dispatcher
	MaxWorkers int
	WorkerPool chan chan Job
}

Dispatcher 工作池

func NewDispatcher

func NewDispatcher(maxWorkers int) *Dispatcher

NewDispatcher 新建工作池

func (*Dispatcher) Run

func (d *Dispatcher) Run()

Run 工作池开始工作

type Error

type Error struct {
	ErrCode int64  `json:"errcode"`
	ErrMsg  string `json:"errmsg"`
}

func (*Error) Error

func (err *Error) Error() string

type Job

type Job struct {
	Que Que
}

Job represents the job to be run

type NoticeDemo

type NoticeDemo struct {
	OpenID string
	Text   string
}

NoticeDemo struct

func (*NoticeDemo) Execute

func (p *NoticeDemo) Execute()

Execute Notice.Run

type OpenIDData

type OpenIDData struct {
	ErrCode    int64  `json:"errcode"`
	OpenID     string `json:"openid"`
	SessionKey string `json:"session_key"`
}

OpenIDData 开放数据 openID

func GetOpenID

func GetOpenID(code string) (OpenIDData, error)

GetOpenID 获取微信小程序上报的openid 此ID暂不加密处理

type Que

type Que interface {
	Execute()
}

Que 可执行任务接口

type ReaderMinApp

type ReaderMinApp struct {
	AppID     string `toml:"app_id"`
	AppSecret string `toml:"app_secret"`
	AppTitle  string `toml:"app_title"`
	AppCover  string `toml:"app_cover"`
	AppSearch string `toml:"app_search"`
}

ReaderMinApp 配置

type Search struct {
	LimitLevel       bool   `toml:"limit_level"`
	LimiterStageShow bool   `toml:"limiter_stage_show"`
	DevVersion       string `toml:"dev_version"`
}

Search 配置

type SubmitPage

type SubmitPage struct {
	Path  string `json:"path"`  //
	Query string `json:"query"` //
}

SubmitPage 提交页面数据

type Worker

type Worker struct {
	WorkerPool chan chan Job
	JobChannel chan Job
	// contains filtered or unexported fields
}

Worker represents the worker that executes the job

func NewWorker

func NewWorker(workerPool chan chan Job) Worker

NewWorker new worker

func (Worker) Start

func (w Worker) Start()

Start method starts the run loop for the worker, listening for a quit channel in case we need to stop it

func (Worker) Stop

func (w Worker) Stop()

Stop signals the worker to stop listening for work requests.

Jump to

Keyboard shortcuts

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