package rpc
|
|
|
|
import (
|
|
"github.com/kataras/iris"
|
|
"github.com/kataras/iris/core/router"
|
|
"leit.com/LAPP_GAAS_GFrame/web/middleware/jwts"
|
|
"leit.com/LAPP_GAAS_GFrame/web/supports"
|
|
)
|
|
|
|
func RegisterHandler(party router.Party, path string, handler Handler) {
|
|
party.Post(path, func(context iris.Context) {
|
|
var json interface{}
|
|
var jsonArray []interface{}
|
|
if context.GetContentLength() > 0 {
|
|
if nil != context.ReadJSON(&json) {
|
|
supports.Error(context, iris.StatusBadRequest, "JSON解析失败!", nil)
|
|
return
|
|
}
|
|
if json != nil {
|
|
if jsonObject, ok := json.([]interface{}); !ok {
|
|
supports.Error(context, iris.StatusBadRequest, "JSON解析失败!", nil)
|
|
return
|
|
} else {
|
|
jsonArray = jsonObject
|
|
}
|
|
}
|
|
}
|
|
user, ok := jwts.ParseToken(context)
|
|
if !ok {
|
|
supports.Error(context, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
|
|
return
|
|
}
|
|
if result, err := handler.Process(user, jsonArray); err != nil {
|
|
supports.Error(context, iris.StatusBadRequest, err.Error(), nil)
|
|
} else {
|
|
supports.Ok(context, supports.OptionSuccess, result)
|
|
}
|
|
})
|
|
}
|