BlogCore

package
v5.2.7 Latest Latest
Warning

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

Go to latest
Published: Aug 4, 2024 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	//Sort 分类系统
	Sort = ClassSort.Sort{
		SortTableName: "blog_core_sort",
	}
	//Tag 标签系统
	Tag = ClassTag.Tag{
		TagTableName: "blog_core_tags",
	}
	//Comment 评论
	Comment = ClassComment.Comment{
		TableName:         "blog_core_comment",
		UserMoreComment:   false,
		UserEditComment:   false,
		UserDeleteComment: false,
		OrgDeleteComment:  false,
		System:            "blog_core_content",
	}
	//OpenSub 是否启动订阅
	OpenSub = false
)

Functions

func DeleteContent

func DeleteContent(args *ArgsDeleteContent) (err error)

DeleteContent 删除词条

func GetContentCountByOrgID

func GetContentCountByOrgID(orgID int64, contentType int, afterAt time.Time) (count int64)

GetContentCountByOrgID 获取组织发布文章数量

func GetContentCountByUser

func GetContentCountByUser(args *ArgsGetContentCountByUser) (count int64)

GetContentCountByUser 获取用户发布文章数量

func GetContentMoreMap

func GetContentMoreMap(args *ArgsGetContentMore) (data map[int64]string, err error)

func GetContentSortCount

func GetContentSortCount(args *ArgsGetContentSortCount) (count int64)

GetContentSortCount 统计某个分类多少文章

func GetContentTagsCount

func GetContentTagsCount(args *ArgsGetContentTagsCount) (count int64)

GetContentTagsCount 获取标签有多少篇文章 多个标签为或的关系

func GetContentTitle

func GetContentTitle(id int64) string

GetContentTitle 获取文章名称

func Init

func Init()

Init 初始化

func MoveSort

func MoveSort(args *ArgsMoveSort) (err error)

MoveSort 修改指定分类下文章迁移到另外一个分类

func PushRead

func PushRead(orgID int64, userID int64, contentID int64)

PushRead 更新用户阅读文章

func ReturnContent

func ReturnContent(args *ArgsReturnContent) (err error)

ReturnContent 还原内容

func UpdateAudit

func UpdateAudit(args *ArgsUpdateAudit) (err error)

UpdateAudit 审核文章

func UpdateContentTop added in v5.1.46

func UpdateContentTop(id int64, isTop bool) (err error)

UpdateContentTop 设置文章置顶

func UpdatePublish

func UpdatePublish(args *ArgsUpdatePublish) (err error)

UpdatePublish 发布文章

Types

type ArgsCheckContentByKey

type ArgsCheckContentByKey struct {
	//唯一标识码key
	// 作为id的补充,自动填写时,将自动生成随机字符串
	// 默认根据标题或标题拼音得出
	Key string `db:"key" json:"key" check:"mark"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id"`
}

type ArgsCreateContent

