// \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
});
}
});
};
}
};