1
0
mirror of https://shylinux.com/x/icebergs synced 2025-04-26 17:44:05 +08:00
This commit is contained in:
shylinux 2021-02-09 10:50:44 +08:00
parent 4b4506b16c
commit 68e6c7f293
5 changed files with 28 additions and 27 deletions

View File

@ -97,7 +97,7 @@ var Index = &ice.Context{Name: LARK, Help: "机器人",
Commands: map[string]*ice.Command{ Commands: map[string]*ice.Command{
ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Load() m.Load()
m.Cmd(web.SPIDE, mdb.CREATE, LARK, m.Conf(APP, kit.Keys(kit.MDB_META, LARK))) m.Cmd(web.SPIDE, mdb.CREATE, LARK, m.Conf(APP, kit.Keym(LARK)))
}}, }},
ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Save() m.Save()
@ -371,7 +371,7 @@ var Index = &ice.Context{Name: LARK, Help: "机器人",
} }
// 执行命令 // 执行命令
if msg := m.Cmd(cmds); msg.Hand == true { if msg := m.Cmd(cmds); len(msg.Appendv(ice.MSG_APPEND)) > 0 || len(msg.Resultv()) > 0 {
if m.Copy(msg); len(m.Resultv()) == 0 { if m.Copy(msg); len(m.Resultv()) == 0 {
m.Table() m.Table()
} }
@ -412,7 +412,7 @@ var Index = &ice.Context{Name: LARK, Help: "机器人",
case P2P_CHAT_CREATE, ADD_BOT: case P2P_CHAT_CREATE, ADD_BOT:
// 创建对话 // 创建对话
if m.Options(OPEN_CHAT_ID) { if m.Options(OPEN_CHAT_ID) {
m.Cmdy(SEND, m.Option(OPEN_CHAT_ID), m.Conf(APP, kit.Keys(kit.MDB_META, "template", m.Option("type")))) m.Cmdy(SEND, m.Option(OPEN_CHAT_ID), m.Conf(APP, kit.Keym(kit.MDB_TEMPLATE, m.Option("type"))))
} }
default: default:
switch m.Option("msg_type") { switch m.Option("msg_type") {
@ -458,8 +458,8 @@ var Index = &ice.Context{Name: LARK, Help: "机器人",
m.Option(mdb.FIELDS, "time,appid,appmm,token,expire") m.Option(mdb.FIELDS, "time,appid,appmm,token,expire")
m.Cmd(mdb.SELECT, m.Prefix(APP), "", mdb.HASH, kit.MDB_NAME, "bot").Table(func(index int, value map[string]string, head []string) { m.Cmd(mdb.SELECT, m.Prefix(APP), "", mdb.HASH, kit.MDB_NAME, "bot").Table(func(index int, value map[string]string, head []string) {
m.Render("redirect", kit.MergeURL2(m.Conf(APP, kit.Keys(kit.MDB_META, LARK)), "/open-apis/authen/v1/index"), m.Render("redirect", kit.MergeURL2(m.Conf(APP, kit.Keym(LARK)), "/open-apis/authen/v1/index"),
"app_id", value[APPID], "redirect_uri", kit.MergeURL2(m.Conf(web.SHARE, "meta.domain"), "/chat/lark/sso"), "app_id", value[APPID], "redirect_uri", kit.MergeURL2(m.Conf(web.SHARE, kit.Keym(kit.MDB_DOMAIN)), "/chat/lark/sso"),
) )
}) })
}}, }},

View File

@ -6,7 +6,7 @@ refer "官网" `
后台管理 https://www.feishu.cn/admin 后台管理 https://www.feishu.cn/admin
应用管理 https://open.feishu.cn/app 应用管理 https://open.feishu.cn/app
` `
image qrcode `https://www.feishu.cn/` image qrcode `https://applink.feishu.cn/client/bot/open?appId=cli_9d3b9d146a7cd103`
chapter "应用" chapter "应用"
field "app" web.chat.lark.app field "app" web.chat.lark.app
@ -14,8 +14,8 @@ field "group" web.chat.lark.group
field "company" web.chat.lark.company field "company" web.chat.lark.company
chapter "权限" chapter "权限"
field user aaa.user
field sess aaa.sess field sess aaa.sess
field user aaa.user
chapter "项目" chapter "项目"
field "icebergs" web.code.git.trend args `icebergs` field "icebergs" web.code.git.trend args `icebergs`

View File

@ -9,16 +9,17 @@ image `/share/local/usr/image/gh_61ea404535e4_258.jpg`
chapter "应用" chapter "应用"
field scan web.chat.scan field scan web.chat.scan
field paste web.chat.paste
field files web.chat.files field files web.chat.files
field paste web.chat.paste
field location web.chat.location field location web.chat.location
chapter "权限" chapter "权限"
field access web.chat.mp.access field access web.chat.mp.access
field share web.share field share web.share
field user aaa.user
field sess aaa.sess field sess aaa.sess
field user aaa.user
chapter "项目" chapter "项目"
field "icebergs" web.code.git.trend args `icebergs` field "icebergs" web.code.git.trend args `icebergs`
field "icebergs" web.code.inner args `usr/icebergs/ misc/mp/mp.go` field "icebergs" web.code.inner args `usr/icebergs/ misc/mp/mp.go`

View File

@ -20,10 +20,10 @@ import (
func _wx_sign(m *ice.Message, nonce, stamp string) string { func _wx_sign(m *ice.Message, nonce, stamp string) string {
b := sha1.Sum([]byte(strings.Join(kit.Sort([]string{ b := sha1.Sum([]byte(strings.Join(kit.Sort([]string{
fmt.Sprintf("noncestr=%s", nonce),
fmt.Sprintf("timestamp=%s", stamp),
fmt.Sprintf("url=%s", m.Option(ice.MSG_USERWEB)),
fmt.Sprintf("jsapi_ticket=%s", m.Cmdx(ACCESS, TICKET)), fmt.Sprintf("jsapi_ticket=%s", m.Cmdx(ACCESS, TICKET)),
fmt.Sprintf("url=%s", m.Option(ice.MSG_USERWEB)),
fmt.Sprintf("timestamp=%s", stamp),
fmt.Sprintf("noncestr=%s", nonce),
}), "&"))) }), "&")))
return hex.EncodeToString(b[:]) return hex.EncodeToString(b[:])
} }
@ -38,9 +38,9 @@ func _wx_parse(m *ice.Message) {
ToUserName string ToUserName string
CreateTime int64 CreateTime int64
MsgId int64 MsgId int64
Event string
MsgType string MsgType string
Content string Content string
Event string
}{} }{}
xml.NewDecoder(m.R.Body).Decode(&data) xml.NewDecoder(m.R.Body).Decode(&data)
m.Debug("data: %#v", data) m.Debug("data: %#v", data)
@ -48,11 +48,11 @@ func _wx_parse(m *ice.Message) {
m.Option("FromUserName", data.FromUserName) m.Option("FromUserName", data.FromUserName)
m.Option("ToUserName", data.ToUserName) m.Option("ToUserName", data.ToUserName)
m.Option("CreateTime", data.CreateTime) m.Option("CreateTime", data.CreateTime)
m.Option("MsgId", data.MsgId) m.Option("MsgId", data.MsgId)
m.Option("Event", data.Event)
m.Option("MsgType", data.MsgType) m.Option("MsgType", data.MsgType)
m.Option("Content", data.Content) m.Option("Content", data.Content)
m.Option("Event", data.Event)
} }
func _wx_reply(m *ice.Message, tmpl string) { func _wx_reply(m *ice.Message, tmpl string) {
m.Render(m.Conf(LOGIN, kit.Keym(kit.MDB_TEMPLATE, tmpl))) m.Render(m.Conf(LOGIN, kit.Keym(kit.MDB_TEMPLATE, tmpl)))
@ -128,7 +128,7 @@ var Index = &ice.Context{Name: WX, Help: "公众号",
Commands: map[string]*ice.Command{ Commands: map[string]*ice.Command{
ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Load() m.Load()
m.Cmd(web.SPIDE, mdb.CREATE, WEIXIN, m.Conf(LOGIN, kit.Keys(kit.MDB_META, WEIXIN))) m.Cmd(web.SPIDE, mdb.CREATE, WEIXIN, m.Conf(LOGIN, kit.Keym(WEIXIN)))
}}, }},
ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Save() m.Save()
@ -136,14 +136,14 @@ var Index = &ice.Context{Name: WX, Help: "公众号",
ACCESS: {Name: "access appid auto ticket token login", Help: "认证", Action: map[string]*ice.Action{ ACCESS: {Name: "access appid auto ticket token login", Help: "认证", Action: map[string]*ice.Action{
LOGIN: {Name: "login appid appmm token", Help: "登录", Hand: func(m *ice.Message, arg ...string) { LOGIN: {Name: "login appid appmm token", Help: "登录", Hand: func(m *ice.Message, arg ...string) {
m.Conf(LOGIN, kit.Keys(kit.MDB_META, APPID), m.Option(APPID)) m.Conf(LOGIN, kit.Keym(APPID), m.Option(APPID))
m.Conf(LOGIN, kit.Keys(kit.MDB_META, APPMM), m.Option(APPMM)) m.Conf(LOGIN, kit.Keym(APPMM), m.Option(APPMM))
m.Conf(LOGIN, kit.Keys(kit.MDB_META, TOKEN), m.Option(TOKEN)) m.Conf(LOGIN, kit.Keym(TOKEN), m.Option(TOKEN))
}}, }},
TOKEN: {Name: "token", Help: "令牌", Hand: func(m *ice.Message, arg ...string) { TOKEN: {Name: "token", Help: "令牌", Hand: func(m *ice.Message, arg ...string) {
if now := time.Now().Unix(); m.Conf(LOGIN, kit.Keym(ACCESS, TOKEN)) == "" || now > kit.Int64(m.Conf(LOGIN, kit.Keym(ACCESS, EXPIRE))) { if now := time.Now().Unix(); m.Conf(LOGIN, kit.Keym(ACCESS, TOKEN)) == "" || now > kit.Int64(m.Conf(LOGIN, kit.Keym(ACCESS, EXPIRE))) {
msg := m.Cmd(web.SPIDE, WEIXIN, web.SPIDE_GET, "/cgi-bin/token?grant_type=client_credential", msg := m.Cmd(web.SPIDE, WEIXIN, web.SPIDE_GET, "/cgi-bin/token?grant_type=client_credential",
APPID, m.Conf(LOGIN, kit.Keys(kit.MDB_META, APPID)), "secret", m.Conf(LOGIN, kit.Keys(kit.MDB_META, APPMM))) APPID, m.Conf(LOGIN, kit.Keym(APPID)), "secret", m.Conf(LOGIN, kit.Keym(APPMM)))
if m.Warn(msg.Append("errcode") != "", "%v: %v", msg.Append("errcode"), msg.Append("errmsg")) { if m.Warn(msg.Append("errcode") != "", "%v: %v", msg.Append("errcode"), msg.Append("errmsg")) {
return return
} }
@ -172,7 +172,7 @@ var Index = &ice.Context{Name: WX, Help: "公众号",
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {}}, mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {}},
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Echo(m.Conf(LOGIN, kit.Keys(kit.MDB_META, APPID))) m.Echo(m.Conf(LOGIN, kit.Keym(APPID)))
}}, }},
MENU: {Name: "menu name auto", Help: "菜单", Action: map[string]*ice.Action{ MENU: {Name: "menu name auto", Help: "菜单", Action: map[string]*ice.Action{

View File

@ -9,16 +9,16 @@ image `/share/local/usr/image/qrcode_for_gh_1c21ed4eb46b_258.jpg`
chapter "应用" chapter "应用"
field scan web.chat.scan field scan web.chat.scan
field paste web.chat.paste
field files web.chat.files field files web.chat.files
field paste web.chat.paste
field location web.chat.location field location web.chat.location
chapter "权限" chapter "权限"
field access web.chat.wx.access field access web.chat.wx.access
field menu web.chat.wx.menu field menu web.chat.wx.menu
field share web.share field share web.share
field user aaa.user
field sess aaa.sess field sess aaa.sess
field user aaa.user
chapter "项目" chapter "项目"
field "icebergs" web.code.git.trend args `icebergs` field "icebergs" web.code.git.trend args `icebergs`