الغرض: تستخدم الخدمات الأخرى وضع السحب، وتجري اتصالات RPC من خلال rpcx، وتحصل على رموز WeChat ذات الصلة. ويتم استخدام حساب WeChat الرسمي الخاص بالمستخدم بواسطة نظام أساسي تابع لجهة خارجية لتمرير الرموز المميزة ذات الصلة بمنصة الحساب الرسمي ومعرف تطبيق الحساب الرسمي المستضاف. لا يمكن إيقاف الخدمة لأكثر من 10 دقائق (يقوم المثيل بسحب crontab تلقائيًا بشكل أساسي لمسح مكون_access_token ورمز المصادقة المسبق للحساب العام لجهة خارجية، و 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]