type ArgsCreateContent struct {
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//用户ID
	// 文章可以是由用户发出,组织ID可以为0
	UserID int64 `db:"user_id" json:"userID" check:"id" empty:"true"`
	//成员ID
	BindID int64 `db:"bind_id" json:"bindID" check:"id" empty:"true"`
	//文章类型
	// 0 普通文章; 1 挂靠视频; 3 第三方跳转; 4 组织地图
	// 挂靠或跳转内容,将在des中做特殊描述
	ContentType int `db:"content_type" json:"contentType" check:"intThan0" empty:"true"`
	//扩展筛选项
	Param1 int64 `db:"param1" json:"param1"`
	Param2 int64 `db:"param2" json:"param2"`
	Param3 int64 `db:"param3" json:"param3"`
	//唯一标识码key
	// 作为id的补充,自动填写时,将自动生成随机字符串
	// 默认根据标题或标题拼音得出
	Key string `db:"key" json:"key" check:"mark" empty:"true"`
	//是否置顶
	IsTop bool `db:"is_top" json:"isTop" check:"bool"`
	//分类
	SortID int64 `db:"sort_id" json:"sortID" check:"id" empty:"true"`
	//标签
	Tags pq.Int64Array `db:"tags" json:"tags" check:"ids" empty:"true"`
	//标题
	Title string `db:"title" json:"title" check:"title" min:"1" max:"300"`
	//小标题
	TitleDes string `db:"title_des" json:"titleDes" check:"title" min:"1" max:"600" empty:"true"`
	//封面文件
	CoverFileID int64 `db:"cover_file_id" json:"coverFileID" check:"id" empty:"true"`
	//附加封面图
	DesFiles pq.Int64Array `db:"des_files" json:"desFiles" check:"ids" empty:"true"`
	//内容
	Des string `db:"des" json:"des" check:"des" min:"1" max:"9000" empty:"true"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

ArgsCreateContent 创建新的词条参数

type ArgsDeleteContent

type ArgsDeleteContent struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//用户ID
	// 文章可以是由用户发出,组织ID可以为0
	UserID int64 `db:"user_id" json:"userID" check:"id" empty:"true"`
	//成员ID
	BindID int64 `db:"bind_id" json:"bindID" check:"id" empty:"true"`
}

ArgsDeleteContent 删除词条参数

type ArgsGetContentByID

type ArgsGetContentByID struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//用户ID
	// 文章可以是由用户发出,组织ID可以为0
	UserID int64 `db:"user_id" json:"userID" check:"id" empty:"true"`
	//是否需要审核
	IsAudit bool `db:"is_audit" json:"isAudit" check:"bool"`
	//是否需要检查发布状态
	IsPublish bool `db:"is_publish" json:"IsPublish" check:"bool"`
	//阅读用户ID
	// 可以留空
	ReadUserID int64 `json:"readUserID" check:"id" empty:"true"`
}

ArgsGetContentByID 获取ID参数

type ArgsGetContentByKey

type ArgsGetContentByKey struct {
	//唯一标识码key
	// 作为id的补充,自动填写时,将自动生成随机字符串
	// 默认根据标题或标题拼音得出
	Key string `db:"key" json:"key" check:"mark"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id"`
	//用户ID
	// 文章可以是由用户发出,组织ID可以为0
	UserID int64 `db:"user_id" json:"userID" check:"id" empty:"true"`
	//是否需要审核
	IsAudit bool `db:"is_audit" json:"isAudit" check:"bool"`
	//是否需要检查发布状态
	IsPublish bool `db:"is_publish" json:"IsPublish" check:"bool"`
	//阅读用户ID
	// 可以留空
	ReadUserID int64 `json:"readUserID" check:"id" empty:"true"`
}

ArgsGetContentByKey 获取指定mey参数

type ArgsGetContentCountByUser

type ArgsGetContentCountByUser struct {
	//用户ID
	UserID int64 `db:"user_id" json:"userID" check:"id"`
}

ArgsGetContentCountByUser 获取用户发布文章数量参数

type ArgsGetContentList

