Documentation ¶
Overview ¶
model公用操作
公用的model数据结构
Index ¶
- Constants
- Variables
- func AutoSitemap()
- func CheckDatabaseIsExist(host string, port int, username, password, database string) (err error)
- func Count(table string, cond *orm.Condition) (cnt int64)
- func DelByIds(table string, id ...interface{}) (affected int64, err error)
- func DocumentConvert(tmpFile string, fileMD5 string, page ...int) (err error)
- func DocumentProcess(uid int, form FormUpload) (err error)
- func DoesCollect(did, uid int) bool
- func GetChildrenNode(node string, value interface{}, params []orm.Params) (data []orm.Params)
- func GetDocList(uid, chanelid, pid, cid, p, listRows int, order string, status ...int) (data []orm.Params, rows int64, err error)
- func GetFields(tableObj interface{}) (fields []string)
- func GetImageFromCloudStore(picture string, ext ...string) (link string)
- func GetList(table string, p, listRows int, condition *orm.Condition, orderby ...string) (params []orm.Params, rows int64, err error)
- func GetTableAdPosition() string
- func GetTableAdmin() string
- func GetTableBanner() string
- func GetTableCategory() string
- func GetTableCoinLog() string
- func GetTableCollect() string
- func GetTableCollectFolder() string
- func GetTableConfig() string
- func GetTableDocText() string
- func GetTableDocument() string
- func GetTableDocumentComment() string
- func GetTableDocumentIllegal() string
- func GetTableDocumentInfo() string
- func GetTableDocumentRecycle() string
- func GetTableDocumentRemark() string
- func GetTableDocumentStore() string
- func GetTableFreeDown() string
- func GetTableFriend() string
- func GetTablePages() string
- func GetTableRelate() string
- func GetTableReport() string
- func GetTableSearchLog() string
- func GetTableSeo() string
- func GetTableSign() string
- func GetTableSuggest() string
- func GetTableSys() string
- func GetTableUser() string
- func GetTableUserInfo() string
- func GetTableWord() string
- func Init()
- func LeftJoinSqlBuild(tables []string, on []map[string]string, fields map[string][]string, ...) (sql string, err error)
- func RegisterDB()
- func Regulate(table, field string, step int, condition string, conditionArgs ...interface{}) (err error)
- func ReplaceInto(table string, params map[string]interface{}) (err error)
- func SearchByMysql(wd, sourceType, order string, p, listRows int) (data []orm.Params, total int64)
- func ToTree(params []orm.Params, Node string, value interface{}) []orm.Params
- func UpdateByField(table string, data map[string]interface{}, filter string, ...) (affected int64, err error)
- func UpdateByIds(table string, field string, value interface{}, id ...interface{}) (affected int64, err error)
- type Ad
- type AdPosition
- type Admin
- type Banner
- type Category
- func (this *Category) Del(id ...interface{}) (err error)
- func (this *Category) GetAll(status ...bool) (count int64, categories []Category)
- func (this *Category) GetByPid(pid int, status ...bool) (categories []Category)
- func (this *Category) GetCategoriesById(id ...interface{}) (cates []Category, err error)
- func (this *Category) GetSameLevelCategoryById(id interface{}) (cates []Category)
- func (this *Category) GetTitleById(id interface{}) (title string)
- func (this *Category) TableUnique() [][]string
- type CloudStore
- func (c *CloudStore) Delete(objects ...string) (err error)
- func (c *CloudStore) DeleteImageFromHtml(htmlStr string)
- func (c *CloudStore) GetPublicDomain() (domain string)
- func (c *CloudStore) GetSignURL(object string) (link string)
- func (c *CloudStore) ImageWithDomain(htmlOld string) (htmlNew string)
- func (c *CloudStore) ImageWithoutDomain(htmlOld string) (htmlNew string)
- func (c *CloudStore) IsExist(object string) (err error)
- func (c *CloudStore) PingTest() (err error)
- func (c *CloudStore) Upload(tmpFile, saveFile string, headers ...map[string]string) (err error)
- type CoinLog
- type Collect
- type CollectFolder
- type Config
- func (this *Config) All() (configs []Config)
- func (this *Config) GetByCate(cate helper.ConfigCate) (configs []Config)
- func (this *Config) GetGlobalConfigWithStruct(configCate helper.ConfigCate) (cfg interface{})
- func (this *Config) ParseForm(configCate helper.ConfigCate, form url.Values) (cfg interface{}, err error)
- func (this *Config) TableUnique() [][]string
- func (this *Config) UpdateByKey(cate helper.ConfigCate, key, val string) (err error)
- func (this *Config) UpdateCloudStore(storeType helper.ConfigCate, cfg interface{}) (err error)
- func (this *Config) UpdateGlobalConfig()
- type ConfigBos
- type ConfigCos
- type ConfigEmail
- type ConfigMinio
- type ConfigObs
- type ConfigOss
- type ConfigQiniu
- type ConfigUpYun
- type DefSeo
- type DocText
- type Document
- func (this *Document) GetById(id interface{}) (doc fullDocument, err error)
- func (this *Document) GetDocForElasticSearch(id ...int) (es []ElasticSearchData, err error)
- func (this *Document) GetDocInfoByDsId(DsId ...interface{}) (info []DocumentInfo, rows int64, err error)
- func (this *Document) GetDocInfoById(Ids ...interface{}) (info []DocumentInfo, rows int64, err error)
- func (this *Document) GetDocInfoForElasticSearch(page, pageSize int, startTime int, fields ...string) (infos []DocumentInfo, rows int64, err error)
- func (this *Document) GetDocStoreByDsId(DsId ...interface{}) (store []DocumentStore, rows int64, err error)
- func (this *Document) GetDocsByIds(ids interface{}, num ...int) (data []orm.Params)
- func (this *Document) GetDocument(id int, fields ...string) (doc Document)
- func (this *Document) GetOneDocStoreByDsId(DsId interface{}, fields ...string) (store DocumentStore, rows int64, err error)
- func (this *Document) InsertDoc(doc *Document) (int64, error)
- func (this *Document) InsertDocInfo(info *DocumentInfo) (int64, error)
- func (this *Document) InsertDocStore(ds *DocumentStore) (id int64, err error)
- func (this *Document) IsExistByMd5(md5str string) (Id int)
- func (this *Document) IsIllegal(md5 string) bool
- func (this *Document) IsIllegalById(id interface{}) bool
- func (this *Document) SetIllegal(ids ...interface{}) (err error)
- func (this *Document) SimpleList(condition string, limit int, orderField ...string) (params []orm.Params, rows int64, err error)
- func (this *Document) SoftDel(uid int, isAdmin bool, ids ...interface{}) (err error)
- func (this *Document) TplSimpleList(chinelid interface{}) []orm.Params
- type DocumentComment
- type DocumentIllegal
- type DocumentInfo
- type DocumentRecycle
- func (this *DocumentRecycle) DeepDel(ids ...interface{}) (err error)
- func (this *DocumentRecycle) DelFile(md5, oriExt, prevExt string, previewPagesCount int) (err error)
- func (this *DocumentRecycle) DelRows(ids ...interface{}) (err error)
- func (this *DocumentRecycle) RecoverFromRecycle(ids ...interface{}) (err error)
- func (this *DocumentRecycle) RecycleList(p, listRows int) (params []orm.Params, rows int64, err error)
- func (this *DocumentRecycle) RemoveToRecycle(uid interface{}, self bool, ids ...interface{}) (err error)
- type DocumentRemark
- func (this *DocumentRemark) GetContentTplByDsId(DsId int) (rm DocumentRemark)
- func (this *DocumentRemark) GetDefaultTpl(DsId int) (rm DocumentRemark)
- func (this *DocumentRemark) GetParseContentByDocId(docid interface{}) (rm DocumentRemark, err error)
- func (this *DocumentRemark) Insert(rm DocumentRemark) (err error)
- func (this *DocumentRemark) IsRemark(dsid interface{}) bool
- type DocumentStore
- type ElasticSearchClient
- func (this *ElasticSearchClient) BuildIndex(es ElasticSearchData) (err error)
- func (this *ElasticSearchClient) BuildIndexByBuck(data []ElasticSearchData) (err error)
- func (this *ElasticSearchClient) BuildIndexById(id int) (err error)
- func (this *ElasticSearchClient) Count() (count int, err error)
- func (this *ElasticSearchClient) DeleteIndex(id int) (err error)
- func (this *ElasticSearchClient) Init() (err error)
- func (this *ElasticSearchClient) RebuildAllIndex()
- func (this *ElasticSearchClient) Search(wd, sourceType, order string, p, listRows int) (result ElasticSearchResult, err error)
- type ElasticSearchCount
- type ElasticSearchData
- type ElasticSearchResult
- type Email
- type FormUpload
- type FreeDown
- type Friend
- type Pages
- type Relate
- type Report
- type Result
- type SearchLog
- type Seo
- type Sign
- type Suggest
- type Sys
- type User
- func (this *User) CanDownloadFile(uid, docId int) (urlStr string, err error)
- func (u *User) Fields() map[string]string
- func (this *User) GetById(id interface{}) (params orm.Params, rows int64, err error)
- func (u *User) GetUserField(cond *orm.Condition) (user User)
- func (u *User) Reg(email, username, password, repassword, intro string) (error, int)
- func (u *User) UserInfo(uid interface{}) UserInfo
- func (u *User) UserList(p, listRows int, orderby, fields, cond string, args ...interface{}) (params []orm.Params, totalRows int, err error)
- type UserInfo
- type Word
Constants ¶
const ( ConfigCateEmail helper.ConfigCate = "email" //email ConfigCateDepend helper.ConfigCate = "depend" //依赖 ConfigCateElasticSearch helper.ConfigCate = "elasticsearch" //全文搜索 ConfigCateLog helper.ConfigCate = "logs" //日志配置管理 // 存储类型, cs 前缀表示 CloudStore StoreOss helper.ConfigCate = "cs-oss" //oss存储 StoreMinio helper.ConfigCate = "cs-minio" //minio存储 StoreCos helper.ConfigCate = "cs-cos" //腾讯云存储 StoreObs helper.ConfigCate = "cs-obs" //华为云存储 StoreBos helper.ConfigCate = "cs-bos" //百度云存储 StoreQiniu helper.ConfigCate = "cs-qiniu" //七牛云储存 StoreUpyun helper.ConfigCate = "cs-upyun" //又拍云存储 )
const ( InputText string = "string" //对应input的text InputBool string = "bool" //对应input的radio,两个选项 InputNumber string = "number" //对应input的number InputTextarea string = "textarea" //对应textarea IinputSelect string = "select" //对应textarea )
const ( DocStatusFileDeleted int8 = -2 DocStatusDeleted int8 = -1 DocStatusConverting int8 = 0 DocStatusNormal int8 = 1 )
文档资源状态,1正常,0文档未转换成功,-1删除,同时把id录入文档回收站id,-2表示删除了文档文件,但是数据库记录还保留。同时后台也看不到该记录
Variables ¶
var Fields = map[string]map[string]string{ GetTableUser(): helper.StringSliceToMap(GetFields(NewUser())), GetTableUserInfo(): helper.StringSliceToMap(GetFields(NewUserInfo())), }
以下是表字段查询
Functions ¶
func CheckDatabaseIsExist ¶
检查数据库是否存在 @param host 数据库地址 @param port 端口 @param password 密码 @param database 数据库 @return err 错误
func DelByIds ¶
根据指定的表和id删除指定的记录,如果在删除记录的时候也删除记录中记录的文件,则不能调用该方法 @param table 指定要删除记录的数据表 @param id 要删除的记录的ID @return affected 影响的记录数 @return err 错误
func DocumentConvert ¶
文档转换 @param tmpFile 临时存储的文件 @param fileMD5 文件md5 @param page 需要转换的页数,0表示全部转换
func DoesCollect ¶
是否已收藏文档 @param did 文档id,即document id @param uid 用户id @return bool bool值,true表示已收藏,否则未收藏
func GetChildrenNode ¶
获取子节点
func GetDocList ¶
func GetDocList(uid, chanelid, pid, cid, p, listRows int, order string, status ...int) (data []orm.Params, rows int64, err error)
获取文档列表,其中status不传时,表示获取全部状态的文档,否则获取指定状态的文档,status:-1已删除,0转码中,1已转码 排序order全部按倒叙排序,默认是按id倒叙排序,可选值:Id,Dcnt(下载),Vcnt(浏览),Ccnt(收藏)
func GetFields ¶
func GetFields(tableObj interface{}) (fields []string)
获取指定Strut的字段 @param tableObj Strut结构对象,引用传递 @return fields 返回字段数组
func GetImageFromCloudStore ¶
func GetList ¶
func GetList(table string, p, listRows int, condition *orm.Condition, orderby ...string) (params []orm.Params, rows int64, err error)
从单表中根据条件获取数据列表 @param table 需要查询的表 @param p 页码 @param listRows 每页显示记录数 @param condition 查询条件 @param orderby 排序 @return params 数据列表 @return rows 返回的记录数 @return err 错误
func GetTableAdPosition ¶
func GetTableAdPosition() string
func GetTableAdmin ¶
func GetTableAdmin() string
func GetTableBanner ¶
func GetTableBanner() string
func GetTableCategory ¶
func GetTableCategory() string
func GetTableCoinLog ¶
func GetTableCoinLog() string
func GetTableCollect ¶
func GetTableCollect() string
func GetTableCollectFolder ¶
func GetTableCollectFolder() string
func GetTableConfig ¶
func GetTableConfig() string
func GetTableDocText ¶
func GetTableDocText() string
func GetTableDocument ¶
func GetTableDocument() string
func GetTableDocumentComment ¶
func GetTableDocumentComment() string
func GetTableDocumentIllegal ¶
func GetTableDocumentIllegal() string
func GetTableDocumentInfo ¶
func GetTableDocumentInfo() string
func GetTableDocumentRecycle ¶
func GetTableDocumentRecycle() string
func GetTableDocumentRemark ¶
func GetTableDocumentRemark() string
func GetTableDocumentStore ¶
func GetTableDocumentStore() string
func GetTableFreeDown ¶
func GetTableFreeDown() string
func GetTableFriend ¶
func GetTableFriend() string
func GetTablePages ¶
func GetTablePages() string
func GetTableRelate ¶
func GetTableRelate() string
func GetTableReport ¶
func GetTableReport() string
func GetTableSearchLog ¶
func GetTableSearchLog() string
func GetTableSeo ¶
func GetTableSeo() string
func GetTableSign ¶
func GetTableSign() string
func GetTableSuggest ¶
func GetTableSuggest() string
func GetTableSys ¶
func GetTableSys() string
func GetTableUser ¶
func GetTableUser() string
func GetTableUserInfo ¶
func GetTableUserInfo() string
func GetTableWord ¶
func GetTableWord() string
func LeftJoinSqlBuild ¶
func LeftJoinSqlBuild(tables []string, on []map[string]string, fields map[string][]string, p, listRows int, orderBy []string, groupBy []string, condition string) (sql string, err error)
左联合查询创建SQL语句 @param tables 需要作为联合查询的数据表。注意:数据表的第一个表是主表 @param on 联合查询的on查询条件,必须必表(tables)少一个。比如user表和user_info表做联合查询,那么on查询条件只有一个,必tables的数组元素少一个 @param fields 需要查询的字段 @param p 页码 @param listRows 每页查询记录数 @param orderBy 排序条件,可以穿空数组 @param groupBy 按组查询 @param condition 查询条件 @param conditionArgs 查询条件参数 @return sql 返回生成的SQL语句 @return err 错误。如果返回的错误不为nil,则SQL语句为空字符串 使用示例: tables := []string{"document", "document_info info", "document_store store"} fields := map[string][]string{ "document": {"Id Did", "Title", "Filename"}, "info": {"Vcnt", "Dcnt"}, "store": {"Md5", "Page"}, } on := []map[string]string{ {"document.Id": "info.Id"}, {"info.DsId": "store.Id"}, } orderby := []string{"doc.Id desc", "store.Page desc"} sql, err := LeftJoinSqlBuild(tables, on, fields, 1, 100, orderby, nil, "") fmt.Println(sql, err)
func Regulate ¶
func Regulate(table, field string, step int, condition string, conditionArgs ...interface{}) (err error)
设置字段值减小 @param table 需要操作的数据表 @param field 需要对值进行增减的字段 @param step 增减的步长,正值为加,负值为减 @param condition 查询条件 @param conditionArgs 查询条件参数 @return err 返回错误
func ReplaceInto ¶
替换写入【注意:表中必须要有一个除了主键外的唯一键】 @param table 需要写入的table @param params 需要写入的数据 @return err 返回错误
func SearchByMysql ¶
使用MySQL的like查询 @param wd 搜索关键字 @param sourceType 搜索的资源类型,可选择:doc、ppt、xls、pdf、txt、other、all @param order 排序,可选值:new(最新)、down(下载)、page(页数)、score(评分)、size(大小)、collect(收藏)、view(浏览)、default(默认) @param p 页码 @param listRows 每页显示记录数
func UpdateByField ¶
func UpdateByField(table string, data map[string]interface{}, filter string, filterValue ...interface{}) (affected int64, err error)
根据指定的表和id条件更新表字段,不支持批量更新 @param table 需要更新的表 @param data 需要更新的字段 @param filter 过滤条件,如"Id__in" @param filterValue 过滤条件的值 @return affected 影响的记录数 @return err 错误
Types ¶
type Ad ¶
type Ad struct { Id int `orm:"column(Id)"` Title string `orm:"column(Title);size(100);default()"` //广告名称 Pid int `orm:"column(Pid);default(0);index"` //广告位id Code string `orm:"column(Code);default();size(1024)"` //广告代码 Status bool `orm:"column(Status);default(true)"` //广告状态,0表示广告关闭,否则为开启 TimeStart int `orm:"column(TimeStart);default(0)"` //广告开始时间 TimeEnd int `orm:"column(TimeEnd);default(0)"` //广告截止时间 TimeCreate int `orm:"column(TimeCreate);default(0)"` //广告添加时间 }
广告表
type AdPosition ¶
type AdPosition struct { Id int `orm:"column(Id)"` //主键 Title string `orm:"column(Title);default()"` //广告位名称 Alias string `orm:"column(Alias);default();unique"` //广告位别称 IsMobile bool `orm:"column(IsMobile);default(false)"` //是否是手机广告位 Width string `orm:"column(Width);default()"` //广告位的最大宽度 }
广告位表【程序开发完成之后再设立广告位】
func NewAdPosition ¶
func NewAdPosition() *AdPosition
type Admin ¶
type Admin struct { Id int `orm:"column(Id)"` //自增主键 Username string `orm:"size(16);unique;column(Username)"` //用户名,唯一 Password string `orm:"size(32);column(Password)"` //密码 Email string `orm:"size(50);default();column(Email)"` //邮箱 Code string `orm:"size(30);default();column(Code)"` //您心目中的验证码 }
管理员数据表
type Banner ¶
type Banner struct { Id int `orm:"column(Id)"` Picture string `orm:"column(Picture);default();size(50)"` //图片 Title string `orm:"column(Title);default()"` //标题 Link string `orm:"column(Link);default()"` //链接 Sort int `orm:"column(Sort);default(0)"` //排序 Status bool `orm:"column(Status);default(true)"` //状态,false表示关闭,true表示正常显示 TimeCreate int `orm:"column(TimeCreate);default(0)"` //横幅添加时间 }
横幅
type Category ¶
type Category struct { Id int `orm:"column(Id)"` Pid int `orm:"default(0);column(Pid)"` //父类ID【Pid为0时的id为频道Id(chanel_id)】 Title string `orm:"size(20);column(Title);default()"` //分类名称 Cover string `orm:"column(Cover);default()"` //封面 Cnt int `orm:"default(0);column(Cnt)"` //当前分类下的文档数量统计 Sort int `orm:"default(0);column(Sort)"` //分类排序,值越小越靠前 Alias string `orm:"size(30);default();column(Alias)"` //英文别名 Status bool `orm:"default(true);column(Status)"` //分类或频道状态,0表示关闭,1表示启用 }
文档分类
func NewCategory ¶
func NewCategory() *Category
func (*Category) GetCategoriesById ¶
func (*Category) GetSameLevelCategoryById ¶
获取同级分类 @param id 当前同级分类的id @return cates 分类列表数据
func (*Category) GetTitleById ¶
根据传递过来的id从分类表中查询标题 @param id 主键id @return title 返回查询的标题名称
type CloudStore ¶
type CloudStore struct { Private bool StoreType helper.ConfigCate CanGZIP bool // contains filtered or unexported fields }
func NewCloudStoreWithConfig ¶
func NewCloudStoreWithConfig(storeConfig interface{}, storeType helper.ConfigCate, private bool) (cs *CloudStore, err error)
func (*CloudStore) Delete ¶
func (c *CloudStore) Delete(objects ...string) (err error)
func (*CloudStore) DeleteImageFromHtml ¶
func (c *CloudStore) DeleteImageFromHtml(htmlStr string)
从HTML中提取图片文件,并删除
func (*CloudStore) GetPublicDomain ¶
func (c *CloudStore) GetPublicDomain() (domain string)
func (*CloudStore) GetSignURL ¶
func (c *CloudStore) GetSignURL(object string) (link string)
func (*CloudStore) ImageWithDomain ¶
func (c *CloudStore) ImageWithDomain(htmlOld string) (htmlNew string)
func (*CloudStore) ImageWithoutDomain ¶
func (c *CloudStore) ImageWithoutDomain(htmlOld string) (htmlNew string)
func (*CloudStore) IsExist ¶
func (c *CloudStore) IsExist(object string) (err error)
err 返回 nil,表示文件存在,否则表示文件不存在
func (*CloudStore) PingTest ¶
func (c *CloudStore) PingTest() (err error)
type CoinLog ¶
type CoinLog struct { Id int `orm:"column(Id)"` Uid int `orm:"column(Uid);index"` //用户id Coin int `orm:"column(Coin);default(0)"` //金币变更,正表示加,负表示减 Log string `orm:"column(Log);size(512);default()"` //记录说明 TimeCreate int `orm:"column(TimeCreate)"` //记录变更时间 }
金币变更日志
func NewCoinLog ¶
func NewCoinLog() *CoinLog
type Collect ¶
type Collect struct { Id int `orm:"column(Id)"` Cid int `orm:"column(Cid);index"` //文档收藏的自定义收藏的文件夹 Did int `orm:"column(Did)"` //文档id:document id }
会员文档收藏表
func NewCollect ¶
func NewCollect() *Collect
func (*Collect) Cancel ¶
取消文档收藏 @param did 文档id @param cid CollectFolder表的id,即收藏夹id @param uid 用户id @param err 返回错误
func (*Collect) DelByDocId ¶
删除指定的文档收藏,比如某文档是侵权或者非法,则凡是收藏了该文档的用户,该文档收藏都将被删除 @param dids 文档id @return err 错误,nil表示删除成功
type CollectFolder ¶
type CollectFolder struct { Id int `orm:"column(Id)"` Cover string `orm:"column(Cover);size(50);default()"` //文档收藏夹(专辑封面) Title string `orm:"column(Title);size(100);default(默认收藏夹)"` //会员收藏文档的存放收藏夹 Description string `orm:"column(Description);size(512);default()"` //会员创建的收藏夹的描述 Uid int `orm:"column(Uid);index"` //归属于哪个会员的收藏夹 TimeCreate int `orm:"column(TimeCreate)"` //收藏夹创建时间 Cnt int `orm:"column(Cnt);default(0)"` //收藏夹默认的文档数量 }
会员文档收藏的文件夹
func NewCollectFolder ¶
func NewCollectFolder() *CollectFolder
type Config ¶
type Config struct { Id int `orm:"column(Id)"` //主键 Title string `orm:"column(Title);default()"` //名称 InputType string `orm:"column(InputType);default();size(10)"` //类型:float、int、bool,string, textarea (空表示字符串类型) Description string `orm:"column(Description);default()"` //说明 Key string `orm:"column(Key);default();size(30)"` //键 Value string `orm:"column(Value);default()"` //值 Category string `orm:"column(Category);default();index;size(30)"` //分类,如oss、email、redis等 Options string `orm:"column(Options);default();size(4096)"` //枚举值列举 }
配置管理表
func (*Config) GetGlobalConfigWithStruct ¶
func (this *Config) GetGlobalConfigWithStruct(configCate helper.ConfigCate) (cfg interface{})
获取云存储配置
func (*Config) UpdateByKey ¶
func (this *Config) UpdateByKey(cate helper.ConfigCate, key, val string) (err error)
根据key更新配置 @param cate 配置分类 @param key 配置项 @param val 配置项的值 @return err 错误
func (*Config) UpdateCloudStore ¶
func (this *Config) UpdateCloudStore(storeType helper.ConfigCate, cfg interface{}) (err error)
注意:这里的 cfg 参数是值传递
type ConfigBos ¶
type ConfigBos struct { AccessKey string `dochub:"access-key"` SecretKey string `dochub:"secret-key"` Endpoint string `dochub:"endpoint"` PublicBucket string `dochub:"public-bucket"` PublicBucketDomain string `dochub:"public-bucket-domain"` PrivateBucket string `dochub:"private-bucket"` PrivateBucketDomain string `dochub:"private-bucket-domain"` Expire int64 `dochub:"expire"` }
type ConfigCos ¶
type ConfigCos struct { AccessKey string `dochub:"access-key"` SecretKey string `dochub:"secret-key"` Region string `dochub:"region"` AppId string `dochub:"app-id"` PublicBucket string `dochub:"public-bucket"` PublicBucketDomain string `dochub:"public-bucket-domain"` PrivateBucket string `dochub:"private-bucket"` PrivateBucketDomain string `dochub:"private-bucket-domain"` Expire int64 `dochub:"expire"` }
type ConfigEmail ¶
type ConfigEmail struct { Port int `dochub:"port"` Host string `dochub:"host"` Username string `dochub:"username"` Password string `dochub:"password"` ReplyTo string `dochub:"replyto"` TestUserEmail string `dochub:"test"` }
func NewEmail ¶
func NewEmail(config ...ConfigEmail) *ConfigEmail
func (*ConfigEmail) SendMail ¶
func (e *ConfigEmail) SendMail(to, subject, content string) (err error)
发送邮件 @param to string 收件人 @param subject string 邮件主题 @param content string 邮件内容 @return error 发送错误
type ConfigMinio ¶
type ConfigMinio struct { AccessKey string `dochub:"access-key"` SecretKey string `dochub:"secret-key"` Endpoint string `dochub:"endpoint"` PublicBucket string `dochub:"public-bucket"` PublicBucketDomain string `dochub:"public-bucket-domain"` PrivateBucket string `dochub:"private-bucket"` PrivateBucketDomain string `dochub:"private-bucket-domain"` Expire int64 `dochub:"expire"` }
type ConfigObs ¶
type ConfigObs struct { AccessKey string `dochub:"access-key"` SecretKey string `dochub:"secret-key"` Endpoint string `dochub:"endpoint"` PublicBucket string `dochub:"public-bucket"` PublicBucketDomain string `dochub:"public-bucket-domain"` PrivateBucket string `dochub:"private-bucket"` PrivateBucketDomain string `dochub:"private-bucket-domain"` Expire int64 `dochub:"expire"` }
type ConfigOss ¶
type ConfigOss struct { AccessKey string `dochub:"access-key"` SecretKey string `dochub:"secret-key"` Endpoint string `dochub:"endpoint"` PublicBucket string `dochub:"public-bucket"` PublicBucketDomain string `dochub:"public-bucket-domain"` PrivateBucket string `dochub:"private-bucket"` PrivateBucketDomain string `dochub:"private-bucket-domain"` Expire int64 `dochub:"expire"` }
type ConfigQiniu ¶
type ConfigQiniu struct { AccessKey string `dochub:"access-key"` SecretKey string `dochub:"secret-key"` PublicBucket string `dochub:"public-bucket"` PublicBucketDomain string `dochub:"public-bucket-domain"` PrivateBucket string `dochub:"private-bucket"` PrivateBucketDomain string `dochub:"private-bucket-domain"` Expire int64 `dochub:"expire"` }
type ConfigUpYun ¶
type ConfigUpYun struct { Operator string `dochub:"operator"` Password string `dochub:"password"` Secret string `dochub:"secret"` PublicBucket string `dochub:"public-bucket"` PublicBucketDomain string `dochub:"public-bucket-domain"` PrivateBucket string `dochub:"private-bucket"` PrivateBucketDomain string `dochub:"private-bucket-domain"` Expire int64 `dochub:"expire"` }
type DocText ¶
type DocText struct { Id int `orm:"Column(Id)"` Md5 string `orm:"size(32);default();column(Md5)"` //文档的md5,之所以存储md5而不是文档的存档id,主要是因为文档在这之前没录入数据库 Content string `orm:"size(5000);default();column(Content)"` //文档提取到的文档内容 }
文档表
func NewDocText ¶
func NewDocText() *DocText
func (*DocText) GetDescByDid ¶
根据文档表的文档id获取文档摘要,默认获取255个字符长度 @param did document_store的id @param length 需要获取的长度 @return desc 返回摘要内容
func (*DocText) GetDescByDsId ¶
根据存档表的id获取文档摘要,默认获取255个字符长度 @param dsid document_store的id @param length 需要获取的长度 @return desc 返回摘要内容
func (*DocText) GetDescByMd5 ¶
根据md5获取文档摘要,默认获取255个字符长度 @param md5str 文档md5 @param length 需要获取的长度 @return desc 返回摘要内容
type Document ¶
type Document struct { Id int `orm:"Column(Id)"` Title string `orm:"size(255);default();column(Title)"` //文档名称【用户自定义的文档标题】 Filename string `orm:"size(255);default();column(Filename)"` //文件名[文件的原文件名] Keywords string `orm:"size(255);default();column(Keywords)"` //文档标签、关键字 Description string `orm:"size(255);default();column(Description)"` //文档摘要 }
文档表
func NewDocument ¶
func NewDocument() *Document
func (*Document) GetById ¶
根据文档id获取一篇文档的全部信息 @param id 文档id @return params 文档信息 @return rows 记录数 @return err 错误
func (*Document) GetDocForElasticSearch ¶
func (this *Document) GetDocForElasticSearch(id ...int) (es []ElasticSearchData, err error)
根据id查询搜索数据结构 @param id 根据id查询搜索文档
func (*Document) GetDocInfoByDsId ¶
func (this *Document) GetDocInfoByDsId(DsId ...interface{}) (info []DocumentInfo, rows int64, err error)
根据document_store表中的id查询document_info表中的数据
func (*Document) GetDocInfoById ¶
func (this *Document) GetDocInfoById(Ids ...interface{}) (info []DocumentInfo, rows int64, err error)
根据document_store表中的id查询document_info表中的数据
func (*Document) GetDocInfoForElasticSearch ¶
func (this *Document) GetDocInfoForElasticSearch(page, pageSize int, startTime int, fields ...string) (infos []DocumentInfo, rows int64, err error)
查询需要索引的稳定id @param page 页面 @param pageSize 每页记录数 @param startTime 开始时间 @param fields 查询字段 @return infos 文档信息 @return rows 查询到的文档数量 @return err 查询错误
func (*Document) GetDocStoreByDsId ¶
func (this *Document) GetDocStoreByDsId(DsId ...interface{}) (store []DocumentStore, rows int64, err error)
根据document_store表中的id查询document_info表中的数据
func (*Document) GetDocsByIds ¶
根据文档id获取文档,并根据ids参数的id顺序返回搜索结果【主要用于搜索】 @param ids 文档id @param num 记录数量
func (*Document) GetDocument ¶
func (*Document) GetOneDocStoreByDsId ¶
func (this *Document) GetOneDocStoreByDsId(DsId interface{}, fields ...string) (store DocumentStore, rows int64, err error)
根据document_store表中的id查询document_info表中的数据
func (*Document) InsertDocInfo ¶
func (this *Document) InsertDocInfo(info *DocumentInfo) (int64, error)
文档信息录入文档信息表
func (*Document) InsertDocStore ¶
func (this *Document) InsertDocStore(ds *DocumentStore) (id int64, err error)
文档录入文档存档表 @param ds 文档存储结构对象 @return id 存储id @return err 错误
func (*Document) IsExistByMd5 ¶
根据md5判断文档是否存在 @param md5str 文档的md5 @return Id 文档存储表的id
func (*Document) IsIllegal ¶
根据md5判断文档是否是非法文档,如果是非法文档,则返回true @param md5 md5 @return bool 如果文档存在于非法文档表中,则表示文档非法,否则合法
func (*Document) IsIllegalById ¶
根据md5判断文档是否是非法文档,如果是非法文档,则返回true @param id 文档id @return bool 如果文档存在于非法文档表中,则表示文档非法,否则合法
func (*Document) SetIllegal ¶
把文档标记为非法文档 @param ids 文档id @return err 错误,nil表示成功
func (*Document) SimpleList ¶
func (this *Document) SimpleList(condition string, limit int, orderField ...string) (params []orm.Params, rows int64, err error)
文档简易列表,用于首页或者其它查询简易字段,使用的时候,记得给条件加上表别名前缀。document_info别名前缀di,document_store别名前缀ds,document表名前缀d @param condition 查询条件 @param limit 查询记录限制 @param orderField 倒叙排序的字段。不需要表前缀。可用字段:Id,Ccnt,Dcnt,Vcnt,Score @return params 列表数据 @return rows 记录数 @return err 错误
func (*Document) TplSimpleList ¶
文档简易列表
type DocumentComment ¶
type DocumentComment struct { Id int `orm:"column(Id)"` Did int `orm:"column(Did);index"` //文档ID Uid int `orm:"column(Uid);"` //评分的用户Id Score int `orm:"column(Score);default(30000)"` //评分分数 Content string `orm:"column(Content);size(256);default()"` //评论内容 TimeCreate int `orm:"column(TimeCreate);default(0)"` //评论发表时间 Status bool `orm:"column(Status);default(true)"` //评论是否正常 }
文档评分记录表
func NewDocumentComment ¶
func NewDocumentComment() *DocumentComment
func (*DocumentComment) DelCommentByDocId ¶
func (this *DocumentComment) DelCommentByDocId(ids ...interface{}) (err error)
根据文档ID删除文档评论 @param ids 文档id @return err 错误,nil表示删除成功
func (*DocumentComment) GetCommentList ¶
func (this *DocumentComment) GetCommentList(did, p, listRows int) (params []orm.Params, rows int64, err error)
获取文档评论列表 @param did 文档ID @param p 页码 @param listRows 每页记录数 @return params 返回的数据 @return rows 返回的数据记录数 @return err 返回错误
func (*DocumentComment) TableUnique ¶
func (this *DocumentComment) TableUnique() [][]string
文档评分记录表多字段唯一索引
type DocumentIllegal ¶
type DocumentIllegal struct { Id int `orm:"column(Id)"` //文档id Md5 string `orm:"size(32);unique;default();column(Md5)"` //文档md5 }
非法文档(侵权或不良信息文档)MD5记录表
func NewDocumentIllegal ¶
func NewDocumentIllegal() *DocumentIllegal
type DocumentInfo ¶
type DocumentInfo struct { Id int `orm:"column(Id)"` DsId int `orm:"index;default(0);column(DsId)"` //文档存档表Id,DocumentStore Id Uid int `orm:"index;default(0);column(Uid)"` //文档上传用户的id ChanelId int `orm:"index;default(0);column(ChanelId)"` //文档所属频道 Pid int `orm:"index;default(0);column(Pid)"` //文档一级分类 Cid int `orm:"index;default(0);column(Cid)"` //频道下的最底层的分类id(二级分类),如幼儿教育下的幼儿读物等 TimeCreate int `orm:"default(0);column(TimeCreate)"` //文档上传时间 TimeUpdate int `orm:"default(0);column(TimeUpdate)"` //文档更新时间 Dcnt int `orm:"default(0);column(Dcnt)"` //下载次数 Vcnt int `orm:"default(0);column(Vcnt)"` //浏览次数 Ccnt int `orm:"default(0);column(Ccnt)"` //收藏次数 Score int `orm:"default(30000);column(Score)"` //默认30000,即表示3.0分。这是为了更准确统计评分的需要 ScorePeople int `orm:"default(0);column(ScorePeople)"` //评分总人数 Price int `orm:"default(0);column(Price)"` //文档下载价格,0表示免费 Status int8 `orm:"default(0);column(Status)"` //文档资源状态,1正常,0文档未转换成功,-1删除,同时把id录入文档回收站id,-2表示删除了文档文件,但是数据库记录还保留。同时后台也看不到该记录 }
文档信息表
func NewDocumentInfo ¶
func NewDocumentInfo() *DocumentInfo
type DocumentRecycle ¶
type DocumentRecycle struct { Id int `orm:"column(Id)"` //对应的文档id Uid int `orm:"default(0);column(Uid)"` //操作用户 Date int `orm:"default(0);column(Date)"` //操作时间 Self bool `orm:"default(false);column(Self)"` //是否是文档上传用户删除的,默认为false。如果是文档上传者删除的,设置为true }
文档回收站
func NewDocumentRecycle ¶
func NewDocumentRecycle() *DocumentRecycle
func (*DocumentRecycle) DeepDel ¶
func (this *DocumentRecycle) DeepDel(ids ...interface{}) (err error)
彻底删除文档,包括删除文档记录(被收藏的记录、用户的发布记录、扣除用户获得的积分(如果此刻文档的状态不是待删除)),删除文档文件
func (*DocumentRecycle) DelFile ¶
func (this *DocumentRecycle) DelFile(md5, oriExt, prevExt string, previewPagesCount int) (err error)
根据md5,删除文档、封面、预览文件等 @param md5 文档md5
func (*DocumentRecycle) DelRows ¶
func (this *DocumentRecycle) DelRows(ids ...interface{}) (err error)
删除文档记录
func (*DocumentRecycle) RecoverFromRecycle ¶
func (this *DocumentRecycle) RecoverFromRecycle(ids ...interface{}) (err error)
将文档从回收站中恢复过来,文档的状态必须是-1才可以 @param ids 文档id @return err 返回错误,nil表示恢复成功,否则恢复失败
func (*DocumentRecycle) RecycleList ¶
func (this *DocumentRecycle) RecycleList(p, listRows int) (params []orm.Params, rows int64, err error)
回收站文档列表
func (*DocumentRecycle) RemoveToRecycle ¶
func (this *DocumentRecycle) RemoveToRecycle(uid interface{}, self bool, ids ...interface{}) (err error)
将文档移入回收站(软删除) @param uid 操作人,即将文档移入回收站的人 @param self 是否是用户自己操作 @param ids 文档id,即需要删除的文档id @return errs 错误
type DocumentRemark ¶
type DocumentRemark struct { Id int `orm:"column(Id)"` //document_store表中的ID,当前台页面查询文档的备注的时候,以DsId作为document_remark表中的主键进行查询 Content string `orm:"column(Content);size(5120);default()"` //备注内容内容 AllowDownload bool `orm:"column(AllowDownload);default(true)"` //是否允许下载文档 Status bool `orm:"column(Status);default(true)"` //备注状态,true表示显示,false表示隐藏 TimeCreate int `orm:"column(TimeCreate);default(0)"` //创建时间 }
文档备注,用于侵权文档等的部分内容的预览展示,并在文档预览页面挂上跳转购买正版的导购链接;同时对于一些开源书籍,也可以一面提供站内文档的下载,一面引导用户购买正版。
func NewDocumentRemark ¶
func NewDocumentRemark() *DocumentRemark
func (*DocumentRemark) GetContentTplByDsId ¶
func (this *DocumentRemark) GetContentTplByDsId(DsId int) (rm DocumentRemark)
获取内容模板 @param DsId 文档DsId @return rm 生成的文档备注模板
func (*DocumentRemark) GetDefaultTpl ¶
func (this *DocumentRemark) GetDefaultTpl(DsId int) (rm DocumentRemark)
获取文档备注模板 @param DsId 文档DsId @return rm 生成的文档备注模板
func (*DocumentRemark) GetParseContentByDocId ¶
func (this *DocumentRemark) GetParseContentByDocId(docid interface{}) (rm DocumentRemark, err error)
根据文档id获取文档的备注 @param id document_store表中的ID[TODO:注意!!!!(这里加TODO,主要是为了在IDE上更显眼)] @return rm 文档备注 @return err 文档错误
func (*DocumentRemark) Insert ¶
func (this *DocumentRemark) Insert(rm DocumentRemark) (err error)
新增或更改内容,如果TimeCreate为0,表示新增,否则表示更新 @param rm 备注内容 @return err 返回错误,nil表示成功
func (*DocumentRemark) IsRemark ¶
func (this *DocumentRemark) IsRemark(dsid interface{}) bool
根据dsid判断文档是否已存在备注
type DocumentStore ¶
type DocumentStore struct { Id int `orm:"column(Id)"` Md5 string `orm:"size(32);unique;column(Md5)"` //文档md5 Ext string `orm:"size(10);default();column(Ext)"` //文档扩展名,如pdf、xls等 ExtCate string `orm:"size(10);default();column(ExtCate)"` //文档扩展名分类:word、ppt、text、pdf、xsl,code(这些分类配合图标一起使用,如word_24.png) ExtNum int `orm:"default(0);column(ExtNum)"` //文档后缀的对应数字,主要是在coreseek搭建站内搜索时用到 Page int `orm:"default(0);column(Page)"` //文档页数 PreviewPage int `orm:"default(50);column(PreviewPage)"` //当前文档可预览页数 Size int `orm:"default(0);column(Size)"` //文档大小 ModTime int `orm:"default(0);column(ModTime)"` //文档修改编辑时间 PreviewExt string `orm:"default(svg);column(PreviewExt);size(4)"` //文档预览的图片格式后缀,如jpg、png、svg等,默认svg Width int `orm:"default(0);column(Width)"` //svg的原始宽度 Height int `orm:"default(0);column(Height)"` //svg的原始高度 }
文档存档表[供预览的文档存储在文档预览的OSS,完整文档存储在存储表]
func NewDocumentStore ¶
func NewDocumentStore() *DocumentStore
type ElasticSearchClient ¶
type ElasticSearchClient struct { On bool `dochub:"on"` //是否启用全文搜索 Host string `dochub:"host"` //host Index string `dochub:"index"` //索引 Type string `dochub:"type"` //type Timeout time.Duration //超时时间 }
全文搜索客户端
func NewElasticSearchClient ¶
func NewElasticSearchClient(configElasticSearch ...ElasticSearchClient) (client *ElasticSearchClient)
创建全文搜索客户端
func (*ElasticSearchClient) BuildIndex ¶
func (this *ElasticSearchClient) BuildIndex(es ElasticSearchData) (err error)
创建索引
func (*ElasticSearchClient) BuildIndexByBuck ¶
func (this *ElasticSearchClient) BuildIndexByBuck(data []ElasticSearchData) (err error)
通过bulk,批量创建/更新索引
func (*ElasticSearchClient) BuildIndexById ¶
func (this *ElasticSearchClient) BuildIndexById(id int) (err error)
根据id查询文档,并创建索引
func (*ElasticSearchClient) Count ¶
func (this *ElasticSearchClient) Count() (count int, err error)
查询索引量 @return count 统计数据 @return err 错误
func (*ElasticSearchClient) DeleteIndex ¶
func (this *ElasticSearchClient) DeleteIndex(id int) (err error)
删除索引 @param id 索引id @return err 错误
func (*ElasticSearchClient) Init ¶
func (this *ElasticSearchClient) Init() (err error)
初始化全文搜索客户端,包括检查索引是否存在,mapping设置等
func (*ElasticSearchClient) RebuildAllIndex ¶
func (this *ElasticSearchClient) RebuildAllIndex()
重建索引【全量】 采用批量重建索引的方式进行 每次操作100条数据
func (*ElasticSearchClient) Search ¶
func (this *ElasticSearchClient) Search(wd, sourceType, order string, p, listRows int) (result ElasticSearchResult, err error)
搜索内容 @param wd 搜索关键字 @param sourceType 搜索的资源类型,可选择:doc、ppt、xls、pdf、txt、other、all @param order 排序,可选值:new(最新)、down(下载)、page(页数)、score(评分)、size(大小)、collect(收藏)、view(浏览)、default(默认) @param p 页码 @param listRows 每页显示记录数
type ElasticSearchCount ¶
type ElasticSearchCount struct { Shards struct { Failed int `json:"failed"` Skipped int `json:"skipped"` Successful int `json:"successful"` Total int `json:"total"` } `json:"_shards"` Count int `json:"count"` }
统计信息结构
type ElasticSearchData ¶
type ElasticSearchData struct { Id int `json:"Id"` //文档id Title string `json:"Title"` //文档标题 Keywords string `json:"Keywords"` //文档关键字 Description string `json:"Description"` //文档摘要 Vcnt int `json:"Vcnt"` //文档浏览次数 view count Ccnt int `json:"Ccnt"` //文档收藏次数 collect count Dcnt int `json:"Dcnt"` //文档下载次数,download count Score int `json:"Score"` //文档评分 Size int `json:"Size"` //文档大小 Page int `json:"Page"` //文档页数 DocType int `json:"DocType"` //文档类型,对应各格式的数字表示 DsId int `json:"DsId"` //DocumentStoreId,对应于md5 Price int `json:"Price"` //文档售价 TimeCreate int `json:"TimeCreate"` //文档创建时间 }
全文搜索
type ElasticSearchResult ¶
type ElasticSearchResult struct { Shards struct { Failed int `json:"failed"` Skipped int `json:"skipped"` Successful int `json:"successful"` Total int `json:"total"` } `json:"_shards"` Hits struct { Hits []struct { ID string `json:"_id"` Index string `json:"_index"` Score interface{} `json:"_score"` Source struct { Ccnt int `json:"Ccnt"` Dcnt int `json:"Dcnt"` Description string `json:"Description"` DocType int `json:"DocType"` DsID int `json:"DsId"` ID int `json:"Id"` Keywords string `json:"Keywords"` Page int `json:"Page"` Score int `json:"Score"` Size int `json:"Size"` Title string `json:"Title"` Vcnt int `json:"Vcnt"` Price int `json:"Price"` TimeCreate int `json:"TimeCreate"` } `json:"_source"` Type string `json:"_type"` Highlight struct { Title []string `json:"Title"` Keywords []string `json:"Keywords"` Description []string `json:"Description"` } `json:"highlight"` Sort []int `json:"sort"` } `json:"hits"` MaxScore interface{} `json:"max_score"` Total int `json:"total"` } `json:"hits"` TimedOut bool `json:"timed_out"` Took int `json:"took"` }
搜索结果结构
type Email ¶
type Email struct { Id int `orm:"column(Id)"` //主键 Username string `orm:"column(Username);default()"` //邮箱用户名 Email string `orm:"column(Email);default()"` //邮箱 Host string `orm:"column(Host);default()"` //主机 Port int `orm:"column(Port);default(25)"` //端口 Password string `orm:"column(Password);default()"` //密码 }
邮箱配置
type FormUpload ¶
type FormUpload struct {
Title, Md5, Intro, Tags, Ext, Filename string
Chanel, Pid, Cid, Exist, Size, Price int
TmpFile string // 临时文件
}
文档上传表单结构
type FreeDown ¶
type FreeDown struct { Id int `orm:"column(Id)"` Uid int `orm:"column(Uid)"` //用户id Did int `orm:"column(Did)"` //文档id TimeCreate int `orm:"column(TimeCreate);default(0)"` //文档上次下载时间 }
免费下载,如果用户花费金币下载了一次文档,下次在下载则免费
func NewFreeDown ¶
func NewFreeDown() *FreeDown
func (*FreeDown) IsFreeDown ¶
是否可以免费下载,如果之前下载过而且未过免费下载期,可以继续免费下载【注意时间校验,这里只是返回值】 @param uid 用户id @param did 文档id,document id @return isFree 是否免费
type Friend ¶
type Friend struct { Id int `orm:"column(Id)"` Title string `orm:"column(Title);size(100)"` //友链名称 Link string `orm:"column(Link);size(100);unique"` //友链地址 Status bool `orm:"column(Status);default(true)"` //友链状态 Sort int `orm:"column(Sort);default(0)"` //友链排序,值越小越靠前 TimeCreate int `orm:"column(TimeCreate);default(0)"` //友链添加时间 }
友情链接表
type Pages ¶
type Pages struct { Id int `orm:"column(Id)"` Name string `orm:"column(Name);size(100)"` //单页名称,如关于我们 Alias string `orm:"column(Alias);unique;size(30)"` //单页别名,数字和字母 Title string `orm:"column(Title)"` //单页标题,如关于IT文库 Keywords string `orm:"column(Keywords)"` //单页关键字 Description string `orm:"column(Description)"` //单页摘要 Content string `orm:"column(Content);size(5120)"` //单页文章内容 TimeCreate int `orm:"column(TimeCreate)"` //单页创建时间 Sort int `orm:"column(Sort);default(100)"` //单页排序,值越小越靠前 Vcnt int `orm:"column(Vcnt);default(0)"` //单页浏览记录 Status bool `orm:"column(Status);default(true)"` //单页状态,true显示,false不显示 }
单页
type Relate ¶
type Relate struct { Id int `orm:"column(Id)"` //文档的ID Ids string `orm:"column(Ids);size(512)"` //相关文档的ID字符串 TimeCreate int `orm:"column(TimeCreate)"` //记录的创建时间 }
相关文档记录存储表
type Report ¶
type Report struct { Id int `orm:"column(Id)"` Uid int `orm:"column(Uid)"` //用户ID Did int `orm:"column(Did)"` //文档ID Reason int `orm:"column(Reason);default(1)"` //举报理由: 1、垃圾广告 2、淫秽色情 3、虚假中奖 4、敏感信息 5、人身攻击 6、骚扰他人 Status bool `orm:"column(Status);default(false)"` //是否已处理 TimeCreate int `orm:"column(TimeCreate)"` //举报时间 TimeUpdate int `orm:"column(TimeUpdate);default(0)"` //举报处理时间 }
不良信息举报
type Result ¶
type Result struct { Status int64 `json:"status"` TotalFound int64 `json:"total_found"` Total int64 `json:"total"` Ids string `json:"ids"` Word []string `json:"word"` Msg string `json:"msg"` Time float64 `json:"time"` }
这个不是数据表,这个是搜索结果的json数据解析结构
type SearchLog ¶
type SearchLog struct { Id int `orm:"column(Id)"` //自增主键 Wd string `orm:"column(Wd);size(20);unique"` //用户搜索的关键字 }
搜索记录表
func NewSearchLog ¶
func NewSearchLog() *SearchLog
type Seo ¶
type Seo struct { Id int `orm:"column(Id)"` //主键 Name string `orm:"column(Name);default()"` //SEO页面名称 Page string `orm:"column(Page);default();size(30);unique"` //SEO页面【英文】 IsMobile bool `orm:"column(IsMobile);default(false)"` //是否是手机页面 Title string `orm:"column(Title);default({title})"` //SEO标题 Keywords string `orm:"column(Keywords);default({keywords})"` //SEO关键字 Description string `orm:"column(Description);default({description})"` //SEO摘要 }
SEO配置表
func (*Seo) BuildSitemap ¶
func (this *Seo) BuildSitemap()
baseUrl := this.Ctx.Input.Scheme() + "://" + this.Ctx.Request.Host
if host := beego.AppConfig.String("sitemap_host"); len(host) > 0 { baseUrl = this.Ctx.Input.Scheme() + "://" + host }
生成站点地图
func (*Seo) GetByPage ¶
func (this *Seo) GetByPage(page string, defaultTitle, defaultKeywords, defaultDescription, Sitename string) (seo map[string]string)
获取SEO @param page 页面 @param defaultTitle 默认标题 @param defaultKeywords 默认关键字 @param defaultDescription 默认摘要 @param Sitename 站点名称 @return seo SEO数据
type Sign ¶
type Sign struct { Id int `orm:"column(Id);"` //主键 Uid int `orm:"column(Uid)"` //用户ID Date string `orm:"column(Date);size(8)"` //签到日期,格式如20170322 }
签到表表结构
type Suggest ¶
type Suggest struct { Id int `orm:"column(Id)"` Uid int `orm:"column(Uid);default(0)"` //意见和建议提交人 Content string `orm:"column(Content);size(512);"` //内容 Email string `orm:"column(Email);size(50)"` //邮箱 Name string `orm:"column(Name);size(20);default()"` //称呼 TimeCreate int `orm:"column(TimeCreate)"` //意见建议提交时间 TimeUpdate int `orm:"column(TimeUpdate)"` //意见建议查看时间 Status bool `orm:"column(Status);default(false)"` //是否已查看 }
TODO 意见和建议表,用于收集用户的意见和建议
func NewSuggest ¶
func NewSuggest() *Suggest
type Sys ¶
type Sys struct { Id int `orm:"column(Id)"` Site string `orm:"size(100);default();column(Site)"` //站点名称 Tongji string `orm:"size(2048);default();column(Tongji)"` //统计代码 CntDoc int `orm:"default(0);column(CntDoc)"` //文档数量 CntUser int `orm:"default(0);column(CntUser)"` //注册用户数量 Reward int `orm:"column(Reward);default(5)"` //上传一篇未被上传过的文档可以获得的金币奖励 MaxFile int `orm:"column(MaxFile);default(52428800)"` //允许上传的文件大小(字节),默认50M Sign int `orm:"column(Sign);default(1)"` //每日签到获得的金币奖励 ListRows int `orm:"default(10);column(ListRows)"` //每页记录数 Icp string `orm:"default();column(Icp)"` //ICP备案 DirtyWord string `orm:"size(2048);default();column(DirtyWord)"` //不良信息关键字 TimeExpireRelate int `orm:"default(604800);column(TimeExpireRelate)"` //相关资源过期更新的时间周期,0表示关闭相关资源 TimeExpireHotspot int `orm:"default(604800);column(TimeExpireHotspot)"` //热门文档的时间范围 MobileOn bool `orm:"default(true);column(MobileOn)"` //是否开启移动端 TplMobile string `orm:"default(default);column(TplMobile)"` //手机模板 TplComputer string `orm:"default(default);column(TplComputer)"` //电脑端模板 TplAdmin string `orm:"default(default);column(TplAdmin)"` //后台模板 TplEmailReg string `orm:"size(2048);default();column(TplEmailReg)"` //会员注册邮件验证码发送模板 TplEmailFindPwd string `orm:"size(2048);default();column(TplEmailFindPwd)"` //会员找回密码邮件验证码发送模板 DomainPc string `orm:"size(100);default(dochub.me);column(DomainPc)"` //PC域名 DomainMobile string `orm:"size(100);default(m.dochub.me);column(DomainMobile)"` //移动端域名 PreviewPage int `orm:"default(50);column(PreviewPage)"` //文档共预览的最大页数,0表示不限制 Trends string `orm:"default();column(Trends)"` //文库动态,填写文档的id FreeDay int `orm:"default(7);column(FreeDay)"` //文档免费下载时长。即上次下载扣除金币后多长时间后下载需要收费。时间单位为天 Question string `orm:"default(DocHub文库的中文名是?);column(Question)"` //评论问答问题 Answer string `orm:"default(多哈);column(Answer)"` //评论问答的问题 CoinReg int `orm:"column(CoinReg);default(10)"` //用户注册奖励金币 Watermark string `orm:"column(Watermark);default()"` //水印文案 ReportReasons string `orm:"column(ReportReasons);default();size(2048)"` //举报原因 IsCloseReg bool `orm:"default(false);column(IsCloseReg)"` //是否关闭注册 StoreType string `orm:"default(cs-oss);column(StoreType);size(15)"` //文档存储方式 CheckRegEmail bool `orm:"default(true);column(CheckRegEmail);"` //是否需要验证注册邮箱,如果需要验证注册邮箱,提要求发送注册验证码 AllowRepeatedDoc bool `orm:"default(false);column(AllowRepeatedDoc)"` //是否允许上传重复文档 AutoSitemap bool `orm:"default(true);column(AutoSitemap)"` //每天凌晨自动更新站点地图 }
系统设置表
var (
GlobalSys Sys //全局系统设置
)
以下是数据库全局数据变量
func (*Sys) GetByField ¶
获取指定指端内容 @param field 需要查询的字段 @return sys 系统配置信息
func (*Sys) GetReportReason ¶
根据序号获取举报原因
func (*Sys) GetReportReasons ¶
获取举报原因
func (*Sys) UpdateGlobalConfig ¶
func (this *Sys) UpdateGlobalConfig()
更新系统全局变量 @return sys 返回的系统信息 @return err 错误
type User ¶
type User struct { Id int `orm:"column(Id)"` Email string `orm:"size(50);unique;column(Email);default();"` //邮箱 Password string `orm:"size(32);column(Password)"` //密码 Username string `orm:"size(16);unique;column(Username)"` //用户名 Intro string `orm:"size(255);default();column(Intro)"` //个性签名 Avatar string `orm:"size(50);default();column(Avatar)"` //会员头像 }
用户表
func (*User) CanDownloadFile ¶
判断用户是否可以下载指定文档 err 为 nil 表示可以下载
func (*User) GetById ¶
获取除了用户密码之外的用户全部信息 @param id 用户id @return params 用户信息 @return rows 记录数 @return err 错误
func (*User) GetUserField ¶
根据查询条件查询User表 @param cond *orm.Condition 查询条件 @return User 返回查询到的User数据
func (*User) Reg ¶
用户注册 @param email string 邮箱 @param username string 用户名 @param password string 密码 @param repassword string 确认密码 @param intro string 签名 @return error 错误 @return int 注册成功时返回注册id
func (*User) UserList ¶
func (u *User) UserList(p, listRows int, orderby, fields, cond string, args ...interface{}) (params []orm.Params, totalRows int, err error)
根据条件查询用户信息,比如用户登录、用户列表等的获取也可以使用这个函数 @param p int 页码 @param listRows int 每页显示记录数 @param orderby string 排序,如"id desc" @param fields []string 需要查询的字段 @param cond string 查询条件 @param args ...interface{} 查询条件参数
type UserInfo ¶
type UserInfo struct { Id int `orm:"auto;pk;column(Id)"` //主键,也就是User表的Id Coin int `orm:"default(10);index;column(Coin)"` //金币积分 Document int `orm:"default(0);index;column(Document)"` //文档数量 Collect int `orm:"default(0);column(Collect)"` //收藏专辑数量,每个收藏专辑下面有文档 TimeCreate int `orm:"column(TimeCreate);default(0)"` //用户注册时间 Status bool `orm:"column(Status);default(true)"` //用户信息状态,false(即0)表示被禁用 }
用户信息表
func NewUserInfo ¶
func NewUserInfo() *UserInfo
type Word ¶
type Word struct { Id int `orm:"column(Id)"` Wd string `orm:"column(Wd);size(20);unique"` //关键字 Cnt int `orm:"column(Cnt);default(0)"` //统计 Ids string `orm:"column(Ids);default();type(text)"` //存在该关键字的文档id Status bool `orm:"column(Status);default(true)"` //bool值,默认该关键字合法,否则存在该关键字的都是不合法文档 }
关键字记录表,后期用这个来做相关资源功能
Source Files ¶
- AdModel.go
- AdminModel.go
- BannerModel.go
- CategoryModel.go
- CloudStoreModel.go
- CoinLogModel.go
- CollectModel.go
- CommentModel.go
- ConfigModel.go
- DocTextModel.go
- DocumentModel.go
- ElasticSearchModel.go
- FreeDownModel.go
- FriendModel.go
- Install.go
- Models.go
- PagesModel.go
- RecycleModel.go
- RelateModel.go
- RemarkModel.go
- ReportModel.go
- SearchLogModel.go
- SeoModel.go
- SignModel.go
- SuggestModel.go
- SysModel.go
- UserModel.go
- Utils.go
- WordModel.go
- struct.go