Browse Source

新增API接口上传配置
新增后台首页登录免费插件下载提示
修复CRUD默认生成Selectpage请求判断错误的BUG
修复前台模块未加载frontend-init.js的BUG
优化默认关闭DEBUG模式
优化插件管理列表,现支持https请求
优化站内FastAdmin链接,全部修改为https

Karson 7 years ago
parent
commit
8fa5cc82e8
35 changed files with 201 additions and 138 deletions
  1. 12 10
      README.md
  2. 1 1
      application/admin/command/Addon/stubs/info.stub
  3. 2 2
      application/admin/command/Api.php
  4. 2 2
      application/admin/command/Api/template/index.html
  5. 3 3
      application/admin/command/Install/fastadmin.sql
  6. 1 1
      application/admin/controller/Addon.php
  7. 6 0
      application/admin/controller/Dashboard.php
  8. 1 1
      application/admin/controller/auth/Admin.php
  9. 1 1
      application/admin/controller/user/User.php
  10. 1 1
      application/admin/lang/zh-cn.php
  11. 1 2
      application/admin/lang/zh-cn/addon.php
  12. 1 1
      application/admin/lang/zh-cn/auth/rule.php
  13. 41 38
      application/admin/lang/zh-cn/dashboard.php
  14. 1 1
      application/admin/library/traits/Backend.php
  15. 1 5
      application/admin/view/addon/index.html
  16. 3 3
      application/admin/view/common/header.html
  17. 2 2
      application/admin/view/common/menu.html
  18. 21 13
      application/admin/view/dashboard/index.html
  19. 1 1
      application/admin/view/index/index.html
  20. 1 1
      application/admin/view/index/login.html
  21. 8 0
      application/common/controller/Api.php
  22. 1 1
      application/common/view/tpl/dispatch_jump.tpl
  23. 3 3
      application/config.php
  24. 1 1
      application/index/controller/Index.php
  25. 10 10
      application/index/view/index/index.html
  26. 10 10
      application/index/view/layout/common.html
  27. 9 9
      application/index/view/layout/default.html
  28. 2 2
      public/api.html
  29. 2 8
      public/assets/js/backend/addon.js
  30. 6 2
      public/assets/js/backend/dashboard.js
  31. 42 1
      public/assets/js/backend/index.js
  32. 1 0
      public/assets/js/frontend/user.js
  33. 1 1
      public/assets/js/require-frontend.js
  34. 1 1
      public/assets/js/require-frontend.min.js
  35. 1 0
      public/install.php

+ 12 - 10
README.md

@@ -7,18 +7,20 @@ FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架。
 * 基于`Auth`验证的权限管理系统
     * 支持无限级父子级权限继承,父级的管理员可任意增删改子级管理员及权限设置
     * 支持单管理员多角色
-    * 支持目录和控制器结构一键生成权限节点
     * 支持管理子级数据或个人数据
+* 强大的一键生成功能
+    * 一键生成CRUD,包括控制器、模型、视图、JS、语言包、菜单等
+    * 一键压缩打包JS和CSS文件,一键CDN静态资源部署
+    * 一键生成控制器菜单和规则
+    * 一键生成API接口文档
 * 完善的前端功能组件开发
     * 基于`AdminLTE`二次开发
     * 基于`Bootstrap`开发,自适应手机、平板、PC
     * 基于`RequireJS`进行JS模块管理,按需加载
     * 基于`Less`进行样式开发
     * 基于`Bower`进行前端组件包管理
-* 数据库表一键生成`CRUD`,包括控制器、模型、视图、JS、语言包、菜单等
-* 一键压缩打包JS和CSS文件,一键CDN静态资源部署
-* 一键生成API接口文档
 * 强大的插件扩展功能,在线安装卸载升级插件
+* 通用的会员模块和API模块
 * 共用同一账号体系的Web端会员中心权限验证和API接口会员权限验证
 * 二级域名部署支持,同时域名支持绑定到插件
 * 多语言支持,服务端及客户端支持
@@ -26,15 +28,15 @@ FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架。
 * 整合第三方短信接口(阿里云、创蓝短信)
 * 无缝整合第三方云存储(七牛、阿里云OSS、又拍云)功能
 * 第三方登录(QQ、微信、微博)整合
-* Ucenter整合
+* Ucenter整合第三方应用
 
 ## **安装使用**
 
-http://doc.fastadmin.net
+https://doc.fastadmin.net
 
 ## **在线演示**
 
-http://demo.fastadmin.net
+https://demo.fastadmin.net
 
 用户名:admin
 
@@ -49,9 +51,9 @@ http://demo.fastadmin.net
 
 在使用中有任何问题,请使用以下联系方式联系我们
 
-交流社区: http://forum.fastadmin.net
+交流社区: https://forum.fastadmin.net
 
