123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package desktop
- import (
- "context"
- "encoding/json"
- "github.com/astaxie/beego/logs"
- "nginx-ui/server/models"
- "nginx-ui/server/service"
- )
- var ApiSession = Session{}
- var userService = service.NewUserService()
- // Api struct
- type Api struct {
- ctx context.Context
- }
- // NewApi NewApp creates a new App application struct
- func NewApi() *Api {
- return &Api{}
- }
- // Startup is called when the app starts. The context is saved
- // so we can call the runtime methods
- func (a *Api) Startup(ctx context.Context) {
- ApiSession.ctx = ctx
- a.ctx = ctx
- }
- type ApiResp struct {
- Data models.RespData `json:"data"`
- }
- // PostApi 做一个统一的适配层
- func (a *Api) PostApi(path string, req string) ApiResp {
- logs.Info("path: %s, data: %s", path, req)
- var data models.RespData
- switch path {
- case "/user/login":
- var user models.User
- err := json.Unmarshal([]byte(req), &user)
- if err != nil {
- logs.Error(err, req)
- data = models.NewErrorResp(err)
- }
- data = userService.Login(user)
- break
- case "/user/info":
- break
- }
- return ApiResp{Data: data}
- }
- func (a *Api) GetApi(path string, req string) ApiResp {
- logs.Info("path: %s, data: %s", path, req)
- var data models.RespData
- switch path {
- case "/user/info":
- data = models.SuccessResp(ApiSession.user)
- break
- }
- return ApiResp{Data: data}
- }
- func (a *Api) DeleteApi(path string, req string) ApiResp {
- logs.Info("path: %s, data: %s", path, req)
- switch path {
- case "/user/login":
- break
- case "/user/info":
- break
- }
- return ApiResp{}
- }
- func (a *Api) PutApi(path string, req string) ApiResp {
- logs.Info("path: %s, data: %s", path, req)
- switch path {
- case "/user/login":
- break
- case "/user/info":
- break
- }
- return ApiResp{}
- }
|