import "../base.api"

type (
    SignatureResp {
        BaseDataInfo

        // 临时签名
        Data *string `json:"data"`
    }

    MessageReq {
        // 大模型生成内容
        UserId *uint64 `json:"user_id"`

        Text *string `json:"text"`
    }

    ChatReq {
        // 大模型生成内容
        AvatarId *string `json:"avatar_id"`

        UserId *uint64 `json:"user_id"`

        Text *string `json:"text"`
    }
)

@server(
	group: xiaoice
)

service Wechat {
	// get xiaoice signature | 获取小冰签名
    @handler signatureGen
    get /api/xiaoice/signature () returns (SignatureResp)

    // gen gptbots | 调用gptbots
    @handler gptbotsMessage
    post /api/xiaoice/message (MessageReq) returns (BaseDataInfo)

    // gen gptbots | message 接口的升级版,支持 avatar_id 参数
    @handler gptbotsChat
    post /api/xiaoice/chat (ChatReq) returns (BaseDataInfo)
}