Browse Source

调整系统设置数据

master
xyiege 5 months ago
parent
commit
7150628bee
  1. 60
      aufs/core/setting.go
  2. 10
      aufs/db/servDb.go
  3. 4
      aufs/main.go
  4. BIN
      aufs/ups.db

60
aufs/core/setting.go

@ -1,37 +1,65 @@
package core package core
import ( import (
"aufs/db"
"encoding/json"
"fmt" "fmt"
"log"
"net/http" "net/http"
"github.com/jmoiron/sqlx" "github.com/jmoiron/sqlx"
_ "github.com/logoove/sqlite"
) )
// 输出的结构
type ScJson struct {
Message string `json:"message"`
Status int `json:"status"`
Data []db.StServerInfo `json:"data"`
}
// 系统设置 // 系统设置
func Settdb(w http.ResponseWriter, r *http.Request) { func Settdb(w http.ResponseWriter, r *http.Request) {
// 检查数据表是否存在 // 检查数据表是否存在
scdb, err := sqlx.Open("sqlite3", "./sc.db") scdb, err := sqlx.Open("sqlite", "./ups.db")
if err != nil { if err != nil {
fmt.Printf("Failed to open database: %v\n", err) fmt.Printf("Failed to open database: %v\n", err)
return return
} }
defer scdb.Close() defer scdb.Close()
//创建服务表 // 如果表sc_server不存在,则创建
sts := ` _, err = scdb.Exec("SELECT name FROM sqlite_master WHERE type='table' AND name='sc_server'")
CREATE TABLE sc_server (
id INTEGER PRIMARY KEY NOT NULL PRIMARY KEY AUTOINCREMENT,
scname TEXT NOT NULL,
addr TEXT NOT NULL,
port TEXT NOT NULL,
token TEXT NOT NULL,
status INTEGER NOT NULL
);`
// 执行建表语句
_, err = scdb.Exec(sts)
if err != nil { if err != nil {
fmt.Printf("Failed to create database table: %v\n", err) // cuowu
return log.Fatalf("table has exists:%s", err)
} }
fmt.Printf("Successfully created database table! \n") //如果表存在
sclst := db.GetlScList()
//
scresp := ScJson{
Message: "success",
Status: 200,
Data: sclst,
}
uCorsHadler(w, r)
json.NewEncoder(w).Encode(scresp)
// 表不存在,创建表
// sts := `
// CREATE TABLE IF NOT EXISTS sc_server (
// id INTEGER PRIMARY KEY NOT NULL,
// scname TEXT NOT NULL,
// addr TEXT NOT NULL,
// port TEXT NOT NULL,
// token TEXT NOT NULL,
// status INTEGER NOT NULL
// );`
// 执行建表语句
// _, err = scdb.Exec(sts)
// if err != nil {
// fmt.Printf("Failed to create database table: %v\n", err)
// return
// }
// fmt.Printf("Successfully created database table! \n")
} }

10
aufs/db/servDb.go

@ -40,9 +40,9 @@ func AddServerInfo(info *StServerInfo) error {
} }
// 查询所有的记录 // 查询所有的记录
func GetlScList() (sclist []StFileInfo) { func GetlScList() (sclist []StServerInfo) {
// 结果集 // 结果集
sclist = make([]StFileInfo, 0) sclist = make([]StServerInfo, 0)
// 查询语句 // 查询语句
rows, err := db.Query("SELECT * FROM f_info WHERE fpbs = ?") rows, err := db.Query("SELECT * FROM f_info WHERE fpbs = ?")
@ -54,8 +54,10 @@ func GetlScList() (sclist []StFileInfo) {
// FOR loop // FOR loop
for rows.Next() { for rows.Next() {
// var weight float64 // var weight float64
var st StFileInfo var st StServerInfo
err = rows.Scan(&st.Id, &st.Fname, &st.Fpath, &st.Fhash) //将赋值到对应的字段上
err = rows.Scan(&st.Id, &st.Port, &st.Scname, &st.Status, &st.Token)
if err != nil { if err != nil {
fmt.Printf("Failed to read data: %v\n", err) fmt.Printf("Failed to read data: %v\n", err)
continue continue

4
aufs/main.go

@ -30,12 +30,14 @@ func startWeb() {
// http.HandleFunc("/sendZip", core.SendZip) // http.HandleFunc("/sendZip", core.SendZip)
// 系统监控 // 系统监控
http.HandleFunc("/sysinfo", core.SysMonitor) http.HandleFunc("/sysinfo", core.SysMonitor)
//保存监听的服务器
http.HandleFunc("/scdb", core.Settdb)
// 内存信息 // 内存信息
http.HandleFunc("/dtmem", core.Dtmem) http.HandleFunc("/dtmem", core.Dtmem)
// 启动HTTP服务器并监听端口 80,如果出现错误,则打印错误信息并退出 // 启动HTTP服务器并监听端口 80,如果出现错误,则打印错误信息并退出
fmt.Printf("Starting server at port:" + config.G.Port) fmt.Printf("Starting server at port:%v\n", config.G.Port)
sport := fmt.Sprintf(":%v", config.G.Port) sport := fmt.Sprintf(":%v", config.G.Port)
if err := http.ListenAndServe(sport, nil); err != nil { if err := http.ListenAndServe(sport, nil); err != nil {
log.Fatal(err) log.Fatal(err)

BIN
aufs/ups.db

Binary file not shown.
Loading…
Cancel
Save