Open twgcode opened 1 year ago
在使用 sdk 发送文本消息使用 larkim.MessageText 生成消息内容时 有一个体验不好的地方,业务代码
errInfo 会有换行符 导致 生成的消息内容不符合要求,然后发送消息直接失败
我看 larkim.MessageText 使用的这种构造方式
能不能改成类似这样的
import ( "encoding/json" "strings" ) type MessageText struct { builder strings.Builder } func NewMessageTextBuilder() *MessageText { m := &MessageText{} return m } func (t *MessageText) Text(text string) *MessageText { t.builder.WriteString(text) return t } func (t *MessageText) TextLine(text string) *MessageText { t.builder.WriteString(text) t.builder.WriteString("\n") return t } func (t *MessageText) Line() *MessageText { t.builder.WriteString("\n") return t } func (t *MessageText) AtUser(userId, name string) *MessageText { t.builder.WriteString(`<at user_id="`) t.builder.WriteString(userId) t.builder.WriteString(`">`) t.builder.WriteString(name) t.builder.WriteString("</at>") return t } func (t *MessageText) AtAll() *MessageText { t.builder.WriteString(`<at user_id="all">所有人</at>`) return t } func (t *MessageText) Build() (data string) { var tmp []byte tmp, _ = json.Marshal(map[string]string{"text": t.builder.String()}) data = string(tmp) // TODO 后面优化成高效转化 return }
这样 感觉使用起来会舒服很多
在使用 sdk 发送文本消息使用 larkim.MessageText 生成消息内容时 有一个体验不好的地方,业务代码
errInfo 会有换行符 导致 生成的消息内容不符合要求,然后发送消息直接失败
我看 larkim.MessageText 使用的这种构造方式
能不能改成类似这样的
这样 感觉使用起来会舒服很多