From e31a546b485fe14e69cb7bea2f0dd61ef5f7d274 Mon Sep 17 00:00:00 2001
From: Karson <karsonzhang@163.com>
Date: Wed, 26 Aug 2020 22:26:18 +0800
Subject: [PATCH] 新增记忆列表分页大小 优化插件管理列表加载

---
 application/admin/controller/Addon.php  |  2 +-
 application/admin/lang/zh-cn/addon.php  |  4 +---
 application/admin/view/addon/index.html |  9 +++++++--
 public/assets/js/backend/addon.js       |  6 +++---
 public/assets/js/require-backend.min.js | 10 ++++++++--
 public/assets/js/require-table.js       | 10 ++++++++--
 6 files changed, 28 insertions(+), 13 deletions(-)

diff --git a/application/admin/controller/Addon.php b/application/admin/controller/Addon.php
index 4463f7d..8953007 100644
--- a/application/admin/controller/Addon.php
+++ b/application/admin/controller/Addon.php
@@ -328,7 +328,7 @@ class Addon extends Backend
         $search = $this->request->get("search");
         $search = htmlspecialchars(strip_tags($search));
         $onlineaddons = Cache::get("onlineaddons");
-        if (!is_array($onlineaddons)) {
+        if (!is_array($onlineaddons) && config('fastadmin.api_url')) {
             $onlineaddons = [];
             $result = Http::sendRequest(config('fastadmin.api_url') . '/addon/index', [], 'GET', [
                 CURLOPT_HTTPHEADER => ['Accept-Encoding:gzip'],
diff --git a/application/admin/lang/zh-cn/addon.php b/application/admin/lang/zh-cn/addon.php
index 53fbb99..c8b7f1a 100755
--- a/application/admin/lang/zh-cn/addon.php
+++ b/application/admin/lang/zh-cn/addon.php
@@ -2,7 +2,7 @@
 
 return [
     'Id'                                                      => 'ID',
-    'Title'                                                   => '插件名称',
+    'Title'                                                   => '名称',
     'Value'                                                   => '配置值',
     'Array key'                                               => '键',
     'Array value'                                             => '值',
@@ -21,7 +21,6 @@ return [
     'Pay tips'                                                => '扫码支付后如果仍然无法立即下载,请不要重复支付,请稍后再重试安装!',
     'Pay click tips'                                          => '请点击这里在新窗口中进行支付!',
     'Pay new window tips'                                     => '请在新弹出的窗口中进行支付,支付完成后再重新点击安装按钮进行安装!',
-    'Uninstall tips'                                          => '确认卸载<b>[%s]</b>?<p class="text-danger">卸载将会删除所有插件文件且不可找回!!! 插件如果有创建数据库表请手动删除!!!</p>如有重要数据请备份后再操作!',
     'Upgrade tips'                                            => '确认升级<b>[%s]</b>?<p class="text-danger">升级后可能出现部分冗余数据记录,请根据需要移除即可!!!</p>如有重要数据请备份后再操作!',
     'Offline installed tips'                                  => '插件安装成功!清除浏览器缓存和框架缓存后生效!',
     'Online installed tips'                                   => '插件安装成功!清除浏览器缓存和框架缓存后生效!',
@@ -41,7 +40,6 @@ return [
     'Click to toggle status'                                  => '点击切换插件状态',
     'Click to contact developer'                              => '点击与插件开发者取得联系',
     'My addons'                                               => '我购买的插件',
-    'My posts'                                                => '我发布的插件',
     'Index'                                                   => '前台',
     'All'                                                     => '全部',
     'Uncategoried'                                            => '未归类',
diff --git a/application/admin/view/addon/index.html b/application/admin/view/addon/index.html
index 97d5294..442c817 100644
--- a/application/admin/view/addon/index.html
+++ b/application/admin/view/addon/index.html
@@ -191,7 +191,6 @@
                 </div>
             </fieldset>
             <div class="breadcrumb"><a href="https://www.fastadmin.net/user/myaddon.html" target="_blank"><i class="fa fa-money"></i> {:__('My addons')}</a></div>
-            <div class="breadcrumb"><a href="https://www.fastadmin.net/user/addon.html" target="_blank"><i class="fa fa-upload"></i> {:__('My posts')}</a></div>
         </form>
     </div>
 </script>
@@ -264,7 +263,7 @@
                         <% } %>
                     </ul>
                 </span>
-            <% }else{%>
+            <% }else if(typeof item.releaselist !="undefined" && item.releaselist.length>0){%>
                 <a href="javascript:;" class="btn btn-xs btn-primary btn-success btn-install"
                    data-type="<%=item.price<=0?'free':'price';%>" data-donateimage="<%=item.donateimage%>"
                    data-version="<%=item.version%>"><i class="fa fa-cloud-download"></i> {:__('Install')}</a>
@@ -275,6 +274,12 @@
                     <i class="fa fa-flash"></i> {:__('Demo')}
                 </a>
             <% } %>
+
+            <% if(item.button){ %>
+                <a href="<%=item.url%>" class="btn btn-xs btn-primary btn-info" target="_blank">
+                    <%=item.button%>
+                </a>
+            <% } %>
         <% } else {%>
             <% if(addon.version!=item.version){%>
                 <% if(typeof item.releaselist !="undefined" && item.releaselist.length>1){%>
diff --git a/public/assets/js/backend/addon.js b/public/assets/js/backend/addon.js
index 10f6ba4..b6fc5a2 100644
--- a/public/assets/js/backend/addon.js
+++ b/public/assets/js/backend/addon.js
@@ -225,7 +225,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function
                     Layer.open({
                         content: Template("logintpl", {}),
                         zIndex: 99,
-                        area: area,
+                        area: [$(window).width() > 800 ? '500px' : '95%', $(window).height() > 600 ? '400px' : '95%'],
                         title: __('Login FastAdmin'),
                         resize: false,
                         btn: [__('Login'), __('Register')],
@@ -566,10 +566,10 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function
                     var url = 'javascript:';
                     if (typeof row.homepage !== 'undefined') {
                         url = row.homepage;
-                    } else if (typeof row.qq !== 'undefined') {
+                    } else if (typeof row.qq !== 'undefined' && row.qq) {
                         url = 'https://wpa.qq.com/msgrd?v=3&uin=' + row.qq + '&site=fastadmin.net&menu=yes';
                     }
-                    return '<a href="' + url + '" target="_blank" data-toggle="tooltip" title="' + __('Click to contact developer') + '" class="text-primary">' + value + '</a>';
+                    return '<a href="' + url + '" target="_blank" data-toggle="tooltip" class="text-primary">' + value + '</a>';
                 },
                 price: function (value, row, index) {
                     if (isNaN(value)) {
diff --git a/public/assets/js/require-backend.min.js b/public/assets/js/require-backend.min.js
index 737222d..2d53dce 100644
--- a/public/assets/js/require-backend.min.js
+++ b/public/assets/js/require-backend.min.js
@@ -11080,8 +11080,8 @@ define('table',['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstr
                 fileName: 'export_' + Moment().format("YYYY-MM-DD"),
                 ignoreColumn: [0, 'operate'] //默认不导出第一列(checkbox)与操作(operate)列
             },
-            pageSize: 10,
-            pageList: [10, 25, 50, 'All'],
+            pageSize: localStorage.getItem("pagesize") || 10,
+            pageList: [10, 15, 20, 25, 50, 'All'],
             pagination: true,
             clickToSelect: true, //是否启用点击选中
             dblClickToEdit: true, //是否启用双击编辑
@@ -11241,6 +11241,12 @@ define('table',['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstr
                 table.on('refresh.bs.table', function (e, settings, data) {
                     $(Table.config.refreshbtn, toolbar).find(".fa").addClass("fa-spin");
                 });
+                //当表格分页变更时
+                table.on('page-change.bs.table', function (e, page, pagesize) {
+                    if (!isNaN(pagesize)) {
+                        localStorage.setItem("pagesize", pagesize);
+                    }
+                });
                 //当执行搜索时
                 table.on('search.bs.table common-search.bs.table', function (e, settings, data) {
                     table.trigger("uncheckbox");
diff --git a/public/assets/js/require-table.js b/public/assets/js/require-table.js
index 56c3e09..149d736 100644
--- a/public/assets/js/require-table.js
+++ b/public/assets/js/require-table.js
@@ -20,8 +20,8 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table
                 fileName: 'export_' + Moment().format("YYYY-MM-DD"),
                 ignoreColumn: [0, 'operate'] //默认不导出第一列(checkbox)与操作(operate)列
             },
-            pageSize: 10,
-            pageList: [10, 25, 50, 'All'],
+            pageSize: localStorage.getItem("pagesize") || 10,
+            pageList: [10, 15, 20, 25, 50, 'All'],
             pagination: true,
             clickToSelect: true, //是否启用点击选中
             dblClickToEdit: true, //是否启用双击编辑
@@ -181,6 +181,12 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table
                 table.on('refresh.bs.table', function (e, settings, data) {
                     $(Table.config.refreshbtn, toolbar).find(".fa").addClass("fa-spin");
                 });
+                //当表格分页变更时
+                table.on('page-change.bs.table', function (e, page, pagesize) {
+                    if (!isNaN(pagesize)) {
+                        localStorage.setItem("pagesize", pagesize);
+                    }
+                });
                 //当执行搜索时
                 table.on('search.bs.table common-search.bs.table', function (e, settings, data) {
                     table.trigger("uncheckbox");
--
libgit2 0.24.0