|
@@ -56,6 +56,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function
|
|
|
commonSearch: false,
|
|
|
searchFormVisible: false,
|
|
|
pageSize: 12,
|
|
|
+ pagination: false,
|
|
|
queryParams: function (params) {
|
|
|
var filter = params.filter ? JSON.parse(params.filter) : {};
|
|
|
var op = params.op ? JSON.parse(params.op) : {};
|
|
@@ -110,16 +111,17 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function
|
|
|
$("#warmtips").removeClass("hide");
|
|
|
$(".btn-switch,.btn-userinfo").addClass("disabled");
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ // 离线安装
|
|
|
require(['upload'], function (Upload) {
|
|
|
Upload.api.plupload("#plupload-addon", function (data, ret) {
|
|
|
Config['addons'][data.addon.name] = data.addon;
|
|
|
- $('.btn-refresh').trigger('click');
|
|
|
Toastr.success(ret.msg);
|
|
|
+ operate(data.addon.name, 'enable', false);
|
|
|
});
|
|
|
});
|
|
|
|
|
|
- //查看插件首页
|
|
|
+ // 查看插件首页
|
|
|
$(document).on("click", ".btn-addonindex", function () {
|
|
|
if ($(this).attr("href") == 'javascript:;') {
|
|
|
Layer.msg(__('Not installed tips'), {icon: 7});
|
|
@@ -128,12 +130,14 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
- //切换URL
|
|
|
+
|
|
|
+ // 切换URL
|
|
|
$(document).on("click", ".btn-switch", function () {
|
|
|
$(".btn-switch").removeClass("active");
|
|
|
$(this).addClass("active");
|
|
|
table.bootstrapTable('refresh', {url: $(this).data("url"), pageNumber: 1});
|
|
|
});
|
|
|
+
|
|
|
// 会员信息
|
|
|
$(document).on("click", ".btn-userinfo", function () {
|
|
|
var userinfo = Controller.api.userinfo.get();
|
|
@@ -195,46 +199,24 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- // 点击安装
|
|
|
- $(document).on("click", ".btn-install", function () {
|
|
|
- var that = this;
|
|
|
- var name = $(this).closest(".operate").data("name");
|
|
|
- var version = $(this).data("version");
|
|
|
+ var install = function (name, version, force) {
|
|
|
var userinfo = Controller.api.userinfo.get();
|
|
|
var uid = userinfo ? userinfo.id : 0;
|
|
|
var token = userinfo ? userinfo.token : '';
|
|
|
- var install = function (name, force) {
|
|
|
- Fast.api.ajax({
|
|
|
- url: 'addon/install',
|
|
|
- data: {name: name, force: force ? 1 : 0, uid: uid, token: token, version: version, faversion: Config.fastadmin.version}
|
|
|
- }, function (data, ret) {
|
|
|
- Layer.closeAll();
|
|
|
- Config['addons'][data.addon.name] = ret.data.addon;
|
|
|
- Layer.alert(__('Online installed tips'), {
|
|
|
- btn: [__('OK'), __('Donate')],
|
|
|
- title: __('Warning'),
|
|
|
- icon: 1,
|
|
|
- btn2: function () {
|
|
|
- //打赏
|
|
|
- Layer.open({
|
|
|
- content: Template("paytpl", {payimg: $(that).data("donateimage")}),
|
|
|
- shade: 0.8,
|
|
|
- area: ['800px', '600px'],
|
|
|
- skin: 'layui-layer-msg layui-layer-pay',
|
|
|
- title: false,
|
|
|
- closeBtn: true,
|
|
|
- btn: false,
|
|
|
- resize: false,
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
- $('.btn-refresh').trigger('click');
|
|
|
- }, function (data, ret) {
|
|
|
- //如果是需要购买的插件则弹出二维码提示
|
|
|
- if (ret && ret.code === -1) {
|
|
|
- //扫码支付
|
|
|
+ Fast.api.ajax({
|
|
|
+ url: 'addon/install',
|
|
|
+ data: {name: name, force: force ? 1 : 0, uid: uid, token: token, version: version, faversion: Config.fastadmin.version}
|
|
|
+ }, function (data, ret) {
|
|
|
+ Layer.closeAll();
|
|
|
+ Config['addons'][data.addon.name] = ret.data.addon;
|
|
|
+ Layer.alert(__('Online installed tips'), {
|
|
|
+ btn: [__('OK'), __('Donate')],
|
|
|
+ title: __('Warning'),
|
|
|
+ icon: 1,
|
|
|
+ btn2: function () {
|
|
|
+ //打赏
|
|
|
Layer.open({
|
|
|
- content: Template("paytpl", ret.data),
|
|
|
+ content: Template("paytpl", {payimg: $(that).data("donateimage")}),
|
|
|
shade: 0.8,
|
|
|
area: ['800px', '600px'],
|
|
|
skin: 'layui-layer-msg layui-layer-pay',
|
|
@@ -242,44 +224,157 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function
|
|
|
closeBtn: true,
|
|
|
btn: false,
|
|
|
resize: false,
|
|
|
- end: function () {
|
|
|
- Layer.alert(__('Pay tips'));
|
|
|
- }
|
|
|
- });
|
|
|
- } else if (ret && ret.code === -2) {
|
|
|
- //跳转支付
|
|
|
- Layer.alert(__('Pay click tips'), {
|
|
|
- btn: [__('Pay now'), __('Cancel')],
|
|
|
- icon: 0,
|
|
|
- success: function (layero) {
|
|
|
- $(".layui-layer-btn0", layero).attr("href", ret.data.payurl).attr("target", "_blank");
|
|
|
- }
|
|
|
- }, function () {
|
|
|
- Layer.alert(__('Pay new window tips'), {icon: 0});
|
|
|
});
|
|
|
+ }
|
|
|
+ });
|
|
|
+ $('.btn-refresh').trigger('click');
|
|
|
+ Fast.api.refreshmenu();
|
|
|
+ }, function (data, ret) {
|
|
|
+ //如果是需要购买的插件则弹出二维码提示
|
|
|
+ if (ret && ret.code === -1) {
|
|
|
+ //扫码支付
|
|
|
+ Layer.open({
|
|
|
+ content: Template("paytpl", ret.data),
|
|
|
+ shade: 0.8,
|
|
|
+ area: ['800px', '600px'],
|
|
|
+ skin: 'layui-layer-msg layui-layer-pay',
|
|
|
+ title: false,
|
|
|
+ closeBtn: true,
|
|
|
+ btn: false,
|
|
|
+ resize: false,
|
|
|
+ end: function () {
|
|
|
+ Layer.alert(__('Pay tips'));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else if (ret && ret.code === -2) {
|
|
|
+ //跳转支付
|
|
|
+ Layer.alert(__('Pay click tips'), {
|
|
|
+ btn: [__('Pay now'), __('Cancel')],
|
|
|
+ icon: 0,
|
|
|
+ success: function (layero) {
|
|
|
+ $(".layui-layer-btn0", layero).attr("href", ret.data.payurl).attr("target", "_blank");
|
|
|
+ }
|
|
|
+ }, function () {
|
|
|
+ Layer.alert(__('Pay new window tips'), {icon: 0});
|
|
|
+ });
|
|
|
|
|
|
- } else if (ret && ret.code === -3) {
|
|
|
- //插件目录发现影响全局的文件
|
|
|
- Layer.open({
|
|
|
- content: Template("conflicttpl", ret.data),
|
|
|
- shade: 0.8,
|
|
|
- area: ['800px', '600px'],
|
|
|
- title: __('Warning'),
|
|
|
- btn: [__('Continue install'), __('Cancel')],
|
|
|
- end: function () {
|
|
|
+ } else if (ret && ret.code === -3) {
|
|
|
+ //插件目录发现影响全局的文件
|
|
|
+ Layer.open({
|
|
|
+ content: Template("conflicttpl", ret.data),
|
|
|
+ shade: 0.8,
|
|
|
+ area: ['800px', '600px'],
|
|
|
+ title: __('Warning'),
|
|
|
+ btn: [__('Continue install'), __('Cancel')],
|
|
|
+ end: function () {
|
|
|
|
|
|
- },
|
|
|
- yes: function () {
|
|
|
- install(name, true);
|
|
|
- }
|
|
|
- });
|
|
|
+ },
|
|
|
+ yes: function () {
|
|
|
+ install(name, true);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ } else {
|
|
|
+ Layer.alert(ret.msg);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ });
|
|
|
+ };
|
|
|
+
|
|
|
+ var uninstall = function (name, force) {
|
|
|
+ Fast.api.ajax({
|
|
|
+ url: 'addon/uninstall',
|
|
|
+ data: {name: name, force: force ? 1 : 0}
|
|
|
+ }, function (data, ret) {
|
|
|
+ delete Config['addons'][name];
|
|
|
+ Layer.closeAll();
|
|
|
+ $('.btn-refresh').trigger('click');
|
|
|
+ Fast.api.refreshmenu();
|
|
|
+ }, function (data, ret) {
|
|
|
+ if (ret && ret.code === -3) {
|
|
|
+ //插件目录发现影响全局的文件
|
|
|
+ Layer.open({
|
|
|
+ content: Template("conflicttpl", ret.data),
|
|
|
+ shade: 0.8,
|
|
|
+ area: ['800px', '600px'],
|
|
|
+ title: __('Warning'),
|
|
|
+ btn: [__('Continue uninstall'), __('Cancel')],
|
|
|
+ end: function () {
|
|
|
+
|
|
|
+ },
|
|
|
+ yes: function () {
|
|
|
+ uninstall(name, true);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ } else {
|
|
|
+ Layer.alert(ret.msg);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ });
|
|
|
+ };
|
|
|
+
|
|
|
+ var operate = function (name, action, force) {
|
|
|
+ Fast.api.ajax({
|
|
|
+ url: 'addon/state',
|
|
|
+ data: {name: name, action: action, force: force ? 1 : 0}
|
|
|
+ }, function (data, ret) {
|
|
|
+ var addon = Config['addons'][name];
|
|
|
+ addon.state = action === 'enable' ? 1 : 0;
|
|
|
+ Layer.closeAll();
|
|
|
+ $('.btn-refresh').trigger('click');
|
|
|
+ Fast.api.refreshmenu();
|
|
|
+ }, function (data, ret) {
|
|
|
+ if (ret && ret.code === -3) {
|
|
|
+ //插件目录发现影响全局的文件
|
|
|
+ Layer.open({
|
|
|
+ content: Template("conflicttpl", ret.data),
|
|
|
+ shade: 0.8,
|
|
|
+ area: ['800px', '600px'],
|
|
|
+ title: __('Warning'),
|
|
|
+ btn: [__('Continue operate'), __('Cancel')],
|
|
|
+ end: function () {
|
|
|
+
|
|
|
+ },
|
|
|
+ yes: function () {
|
|
|
+ operate(name, action, true);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ } else {
|
|
|
+ Layer.alert(ret.msg);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ });
|
|
|
+ };
|
|
|
+
|
|
|
+ var upgrade = function (name, version) {
|
|
|
+ var userinfo = Controller.api.userinfo.get();
|
|
|
+ var uid = userinfo ? userinfo.id : 0;
|
|
|
+ var token = userinfo ? userinfo.token : '';
|
|
|
+ Fast.api.ajax({
|
|
|
+ url: 'addon/upgrade',
|
|
|
+ data: {name: name, uid: uid, token: token, version: version, faversion: Config.fastadmin.version}
|
|
|
+ }, function (data, ret) {
|
|
|
+ Config['addons'][name].version = version;
|
|
|
+ Layer.closeAll();
|
|
|
+ $('.btn-refresh').trigger('click');
|
|
|
+ Fast.api.refreshmenu();
|
|
|
+ }, function (data, ret) {
|
|
|
+ Layer.alert(ret.msg);
|
|
|
+ return false;
|
|
|
+ });
|
|
|
+ };
|
|
|
+
|
|
|
+ // 点击安装
|
|
|
+ $(document).on("click", ".btn-install", function () {
|
|
|
+ var that = this;
|
|
|
+ var name = $(this).closest(".operate").data("name");
|
|
|
+ var version = $(this).data("version");
|
|
|
+
|
|
|
+ var userinfo = Controller.api.userinfo.get();
|
|
|
+ var uid = userinfo ? userinfo.id : 0;
|
|
|
|
|
|
- } else {
|
|
|
- Layer.alert(ret.msg);
|
|
|
- }
|
|
|
- return false;
|
|
|
- });
|
|
|
- };
|
|
|
if ($(that).data("type") !== 'free') {
|
|
|
if (parseInt(uid) === 0) {
|
|
|
return Layer.alert(__('Not login tips'), {
|
|
@@ -289,99 +384,36 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function
|
|
|
$(".btn-userinfo").trigger("click");
|
|
|
},
|
|
|
btn2: function () {
|
|
|
- install(name, false);
|
|
|
+ install(name, version, false);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
- install(name, false);
|
|
|
+ install(name, version, false);
|
|
|
});
|
|
|
|
|
|
- //点击卸载
|
|
|
+ // 点击卸载
|
|
|
$(document).on("click", ".btn-uninstall", function () {
|
|
|
var name = $(this).closest(".operate").data("name");
|
|
|
- var uninstall = function (name, force) {
|
|
|
- Fast.api.ajax({
|
|
|
- url: 'addon/uninstall',
|
|
|
- data: {name: name, force: force ? 1 : 0}
|
|
|
- }, function (data, ret) {
|
|
|
- delete Config['addons'][name];
|
|
|
- Layer.closeAll();
|
|
|
- $('.btn-refresh').trigger('click');
|
|
|
- }, function (data, ret) {
|
|
|
- if (ret && ret.code === -3) {
|
|
|
- //插件目录发现影响全局的文件
|
|
|
- Layer.open({
|
|
|
- content: Template("conflicttpl", ret.data),
|
|
|
- shade: 0.8,
|
|
|
- area: ['800px', '600px'],
|
|
|
- title: __('Warning'),
|
|
|
- btn: [__('Continue uninstall'), __('Cancel')],
|
|
|
- end: function () {
|
|
|
-
|
|
|
- },
|
|
|
- yes: function () {
|
|
|
- uninstall(name, true);
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- } else {
|
|
|
- Layer.alert(ret.msg);
|
|
|
- }
|
|
|
- return false;
|
|
|
- });
|
|
|
- };
|
|
|
Layer.confirm(__('Uninstall tips'), function () {
|
|
|
uninstall(name, false);
|
|
|
});
|
|
|
});
|
|
|
|
|
|
- //点击配置
|
|
|
+ // 点击配置
|
|
|
$(document).on("click", ".btn-config", function () {
|
|
|
var name = $(this).closest(".operate").data("name");
|
|
|
Fast.api.open("addon/config?name=" + name, __('Setting'));
|
|
|
});
|
|
|
|
|
|
- //点击启用/禁用
|
|
|
+ // 点击启用/禁用
|
|
|
$(document).on("click", ".btn-enable,.btn-disable", function () {
|
|
|
var name = $(this).closest(".operate").data("name");
|
|
|
var action = $(this).data("action");
|
|
|
- var operate = function (name, action, force) {
|
|
|
- Fast.api.ajax({
|
|
|
- url: 'addon/state',
|
|
|
- data: {name: name, action: action, force: force ? 1 : 0}
|
|
|
- }, function (data, ret) {
|
|
|
- var addon = Config['addons'][name];
|
|
|
- addon.state = action === 'enable' ? 1 : 0;
|
|
|
- Layer.closeAll();
|
|
|
- $('.btn-refresh').trigger('click');
|
|
|
- }, function (data, ret) {
|
|
|
- if (ret && ret.code === -3) {
|
|
|
- //插件目录发现影响全局的文件
|
|
|
- Layer.open({
|
|
|
- content: Template("conflicttpl", ret.data),
|
|
|
- shade: 0.8,
|
|
|
- area: ['800px', '600px'],
|
|
|
- title: __('Warning'),
|
|
|
- btn: [__('Continue operate'), __('Cancel')],
|
|
|
- end: function () {
|
|
|
-
|
|
|
- },
|
|
|
- yes: function () {
|
|
|
- operate(name, action, true);
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- } else {
|
|
|
- Layer.alert(ret.msg);
|
|
|
- }
|
|
|
- return false;
|
|
|
- });
|
|
|
- };
|
|
|
operate(name, action, false);
|
|
|
});
|
|
|
|
|
|
- //点击升级
|
|
|
+ // 点击升级
|
|
|
$(document).on("click", ".btn-upgrade", function () {
|
|
|
if ($(this).closest(".operate").find("a.btn-disable").size() > 0) {
|
|
|
Layer.alert(__('Please disable addon first'), {icon: 7});
|
|
@@ -389,24 +421,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function
|
|
|
}
|
|
|
var name = $(this).closest(".operate").data("name");
|
|
|
var version = $(this).data("version");
|
|
|
- var userinfo = Controller.api.userinfo.get();
|
|
|
- var uid = userinfo ? userinfo.id : 0;
|
|
|
- var token = userinfo ? userinfo.token : '';
|
|
|
- var upgrade = function (name) {
|
|
|
- Fast.api.ajax({
|
|
|
- url: 'addon/upgrade',
|
|
|
- data: {name: name, uid: uid, token: token, version: version, faversion: Config.fastadmin.version}
|
|
|
- }, function (data, ret) {
|
|
|
- Config['addons'][name].version = version;
|
|
|
- Layer.closeAll();
|
|
|
- $('.btn-refresh').trigger('click');
|
|
|
- }, function (data, ret) {
|
|
|
- Layer.alert(ret.msg);
|
|
|
- return false;
|
|
|
- });
|
|
|
- };
|
|
|
+
|
|
|
Layer.confirm(__('Upgrade tips'), function () {
|
|
|
- upgrade(name);
|
|
|
+ upgrade(name, version);
|
|
|
});
|
|
|
});
|
|
|
|