wechat-go 是一个简洁、高效的 golang 版本微信 SDK,支持微信应用和商户。
在概念清晰的基础上追求更少的编码、更开放、灵活的结构。
本库不是在微信官方API基础上进一步封装,造出一个新的框架级的重体量SDK。而是努力成为微信官方文档的Golang版快速工具箱。
努力让开发者在学习微信官方文档后,不再有新的学习曲线(另学一套)!
所以本库目标是:极致、简单!不创另行发明新理念、不另行创造新架构!
根据微信的文档,微信的业务有两个不同的领域:
go get github.com/blusewang/wechat
订阅号
、服务号
、小程序
、App
MessageData
。内部实现了识别并解密消息、校验请求的Query
数据。Query
中的access_token
数据。access_token
、js_sdk_ticket
这类需要每7200秒刷新一次的,放到crontab
中。
对此不满的,完全可以在使用本库的基础上,采用自己熟悉的方式、甚至自己设计方案来替代crontab
。
一个基础账号对象MpAccount
,它有三个行为:
UrlSign(url string)
ReadMessage(req *http.Request)
NewMpReq(path mp_api.MpApi) *mpReq
只实现了很有限的数据。若需要使用本库自带的数据结构之外的API。完全可以参考本库的数据结构写法,自行另起书写(注意不同业务的tag名称不同)。 并能得到一样的兼容体验!
a := MpAccount{ AppId: "your_app_id", AccessToken: "38_XtyPcVUODHd8q3TNYPVGAZ2WNRx_nW4gnclObbv78tsEa1Y_bwdkLALDMEb4372wYqcC_CanjU9O0Zw4MqHiqxrIukk_G4ElAUxyv_ASOb0V2y8647cbxbYU-G8CbtnPdLNub8NrqtUVrSTnWAPaAGALPE", // ... ServerHost: mp_api.ServerHostShangHai, // 选择离自己最近的服务主机 } // 一个简单的只带access_token的GET API var list mp_api.MessageCustomServiceKfListRes if err := a.NewMpReq(mp_api.MessageCustomServiceKfList).Bind(&list).Do(); err != nil { t.Error(err) } log.Println(list) // 一个POST API var rs mp_api.AccountShortUrlRes err = a.NewMpReq(mp_api.AccountShortUrl).SendData(mp_api.AccountShortUrlData{ Action: mp_api.ShortUrlAction, LongUrl: "https://developers.weixin.qq.com/doc/offiaccount/Account_Management/URL_Shortener.html", }).Bind(&rs).Do() if err != nil { t.Error(err) } log.Println(rs) // 一个上传媒体文件的API err = a.NewMpReq(mp_api.MessageCustomServiceKfAccountUploadHeadImg).Query(mp_api.MessageCustomServiceKfAccountUploadHeadImgQuery{ KfAccount: "1@1", }).Upload(resp.Body, "png") if err != nil { t.Error(err) }
App、JSAPI、小程序下单
分账
付款至微信零钱
付款至个人银行卡
发红包
MD5
、HMAC-SHA256
加密一个基础账号对象MchAccount
,它有以下行为:
NewMchReq(url string)
OrderSign4App(or mch_api.PayUnifiedOrderRes)
OrderSign(or mch_api.PayUnifiedOrderRes)
PayNotify(pn mch_api.PayNotify)
RsaEncrypt(plain string)
只实现了很有限的数据。若需要使用本库自带的数据结构之外的API。完全可以参考本库的数据结构写法,自行另起书写(建议参考structs.go中的方式书写)。 能得到一样的兼容体验!
mch := MchAccount{} var data mch_api.PayProfitSharingRes var body = mch_api.PayProfitSharingData{ TransactionId: "4200000531202004307536721907", OutOrderNo: "TSF_216144_1065_ye7DvHdSed", } _ = body.SerReceivers([]mch_api.PayProfitSharingReceiver{ { Type: "", Account: "", Amount: 10, Description: "", }, }) err := mch.NewMchReq(mch_api.PayProfitSharing). Send(&body). // 注意:发送的数据需传指针,以便自动填充基础信息和签名 UseHMacSign(). // 指定使用HMAC-SHA256 UsePrivateCert(). // 指定使用私有证书通信 Bind(&data).Do() // 传指针 log.Println(err) log.Println(data)
NewRandStr
生成符合微信要求随机字符LimitString
限制长度,并将微信不支持的字符替换成'x',能满足公众号App的字符要求SafeString
安全地限制长度,并将微信不支持的字符替换成'x',能满足商户平台的字符要求11月10日,新加坡旅游局、新加坡会议和展览组织者和供应商协会(SACEOS)与微信在亚洲顶尖会展中心之一——新达城新加坡国际会议展览中心举办“WeChat go欢迎计划”发布会,全面助推微信生态在新加坡的落地,用微信生态提升中国游客和商务人士的赴新旅游和参展体验。作为会展之都,新加坡当天正式发布了全球首个国家级商旅微信小程序“智荟新加坡(MeetSG)”,致力于为中国商旅人士提供高品质境外参展参
wechat-php-sdk 微信公众平台php版开发包 支持消息加解密方式的明文模式、兼容模式、安全模式 支持自动接入微信公众平台(步骤) 功能模块 Wechat (处理自动接入、获取与回复微信消息)(使用说明) 接收普通消息/事件推送 被动回复(文本、图片、语音、视频、音乐、图文) 转发到多客服接口 Api (处理需要access_token的主动接口)(使用说明) 主送发送客服消息(文本
function dge() { var isMobile = window.navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Wi
go中time比较时需要注意写法 package main import ( "fmt" "time" ) func main() { format := "2006-01-02 15:04:05" now := time.Now() //now, _ := time.Parse(format, time.Now().Format(format)) a, _ := time.Parse(forma
项目: 介绍: 项目是用golang 实现,引用vegeta 的lib来实现压力测试,其实vegeta部分已经实现的功能比较完善了,但是上手还是有点难度的,在实际使用中,包装一层,这样使用起来比较简单,对有这方面的需求但是不想花太多精力,可以考虑。 项目内容 1. 结构 --conf --conf.yml --loadConf.go --lib --stressGet.go --stressPos
本文向大家介绍利用django+wechat-python-sdk 创建微信服务器接入的方法,包括了利用django+wechat-python-sdk 创建微信服务器接入的方法的使用技巧和注意事项,需要的朋友参考一下 1、版本说明 :python 2.7.10, Django (1.6.11.6),centos7 2、步骤说明: A、django 建立项目 之后启动服务器,看看是否正确: 配置
新浪微博C++ SDK有如下2个地址。 weibo-sdk-util(地址为 https://code.google.com/p/weibo-sdk-util )包含cppunit,httpengine,libutil三个库 weibo-sdk(地址为 https://code.google.com/p/weibo-sdk )包含weibosdk和test二个项目。 里面的库是使用vs2008编译
web3.version属性记录了web3容器对象的版本。 调用方法: Web3.version web3.version 返回值: String: 当前版本字符串 示例代码: web3.version; > "1.0.0"
wechat-sdk 是微信 API 开发 SDK。具体使用方法请看测试用例。
我对Kubernetes还很陌生,只是从一个示例项目开始学习。我目前正在运行一个.NET微服务,它需要一个MongoDB作为数据库。微服务被打包到Docker映像中,我创建了一个单独的Helm图表来正确部署我的微服务和所需的MongoDB。 是这样做的吗?还是我错过了什么?所有给我指明正确方向的线索都非常欢迎!
EasySwoole 2.0.1 1、EasySwooleEvent.php中的全部方法变更为静态方法。老代码中新增static关键字即可。 2、EasySwoole的socket控制器ParserInterface全部变更为静态方法,老代码请新增static关键字在协议解析器的各个方法,并修改注册的事件回调函数的第二个参数为解析器的名称:class EasySwoole 2.1.1 相对于2.0
本文向大家介绍Python版微信红包分配算法,包括了Python版微信红包分配算法的使用技巧和注意事项,需要的朋友参考一下 红包分配算法代码实现发给大家,祝红包大丰收! python 2.py 0.01 10 20 30 0.01 10 20 30 第1个人拿到红包数为:1.34, 余额为: 18.66 第2个人拿到红包数为:1.06, 余额为: 17.60 第3个人拿到红包数为:1.08, 余额
类属性 $lang 语言,默认为zh_CN $openidMode openid从哪个字段取,默认为openid 可选值: 值 描述 \Yurun\OAuthLogin\Weixin::OPEN_ID 使用openid \Yurun\OAuthLogin\Weixin::UNION_ID 使用unionid \Yurun\OAuthLogin\Weixin::UNION_ID_FIRST 优先使用