mirror of
https://shylinux.com/x/enterprise
synced 2025-04-25 09:08:06 +08:00
add some
This commit is contained in:
parent
fc7dead777
commit
310262510b
1
go.mod
1
go.mod
@ -11,6 +11,7 @@ require (
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/TencentCloud/wemeet-openapi-sdk-go v1.0.2 // indirect
|
||||
github.com/emersion/go-imap v1.2.1 // indirect
|
||||
github.com/emersion/go-message v0.15.0 // indirect
|
||||
github.com/emersion/go-sasl v0.0.0-20200509203442-7bfe0ed36a21 // indirect
|
||||
|
2
go.sum
2
go.sum
@ -1,5 +1,7 @@
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/PuerkitoBio/goquery v1.9.1/go.mod h1:cW1n6TmIMDoORQU5IU/P1T3tGFunOeXEpGP2WHRwkbY=
|
||||
github.com/TencentCloud/wemeet-openapi-sdk-go v1.0.2 h1:OjB5cfSHq/lrAhdovqbHXGj3xZbEZx/ihOJ0WPpLnhU=
|
||||
github.com/TencentCloud/wemeet-openapi-sdk-go v1.0.2/go.mod h1:qxY19B8zTyoAdiq7Ctz2uP1R8HYVTQtUzggOt9OzZzs=
|
||||
github.com/andybalholm/cascadia v1.3.2/go.mod h1:7gtRlve5FxPPgIgX36uWBX58OdBsSS6lUvCFb+h7KvU=
|
||||
github.com/bgould/http v0.0.0-20190627042742-d268792bdee7/go.mod h1:BTqvVegvwifopl4KTEDth6Zezs9eR+lCWhvGKvkxJHE=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
|
@ -1,14 +1,69 @@
|
||||
package guanlixitong
|
||||
|
||||
import "shylinux.com/x/ice"
|
||||
import (
|
||||
"math/rand"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
wemeet "github.com/TencentCloud/wemeet-openapi-sdk-go/wemeet_openapi"
|
||||
wemeetcore "github.com/TencentCloud/wemeet-openapi-sdk-go/wemeet_openapi/core"
|
||||
meetings "github.com/TencentCloud/wemeet-openapi-sdk-go/wemeet_openapi/service/meetings"
|
||||
"shylinux.com/x/ice"
|
||||
kit "shylinux.com/x/toolkits"
|
||||
)
|
||||
|
||||
type conference struct {
|
||||
Table
|
||||
fields string `data:"title,content,user_uid"`
|
||||
create string `name:"create title* content*" role:"leader"`
|
||||
remove string `name:"remove" role:"leader"`
|
||||
join string `name:"join" help:"入会" style:"notice" role:"void"`
|
||||
}
|
||||
|
||||
func (s conference) List(m *ice.Message, arg ...string) { s.ValueList(m, arg) }
|
||||
func (s conference) List(m *ice.Message, arg ...string) {
|
||||
s.V1MeetingsGet(m, "admin1731860473", "1")
|
||||
m.PushAction(s.Join)
|
||||
m.Display("")
|
||||
}
|
||||
func (s conference) Join(m *ice.Message, arg ...string) {
|
||||
m.ProcessOpen(m.Option("join_url"))
|
||||
}
|
||||
|
||||
func init() { ice.TeamCtxCmd(conference{}) }
|
||||
|
||||
func (s conference) V1MeetingsGet(m *ice.Message, arg ...string) {
|
||||
client, authenticator := s.newClient(m)
|
||||
response, err := client.MeetingsApi.V1MeetingsGet(m, &meetings.ApiV1MeetingsGetRequest{
|
||||
Userid: &arg[0], Instanceid: &arg[1],
|
||||
}, wemeetcore.WithJWTAuth(authenticator))
|
||||
s.resTable(m, response.Data, err, "meeting_info_list",
|
||||
"subject", "meeting_code", "start_time", "end_time", "join_url",
|
||||
)
|
||||
}
|
||||
func (s conference) resTable(m *ice.Message, data ice.Any, err error, key string, arg ...string) {
|
||||
if err != nil {
|
||||
m.Echo(kit.Formats(err))
|
||||
} else {
|
||||
data := kit.UnMarshal(kit.Formats(data))
|
||||
kit.For(kit.Value(data, key), func(value ice.Map) {
|
||||
kit.For(arg, func(key string) {
|
||||
if strings.HasSuffix(key, "_time") {
|
||||
t := time.Unix(kit.Int64(value[key]), 0)
|
||||
m.Push(key, strings.TrimSuffix(t.Format(ice.MOD_TIME), ":00.000"))
|
||||
} else {
|
||||
m.Push(key, value[key])
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
func (s conference) newClient(m *ice.Message, arg ...string) (*wemeet.Client, *wemeetcore.JWTAuthenticator) {
|
||||
client := wemeet.NewClient(wemeet.WithAppId("234460469"), wemeet.WithSdkId("27510111425"),
|
||||
wemeet.WithSecret("i4MYQuEzVtd0Jb5qbecDMXgSLD2AhQh0", "mYkEPBtGPYjcu0a5gvlK2HNGU0ZRDaG5AAssB29Dvp2A3FB6"))
|
||||
rn := rand.New(rand.NewSource(time.Now().UnixNano()))
|
||||
nonce := uint64(100000 + rn.Intn(900000))
|
||||
curTs := strconv.Itoa(int(time.Now().Unix()))
|
||||
authenticator := &wemeetcore.JWTAuthenticator{Nonce: nonce, Timestamp: curTs}
|
||||
return client, authenticator
|
||||
}
|
||||
|
8
src/guanlixitong/conference.js
Normal file
8
src/guanlixitong/conference.js
Normal file
@ -0,0 +1,8 @@
|
||||
Volcanos(chat.ONIMPORT, {
|
||||
_init: function(can, msg) {
|
||||
can.onimport.myView(can, msg, function(value) { return [
|
||||
{view: html.TITLE, list: [value.subject, can.onimport.titleAction(can, value)]},
|
||||
{view: html.STATUS, list: [value.start_time, "~", value.end_time.split(" ")[1]]},
|
||||
] })
|
||||
},
|
||||
})
|
7
src/guanlixitong/conference.shy
Normal file
7
src/guanlixitong/conference.shy
Normal file
@ -0,0 +1,7 @@
|
||||
chapter "腾讯会议"
|
||||
refer `
|
||||
后台 https://meeting.tencent.com/user-center/work-bench
|
||||
应用 https://meeting.tencent.com/marketplace/corp-created
|
||||
文档 https://cloud.tencent.com/document/product/1095/83658
|
||||
调试 https://meeting.tencent.com/marketplace/restApiTool.html?type=jwt&interface_id=dTRvM3FoUXJWaDlGZndGWTJpR3J0RkNy&replica_id=NE9GdEsx
|
||||
`
|
Loading…
x
Reference in New Issue
Block a user