notice

package
v2.0.1+incompatible Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2019 License: AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Overview

Nging is a toolbox for webmasters Copyright (C) 2018-present Wenhui Shen <swh@admpub.com>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.

Index

Constants

View Source
const (
	Succeed         = 1
	Failed          = 0
	Unauthenticated = -1
	Forbid          = -2
)

Variables

View Source
var (
	ErrUserNotOnline     = errors.New(`通知错误:用户不在线`)
	ErrMsgTypeNotAccept  = errors.New(`通知错误:不接受这种消息类型`)
	ErrClientIDNotOnline = errors.New(`通知错误:ClientID不在线`)
)

Functions

func Clear

func Clear()

func CloseClient

func CloseClient(user string, clientID uint) bool

func CloseMessage

func CloseMessage(user string, types ...string)

func Default

func Default() *userNotices

func NewUserNotices

func NewUserNotices(debug bool) *userNotices

func OnClose

func OnClose(fn ...func(user string)) *userNotices

func OnOpen

func OnOpen(fn ...func(user string)) *userNotices

func OpenClient

func OpenClient(user string) uint

func OpenMessage

func OpenMessage(user string, types ...string)

func Recv

func Recv(user string, clientID uint) <-chan *Message

func RecvJSON

func RecvJSON(user string, clientID uint) []byte

func RecvXML

func RecvXML(user string, clientID uint) []byte

func Send

func Send(user string, message *Message) error

func SetDebug

func SetDebug(on bool)

func Stdout

func Stdout(message *Message)

Types

type Message

type Message struct {
	ClientID uint        `json:"client_id" xml:"client_id"`
	ID       interface{} `json:"id" xml:"id"`
	Type     string      `json:"type" xml:"type"`
	Title    string      `json:"title" xml:"title"`
	Status   int         `json:"status" xml:"status"`
	Content  interface{} `json:"content" xml:"content"`
	Mode     string      `json:"mode" xml:"mode"` //显示模式:notify/element/modal
	Progress *Progress   `json:"progress" xml:"progress"`
}

func NewMessage

func NewMessage() *Message

func NewMessageWithValue

func NewMessageWithValue(typ string, title string, content interface{}, status ...int) *Message

func (*Message) CalcPercent

func (m *Message) CalcPercent() *Message

func (*Message) SetClientID

func (m *Message) SetClientID(clientID uint) *Message

func (*Message) SetContent

func (m *Message) SetContent(content interface{}) *Message

func (*Message) SetID

func (m *Message) SetID(id interface{}) *Message

func (*Message) SetMode

func (m *Message) SetMode(mode string) *Message

func (*Message) SetProgress

func (m *Message) SetProgress(progress *Progress) *Message

func (*Message) SetProgressValue

func (m *Message) SetProgressValue(finish int64, total int64) *Message

func (*Message) SetStatus

func (m *Message) SetStatus(status int) *Message

func (*Message) SetTitle

func (m *Message) SetTitle(title string) *Message

func (*Message) SetType

func (m *Message) SetType(t string) *Message

type Notice

type Notice struct {
	Types    map[string]bool
	Messages map[uint]chan *Message `json:"-" xml:"-"`
}

func NewNotice

func NewNotice() *Notice

type OnlineUser

type OnlineUser struct {
	Notice  *Notice
	Clients uint
}

func NewOnlineUser

func NewOnlineUser() *OnlineUser

type Progress

type Progress struct {
	Total    int64   `json:"total" xml:"total"`
	Finish   int64   `json:"finish" xml:"finish"`
	Percent  float64 `json:"percent" xml:"percent"`
	Complete bool    `json:"complete" xml:"complete"`
}

func NewProgress

func NewProgress() *Progress

Jump to

Keyboard shortcuts

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