package uinapp

import (
	"encoding/json"
	"errors"
	"fmt"
	"git.rosy.net.cn/baseapi/utils"
	"net/http"
	"strings"
)

type SendMsgRes struct {
	Code int64  `json:"code"`
	Msg  string `json:"msg"`
	Data struct {
		TaskId struct {
			Cid string `json:"cid"`
		}
	} `json:"data"`
}

func (a *API) SendMsgByUinApp(parma map[string]interface{}) error {
	if _, err := a.CheckTokenIsExpire(); err != nil {
		return err
	}

	data, _ := json.Marshal(parma)
	fmt.Println(string(data))
	result, err := a.AccessAPI(BaseUrl+a.appId, PushMsgByCid, http.MethodPost, parma)
	if err != nil && !strings.Contains(err.Error(), "success") {
		return err
	}

	var sendMsgRes *SendMsgRes
	if err := utils.Map2StructByJson(result, &sendMsgRes, false); err != nil {
		return err
	}
	if sendMsgRes.Code != 0 {
		return errors.New(sendMsgRes.Msg)
	}
	return nil
}
