Maison > Article > Applet WeChat > Services WeChat et DingTalk de China Unicom
[Recommandations d'apprentissage associées : Tutoriel de développement de compte public WeChat]
WeChat et DingTalk appartiennent aux deux camps de Tencent et Alibaba. Quel genre de scène magique ce sera lorsqu'ils pourront être interconnectés ?
Aujourd'hui, nous allons l'essayer via les deux SDK Golang open source fastwego/offiaccount
et fastwego/dingding
:
Implémenter un compte public WeChat qui se transforme en traducteur en quelques secondes : envoyer aux utilisateurs sur texte chinois, traduit en français.
Activer le mode développement et reprendre les messages envoyés par les utilisateurs :
Dans le même temps, les informations de configuration appid/secret/token du compte public WeChat seront également obtenues
Ouvrez la micro-application H5 interne de l'entreprise et complétez l'autorisation de l'interface AI :
En même temps, les informations de configuration de DingTalk AppKey/AppSecret sera obtenu
Le service de traduction est très simple :
Code principal :
// 微信公众账号var OffiAccount *offiaccount.OffiAccount// 钉钉 App 实例var DingApp *dingding.Appfunc init() { // 加载配置文件 viper.SetConfigFile(".env") _ = viper.ReadInConfig() // 创建公众号实例 OffiAccount = offiaccount.New(offiaccount.Config{ Appid: viper.GetString("APPID"), Secret: viper.GetString("SECRET"), }) // 创建钉钉应用实例 DingApp = dingding.NewApp(dingding.AppConfig{ AppKey: viper.GetString("AppKey"), AppSecret: viper.GetString("AppSecret"), })}func HandleMessage(c *gin.Context) { // 获取公众号消息 body, _ := ioutil.ReadAll(c.Request.Body) log.Println(string(body)) message, err := OffiAccount.Server.ParseXML(body) if err != nil { log.Println(err) } var output interface{} switch message.(type) { case type_message.MessageText: // 文本 消息 msg := message.(type_message.MessageText) // 调用 钉钉 翻译服务 params := struct { Query string `json:"query"` TargetLanguage string `json:"target_language"` SourceLanguage string `json:"source_language"` }{} params.Query = msg.Content params.SourceLanguage = "zh" params.TargetLanguage = "fr" data, err := json.Marshal(params) if err != nil { fmt.Println(string(data), err) return } // 翻译接口 resp, err := ai.Translate(DingApp, data) fmt.Println(string(resp), err) if err != nil { return } // 翻译结果 result := struct { Errcode int64 `json:"errcode"` Errmsg string `json:"errmsg"` Result string `json:"result"` }{} err = json.Unmarshal(resp, &result) fmt.Println(result, err) if err != nil { return } // 回复公众号 翻译结果文本消息 output = type_message.ReplyMessageText{ ReplyMessage: type_message.ReplyMessage{ ToUserName: type_message.CDATA(msg.FromUserName), FromUserName: type_message.CDATA(msg.ToUserName), CreateTime: strconv.FormatInt(time.Now().Unix(), 10), MsgType: type_message.ReplyMsgTypeText, }, Content: type_message.CDATA(result.Result), } } OffiAccount.Server.Response(c.Writer, c.Request, output)}
À ce stade , avec l'aide des deux SDK Golang open source fastwego/offiaccount
et fastwego/dingding
, nous pouvons rapidement implémenter Cela a pour effet de connecter les services WeChat et DingTalk.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!