โครงการนี้ต้องการความช่วยเหลือจากคุณ!
import (
"github.com/xen0n/go-workwx/v2" // package workwx
)
SDK ไคลเอนต์ Work Weixin (หรือที่เรียกว่า Wechat Work) สำหรับ Golang ที่ได้รับการทดสอบการต่อสู้และค่อนข้างจริงจังกับประเภทของมัน
ดำเนินการผลิตตั้งแต่ปลายปี 2018 โดยพุชการแจ้งเตือนทุกประเภทในระบบภายในของ Qiniu อย่างน้อย 2 ระบบ
SDK ไคลเอนต์ WeChat ขององค์กร Golang ฉันได้ลองใช้ในสภาพแวดล้อมการใช้งานจริงและจริงจังกับประเภทต่างๆ มาก
นับตั้งแต่สิ้นปี 2018 เป็นต้นมา มีการใช้ระบบภายในอย่างน้อยสองระบบใน Qiniu มาจนถึงทุกวันนี้ โดยส่งการแจ้งเตือนและการเตือนภัยต่างๆ
TODO แปลเป็นภาษาอังกฤษในขณะนี้ เนื่องจากบริการที่ครอบคลุมในที่นี้ไม่พร้อมให้บริการนอกประเทศจีน (AFAIK)
คำเตือน
ไลบรารีเวอร์ชัน v2 นี้อาจยังมีการเปลี่ยนแปลง API ที่เข้ากันไม่ได้ เช่น การปรับเปลี่ยนชื่อฟิลด์ ชื่อเมธอด ฯลฯ โปรดทราบ จะไม่มีแท็กเวอร์ชัน v2 จนกว่าเราจะจัดการมุมที่ทราบทั้งหมดแล้ว
หากคุณพึ่งพาไลบรารีนี้ โปรดตอบกลับตั๋วติดตามเวอร์ชัน v2 หรือแสดงปฏิกิริยาอิโมติคอนเพื่อแสดงทัศนคติของคุณ! ขณะนี้ผู้เขียนดูแลโครงการนี้ในช่วงเวลาว่างและต้องการคำติชมจากคุณจริงๆ
ฉันจำเป็นต้องใช้ Go เพื่อใช้งานการพุชข้อความแบบง่ายๆ ในที่ทำงาน และฉันก็คิดที่จะค้นหาไลบรารีโอเพ่นซอร์ส อย่างไรก็ตาม คุณภาพของโค้ดของ WeChat Golang SDK สำหรับองค์กรโอเพ่นซอร์สเพียงตัวเดียวที่มีอยู่นั้นไม่ดี ฉันต้องเขียนด้วยตัวเอง
อัปเดต : ห้องสมุดนี้ถูกเขียนมานานแล้ว ตอนนี้ (2019.08) มีโครงการที่คล้ายกันสามหรือสี่โครงการ อย่างไรก็ตาม หลังจากดู "ผลิตภัณฑ์คู่แข่ง" เหล่านี้แล้ว ฉันพบว่าการออกแบบประเภท อินเทอร์เฟซสาธารณะ การประมวลผลโทเค็นการเข้าถึง ฯลฯ ของไลบรารีของฉันก็ถือว่าไม่แย่ เหตุใดผู้คนจึงชอบฮาร์ดโค้ดคำขอ Host
ใช้ตัวแปรโกลบอล คลายแพ็กเพื่อคลายแพ็ก และแม้แต่เปิดเผยวิธีการภายใน
สาขา v2.x ของไลบรารีนี้รองรับ Go เวอร์ชันเสถียรล่าสุดเป็นอย่างน้อย ซึ่งปัจจุบันคือ go1.19 หากคุณต้องการใช้กับ Go เวอร์ชันก่อนหน้า โปรดย้ายไปที่เวอร์ชัน v1.x โค้ดที่นั่นยังรองรับ go1.17 เป็นอย่างน้อย
CI จะทำการทดสอบบน Go เวอร์ชันเสถียรปัจจุบันและเวอร์ชันเสถียรก่อนหน้าเท่านั้นที่สามารถรวม PR ได้เมื่อการทดสอบทั้งหมดผ่าน
หมายเหตุ: เนื่องจาก Go upstream มีการพัฒนาอย่างต่อเนื่อง เราจึงต้องมั่นใจว่าจะตามทันได้ในราคาถูก หาก go.mod
ระบุว่าเวอร์ชัน Go ค่อนข้างต่ำ ซึ่งจะขัดขวางการทำงานซ้ำหรือการสร้างใหม่ของโปรเจ็กต์ เราจะไม่พิจารณาเป็นพิเศษในการล็อกผู้ใช้ดาวน์สตรีมของเวอร์ชัน Go เพื่อทำให้การอัพเกรดที่จำเป็นมากช้าลง หากคุณยังคงมีความต้องการดังกล่าว โปรดแจ้งปัญหาเพื่อการสื่อสาร
Host
ซึ่งสามารถใช้เพื่อบล็อกเกตเวย์หลายชั้น การดีบักชั่วคราว และความต้องการแปลกๆ อื่นๆhttp.Client
แบบกำหนดเองWorkwxApp
ถูกสร้างขึ้นในสองขั้นตอน จากนั้นจึงใช้งานโดยตรงlowlevel
เพื่อแสดงอินเทอร์เฟซ API เปล่า แต่มีแนวโน้มว่าจะไม่ดำเนินการUserInfo
, Recipient
) เพื่อส่งเสริมสไตล์ Go แบบสำนวนpanic
ของเขาเลยแม้แต่น้อย จำเป็นต้องซ่อมแซมสถานการณ์ที่มีอยู่บางส่วนworkwxctl
เพื่อช่วยในการดีบักสำหรับรายละเอียด โปรดดูเอกสาร godoc นอกจากนี้ยังมีตัวอย่างไว้เพื่อใช้อ้างอิงอีกด้วย
ปัจจุบัน Markdown และข้อความประเภทอื่นๆ ไม่รองรับการส่งข้อความที่เป็นความลับ และจะมีการรายงานข้อผิดพลาดหากถูกบังคับให้ส่ง แล้วเหตุใดวิธีการส่งข้อความทั้งหมดจึงมีพารามิเตอร์ isSafe
?
ในด้านหนึ่ง ผู้ให้บริการ WeChat ระดับองค์กรมีแนวโน้มที่จะสนับสนุนการส่งข้อความประเภทอื่นๆ ที่เป็นความลับมากขึ้นในอนาคต และไม่ต้องการให้คอมไพล์รหัสไคลเอ็นต์ใหม่ในขณะนั้น ในทางกลับกัน การตอบกลับจะรายงาน ข้อผิดพลาดอยู่แล้ว และคุณจะไม่เก็บตรรกะนี้ไว้ ดังนั้นมันจะไม่มีการเปลี่ยนแปลง