package
1.1.13
Repository: https://github.com/accaolei/gochat.git
Documentation: pkg.go.dev

# README

微信小程序(Mini Program)

import (
    "github.com/shenghui0779/gochat"
    "github.com/shenghui0779/gochat/mp"
)

初始化小程序实例

wxmp := gochat.NewMP(appid, appsecret)

// 如果启用了服务器配置,需要设置配置项
wxmp.SetServerConfig(token, encodingAESKey)

授权

// 获取小程序授权的session_key
wxmp.Code2Session(ctx, code)

// 解密授权信息
wxmp.DecryptAuthInfo(dest, session_key, iv, encrypted_data)

接口调用凭据

// 获取小程序的access_token
wxmp.AccessToken(ctx)

用户信息

// 用户支付完成后,获取该用户的 UnionId,无需用户授权
// 微信支付订单号
wxmp.Do(ctx, access_token, mp.GetPaidUnionIDByTransactionID(dest, openid, transactionID))
// 微信支付商户订单号和微信支付商户号
wxmp.Do(ctx, access_token, mp.GetPaidUnionIDByOutTradeNO(dest, openid, mchid, outTradeNO))

消息

// 发送统一服务消息
wxmp.Do(ctx, access_token, mp.SendUniformMessage(openid, msg))

// 发送订阅消息
wxmp.Do(ctx, access_token, mp.SendSubscribeMessage(openid, msg))

// 发送模板消息(已废弃,请使用订阅消息)
wxmp.Do(ctx, access_token, mp.SendTemplateMessage(openid, msg))

// 发送客服文本消息
wxmp.Do(ctx, access_token, mp.SendKFTextMessage(openid, msg))

// 客服图文链接消息
wxmp.Do(ctx, access_token, mp.SendKFImageMessage(openid, msg))

// 发送客服图文链接消息
wxmp.Do(ctx, access_token, mp.SendKFLinkMessage(openid, msg))

// 发送客服小程序卡片消息
wxmp.Do(ctx, access_token, mp.SendKFMinipMessage(openid, msg))

// 下发当前输入状态(仅支持客服消息)
wxmp.Do(ctx, access_token, mp.SetTyping(openid, msg))

插件管理

// 向插件开发者发起使用插件的申请
wxmp.Do(ctx, access_token, mp.ApplyPlugin(pluginAppID, reason))

// 获取当前所有插件使用方(供插件开发者调用)
wxmp.Do(ctx, access_token, mp.GetPluginDevApplyList(dest, page, num))

// 查询已添加的插件
wxmp.Do(ctx, access_token, mp.GetPluginList(dest))

// 修改插件使用申请的状态(供插件开发者调用)
wxmp.Do(ctx, access_token, mp.SetDevPluginApplyStatus(action, appid, reason))

// 删除已添加的插件
wxmp.Do(ctx, access_token, mp.UnbindPlugin(pluginAppID))

小程序码

// 创建小程序二维码(数量有限)
wxmp.Do(ctx, access_token, mp.CreateQRCode(dest, path, options...))

// 获取小程序二维码(数量有限)
wxmp.Do(ctx, access_token, mp.GetQRCode(dest, path, options...))

// 获取小程序二维码(数量不限)
wxmp.Do(ctx, access_token, mp.GetUnlimitQRCode(dest, scene, options...))

内容安全

// 校验一张图片是否含有违法违规内容
wxmp.Do(ctx, access_token, mp.ImageSecCheck(filename))

// 异步校验图片/音频是否含有违法违规内容
wxmp.Do(ctx, access_token, mp.MediaSecCheckAsync(dest, mediaType, mediaURL))

// 检查一段文本是否含有违法违规内容
wxmp.Do(ctx, access_token, mp.MsgSecCheck(content))

图像处理

// 图片智能裁切
wxmp.Do(ctx, access_token, mp.AICrop(dest, filename))
wxmp.Do(ctx, access_token, mp.AICropByURL(dest, imgURL))

// 条码/二维码识别
wxmp.Do(ctx, access_token, mp.ScanQRCode(dest, filename))
wxmp.Do(ctx, access_token, mp.ScanQRCodeByURL(dest, imgURL))

// 图片高清化
wxmp.Do(ctx, access_token, mp.SuperreSolution(dest, filename))
wxmp.Do(ctx, access_token, mp.SuperreSolutionByURL(dest, imgURL))