type ArgsGetContentList struct {
	//分页
	Pages CoreSQLPages.ArgsDataList `json:"pages"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//用户ID
	// 文章可以是由用户发出,组织ID可以为0
	UserID int64 `db:"user_id" json:"userID" check:"id" empty:"true"`
	//成员ID
	BindID int64 `db:"bind_id" json:"bindID" check:"id" empty:"true"`
	//文章类型
	// 0 普通文章; 1 挂靠视频; 3 第三方跳转
	// 挂靠或跳转内容,将在des中做特殊描述
	ContentType int `db:"content_type" json:"contentType" check:"intThan0" empty:"true"`
	//分类ID
	// > -1 为包含;否则不包含。0为没有设定
	SortID int64 `db:"sort_id" json:"sortID" check:"id" empty:"true"`
	//标签组
	Tags pq.Int64Array `db:"tags" json:"tags" check:"ids" empty:"true"`
	//标签或关系
	TagsOr bool `json:"tagsOr" check:"bool"`
	//是否已经发布
	NeedIsPublish bool `db:"need_is_publish" json:"needIsPublish" check:"bool"`
	IsPublish     bool `db:"is_publish" json:"isPublish" check:"bool"`
	//归属关系
	// 删除后作为原始文档的子项目存在,key将自动失效
	ParentID int64 `db:"parent_id" json:"parentID" check:"id" empty:"true"`
	//是否需要审核
	NeedAudit bool `json:"needAudit" check:"bool"`
	//是否已经审核
	IsAudit bool `json:"isAudit" check:"bool"`
	//是否置顶
	NeedIsTop bool `json:"needIsTop" check:"bool" empty:"true"`
	IsTop     bool `db:"is_top" json:"isTop" check:"bool" empty:"true"`
	//扩展选项范围查询
	Param1Min int64 `json:"param1Min"`
	Param1Max int64 `json:"param1Max"`
	Param2Min int64 `json:"param2Min"`
	Param2Max int64 `json:"param2Max"`
	Param3Min int64 `json:"param3Min"`
	Param3Max int64 `json:"param3Max"`
	//是否删除
	IsRemove bool `db:"is_remove" json:"isRemove" check:"bool"`
	//搜索
	Search string `json:"search" check:"search" empty:"true"`
}

ArgsGetContentList 获取列表参数

type ArgsGetContentListV3

type ArgsGetContentListV3 struct {
	//分页
	Pages CoreSQLPages.ArgsDataList `json:"pages"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//用户ID
	// 文章可以是由用户发出,组织ID可以为0
	UserIDs pq.Int64Array `db:"user_ids" json:"userIDs" check:"ids" empty:"true"`
	//成员ID
	BindID int64 `db:"bind_id" json:"bindID" check:"id" empty:"true"`
	//分类ID
	// > -1 为包含;否则不包含。0为没有设定
	SortID int64 `db:"sort_id" json:"sortID" check:"id" empty:"true"`
	//标签组
	Tags pq.Int64Array `db:"tags" json:"tags" check:"ids" empty:"true"`
	//标签或关系
	TagsOr bool `json:"tagsOr" check:"bool"`
	//是否已经发布
	NeedIsPublish bool `db:"need_is_publish" json:"needIsPublish" check:"bool"`
	IsPublish     bool `db:"is_publish" json:"IsPublish" check:"bool"`
	//归属关系
	// 删除后作为原始文档的子项目存在,key将自动失效
	ParentID int64 `db:"parent_id" json:"parentID" check:"id" empty:"true"`
	//是否需要审核
	NeedAudit bool `json:"needAudit" check:"bool"`
	//是否已经审核
	IsAudit bool `json:"isAudit" check:"bool"`
	//是否置顶
	NeedIsTop bool `json:"needIsTop" check:"bool" empty:"true"`
	IsTop     bool `db:"is_top" json:"isTop" check:"bool" empty:"true"`
	//扩展选项范围查询
	Param1Min int64 `json:"param1Min"`
	Param1Max int64 `json:"param1Max"`
	Param2Min int64 `json:"param2Min"`
	Param2Max int64 `json:"param2Max"`
	Param3Min int64 `json:"param3Min"`
	Param3Max int64 `json:"param3Max"`
	//是否删除
	IsRemove bool `db:"is_remove" json:"isRemove" check:"bool"`
	//搜索
	Search string `json:"search" check:"search" empty:"true"`
}

ArgsGetContentListV3 获取列表参数

type ArgsGetContentListV4 added in v5.2.1

type ArgsGetContentListV4 struct {
	//分页
	Pages CoreSQL2.ArgsPages `json:"pages"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//用户ID
	// 文章可以是由用户发出,组织ID可以为0
	UserIDs pq.Int64Array `db:"user_ids" json:"userIDs" check:"ids" empty:"true"`
	//成员ID
	BindID int64 `db:"bind_id" json:"bindID" check:"id" empty:"true"`
	//分类ID
	// > -1 为包含;否则不包含。0为没有设定
	SortID int64 `db:"sort_id" json:"sortID" check:"id" empty:"true"`
	//标签组
	Tags pq.Int64Array `db:"tags" json:"tags" check:"ids" empty:"true"`
	//标签或关系
	TagsOr bool `json:"tagsOr" check:"bool"`
	//是否已经发布
	NeedIsPublish bool `db:"need_is_publish" json:"needIsPublish" check:"bool"`
	IsPublish     bool `db:"is_publish" json:"IsPublish" check:"bool"`
	//归属关系
	// 删除后作为原始文档的子项目存在,key将自动失效
	ParentID int64 `db:"parent_id" json:"parentID" check:"id" empty:"true"`
	//是否需要审核
	NeedAudit bool `json:"needAudit" check:"bool"`
	//是否已经审核
	IsAudit bool `json:"isAudit" check:"bool"`
	//是否置顶
	NeedIsTop bool `json:"needIsTop" check:"bool" empty:"true"`
	IsTop     bool `db:"is_top" json:"isTop" check:"bool" empty:"true"`
	//扩展选项范围查询
	Param1Min int64 `json:"param1Min"`
	Param1Max int64 `json:"param1Max"`
	Param2Min int64 `json:"param2Min"`
	Param2Max int64 `json:"param2Max"`
	Param3Min int64 `json:"param3Min"`
	Param3Max int64 `json:"param3Max"`
	//发布时间范围
	PublishBetween CoreSQL2.ArgsTimeBetween `json:"publishBetween"`
	//是否删除
	IsRemove bool `db:"is_remove" json:"isRemove" check:"bool"`
	//搜索
	Search string `json:"search" check:"search" empty:"true"`
}

ArgsGetContentListV4 获取列表参数

type ArgsGetContentMore

type ArgsGetContentMore struct {
	//ID列
	IDs pq.Int64Array `json:"ids" check:"ids"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//是否包含删除数据
	HaveRemove bool `json:"haveRemove" check:"bool"`
}

