mirror of https://github.com/bjdgyc/anylink.git
91 lines
1.8 KiB
Go
91 lines
1.8 KiB
Go
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 Set(SettingBucket, Installed, true)
|
||
|
||
smtp := &SettingSmtp{
|
||
Host: "127.0.0.1",
|
||
Port: 25,
|
||
From: "vpn@xx.com",
|
||
}
|
||
SettingSet(smtp)
|
||
|
||
other := &SettingOther{
|
||
Banner: "您已接入公司网络,请按照公司规定使用。\n请勿进行非工作下载及视频行为!",
|
||
AccountMail: accountMail,
|
||
}
|
||
SettingSet(other)
|
||
|
||
}
|
||
|
||
func CheckErrNotFound(err error) bool {
|
||
if err == storm.ErrNotFound {
|
||
return true
|
||
}
|
||
return false
|
||
}
|
||
|
||
const accountMail = `<p>您好:</p>
|
||
<p> 您的{{.Issuer}}账号已经审核开通。</p>
|
||
<p>
|
||
登陆地址: <b>{{.LinkAddr}}</b> <br/>
|
||
用户组: <b>{{.Group}}</b> <br/>
|
||
用户名: <b>{{.Username}}</b> <br/>
|
||
用户PIN码: <b>{{.PinCode}}</b> <br/>
|
||
用户动态码(3天后失效):<br/>
|
||
<img src="{{.OtpImg}}"/>
|
||
</p>
|
||
<div>
|
||
使用说明:
|
||
<ul>
|
||
<li>请使用OTP软件扫描动态码二维码</li>
|
||
<li>然后使用anyconnect客户端进行登陆</li>
|
||
<li>登陆密码为 【PIN码+动态码】</li>
|
||
</ul>
|
||
</div>
|
||
<p>
|
||
软件下载地址: https://gitee.com/bjdgyc/anylink-soft/blob/master/README.md
|
||
</p>`
|