forked from wts/wts
公开完整前后端的代码
This commit is contained in:
107
back/src/cmd/wtstool/wx.go
Normal file
107
back/src/cmd/wtstool/wx.go
Normal file
@@ -0,0 +1,107 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"os"
|
||||
|
||||
"zsxyww.com/wts/config"
|
||||
"zsxyww.com/wts/handler/logic"
|
||||
"zsxyww.com/wts/wechat"
|
||||
)
|
||||
|
||||
func setDefaultWXMenu(cfg *config.Config, file string) error {
|
||||
|
||||
wx := wechat.Setup(cfg)
|
||||
menu := wx.GetMenu()
|
||||
|
||||
if file == "" {
|
||||
err := errors.New("no menu file selected")
|
||||
return err
|
||||
}
|
||||
content, err := os.ReadFile(file)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = menu.SetMenuByJSON(string(content))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func setWXTags(cfg *config.Config, newTag string) error {
|
||||
wx := wechat.Setup(cfg)
|
||||
u := wx.GetUser()
|
||||
|
||||
if newTag == "" {
|
||||
err := errors.New("no tag selected")
|
||||
return err
|
||||
}
|
||||
tag, err := u.CreateTag(newTag)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
println(tag, " Created tag with ID:", tag.ID)
|
||||
return nil
|
||||
}
|
||||
|
||||
func getWXTags(cfg *config.Config) error {
|
||||
wx := wechat.Setup(cfg)
|
||||
u := wx.GetUser()
|
||||
|
||||
tags, err := u.GetTag()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, tag := range tags {
|
||||
println("Tag ID:", tag.ID, "Name:", tag.Name, "Count:", tag.Count)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func setConditionalMenu(cfg *config.Config, file string) error {
|
||||
|
||||
wx := wechat.Setup(cfg)
|
||||
menu := wx.GetMenu()
|
||||
|
||||
if file == "" {
|
||||
err := errors.New("no menu file selected")
|
||||
return err
|
||||
}
|
||||
content, err := os.ReadFile(file)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = menu.AddConditionalByJSON(string(content))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func setWXMenu(cfg *config.Config, group string, file string) error {
|
||||
switch group {
|
||||
case "default":
|
||||
return setDefaultWXMenu(cfg, file)
|
||||
case "operator":
|
||||
return setConditionalMenu(cfg, file)
|
||||
case "admin":
|
||||
return setConditionalMenu(cfg, file)
|
||||
default:
|
||||
return errors.New("unknown menu group: " + group)
|
||||
}
|
||||
}
|
||||
|
||||
func changeWXTag(cfg *config.Config, openID string, tag string) error {
|
||||
if tag != "default" && tag != "operator" && tag != "admin" {
|
||||
return errors.New("unknown tag: " + tag)
|
||||
}
|
||||
|
||||
ctx := logic.Ctx{
|
||||
WX: wechat.Setup(cfg),
|
||||
}
|
||||
return ctx.ChangeUserTag(openID, tag)
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user