OCR

// 身份证前面识别
wxmp.Do(ctx, access_token, mp.OCRIDCardFront(dest, mode, filename))
wxmp.Do(ctx, access_token, mp.OCRIDCardFrontByURL(dest, mode, imgURL))

// 身份证背面识别
wxmp.Do(ctx, access_token, mp.OCRIDCardBack(dest, mode, filename))
wxmp.Do(ctx, access_token, mp.OCRIDCardBackByURL(dest, mode, imgURL))

// 银行卡识别
wxmp.Do(ctx, access_token, mp.OCRBankCard(dest, mode, filename))
wxmp.Do(ctx, access_token, mp.OCRBankCardByURL(dest, mode, imgURL))

// 车牌号识别
wxoa.Do(ctx, access_token, oa.OCRPlateNumber(dest, mode, filename))
wxoa.Do(ctx, access_token, oa.OCRPlateNumberByURL(dest, mode, imgURL))

// 驾照识别
wxoa.Do(ctx, access_token, oa.OCRDriverLicense(dest, mode, filename))
wxoa.Do(ctx, access_token, oa.OCRDriverLicenseByURL(dest, mode, imgURL))

// 行驶证识别
wxmp.Do(ctx, access_token, mp.OCRVehicleLicense(dest, mode, filename))
wxmp.Do(ctx, access_token, mp.OCRVehicleLicenseByURL(dest, mode, imgURL))

// 营业执照识别
wxmp.Do(ctx, access_token, mp.OCRBusinessLicense(dest, mode, filename))
wxmp.Do(ctx, access_token, mp.OCRBusinessLicenseByURL(dest, mode, imgURL))

// 通用印刷体识别
wxmp.Do(ctx, access_token, mp.OCRPrintedText(dest, mode, filename))
wxmp.Do(ctx, access_token, mp.OCRPrintedTextByURL(dest, mode, imgURL))

临时素材

// 上传临时素材到微信服务器
wxmp.Do(ctx, access_token, mp.UploadMedia(dest, mediaType, filename))

// 获取客服消息内的临时素材
wxmp.Do(ctx, access_token, mp.GetMedia(dest, mediaID))

消息事件

// 验证消息事件签名
wxmp.VerifyEventSign(signature, items...)

// 事件消息解密
wxmp.DecryptEventMessage(msg_encrypt)

其它

// 调用服务平台提供的服务
wxmp.Do(ctx, access_token, mp.InvokeService(dest, data))

// 生物认证秘钥签名验证
wxmp.Do(ctx, access_token, mp.SoterVerify(dest, sign))

// 获取用户的安全等级(无需用户授权)
wxmp.Do(ctx, access_token, mp.GetUserRiskRank(dest, data))

# Functions

AICrop 图片智能裁切.
AICropByURL 图片智能裁切.
ApplyPlugin 向插件开发者发起使用插件的申请.
CreateQRCode 创建小程序二维码(数量有限).
GetMedia 获取客服消息内的临时素材.
GetPaidUnionIDByOutTradeNO 用户支付完成后,获取该用户的 UnionId,无需用户授权.
GetPaidUnionIDByTransactionID 用户支付完成后,获取该用户的 UnionId,无需用户授权.
GetPluginDevApplyList 获取当前所有插件使用方(供插件开发者调用).
GetPluginList 查询已添加的插件.
GetQRCode 获取小程序二维码(数量有限).
GetUnlimitQRCode 获取小程序二维码(数量不限).
GetUserRiskRank 获取用户的安全等级(无需用户授权).
ImageSecCheck 校验一张图片是否含有违法违规内容.
InvokeService 调用服务平台提供的服务.
LogisticsAddOrder 物流助手生成运单.
MediaSecCheckAsync 异步校验图片/音频是否含有违法违规内容.
MsgSecCheck 检查一段文本是否含有违法违规内容.
New returns new wechat mini program.
OCRBankCard 银行卡识别.
OCRBankCardByURL 银行卡识别.
OCRBusinessLicense 营业执照识别.
OCRBusinessLicenseByURL 营业执照识别.
OCRDriverLicense 驾照识别.
OCRDriverLicenseByURL 驾照识别.
OCRIDCardBack 身份证背面识别.
OCRIDCardBackByURL 身份证背面识别.
OCRIDCardFront 身份证前面识别.
OCRIDCardFrontByURL 身份证前面识别.
OCRPlateNumber 车牌号识别.
OCRPlateNumberByURL 车牌号识别.
OCRPrintedText 通用印刷体识别.
OCRPrintedTextByURL 通用印刷体识别.
OCRVehicleLicense 行驶证识别.
OCRVehicleLicenseByURL 行驶证识别.
ScanQRCode 条码/二维码识别.
ScanQRCodeByURL 条码/二维码识别.
SendKFImageMessage 发送客服图片消息.
SendKFLinkMessage 发送客服图文链接消息.
SendKFMinipMessage 发送客服小程序卡片消息.
SendKFTextMessage 发送客服文本消息.
SendSubscribeMessage 发送订阅消息.
SendTemplateMessage 发送模板消息(已废弃,请使用订阅消息).
Uniform 发送统一服务消息.
SetDevPluginApplyStatus 修改插件使用申请的状态(供插件开发者调用).
SetTyping 下发当前输入状态(仅支持客服消息).
SoterVerify 生物认证秘钥签名验证.
SuperreSolution 图片高清化.
SuperreSolutionByURL 图片高清化.
UnbindPlugin 删除已添加的插件.
UploadMedia 上传临时素材到微信服务器.
WithQRCodeAutoColor specifies the `auto_color` to qrcode.
WithQRCodeIsHyaline specifies the `is_hyaline` to qrcode.
WithQRCodeLineColor specifies the `line_color` to qrcode.
WithQRCodePage specifies the `page` to qrcode.
WithQRCodeWidth specifies the `width` to qrcode.

