mirror of
https://shylinux.com/x/community
synced 2025-04-29 11:09:22 +08:00
add some
This commit is contained in:
parent
03e3dd1a21
commit
c1b5b76412
@ -42,6 +42,8 @@ type Table struct {
|
|||||||
inputs string `name:"inputs" role:"void"`
|
inputs string `name:"inputs" role:"void"`
|
||||||
list string `name:"list place_uid uid auto" role:"void"`
|
list string `name:"list place_uid uid auto" role:"void"`
|
||||||
marketInsert string `name:"marketInsert domain_uid* title* content" role:"leader"`
|
marketInsert string `name:"marketInsert domain_uid* title* content" role:"leader"`
|
||||||
|
memberList string `name:"memberList" role:"void"`
|
||||||
|
noticeList string `name:"noticeList" role:"void"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s Table) LoadTrans(m *ice.Message, arg ...string) {
|
func (s Table) LoadTrans(m *ice.Message, arg ...string) {
|
||||||
@ -177,7 +179,9 @@ func (s Table) SelectJoinAuth(m *ice.Message, arg ...string) *ice.Message {
|
|||||||
if kit.IndexOf(m.Appendv(model.AUTH_TYPE), model.AUTH_TYPE) > -1 {
|
if kit.IndexOf(m.Appendv(model.AUTH_TYPE), model.AUTH_TYPE) > -1 {
|
||||||
return m
|
return m
|
||||||
}
|
}
|
||||||
kit.If(len(arg) == 0, func() { arg = append(arg, model.NAME, model.AUTH_TYPE, model.AUTH_STATUS, model.DASHBOARD_UID) })
|
kit.If(len(arg) == 0, func() {
|
||||||
|
arg = append(arg, model.NAME, model.AUTH_TYPE, model.AUTH_STATUS, model.AVATAR, model.DASHBOARD_UID)
|
||||||
|
})
|
||||||
defer s.SaveBack(m, ice.MSG_USERPOD, ice.MSG_USERROLE)()
|
defer s.SaveBack(m, ice.MSG_USERPOD, ice.MSG_USERROLE)()
|
||||||
return s.SelectJoin(m, s.findSpaceCmd(m, api.RENZHENGSHOUQUAN_AUTH), arg...)
|
return s.SelectJoin(m, s.findSpaceCmd(m, api.RENZHENGSHOUQUAN_AUTH), arg...)
|
||||||
}
|
}
|
||||||
@ -188,8 +192,7 @@ func (s Table) SelectJoinRecent(m *ice.Message, PLACE_UID string, arg ...string)
|
|||||||
kit.If(len(arg) == 0, func() { arg = append(arg, model.CITY_NAME, model.STREET_NAME, model.PLACE_NAME) })
|
kit.If(len(arg) == 0, func() { arg = append(arg, model.CITY_NAME, model.STREET_NAME, model.PLACE_NAME) })
|
||||||
list := []string{}
|
list := []string{}
|
||||||
m.Table(func(value ice.Maps) { kit.If(value[PLACE_UID], func(v string) { list = kit.AddUniq(list, v) }) })
|
m.Table(func(value ice.Maps) { kit.If(value[PLACE_UID], func(v string) { list = kit.AddUniq(list, v) }) })
|
||||||
msg := m.Spawn()
|
recents := m.CmdMap(recent{}, s.SelectList, model.PLACE_UID, list, model.PLACE_UID)
|
||||||
recents := msg.CmdMap(recent{}, s.SelectList, model.PLACE_UID, list, model.PLACE_UID)
|
|
||||||
m.Table(func(value ice.Maps) {
|
m.Table(func(value ice.Maps) {
|
||||||
recent := recents[value[PLACE_UID]]
|
recent := recents[value[PLACE_UID]]
|
||||||
kit.For(arg, func(k string) { m.Push(k, recent[k]) })
|
kit.For(arg, func(k string) { m.Push(k, recent[k]) })
|
||||||
@ -197,7 +200,7 @@ func (s Table) SelectJoinRecent(m *ice.Message, PLACE_UID string, arg ...string)
|
|||||||
return m
|
return m
|
||||||
}
|
}
|
||||||
func (s Table) SelectJoinService(m *ice.Message, arg ...string) *ice.Message {
|
func (s Table) SelectJoinService(m *ice.Message, arg ...string) *ice.Message {
|
||||||
kit.If(len(arg) == 0, func() { arg = append(arg, model.NODENAME, model.INDEX) })
|
kit.If(len(arg) == 0, func() { arg = append(arg, model.NODENAME, model.INDEX, model.NAME, model.ICON) })
|
||||||
return s.SelectJoin(m, service{}, arg...)
|
return s.SelectJoin(m, service{}, arg...)
|
||||||
}
|
}
|
||||||
func (s Table) RewriteAppend(m *ice.Message, arg ...string) *ice.Message {
|
func (s Table) RewriteAppend(m *ice.Message, arg ...string) *ice.Message {
|
||||||
@ -319,7 +322,9 @@ func (s Table) CityList(m *ice.Message, arg ...string) *ice.Message {
|
|||||||
func (s Table) AuthCreate(m *ice.Message, authType int, fromUID string, arg ...string) {
|
func (s Table) AuthCreate(m *ice.Message, authType int, fromUID string, arg ...string) {
|
||||||
s.AutoCmdy(m, api.RENZHENGSHOUQUAN_PORTAL, Portal{}.PlaceCreate,
|
s.AutoCmdy(m, api.RENZHENGSHOUQUAN_PORTAL, Portal{}.PlaceCreate,
|
||||||
model.AUTH_NAME, m.Option(model.NAME), model.AUTH_INFO, m.Option(model.INFO),
|
model.AUTH_NAME, m.Option(model.NAME), model.AUTH_INFO, m.Option(model.INFO),
|
||||||
model.AUTH_TYPE, authType, model.FROM_UID, kit.Select(ice.AUTO, fromUID))
|
model.AUTH_TYPE, authType, model.FROM_UID, kit.Select(ice.AUTO, fromUID),
|
||||||
|
model.SERVICE_UID, m.Option(model.SERVICE_UID),
|
||||||
|
)
|
||||||
s.Update(m, kit.Dict(m.OptionSimple(model.AUTH_UID)), arg...)
|
s.Update(m, kit.Dict(m.OptionSimple(model.AUTH_UID)), arg...)
|
||||||
}
|
}
|
||||||
func (s Table) DashboardUpdate(m *ice.Message, arg ...string) {
|
func (s Table) DashboardUpdate(m *ice.Message, arg ...string) {
|
||||||
|
@ -27,13 +27,6 @@ func (s credit) List(m *ice.Message, arg ...string) {
|
|||||||
}
|
}
|
||||||
m.SetResult().EchoInfoButton("请申请服务认证", s.AuthService)
|
m.SetResult().EchoInfoButton("请申请服务认证", s.AuthService)
|
||||||
|
|
||||||
/*
|
|
||||||
if msg := m.Cmd(s.user, s.Select, model.UID, m.Option(model.USER_UID)); msg.Append(model.AUTH_UID) == "" {
|
|
||||||
m.SetResult().EchoInfoButton("请申请个人认证", s.AuthPersonal)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
msg = m.Cmd(s.Street, s.Select, model.UID, msg.Append(s.Keys(s.Street, model.UID)))
|
msg = m.Cmd(s.Street, s.Select, model.UID, msg.Append(s.Keys(s.Street, model.UID)))
|
||||||
if msg.Append(model.AUTH_UID) != "" {
|
if msg.Append(model.AUTH_UID) != "" {
|
||||||
return
|
return
|
||||||
@ -42,6 +35,9 @@ func (s credit) List(m *ice.Message, arg ...string) {
|
|||||||
|
|
||||||
msg = m.Cmd(s.city, s.Select, model.UID, msg.Append(model.CITY_UID))
|
msg = m.Cmd(s.city, s.Select, model.UID, msg.Append(model.CITY_UID))
|
||||||
if msg.Append(model.AUTH_UID) != "" {
|
if msg.Append(model.AUTH_UID) != "" {
|
||||||
|
if msg := m.Cmd(s.user, s.Select, model.UID, m.Option(model.USER_UID)); msg.Append(model.AUTH_UID) == "" {
|
||||||
|
m.SetResult().EchoInfoButton("请申请个人认证", s.AuthPersonal)
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
m.SetResult().EchoInfoButton("请申请城市认证", s.AuthCity)
|
m.SetResult().EchoInfoButton("请申请城市认证", s.AuthCity)
|
||||||
@ -50,7 +46,8 @@ func (s credit) AuthService(m *ice.Message, arg ...string) {
|
|||||||
m.Cmdy(s.PrefixPortal(m), Portal{}.PlaceAuth, kit.Dict(s.placeInfo(m).AppendSimple())).ProcessRefresh()
|
m.Cmdy(s.PrefixPortal(m), Portal{}.PlaceAuth, kit.Dict(s.placeInfo(m).AppendSimple())).ProcessRefresh()
|
||||||
}
|
}
|
||||||
func (s credit) AuthPersonal(m *ice.Message, arg ...string) {
|
func (s credit) AuthPersonal(m *ice.Message, arg ...string) {
|
||||||
m.Cmdy(s.user, s.AuthCreate, kit.Dict(model.AUTH_UID, s.cityInfo(m).Append(model.AUTH_UID)))
|
msg := m.Cmd(s.city, s.Select, model.NAME, m.Option(model.CITY_NAME))
|
||||||
|
m.Cmdy(s.user, s.AuthCreate, kit.Dict(msg.AppendSimple(model.AUTH_UID)))
|
||||||
}
|
}
|
||||||
func (s credit) AuthCompany(m *ice.Message, arg ...string) {
|
func (s credit) AuthCompany(m *ice.Message, arg ...string) {
|
||||||
m.Cmdy(s.Street, s.AuthCreate, kit.Dict(s.streetInfo(m).AppendSimple(model.NAME, model.INFO, model.UID, model.CITY_UID)))
|
m.Cmdy(s.Street, s.AuthCreate, kit.Dict(s.streetInfo(m).AppendSimple(model.NAME, model.INFO, model.UID, model.CITY_UID)))
|
||||||
|
@ -46,6 +46,7 @@ const (
|
|||||||
AUTH_INFO = "auth_info"
|
AUTH_INFO = "auth_info"
|
||||||
AUTH_TYPE = "auth_type"
|
AUTH_TYPE = "auth_type"
|
||||||
AUTH_STATUS = "auth_status"
|
AUTH_STATUS = "auth_status"
|
||||||
|
AUTH_AVATAR = "auth_avatar"
|
||||||
DASHBOARD_UID = "dashboard_uid"
|
DASHBOARD_UID = "dashboard_uid"
|
||||||
DASHBOARD_NAME = "dashboard_name"
|
DASHBOARD_NAME = "dashboard_name"
|
||||||
DASHBOARD_TYPE = "dashboard_type"
|
DASHBOARD_TYPE = "dashboard_type"
|
||||||
@ -92,6 +93,7 @@ const (
|
|||||||
NODETYPE = "nodetype"
|
NODETYPE = "nodetype"
|
||||||
SPACE = "space"
|
SPACE = "space"
|
||||||
INDEX = "index"
|
INDEX = "index"
|
||||||
|
ICON = "icon"
|
||||||
ARGS = "args"
|
ARGS = "args"
|
||||||
INIT = "init"
|
INIT = "init"
|
||||||
QUERY = "query"
|
QUERY = "query"
|
||||||
|
@ -5,13 +5,16 @@ body.mobile div.upload.float div.action { display:flex; }
|
|||||||
body.mobile div.upload.float div.action div.item.upload { flex-grow:1; }
|
body.mobile div.upload.float div.action div.item.upload { flex-grow:1; }
|
||||||
body.mobile div.upload.float div.action div.item.upload input { width:100%; }
|
body.mobile div.upload.float div.action div.item.upload input { width:100%; }
|
||||||
$action { background-color:transparent; position:absolute; top:0; width:100%; z-index:1; }
|
$action { background-color:transparent; position:absolute; top:0; width:100%; z-index:1; }
|
||||||
$action div.item.button { margin-right:5px; padding:0; height:48px; align-items:center; }
|
$action div.item.button { margin-left:10px; margin-right:0; padding:0; height:48px; align-items:center; }
|
||||||
$action div.item.button input { border:none; background-color:var(--plugin-bg-color); color:var(--notice-bg-color); min-width:60px; display:unset; }
|
$action div.item.button input { border:none; background-color:var(--plugin-bg-color); color:var(--notice-bg-color); min-width:60px; display:unset; }
|
||||||
$action div.item.button input:hover { background-color:var(--hover-bg-color); }
|
$action div.item.button input:hover { background-color:var(--hover-bg-color); }
|
||||||
$action div.item.button span { display:none; }
|
$action div.item.button span { display:none; }
|
||||||
$action div.item.button i { display:none; }
|
$action div.item.button i { display:none; }
|
||||||
|
$output div.title div.action div.item.notice input {
|
||||||
|
background-color:var(--notice-bg-color); color:var(--notice-fg-color);
|
||||||
|
}
|
||||||
$output { background-color:var(--plugin-bg-color); }
|
$output { background-color:var(--plugin-bg-color); }
|
||||||
$output div.head { margin-bottom:20px; }
|
// $output div.head { margin-bottom:20px; }
|
||||||
$output div.head>img { height:200px; width:100%; object-fit:cover; }
|
$output div.head>img { height:200px; width:100%; object-fit:cover; }
|
||||||
$output div.head div.item.card img { border-radius:25px; }
|
$output div.head div.item.card img { border-radius:25px; }
|
||||||
$output div.head>div.item.card div.title div.item.button i { display:none; }
|
$output div.head>div.item.card div.title div.item.button i { display:none; }
|
||||||
@ -20,8 +23,11 @@ $output>div.footer { border-radius:100px; background-color:var(--notice-bg-color
|
|||||||
$output>div>div.list { box-shadow:var(--box-shadow); border-radius:10px; background-color:var(--output-bg-color); padding:10px; margin:10px; }
|
$output>div>div.list { box-shadow:var(--box-shadow); border-radius:10px; background-color:var(--output-bg-color); padding:10px; margin:10px; }
|
||||||
$output>div>div.list.mycount { min-height:105px; }
|
$output>div>div.list.mycount { min-height:105px; }
|
||||||
$output>div>div.list.myplace>div.output { padding:0 10px; max-height:420px; }
|
$output>div>div.list.myplace>div.output { padding:0 10px; max-height:420px; }
|
||||||
|
$output>div>div.list.mynotice>span:first-child { background-color:var(--hover-bg-color); color:yellow; margin-right:10px; }
|
||||||
$output>div>div.list>div.title { font-weight:bold; display:flex; align-items:center; }
|
$output>div>div.list>div.title { font-weight:bold; display:flex; align-items:center; }
|
||||||
$output>div>div.list>div.title span:first-child { flex-grow:1; }
|
$output>div>div.list>div.title span:first-child { flex-grow:1; }
|
||||||
|
$output>div>div.list>div.title div.action div.item.filter input:focus { width:200px; transition:width 0.5s; }
|
||||||
|
$output>div>div.list>div.title div.action div.item.filter input { transition:width 0.8s; }
|
||||||
$output>div>div.list>div.title div.action { overflow:hidden; }
|
$output>div>div.list>div.title div.action { overflow:hidden; }
|
||||||
$output>div>div.list>div.title div.action div.item { margin-right:5px; }
|
$output>div>div.list>div.title div.action div.item { margin-right:5px; }
|
||||||
$output>div>div.list>div.title div.action div.item.button.icons input { display:none; }
|
$output>div>div.list>div.title div.action div.item.button.icons input { display:none; }
|
||||||
@ -72,6 +78,7 @@ $output span.role.danger { border:var(--box-danger); color:var(--danger-bg-color
|
|||||||
$output span.level.danger { border:var(--box-danger); color:var(--danger-bg-color); }
|
$output span.level.danger { border:var(--box-danger); color:var(--danger-bg-color); }
|
||||||
$output span.status.danger { border:var(--box-danger); color:var(--danger-bg-color); }
|
$output span.status.danger { border:var(--box-danger); color:var(--danger-bg-color); }
|
||||||
$output>fieldset.story { margin-top:48px; }
|
$output>fieldset.story { margin-top:48px; }
|
||||||
|
$output>fieldset.story.web.team.renzhengshouquan.profile { margin-top:0; }
|
||||||
$output fieldset.story { box-shadow:none; }
|
$output fieldset.story { box-shadow:none; }
|
||||||
$output fieldset.story>legend { display:none; }
|
$output fieldset.story>legend { display:none; }
|
||||||
$output fieldset.story>form.option { display:none; }
|
$output fieldset.story>form.option { display:none; }
|
||||||
@ -81,6 +88,7 @@ $output fieldset.story>div.output { background-color:var(--plugin-bg-color); }
|
|||||||
$output fieldset.story>div.output table.content td { box-shadow:none; }
|
$output fieldset.story>div.output table.content td { box-shadow:none; }
|
||||||
$output fieldset.story>div.output table.content td img { max-width:100%; }
|
$output fieldset.story>div.output table.content td img { max-width:100%; }
|
||||||
$output fieldset.story>div.output table.content tr.user_avatar td img { max-height:128px; max-width:128px; }
|
$output fieldset.story>div.output table.content tr.user_avatar td img { max-height:128px; max-width:128px; }
|
||||||
|
$output fieldset.story>div.output table.content tr.auth_avatar td img { max-height:128px; max-width:128px; }
|
||||||
$output fieldset.story>div.output>div.code { text-align:center; }
|
$output fieldset.story>div.output>div.code { text-align:center; }
|
||||||
$output fieldset.story>div.output>div.code>img { display:block; margin:auto; width:100%; max-width:390px; }
|
$output fieldset.story>div.output>div.code>img { display:block; margin:auto; width:100%; max-width:390px; }
|
||||||
$output fieldset.story>div.output>div.code>input[type=button] {
|
$output fieldset.story>div.output>div.code>input[type=button] {
|
||||||
|
@ -30,7 +30,6 @@ type Portal struct {
|
|||||||
list string `name:"list place_uid index uid auto" role:"void"`
|
list string `name:"list place_uid index uid auto" role:"void"`
|
||||||
placeCreate string `name:"placeCreate city_name* street_name* place_name* place_type*:select address" icon:"bi bi-plus-square-dotted" role:"void"`
|
placeCreate string `name:"placeCreate city_name* street_name* place_name* place_type*:select address" icon:"bi bi-plus-square-dotted" role:"void"`
|
||||||
placeRemove string `name:"placeRemove" role:"void"`
|
placeRemove string `name:"placeRemove" role:"void"`
|
||||||
placeAuth string `name:"placeAuth" role:"void"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s Portal) Init(m *ice.Message, arg ...string) {
|
func (s Portal) Init(m *ice.Message, arg ...string) {
|
||||||
@ -69,14 +68,14 @@ func (s Portal) Inputs(m *ice.Message, arg ...string) {
|
|||||||
}
|
}
|
||||||
func (s Portal) Command(m *ice.Message, arg ...string) {
|
func (s Portal) Command(m *ice.Message, arg ...string) {
|
||||||
if cmdPortal[arg[0]] != "" && cmdPortal[arg[0]] != m.PrefixKey() {
|
if cmdPortal[arg[0]] != "" && cmdPortal[arg[0]] != m.PrefixKey() {
|
||||||
s.AutoCmdy(m, cmdPortal[arg[0]], m.ActionKey(), arg)
|
s.AutoCmdy(m, cmdPortal[arg[0]], ctx.ACTION, m.ActionKey(), arg)
|
||||||
} else {
|
} else {
|
||||||
ctx.Command(m.Message, arg...)
|
ctx.Command(m.Message, arg...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func (s Portal) Run(m *ice.Message, arg ...string) {
|
func (s Portal) Run(m *ice.Message, arg ...string) {
|
||||||
if cmdPortal[arg[0]] != "" && cmdPortal[arg[0]] != m.PrefixKey() {
|
if cmdPortal[arg[0]] != "" && cmdPortal[arg[0]] != m.PrefixKey() {
|
||||||
s.AutoCmdy(m, cmdPortal[arg[0]], m.ActionKey(), arg)
|
s.AutoCmdy(m, cmdPortal[arg[0]], ctx.ACTION, m.ActionKey(), arg)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
s.DisplayBase(m, "common.js")
|
s.DisplayBase(m, "common.js")
|
||||||
@ -144,7 +143,7 @@ func (s Portal) PlaceListOption(m *ice.Message, arg ...string) *ice.Message {
|
|||||||
s.Place.RewriteAppend(msg)
|
s.Place.RewriteAppend(msg)
|
||||||
m.Options(msg.AppendSimple(
|
m.Options(msg.AppendSimple(
|
||||||
s.Keys(s.Place, model.NAME), s.Keys(s.Place, model.TYPE), s.Keys(s.UserPlace, model.ROLE),
|
s.Keys(s.Place, model.NAME), s.Keys(s.Place, model.TYPE), s.Keys(s.UserPlace, model.ROLE),
|
||||||
model.CITY_NAME, s.Keys(s.Street, model.NAME), model.AUTH_STATUS, model.DASHBOARD_UID,
|
model.CITY_NAME, s.Keys(s.Street, model.NAME), model.AUTH_STATUS, model.AUTH_AVATAR, model.DASHBOARD_UID,
|
||||||
))
|
))
|
||||||
m.Option(model.STREET_NAME, msg.Append(s.Keys(s.Street, model.NAME)))
|
m.Option(model.STREET_NAME, msg.Append(s.Keys(s.Street, model.NAME)))
|
||||||
m.Option(model.PLACE_NAME, msg.Append(s.Keys(s.Place, model.NAME)))
|
m.Option(model.PLACE_NAME, msg.Append(s.Keys(s.Place, model.NAME)))
|
||||||
@ -194,6 +193,9 @@ func (s Portal) PlaceAuth(m *ice.Message, arg ...string) {
|
|||||||
}
|
}
|
||||||
msg := m.Cmd(s.Place, s.Table.Select, model.UID, m.Option(s.Keys(s.Place, model.UID)))
|
msg := m.Cmd(s.Place, s.Table.Select, model.UID, m.Option(s.Keys(s.Place, model.UID)))
|
||||||
street := m.Cmd(s.Street, s.Table.Select, model.UID, msg.Append(s.Keys(s.Street, model.UID)))
|
street := m.Cmd(s.Street, s.Table.Select, model.UID, msg.Append(s.Keys(s.Street, model.UID)))
|
||||||
|
m.Option(model.COMPANY_NAME, street.Append(model.NAME))
|
||||||
|
m.Option(s.Keys(s.Street, model.NAME), street.Append(model.NAME))
|
||||||
|
m.Option(s.Keys(s.Place, model.NAME), msg.Append(model.NAME))
|
||||||
s.AutoCmdy(m, api.RENZHENGSHOUQUAN_PORTAL, s.PlaceCreate,
|
s.AutoCmdy(m, api.RENZHENGSHOUQUAN_PORTAL, s.PlaceCreate,
|
||||||
model.AUTH_NAME, msg.Append(model.NAME), model.AUTH_TYPE, 3, model.FROM_UID, street.Append(model.AUTH_UID),
|
model.AUTH_NAME, msg.Append(model.NAME), model.AUTH_TYPE, 3, model.FROM_UID, street.Append(model.AUTH_UID),
|
||||||
model.SERVICE_UID, ServiceUID(m), model.PLACE_UID, msg.Append(model.UID),
|
model.SERVICE_UID, ServiceUID(m), model.PLACE_UID, msg.Append(model.UID),
|
||||||
@ -280,6 +282,10 @@ func (s Portal) StorageCreate(m *ice.Message, name string, arg ...string) {
|
|||||||
func (s Portal) StorageInsert(m *ice.Message, title, content string) {
|
func (s Portal) StorageInsert(m *ice.Message, title, content string) {
|
||||||
s.AutoCmd(m, api.STORAGE_FILE, s.Insert, model.TITLE, title, model.CONTENT, content, m.OptionSimple(model.STORAGE_UID, model.USER_UID))
|
s.AutoCmd(m, api.STORAGE_FILE, s.Insert, model.TITLE, title, model.CONTENT, content, m.OptionSimple(model.STORAGE_UID, model.USER_UID))
|
||||||
}
|
}
|
||||||
|
func (s Table) NoticeList(m *ice.Message, arg ...string) {
|
||||||
|
s.Limit(m, 1)
|
||||||
|
m.Cmdy(s.Prefix(m, notice{}), arg)
|
||||||
|
}
|
||||||
|
|
||||||
func init() { ice.TeamCtxCmd(Portal{Table: newTable()}) }
|
func init() { ice.TeamCtxCmd(Portal{Table: newTable()}) }
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
myTrans: function(can, value) {
|
myTrans: function(can, value) {
|
||||||
var PLACE_UID = can.Conf("_place_uid"), PLACE_NAME = can.Conf("_place_name"), PLACE_TYPE = can.Conf("_place_type")
|
var PLACE_UID = can.Conf("_place_uid"), PLACE_NAME = can.Conf("_place_name"), PLACE_TYPE = can.Conf("_place_type")
|
||||||
var USER_PLACE_ROLE = can.Conf("_user_place_role"), STREET_NAME = can.Conf("_street_name")
|
var USER_PLACE_ROLE = can.Conf("_user_place_role"), STREET_NAME = can.Conf("_street_name")
|
||||||
value.icons = value.icons||can.Conf(can.core.Keys("_trans.value", PLACE_TYPE, mdb.ICONS, value[PLACE_TYPE]||"what"))
|
value.icons = value.icons||value.avatar||value.auth_avatar||can.Conf(can.core.Keys("_trans.value", PLACE_TYPE, mdb.ICONS, value[PLACE_TYPE]||"what"))
|
||||||
value._uid = value[PLACE_UID], value._name = value[PLACE_NAME], value._street = value[STREET_NAME]
|
value._uid = value[PLACE_UID], value._name = value[PLACE_NAME], value._street = value[STREET_NAME]
|
||||||
value._type = value[PLACE_TYPE], value.__type = can.user.transValue(can, value, PLACE_TYPE)
|
value._type = value[PLACE_TYPE], value.__type = can.user.transValue(can, value, PLACE_TYPE)
|
||||||
value._role = value[USER_PLACE_ROLE], value.__role = can.user.transValue(can, value, USER_PLACE_ROLE)
|
value._role = value[USER_PLACE_ROLE], value.__role = can.user.transValue(can, value, USER_PLACE_ROLE)
|
||||||
@ -37,13 +37,15 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
}) })
|
}) })
|
||||||
}
|
}
|
||||||
can.ui = can.page.Append(can, can._output, [{view: html.HEADER},
|
can.ui = can.page.Append(can, can._output, [{view: html.HEADER},
|
||||||
{view: html.OUTPUT, list: ["myplace.list", "myinit.list", "mycount.list", "myindex.list", "myallow.list"]},
|
{view: html.OUTPUT, list: ["myplace.list", "myinit.list", "mycount.list", "mynotice.list", "myindex.list", "myallow.list"]},
|
||||||
{view: html.ACTION, list: ["myorder.list"]},
|
{view: html.ACTION, list: ["myorder.list"]},
|
||||||
])
|
])
|
||||||
can.onmotion.hidden(can, can.ui.myinit)
|
can.onmotion.hidden(can, can.ui.myinit)
|
||||||
can.onmotion.hidden(can, can.ui.mycount)
|
can.onmotion.hidden(can, can.ui.mycount)
|
||||||
|
can.onmotion.hidden(can, can.ui.mynotice)
|
||||||
can.onmotion.hidden(can, can.ui.myallow)
|
can.onmotion.hidden(can, can.ui.myallow)
|
||||||
function showIndex(msg) { if (msg.Length() == 0) { return }
|
function showIndex(msg) { if (msg.Length() == 0) { return }
|
||||||
|
can.onimport.myNotice(can, msg, can.ui.mynotice)
|
||||||
can.onimport.myCount(can, msg, can.ui.mycount)
|
can.onimport.myCount(can, msg, can.ui.mycount)
|
||||||
can.onimport.myIndex(can, msg, can.ui.myindex), can.onexport.index(can, can.sup.current)
|
can.onimport.myIndex(can, msg, can.ui.myindex), can.onexport.index(can, can.sup.current)
|
||||||
can.onimport.myAllow(can, msg, can.ui.myallow)
|
can.onimport.myAllow(can, msg, can.ui.myallow)
|
||||||
@ -53,7 +55,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
msg.Length() > 0? can.run({}, [uid], function(msg) { showIndex(can._index_msg = msg) }): can.run({}, [uid], function(msg) { can.onimport.myOrder(can, can._index_msg = msg, can.ui.myorder) })
|
msg.Length() > 0? can.run({}, [uid], function(msg) { showIndex(can._index_msg = msg) }): can.run({}, [uid], function(msg) { can.onimport.myOrder(can, can._index_msg = msg, can.ui.myorder) })
|
||||||
} else {
|
} else {
|
||||||
var _msg = can.request({}); if (msg.Option(PLACE_NAME)) {
|
var _msg = can.request({}); if (msg.Option(PLACE_NAME)) {
|
||||||
_msg.Push(kit.Dict(UID, "", msg.OptionSimple(PLACE_UID, PLACE_NAME, PLACE_TYPE, USER_PLACE_ROLE, STREET_NAME, CITY_NAME, "auth_status", "dashboard_uid")))
|
_msg.Push(kit.Dict(UID, "", msg.OptionSimple(PLACE_UID, PLACE_NAME, PLACE_TYPE, USER_PLACE_ROLE, STREET_NAME, CITY_NAME, "auth_status", "auth_avatar", "dashboard_uid")))
|
||||||
} can.onimport.myPlace(can, _msg, can.ui.myplace)
|
} can.onimport.myPlace(can, _msg, can.ui.myplace)
|
||||||
if (_msg.Length() == 0) { can.onimport.myOrder(can, msg, can.ui.myorder) } else { showIndex(can._index_msg = msg) }
|
if (_msg.Length() == 0) { can.onimport.myOrder(can, msg, can.ui.myorder) } else { showIndex(can._index_msg = msg) }
|
||||||
}
|
}
|
||||||
@ -61,6 +63,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
myPlace: function(can, msg, target) { var place_uid
|
myPlace: function(can, msg, target) { var place_uid
|
||||||
can.page.Append(can, target, [{view: html.TITLE, list: [
|
can.page.Append(can, target, [{view: html.TITLE, list: [
|
||||||
{text: can.user.trans(can, "My "+can.base.capital(can.Conf("_place_name").replace("_name", "")), null, html.INPUT)},
|
{text: can.user.trans(can, "My "+can.base.capital(can.Conf("_place_name").replace("_name", "")), null, html.INPUT)},
|
||||||
|
msg.Length() > 5 && {view: html.ACTION, _init: function(target) { can.onmotion.delay(can, function() { can.onappend.filter(can, target, can.ui._target) }) }},
|
||||||
msg.Option(ice.MSG_ACTION) && {view: html.ACTION, _init: function(target) { can.onappend._action(can, msg.Option(ice.MSG_ACTION), target) }}
|
msg.Option(ice.MSG_ACTION) && {view: html.ACTION, _init: function(target) { can.onappend._action(can, msg.Option(ice.MSG_ACTION), target) }}
|
||||||
]}]), can.ui._target = can.page.Append(can, target||can._output, [html.OUTPUT])._target
|
]}]), can.ui._target = can.page.Append(can, target||can._output, [html.OUTPUT])._target
|
||||||
msg.Length() > 0 && can.page.Append(can, can.ui._target, msg.Table(function(value) { can.onimport.myTrans(can, value)
|
msg.Length() > 0 && can.page.Append(can, can.ui._target, msg.Table(function(value) { can.onimport.myTrans(can, value)
|
||||||
@ -80,6 +83,16 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
can.onmotion.toggle(can, target, value._count = true)
|
can.onmotion.toggle(can, target, value._count = true)
|
||||||
}, target)
|
}, target)
|
||||||
},
|
},
|
||||||
|
myNotice: function(can, value, target) { if (value._notice_hide) { return can.onmotion.toggle(can, target, false) }
|
||||||
|
if (can.onmotion.cache(can, function() { return value._uid }, target)) { return can.onmotion.toggle(can, target, true) }
|
||||||
|
target.onclick = function() {
|
||||||
|
can.onimport.myStory(can, {index: can.ConfIndex().split(".").slice(0, -1).concat(["notice"]).join("."), args: [value._uid]})
|
||||||
|
}
|
||||||
|
can.runAction({}, "noticeList", [value._uid], function(msg) {
|
||||||
|
if (msg.Length() == 0) { value._notice_hide = true; return can.onmotion.hidden(can, target) } can.onmotion.toggle(can, target, true)
|
||||||
|
can.page.Append(can, target, [{text: "通知公告"}, {text: can.base.TimeTrim(msg.Append("created_at"))}, {text: " "}, {text: msg.Append("title")}])
|
||||||
|
})
|
||||||
|
},
|
||||||
myInit: function(can, msg, value, target) { if (!msg) { return } can.onmotion.toggle(can, target, !!value._init)
|
myInit: function(can, msg, value, target) { if (!msg) { return } can.onmotion.toggle(can, target, !!value._init)
|
||||||
if (can.onmotion.cache(can, function() { return value._uid }, target)) { return } can.onimport.myTitle(can, "My Init", "我的初始化", target)
|
if (can.onmotion.cache(can, function() { return value._uid }, target)) { return } can.onimport.myTitle(can, "My Init", "我的初始化", target)
|
||||||
msg.Table(function(val) { if (parseInt(val.init) == parseInt(value.init)+1) { value._init = true, val.args = [value._uid]
|
msg.Table(function(val) { if (parseInt(val.init) == parseInt(value.init)+1) { value._init = true, val.args = [value._uid]
|
||||||
@ -148,6 +161,8 @@ Volcanos(chat.ONACTION, {
|
|||||||
sub.Option("street_name", "航城街道")
|
sub.Option("street_name", "航城街道")
|
||||||
sub.Option("school_name", "深圳中学")
|
sub.Option("school_name", "深圳中学")
|
||||||
sub.Option("company_name", "云境互联")
|
sub.Option("company_name", "云境互联")
|
||||||
|
sub.Option("class_name", "初一二班")
|
||||||
|
sub.Option("grade", "2024级")
|
||||||
// sub.Option("company_name", "老邵木器加工")
|
// sub.Option("company_name", "老邵木器加工")
|
||||||
sub.Option("store_name", "老邵木器加工")
|
sub.Option("store_name", "老邵木器加工")
|
||||||
sub.Option("place_name", "易尚三维")
|
sub.Option("place_name", "易尚三维")
|
||||||
@ -165,7 +180,9 @@ Volcanos(chat.ONEXPORT, {
|
|||||||
can.onexport.place(can, value._uid), can.onexport.hash(can, value._uid), can.onexport.title(can, value._name, can.ConfHelp())
|
can.onexport.place(can, value._uid), can.onexport.hash(can, value._uid), can.onexport.title(can, value._name, can.ConfHelp())
|
||||||
can.user.agent.init(can, value.city_name+" "+value._street)
|
can.user.agent.init(can, value.city_name+" "+value._street)
|
||||||
can.page.Select(can, can.ui._target, "div.item.card.uid-"+value._uid, function(item) { can.onmotion.select(can, can.ui._target, html.DIV_ITEM, item) })
|
can.page.Select(can, can.ui._target, "div.item.card.uid-"+value._uid, function(item) { can.onmotion.select(can, can.ui._target, html.DIV_ITEM, item) })
|
||||||
can.ui.mycount && can.onimport.myCount(can, value, can.ui.mycount), can.ui.myinit && can.onimport.myInit(can, can._index_msg, value, can.ui.myinit)
|
can.ui.myinit && can.onimport.myInit(can, can._index_msg, value, can.ui.myinit)
|
||||||
|
can.ui.mycount && can.onimport.myCount(can, value, can.ui.mycount)
|
||||||
|
can.ui.mynotice && can.onimport.myNotice(can, value, can.ui.mynotice)
|
||||||
can.ui.myallow && can.onmotion.toggle(can, can.ui.myallow, value._role == "creator" || can.page.Select(can, can.ui.myallow, "div.item.index.role."+value._role).length > 0)
|
can.ui.myallow && can.onmotion.toggle(can, can.ui.myallow, value._role == "creator" || can.page.Select(can, can.ui.myallow, "div.item.index.role."+value._role).length > 0)
|
||||||
can.onmotion.toggle(can, can.ui.myindex, !value.member_status || value.member_status == "normal")
|
can.onmotion.toggle(can, can.ui.myindex, !value.member_status || value.member_status == "normal")
|
||||||
},
|
},
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
"placeSearch": "搜索", "scanQRCode": "扫码",
|
"placeSearch": "搜索", "scanQRCode": "扫码",
|
||||||
"qrcode": "场景码", "event": "事件流", "apply": "权限申请", "allow": "权限审批", "notice": "通知公告",
|
"qrcode": "场景码", "event": "事件流", "apply": "权限申请", "allow": "权限审批", "notice": "通知公告",
|
||||||
"member": "场景成员",
|
"member": "场景成员",
|
||||||
"credit": "实名认证",
|
"credit": "用户名片",
|
||||||
"setting": "配置", "email": "邮箱配置",
|
"setting": "配置", "email": "邮箱配置",
|
||||||
"domain": "领域分类", "market": "人民广场", "message": "消息待办", "recent": "最近访问", "service": "服务发现", "support": "客服支持",
|
"domain": "领域分类", "market": "人民广场", "message": "消息待办", "recent": "最近访问", "service": "服务发现", "support": "客服支持",
|
||||||
"cancel": "取消", "submit": "提交", "finish": "完成", "reject": "驳回", "approve": "通过",
|
"cancel": "取消", "submit": "提交", "finish": "完成", "reject": "驳回", "approve": "通过",
|
||||||
@ -64,6 +64,7 @@
|
|||||||
"auth_info": "认证信息",
|
"auth_info": "认证信息",
|
||||||
"auth_type": "认证类型",
|
"auth_type": "认证类型",
|
||||||
"auth_status": "认证状态",
|
"auth_status": "认证状态",
|
||||||
|
"auth_avatar": "认证头像",
|
||||||
"qrcode_type": "链接类型",
|
"qrcode_type": "链接类型",
|
||||||
"apply_status": "申请状态",
|
"apply_status": "申请状态",
|
||||||
"allow_status": "审批状态",
|
"allow_status": "审批状态",
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
Volcanos(chat.ONIMPORT, {
|
Volcanos(chat.ONIMPORT, {
|
||||||
_init: function(can, msg) {
|
_init: function(can, msg) {
|
||||||
can.onimport.myView(can, msg, function(value) { return [
|
can.onimport.myView(can, msg, function(value) {
|
||||||
|
value.icons = can.misc.Resource(can, value.icon.split("?")[0], value.space)
|
||||||
|
return [
|
||||||
{view: html.TITLE, list: [value.name]},
|
{view: html.TITLE, list: [value.name]},
|
||||||
{view: html.STATUS, list: [value.index]},
|
{view: html.STATUS, list: [value.index]},
|
||||||
{view: html.STATUS, list: [value.module, value.version]},
|
{view: html.STATUS, list: [value.module, value.version]},
|
||||||
] }, function(event, value) { can.onaction._goback(event, function() {
|
]
|
||||||
|
}, function(event, value) { can.onaction._goback(event, function() {
|
||||||
can.onimport.myPlugin(can, {space: value.space, index: value.index})
|
can.onimport.myPlugin(can, {space: value.space, index: value.index})
|
||||||
}) })
|
}) })
|
||||||
},
|
},
|
||||||
|
@ -10,9 +10,9 @@ import (
|
|||||||
type street struct {
|
type street struct {
|
||||||
Table
|
Table
|
||||||
city city
|
city city
|
||||||
modify string `name:"modify street_info" role:"void"`
|
modify string `name:"modify info" role:"tech"`
|
||||||
list string `name:"list city_name street_name auto" role:"void"`
|
list string `name:"list city_name street_name auto" role:"void"`
|
||||||
authCreate string `name:"authCreate city_name* company_name* street_name* street_info" role:"void"`
|
authCreate string `name:"authCreate" role:"tech"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s street) FindOrCreateByName(m *ice.Message, arg ...string) {
|
func (s street) FindOrCreateByName(m *ice.Message, arg ...string) {
|
||||||
@ -24,7 +24,7 @@ func (s street) FindOrCreateByName(m *ice.Message, arg ...string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
func (s street) Modify(m *ice.Message, arg ...string) {
|
func (s street) Modify(m *ice.Message, arg ...string) {
|
||||||
s.Update(m, kit.Dict(model.INFO, m.Option(model.STREET_INFO)), model.NAME, m.Option(model.STREET_NAME), model.CITY_UID, m.Option(model.CITY_UID))
|
s.Update(m, kit.Dict(m.OptionSimple(model.INFO)), m.OptionSimple(model.UID)...)
|
||||||
}
|
}
|
||||||
func (s street) List(m *ice.Message, arg ...string) {
|
func (s street) List(m *ice.Message, arg ...string) {
|
||||||
if len(arg) == 0 {
|
if len(arg) == 0 {
|
||||||
@ -39,7 +39,8 @@ func (s street) List(m *ice.Message, arg ...string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
func (s street) AuthCreate(m *ice.Message, arg ...string) {
|
func (s street) AuthCreate(m *ice.Message, arg ...string) {
|
||||||
s.Table.AuthCreate(m, 6, s.Select(m.Spawn(), m.OptionSimple(model.CITY_UID)...).Append(model.AUTH_UID))
|
msg := m.Cmd("web.team.gonganxitong.city", s.Select, model.UID, m.Option(model.CITY_UID))
|
||||||
|
s.Table.AuthCreate(m, 6, msg.Append(model.AUTH_UID), m.OptionSimple(model.UID)...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { ice.TeamCtxCmd(street{}) }
|
func init() { ice.TeamCtxCmd(street{}) }
|
||||||
|
@ -16,10 +16,9 @@ type user struct {
|
|||||||
setting setting
|
setting setting
|
||||||
template string `data:"4b-Z_r8dZmm1pHdd2h4A10VVYX4OIHvemlLjsHKBj2s"`
|
template string `data:"4b-Z_r8dZmm1pHdd2h4A10VVYX4OIHvemlLjsHKBj2s"`
|
||||||
create string `name:"create open_id* avatar usernick"`
|
create string `name:"create open_id* avatar usernick"`
|
||||||
modify string `name:"modify user_name* user_info" role:"void"`
|
modify string `name:"modify info" role:"void"`
|
||||||
email string `name:"email email*"`
|
|
||||||
list string `name:"list uid auto" role:"void"`
|
list string `name:"list uid auto" role:"void"`
|
||||||
authCreate string `name:"authCreate" role:"void"`
|
email string `name:"email email*"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s user) Create(m *ice.Message, arg ...string) {
|
func (s user) Create(m *ice.Message, arg ...string) {
|
||||||
@ -35,10 +34,7 @@ func (s user) Create(m *ice.Message, arg ...string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
func (s user) Modify(m *ice.Message, arg ...string) {
|
func (s user) Modify(m *ice.Message, arg ...string) {
|
||||||
s.Update(m, kit.Dict(model.NAME, m.Option(model.USER_NAME), model.INFO, m.Option(model.USER_INFO)))
|
s.Update(m, kit.Dict(m.OptionSimple(model.INFO)), model.UID, m.Option(model.USER_UID))
|
||||||
}
|
|
||||||
func (s user) Delete(m *ice.Message, arg ...string) {
|
|
||||||
m.Options(model.NAME, "profile", model.VALUE, "off").Cmd(s.setting, s.Update)
|
|
||||||
}
|
}
|
||||||
func (s user) List(m *ice.Message, arg ...string) {
|
func (s user) List(m *ice.Message, arg ...string) {
|
||||||
if len(arg) == 0 {
|
if len(arg) == 0 {
|
||||||
@ -58,9 +54,6 @@ func (s user) List(m *ice.Message, arg ...string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func (s user) SetCookie(m *ice.Message, arg ...string) {
|
|
||||||
m.ProcessCookie(model.USER_UID, m.Option(model.UID))
|
|
||||||
}
|
|
||||||
func (s user) AuthCreate(m *ice.Message, arg ...string) {
|
func (s user) AuthCreate(m *ice.Message, arg ...string) {
|
||||||
m.Options(s.Select(m.Spawn(), model.UID, m.Option(model.USER_UID)).AppendSimple(model.NAME, model.INFO))
|
m.Options(s.Select(m.Spawn(), model.UID, m.Option(model.USER_UID)).AppendSimple(model.NAME, model.INFO))
|
||||||
s.Table.AuthCreate(m, 2, m.Option(model.AUTH_UID))
|
s.Table.AuthCreate(m, 2, m.Option(model.AUTH_UID))
|
||||||
@ -72,6 +65,9 @@ func (s user) SendTemplate(m *ice.Message, arg ...string) { // from uid url type
|
|||||||
"time11", time.Now().Format("2006年01月02日 15:04"), "thing18", kit.Select(kit.Select(m.Option(ice.MSG_USERNAME), m.Option(ice.MSG_USERNICK)), arg, 0),
|
"time11", time.Now().Format("2006年01月02日 15:04"), "thing18", kit.Select(kit.Select(m.Option(ice.MSG_USERNAME), m.Option(ice.MSG_USERNICK)), arg, 0),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
func (s user) SetCookie(m *ice.Message, arg ...string) {
|
||||||
|
m.ProcessCookie(model.USER_UID, m.Option(model.UID))
|
||||||
|
}
|
||||||
func (s user) Email(m *ice.Message, arg ...string) {
|
func (s user) Email(m *ice.Message, arg ...string) {
|
||||||
s.Table.Update(m, kit.Dict(m.OptionSimple(model.EMAIL)))
|
s.Table.Update(m, kit.Dict(m.OptionSimple(model.EMAIL)))
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ type Auth struct {
|
|||||||
cert cert
|
cert cert
|
||||||
order string `data:"2"`
|
order string `data:"2"`
|
||||||
models string `data:"auth"`
|
models string `data:"auth"`
|
||||||
fields string `data:"name,info,auth_type,auth_status,avatar,background,service_uid,place_uid,user_uid"`
|
fields string `data:"from_uid,name,info,auth_type,auth_status,avatar,background,service_uid,place_uid,user_uid"`
|
||||||
memberList string `name:"memberList" role:"leader,worker"`
|
memberList string `name:"memberList" role:"leader,worker"`
|
||||||
certList string `name:"certList" role:"leader,worker"`
|
certList string `name:"certList" role:"leader,worker"`
|
||||||
issue string `name:"issue" role:"leader,worker"`
|
issue string `name:"issue" role:"leader,worker"`
|
||||||
@ -50,25 +50,13 @@ func (s Auth) CertList(m *ice.Message, arg ...string) {
|
|||||||
kit.If(m.Length() == 0, func() { m.Echo("没有上传证件") })
|
kit.If(m.Length() == 0, func() { m.Echo("没有上传证件") })
|
||||||
}
|
}
|
||||||
func (s Auth) Issue(m *ice.Message, arg ...string) {
|
func (s Auth) Issue(m *ice.Message, arg ...string) {
|
||||||
msg := m.Cmd(userAuth{}, s.Select, m.OptionSimple(model.USER_UID), model.UID, m.Option(model.AUTH_UID))
|
msg := s.Select(m.Spawn(), model.UID, m.Option(model.AUTH_UID))
|
||||||
if !m.IsTech() || AuthType(kit.Int(msg.Append(model.AUTH_TYPE))) != AuthRoot {
|
if !m.IsTech() || AuthType(kit.Int(msg.Append(model.AUTH_TYPE))) != AuthRoot {
|
||||||
if m.WarnNotValid(AuthStatus(kit.Int(msg.Append(model.AUTH_STATUS))) != AuthIssued) {
|
if m.WarnNotValid(AuthStatus(kit.Int(msg.Append(model.AUTH_STATUS))) != AuthIssued, "本服务还未认证") {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
s.Update(m, kit.Dict(model.STATUS, AuthIssued), model.FROM_UID, m.Option(model.AUTH_UID), model.UID, m.Option(model.UID))
|
s.Update(m, kit.Dict(model.STATUS, AuthIssued), model.FROM_UID, m.Option(model.AUTH_UID), model.UID, m.Option(model.UID))
|
||||||
switch s.Select(m, m.OptionSimple(model.UID)...); AuthType(kit.Int(m.Append(model.AUTH_TYPE))) {
|
|
||||||
case AuthCity:
|
|
||||||
m.Cmd("web.team.gonganxitong.city", s.UpdateAuth, m.Option(model.UID), model.NAME, m.Append(model.NAME))
|
|
||||||
case AuthPersonal:
|
|
||||||
m.Cmd("web.team.gonganxitong.user", s.UpdateAuth, m.Option(model.UID), model.UID, m.Append(model.USER_UID))
|
|
||||||
case AuthCompany:
|
|
||||||
m.Cmd("web.team.guanlixitong.company", s.UpdateAuth, m.Option(model.UID), model.NAME, m.Append(model.NAME))
|
|
||||||
case AuthSchool:
|
|
||||||
m.Cmd("web.team.jiaowuxitong.school", s.UpdateAuth, m.Option(model.UID), model.NAME, m.Append(model.NAME))
|
|
||||||
case AuthStreet:
|
|
||||||
m.Cmd("web.team.gonganxitong.street", s.UpdateAuth, m.Option(model.UID), model.NAME, m.Append(model.NAME))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
func (s Auth) Revoke(m *ice.Message, arg ...string) {
|
func (s Auth) Revoke(m *ice.Message, arg ...string) {
|
||||||
s.Update(m, kit.Dict(model.STATUS, AuthRevoked), model.FROM_UID, m.Option(model.AUTH_UID), model.UID, m.Option(model.UID))
|
s.Update(m, kit.Dict(model.STATUS, AuthRevoked), model.FROM_UID, m.Option(model.AUTH_UID), model.UID, m.Option(model.UID))
|
||||||
|
@ -20,6 +20,7 @@ const (
|
|||||||
AUTH_INFO = "auth_info"
|
AUTH_INFO = "auth_info"
|
||||||
AUTH_TYPE = "auth_type"
|
AUTH_TYPE = "auth_type"
|
||||||
AUTH_STATUS = "auth_status"
|
AUTH_STATUS = "auth_status"
|
||||||
|
AUTH_AVATAR = "auth_avatar"
|
||||||
CERT_UID = "cert_uid"
|
CERT_UID = "cert_uid"
|
||||||
COMPANY_UID = "company_uid"
|
COMPANY_UID = "company_uid"
|
||||||
COMPANY_NAME = "company_name"
|
COMPANY_NAME = "company_name"
|
||||||
|
@ -25,10 +25,11 @@ func (s Portal) PlaceCreate(m *ice.Message, arg ...string) {
|
|||||||
if m.WarnNotRight(!m.IsTech()) {
|
if m.WarnNotRight(!m.IsTech()) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
arg = append(arg, model.STATUS, kit.Format(AuthIssued))
|
arg = append(arg, model.FROM_UID, aaa.ROOT, model.STATUS, kit.Format(AuthIssued))
|
||||||
arg = append(arg, model.FROM_UID, aaa.ROOT)
|
|
||||||
case AuthCity:
|
case AuthCity:
|
||||||
arg = append(arg, model.FROM_UID, s.findAuthFrom(m, AuthRoot))
|
arg = append(arg, model.FROM_UID, s.findAuthFrom(m, AuthRoot))
|
||||||
|
case AuthPersonal:
|
||||||
|
arg = append(arg, model.USER_UID, m.Option(model.USER_UID))
|
||||||
}
|
}
|
||||||
arg = kit.TransArgKeys(arg, model.AUTH_NAME, model.NAME, model.AUTH_INFO, model.INFO, model.AUTH_TYPE, model.TYPE)
|
arg = kit.TransArgKeys(arg, model.AUTH_NAME, model.NAME, model.AUTH_INFO, model.INFO, model.AUTH_TYPE, model.TYPE)
|
||||||
if m.Options(arg).Cmdy(s.Place, s.Insert, arg).IsErr() {
|
if m.Options(arg).Cmdy(s.Place, s.Insert, arg).IsErr() {
|
||||||
@ -40,6 +41,7 @@ func (s Portal) PlaceCreate(m *ice.Message, arg ...string) {
|
|||||||
func (s Portal) PlaceList(m *ice.Message, arg ...string) *ice.Message {
|
func (s Portal) PlaceList(m *ice.Message, arg ...string) *ice.Message {
|
||||||
s.Tables(m, s.Place).FieldsWithCreatedAT(m, s.UserPlace,
|
s.Tables(m, s.Place).FieldsWithCreatedAT(m, s.UserPlace,
|
||||||
model.AUTH_UID, model.AUTH_NAME, model.AUTH_INFO, model.AUTH_TYPE, model.USER_AUTH_ROLE, model.AUTH_STATUS,
|
model.AUTH_UID, model.AUTH_NAME, model.AUTH_INFO, model.AUTH_TYPE, model.USER_AUTH_ROLE, model.AUTH_STATUS,
|
||||||
|
model.AUTH_AVATAR,
|
||||||
)
|
)
|
||||||
if len(arg) == 1 {
|
if len(arg) == 1 {
|
||||||
m.Cmdy(s.UserPlace, s.Table.Select, s.Key(s.UserPlace, model.USER_UID), arg[0])
|
m.Cmdy(s.UserPlace, s.Table.Select, s.Key(s.UserPlace, model.USER_UID), arg[0])
|
||||||
|
@ -40,6 +40,8 @@
|
|||||||
"personal": "个人",
|
"personal": "个人",
|
||||||
"service": "服务",
|
"service": "服务",
|
||||||
"company": "公司",
|
"company": "公司",
|
||||||
|
"school": "学校",
|
||||||
|
"street": "街道",
|
||||||
"style": {
|
"style": {
|
||||||
"root": "danger",
|
"root": "danger",
|
||||||
"city": "danger",
|
"city": "danger",
|
||||||
@ -50,7 +52,9 @@
|
|||||||
"city": "https://img.icons8.com/officel/80/city-buildings.png",
|
"city": "https://img.icons8.com/officel/80/city-buildings.png",
|
||||||
"personal": "https://img.icons8.com/officel/80/identification-documents--v1.png",
|
"personal": "https://img.icons8.com/officel/80/identification-documents--v1.png",
|
||||||
"service": "https://img.icons8.com/officel/80/meeting-room.png",
|
"service": "https://img.icons8.com/officel/80/meeting-room.png",
|
||||||
"company": "https://img.icons8.com/officel/80/organization.png"
|
"company": "https://img.icons8.com/officel/80/organization.png",
|
||||||
|
"school": "https://img.icons8.com/officel/80/school.png",
|
||||||
|
"street": "https://img.icons8.com/officel/80/building.png"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"auth_status": {
|
"auth_status": {
|
||||||
|
@ -3,6 +3,7 @@ package renzhengshouquan
|
|||||||
import (
|
import (
|
||||||
"shylinux.com/x/ice"
|
"shylinux.com/x/ice"
|
||||||
"shylinux.com/x/icebergs/base/aaa"
|
"shylinux.com/x/icebergs/base/aaa"
|
||||||
|
"shylinux.com/x/icebergs/base/ctx"
|
||||||
"shylinux.com/x/icebergs/base/mdb"
|
"shylinux.com/x/icebergs/base/mdb"
|
||||||
"shylinux.com/x/icebergs/base/web"
|
"shylinux.com/x/icebergs/base/web"
|
||||||
kit "shylinux.com/x/toolkits"
|
kit "shylinux.com/x/toolkits"
|
||||||
@ -13,11 +14,14 @@ import (
|
|||||||
type profile struct {
|
type profile struct {
|
||||||
Auth
|
Auth
|
||||||
order string `data:"3"`
|
order string `data:"3"`
|
||||||
modify string `name:"modify info" role:"leader,worker"`
|
modify string `name:"modify info" role:"tech"`
|
||||||
upload string `name:"upload" role:"leader,worker"`
|
// modify string `name:"modify info" role:"leader,worker"`
|
||||||
|
upload string `name:"upload" role:"tech"`
|
||||||
|
// upload string `name:"upload" role:"leader,worker"`
|
||||||
authList string `name:"authList" role:"void"`
|
authList string `name:"authList" role:"void"`
|
||||||
|
fromList string `name:"fromList" role:"void"`
|
||||||
memberList string `name:"memberList" role:"void"`
|
memberList string `name:"memberList" role:"void"`
|
||||||
systemList string `name:"systemList" role:"void"`
|
serviceList string `name:"serviceList" role:"void"`
|
||||||
authPersonal string `name:"authPersonal" role:"void"`
|
authPersonal string `name:"authPersonal" role:"void"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,14 +35,35 @@ func (s profile) Upload(m *ice.Message, arg ...string) {
|
|||||||
func (s profile) List(m *ice.Message, arg ...string) {
|
func (s profile) List(m *ice.Message, arg ...string) {
|
||||||
if len(arg) == 1 {
|
if len(arg) == 1 {
|
||||||
s.Select(m, model.UID, arg[0])
|
s.Select(m, model.UID, arg[0])
|
||||||
kit.If(s.IsVisitor(m), func() { m.Action() }, func() { m.Action(s.Modify) })
|
kit.If(!m.IsTech() && s.IsVisitor(m), func() { m.Action() }, func() { m.Action(s.Modify) })
|
||||||
|
}
|
||||||
|
switch AuthType(kit.Int(m.Append(model.AUTH_TYPE))) {
|
||||||
|
case AuthService:
|
||||||
|
kit.If(!m.IsTech() && s.IsVisitor(m), func() { m.Action() }, func() { m.Action(s.Modify, s.Enter) })
|
||||||
|
s.SelectJoinRecent(m, model.PLACE_UID)
|
||||||
|
s.SelectJoinService(m)
|
||||||
|
case AuthPersonal:
|
||||||
|
s.SelectJoinUser(m)
|
||||||
}
|
}
|
||||||
s.RewriteAppend(m)
|
s.RewriteAppend(m)
|
||||||
m.Display("")
|
m.EchoQRCode(s.Link(m, arg[0], m.PrefixKey()))
|
||||||
|
m.Display("").DisplayCSS("")
|
||||||
|
}
|
||||||
|
func (s profile) FromList(m *ice.Message, arg ...string) {
|
||||||
|
from := arg[0]
|
||||||
|
for {
|
||||||
|
msg := s.Select(m.Spawn(), model.UID, from)
|
||||||
|
m.Copy(msg)
|
||||||
|
if msg.Append(model.FROM_UID) != "" {
|
||||||
|
from = msg.Append(model.FROM_UID)
|
||||||
|
} else {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
func (s profile) AuthList(m *ice.Message, arg ...string) {
|
func (s profile) AuthList(m *ice.Message, arg ...string) {
|
||||||
m.Cmdy(s.Auth, m.Option(model.AUTH_UID)).Table(func(value ice.Maps) {
|
m.Cmdy(s.Auth, m.Option(model.AUTH_UID)).Table(func(value ice.Maps) {
|
||||||
if value[model.SERVICE_UID] == "" {
|
if value[model.PLACE_UID] == "" {
|
||||||
m.PushButton()
|
m.PushButton()
|
||||||
} else {
|
} else {
|
||||||
m.PushButton(s.Enter)
|
m.PushButton(s.Enter)
|
||||||
@ -47,13 +72,10 @@ func (s profile) AuthList(m *ice.Message, arg ...string) {
|
|||||||
s.SelectJoinService(m)
|
s.SelectJoinService(m)
|
||||||
s.RewriteAppend(m)
|
s.RewriteAppend(m)
|
||||||
}
|
}
|
||||||
func (s profile) AuthPersonal(m *ice.Message, arg ...string) {
|
|
||||||
m.Cmdy(m.Prefix("credit"), m.ActionKey())
|
|
||||||
}
|
|
||||||
func (s profile) MemberList(m *ice.Message, arg ...string) {
|
func (s profile) MemberList(m *ice.Message, arg ...string) {
|
||||||
msg := s.Select(m.Spawn(), model.UID, m.Option(model.AUTH_UID))
|
msg := s.Select(m.Spawn(), model.UID, m.Option(model.AUTH_UID))
|
||||||
service := s.ServiceList(m, msg.Append(model.PLACE_UID), msg.Append(model.SERVICE_UID))
|
service := s.Table.ServiceList(m, msg.Append(model.PLACE_UID), msg.Append(model.SERVICE_UID))
|
||||||
m.Cmdy(web.SPACE, service.Append(model.SPACE), service.Append(model.INDEX), m.ActionKey(), msg.Append(model.PLACE_UID))
|
m.Cmdy(web.SPACE, service.Append(model.SPACE), service.Append(model.INDEX), ctx.ACTION, m.ActionKey(), msg.Append(model.PLACE_UID))
|
||||||
m.Table(func(value ice.Maps) {
|
m.Table(func(value ice.Maps) {
|
||||||
if value[model.AUTH_STATUS] == "" && value[model.USER_UID] == m.Option(model.USER_UID) {
|
if value[model.AUTH_STATUS] == "" && value[model.USER_UID] == m.Option(model.USER_UID) {
|
||||||
m.PushButton(s.AuthPersonal)
|
m.PushButton(s.AuthPersonal)
|
||||||
@ -63,7 +85,7 @@ func (s profile) MemberList(m *ice.Message, arg ...string) {
|
|||||||
})
|
})
|
||||||
s.RewriteAppend(m)
|
s.RewriteAppend(m)
|
||||||
}
|
}
|
||||||
func (s profile) SystemList(m *ice.Message, arg ...string) {
|
func (s profile) ServiceList(m *ice.Message, arg ...string) {
|
||||||
list := s.SettingProfile(m.Spawn(), arg...).Appendv(model.PLACE_UID)
|
list := s.SettingProfile(m.Spawn(), arg...).Appendv(model.PLACE_UID)
|
||||||
s.FieldsWithCreatedAT(m, s.Auth, kit.TransArgs(kit.Split(m.Config(mdb.FIELDS), ",", ","))...)
|
s.FieldsWithCreatedAT(m, s.Auth, kit.TransArgs(kit.Split(m.Config(mdb.FIELDS), ",", ","))...)
|
||||||
s.SelectList(m, kit.Simple(model.PLACE_UID, kit.Sort(list))...)
|
s.SelectList(m, kit.Simple(model.PLACE_UID, kit.Sort(list))...)
|
||||||
@ -71,5 +93,8 @@ func (s profile) SystemList(m *ice.Message, arg ...string) {
|
|||||||
s.RewriteAppend(m)
|
s.RewriteAppend(m)
|
||||||
}
|
}
|
||||||
func (s profile) Enter(m *ice.Message, arg ...string) {}
|
func (s profile) Enter(m *ice.Message, arg ...string) {}
|
||||||
|
func (s profile) AuthPersonal(m *ice.Message, arg ...string) {
|
||||||
|
m.Cmdy(m.Prefix("credit"), m.ActionKey())
|
||||||
|
}
|
||||||
|
|
||||||
func init() { ice.TeamCtxCmd(profile{}) }
|
func init() { ice.TeamCtxCmd(profile{}) }
|
||||||
|
@ -1,26 +1,45 @@
|
|||||||
Volcanos(chat.ONIMPORT, {
|
Volcanos(chat.ONIMPORT, {
|
||||||
_init: function(can, msg) { msg.Option("_share_title", msg.Append(mdb.NAME))
|
_init: function(can, msg) { msg.Option("_share_title", msg.Append(mdb.NAME))
|
||||||
if (!can.base.isIn(msg.Option(USER_ROLE), "1", "2", "3")) { delete(can.onaction.updateAvatar), delete(can.onaction.updateBackground) }
|
// if (!can.base.isIn(msg.Option(USER_ROLE), "1", "2", "3")) { delete(can.onaction.updateAvatar), delete(can.onaction.updateBackground) }
|
||||||
can.ui = can.page.Appends(can, can._output, [html.HEAD, html.LIST])
|
can.ui = can.page.Appends(can, can._output, [html.HEAD, html.LIST, "from"])
|
||||||
msg.Table(function(value) {
|
msg.Table(function(value) {
|
||||||
can.page.Append(can, can.ui.head, [{img: can.misc.Resource(can, value.background||html.BACKGROUND_JPG), onclick: function(event) {
|
can.page.Append(can, can.ui.head, [{img: can.misc.Resource(can, value.background||html.BACKGROUND_JPG), onclick: function(event) {
|
||||||
can.onaction.updateBackground && can.onaction.updateBackground(event, can)
|
can.onaction.updateBackground && can.onaction.updateBackground(event, can)
|
||||||
}}])
|
}}])
|
||||||
can.page.Append(can, can.ui.head, [can.onimport.itemcard(can, {avatar: value.avatar||html.AVATAR_JPG}, [
|
can.page.Append(can, can.ui.head, [can.onimport.itemcard(can, value, [
|
||||||
{view: html.TITLE, list: [value.name, can.onimport.authView(can, value), can.onimport.textView(can, value, AUTH_TYPE), can.onimport.titleAction(can, msg)]},
|
{view: html.TITLE, list: [value.name, can.onimport.authView(can, value), can.onimport.textView(can, value, AUTH_TYPE), can.onimport.titleAction(can, msg)]},
|
||||||
|
{view: html.STATUS, list: [value.city_name, value.street_name, value.service_name]},
|
||||||
{view: html.STATUS, list: [value.info]},
|
{view: html.STATUS, list: [value.info]},
|
||||||
])])
|
], function() {})])
|
||||||
|
})
|
||||||
|
var cmd = msg.Append(AUTH_TYPE) == "personal"? can.onimport.serviceList(can, msg): msg.Append(AUTH_TYPE) == "service"? can.onimport.memberList(can, msg): can.onimport.authList(can, msg)
|
||||||
|
can.onimport.myTitle(can, "My Count", "成员列表", can.ui.list)
|
||||||
|
can.onimport.myTitle(can, "My Count", "认证机构", can.ui.from)
|
||||||
|
can.onimport.fromList(can, msg, can.ui.from)
|
||||||
|
can.onappend.board(can, msg)
|
||||||
|
},
|
||||||
|
myTitle: function(can, name, help, target) {
|
||||||
|
can.page.Append(can, target, [{view: html.TITLE, list: [{text: can.user.trans(can, name, help)}]}])
|
||||||
|
},
|
||||||
|
fromList: function(can, msg, target) {
|
||||||
|
can.runAction(can.request({}, {}), "fromList", [msg.Append("from_uid")], function(msg) {
|
||||||
|
if (msg.Length() == 0) { return can.onmotion.hidden(can, target) }
|
||||||
|
can.onimport.myView(can, msg, function(value) {
|
||||||
|
return [
|
||||||
|
{view: html.TITLE, list: [value.name, can.onimport.authView(can, value), can.onimport.textView(can, value, AUTH_TYPE), can.onimport.titleAction(can, value)]},
|
||||||
|
{view: html.STATUS, list: [value.info, value.service_name]},
|
||||||
|
]
|
||||||
|
}, function(event, value) {
|
||||||
|
can.Option(AUTH_UID, value.uid), can.Update(event)
|
||||||
|
}, target)
|
||||||
})
|
})
|
||||||
var cmd = msg.Append(AUTH_TYPE) == "personal"? can.onimport.systemList(can, msg):
|
|
||||||
msg.Append(AUTH_TYPE) == "service"? can.onimport.memberList(can, msg):
|
|
||||||
can.onimport.authList(can, msg)
|
|
||||||
},
|
},
|
||||||
authList: function(can, msg) {
|
authList: function(can, msg) {
|
||||||
can.runAction(can.request({}, {auth_uid: msg.Append(UID)}), "authList", [], function(msg) {
|
can.runAction(can.request({}, {auth_uid: msg.Append(UID)}), "authList", [], function(msg) {
|
||||||
can.onimport.myView(can, msg, function(value) { value.avatar = value.avatar||html.AVATAR_JPG
|
can.onimport.myView(can, msg, function(value) {
|
||||||
return [
|
return [
|
||||||
{view: html.TITLE, list: [value.name, can.onimport.authView(can, value), can.onimport.textView(can, value, AUTH_TYPE), can.onimport.titleAction(can, value)]},
|
{view: html.TITLE, list: [value.name, can.onimport.authView(can, value), can.onimport.textView(can, value, AUTH_TYPE), can.onimport.titleAction(can, value)]},
|
||||||
{view: html.STATUS, list: [value.info]},
|
{view: html.STATUS, list: [value.info, value.service_name]},
|
||||||
]
|
]
|
||||||
}, function(event, value) {
|
}, function(event, value) {
|
||||||
can.Option(AUTH_UID, value.uid), can.Update(event)
|
can.Option(AUTH_UID, value.uid), can.Update(event)
|
||||||
@ -29,7 +48,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
},
|
},
|
||||||
memberList: function(can, msg) {
|
memberList: function(can, msg) {
|
||||||
can.runAction(can.request({}, {auth_uid: msg.Append(UID)}), "memberList", [], function(msg) {
|
can.runAction(can.request({}, {auth_uid: msg.Append(UID)}), "memberList", [], function(msg) {
|
||||||
can.onimport.myView(can, msg, function(value) { value.avatar = value.user_avatar||html.AVATAR_JPG
|
can.onimport.myView(can, msg, function(value) { value.icons = value.auth_avatar||value.user_avatar||html.AVATAR_JPG
|
||||||
return [
|
return [
|
||||||
{view: html.TITLE, list: [value.auth_name||value.user_name, can.onimport.authView(can, value), can.onimport.textView(can, value, AUTH_TYPE),
|
{view: html.TITLE, list: [value.auth_name||value.user_name, can.onimport.authView(can, value), can.onimport.textView(can, value, AUTH_TYPE),
|
||||||
can.onimport.titleAction(can, value),
|
can.onimport.titleAction(can, value),
|
||||||
@ -45,12 +64,12 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
}, can.ui.list)
|
}, can.ui.list)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
systemList: function(can, msg) {
|
serviceList: function(can, msg) {
|
||||||
can.runAction(can.request({}, {}), "systemList", [msg.Append(USER_UID)||msg.Option(USER_UID)], function(msg) {
|
can.runAction(can.request({}, {}), "serviceList", [msg.Append(USER_UID)||msg.Option(USER_UID)], function(msg) {
|
||||||
can.onimport.myView(can, msg, function(value) { value.avatar = value.avatar||html.AVATAR_JPG
|
can.onimport.myView(can, msg, function(value) { value.icons = value.avatar||value.service_icon||html.AVATAR_JPG
|
||||||
return [
|
return [
|
||||||
{view: html.TITLE, list: [value.name, can.onimport.authView(can, value), can.onimport.textView(can, value, AUTH_TYPE), can.onimport.titleAction(can, value)]},
|
{view: html.TITLE, list: [value.name, can.onimport.authView(can, value), can.onimport.textView(can, value, AUTH_TYPE), can.onimport.titleAction(can, value)]},
|
||||||
{view: html.STATUS, list: [value.info]},
|
{view: html.STATUS, list: [value.info, value.service_name]},
|
||||||
]
|
]
|
||||||
}, function(event, value) {
|
}, function(event, value) {
|
||||||
can.Option(AUTH_UID, value.uid), can.Update(event)
|
can.Option(AUTH_UID, value.uid), can.Update(event)
|
||||||
@ -59,7 +78,9 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONACTION, {
|
Volcanos(chat.ONACTION, {
|
||||||
enter: function(event, can) { var msg = can.request(event); can.onimport.myPlugin(can, {space: msg.Option("service_nodename"), index: msg.Option("service_index"), args: [msg.Option("place_uid")]}) },
|
enter: function(event, can) { var msg = can.request(event, {
|
||||||
|
nodename: can._msg.Append("nodename"), index: can._msg.Append("index"), place_uid: can._msg.Append("place_uid"),
|
||||||
|
}); can.onimport.myPlugin(can, {space: msg.Option("nodename"), index: msg.Option("index"), args: [msg.Option("place_uid")]}) },
|
||||||
updateBackground: function(event, can) { can.user.upload(can.request(event, {field: aaa.BACKGROUND}), can) },
|
updateBackground: function(event, can) { can.user.upload(can.request(event, {field: aaa.BACKGROUND}), can) },
|
||||||
updateAvatar: function(event, can) { can.user.upload(can.request(event, {field: aaa.AVATAR}), can) },
|
updateAvatar: function(event, can) { can.user.upload(can.request(event, {field: aaa.AVATAR}), can) },
|
||||||
})
|
})
|
Loading…
x
Reference in New Issue
Block a user