ArgsGetContentMore 获取一组IDs参数

type ArgsGetContentSortCount

type ArgsGetContentSortCount struct {
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id"`
	//分类ID
	// > -1 为包含;否则不包含。0为没有设定
	SortID int64 `db:"sort_id" json:"sortID" check:"id" empty:"true"`
	//指定更新日期之后的数据
	// 如果给空,则忽略
	AfterAt string `json:"afterAt" check:"isoTime" empty:"true"`
}

ArgsGetContentSortCount 统计某个分类多少文章参数

type ArgsGetContentTagsCount

type ArgsGetContentTagsCount struct {
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id"`
	//标签组
	Tags pq.Int64Array `db:"tags" json:"tags" check:"ids" empty:"true"`
	//标签或关系
	TagsOr bool `json:"tagsOr"`
	//指定更新日期之后的数据
	// 如果给空,则忽略
	AfterAt string `json:"afterAt" check:"isoTime" empty:"true"`
}

ArgsGetContentTagsCount 获取标签有多少篇文章参数

type ArgsMoveSort

type ArgsMoveSort struct {
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id"`
	//分类ID
	SortID int64 `db:"sort_id" json:"sortID" check:"id"`
	//目标分类ID
	DestSortID int64 `db:"dest_sort_id" json:"destSortID" check:"id"`
}

ArgsMoveSort 修改指定分类下文章迁移到另外一个分类参数

type ArgsReturnContent

type ArgsReturnContent struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//用户ID
	// 文章可以是由用户发出,组织ID可以为0
	UserID int64 `db:"user_id" json:"userID" check:"id" empty:"true"`
}

ArgsReturnContent 还原内容参数

type ArgsUpdateAudit

type ArgsUpdateAudit struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//是否通过审核
	IsAudit bool `db:"is_audit" json:"isAudit" check:"bool"`
	//审核内容
	AuditDes string `db:"audit_des" json:"auditDes" check:"des" min:"1" max:"600" empty:"true"`
}

ArgsUpdateAudit 审核文章参数

type ArgsUpdateContent

