ea8ffb6c74
- 修复订阅模式登录时错误检查余额的问题 - 区分无限余额和永久订阅两种永久会员类型 - 修复动态代码HTTP请求返回值在JS中无法正确访问的问题 - 添加侧边栏滚动位置保持功能 - 移除developer角色相关代码,统一使用admin - 添加缺失的i18n翻译key
114 lines
2.7 KiB
Go
114 lines
2.7 KiB
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"verification-platform-backend/internal/database"
|
|
"verification-platform-backend/internal/model"
|
|
)
|
|
|
|
func main() {
|
|
database.Init()
|
|
|
|
log.Println("=== 初始化套餐数据 ===")
|
|
|
|
var count int64
|
|
database.DB.Model(&model.Package{}).Count(&count)
|
|
log.Printf("当前套餐数量: %d\n", count)
|
|
|
|
if count > 0 {
|
|
log.Println("套餐数据已存在,跳过初始化")
|
|
return
|
|
}
|
|
|
|
packages := []model.Package{
|
|
{
|
|
Name: "基础版",
|
|
Description: "适合个人开发者和小型项目",
|
|
Price: 9.9,
|
|
Period: "monthly",
|
|
Status: "active",
|
|
Sort: 1,
|
|
IsRecommended: false,
|
|
AllowUpgrade: true,
|
|
},
|
|
{
|
|
Name: "专业版",
|
|
Description: "适合中小型企业和成长型项目",
|
|
Price: 29.9,
|
|
Period: "monthly",
|
|
Status: "active",
|
|
Sort: 2,
|
|
IsRecommended: true,
|
|
AllowUpgrade: true,
|
|
},
|
|
{
|
|
Name: "企业版",
|
|
Description: "适合大型企业和高流量项目",
|
|
Price: 99.9,
|
|
Period: "monthly",
|
|
Status: "active",
|
|
Sort: 3,
|
|
IsRecommended: false,
|
|
AllowUpgrade: true,
|
|
},
|
|
{
|
|
Name: "永久版",
|
|
Description: "一次性购买,永久使用",
|
|
Price: 999,
|
|
Period: "permanent",
|
|
Status: "active",
|
|
Sort: 4,
|
|
IsRecommended: false,
|
|
AllowUpgrade: false,
|
|
},
|
|
}
|
|
|
|
for _, pkg := range packages {
|
|
if err := database.DB.Create(&pkg).Error; err != nil {
|
|
log.Printf("创建套餐失败: %v\n", err)
|
|
continue
|
|
}
|
|
|
|
permission := model.PackagePermission{
|
|
PackageID: pkg.ID,
|
|
MaxApplications: 5,
|
|
MaxStorage: 1024,
|
|
MaxApiCalls: 10000,
|
|
AllowAgent: false,
|
|
AllowCloudData: true,
|
|
AllowDynamicCode: false,
|
|
PrioritySupport: false,
|
|
}
|
|
|
|
if pkg.Name == "专业版" {
|
|
permission.MaxApplications = 20
|
|
permission.MaxStorage = 5120
|
|
permission.MaxApiCalls = 100000
|
|
permission.AllowAgent = true
|
|
permission.AllowDynamicCode = true
|
|
} else if pkg.Name == "企业版" {
|
|
permission.MaxApplications = -1
|
|
permission.MaxStorage = -1
|
|
permission.MaxApiCalls = -1
|
|
permission.AllowAgent = true
|
|
permission.AllowDynamicCode = true
|
|
permission.PrioritySupport = true
|
|
} else if pkg.Name == "永久版" {
|
|
permission.MaxApplications = -1
|
|
permission.MaxStorage = -1
|
|
permission.MaxApiCalls = -1
|
|
permission.AllowAgent = true
|
|
permission.AllowDynamicCode = true
|
|
permission.PrioritySupport = true
|
|
}
|
|
|
|
if err := database.DB.Create(&permission).Error; err != nil {
|
|
log.Printf("创建套餐权限失败: %v\n", err)
|
|
} else {
|
|
log.Printf("创建套餐成功: %s (ID: %d)\n", pkg.Name, pkg.ID)
|
|
}
|
|
}
|
|
|
|
log.Println("套餐初始化完成")
|
|
}
|