feat: 更换file包
This commit is contained in:
@@ -27,8 +27,8 @@ Config.json说明:
|
|||||||
"enc": "srun_bx1"
|
"enc": "srun_bx1"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
|
"timeout": 3, //检查网络超时时间(秒)
|
||||||
"demo_mode": false, //测试模式,报错更详细,且生成运行日志与错误日志
|
"demo_mode": false, //测试模式,报错更详细,且生成运行日志与错误日志
|
||||||
"dns": "1.2.4.8", //检查网络用的DNS地址,建议设为网关分发的内网DNS地址
|
|
||||||
"guardian": 0, //守护模式,值为网络检查周期(秒),设为0关闭守护模式
|
"guardian": 0, //守护模式,值为网络检查周期(秒),设为0关闭守护模式
|
||||||
"daemon": false, //将守护挂入后台
|
"daemon": false, //将守护挂入后台
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package controllers
|
package controllers
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"autoLogin/util"
|
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"github.com/Mmx233/tool"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -26,11 +26,11 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *daemon) MarkDaemon() error {
|
func (a *daemon) MarkDaemon() error {
|
||||||
return util.File.Write(a.Path, []byte(a.Mark))
|
return tool.File.Write(a.Path, []byte(a.Mark))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *daemon) CheckDaemon() bool {
|
func (a *daemon) CheckDaemon() bool {
|
||||||
if data, err := util.File.Read(a.Path); err != nil {
|
if data, err := tool.File.Read(a.Path); err != nil {
|
||||||
return true
|
return true
|
||||||
} else {
|
} else {
|
||||||
return string(data) == a.Mark
|
return string(data) == a.Mark
|
||||||
|
|||||||
42
global/config.go
Normal file
42
global/config.go
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
package global
|
||||||
|
|
||||||
|
import (
|
||||||
|
"autoLogin/models"
|
||||||
|
"github.com/Mmx233/config"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Config *models.Config
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
//配置文件初始化
|
||||||
|
if e := config.Load(config.Options{
|
||||||
|
Config: &Config,
|
||||||
|
Default: &models.Config{
|
||||||
|
From: models.LoginForm{
|
||||||
|
Domain: "www.msftconnecttest.com",
|
||||||
|
UserType: "cmcc",
|
||||||
|
},
|
||||||
|
Meta: models.LoginMeta{
|
||||||
|
N: "200",
|
||||||
|
Type: "1",
|
||||||
|
Acid: "5",
|
||||||
|
Enc: "srun_bx1",
|
||||||
|
},
|
||||||
|
Settings: models.Settings{
|
||||||
|
Timeout: 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Path: "Config.json",
|
||||||
|
FillDefault: true,
|
||||||
|
Overwrite: true,
|
||||||
|
}); e != nil {
|
||||||
|
if config.IsNew(e) {
|
||||||
|
log.Println("已生成配置文件,请编辑 'Config.json' 然后重试")
|
||||||
|
os.Exit(0)
|
||||||
|
}
|
||||||
|
log.Println("读取配置文件失败:\n", e.Error())
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
}
|
||||||
2
go.mod
2
go.mod
@@ -4,7 +4,7 @@ go 1.16
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/Mmx233/config v0.0.3
|
github.com/Mmx233/config v0.0.3
|
||||||
github.com/Mmx233/tool v0.2.3
|
github.com/Mmx233/tool v0.2.4
|
||||||
github.com/PuerkitoBio/goquery v1.7.1 // indirect
|
github.com/PuerkitoBio/goquery v1.7.1 // indirect
|
||||||
golang.org/x/net v0.0.0-20210917221730-978cfadd31cf // indirect
|
golang.org/x/net v0.0.0-20210917221730-978cfadd31cf // indirect
|
||||||
)
|
)
|
||||||
|
|||||||
4
go.sum
4
go.sum
@@ -1,7 +1,7 @@
|
|||||||
github.com/Mmx233/config v0.0.3 h1:E744hob5fWD5P7m7q+91Z41R+Y1LDkxIhQXIeV1tel0=
|
github.com/Mmx233/config v0.0.3 h1:E744hob5fWD5P7m7q+91Z41R+Y1LDkxIhQXIeV1tel0=
|
||||||
github.com/Mmx233/config v0.0.3/go.mod h1:3mt+LSHUvD/C6tq1ge/Dmp8xKivFmo7gxSihCPjIAi0=
|
github.com/Mmx233/config v0.0.3/go.mod h1:3mt+LSHUvD/C6tq1ge/Dmp8xKivFmo7gxSihCPjIAi0=
|
||||||
github.com/Mmx233/tool v0.2.3 h1:fnjkYrX6Zhc0vcyPF5ihnxkNjXQ8zeAoG1Xm6xo7aBE=
|
github.com/Mmx233/tool v0.2.4 h1:lsq45GmGJGZ7RkOVj6EYucvxRK58/nGSVf8rhgZNov0=
|
||||||
github.com/Mmx233/tool v0.2.3/go.mod h1:un5MCoI21lH40fFI5S9++aja8nJb+2sjATak7PnGMZ0=
|
github.com/Mmx233/tool v0.2.4/go.mod h1:un5MCoI21lH40fFI5S9++aja8nJb+2sjATak7PnGMZ0=
|
||||||
github.com/PuerkitoBio/goquery v1.7.1 h1:oE+T06D+1T7LNrn91B4aERsRIeCLJ/oPSa6xB9FPnz4=
|
github.com/PuerkitoBio/goquery v1.7.1 h1:oE+T06D+1T7LNrn91B4aERsRIeCLJ/oPSa6xB9FPnz4=
|
||||||
github.com/PuerkitoBio/goquery v1.7.1/go.mod h1:XY0pP4kfraEmmV1O7Uf6XyjoslwsneBbgeDjLYuN8xY=
|
github.com/PuerkitoBio/goquery v1.7.1/go.mod h1:XY0pP4kfraEmmV1O7Uf6XyjoslwsneBbgeDjLYuN8xY=
|
||||||
github.com/andybalholm/cascadia v1.2.0 h1:vuRCkM5Ozh/BfmsaTm26kbjm0mIOM3yS5Ek/F5h18aE=
|
github.com/andybalholm/cascadia v1.2.0 h1:vuRCkM5Ozh/BfmsaTm26kbjm0mIOM3yS5Ek/F5h18aE=
|
||||||
|
|||||||
79
util/file.go
79
util/file.go
@@ -1,79 +0,0 @@
|
|||||||
package util
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bufio"
|
|
||||||
"encoding/json"
|
|
||||||
"io/ioutil"
|
|
||||||
"os"
|
|
||||||
"path/filepath"
|
|
||||||
)
|
|
||||||
|
|
||||||
type file struct{}
|
|
||||||
|
|
||||||
var File file
|
|
||||||
|
|
||||||
func (a *file) Exists(path string) bool {
|
|
||||||
root, err := a.GetRootPath()
|
|
||||||
if err != nil {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
_, err = os.Stat(root + path)
|
|
||||||
return err == nil || os.IsExist(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *file) Read(path string) ([]byte, error) {
|
|
||||||
root, err := a.GetRootPath()
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return ioutil.ReadFile(root + path)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *file) ReadJson(path string, receiver interface{}) error {
|
|
||||||
data, err := a.Read(path)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return json.Unmarshal(data, receiver)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *file) Write(path string, data []byte) error {
|
|
||||||
root, err := a.GetRootPath()
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return ioutil.WriteFile(root+path, data, 700)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *file) WriteJson(path string, receiver interface{}) error {
|
|
||||||
data, err := json.MarshalIndent(receiver, "", " ")
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return a.Write(path, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*file) GetRootPath() (string, error) {
|
|
||||||
t, err := os.Executable()
|
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
return filepath.Dir(t) + "/", nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *file) Add(path string, c string) error {
|
|
||||||
root, err := a.GetRootPath()
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
file, err := os.OpenFile(root+path, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 700)
|
|
||||||
defer file.Close()
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
w := bufio.NewWriter(file)
|
|
||||||
if _, err = w.WriteString(c + "\n"); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return w.Flush()
|
|
||||||
}
|
|
||||||
@@ -1,11 +1,13 @@
|
|||||||
package util
|
package util
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"autoLogin/global"
|
||||||
"github.com/Mmx233/tool"
|
"github.com/Mmx233/tool"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
//http工具设定
|
//tool设定
|
||||||
tool.HTTP.Options.Timeout = 3 * time.Second
|
tool.HTTP.Options.Timeout = time.Duration(global.Config.Settings.Timeout) * time.Second
|
||||||
|
tool.File.Options.ForceRoot = true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package util
|
|||||||
import (
|
import (
|
||||||
"autoLogin/global"
|
"autoLogin/global"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"github.com/Mmx233/tool"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"reflect"
|
"reflect"
|
||||||
@@ -30,7 +31,7 @@ func (*loG) WriteLog(name string, a ...interface{}) {
|
|||||||
default:
|
default:
|
||||||
t = fmt.Sprint(v)
|
t = fmt.Sprint(v)
|
||||||
}
|
}
|
||||||
err := File.Add(name, fmt.Sprintf(time.Now().Format("2006/01/02 15:04:05 "))+t)
|
err := tool.File.Add(name, fmt.Sprintf(time.Now().Format("2006/01/02 15:04:05 "))+t, 700)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("Log error: ", err)
|
log.Println("Log error: ", err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user