วัตถุประสงค์: บริการอื่นๆ ใช้โหมดดึง ดำเนินการสื่อสาร RPC ผ่าน rpcx และรับโทเค็น WeChat ที่เกี่ยวข้อง บัญชีสาธารณะ WeChat ของผู้ใช้ถูกใช้โดยแพลตฟอร์มบุคคลที่สามเพื่อปัดโทเค็นที่เกี่ยวข้องของแพลตฟอร์มบัญชีสาธารณะและแอปบัญชีสาธารณะที่ได้รับการจัดการ ไม่สามารถหยุดบริการได้นานกว่า 10 นาที (อินสแตนซ์จะดึง crontab โดยอัตโนมัติ) ส่วนใหญ่จะแปรงส่วนประกอบ _access_token และรหัส preauth ของบัญชีสาธารณะบุคคลที่สาม และ authorizer_access_token และ authorizer_refresh_token ของบัญชีสาธารณะ
ประโยชน์ที่ได้รับ: เซิร์ฟเวอร์ส่งต่อแพลตฟอร์มบุคคลที่สามของบัญชีสาธารณะ WeChat ใช้เพื่อรีเฟรชโทเค็นของแพลตฟอร์มบัญชีสาธารณะเองและโทเค็นบัญชีสาธารณะที่โฮสต์ ช่วยให้นักพัฒนามุ่งเน้นไปที่ตรรกะทางธุรกิจของแพลตฟอร์มบุคคลที่สามของบัญชีสาธารณะ WeChat เท่านั้น ในขณะที่ อินสแตนซ์ธุรกิจสามารถเริ่มต้นใหม่ได้ซ้ำๆ โดยจะไม่มีผลกระทบใดๆ ต่อบัญชีทางการที่โฮสต์
วิธีการจัดเก็บ: etcd จัดเก็บที่อยู่บริการ rpc แพลตฟอร์มบัญชีอย่างเป็นทางการของ WeChat และโทเค็นบัญชีอย่างเป็นทางการ ใช้คุณสมบัติ ttl ของ etcd และเฝ้าดูและรีเฟรช
1. 服务启动后,立即读取etcd中的所有微信公众平台和公众号数据,加载到内存中。 并监听所有token
มาตรฐาน go get
:
$ go get - v - u github . com / 1046102779 / wx_relay_server
type WxRelayServer struct {}
// 获取公众号平台基本信息,包括appid,token等信息
func ( t * WxRelayServer ) GetOfficialAccountPlatformInfo ( in * pb. OfficialAccountPlatform , out * pb. OfficialAccountPlatform ) error
// 存储托管公众号的token相关信息
func ( t * WxRelayServer ) StoreOfficialAccountInfo ( in * pb. OfficialAccount , out * pb. OfficialAccount ) error
// 获取公众号token信息, 用于公众号第三方平台发起公众号的托管业务
func ( t * WxRelayServer ) GetOfficialAccountInfo ( in * pb. OfficialAccount , out * pb. OfficialAccount ) error
// 刷新component_verify_ticket, 并同时中继服务器刷公众号第三方平台的其他token
func ( t * WxRelayServer ) RefreshComponentVerifyTicket ( in * pb. ComponentVerifyTicket , out * pb. ComponentVerifyTicket ) error
希望与大家一起成长,有任何该服务运行或者代码问题,可以及时找我沟通,喜欢开源,热爱开源, 欢迎多交流
联系方式:[email protected]