// \admin.js var admin = { main: function () { $("container").render({ template: [ { e: "tab", t: [ { e: "tab-nav", t: "角色", a: { class: "active" }, click: admin.roles }, { e: "tab-nav", t: "应用",click:admin.apps }, { e: "tab-nav", t: "主数据" }, { e: "tab-nav", t: "账务" } ] }, { e: "data_container" } ] }); admin.roles(); } }; // \dmt.config.js var dmt = {}; dmt.config = { api_baseurl: "https://open.demaotang.com" }; dmt.request = function () { var url = location.search; //获取url中"?"符后的字串 var theRequest = new Object(); if (url.indexOf("?") !== -1) { var str = url.substr(1); strs = str.split("&"); for (var i = 0; i < strs.length; i++) { theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]); } } return theRequest; }; // \dmt.verifycodetimer.js var verifycodetimer = function (p) { var sendbtn = $(p.sender); var time = p.time; if (time == 0) { sendbtn.removeClass("disabled"); sendbtn.text("发送验证码"); time = 60; return; } else { sendbtn.addClass("disabled"); sendbtn.text("".concat(time, "s后重新发送")); time--; } setTimeout(function () { verifycodetimer({ sender: p.sender, time: time }) }, 1000) } // \oauth2.js var oauth2 = {}; // \admin\admin.apps.js admin.apps = function (p) { $("data_container").empty(); var pageindex = 1; if (p.pageindex !== undefined && p.pageindex > 1) { pageindex = p.pageindex; } dmt.callws({ url: "/console/apps/apps.asmx/app_list", data: { pagesize: 20, pageindex: pageindex }, success: function (r) { console.log({ function: "app list loaded", r: r }); } }); }; // \admin\admin.roles.js admin.roles = function () { dmt.callws({ url: "/console/roles/roles.asmx/roles_list", success: function (r) { $("data_container").empty(); $("data_container").render({ data: r, template: [ { e: "div", t: [ { e: "table", style: { width: "auto" }, t: [ { e: "tr", datapath: "d", t: [ { e: "td", t: "[[rolename]]", click: function (d) { users_in_role({ rolename: d.org_data.rolename }); } }, { e: "td", t: "x", click: function (d) { console.log({ function: "role delete click", d: d }); dmt.callws({ url: "/console/roles/roles.asmx/role_delete", data: { rolename: d.org_data.rolename }, success: function (e) { admin.roles(); } }); } } ] }, { e: "tr", t: [ { e: "td", t: [{ e: "input", a: { name: "rolename" } }] }, { e: "td", t: "+", click: function (d) { console.log({ function: "role add click", d: d }); dmt.callws({ url: "/console/roles/roles.asmx/role_create", data: { rolename: d.new_data.rolename }, success: function (e) { admin.roles(); } }); } } ] } ] } ] }, { e: "div", a: { id: "users_in_role" } } ] }); if (r.d.length > 0) { users_in_role({ rolename: r.d[0].rolename }); } } }); function users_in_role(p) { dmt.callws({ url: "/console/roles/roles.asmx/users_in_role", data: { rolename: p.rolename }, success: function (r) { console.log({ function: "users_in_role", r: r }); $("div#users_in_role").empty(); $("div#users_in_role").render({ data: r, template: [ { e: "table", style: { width: "auto" }, t: [ { e: "tr", datapath: "d", t: [ { e: "td", t: "[[nickname]]" }, { e: "td", t: "[[mobile]]" }, { e: "td", t: "-", click: function (d) { console.log({ function: "remove user click", d:d }); dmt.callws({ url: "/console/roles/roles.asmx/user_remove_from_role", data: { uid: d.org_data.uid, rolename: p.rolename }, success: function (r) { users_in_role(p); } }); } } ] }, { e: "tr", t: [ { e: "td" }, { e: "td", t: [ { e: "input", a: { name: "mobile" } } ] }, { e: "td", t: "+", click: function (d) { dmt.callws({ url: "/console/roles/roles.asmx/user_add_to_role_bymobile", data: { mobile: d.new_data.mobile, rolename: p.rolename }, success: function (r) { users_in_role(p); } }); } } ] } ] } ] }); } }); } }; // \my\my.js var my = { main: function () { $("container").render({ template: [{ e: "tab", t: [ { e: "tab-nav", t: "APPs", a: { class: "active" }, click: my.apps }, { e: "tab-nav", t: "APIs", click: my.apies }, { e: "tab-nav", t: "账务" } ] }, { e: "data_container" } ] }); my.apps(); }, apps: function () { $("data_container").empty(); dmt.callws({ url: "/my/apps/apps.asmx/app_list", data: { pagesize: 20, pageindex: 1 }, success: function (r) { $("data_container").render({ data: r.d, template: [{ e: "input", a: { type: "button", value: "+" }, click: create }, { e: "table", t: [{ e: "tbody", t: [{ e: "tr", datapath: "Data", t: [ { e: "td", t: "[[name]]" }, { e: "td", t: "[[description]]" }, { e: "td", t: "[[client_id]]" }, { e: "td", t: "[[status]]" } ], click: function (p) { view(p.org_data); } }] }] }] }); } }); function create() { console.log({ function: "my.apps.create" }); poplayer({ header: "添加新应用", data: {}, template: { e: "div", t: [ { e: "fieldset", t: [ ] } ] } }); } function view(app) { console.log({ function: "my.apps.view", app: app }); poplayer({ header: app.name, data: app, width:"800px", template: { e: "div", t: [ { e: "fieldset", t: [ { e: "legend", t: "基本信息" }, { e: "field", t: [{ e: "label", t: "name" }, "[[name]]"] }, { e: "field", t: [{ e: "label", t: "description" }, "[[description]]" ] }, { e: "field", t: [{ e: "label", t: "type" }, { e: "select", selected: "[[type]]", options: "connect,insite" }] }, { e: "field", t: ["", { e: "select", selected: "[[status]]", options: "上线,测试" }] } ] }, { e: "fieldset", t: [ { e: "legend", t: "连接参数" }, { e: "field", t: [{ e: "label", t: "client_id" }, "[[client_id]]"] },"
", { e: "field", t: [{ e: "label", t: "appsecret" }, "[[appsecret]]"] },"
", { e: "field", t: [ { e: "label", t: "app_url" }, "https://app.demaotang.com/", { e: "input" } ] },"
", { e: "field", t: [{ e: "label", t: "website" }, "[[website]]"] } ] } ] } }); } }, apies: function () { $("data_container").empty(); dmt.callws({ url: "/My/apies/apies.asmx/api_list", data: { pagesize: 20, pageindex: 1 }, success: function (r) { console.log(r); $("data_container").render({ data: r.d, template: [ { e: "table", t: [ { e: "thead" }, { e: "tbody", t: [ { e: "tr", datapath: "Data", t: [ { e: "td", t: "[[path]]" }, { e: "td", t: "[[name]]" }, { e: "td", t: "[[status]]" }, { e: "td", t: "[[description]]" }, { e: "td", t: "[[category]]" } ] } ] } ] } ] }); } }); } }; // \oauth2\auth.js oauth2.auth = function (p) { console.log({ function: "oauth2.auth", p: p }); $.callws({ url: "/oauth2/auth.asmx/profile_my", success: function (r) { console.log({ function: "/oauth2/auth.asmx/profile_my", r:r }); if (r.d.Status === "logout") { //如果状态为未登录,则先登录。 oauth2.login({ container: p.container }); } } }); }; // \oauth2\login.js /* 登录模块 参数:{ container:DOM容器; } */ oauth2.login = function (p) { var container = p.container; console.log({ function: "oauth2.login", p: p }); $(p.container).render({ template: [ { e: "multiview", t: [ { e: "tab", style: { "margin-bottom": "20px" }, t: [ '密码登录', '验证码登录' ] }, { //密码登录视图 e: "view", a: { id: "passwordlogin", class: "active" }, t: [ { e: "field", style: { "margin": "0 0 10px 0" }, t: [ "", { e: "input", a: { name: "username" } } ] }, { e: "field", style: { "margin": "0 0 10px 0" }, t: [ "", { e: "input", a: { name: "password", type: "password" } } ] }, { e: "field", t: [ "", { e: "input", a: { value: "登录", type: "button" }, click: function (d) { login_password({ username: d.new_data.username, password: d.new_data.password, r: d }); } } ] } ] }, { // 验证码登录视图 e: "view", a: { id: "verifycode" }, t: [ { e: "field", style: { "margin": "0 0 10px 0" }, t: [ "", '', { e: "a", t: "发送验证码", click: function (d) { send_verifycode(d); } }] }, { e: "field", style: { "margin": "0 0 10px 0" }, t: ["", ''] }, { e: "field", t: ["", { e: "input", a: { type: "button", value: "登录" }, click: function (d) { //登录 $.callws({ url: "/Login/LoginServices.asmx/Mobile_Login", data: { mobile: d.new_data.mobile, verify_code: d.new_data.verifycode }, error: function (r) { alert(JSON.stringify(r)); }, success: function (r) { switch (r.d.Status) { case "success": var url = dmt.request()["ReturnUrl"]; if (url === undefined || url === null) { url = "/"; } window.location = url; break; case "no password": case "register": //password_setting(); var url = dmt.request()["ReturnUrl"]; if (url === undefined || url === null) { url = "/"; } window.location = url; break; default: alert(r.d.Message); break; } } }); } }] } ] } ] } ] }); function login_password(d) { var _sender = d.r.sender; var _senderText; var disableSender = function () { if (typeof _sender !== "undefined" && _sender !== null) { _senderText = $(_sender).val(); $(_sender).val("处理中"); $(_sender).attr("disabled", true); } }; var enableSender = function () { if (typeof _sender !== "undefined" && _sender !== null) { $(_sender).val(_senderText); $(_sender).removeAttr("disabled"); } }; disableSender(); //密码登录 $.callws({ url: "/Login/LoginServices.asmx/password_login", data: { input: d.username, password: d.password }, success: function (r) { enableSender(); switch (r.d.Status) { case "success": var url = dmt.request()["ReturnUrl"]; if (url === undefined || url === null) { url = "/"; } window.location = url; break; default: let pcontainer = $(_sender).closest("view"); let dalert = pcontainer.find("dalert"); if (dalert.length > 0) { $(dalert[0]).text(r.d.Message); } else { pcontainer.prepend("".concat("", r.d.Message, "")); } break; } } }); } function send_verifycode(d) { //console.log(d); //调用发送验证码 if ($(d.sender).text() == "发送验证码") { $.callws({ url: "/Login/LoginServices.asmx/WeiXin_Mobile_SendVerifyCode", data: { mobile: d.new_data.mobile }, error: function (r) { console.log(r); }, success: function (r) { verifycodetimer({ sender: d.sender, time: 60 }); } }); }; } };