{ "id": "login_window", "widgettype": "PopupWindow", "options": { "title": "登录/注册", "auto_open": true, "anthor": "cc", "cwidth": 22, "cheight": 22 }, "subwidgets": [ { "widgettype": "TabPanel", "options": { "tab_wide": "auto", "height": "100%", "width": "100%", "tab_pos": "top", "items": [ { "name": "userpasswd", "label": "用户密码", "content": { "widgettype": "Form", "options": { "cols": 1, "fields": [ { "name": "username", "label": "用户名", "uitype": "str" }, { "name": "password", "label": "密码", "uitype": "password" } ] }, "binds": [ { "wid": "self", "event": "submit", "actiontype": "urlwidget", "target": "self", "options": { "method": "POST", "url": "{{entire_url('up_login.dspy')}}" } } ] } }, { "name": "checkcode", "label": "手机验证码", "content": { "widgettype": "Form", "options": { "description": "限中国国内手机", "fields": [ { "name": "cell_no", "label": "手机号", "uitype": "str" }, { "name": "codeid", "uitype": "hide", "value": "" }, { "name": "check_code", "label": "验证码", "uitype": "str" } ], "toolbar": { "tools": [ { "name": "gen_code", "label": "发送验证码" } ] } }, "binds": [ { "wid": "self", "event": "gen_code", "actiontype": "script", "target": "self", "script": "var form=this;var vals=form.getValue();if(!vals.cell_no){alert('请输入手机号');return;}fetch(form.app.baseUrl+'/rbac/gen_sms_code.dspy?cellphone='+encodeURIComponent(vals.cell_no)).then(function(r){return r.json()}).then(function(d){if(d.status==='ok'){form.setValue({codeid:d.data.key});alert('验证码已发送')}else{alert(d.data.message)}}).catch(function(e){alert('发送失败:'+e)})" }, { "wid": "self", "event": "submit", "actiontype": "urlwidget", "target": "self", "options": { "method": "POST", "url": "{{entire_url('code_login.dspy')}}" } } ] } }, { "name": "register", "label": "注册", "content": { "widgettype": "Form", "options": { "cols": 1, "fields": [ { "name": "username", "label": "用户名", "uitype": "str" }, { "name": "mobile", "label": "手机号", "uitype": "str" }, { "name": "password", "label": "密码", "uitype": "password" }, { "name": "cfm_password", "label": "确认密码", "uitype": "password" } ] }, "binds": [ { "wid": "self", "event": "submit", "actiontype": "urlwidget", "target": "self", "options": { "method": "POST", "url": "{{entire_url('register.dspy')}}" } } ] } } ] } } ] }