# Constants

# Variables

图片.
拍照模式.
扫描模式.
向插件开发者发起使用插件的申请.
同意申请.
获取当前所有插件使用方(供插件开发者调用).
删除已拒绝的申请者.
拒绝申请.
查询已添加的插件.
删除已添加的插件.
音频.
图片.

# Structs

AccessToken 小程序access_token.
AICropResult 图片裁切结果.
AuthSession 小程序授权Session.
BankCard 银行卡.
BusinessLicense 营业执照.
CropPosition 裁切位置.
DeliverOrderInsured insured.
DeliverOrderSender 发件人数据结构.
DeliverOrderService 物流公司服务类型.
DeliverOrderShop 商家数据结构.
DriverLicense 驾照.
IDCardBack 身份证背面.
IDCardFront 身份证前面.
ImagePosition 图片位置.
ImageSize 图片尺寸.
InvokeData 服务调用数据.
No description provided by the author
KFImageMessage 客服图片消息.
KFLinkMessage 客服图文链接消息.
KFMinipMessage 客服小程序卡片消息.
KFTextMessage 客服文本消息.
LogisticsAddOrderReq 物流助手生成运单请求结构体.
LogisticsAddOrderResult 物流助手生成运单返回结构体.
Media 临时素材.
MediaSecAsyncResult 异步校验结果.
MediaUploadResult 临时素材上传信息.
MessageMinip 跳转小程序.
MP 微信小程序.
OATemplateMessage 公众号模板消息.
OCRPosition 识别位置.
PaidUnionID 支付用户unionid.
PhoneInfo 用户手机号绑定信息.
PlateNumber 车牌号.
PluginDevApplyInfo 插件使用方信息.
PluginInfo 插件信息.
Position 位置信息.
PrintedText 通用印刷体.
PrintedTextItem 通用印刷体内容项.
QRCode 小程序二维码.
QRCodeScanData 二维码扫描数据.
QRCodeScanResult 二维码扫描结果.
SoterSignature 生物认证秘钥签名.
SoterVerifyResult 生物认证秘钥签名验证结果.
SubscribeMessage 小程序订阅消息.
SuperreSolutionResult 图片高清化结果.
TemplateMessage 小程序模板消息.
UniformMessage 统一服务消息.
UserInfo 用户信息.
UserRiskData 用户风控数据.
UserRiskRank 用户风控结果.
VehicleLicense 行驶证.
WaterMark 水印.
WaybillDataItem waybill data.

# Interfaces

AuthInfo 小程序授权信息.

# Type aliases

MediaType 素材类型.
MessageBody 消息内容体.
OCRMode 识别模式.
PluginAction defines for plugin action params.
QRCodeOption configures how we set up the wxa_qrcode.
风控场景.
SecMediaType 检测的素材类型.
TypeCommand 输入状态命令.