package wework import ( "fmt" "github.com/silenceper/wechat/v2" "github.com/silenceper/wechat/v2/cache" "github.com/silenceper/wechat/v2/work/config" "github.com/silenceper/wechat/v2/work/msgaudit" "github.com/xen0n/go-workwx" _ "github.com/xen0n/go-workwx" // package workwx ) var ( WeWorkCorpID = "ww5008ae926e352838" WeWorkFinanceCorpSecret = "-A48aGB1zZYURAPJBgYk5Lpaqx_j7sGgUL7gUVfzfcc" //企业微信 会话存档secret WeWorkExternalContactCorpSecret = "LgKgtar8gxnKlh_GO8VcvDa9V1oEO_A8o5qPjQoj4to" //企业微信 客户联系 secret //WeWorkContactCorpSecret = "ER4eEIski4oGVXjSwZ2uCTL_r0h5qERQz8vvOxE3xsM" //企业微信 通讯录 secret agentID = int64(0) UserNameAgentID = int64(1000011) WeWorkUserNameAgentSecret = "fkzl42sVb4OuwePxJ1WaUvhCAfpwiCyIG_1hLJzF8Qc" //企业微信 自建应用的获取员工姓名的 secret NotifyToken = "uPK8fG9xHfQaWuhNnGGEhN" NotifyEncodingAESKey = "N57BVy29HoxTlSlCJfm7cwLWu1KUjvEu5oqnyJXuMfm" WeWorkFinanceCorpRasPrivateKey = ` -----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEAtbdCeRcXRrq/4sa8k/1aCRmSjZxHYKy/wG/iqX5GkX86T8xi ZOUgD+2eVKGwa8PJK2aH6DGWnGTDUgPr4/vTyToSf4roA+pJADOA4dtIlxUv3Rh2 n+fI/O8spk+IZnZshhQIkpfYQUH9XKOm8EHAA9yYk3fmZh60iJ9R3cvQoscqEC+6 K0VnlKvfiz3XpB+zK9yIOWWpqdtjIHWOCKzwZKqTjSheLBfDDKmu7N/YMquFBLvf rIPW9A1cBAo4b4tR8fbciuhlQymZQjn1RQAidZDwjnGZCTm10G/3xZSw8BNeTqjt TThTk0YTxE1fnEVKwfSFk6BxQDVcg40u3K960QIDAQABAoIBAAOMCHbjIb/ucMTt Mqyj1yBS2La9bHJBZPvNY0wCLD/2Tw3UND56b3oIHh1SS6aK25Amj/QTFbjHSb29 2FqqpXtp0Acfz8AV0Gd52ePuuxfB4N2MtvIPnO98/q7fYg739E3YscMkxiKd9mNa yW0qp2Qb5/mG718ibc016OvuqMuolYy96M6hmlLhbE0n6WQbw5i1t2QUPhLbABpa crBWSdWtJwku7WVETX9TGe3LZDNnjFWv95UnBsyajkI21NTLmY4VlqvUeT/ASftG su2aujY3EjNu++aGeAcI5f1kPi+w0cI02GDUA9VAe8tsR9GZ8G53K/kAUAfmwHKG 81e8wi0CgYEAt5UwxXbCYS7aAVaselAm4U+uP8yAi+S+/kOZYCn4x2j/ceTSLAKT vhcsj1+f5Y3ScmLZXin58hkG3v7xS5B0WJ+yR8i8PEarEmbrttY707P5mfsXJS2x b7R5zhcIs3mvkHOH1dhZkyNlqo2YCMkUxCZdWnxde5DOx64Lz0X3v+UCgYEA/WWK oL9vrDK9kdhFaSGC6OD4lM+gS6CTHzOAKrYI00o3kkGiRlXNTzob9zLuzRzeU/k5 wMXoAj8pvI2b/jTNws12G+dqVKq9He6hgHXwntCLGQnixACuIrAQLFNL/Kze4unE XtBLiIA5DbqSEfVO1kYFC4mr6i+E7e4ws8AfKH0CgYBmDyjH/lfd00AbUmYcsYaL 59JFYZltLEQJ8ubHkU3e/j5UwRMeqGgeW5/ILS8lXQzLzqxtLwTnVIZ/Xlgi3DHy OwXP5obPM7JTTqhoQv2Lmhh/RBn/70EfisPUkPWjYVj7A19WwSo7JIiWopUM/Uzw Jyvq7AzEbyKl29pw5sLvCQKBgQC0GZuyLN4+UcITCtgqpLrasit7+SZBGlv27S/H K6KSKkndFfE0dH98NBz0UasQ9de/b3/w17jS//m2HiAlSXqFXmr34j7c9o173MPE /g6LkkWLAk++Z41c8i5MkteLO4MfXG9JxForJpdmfpibUvM5sIKddLhPtn6QbZ8H 4yFCMQKBgQCgojMUEo3YQLh35sFFGuUemqmCU7/xj6BrjRX49o90MWXIeDIR2EhP nCGRqeOfiUR69ZrjOohlt//2PWmlE1Y8v/pKmwfqZdB/xtn3klxJaAy708TrjDe2 +0PzPXuFP5iyIxa44mEakRvw9RbCvXg5VNiwztHoWj+Om8P9+LMCgw== -----END RSA PRIVATE KEY-----` ) type WeWorkMsgAuditClient struct { Client *msgaudit.Client } type WeWorkExternalContactClient struct { Client *workwx.WorkwxApp } type WeWorkMsgAuditApiClient struct { Client *workwx.WorkwxApp } type WeWorkUserNameClient struct { Client *workwx.WorkwxApp } func NewWeWorkMsgAuditClient() *WeWorkMsgAuditClient { wc := wechat.NewWechat() memory := cache.NewMemory() //memory := cache.NewRedis(global.Redis) cfg := &config.Config{ CorpID: WeWorkCorpID, CorpSecret: WeWorkFinanceCorpSecret, AgentID: "", Cache: memory, RasPrivateKey: WeWorkFinanceCorpRasPrivateKey, Token: "", EncodingAESKey: "", } wework := wc.GetWork(cfg) client, err := wework.GetMsgAudit() if err != nil { return nil } return &WeWorkMsgAuditClient{ Client: client, } } func NewWeWorkExternalContactClient() *WeWorkExternalContactClient { client := workwx.New(WeWorkCorpID) // work with individual apps app := client.WithApp(WeWorkExternalContactCorpSecret, agentID) return &WeWorkExternalContactClient{ Client: app, } } func NewWeWorkUserNameClient() *WeWorkUserNameClient { client := workwx.New(WeWorkCorpID) // work with individual apps app := client.WithApp(WeWorkUserNameAgentSecret, UserNameAgentID) return &WeWorkUserNameClient{ Client: app, } } func NewWeWorkMsgAuditApiClient() *WeWorkMsgAuditApiClient { client := workwx.New(WeWorkCorpID) // work with individual apps app := client.WithApp(WeWorkFinanceCorpSecret, agentID) return &WeWorkMsgAuditApiClient{ Client: app, } } func (we *WeWorkExternalContactClient) GetExternalContact(externalUserid string) (ret *workwx.ExternalContactInfo, err error) { //ret, err := we.Client.GetExternalContact("wmPhSiBwAA8bqgBzwlPcttfPZbZh7heQ") ret, err = we.Client.GetExternalContact(externalUserid) return } func (we *WeWorkExternalContactClient) BatchListExternalContact(userId string) { //userId := "YanLiNa" ret, err := we.Client.BatchListExternalContact(userId, "", 100) if err != nil { fmt.Println(err) return } fmt.Println(ret) } func (wa *WeWorkMsgAuditApiClient) GetMsgAuditGroupChat(roomId string) (ret *workwx.MsgAuditGroupChat, err error){ // roomId := "wrPhSiBwAAqC4Ctn430KPc-TEu8UtmAw" ret, err = wa.Client.GetMsgAuditGroupChat(roomId) if err != nil { fmt.Println(err) return } fmt.Println(ret) return } func (we *WeWorkUserNameClient) GetUser(userId string) (ret *workwx.UserInfo, err error) { ret, err = we.Client.GetUser(userId) if err != nil { fmt.Println(err) return } fmt.Println(ret) return }