package dbdata import ( "time" "github.com/asdine/storm/v3" "github.com/asdine/storm/v3/codec/json" "github.com/bjdgyc/anylink/base" bolt "go.etcd.io/bbolt" ) var ( sdb *storm.DB ) func initDb() { var err error sdb, err = storm.Open(base.Cfg.DbFile, storm.Codec(json.Codec), storm.BoltOptions(0600, &bolt.Options{Timeout: 10 * time.Second})) if err != nil { base.Fatal(err) } // 初始化数据库 err = sdb.Init(&User{}) if err != nil { base.Fatal(err) } // fmt.Println("s1") } func initData() { var ( err error install bool ) // 判断是否初次使用 err = Get(SettingBucket, Installed, &install) if err == nil && install { // 已经安装过 return } defer func() { _ = Set(SettingBucket, Installed, true) }() smtp := &SettingSmtp{ Host: "127.0.0.1", Port: 25, From: "vpn@xx.com", } _ = SettingSet(smtp) other := &SettingOther{ LinkAddr: "vpn.xx.com", Banner: "您已接入公司网络,请按照公司规定使用。\n请勿进行非工作下载及视频行为!", AccountMail: accountMail, } _ = SettingSet(other) } func CheckErrNotFound(err error) bool { return err == storm.ErrNotFound } const accountMail = `

您好:

  您的{{.Issuer}}账号已经审核开通。

登陆地址: {{.LinkAddr}}
用户组: {{.Group}}
用户名: {{.Username}}
用户PIN码: {{.PinCode}}
用户动态码(3天后失效):

使用说明:

软件下载地址: https://{{.LinkAddr}}/files/info.txt

`