Proyek ini membutuhkan bantuan Anda!
import (
"github.com/xen0n/go-workwx/v2" // package workwx
)
SDK klien Work Weixin (alias Wechat Work) untuk Golang, yang telah teruji dalam pertempuran dan cukup serius dengan jenisnya.
Diproduksi sejak akhir 2018, mendorong semua jenis notifikasi dan peringatan di setidaknya 2 sistem internal Qiniu.
SDK klien WeChat perusahaan Golang; Saya kebetulan telah mencobanya di lingkungan produksi dan saya sangat serius tentang tipenya.
Sejak akhir tahun 2018, setidaknya dua sistem internal di Qiniu telah berjalan hingga saat ini, mengirimkan berbagai notifikasi dan alarm.
Terjemahan bahasa Inggris TODO untuk saat ini, karena layanan yang tercakup di sini tidak tersedia di luar Tiongkok (AFAIK).
Peringatan
Versi v2 dari perpustakaan ini mungkin masih memiliki perubahan API yang tidak kompatibel, seperti penyesuaian pada nama bidang, nama metode, dll. Harap dicatat. Tidak akan ada tag versi v2 sampai kami menyelesaikan semua sudut yang diketahui.
Jika Anda mengandalkan perpustakaan ini, harap balas tiket pelacakan versi v2 atau buat reaksi emotikon untuk menunjukkan sikap Anda! Penulis sekarang menjalankan proyek ini sepenuhnya di waktu luangnya dan sangat membutuhkan masukan Anda.
Saya perlu menggunakan Go untuk mengimplementasikan pesan sederhana di tempat kerja, dan saya berpikir untuk mencari perpustakaan sumber terbuka. Namun, kualitas kode dari satu-satunya perusahaan sumber terbuka WeChat Golang SDK buruk. Saya harus menulisnya sendiri.
Update : Sudah lama sekali perpustakaan ini tidak ditulis, sekarang (2019.08) ada tiga atau empat proyek serupa. Namun, setelah melihat "produk pesaing" ini, saya menemukan bahwa desain tipe, antarmuka publik, pemrosesan token akses, dll. di perpustakaan saya tidak buruk. Mengapa orang selalu suka melakukan hard-code permintaan Host
, menggunakan variabel global, membongkar demi membongkar, dan bahkan mengekspos metode internal?
Cabang v2.x dari perpustakaan ini mendukung setidaknya versi stabil terakhir Go, yang saat ini adalah go1.19. Jika Anda perlu menggunakannya dengan Go versi sebelumnya, silakan pindah ke versi v1.x. Kode di sana masih mendukung setidaknya go1.17.
CI akan menjalankan pengujian pada versi stabil Go saat ini dan versi stabil sebelumnya. Hanya jika semua pengujian lulus, PR dapat digabungkan.
Catatan: Seiring dengan terus berkembangnya Go upstream, kami harus dapat memastikan bahwa kami dapat mengejar ketertinggalan tersebut dengan biaya yang relatif murah. Jika go.mod
menetapkan bahwa versi Go relatif rendah, yang akan menghambat iterasi atau rekonstruksi fungsional proyek, kami tidak akan secara khusus mempertimbangkan untuk mengunci pengguna hilir versi Go untuk memperlambat peningkatan yang sangat diperlukan. Jika Anda masih memiliki kebutuhan seperti itu, silakan ajukan masalah untuk komunikasi.
Host
, yang dapat digunakan untuk memblokir lapisan gateway, debugging sementara, dan kebutuhan aneh lainnya.http.Client
khususWorkwxApp
dibuat dalam dua langkah, dan kemudian digunakan secara langsunglowlevel
mungkin dibuat untuk mengekspos antarmuka API yang telanjang, namun kemungkinan besar hal itu tidak akan dilakukan.UserInfo
, Recipient
) untuk mendorong gaya Go yang idiomatispanic
jika terjadi perselisihan sedikit pun. Beberapa situasi yang ada perlu diperbaiki.workwxctl
untuk membantu debuggingUntuk detailnya, lihat dokumen godoc. Contoh juga disediakan untuk referensi.
Penurunan harga dan jenis pesan lainnya saat ini tidak mendukung pengiriman sebagai pesan rahasia, dan kesalahan akan dilaporkan jika pengiriman terpaksa. Jadi mengapa semua metode pengiriman pesan membawa parameter isSafe
?
Di satu sisi, penyedia layanan WeChat perusahaan kemungkinan besar akan mendukung pengiriman lebih banyak jenis pesan secara rahasia di masa mendatang, dan tidak ingin kode klien dikompilasi ulang pada saat itu, di sisi lain, responsnya akan melaporkan sebuah kesalahan tetap saja, dan Anda tidak akan mempertahankan logika ini. Oleh karena itu tidak akan diubah.