type ArgsUpdateContent struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//用户ID
	// 文章可以是由用户发出,组织ID可以为0
	UserID int64 `db:"user_id" json:"userID" check:"id" empty:"true"`
	//成员ID
	BindID int64 `db:"bind_id" json:"bindID" check:"id" empty:"true"`
	//扩展筛选项
	Param1 int64 `db:"param1" json:"param1"`
	Param2 int64 `db:"param2" json:"param2"`
	Param3 int64 `db:"param3" json:"param3"`
	//唯一标识码key
	// 作为id的补充,自动填写时,将自动生成随机字符串
	// 默认根据标题或标题拼音得出
	Key string `db:"key" json:"key" check:"mark" empty:"true"`
	//是否置顶
	IsTop bool `db:"is_top" json:"isTop" check:"bool"`
	//分类
	SortID int64 `db:"sort_id" json:"sortID" check:"id" empty:"true"`
	//标签
	Tags pq.Int64Array `db:"tags" json:"tags" check:"ids" empty:"true"`
	//标题
	Title string `db:"title" json:"title" check:"title" min:"1" max:"300"`
	//小标题
	TitleDes string `db:"title_des" json:"titleDes" check:"title" min:"1" max:"600" empty:"true"`
	//封面文件
	CoverFileID int64 `db:"cover_file_id" json:"coverFileID" check:"id" empty:"true"`
	//附加封面图
	DesFiles pq.Int64Array `db:"des_files" json:"desFiles" check:"ids" empty:"true"`
	//内容
	Des string `db:"des" json:"des" check:"des" min:"1" max:"9000" empty:"true"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

ArgsUpdateContent 修改词条参数

type ArgsUpdatePublish

type ArgsUpdatePublish struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//用户ID
	// 文章可以是由用户发出,组织ID可以为0
	UserID int64 `db:"user_id" json:"userID" check:"id" empty:"true"`
}

ArgsUpdatePublish 发布文章参数

type FieldsContent

type FieldsContent struct {
	//ID
	ID int64 `db:"id" json:"id" unique:"true"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt" default:"now()"`
	//更新时间
	UpdateAt time.Time `db:"update_at" json:"updateAt" default:"now()"`
	//删除时间
	DeleteAt time.Time `db:"delete_at" json:"deleteAt" default:"0"`
	//文章类型
	// 0 普通文章; 1 挂靠视频; 3 第三方跳转; 4 组织地图
	// 挂靠或跳转内容,将在des中做特殊描述
	ContentType int `db:"content_type" json:"contentType"`
	//审核时间
	AuditAt time.Time `db:"audit_at" json:"auditAt" default:"0"`
	//审核拒绝原因
	AuditDes string `db:"audit_des" json:"auditDes" check:"des" min:"1" max:"300" empty:"true"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" index:"true" check:"id" empty:"true"`
	//成员ID
	BindID int64 `db:"bind_id" json:"bindID" index:"true" check:"id" empty:"true"`
	//扩展筛选项
	Param1 int64 `db:"param1" json:"param1"`
	Param2 int64 `db:"param2" json:"param2"`
	Param3 int64 `db:"param3" json:"param3"`
	//用户ID
	// 文章可以是由用户发出,组织ID可以为0
	UserID int64 `db:"user_id" json:"userID" index:"true" check:"id" empty:"true"`
	//访问量
	VisitCount int64 `db:"visit_count" json:"visitCount"`
	//唯一标识码key
	// 作为id的补充,自动填写时,将自动生成随机字符串
	// 默认根据标题或标题拼音得出
	Key string `db:"key" json:"key" index:"true"`
	//归属关系
	// 删除后作为原始文档的子项目存在,key将自动失效
	ParentID int64 `db:"parent_id" json:"parentID" index:"true" check:"id" empty:"true"`
	//是否公开
	// 非公开数据将作为草稿或私有数据存在,只有管理员可以看到
	PublishAt time.Time `db:"publish_at" json:"publishAt" default:"0"`
	//是否置顶
	IsTop bool `db:"is_top" json:"isTop"`
	//分类
	SortID int64 `db:"sort_id" json:"sortID" index:"true"`
	//标签
	Tags pq.Int64Array `db:"tags" json:"tags"`
	//标题
	Title string `db:"title" json:"title" check:"des" min:"1" max:"300" empty:"true"`
	//小标题
	TitleDes string `db:"title_des" json:"titleDes" check:"des" min:"1" max:"300" empty:"true"`
	//封面文件
	CoverFileID int64 `db:"cover_file_id" json:"coverFileID" index:"true" check:"id" empty:"true"`
	//附加封面图
	DesFiles pq.Int64Array `db:"des_files" json:"desFiles" check:"ids" empty:"true"`
	//内容
	Des string `db:"des" json:"des" check:"des" min:"1" max:"-1" empty:"true"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

FieldsContent 文章核心模块

func CheckContentByKey

func CheckContentByKey(args *ArgsCheckContentByKey) (data FieldsContent, err error)

func CreateContent

func CreateContent(args *ArgsCreateContent) (data FieldsContent, err error)

CreateContent 创建新的词条

func GetContentByID

func GetContentByID(args *ArgsGetContentByID) (data FieldsContent, err error)

GetContentByID 获取ID

func GetContentByIDNoErr

func GetContentByIDNoErr(id int64, orgID int64) (data FieldsContent)

GetContentByIDNoErr 无错误获取文章信息

func GetContentByKey

func GetContentByKey(args *ArgsGetContentByKey) (data FieldsContent, err error)

GetContentByKey 获取指定key

func GetContentList

func GetContentList(args *ArgsGetContentList) (dataList []FieldsContent, dataCount int64, err error)

GetContentList 获取列表

func GetContentListV3

func GetContentListV3(args *ArgsGetContentListV3) (dataList []FieldsContent, dataCount int64, err error)

GetContentListV3 获取列表

func GetContentListV4 added in v5.2.1

func GetContentListV4(args *ArgsGetContentListV4) (dataList []FieldsContent, dataCount int64, err error)

GetContentListV4 获取列表

func GetContentMore

func GetContentMore(args *ArgsGetContentMore) (dataList []FieldsContent, err error)

GetContentMore 获取一组IDs

func UpdateContent

func UpdateContent(args *ArgsUpdateContent) (newData FieldsContent, err error)

UpdateContent 修改词条

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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