Add files via upload

This commit is contained in:
QWQLwToo
2026-01-28 13:25:18 +08:00
committed by GitHub
parent 02f66ec447
commit 7030903eb6
77 changed files with 21573 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
package schema
import (
"entgo.io/ent"
"entgo.io/ent/schema/field"
)
// Contact 联系方式实体
type Contact struct {
ent.Schema
}
func (Contact) Fields() []ent.Field {
return []ent.Field{
field.Int("id"),
field.String("type").Comment("联系方式类型(Email, Github, 支付宝, 微信等)"),
field.String("icon").Comment("图标类名"),
field.String("url").Optional().Comment("链接URLmailto:或https://"),
field.String("qr_code").Optional().Comment("二维码图片URL或路径"),
field.String("hover_color").Optional().Comment("悬停颜色"),
field.Int("sort_order").Default(0).Comment("排序顺序"),
}
}
func (Contact) Edges() []ent.Edge {
return nil
}
+28
View File
@@ -0,0 +1,28 @@
package schema
import (
"entgo.io/ent"
"entgo.io/ent/schema/field"
"time"
)
// LoginHistory 登录历史记录实体
type LoginHistory struct {
ent.Schema
}
func (LoginHistory) Fields() []ent.Field {
return []ent.Field{
field.Int("id"),
field.String("username").Comment("用户名"),
field.String("ip").Comment("登录IP地址"),
field.String("location").Optional().Comment("IP地理位置"),
field.String("user_agent").Optional().Comment("用户代理"),
field.Time("login_time").Default(time.Now).Comment("登录时间"),
field.Bool("success").Default(true).Comment("登录是否成功"),
}
}
func (LoginHistory) Edges() []ent.Edge {
return nil
}
+25
View File
@@ -0,0 +1,25 @@
package schema
import (
"entgo.io/ent"
"entgo.io/ent/schema/field"
)
// Site 站点实体
type Site struct {
ent.Schema
}
func (Site) Fields() []ent.Field {
return []ent.Field{
field.Int("id"),
field.String("name").Comment("站点名称"),
field.String("url").Comment("站点URL"),
field.String("icon").Comment("站点图标类名"),
field.Int("sort_order").Default(0).Comment("排序顺序"),
}
}
func (Site) Edges() []ent.Edge {
return nil
}
+37
View File
@@ -0,0 +1,37 @@
package schema
import (
"entgo.io/ent"
"entgo.io/ent/schema/field"
)
// SiteConfig 站点配置实体(单例)
type SiteConfig struct {
ent.Schema
}
func (SiteConfig) Fields() []ent.Field {
return []ent.Field{
field.Int("id").Default(1),
field.String("site_name").Comment("站点名称"),
field.String("site_url").Comment("站点URL"),
field.String("site_icon").Comment("站点图标"),
field.String("site_description").Comment("站点描述"),
field.String("site_keywords").Comment("站点关键词"),
field.String("user_name").Comment("用户名"),
field.String("profile_image_url").Optional().Comment("头像URL"),
field.String("icp_number").Optional().Comment("ICP备案号"),
field.String("police_number").Optional().Comment("公安备案号"),
// 新增字段:对应.env文件中的配置
field.String("page_title").Optional().Comment("网页标题"),
field.String("favicon").Optional().Comment("网页图标路径"),
field.String("umami_script").Optional().Comment("Umami统计脚本地址"),
field.String("umami_website_id").Optional().Comment("Umami统计网站ID"),
field.String("icon_library").Optional().Comment("图标库CDN地址"),
field.String("font_library").Optional().Comment("字体库CDN地址"),
}
}
func (SiteConfig) Edges() []ent.Edge {
return nil
}
+23
View File
@@ -0,0 +1,23 @@
package schema
import (
"entgo.io/ent"
"entgo.io/ent/schema/field"
)
// User 用户实体(用于JWT认证)
type User struct {
ent.Schema
}
func (User) Fields() []ent.Field {
return []ent.Field{
field.Int("id"),
field.String("username").Unique().Comment("用户名"),
field.String("password").Comment("密码(bcrypt哈希)"),
}
}
func (User) Edges() []ent.Edge {
return nil
}
+27
View File
@@ -0,0 +1,27 @@
package schema
import (
"entgo.io/ent"
"entgo.io/ent/schema/field"
"time"
)
// Visit 访问记录实体
type Visit struct {
ent.Schema
}
func (Visit) Fields() []ent.Field {
return []ent.Field{
field.Int("id"),
field.String("path").Comment("访问路径"),
field.String("ip").Comment("访问IP"),
field.String("user_agent").Optional().Comment("用户代理"),
field.String("referer").Optional().Comment("来源页面"),
field.Time("visit_time").Default(time.Now).Comment("访问时间"),
}
}
func (Visit) Edges() []ent.Edge {
return nil
}