version2

package
v0.0.0-...-2bc18d8 Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2017 License: BSD-2-Clause Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DelCategoryHandler

func DelCategoryHandler(self *makross.Context) error

func DelContentHandler

func DelContentHandler(self *makross.Context) error

func DelFavoriteTopicHandler

func DelFavoriteTopicHandler(self *makross.Context) error

func DelNodeHandler

func DelNodeHandler(self *makross.Context) error

func DelUserHandler

func DelUserHandler(self *makross.Context) error

func GetCategoriesHandler

func GetCategoriesHandler(self *makross.Context) error

GetCategoriesHandler

func GetCategoryHandler

func GetCategoryHandler(self *makross.Context) error

func GetCommentHandler

func GetCommentHandler(self *makross.Context) error

GetComment 获取评论

func GetContentHandler

func GetContentHandler(self *makross.Context) error

GetContent 获取话题

func GetFavoriteTopicHandler

func GetFavoriteTopicHandler(self *makross.Context) error

func GetFavoriteTopicsHandler

func GetFavoriteTopicsHandler(self *makross.Context) error

func GetNodeHandler

func GetNodeHandler(self *makross.Context) error

func GetNodesHandler

func GetNodesHandler(self *makross.Context) error

GetNodes

func GetNodes(self *makross.Context) error {

	herr.Message = "ErrServiceUnavailable"
	herr.Status = makross.StatusServiceUnavailable

	offset := self.Args("offset").MustInt()
	page := self.Args("page").MustInt64()
	limit := self.Args("limit").MustInt()
	field := self.Args("field").String()
	pid := self.Args("pid").MustInt64()
	cid := self.Args("cid").MustInt64()
	ctype := self.Args("ctype").MustInt64()

	if field == "lastest" {
		field = "id"
	} else if (field == "hotness") || (len(field) == 0) {
		field = "hotness"
	}

	switch {
	case (ctype != 0) && (pid > 0): // 获取特定ctype节点里特定pid之列表
		if offset <= 0 {
			var resultsCount int64
			if objs, err := models.GetNodesByCtypeWithPid(0, limit, ctype, pid, field); err != nil {
				herr.Message = err.Error()
				return self.JSON(herr, makross.StatusServiceUnavailable)
			} else {
				resultsCount = int64(len(*objs))
				_, _, _, _, offset_ := helper.Pages(resultsCount, page, int64(limit))
				if objs, err := models.GetNodesByCtypeWithPid(int(offset_), limit, ctype, pid, field); err == nil {
					return self.JSON(objs)
				} else {
					herr.Message = err.Error()
					return self.JSON(herr, makross.StatusServiceUnavailable)
				}

			}
		} else {
			if objs, err := models.GetNodesByCtypeWithPid(offset, limit, ctype, pid, field); err == nil {
				return self.JSON(objs)
			} else {
				herr.Message = err.Error()
				return self.JSON(herr, makross.StatusServiceUnavailable)
			}
		}
	case (ctype == 0) && (pid > 0): // 获取特定节点之下级节点列表
		if offset <= 0 {
			var resultsCount int64
			if objs := models.GetNodesByPid(pid, 0, limit, 0, field); objs != nil {
				resultsCount = int64(len(*objs))
				_, _, _, _, offset_ := helper.Pages(resultsCount, page, int64(limit))
				if objs := models.GetNodesByPid(pid, int(offset_), limit, 0, field); objs != nil {
					return self.JSON(objs)
				} else {
					herr.Message = "获取节点数据出错"
					return self.JSON(herr, makross.StatusServiceUnavailable)
				}

			} else {
				herr.Message = "没有获取到节点数据"
				herr.Status = makross.StatusOK
				return self.JSON(herr)
			}
		} else {
			if objs := models.GetNodesByPid(pid, offset, limit, 0, field); objs != nil {
				return self.JSON(objs)
			} else {
				herr.Message = "没有获取到节点数据"
				herr.Status = makross.StatusOK
				return self.JSON(herr)
			}
		}
	case (ctype != 0) && (cid > 0): // 获取特定ctype节点里特定cid之列表
		if offset <= 0 {
			var resultsCount int64
			if objs, err := models.GetNodesByCtypeWithCid(0, limit, ctype, cid, field); err != nil {
				herr.Message = err.Error()
				return self.JSON(herr, makross.StatusServiceUnavailable)
			} else {
				resultsCount = int64(len(*objs))
				_, _, _, _, offset_ := helper.Pages(resultsCount, page, int64(limit))
				if objs, err := models.GetNodesByCtypeWithCid(int(offset_), limit, ctype, cid, field); err == nil {
					return self.JSON(objs)
				} else {
					herr.Message = err.Error()
					return self.JSON(herr, makross.StatusServiceUnavailable)
				}

			}
		} else {
			if objs, err := models.GetNodesByCtypeWithCid(offset, limit, ctype, cid, field); err == nil {
				return self.JSON(objs)
			} else {
				herr.Message = err.Error()
				return self.JSON(herr, makross.StatusServiceUnavailable)
			}
		}
	case (ctype == 0) && (cid > 0): // 获取特定分类之下级节点列表
		if offset <= 0 {
			var resultsCount int64
			if objs, err := models.GetNodesByCid(cid, 0, limit, field); err != nil {
				herr.Message = fmt.Sprintf("获取节点数据发生错误:%v", err)
				return self.JSON(herr, makross.StatusServiceUnavailable)
			} else {
				resultsCount = int64(len(*objs))
				_, _, _, _, offset_ := helper.Pages(resultsCount, page, int64(limit))
				if objs, err := models.GetNodesByCid(cid, int(offset_), limit, field); err != nil {
					herr.Message = "获取节点数据出错"
					return self.JSON(herr, makross.StatusServiceUnavailable)
				} else {
					return self.JSON(objs)
				}
			}

		} else {
			if objs, err := models.GetNodesByCid(cid, offset, limit, field); err != nil {
				herr.Message = "获取节点数据出错"
				return self.JSON(herr, makross.StatusServiceUnavailable)
			} else {
				return self.JSON(objs)
			}
		}
	case (ctype != 0) && (pid <= 0) && (cid <= 0): // 获取特定ctype节点列表
		if offset <= 0 {
			var resultsCount int64
			if objs, err := models.GetNodesByCtype(0, limit, ctype, field); err != nil {
				herr.Message = err.Error()
				return self.JSON(herr, makross.StatusServiceUnavailable)
			} else {
				resultsCount = int64(len(*objs))
				_, _, _, _, offset_ := helper.Pages(resultsCount, page, int64(limit))
				if objs, err := models.GetNodesByCtype(int(offset_), limit, ctype, field); err == nil {
					return self.JSON(objs)
				} else {
					herr.Message = err.Error()
					return self.JSON(herr, makross.StatusServiceUnavailable)
				}

			}
		} else {
			if objs, err := models.GetNodesByCtype(offset, limit, ctype, field); err == nil {
				return self.JSON(objs)
			} else {
				herr.Message = err.Error()
				return self.JSON(herr, makross.StatusServiceUnavailable)
			}
		}
	default: // 获取全部节点列表
		if offset <= 0 {
			if resultsCount, err := models.GetNodesCount(offset, limit); err != nil {
				herr.Message = err.Error()
				return self.JSON(herr, makross.StatusServiceUnavailable)
			} else {
				_, _, _, _, offset_ := helper.Pages(resultsCount, page, int64(limit))
				if objs, err := models.GetNodes(int(offset_), limit, field); err == nil {
					return self.JSON(objs)
				} else {
					herr.Message = err.Error()
					return self.JSON(herr, makross.StatusServiceUnavailable)
				}

			}
		} else {
			if objs, err := models.GetNodes(offset, int(limit), field); err == nil {
				return self.JSON(objs)
			} else {
				herr.Message = err.Error()
				return self.JSON(herr, makross.StatusServiceUnavailable)
			}
		}
	}
}

