Compare commits

..

No commits in common. "master" and "v1.0.9" have entirely different histories.

7 changed files with 21 additions and 160 deletions

View File

@ -1,13 +1,3 @@
# beegoinit # beegoinit
统一初始beego mvc 的方法 统一初始beego mvc 的方法
```go
import "golib.gaore.com/GaoreGo/beegoinit"
```
必须显式调用初始化
```go
db.ReloadByDefault()
```

View File

@ -41,14 +41,10 @@ func (d *DbItem) Dsn() string {
} }
func init() { func init() {
// Reload() 不再自动链接数据库了, 需要自己手动 Reload()
} }
func ReloadByDefault() { func Reload(dir ...string) {
Reload(nil)
}
func Reload(files []string, dir ...string) {
var err error var err error
var configer *grconfig.Configer var configer *grconfig.Configer
logger := grlogs.GetAli("sql") logger := grlogs.GetAli("sql")
@ -65,27 +61,16 @@ func Reload(files []string, dir ...string) {
dir = append(dir, "conf/") dir = append(dir, "conf/")
configer = grconfig.New(path.Join(dir...)) configer = grconfig.New(path.Join(dir...))
} }
dsns, err := GetDsn(configer, files...) dsns, err := GetDsn(configer)
if err = LoadXorm(dsns); err != nil { if err = LoadXorm(dsns); err != nil {
logger.Critical(err.Error()) logger.Critical(err.Error())
} }
} }
func GetDsn(configer *grconfig.Configer, dbfiles ...string) (DsnList map[string]dsnConfig, err error) { func GetDsn(configer *grconfig.Configer) (DsnList map[string]dsnConfig, err error) {
var items map[string]*DbItem var items map[string]*DbItem
DsnList = make(map[string]dsnConfig) DsnList = make(map[string]dsnConfig)
err = configer.Item("db", &items)
if nil == dbfiles || len(dbfiles) == 0 {
dbfiles = []string{"db"}
}
for _, dbfile := range dbfiles {
if dbfile == "" {
continue
}
err = configer.Item(dbfile, &items)
if err != nil { if err != nil {
return return
} }
@ -97,7 +82,5 @@ func GetDsn(configer *grconfig.Configer, dbfiles ...string) (DsnList map[string]
} }
DsnList[alias] = dsnConfig{Dsn: dsn, Driver: driver, Item: v} DsnList[alias] = dsnConfig{Dsn: dsn, Driver: driver, Item: v}
} }
}
return return
} }

3
go.mod
View File

