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

3
go.mod
View File

@ -1,6 +1,6 @@
module golib.gaore.com/GaoreGo/beegoinit
go 1.15
go 1.13
require (
github.com/OwnLocal/goes v1.0.0 // indirect
@ -8,7 +8,6 @@ require (
github.com/astaxie/beego v1.12.2
github.com/go-check/check v0.0.0-20200227125254-8fa46927fb4f // indirect
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/goes v1.2.2 // indirect
golib.gaore.com/GaoreGo/grconfig v1.1.0

View File

@ -7,40 +7,16 @@ import (
const (
JsonMsgDefaultOk = "ok"
JsonMsgDefaultFailed = "unknown error"
JsonMsgDefaultFailed = "unknown"
)
type Json struct {
Code int `json:"code"`
Data interface{} `json:"data,omitempty"`
Data interface{} `json:"data"`
Msg string `json:"msg"`
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 {
s, _ := j.ToString()
return s
@ -52,19 +28,15 @@ func (j *Json) ToString() (str string, err error) {
return bytes.NewBuffer(b).String(), err
}
func NewJsonByDefaultSuccess(data ...interface{}) JsonInterface {
func NewJsonByDefaultSuccess(data ...interface{}) *Json {
return NewJson(true, 0, JsonMsgDefaultOk, data...)
}
func NewJsonByDefaultFailed(data ...interface{}) JsonInterface {
func NewJsonByDefaultFailed(data ...interface{}) *Json {
return NewJson(false, 1, JsonMsgDefaultFailed, data...)
}
func NewJonsByFailed(code int, msg string) JsonInterface {
return NewJson(false, code, msg)
}
func NewJson(status bool, code int, msg string, data ...interface{}) JsonInterface {
func NewJson(status bool, code int, msg string, data ...interface{}) *Json {
if len(data) > 0 {
return &Json{
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
import (
"bytes"
"encoding/json"
"fmt"
"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) {
fmt.Println(NewJsonByDefaultSuccess())
}
func TestName(t *testing.T) {
resp := JsonResponseGenerator{&A{Code: 232}}
fmt.Println(fmt.Sprintf("%+v", resp.NewJsonByDefaultFailed()))
fmt.Println(NewJsonByDefaultSuccess([]int{1, 2, 3}).String())
}

View File

@ -1,41 +1 @@
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
}