62 lines
1.5 KiB
Go
62 lines
1.5 KiB
Go
|
package content
|
|||
|
|
|||
|
import (
|
|||
|
"fmt"
|
|||
|
|
|||
|
"github.com/silenceper/wechat/v2/miniprogram/context"
|
|||
|
"github.com/silenceper/wechat/v2/util"
|
|||
|
)
|
|||
|
|
|||
|
const (
|
|||
|
checkTextURL = "https://api.weixin.qq.com/wxa/msg_sec_check?access_token=%s"
|
|||
|
checkImageURL = "https://api.weixin.qq.com/wxa/img_sec_check?access_token=%s"
|
|||
|
)
|
|||
|
|
|||
|
// Content 内容安全
|
|||
|
type Content struct {
|
|||
|
*context.Context
|
|||
|
}
|
|||
|
|
|||
|
// NewContent 内容安全接口
|
|||
|
func NewContent(ctx *context.Context) *Content {
|
|||
|
return &Content{ctx}
|
|||
|
}
|
|||
|
|
|||
|
// CheckText 检测文字
|
|||
|
// @text 需要检测的文字
|
|||
|
func (content *Content) CheckText(text string) error {
|
|||
|
accessToken, err := content.GetAccessToken()
|
|||
|
if err != nil {
|
|||
|
return err
|
|||
|
}
|
|||
|
response, err := util.PostJSON(
|
|||
|
fmt.Sprintf(checkTextURL, accessToken),
|
|||
|
map[string]string{
|
|||
|
"content": text,
|
|||
|
},
|
|||
|
)
|
|||
|
if err != nil {
|
|||
|
return err
|
|||
|
}
|
|||
|
return util.DecodeWithCommonError(response, "ContentCheckText")
|
|||
|
}
|
|||
|
|
|||
|
// CheckImage 检测图片
|
|||
|
// 所传参数为要检测的图片文件的绝对路径,图片格式支持PNG、JPEG、JPG、GIF, 像素不超过 750 x 1334,同时文件大小以不超过 300K 为宜,否则可能报错
|
|||
|
// @media 图片文件的绝对路径
|
|||
|
func (content *Content) CheckImage(media string) error {
|
|||
|
accessToken, err := content.GetAccessToken()
|
|||
|
if err != nil {
|
|||
|
return err
|
|||
|
}
|
|||
|
response, err := util.PostFile(
|
|||
|
"media",
|
|||
|
media,
|
|||
|
fmt.Sprintf(checkImageURL, accessToken),
|
|||
|
)
|
|||
|
if err != nil {
|
|||
|
return err
|
|||
|
}
|
|||
|
return util.DecodeWithCommonError(response, "ContentCheckImage")
|
|||
|
}
|