forked from x/icebergs
add some
This commit is contained in:
parent
74075002f1
commit
96713c1e75
@ -337,7 +337,7 @@ func ChatCmdPath(m *ice.Message, arg ...string) string {
|
||||
return m.MergePodCmd("", kit.Select(m.ShortKey(), path.Join(arg...)))
|
||||
}
|
||||
func RequireFile(m *ice.Message, file string) string {
|
||||
if strings.HasPrefix(file, nfs.PS) || strings.HasPrefix(file, ice.HTTP) {
|
||||
if strings.HasPrefix(file, nfs.PS) || strings.HasPrefix(file, ice.HTTP) || strings.Contains(file, "://") {
|
||||
return file
|
||||
} else if file != "" {
|
||||
return nfs.P + file
|
||||
|
@ -141,6 +141,10 @@ func init() {
|
||||
m.Cmdy(COMPLETE, kit.Ext(m.Option(mdb.FILE)), m.Option(nfs.FILE), m.Option(nfs.PATH))
|
||||
}},
|
||||
COMPILE: {Hand: func(m *ice.Message, arg ...string) {
|
||||
if m.Option(nfs.PATH) == ice.USR_PROGRAM {
|
||||
m.Cmd(cli.SYSTEM, cli.MAKE, kit.Dict(cli.CMD_DIR, m.Option(nfs.PATH)))
|
||||
return
|
||||
}
|
||||
if msg := m.Cmd(COMPILE, ice.SRC_MAIN_GO, ice.BIN_ICE_BIN); cli.IsSuccess(msg) {
|
||||
m.GoSleep30ms(func() { m.Cmd(UPGRADE, cli.RESTART) })
|
||||
} else {
|
||||
|
@ -110,7 +110,7 @@ func init() {
|
||||
m.Cmd(mdb.PRUNES, m.Prefix(IDE), "", mdb.HASH, m.OptionSimple(mdb.NAME))
|
||||
}},
|
||||
}, gdb.EventsAction(web.SPACE_GRANT, web.SPACE_LOGIN_CLOSE), mdb.ImportantHashAction(
|
||||
mdb.SHORT, ACCESS, mdb.FIELD, "time,type,access,icons,usernick,appid", tcp.SERVER, CGI_BIN,
|
||||
mdb.SHORT, ACCESS, mdb.FIELD, "time,type,access,icons,usernick,appid,secret,token", tcp.SERVER, CGI_BIN,
|
||||
)), Hand: func(m *ice.Message, arg ...string) {
|
||||
mdb.HashSelect(m, arg...).PushAction(web.SSO, mdb.REMOVE).StatusTimeCount(mdb.ConfigSimple(m, ACCESS, APPID), web.SERVE, m.MergeLink("/chat/wx/login/"))
|
||||
m.RewriteAppend(func(value, key string, index int) string {
|
||||
|
@ -107,11 +107,25 @@ const IDE = "ide"
|
||||
|
||||
func init() {
|
||||
Index.MergeCommands(ice.Commands{
|
||||
IDE: {Name: "ide hash auto", Help: "集成开发环境", Icon: "wxdev.png", Meta: Meta(), Actions: ice.MergeActions(ice.Actions{
|
||||
IDE: {Name: "ide hash auto", Help: "集成开发环境", Meta: Meta(), Actions: ice.MergeActions(ice.Actions{
|
||||
mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) {
|
||||
switch mdb.HashInputs(m, arg); arg[0] {
|
||||
case PAGES:
|
||||
m.Push(arg[0], kit.Value(kit.UnMarshal(m.Cmdx(nfs.CAT, path.Join(mdb.Config(m, PROJECT), APP_JSON))), PAGES))
|
||||
case APPID:
|
||||
m.Cmd(ACCESS).Table(func(value ice.Maps) {
|
||||
if value[mdb.TYPE] == ice.APP {
|
||||
m.Push("", value, []string{APPID, aaa.USERNICK})
|
||||
}
|
||||
})
|
||||
case web.SERVE:
|
||||
m.OptionFields(web.CLIENT_ORIGIN, web.CLIENT_TYPE)
|
||||
m.Cmd(web.SPIDE).Table(func(value ice.Maps) {
|
||||
if value[web.CLIENT_TYPE] == nfs.REPOS {
|
||||
m.Push(arg[0], value[web.CLIENT_ORIGIN])
|
||||
}
|
||||
})
|
||||
m.SortStr(arg[0])
|
||||
case tcp.WIFI:
|
||||
m.Cmdy(tcp.WIFI).Cut(tcp.SSID)
|
||||
case web.WEIXIN:
|
||||
@ -125,12 +139,12 @@ func init() {
|
||||
})
|
||||
}
|
||||
}},
|
||||
aaa.LOGIN: {Help: "登录", Hand: func(m *ice.Message, arg ...string) {
|
||||
aaa.LOGIN: {Hand: func(m *ice.Message, arg ...string) {
|
||||
p := nfs.TempName(m)
|
||||
m.GoSleep3s(func() { web.PushNoticeGrow(m, ice.Render(m, ice.RENDER_IMAGES, web.SHARE_LOCAL+p)) })
|
||||
IdeCli(m, "", _ide_args_cli(m), _ide_args_qrcode(m, p)).ProcessRefresh()
|
||||
}},
|
||||
code.AUTOGEN: {Name: "autogen projectname*='终端工具链' appid*='wxf4e5104d83476ed6' serve*='https://2021.shylinux.com'", Help: "生成", Icon: "bi bi-tools", Hand: func(m *ice.Message, arg ...string) {
|
||||
code.AUTOGEN: {Name: "autogen projectname*='终端工具链' appid* serve*", Help: "生成", Icon: "bi bi-folder-check", Hand: func(m *ice.Message, arg ...string) {
|
||||
_ide_autogen_utils(m)
|
||||
_ide_autogen_pages(m)
|
||||
p := ice.USR_PROGRAM
|
||||
@ -138,51 +152,43 @@ func init() {
|
||||
m.Cmd(nfs.DEFS, p+PROJECT_CONFIG_JSON, kit.Formats(kit.Dict(m.OptionSimple(APPID, "projectname"))))
|
||||
IdeCli(m.Sleep3s(), cli.OPEN, "--project", kit.Path(mdb.Config(m, PROJECT, p))).ProcessInner()
|
||||
}},
|
||||
web.ADMIN: {Help: "后台", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.ProcessOpen("https://mp.weixin.qq.com/")
|
||||
}},
|
||||
DOC: {Help: "文档", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.ProcessOpen("https://developers.weixin.qq.com/miniprogram/dev/api/")
|
||||
}},
|
||||
cli.MAKE: {Help: "构建", Hand: func(m *ice.Message, arg ...string) {
|
||||
cli.MAKE: {Help: "构建", Icon: "bi bi-tools", Hand: func(m *ice.Message, arg ...string) {
|
||||
kit.If(m.Option(mdb.HASH), func(p string) { mdb.Config(m, CURRENT, p) })
|
||||
m.Options(m.Cmd("", kit.Select(mdb.Config(m, CURRENT), arg, 0)).AppendSimple())
|
||||
kit.If(m.Option(cli.PWD), func(p string) {
|
||||
kit.If(p == kit.Path(ice.USR_VOLCANOS+PUBLISH_CLIENT_MP), func() { _ide_autogen_utils(m); _ide_autogen_pages(m) })
|
||||
// kit.If(p == kit.Path(ice.USR_VOLCANOS+PUBLISH_CLIENT_MP), func() { _ide_autogen_utils(m); _ide_autogen_pages(m) })
|
||||
})
|
||||
m.Cmd("", AUTO_PREVIEW)
|
||||
}},
|
||||
AUTO_PREVIEW: {Help: "预览", Icon: "bi bi-wechat", Hand: func(m *ice.Message, arg ...string) {
|
||||
web.ADMIN: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.ProcessOpen("https://mp.weixin.qq.com/")
|
||||
}},
|
||||
DOC: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.ProcessOpen("https://developers.weixin.qq.com/miniprogram/dev/api/")
|
||||
}},
|
||||
AUTO_PREVIEW: {Icon: "bi bi-wechat", Hand: func(m *ice.Message, arg ...string) {
|
||||
kit.If(m.Option(mdb.HASH), func(p string) { mdb.Config(m, CURRENT, p) })
|
||||
IdeCli(m, "", _ide_args_cli(m)).ProcessInner()
|
||||
}},
|
||||
PREVIEW: {Help: "体验", Icon: "bi bi-qr-code-scan", Hand: func(m *ice.Message, arg ...string) {
|
||||
PREVIEW: {Icon: "bi bi-qr-code-scan", Hand: func(m *ice.Message, arg ...string) {
|
||||
kit.If(m.Option(mdb.HASH), func(p string) { mdb.Config(m, CURRENT, p) })
|
||||
p := nfs.TempName(m)
|
||||
IdeCli(m, "", _ide_args_cli(m), _ide_args_qrcode(m, p)).EchoImages(web.SHARE_LOCAL + p).ProcessInner()
|
||||
}},
|
||||
PUSH: {Name: "push weixin", Help: "推送", Icon: "bi bi-arrow-up-right-square", Hand: func(m *ice.Message, arg ...string) {
|
||||
PUSH: {Name: "push weixin", Icon: "bi bi-arrow-up-right-square", Hand: func(m *ice.Message, arg ...string) {
|
||||
defer m.ProcessHold()
|
||||
defer web.ToastProcess(m)()
|
||||
m.Cmd(web.SPACE, m.Option(web.WEIXIN), lex.PARSE, m.Cmdx("", m.Option(mdb.HASH)))
|
||||
}},
|
||||
}, web.StatsAction("", "小程序场景数"), mdb.ExportHashAction(
|
||||
mdb.FIELD, "time,hash,name,text,pages,space,index,args,wifi",
|
||||
cli.DARWIN, "/Applications/wechatwebdevtools.app/Contents/MacOS/cli",
|
||||
)), Hand: func(m *ice.Message, arg ...string) {
|
||||
if len(arg) == 0 && tcp.IsLocalHost(m, m.Option(ice.MSG_USERIP)) && kit.Value(kit.UnMarshal(IdeCli(m.Spawn(), ISLOGIN).Append(cli.CMD_OUT)), aaa.LOGIN) != true {
|
||||
m.EchoInfoButton("请登录: ", aaa.LOGIN)
|
||||
}, mdb.ExportHashAction(mdb.FIELD, "time,hash,name,text,pages,space,index,args,wifi", cli.DARWIN, "/Applications/wechatwebdevtools.app/Contents/MacOS/cli")), Hand: func(m *ice.Message, arg ...string) {
|
||||
if tcp.IsLocalHost(m, m.Option(ice.MSG_USERIP)) && kit.Value(kit.UnMarshal(IdeCli(m.Spawn(), ISLOGIN).Append(cli.CMD_OUT)), aaa.LOGIN) != true {
|
||||
m.EchoInfoButton("请微信授权", aaa.LOGIN)
|
||||
return
|
||||
} else if !nfs.Exists(m, ice.USR_PROGRAM) {
|
||||
m.EchoInfoButton("请生成项目: ", code.AUTOGEN)
|
||||
m.EchoInfoButton("请生成项目", code.AUTOGEN)
|
||||
return
|
||||
} else if mdb.HashSelect(m, arg...); tcp.IsLocalHost(m, m.Option(ice.MSG_USERIP)) {
|
||||
m.PushAction(AUTO_PREVIEW, PREVIEW, PUSH, mdb.REMOVE).Action(aaa.LOGIN, code.AUTOGEN, mdb.CREATE, web.ADMIN, DOC)
|
||||
} else {
|
||||
m.PushAction(AUTO_PREVIEW, PREVIEW, PUSH, mdb.REMOVE).Action(aaa.LOGIN, code.AUTOGEN, mdb.CREATE, web.ADMIN, DOC)
|
||||
// m.PushAction(PUSH, mdb.REMOVE).Action(mdb.CREATE, web.ADMIN, DOC)
|
||||
}
|
||||
if len(arg) > 0 {
|
||||
if mdb.HashSelect(m, arg...).PushAction(AUTO_PREVIEW, PREVIEW, PUSH, mdb.REMOVE).Action(mdb.CREATE, cli.MAKE, code.AUTOGEN, aaa.LOGIN, web.ADMIN, DOC); len(arg) > 0 {
|
||||
m.Options(m.AppendSimple(web.SPACE, ctx.INDEX, ctx.ARGS, tcp.WIFI))
|
||||
p := kit.MergeURL2(kit.Select(web.UserHost(m), m.Option(web.SERVE)), path.Join(nfs.PS+m.Append(PAGES)), _ide_args(m))
|
||||
m.PushQRCode(cli.QRCODE, p).Push(web.LINK, p).Echo(p)
|
||||
|
@ -8,4 +8,4 @@ qrcode `https://mp.weixin.qq.com/a/~HkylKD4DZShrgSm5GuXWLQ~~`
|
||||
|
||||
field web.chat.wx.access
|
||||
field web.chat.wx.ide
|
||||
field web.chat.wx.scan
|
||||
field web.chat.wx.scan args `gh_61ea404535e4`
|
@ -83,17 +83,23 @@ func init() {
|
||||
web.PP(LOGIN): {Actions: ice.MergeActions(ice.Actions{
|
||||
aaa.SESS: {Name: "sess code", Help: "会话", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Option(ice.MSG_USERZONE, WX)
|
||||
msg := m.Cmd(ACCESS, kit.Select(m.Option(APPID), kit.Split(kit.ParseURL(m.Option(ice.MSG_REFERER)).Path, nfs.PS), 0))
|
||||
msg = m.Cmd(web.SPIDE, WX, http.MethodGet, AUTH_CODE, "js_code", m.Option(cli.CODE), msg.AppendSimple(APPID, SECRET))
|
||||
appid := kit.Select(m.Option(APPID), kit.Split(kit.ParseURL(m.Option(ice.MSG_REFERER)).Path, nfs.PS), 0)
|
||||
m.Cmd(ACCESS).Table(func(value ice.Maps) {
|
||||
kit.If(value[APPID] == appid, func() { delete(value, aaa.USERNICK); m.Options(value) })
|
||||
})
|
||||
msg := m.Cmd(web.SPIDE, WX, http.MethodGet, AUTH_CODE, "js_code", m.Option(cli.CODE), m.OptionSimple(APPID, SECRET))
|
||||
m.Warn(msg.Append(OPENID) == "", msg.Append("errmsg"))
|
||||
m.Echo(aaa.SessCreate(msg, msg.Append(OPENID)))
|
||||
m.Sleep("3s")
|
||||
}},
|
||||
aaa.USER: {Help: "用户", Hand: func(m *ice.Message, arg ...string) {
|
||||
if m.Cmd(aaa.USER, m.Option(aaa.USERNAME, m.Option(ice.MSG_USERNAME))).Length() == 0 {
|
||||
m.Cmd(aaa.USER, mdb.CREATE, aaa.USERROLE, aaa.VOID, m.OptionSimple(aaa.USERNAME))
|
||||
}
|
||||
m.Cmd(aaa.USER, mdb.MODIFY, m.OptionSimple(aaa.USERNAME), aaa.USERNICK, m.Option("nickName"), aaa.USERZONE, WX,
|
||||
aaa.AVATAR, m.Option("avatarUrl"), aaa.GENDER, kit.Select("女", "男", m.Option(aaa.GENDER) == "1"),
|
||||
m.OptionSimple(aaa.CITY, aaa.COUNTRY, aaa.LANGUAGE, aaa.PROVINCE),
|
||||
m.Cmd(aaa.USER, mdb.MODIFY, m.OptionSimple(aaa.USERNAME),
|
||||
aaa.USERNICK, m.Option(aaa.USERNICK), aaa.AVATAR, m.Option(aaa.AVATAR),
|
||||
aaa.GENDER, kit.Select(kit.Select("", "女", m.Option(aaa.GENDER) == "2"), "男", m.Option(aaa.GENDER) == "1"),
|
||||
m.OptionSimple(aaa.LANGUAGE, aaa.CITY, aaa.COUNTRY, aaa.PROVINCE), aaa.USERZONE, WX,
|
||||
)
|
||||
}},
|
||||
SCENE: {Hand: func(m *ice.Message, arg ...string) { m.Cmdy(IDE, m.Option(SCENE)) }},
|
||||
|
@ -49,7 +49,7 @@ func init() {
|
||||
if info.Append(tcp.WIFI) != "" {
|
||||
wifi := m.Cmd(tcp.WIFI, info.Append(tcp.WIFI))
|
||||
ls := kit.Split(tcp.PublishLocalhost(m, u.Hostname()), nfs.PT)
|
||||
meta = path.Join("w", kit.Format("%x%x", kit.Int(ls[2]), kit.Int(ls[3])), scene, wifi.Append(tcp.SSID), wifi.Append(aaa.PASSWORD))
|
||||
meta = path.Join("w", kit.Format("%x", kit.Int(ls[3])), scene, wifi.Append(tcp.SSID), wifi.Append(aaa.PASSWORD))
|
||||
} else {
|
||||
meta = path.Join("h", tcp.PublishLocalhost(m, u.Host), scene)
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ const STUDIO = "studio"
|
||||
|
||||
func init() {
|
||||
Index.MergeCommands(ice.Commands{
|
||||
STUDIO: {Hand: func(m *ice.Message, arg ...string) {
|
||||
STUDIO: {Icon: "wxdev.png", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(ctx.COMMAND, kit.Split(kit.Select("web.chat.wx.access,web.chat.wx.ide,web.chat.wx.scan", mdb.Config(m, ctx.CMDS))))
|
||||
ctx.DisplayStory(m, "")
|
||||
}},
|
||||
|
@ -23,15 +23,18 @@ func init() {
|
||||
"import", code.KEYWORD,
|
||||
|
||||
"class", code.FUNCTION,
|
||||
"size", code.FUNCTION,
|
||||
"type", code.FUNCTION,
|
||||
"open-type", code.FUNCTION,
|
||||
"name", code.FUNCTION,
|
||||
"range", code.FUNCTION,
|
||||
"size", code.FUNCTION,
|
||||
"value", code.FUNCTION,
|
||||
"placeholder", code.FUNCTION,
|
||||
"range", code.FUNCTION,
|
||||
"is", code.FUNCTION,
|
||||
"data", code.FUNCTION,
|
||||
"wx:if", code.FUNCTION,
|
||||
"wx:elif", code.FUNCTION,
|
||||
"wx:else", code.FUNCTION,
|
||||
"wx:for", code.FUNCTION,
|
||||
"wx:for-item", code.FUNCTION,
|
||||
"wx:for-index", code.FUNCTION,
|
||||
@ -39,12 +42,17 @@ func init() {
|
||||
"bindtap", code.FUNCTION,
|
||||
"bindinput", code.FUNCTION,
|
||||
"bindchange", code.FUNCTION,
|
||||
"onblur", code.FUNCTION,
|
||||
"data-name", code.FUNCTION,
|
||||
"data-item", code.FUNCTION,
|
||||
),
|
||||
)), ice.Actions{
|
||||
code.TEMPLATE: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Echo(`
|
||||
<import src="../../app.wxml"/>
|
||||
<view class="output"></view>
|
||||
<view class="output">
|
||||
output
|
||||
</view>
|
||||
`)
|
||||
}},
|
||||
})},
|
||||
|
Loading…
x
Reference in New Issue
Block a user