api

package
v0.0.0-...-b87ab60 Latest Latest
Warning

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

Go to latest
Published: May 6, 2022 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package api @Title api.go @Description @Author peanut996 @Update peanut996 2021/5/22 17:44

Package api @Title api_request.go @Description record some defined request struct. @Author peanut996 @Update peanut996 2021/5/22 21:57

Package api @Title api_response.go @Description record some defined response. @Author peanut996 @Update peanut996 2021/5/22 0:22

Package api @Title api_token.go @Description 提供对token的常用操作 @Author peanut996 @Update peanut996 2021/5/22 1:43

Index

Constants

View Source
const (
	EventAuth         = "auth"
	EventLoad         = "load"
	EventAddFriend    = "addFriend"
	EventDeleteFriend = "deleteFriend"
	EventInviteFriend = "inviteFriend"
	EventCreateGroup  = "createGroup"
	EventJoinGroup    = "joinGroup"
	EventLeaveGroup   = "leaveGroup"
	EventChat         = "chat"
	EventPullMessage  = "pullMessage"
	EventGetUserInfo  = "getUserInfo"
	EventFindUser     = "findUser"
	EventFindGroup    = "findGroup"
	EventUpdateUser   = "updateUser"
)
View Source
const (
	ErrorCodeOK      = 0
	ErrorSignInvalid = 1000 + iota
	ErrorTokenInvalid
	ErrorAuthFailed
	ErrorHttpInnerError
	ErrorHttpParamInvalid
	ErrorHttpResourceExists
	ErrorHttpResourceNotFound

	HTTPMethodGet    string = "GET"
	HTTPMethodPost   string = "POST"
	HTTPMethodPut    string = "PUT"
	HTTPMethodPatch  string = "PATCH"
	HTTPMethodDelete string = "DELETE"
	HTTPMethodHead   string = "HEAD"
)
View Source
const (
	NewRequestError    string = "New http request err: %v, url: %v"
	DoRequestError     string = "Do http request err: %v, url: %v"
	DoGetRequestError  string = "Do get http request err: %v, url: %v"
	DoPostRequestError string = "Do post http request err: %v, url: %v"
	ReadRespBodyError  string = "Read resp body err: %v, url: %v"
	MarshalJsonError   string = "Marshal json  err: %v"
	UnmarshalJsonError string = "Unmarshal json  err: %v"
	MongoDBError       string = "Mongo operation failed. err: %v"
	RedisError         string = "Redis operation failed. err: %v"
)
View Source
const (
	//UidToTokenFormat redis key name for value: token
	UidToTokenFormat = "%v_to_token"
	//TokenToUidFormat redis key name for value: uid
	TokenToUidFormat = "%v_to_uid"
	//DefaultTokenExpireTime Token default expiration time
	DefaultTokenExpireTime = 6 * 60 * 60
)

Variables

View Source
var (
	SignInvaildResp = &BaseRepsonse{
		Code:    ErrorSignInvalid,
		Message: ErrorCodeToString(ErrorSignInvalid),
		Data:    nil,
	}

	ResourceExistsResp = &BaseRepsonse{
		Code:    ErrorHttpResourceExists,
		Message: ErrorCodeToString(ErrorHttpResourceExists),
		Data:    nil,
	}

	ResourceNotFoundResp = &BaseRepsonse{
		Code:    ErrorHttpResourceNotFound,
		Message: ErrorCodeToString(ErrorHttpResourceNotFound),
		Data:    nil,
	}

	AuthFaildResp = &BaseRepsonse{
		Code:    ErrorAuthFailed,
		Message: ErrorCodeToString(ErrorAuthFailed),
		Data:    nil,
	}

	TokenInvaildResp = &BaseRepsonse{
		Code:    ErrorTokenInvalid,
		Message: ErrorCodeToString(ErrorTokenInvalid),
		Data:    nil,
	}
)

Functions

func CheckSignFromJsonParams

func CheckSignFromJsonParams(s string, appKey string) (bool, error)

func CheckSignFromQueryParams

func CheckSignFromQueryParams(params url.Values, appKey string) (bool, error)

func CheckToken

func CheckToken(token string) (*model.User, error)

func DeleteToken

func DeleteToken(token string) error

func ErrorCodeToError

func ErrorCodeToError(code int) error

func ErrorCodeToFormat