GetNodes

func GetPongHandler

func GetPongHandler(self *makross.Context) error

GetPongHandler 乒乓 心跳Handler

func GetSignoutHandler

func GetSignoutHandler(self *makross.Context) error

GetSignout 客户端执行清除 cookie 或 local storage时触发GetSignout进行记录动作

func GetTopicHandler

func GetTopicHandler(self *makross.Context) error

GetTopic 获取特定话题

func GetTopicsByUserHandler

func GetTopicsByUserHandler(self *makross.Context) error

func GetTopicsHandler

func GetTopicsHandler(self *makross.Context) error

GetTopics 获取话题列表

func GetUserHandler

func GetUserHandler(self *makross.Context) error

func GetUsersHandler

func GetUsersHandler(self *makross.Context) error

GetUsers

func GetVersionHandler

func GetVersionHandler(self *makross.Context) error

GetVersion 获取版本

func PostCategoryHandler

func PostCategoryHandler(self *makross.Context) error

func PostCommentHandler

func PostCommentHandler(self *makross.Context) error

PostComment 发布评论

func PostContentHandler

func PostContentHandler(self *makross.Context) error

PostContent 发布话题 或 更新话题

func PostFavoriteTopicHandler

func PostFavoriteTopicHandler(self *makross.Context) error

func PostNodeHandler

func PostNodeHandler(self *makross.Context) error

func PostReportHandler

func PostReportHandler(self *makross.Context) error

PostReport 举报或反馈

func PostSigninHandler

func PostSigninHandler(self *makross.Context) error

PostSignin 用户登录

func PostSignupHandler

func PostSignupHandler(self *makross.Context) error

PostSignupHandler 注册用户

func PostUploadHandler

func PostUploadHandler(self *makross.Context) error

func PostUserHandler

func PostUserHandler(self *makross.Context) error

func PutCategoryHandler

func PutCategoryHandler(self *makross.Context) error

func PutContentHandler

func PutContentHandler(self *makross.Context) error

更新话题

func PutNodeHandler

func PutNodeHandler(self *makross.Context) error

func PutUserHandler

func PutUserHandler(self *makross.Context) error

PutUser 更新用户

Types

type Files

type Files struct {
	Files []string `json:"files"`
}

type UploadError

type UploadError struct {
	Error string `json:"error"`
}

Jump to

Keyboard shortcuts

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