Browse Source

小程序收藏

kobe6258 3 months ago
parent
commit
62501a474b

+ 6 - 1
controllers/chart.go

@@ -286,7 +286,12 @@ func (this *ChartController) MiniBookMark() {
 		br.ErrMsg = "参数错误,Source is empty"
 		return
 	}
-	action, err := facade.FacadeClient.Deal(req).HandleAction(req.Action, facade.GetInstance(req.Source))
+	auth := this.Ctx.Request.Header.Get("Authorization")
+	param := facade.BaseRequest{
+		Auth:       auth,
+		UniqueCode: req.UniqueCode,
+	}
+	action, err := facade.FacadeClient.Deal(param).HandleAction(req.Action, facade.GetInstance(req.Source))
 	if err != nil {
 		br.Msg = action + "失败"
 		br.ErrMsg = action + "失败,Err:" + err.Error()

+ 0 - 36
facade/ht/ht_mini_facade.go

@@ -1,36 +0,0 @@
-package ht
-
-import (
-	"eta/eta_chart_lib/facade"
-	"eta/eta_chart_lib/utils"
-	"fmt"
-)
-
-const (
-	bookMarkUrl   = "user/bookMark"
-	unBookMarkUrl = "user/unBookMark"
-)
-
-type HTCollectionReq struct {
-	UniqueCode string `json:"uniqueCode"`
-}
-type HTMiniFacade struct {
-	facade.BaseMiniFacade
-}
-
-func (ht *HTMiniFacade) Collect(data interface{}) (err error) {
-	url := fmt.Sprintf("%s%s", utils.GetMiniUrl("ht"), bookMarkUrl)
-	resp, err := ht.Post(url, data)
-	if err != nil {
-		utils.FileLog.Error("收藏失败,err:%v,resp:%v", err, resp)
-	}
-	return
-}
-func (ht *HTMiniFacade) UnCollect(data interface{}) (err error) {
-	url := fmt.Sprintf("%s%s", utils.GetMiniUrl("ht"), unBookMarkUrl)
-	resp, err := ht.Post(url, data)
-	if err != nil {
-		utils.FileLog.Error("取消收藏失败,err:%v,resp:%v", err, resp)
-	}
-	return
-}

+ 78 - 0
facade/instance/ht_mini_facade.go

@@ -0,0 +1,78 @@
+package instance
+
+import (
+	"encoding/json"
+	"errors"
+	"eta/eta_chart_lib/facade"
+	"eta/eta_chart_lib/models"
+	"eta/eta_chart_lib/utils"
+	"fmt"
+)
+
+const (
+	bookMarkUrl   = "user/bookMark"
+	unBookMarkUrl = "user/unBookMark"
+	target        = "ht"
+)
+
+type HTCollectionReq struct {
+	UniqueCode string `json:"uniqueCode"`
+}
+type HTMiniFacade struct {
+	facade.BaseMiniFacade
+}
+type HTResponse struct {
+	Ret     int
+	Msg     string
+	ErrMsg  string
+	ErrCode int
+	Success bool
+}
+type HTRequest struct {
+	facade.BaseRequest
+	ChartInfoId int
+	ChartName   string
+	ChartImage  string
+}
+
+func (ht *HTMiniFacade) Collect(data facade.BaseRequest) (err error) {
+	chartInfo, err := models.GetChartInfoByUniqueCode(data.UniqueCode)
+	if err != nil {
+		utils.FileLog.Error("收藏失败,获取图表信息失败:%v", err.Error())
+		return err
+	}
+	url := fmt.Sprintf("%s%s", utils.GetMiniUrl(target), bookMarkUrl)
+	param := HTRequest{
+		BaseRequest: data,
+		ChartImage:  chartInfo.ChartImage,
+		ChartInfoId: chartInfo.ChartInfoId,
+		ChartName:   chartInfo.ChartName,
+	}
+	resp, err := ht.Post(url, param, data.Auth)
+	if err != nil {
+		utils.FileLog.Error("收藏失败,err:%v,resp:%v", err, resp)
+	}
+	var response HTResponse
+	err = json.Unmarshal([]byte(resp), &response)
+	if err != nil {
+		utils.FileLog.Error("收藏失败,解析应答失败:%v,应答结果:%s", err.Error(), resp)
+	}
+	if !response.Success {
+		utils.FileLog.Error("收藏失败,应答结果:%d[%s]", response.ErrCode, response.ErrMsg)
+		err = errors.New(response.ErrMsg)
+	}
+	return
+}
+func (ht *HTMiniFacade) UnCollect(data facade.BaseRequest) (err error) {
+	url := fmt.Sprintf("%s%s", utils.GetMiniUrl(target), unBookMarkUrl)
+	resp, err := ht.Post(url, data, data.Auth)
+	if err != nil {
+		utils.FileLog.Error("取消收藏失败,err:%v,resp:%v", err, resp)
+	}
+	return
+}
+func init() {
+	facade.RegisterMiniFacade(target, &HTMiniFacade{
+		BaseMiniFacade: facade.FacadeClient,
+	})
+}

+ 13 - 8
facade/mini_facde.go

@@ -19,7 +19,6 @@ var (
 
 	FacadeClient = BaseMiniFacade{
 		client: DefaultClient(),
-		data:   nil,
 	}
 )
 
@@ -33,16 +32,21 @@ func GetInstance(name string) ChartCollect {
 }
 
 type ChartCollect interface {
-	Collect(data interface{}) (err error)
-	UnCollect(data interface{}) (err error)
+	Collect(data BaseRequest) (err error)
+	UnCollect(data BaseRequest) (err error)
+}
+
+type BaseRequest struct {
+	Auth       string `json:"auth"`
+	UniqueCode string `json:"uniqueCode"`
 }
 
 func (bm *BaseMiniFacade) GetData() interface{} {
 	return bm.data
 }
 
-func (bm *BaseMiniFacade) Post(url string, data interface{}) (result string, err error) {
-	resp, err := bm.client.Post(url, data)
+func (bm *BaseMiniFacade) Post(url string, data interface{}, auth string) (result string, err error) {
+	resp, err := bm.client.Post(url, data, auth)
 	if err != nil {
 		return
 	}
@@ -54,7 +58,7 @@ func (bm *BaseMiniFacade) Post(url string, data interface{}) (result string, err
 	result = string(respBody)
 	return
 }
-func (bm *BaseMiniFacade) Deal(data interface{}) *BaseMiniFacade {
+func (bm *BaseMiniFacade) Deal(data BaseRequest) *BaseMiniFacade {
 	bm.data = data
 	return bm
 }
@@ -77,7 +81,7 @@ func (bm *BaseMiniFacade) HandleAction(action string, handler ChartCollect) (act
 
 type BaseMiniFacade struct {
 	client *HttpClient
-	data   interface{} //返回参数
+	data   BaseRequest //返回参数
 }
 
 type HttpClient struct {
@@ -137,7 +141,7 @@ func (hc *HttpClient) DoWithRetry(ctx context.Context, req *http.Request) (resp
 	}
 }
 
-func (hc *HttpClient) Post(url string, data interface{}) (resp *http.Response, err error) {
+func (hc *HttpClient) Post(url string, data interface{}, auth string) (resp *http.Response, err error) {
 	dataStr, err := json.Marshal(data)
 	if err != nil {
 		utils.FileLog.Error("请求data json序列化失败,err:" + err.Error())
@@ -145,6 +149,7 @@ func (hc *HttpClient) Post(url string, data interface{}) (resp *http.Response, e
 	body := io.NopCloser(strings.NewReader(string(dataStr)))
 	req, err := http.NewRequest(http.MethodPost, url, body)
 	req.Header.Set("Content-Type", "application/json")
+	req.Header.Set("Authorization", auth)
 	if err != nil {
 		utils.FileLog.Error("创建POST请求失败: %v", err.Error())
 	}

+ 3 - 3
main.go

@@ -2,16 +2,16 @@ package main
 
 import (
 	"eta/eta_chart_lib/controllers"
+	_ "eta/eta_chart_lib/facade/instance"
 	_ "eta/eta_chart_lib/routers"
 	"eta/eta_chart_lib/services/alarm_msg"
 	"eta/eta_chart_lib/utils"
 	"fmt"
-	"runtime"
-	"time"
-
 	"github.com/beego/beego/v2/adapter/logs"
 	beego "github.com/beego/beego/v2/server/web"
 	"github.com/beego/beego/v2/server/web/context"
+	"runtime"
+	"time"
 )
 
 func main() {

+ 2 - 2
services/excel/lucky_sheet.go

@@ -194,7 +194,7 @@ type LuckySheetDataValue struct {
 	VerticalType   int                    ` description:"垂直对齐,	0 中间、1 上、2下"`
 	Fs             interface{}            `json:"fs" description:"字体大小,14"`
 	Cl             interface{}            `json:"cl" description:"删除线,	0 常规 、 1 删除线"`
-	Ht             interface{}            `json:"ht" description:"水平对齐,	0 居中、1 左、2右"`
+	Ht             interface{}            `json:"instance" description:"水平对齐,	0 居中、1 左、2右"`
 	Vt             interface{}            `json:"vt" description:"垂直对齐,	0 中间、1 上、2下"`
 	//TextRotate     string                    `json:"tr" description:"竖排文字,	3"`
 	//RotateText     string                    `json:"rt" description:"文字旋转角度,	介于0~180之间的整数,包含0和180"`
@@ -219,7 +219,7 @@ type LuckySheetDataCellType struct {
 		VerticalType   int         `description:"垂直对齐,	0 中间、1 上、2下"`
 		Fs             interface{} `json:"fs" description:"字体大小,14"`
 		Cl             interface{} `json:"cl" description:"删除线,	0 常规 、 1 删除线"`
-		Ht             interface{} `json:"ht" description:"水平对齐,	0 居中、1 左、2右"`
+		Ht             interface{} `json:"instance" description:"水平对齐,	0 居中、1 左、2右"`
 		Vt             interface{} `json:"vt" description:"垂直对齐,	0 中间、1 上、2下"`
 		Un             interface{} `json:"un" description:""`
 		Bold           interface{} `json:"bl" description:"粗体,0 常规 、 1加粗	"`