-QQ群: [636393962](https://jq.qq.com/?_wv=1027&k=487PNBb)
+QQ群: [636393962](https://jq.qq.com/?_wv=1027&k=487PNBb)(交流群) [696992864](https://jq.qq.com/?_wv=1027&k=5R2AB00)(高级群,付费加入)
 
 Email: (karsonzhang#163.com, 把#换成@)
 
@@ -80,6 +82,6 @@ FastAdmin遵循Apache2开源协议发布,并提供免费使用。
 
 本项目包含的第三方源码和二进制文件之版权信息另行标注。
 
-版权所有Copyright © 2017-2018 by FastAdmin (http://www.fastadmin.net)
+版权所有Copyright © 2017-2018 by FastAdmin (https://www.fastadmin.net)
 
 All rights reserved。

+ 1 - 1
application/admin/command/Addon/stubs/info.stub

@@ -2,6 +2,6 @@ name = {%name%}
 title = 插件名称{%name%}
 intro = FastAdmin插件
 author = yourname
-website = http://www.fastadmin.net
+website = https://www.fastadmin.net
 version = 1.0.0
 state = 1

+ 2 - 2
application/admin/command/Api.php

@@ -75,10 +75,10 @@ class Api extends Command
                 $directives = $configuration['directives'];
                 $configName = request()->isCli() ? 'opcache.enable_cli' : 'opcache.enable';
                 if (!$directives[$configName]) {
-                    throw new Exception("Please make sure {$configName} is turned on, Get help:http://forum.fastadmin.net/d/1321");
+                    throw new Exception("Please make sure {$configName} is turned on, Get help:https://forum.fastadmin.net/d/1321");
                 }
             } else {
-                throw new Exception("Please make sure opcache already enabled, Get help:http://forum.fastadmin.net/d/1321");
+                throw new Exception("Please make sure opcache already enabled, Get help:https://forum.fastadmin.net/d/1321");
             }
         }
 

+ 2 - 2
application/admin/command/Api/template/index.html

@@ -33,7 +33,7 @@
                         <span class="icon-bar"></span>
                         <span class="icon-bar"></span>
                     </button>
-                    <a class="navbar-brand" href="http://www.fastadmin.net" target="_blank">{$config.title}</a>
+                    <a class="navbar-brand" href="https://www.fastadmin.net" target="_blank">{$config.title}</a>
                 </div>
                 <div class="navbar-collapse collapse">
                     <form class="navbar-form navbar-right">
@@ -259,7 +259,7 @@
                     Generated on {:date('Y-m-d H:i:s')}
                 </div>
                 <div class="col-md-6" align="right">
-                    <a href="http://www.fastadmin.net" target="_blank">FastAdmin</a>
+                    <a href="https://www.fastadmin.net" target="_blank">FastAdmin</a>
                 </div>
             </div>
 

+ 3 - 3
application/admin/command/Install/fastadmin.sql

@@ -1,8 +1,8 @@
 /*
  FastAdmin Install SQL
 
- 官网: http://www.fastadmin.net
- 演示: http://demo.fastadmin.net
+ 官网: https://www.fastadmin.net
+ 演示: https://demo.fastadmin.net
 
  Date: 2018年03月07日
 */
@@ -564,6 +564,6 @@ CREATE TABLE `fa_version`  (
 -- ----------------------------
 BEGIN;
 INSERT INTO `fa_version` (`id`, `oldversion`, `newversion`, `packagesize`, `content`, `downloadurl`, `enforce`, `createtime`, `updatetime`, `weigh`, `status`) VALUES
-(1, '1.1.1,2', '1.2.1', '20M', '更新内容', 'http://www.fastadmin.net/download.html', 1, 1520425318, 0, 0, 'normal');
+(1, '1.1.1,2', '1.2.1', '20M', '更新内容', 'https://www.fastadmin.net/download.html', 1, 1520425318, 0, 0, 'normal');
 COMMIT;
 SET FOREIGN_KEY_CHECKS = 1;

+ 1 - 1
application/admin/controller/Addon.php

@@ -13,7 +13,7 @@ use think\Exception;
  * 插件管理
  *
  * @icon fa fa-circle-o
- * @remark 可在线安装、卸载、禁用、启用插件,同时支持添加本地插件。FastAdmin已上线插件商店 ,你可以发布你的免费或付费插件:<a href="http://www.fastadmin.net/store.html" target="_blank">http://www.fastadmin.net/store.html</a>
+ * @remark 可在线安装、卸载、禁用、启用插件,同时支持添加本地插件。FastAdmin已上线插件商店 ,你可以发布你的免费或付费插件:<a href="https://www.fastadmin.net/store.html" target="_blank">https://www.fastadmin.net/store.html</a>
  */
 class Addon extends Backend
 {

+ 6 - 0
application/admin/controller/Dashboard.php

@@ -3,6 +3,7 @@
 namespace app\admin\controller;
 
 use app\common\controller\Backend;
+use think\Config;
 
 /**
  * 控制台
@@ -28,6 +29,10 @@ class Dashboard extends Backend
         }
         $hooks = config('addons.hooks');
         $uploadmode = isset($hooks['upload_config_init']) && $hooks['upload_config_init'] ? implode(',', $hooks['upload_config_init']) : 'local';
+        $addonComposerCfg = ROOT_PATH . '/vendor/karsonzhang/fastadmin-addons/composer.json';
+        Config::parse($addonComposerCfg, "json", "composer");
+        $config = Config::get("composer");
+        $addonVersion = isset($config['version']) ? $config['version'] : __('Unknown');
         $this->view->assign([
             'totaluser'        => 35200,
             'totalviews'       => 219390,
@@ -41,6 +46,7 @@ class Dashboard extends Backend
             'sevendau'         => '32%',
             'paylist'          => $paylist,
             'createlist'       => $createlist,
+            'addonversion'       => $addonVersion,
             'uploadmode'       => $uploadmode
         ]);
 

+ 1 - 1
application/admin/controller/auth/Admin.php

@@ -70,7 +70,7 @@ class Admin extends Backend
         if ($this->request->isAjax())
         {
             //如果发送的来源是Selectpage,则转发到Selectpage
-            if ($this->request->request('pkey_name'))
+            if ($this->request->request('keyField'))
             {
                 return $this->selectpage();
             }

+ 1 - 1
application/admin/controller/user/User.php

@@ -35,7 +35,7 @@ class User extends Backend
         if ($this->request->isAjax())
         {
             //如果发送的来源是Selectpage,则转发到Selectpage
-            if ($this->request->request('pkey_name'))
+            if ($this->request->request('keyField'))
             {
                 return $this->selectpage();
             }

+ 1 - 1
application/admin/lang/zh-cn.php

@@ -164,7 +164,7 @@ return [
     'Config tips'                                           => '可以在此增改系统的变量和分组,也可以自定义分组和变量,如果需要删除请从数据库中删除',
     'Category tips'                                         => '用于统一管理网站的所有分类,分类可进行无限级分类',
     'Attachment tips'                                       => '主要用于管理上传到服务器或第三方存储的数据',
-    'Addon tips'                                            => '可在线安装、卸载、禁用、启用插件,同时支持添加本地插件。FastAdmin已上线插件商店 ,你可以发布你的免费或付费插件:<a href="http://www.fastadmin.net/store.html" target="_blank">http://www.fastadmin.net/store.html</a>',
+    'Addon tips'                                            => '可在线安装、卸载、禁用、启用插件,同时支持添加本地插件。FastAdmin已上线插件商店 ,你可以发布你的免费或付费插件:<a href="https://www.fastadmin.net/store.html" target="_blank">https://www.fastadmin.net/store.html</a>',
     'Admin tips'                                            => '一个管理员可以有多个角色组,左侧的菜单根据管理员所拥有的权限进行生成',
     'Admin log tips'                                        => '管理员可以查看自己所拥有的权限的管理员日志',
     'Group tips'                                            => '角色组可以有多个,角色有上下级层级关系,如果子角色有角色组和管理员的权限则可以派生属于自己组别的下级角色组或管理员',

+ 1 - 2
application/admin/lang/zh-cn/addon.php

@@ -14,9 +14,8 @@ return [
     'Userinfo'                       => '会员信息',
     'Online store'                   => '在线商店',
     'Local addon'                    => '本地插件',
-    'Https tips'                     => '当前你无法在插件管理中在线安装FastAdmin市场中的插件,请前往 <a href="http://www.fastadmin.net/store.html" target="_blank" class="">FastAdmin插件市场</a> 中下载后进行离线安装。',
     'Conflict tips'                  => '此插件中发现和现有系统中部分文件发现冲突!以下文件将会被影响,请备份好相关文件后再继续操作',
-    'Login tips'                     => '此处登录账号为<a href="http://www.fastadmin.net" target="_blank">FastAdmin官网账号</a>',
+    'Login tips'                     => '此处登录账号为<a href="https://www.fastadmin.net" target="_blank">FastAdmin官网账号</a>',
     'Logined tips'                   => '你好!%s<br />当前你已经登录,将同步保存你的购买记录',
     'Pay tips'                       => '支付完成后请稍等1~5分钟后再尝试安装,请不要重复支付,如果仍然无法安装,请加<a href="https://jq.qq.com/?_wv=1027&k=487PNBb" target="_blank">QQ群:636393962</a>向管理员反馈',
     'Pay click tips'                 => '请点击这里在新窗口中进行支付!',

+ 1 - 1
application/admin/lang/zh-cn/auth/rule.php

@@ -13,6 +13,6 @@ return [
     'Menu tips'                                                 => '规则任意,不可重复,仅做层级显示,无需匹配控制器和方法',
     'Node tips'                                                 => '控制器/方法名',
     'The non-menu rule must have parent'                        => '非菜单规则节点必须有父级',
-    'If not necessary, use the command line to build rule'      => '非必要情况下请直接使用命令行<a href="http://doc.fastadmin.net/docs/command.html#一键生成菜单" target="_blank">php think menu</a>来生成',
+    'If not necessary, use the command line to build rule'      => '非必要情况下请直接使用命令行<a href="https://doc.fastadmin.net/docs/command.html#一键生成菜单" target="_blank">php think menu</a>来生成',
     'Name only supports letters, numbers, underscore and slash' => 'URL规则只能是小写字母、数字、下划线和/组成',
 ];

+ 41 - 38
application/admin/lang/zh-cn/dashboard.php

@@ -1,42 +1,45 @@
 <?php
 
 return [
-    'Custom'                => '自定义',
-    'Pid'                   => '父ID',
-    'Type'                  => '栏目类型',
-    'Image'                 => '图片',
-    'Total user'            => '总会员数',
-    'Total view'            => '总访问数',
-    'Total order'           => '总订单数',
-    'Total order amount'    => '总金额',
-    'Today user signup'     => '今日注册',
-    'Today user login'      => '今日登录',
-    'Today order'           => '今日订单',
-    'Unsettle order'        => '未处理订单',
-    'Seven dnu'             => '七日新增',
-    'Seven dau'             => '七日活跃',
-    'Custom zone'           => '这里是你的自定义数据',
-    'Sales'                 => '成交数',
-    'Orders'                => '订单数',
-    'Real time'             => '实时',
-    'Category count'        => '分类统计',
-    'Category count tips'   => '当前分类总记录数',
-    'Attachment count'      => '附件统计',
-    'Attachment count tips' => '当前上传的附件数量',
-    'Article count'         => '文章统计',
-    'News count'            => '新闻统计',
-    'Comment count'         => '评论次数',
-    'Like count'            => '点赞次数',
-    'Recent news'           => '最新新闻',
-    'Recent discussion'     => '最新发贴',
-    'Server info'           => '服务器信息',
-    'PHP version'           => 'PHP版本',
-    'Fastadmin version'     => 'FastAdmin版本',
-    'Sapi name'             => '运行方式',
-    'Debug mode'            => '调试模式',
-    'Software'              => '环境信息',
-    'Upload mode'           => '上传模式',
-    'Upload url'            => '上传URL',
-    'Timezone'              => '时区',
-    'Language'              => '语言',
+    'Custom'                  => '自定义',
+    'Pid'                     => '父ID',
+    'Type'                    => '栏目类型',
+    'Image'                   => '图片',
+    'Total user'              => '总会员数',
+    'Total view'              => '总访问数',
+    'Total order'             => '总订单数',
+    'Total order amount'      => '总金额',
+    'Today user signup'       => '今日注册',
+    'Today user login'        => '今日登录',
+    'Today order'             => '今日订单',
+    'Unsettle order'          => '未处理订单',
+    'Seven dnu'               => '七日新增',
+    'Seven dau'               => '七日活跃',
+    'Custom zone'             => '这里是你的自定义数据',
+    'Sales'                   => '成交数',
+    'Orders'                  => '订单数',
+    'Real time'               => '实时',
+    'Category count'          => '分类统计',
+    'Category count tips'     => '当前分类总记录数',
+    'Attachment count'        => '附件统计',
+    'Attachment count tips'   => '当前上传的附件数量',
+    'Article count'           => '文章统计',
+    'News count'              => '新闻统计',
+    'Comment count'           => '评论次数',
+    'Like count'              => '点赞次数',
+    'Recent news'             => '最新新闻',
+    'Recent discussion'       => '最新发贴',
+    'Server info'             => '服务器信息',
+    'PHP version'             => 'PHP版本',
+    'Fastadmin version'       => 'FastAdmin版本',
+    'Fastadmin addon version' => 'FastAdmin插件版本',
+    'Sapi name'               => '运行方式',
+    'Debug mode'              => '调试模式',
+    'Software'                => '环境信息',
+    'Upload mode'             => '上传模式',
+    'Upload url'              => '上传URL',
+    'Upload cdn url'          => '上传CDN',
+    'Cdn url'                 => '静态资源CDN',
+    'Timezone'                => '时区',
+    'Language'                => '语言',
 ];

+ 1 - 1
application/admin/library/traits/Backend.php

@@ -15,7 +15,7 @@ trait Backend
         if ($this->request->isAjax())
         {
             //如果发送的来源是Selectpage,则转发到Selectpage
-            if ($this->request->request('pkey_name'))
+            if ($this->request->request('keyField'))
             {
                 return $this->selectpage();
             }

+ 1 - 5
application/admin/view/addon/index.html

@@ -17,10 +17,6 @@
         background:#d2d6de;
     }
 </style>
-<div id="warmtips" class="alert alert-dismissable alert-danger hide">
-    <button type="button" class="close" data-dismiss="alert">×</button>
-    <strong>{:__('Warning')}</strong> {:__('Https tips')}
-</div>
 <div class="panel panel-default panel-intro">
     {:build_heading()}
 
@@ -107,7 +103,7 @@
                 </tr>
                 <tr>
                     <th scope="row">{:__('Homepage')}</th>
-                    <td><a href="http://www.fastadmin.net/store/<%=item.name%>.html" target="_blank">http://www.fastadmin.net/store/<%=item.name%>.html</a></td>
+                    <td><a href="https://www.fastadmin.net/store/<%=item.name%>.html" target="_blank">https://www.fastadmin.net/store/<%=item.name%>.html</a></td>
                 </tr>
                 <tr>
                     <th scope="row">{:__('Intro')}</th>

+ 3 - 3
application/admin/view/common/header.html

@@ -90,13 +90,13 @@
                     <li class="user-body">
                         <div class="row">
                             <div class="col-xs-4 text-center">
-                                <a href="http://www.fastadmin.net" target="_blank">{:__('FastAdmin')}</a>
+                                <a href="https://www.fastadmin.net" target="_blank">{:__('FastAdmin')}</a>
                             </div>
                             <div class="col-xs-4 text-center">
-                                <a href="http://forum.fastadmin.net" target="_blank">{:__('Forum')}</a>
+                                <a href="https://forum.fastadmin.net" target="_blank">{:__('Forum')}</a>
                             </div>
                             <div class="col-xs-4 text-center">
-                                <a href="http://doc.fastadmin.net" target="_blank">{:__('Docs')}</a>
+                                <a href="https://doc.fastadmin.net" target="_blank">{:__('Docs')}</a>
                             </div>
                         </div>
                     </li>

+ 2 - 2
application/admin/view/common/menu.html

@@ -30,8 +30,8 @@
     <ul class="sidebar-menu">
         {$menulist}
         <li class="header" data-rel="external">{:__('Links')}</li>
-        <li data-rel="external"><a href="http://doc.fastadmin.net" target="_blank"><i class="fa fa-list text-red"></i> <span>{:__('Docs')}</span></a></li>
-        <li data-rel="external"><a href="http://forum.fastadmin.net" target="_blank"><i class="fa fa-comment text-yellow"></i> <span>{:__('Forum')}</span></a></li>
+        <li data-rel="external"><a href="https://doc.fastadmin.net" target="_blank"><i class="fa fa-list text-red"></i> <span>{:__('Docs')}</span></a></li>
+        <li data-rel="external"><a href="https://forum.fastadmin.net" target="_blank"><i class="fa fa-comment text-yellow"></i> <span>{:__('Forum')}</span></a></li>
         <li data-rel="external"><a href="https://jq.qq.com/?_wv=1027&k=487PNBb" target="_blank"><i class="fa fa-qq text-aqua"></i> <span>{:__('QQ qun')}</span></a></li>
     </ul>
 </section>

+ 21 - 13
application/admin/view/dashboard/index.html

@@ -336,7 +336,7 @@
                             <div class="box-header">
                                 <h3 class="box-title">{:__('Recent news')}</h3>
                                 <div class="box-tools pull-right">
-                                    <a href="http://www.fastadmin.net" target="_blank" class="btn btn-box-tool">{:__('More')}</a>
+                                    <a href="https://www.fastadmin.net" target="_blank" class="btn btn-box-tool">{:__('More')}</a>
                                 </div>
                             </div>
                             <div class="box-body" id="news-list">
@@ -349,7 +349,7 @@
                             <div class="box-header">
                                 <h3 class="box-title">{:__('Recent discussion')}</h3>
                                 <div class="box-tools pull-right">
-                                    <a href="http://forum.fastadmin.net" class="btn btn-box-tool">{:__('More')}</a>
+                                    <a href="https://forum.fastadmin.net" class="btn btn-box-tool">{:__('More')}</a>
                                 </div>
                             </div>
                             <div class="box-body" id="discussion-list">
@@ -364,39 +364,47 @@
                                 <table class="table table-striped">
                                     <tbody>
                                         <tr>
-                                            <td width="120px">{:__('PHP version')}</td>
-                                            <td>{$Think.const.PHP_VERSION}</td>
+                                            <td width="140">{:__('FastAdmin version')}</td>
+                                            <td>{$Think.config.fastadmin.version} <a href="javascript:;" class="btn btn-xs btn-checkversion">检查最新版</a></td>
                                         </tr>
                                         <tr>
-                                            <td width="120px">{:__('FastAdmin version')}</td>
-                                            <td>{$Think.config.fastadmin.version}</td>
+                                            <td>{:__('FastAdmin addon version')}</td>
+                                            <td>{$addonversion}</td>
                                         </tr>
                                         <tr>
-                                            <td width="120px">{:__('Sapi name')}</td>
+                                            <td>{:__('Sapi name')}</td>
                                             <td>{:php_sapi_name()}</td>
                                         </tr>
                                         <tr>
-                                            <td width="120px">{:__('Debug mode')}</td>
+                                            <td>{:__('Debug mode')}</td>
                                             <td>{$Think.config.app_debug?__('Yes'):__('No')}</td>
                                         </tr>
                                         <tr>
-                                            <td width="120px">{:__('Software')}</td>
+                                            <td>{:__('Software')}</td>
                                             <td>{$Think.server.SERVER_SOFTWARE}</td>
                                         </tr>
                                         <tr>
-                                            <td width="120px">{:__('Upload mode')}</td>
+                                            <td>{:__('Upload mode')}</td>
                                             <td>{$uploadmode}</td>
                                         </tr>
                                         <tr>
-                                            <td width="120px">{:__('Upload url')}</td>
+                                            <td>{:__('Upload url')}</td>
                                             <td>{$config.upload.uploadurl}</td>
                                         </tr>
                                         <tr>
-                                            <td width="120px">{:__('Timezone')}</td>
+                                            <td>{:__('Upload Cdn url')}</td>
+                                            <td>{$config.upload.cdnurl}</td>
+                                        </tr>
+                                        <tr>
+                                            <td>{:__('Timezone')}</td>
                                             <td>{:date_default_timezone_get()}</td>
                                         </tr>
                                         <tr>
-                                            <td width="120px">{:__('Language')}</td>
+                                            <td>{:__('Cdn url')}</td>
+                                            <td>__CDN__</td>
+                                        </tr>
+                                        <tr>
+                                            <td>{:__('Language')}</td>
                                             <td>{$config.language}</td>
                                         </tr>
                                     </tbody></table>

+ 1 - 1
application/admin/view/index/index.html

@@ -22,7 +22,7 @@
             <footer class="main-footer hide">
                 <div class="pull-right hidden-xs">
                 </div>
-                <strong>Copyright &copy; 2017-2018 <a href="http://fastadmin.net">Fastadmin</a>.</strong> All rights
+                <strong>Copyright &copy; 2017-2018 <a href="https://www.fastadmin.net">Fastadmin</a>.</strong> All rights
                 reserved.
             </footer>
 

+ 1 - 1
application/admin/view/index/login.html

@@ -97,7 +97,7 @@
                             </form>
                         </div>
                     </div>
-                    <p class="copyright"><a href="http://www.fastadmin.net?ref=demo">Powered By FastAdmin</a></p>
+                    <p class="copyright"><a href="https://www.fastadmin.net?ref=demo">Powered By FastAdmin</a></p>
                 </div>
             </div>
         </div>

+ 8 - 0
application/common/controller/Api.php

@@ -130,6 +130,14 @@ class Api
                 $this->auth->init($token);
             }
         }
+
+        $upload = \app\common\model\Config::upload();
+
+        // 上传信息配置后
+        Hook::listen("upload_config_init", $upload);
+
+        Config::set('upload', array_merge(Config::get('upload'), $upload));
+
         // 加载当前控制器语言包
         $this->loadlang($controllername);
     }

+ 1 - 1
application/common/view/tpl/dispatch_jump.tpl

@@ -42,7 +42,7 @@
             </p>
         </div>
         <div class="copyright">
-            <p>Powered by <a href="http://www.fastadmin.net/?ref=jump">FastAdmin</a></p>
+            <p>Powered by <a href="https://www.fastadmin.net/?ref=jump">FastAdmin</a></p>
         </div>
         <script type="text/javascript">
             (function () {

+ 3 - 3
application/config.php

@@ -18,7 +18,7 @@ return [
     // 应用命名空间
     'app_namespace'          => 'app',
     // 应用调试模式
-    'app_debug'              => Env::get('app.debug', true),
+    'app_debug'              => Env::get('app.debug', false),
     // 应用Trace
     'app_trace'              => Env::get('app.trace', false),
     // 应用模式状态
@@ -253,7 +253,7 @@ return [
         //自动检测更新
         'checkupdate'      => false,
         //版本号
-        'version'          => '1.0.0.20180314_beta',
-        'api_url'          => 'http://api.fastadmin.net',
+        'version'          => '1.0.0.20180327_beta',
+        'api_url'          => 'https://api.fastadmin.net',
     ],
 ];

+ 1 - 1
application/index/controller/Index.php

@@ -24,7 +24,7 @@ class Index extends Frontend
     public function news()
     {
         $newslist = [];
-        return jsonp(['newslist' => $newslist, 'new' => count($newslist), 'url' => 'http://www.fastadmin.net?ref=news']);
+        return jsonp(['newslist' => $newslist, 'new' => count($newslist), 'url' => 'https://www.fastadmin.net?ref=news']);
     }
 
 }

+ 10 - 10
application/index/view/index/index.html

@@ -39,14 +39,14 @@
 
                 <div class="collapse navbar-collapse" id="navbar-collapse-menu">
                     <ul class="nav navbar-nav navbar-right">
-                        <li><a href="http://www.fastadmin.net" target="_blank">{:__('Home')}</a></li>
-                        <li><a href="http://www.fastadmin.net/store.html" target="_blank">{:__('Store')}</a></li>
-                        <li><a href="http://www.fastadmin.net/service.html" target="_blank">{:__('Services')}</a></li>
-                        <li><a href="http://www.fastadmin.net/download.html" target="_blank">{:__('Download')}</a></li>
-                        <li><a href="http://www.fastadmin.net/demo.html" target="_blank">{:__('Demo')}</a></li>
-                        <li><a href="http://www.fastadmin.net/donate.html" target="_blank">{:__('Donation')}</a></li>
-                        <li><a href="http://forum.fastadmin.net" target="_blank">{:__('Forum')}</a></li>
-                        <li><a href="http://doc.fastadmin.net" target="_blank">{:__('Docs')}</a></li>
+                        <li><a href="https://www.fastadmin.net" target="_blank">{:__('Home')}</a></li>
+                        <li><a href="https://www.fastadmin.net/store.html" target="_blank">{:__('Store')}</a></li>
+                        <li><a href="https://www.fastadmin.net/service.html" target="_blank">{:__('Services')}</a></li>
+                        <li><a href="https://www.fastadmin.net/download.html" target="_blank">{:__('Download')}</a></li>
+                        <li><a href="https://www.fastadmin.net/demo.html" target="_blank">{:__('Demo')}</a></li>
+                        <li><a href="https://www.fastadmin.net/donate.html" target="_blank">{:__('Donation')}</a></li>
+                        <li><a href="https://forum.fastadmin.net" target="_blank">{:__('Forum')}</a></li>
+                        <li><a href="https://doc.fastadmin.net" target="_blank">{:__('Docs')}</a></li>
                     </ul>
                 </div>
                 <!-- /.navbar-collapse -->
@@ -136,7 +136,7 @@
             <div class="cta-content">
                 <div class="container">
                     <h2>{:__('Do not hesitate')}<br>{:__('Start to act')}</h2>
-                    <a href="http://doc.fastadmin.net/docs/contributing.html" class="btn btn-outline btn-xl page-scroll">{:__('Contribution')}</a>
+                    <a href="https://doc.fastadmin.net/docs/contributing.html" class="btn btn-outline btn-xl page-scroll">{:__('Contribution')}</a>
                 </div>
             </div>
             <div class="overlay"></div>
@@ -153,7 +153,7 @@
                         <a href="https://github.com/karsonzhang/fastadmin">{:__('Github')}</a>
                     </li>
                     <li>
-                        <a href="http://shang.qq.com/wpa/qunwpa?idkey=46c326e570d0f97cfae1f8257ae82322192ec8841c79b2136446df0b3b62028c">{:__('QQ group')}</a>
+                        <a href="https://shang.qq.com/wpa/qunwpa?idkey=46c326e570d0f97cfae1f8257ae82322192ec8841c79b2136446df0b3b62028c">{:__('QQ group')}</a>
                     </li>
                 </ul>
             </div>

+ 10 - 10
application/index/view/layout/common.html

@@ -46,18 +46,18 @@
                         <span class="icon-bar"></span>
                         <span class="icon-bar"></span>
                     </button>
-                    <a class="navbar-brand" href="http://www.fastadmin.net">FastAdmin</a>
+                    <a class="navbar-brand" href="https://www.fastadmin.net">FastAdmin</a>
                 </div>
                 <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                     <ul class="nav navbar-nav pull-right">
-                        <li><a href="http://www.fastadmin.net" target="_blank">{:__('Home')}</a></li>
-                        <li><a href="http://www.fastadmin.net/store.html" target="_blank">{:__('Store')}</a></li>
-                        <li><a href="http://www.fastadmin.net/service.html" target="_blank">{:__('Services')}</a></li>
-                        <li><a href="http://www.fastadmin.net/download.html" target="_blank">{:__('Download')}</a></li>
-                        <li><a href="http://www.fastadmin.net/demo.html" target="_blank">{:__('Demo')}</a></li>
-                        <li><a href="http://www.fastadmin.net/donate.html" target="_blank">{:__('Donation')}</a></li>
-                        <li><a href="http://forum.fastadmin.net" target="_blank">{:__('Forum')}</a></li>
-                        <li><a href="http://doc.fastadmin.net" target="_blank">{:__('Docs')}</a></li>
+                        <li><a href="https://www.fastadmin.net" target="_blank">{:__('Home')}</a></li>
+                        <li><a href="https://www.fastadmin.net/store.html" target="_blank">{:__('Store')}</a></li>
+                        <li><a href="https://www.fastadmin.net/service.html" target="_blank">{:__('Services')}</a></li>
+                        <li><a href="https://www.fastadmin.net/download.html" target="_blank">{:__('Download')}</a></li>
+                        <li><a href="https://www.fastadmin.net/demo.html" target="_blank">{:__('Demo')}</a></li>
+                        <li><a href="https://www.fastadmin.net/donate.html" target="_blank">{:__('Donation')}</a></li>
+                        <li><a href="https://forum.fastadmin.net" target="_blank">{:__('Forum')}</a></li>
+                        <li><a href="https://doc.fastadmin.net" target="_blank">{:__('Docs')}</a></li>
                     </ul>
                 </div>
                 <!-- /.navbar-collapse -->
@@ -80,7 +80,7 @@
                         <a href="https://github.com/karsonzhang/fastadmin">{:__('Github')}</a>
                     </li>
                     <li>
-                        <a href="http://shang.qq.com/wpa/qunwpa?idkey=46c326e570d0f97cfae1f8257ae82322192ec8841c79b2136446df0b3b62028c">{:__('QQ group')}</a>
+                        <a href="https://shang.qq.com/wpa/qunwpa?idkey=46c326e570d0f97cfae1f8257ae82322192ec8841c79b2136446df0b3b62028c">{:__('QQ group')}</a>
                     </li>
                 </ul>
             </div>

+ 9 - 9
application/index/view/layout/default.html

@@ -20,14 +20,14 @@
                 </div>
                 <div class="collapse navbar-collapse" id="header-navbar">
                     <ul class="nav navbar-nav navbar-right">
-                        <li><a href="http://www.fastadmin.net" target="_blank">{:__('Home')}</a></li>
-                        <li><a href="http://www.fastadmin.net/store.html" target="_blank">{:__('Store')}</a></li>
-                        <li><a href="http://www.fastadmin.net/service.html" target="_blank">{:__('Services')}</a></li>
-                        <li><a href="http://www.fastadmin.net/download.html" target="_blank">{:__('Download')}</a></li>
-                        <li><a href="http://www.fastadmin.net/demo.html" target="_blank">{:__('Demo')}</a></li>
-                        <li><a href="http://www.fastadmin.net/donate.html" target="_blank">{:__('Donation')}</a></li>
-                        <li><a href="http://forum.fastadmin.net" target="_blank">{:__('Forum')}</a></li>
-                        <li><a href="http://doc.fastadmin.net" target="_blank">{:__('Docs')}</a></li>
+                        <li><a href="https://www.fastadmin.net" target="_blank">{:__('Home')}</a></li>
+                        <li><a href="https://www.fastadmin.net/store.html" target="_blank">{:__('Store')}</a></li>
+                        <li><a href="https://www.fastadmin.net/service.html" target="_blank">{:__('Services')}</a></li>
+                        <li><a href="https://www.fastadmin.net/download.html" target="_blank">{:__('Download')}</a></li>
+                        <li><a href="https://www.fastadmin.net/demo.html" target="_blank">{:__('Demo')}</a></li>
+                        <li><a href="https://www.fastadmin.net/donate.html" target="_blank">{:__('Donation')}</a></li>
+                        <li><a href="https://forum.fastadmin.net" target="_blank">{:__('Forum')}</a></li>
+                        <li><a href="https://doc.fastadmin.net" target="_blank">{:__('Docs')}</a></li>
                         <li class="dropdown">
                             {if $user}
                             <a href="{:url('user/index')}" class="dropdown-toggle" data-toggle="dropdown" style="padding-top: 10px;height: 50px;">
@@ -59,7 +59,7 @@
         </main>
 
         <footer class="footer" style="clear:both">
-            <p class="copyright">Copyright&nbsp;©&nbsp;2017-2018 fastadmin.net All Rights Reserved {$site.name} {:__('Copyrights')} <a href="http://www.miibeian.gov.cn" target="_blank">{$site.beian}</a></p>
+            <p class="copyright">Copyright&nbsp;©&nbsp;2017-2018 fastadmin.net All Rights Reserved {$site.name} {:__('Copyrights')} <a href="https://www.miibeian.gov.cn" target="_blank">{$site.beian}</a></p>
         </footer>
 
         {include file="common/script" /}

+ 2 - 2
public/api.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-cn">
     <head>
         <meta charset="utf-8">
         <meta http-equiv="X-UA-Compatible" content="IE=edge">
@@ -3351,7 +3351,7 @@
 
             <div class="row mt0 footer">
                 <div class="col-md-6" align="left">
-                    Generated on 2018-03-13 19:46:39                </div>
+                    Generated on 2018-03-16 14:43:16                </div>
                 <div class="col-md-6" align="right">
                     <a href="http://www.fastadmin.net" target="_blank">FastAdmin</a>
                 </div>

+ 2 - 8
public/assets/js/backend/addon.js

@@ -39,7 +39,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function
 
             // 初始化表格
             table.bootstrapTable({
-                url: location.protocol === "https:" ? "addon/downloaded" : $.fn.bootstrapTable.defaults.extend.index_url,
+                url: $.fn.bootstrapTable.defaults.extend.index_url,
                 columns: [
                     [
                         {field: 'id', title: 'ID', operate: false},
@@ -106,12 +106,6 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function
                 });
             });
 
-            // 如果是https则启用提示
-            if (location.protocol === "https:") {
-                $("#warmtips").removeClass("hide");
-                $(".btn-switch,.btn-userinfo").addClass("disabled");
-            }
-            
             // 离线安装
             require(['upload'], function (Upload) {
                 Upload.api.plupload("#plupload-addon", function (data, ret) {
@@ -270,7 +264,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function
 
                             },
                             yes: function () {
-                                install(name, true);
+                                install(name, version, true);
                             }
                         });
 

+ 6 - 2
public/assets/js/backend/dashboard.js

@@ -105,7 +105,11 @@ define(['jquery', 'bootstrap', 'backend', 'addtabs', 'table', 'echarts', 'echart
                 myChart.resize();
             });
 
-            //读取FastAdmin的更新信息
+            $(document).on("click", ".btn-checkversion", function(){
+                top.window.$("[data-toggle=checkupdate]").trigger("click");
+            });
+
+            //读取FastAdmin的更新信息和社区动态
             $.ajax({
                 url: Config.fastadmin.api_url + '/news/index',
                 type: 'post',
@@ -119,7 +123,7 @@ define(['jquery', 'bootstrap', 'backend', 'addtabs', 'table', 'echarts', 'echart
                 type: 'post',
                 dataType: 'jsonp',
                 success: function (ret) {
-                    $("#discussion-list").html(Template("discussiontpl", {news: ret.discussionlist.slice(0,6)}));
+                    $("#discussion-list").html(Template("discussiontpl", {news: ret.discussionlist}));
                 }
             });
         }

+ 42 - 1
public/assets/js/backend/index.js

@@ -79,6 +79,42 @@ define(['jquery', 'bootstrap', 'backend', 'addtabs', 'adminlte', 'form'], functi
                 }
             });
 
+            //读取首次登录推荐插件列表
+            if (localStorage.getItem("fastep") == "installed") {
+                $.ajax({
+                    url: Config.fastadmin.api_url + '/addon/recommend',
+                    type: 'post',
+                    dataType: 'jsonp',
+                    success: function (ret) {
+                        require(['template'], function (Template) {
+                            var install = function (name, title) {
+                                Fast.api.ajax({
+                                    url: 'addon/install',
+                                    data: {name: name, faversion: Config.fastadmin.version}
+                                }, function (data, ret) {
+                                    Fast.api.refreshmenu();
+                                });
+                            };
+                            $(document).on('click', '.btn-install', function () {
+                                $(this).prop("disabled", true).addClass("disabled");
+                                $("input[name=addon]:checked").each(function () {
+                                    install($(this).data("name"));
+                                });
+                                return false;
+                            });
+                            $(document).on('click', '.btn-notnow', function () {
+                                Layer.closeAll();
+                            });
+                            Layer.open({
+                                type: 1, skin: 'layui-layer-page', area: ["860px", "620px"], title: '',
+                                content: Template.render(ret.tpl, {addonlist: ret.rows})
+                            });
+                            localStorage.setItem("fastep", "dashboard");
+                        });
+                    }
+                });
+            }
+
             //版本检测
             var checkupdate = function (ignoreversion, tips) {
                 $.ajax({
@@ -335,6 +371,7 @@ define(['jquery', 'bootstrap', 'backend', 'addtabs', 'adminlte', 'form'], functi
             }
 
             $(window).resize();
+
         },
         login: function () {
             var lastlogin = localStorage.getItem("lastlogin");
@@ -359,7 +396,11 @@ define(['jquery', 'bootstrap', 'backend', 'addtabs', 'adminlte', 'form'], functi
 
             //为表单绑定事件
             Form.api.bindevent($("#login-form"), function (data) {
-                localStorage.setItem("lastlogin", JSON.stringify({id: data.id, username: data.username, avatar: data.avatar}));
+                localStorage.setItem("lastlogin", JSON.stringify({
+                    id: data.id,
+                    username: data.username,
+                    avatar: data.avatar
+                }));
                 location.href = Backend.api.fixurl(data.url);
             });
         }

+ 1 - 0
public/assets/js/frontend/user.js

@@ -90,6 +90,7 @@ define(['jquery', 'bootstrap', 'frontend', 'form', 'template'], function ($, und
                     success: function (layero) {
                         var form = $("form", layero);
                         Form.api.bindevent(form, function (data) {
+                            location.reload();
                             Layer.closeAll();
                         });
                     }

+ 1 - 1
public/assets/js/require-frontend.js

@@ -141,7 +141,7 @@ require(['jquery', 'bootstrap'], function ($, undefined) {
     // 初始化
     $(function () {
         require(['fast'], function (Fast) {
-            require(['frontend', 'addons'], function (Frontend, Addons) {
+            require(['frontend', 'frontend-init', 'addons'], function (Frontend, Addons) {
                 //加载相应模块
                 if (Config.jsname) {
                     require([Config.jsname], function (Controller) {

+ 1 - 1
public/assets/js/require-frontend.min.js

@@ -155,7 +155,7 @@ require(['jquery', 'bootstrap'], function ($, undefined) {
     // 初始化
     $(function () {
         require(['fast'], function (Fast) {
-            require(['frontend', 'addons'], function (Frontend, Addons) {
+            require(['frontend', 'frontend-init', 'addons'], function (Frontend, Addons) {
                 //加载相应模块
                 if (Config.jsname) {
                     require([Config.jsname], function (Controller) {

+ 1 - 0
public/install.php

@@ -415,6 +415,7 @@ if (!$errInfo && isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD']
                                             $("#success").text("安装成功!开始你的<?php echo $sitename; ?>之旅吧!").show();
                                             $('<a class="btn" href="./">访问首页</a> <a class="btn" href="./index.php/admin/index/login" style="background:#18bc9c">访问后台</a>').insertAfter($button);
                                             $button.remove();
+                                            localStorage.setItem("fastep", "installed");
                                         } else {
                                             $('#error').show().text(ret);
                                             $button.prop('disabled', false).text('点击安装');