@ -1,6 +1,6 @@
module golib.gaore.com/GaoreGo/beegoinit module golib.gaore.com/GaoreGo/beegoinit
go 1.15 go 1.13
require ( require (
github.com/OwnLocal/goes v1.0.0 // indirect github.com/OwnLocal/goes v1.0.0 // indirect
@ -8,7 +8,6 @@ require (
github.com/astaxie/beego v1.12.2 github.com/astaxie/beego v1.12.2
github.com/go-check/check v0.0.0-20200227125254-8fa46927fb4f // indirect github.com/go-check/check v0.0.0-20200227125254-8fa46927fb4f // indirect
github.com/go-sql-driver/mysql v1.5.0 github.com/go-sql-driver/mysql v1.5.0
github.com/lib/pq v1.0.0
golib.gaore.com/GaoreGo/cast v1.3.2 golib.gaore.com/GaoreGo/cast v1.3.2
golib.gaore.com/GaoreGo/goes v1.2.2 // indirect golib.gaore.com/GaoreGo/goes v1.2.2 // indirect
golib.gaore.com/GaoreGo/grconfig v1.1.0 golib.gaore.com/GaoreGo/grconfig v1.1.0

View File

@ -7,40 +7,16 @@ import (
const ( const (
JsonMsgDefaultOk = "ok" JsonMsgDefaultOk = "ok"
JsonMsgDefaultFailed = "unknown error" JsonMsgDefaultFailed = "unknown"
) )
type Json struct { type Json struct {
Code int `json:"code"` Code int `json:"code"`
Data interface{} `json:"data,omitempty"` Data interface{} `json:"data"`
Msg string `json:"msg"` Msg string `json:"msg"`
Status bool `json:"status"` Status bool `json:"status"`
} }
func (j *Json) GetDefaultSuccessCode() int {
return 0
}
func (j *Json) GetDefaultFailedCode() int {
return 10086
}
func (j *Json) SetCode(code int) {
j.Code = code
}
func (j *Json) SetMessage(msg string) {
j.Msg = msg
}
func (j *Json) SetData(data interface{}) {
j.Data = data
}
func (j *Json) SetStatus(status bool) {
j.Status = status
}
func (j *Json) String() string { func (j *Json) String() string {
s, _ := j.ToString() s, _ := j.ToString()
return s return s
@ -52,19 +28,15 @@ func (j *Json) ToString() (str string, err error) {
return bytes.NewBuffer(b).String(), err return bytes.NewBuffer(b).String(), err
} }
func NewJsonByDefaultSuccess(data ...interface{}) JsonInterface { func NewJsonByDefaultSuccess(data ...interface{}) *Json {
return NewJson(true, 0, JsonMsgDefaultOk, data...) return NewJson(true, 0, JsonMsgDefaultOk, data...)
} }
func NewJsonByDefaultFailed(data ...interface{}) JsonInterface { func NewJsonByDefaultFailed(data ...interface{}) *Json {
return NewJson(false, 1, JsonMsgDefaultFailed, data...) return NewJson(false, 1, JsonMsgDefaultFailed, data...)
} }
func NewJonsByFailed(code int, msg string) JsonInterface { func NewJson(status bool, code int, msg string, data ...interface{}) *Json {
return NewJson(false, code, msg)
}
func NewJson(status bool, code int, msg string, data ...interface{}) JsonInterface {
if len(data) > 0 { if len(data) > 0 {
return &Json{ return &Json{
Code: code, Code: code,

View File

@ -1,11 +0,0 @@
package response
type JsonInterface interface {
SetCode(code int)
SetMessage(msg string)
SetData(data interface{})
SetStatus(status bool)
//
GetDefaultSuccessCode() int
GetDefaultFailedCode() int
}

View File

@ -1,42 +1,10 @@
package response package response
import ( import (
"bytes"
"encoding/json"
"fmt" "fmt"
"testing" "testing"
) )
type A struct {
Code int `json:"ret"`
Json
}
func (j *A) GetDefaultSuccessCode() int {
return 0
}
func (j *A) GetDefaultFailedCode() int {
return -1
}
func (j *A) String() string {
b, err := json.Marshal(j)
if err == nil {
return bytes.NewBuffer(b).String()
}
return ""
}
func (a *A) SetCode(code int) {
a.Code = code
}
func TestNewJsonByDefaultSuccess(t *testing.T) { func TestNewJsonByDefaultSuccess(t *testing.T) {
fmt.Println(NewJsonByDefaultSuccess()) fmt.Println(NewJsonByDefaultSuccess([]int{1, 2, 3}).String())
}
func TestName(t *testing.T) {
resp := JsonResponseGenerator{&A{Code: 232}}
fmt.Println(fmt.Sprintf("%+v", resp.NewJsonByDefaultFailed()))
} }

View File

@ -1,41 +1 @@
package response package response
import "reflect"
type JsonResponseGenerator struct {
Interface JsonInterface
}
func (j JsonResponseGenerator) NewJsonByDefaultSuccess(data ...interface{}) JsonInterface {
ptr := j.NewJson(true, 0, JsonMsgDefaultOk, data...)
ptr.SetCode(ptr.GetDefaultSuccessCode())
return ptr
}
func (j JsonResponseGenerator) NewJsonByDefaultFailed(data ...interface{}) JsonInterface {
ptr := j.NewJson(false, 1, JsonMsgDefaultFailed, data...)
ptr.SetCode(ptr.GetDefaultFailedCode())
return ptr
}
func (j JsonResponseGenerator) NewJsonByFailed(code int, msg string) JsonInterface {
return j.NewJson(false, code, msg)
}
func (j JsonResponseGenerator) NewJsonByFailedWithData(code int, msg string, data interface{}) JsonInterface {
return j.NewJson(false, code, msg, data)
}
func (j JsonResponseGenerator) NewJson(status bool, code int, msg string, data ...interface{}) JsonInterface {
jPtr := reflect.New(reflect.TypeOf(j.Interface).Elem())
if b, ok := jPtr.Interface().(JsonInterface); ok {
b.SetStatus(status)
b.SetCode(code)
b.SetMessage(msg)
if len(data) > 0 {
b.SetData(data[0])
}
return b
}
return nil
}