From 17110618a81347281451c82a6b0b1d96f27a34eb Mon Sep 17 00:00:00 2001 From: jiangyong Date: Sat, 2 May 2026 09:19:43 +0800 Subject: [PATCH] table --- unify/message.go | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/unify/message.go b/unify/message.go index 0736808..0c0f52c 100644 --- a/unify/message.go +++ b/unify/message.go @@ -6,6 +6,7 @@ import ( "net/url" "git.u8t.cn/open/gosdk/util" + "git.u8t.cn/open/goutil" ) type Message struct { @@ -26,6 +27,10 @@ func NewMessage(addreess string, token string, sender string) *Message { } func (m *Message) Send(args ...string) error { + return m.SendText(args...) +} + +func (m *Message) SendText(args ...string) error { var receiver, content, fingerprint, level, count string if len(args) == 2 { receiver, content = args[0], args[1] @@ -36,7 +41,7 @@ func (m *Message) Send(args ...string) error { } else if len(args) > 4 { receiver, content, fingerprint, level, count = args[0], args[1], args[2], args[3], args[4] } - reqUrl := fmt.Sprintf("%s/admin/message/send?sender=%s&receiver=%s&fingerprint=%s&count=%s&level=%s&content=%s", m.address, m.sender, receiver, fingerprint, count, level, url.QueryEscape(content)) + reqUrl := fmt.Sprintf("%s/admin/message/send?sender=%s&receiver=%s&type=text&fingerprint=%s&count=%s&level=%s&content=%s", m.address, m.sender, receiver, fingerprint, count, level, url.QueryEscape(content)) body, err := util.HttpGet(reqUrl, map[string]string{ "x-token": m.token, }) @@ -52,3 +57,27 @@ func (m *Message) Send(args ...string) error { } return nil } + +func (m *Message) SendTable(receiver string, table *goutil.TableData) error { + content := goutil.EncodeJSON(table) + reqUrl := fmt.Sprintf("%s/admin/message/send", m.address) + reqData := make(map[string]interface{}) + reqData["type"] = "table" + reqData["content"] = content + reqData["receiver"] = receiver + reqData["sender"] = m.sender + + body, err := util.HttpPostJson(reqUrl, map[string]string{"x-token": m.token}, + []byte(goutil.EncodeJSON(reqData))) + if err != nil { + return err + } + var rsp util.Response + if err := json.Unmarshal(body, &rsp); err != nil { + return err + } + if rsp.Code != 0 { + return fmt.Errorf("%d:%s", rsp.Code, rsp.Message) + } + return nil +}