Files
yangzhaohan b7cc3c4265 feat(web): 初始化前端基础架构和样式
- 新增.gitignore,忽略日志、node_modules、dist及编辑器配置文件
- 创建基础React应用及组件App,集成React、Vite和样式
- 设计响应式CSS变量和全局样式,支持暗黑模式
- 新增图标SVG符号定义,用于社交及文档链接展示
- 配置TypeScript项目(tsconfig)和ESLint规则保障代码质量
- 配置Vite开发服务器,支持代理接口与模块别名
- 增加前端API客户端封装与健康检查接口定义
- 增加类型定义文件,映射后端数据模型接口
- 创建index.html作为前端入口页面
- 新增package.json定义依赖和运行脚本,包含React及Ant Design等库
2026-07-21 21:53:34 +08:00

39 lines
827 B
Go

package database
import (
"fmt"
"gorm.io/driver/postgres"
"gorm.io/gorm"
"synoth.com/janus/internal/model"
)
// Config 数据库配置
type Config struct {
Host string
Port int
Username string
Password string
DBName string
SSLMode string
}
// Connect 连接数据库
func Connect(cfg Config) (*gorm.DB, error) {
dsn := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=%s",
cfg.Host, cfg.Port, cfg.Username, cfg.Password, cfg.DBName, cfg.SSLMode,
)
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
if err != nil {
return nil, fmt.Errorf("connect database: %w", err)
}
return db, nil
}
// AutoMigrate 自动迁移数据库表结构
func AutoMigrate(db *gorm.DB) error {
return db.AutoMigrate(&model.Provider{}, &model.APIKey{}, &model.Channel{}, &model.Model{})
}