func ErrorCodeToFormat(code int) string

func ErrorCodeToString

func ErrorCodeToString(code int) string

func GenerateToken

func GenerateToken(uid string) string

GenerateToken 根据uid和时间戳生成token

func InsertToken

func InsertToken(uid string) (string, error)

InsertToken token插入数据库,若已存在则直接返回已存在的token

func MakeSignWithJsonParams

func MakeSignWithJsonParams(s string, appkey string) (string, error)

func MakeSignWithQueryParams

func MakeSignWithQueryParams(params url.Values, appKey string) (string, error)

func ResetTokenTime

func ResetTokenTime(token, uid string) error

func TokenToUIDFormat

func TokenToUIDFormat(token string) string

func UIDToTokenFormat

func UIDToTokenFormat(uid string) string

Types

type AuthRequest

type AuthRequest struct {
	Token string `json:"token"`
}

type BaseRepsonse

type BaseRepsonse struct {
	Code    int         `json:"code"`
	Message string      `json:"message"`
	Data    interface{} `json:"data"`
}

func NewBaseResponse

func NewBaseResponse(code int, data interface{}) *BaseRepsonse

func NewHttpInnerErrorResponse

func NewHttpInnerErrorResponse(err error) *BaseRepsonse

func NewResourceExistsResponse

func NewResourceExistsResponse(err error) *BaseRepsonse

func NewSuccessResponse

func NewSuccessResponse(data interface{}) *BaseRepsonse

type ChatRequest

type ChatRequest struct {
	//From sender user id
	From     string  `json:"from"`
	To       string  `json:"to,omitempty"`
	Time     int64   `json:"time,omitempty"`
	Type     string  `json:"type"`
	Content  string  `json:"content"`
	FileName string  `json:"fileName,omitempty"`
	Size     int     `json:"size,omitempty"`
	Height   float64 `json:"height,omitempty"`
	Width    float64 `json:"width,omitempty"`
}

type FindRequest

type FindRequest struct {
	Account   string `json:"account,omitempty"`
	GroupName string `json:"groupName,omitempty"`
}

FindRequest 模糊查找请求

type FriendRequest

type FriendRequest struct {
	FriendA string `json:"friendA"`
	FriendB string `json:"friendB"`
}

type GroupRequest

type GroupRequest struct {
	UID        string `json:"uid,omitempty"`
	GroupID    string `json:"groupID,omitempty"`
	GroupName  string `json:"groupName,omitempty"`
	GroupAdmin string `json:"groupAdmin,omitempty"`
}

type InviteRequest

type InviteRequest struct {
	Friends []string `json:"friends,omitempty"`
	GroupID string   `json:"groupID,omitempty"`
}

InviteRequest 用户邀请进群请求

type InvokeRequest

type InvokeRequest struct {
	Targets []string    `json:"targets"`
	Event   string      `json:"event"`
	Data    interface{} `json:"data"`
}

InvokeRequest 透传请求

type LoadRequest

type LoadRequest struct {
	UID string `json:"uid"`
}

LoadRequest 用户初始化请求

type PullRequest

type PullRequest struct {
	UID      string `json:"uid,omitempty"`
	GroupID  string `json:"groupID,omitempty"`
	FriendID string `json:"friendID,omitempty"`
	Current  int64  `json:"current"`
	PageSize int64  `json:"pageSize"`
}

PullRequest 分页拉取消息请求

type PushChatRequest

type PushChatRequest struct {
	Message *model.ChatMessage `json:"message"`
	Target  string             `json:"target"`
}

type SingleInvokeRequest

type SingleInvokeRequest struct {
	Target string      `json:"target"`
	Event  string      `json:"event"`
	Data   interface{} `json:"data"`
}

type UpdateRequest

type UpdateRequest struct {
	UID      string `json:"uid"`
	Password string `json:"password,omitempty"`
	Account  string `json:"account,omitempty"`
	Avatar   string `json:"avatar,omitempty"`
}

UpdateRequest 更新用户信息

type UserRequest

type UserRequest struct {
	UID string `json:"uid"`
}

Directories

Path Synopsis
Package model @Title friend.go @Description @Author peanut996 @Update peanut996 2021/5/22 10:05
Package model @Title friend.go @Description @Author peanut996 @Update peanut996 2021/5/22 10:05

Jump to

Keyboard shortcuts

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