部署演示站

为了让用户更好的体验我们开发的插件,我们需要在上线前部署好对应应用插件的演示站。
如果你开发了多个应用插件,为了减少开发者的工作量,你可以将多个应用插件部署在同一个站点中,共用同一个后台管理,但务必使用不同的演示账号用于区分。

QtVWdyHckAZDbNKe9gDLgX5froIFFC0YSRNu+Q==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

特别注意

xoKnkFIRlUGZzJaqV0ATAyCpXS/XQ0SINw0ZPA==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

演示站务必单独部署,不要将演示站和你的业务系统部署在同一台服务器。
强烈建议关闭文件上传功能,如果一定要开放,请定期检查和清理上传的文件或图片
演示站不允许安装除演示应用插件外的其它任何付费插件,如付费编辑器、付费短信、付费云存储插件等。
演示站(包括但不限于小程序、H5、APP、后台管理等)禁止出现任何第三方广告(包括但不限于开屏广告、浮动广告、内嵌广告等)

PmRdgUTfSCzxAWDE1lOPrMUlc1g5PImGTxOwhA==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

温馨提示

DterGoTPIFvwUgKBrPKqL8dNDXDNIGYKJMDWHQ==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

1、定期检查演示站数据库是否出现违规文本(包括但不限于昵称、标题、内容、留言、评论等)
2、定期检查演示站服务器是否出现违规文件(包括但不限于图片、音频、视频等)

auoUrCNTXOnfKHJsCKInk8QWhsqRQz9wiiYDGg==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

准备工作

kchCDTuESVdZtaRG0m50S+kxfXVMUESaeg6F5g==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

1、一台云服务器,建议使用Linux,如果你还没有云服务器,建议使用腾讯云服务器,点击购买
2、一个域名(必须已经备案且状态正常)

jQrTNUXmioCHfZOhjbgGeqRf3wrIJ48Fy2rfPw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

安装Web运行环境

iwlpjXYZqzTdmQvRoNwfQOI0FDyW97avBBmDWw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

建议使用宝塔管理面板来安装Web运行环境。
宝塔安装文档:https://www.fastadmin.net/video/install.html

BfNprzcWukMsqmROKW3sJeoQb/jo5wJ3bpEfaw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

关闭调试模式

HjcrhmEXVbFnBtpDzMQdH9pVrQ9ebkEzGxhOaA==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

演示站务必关闭调试模式,后台移除插件管理分类管理等几个栏目,只保留必要的演示权限。
调试模式设置方法可以参考:https://doc.fastadmin.net/doc/faq.html

elIrRHNOUcZMQSzumcXN/1uKwF4ORbh8ESsVwQ==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

安装FastAdmin+应用插件

NSsEwMBmFlTXnvobp0s/ieXcPGToZ1tQ9t1FJg==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

请参考官方文档安装FastAdmin和你的应用插件,如果有依赖插件,也请一并安装。

eUardXcnymjTpYBI7VntY68I+3o3/OPLfWW//A==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

配置数据库权限

LfpGHmZDXBMRnEoYYBecDfBVJu6NRTmRrV76iw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

正常我们安装完FastAdmin应用插件后,数据库是无任何读写限制的,此时我们需要通过phpMyadmin来修改数据库的增删改权限。
首先我们登录phpMyadmin后,打开指定的数据库,这里我们以fastadmin-demo数据库为例,运行以下SQL语句,请将fastadmin-demo替换成你自己的数据库名

OzMRPgTbZJYhcpvyZ38uGVA0F+tbaAMa+KFreg==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。
GRANT SELECT, REFERENCES, LOCK TABLES ON `fastadmin-demo`.* TO 'fastadmin-demo'@'127.0.0.1';
GRANT UPDATE, DELETE ON `fastadmin-demo`.`fa_sms` TO 'fastadmin-demo'@'127.0.0.1';
GRANT UPDATE (token, loginfailure, updatetime, loginip, logintime) ON `fastadmin-demo`.`fa_admin` TO 'fastadmin-demo'@'127.0.0.1';
GRANT INSERT ON `fastadmin-demo`.`fa_user_money_log` TO 'fastadmin-demo'@'127.0.0.1';
GRANT INSERT, UPDATE (avatar, email, updatetime, nickname, logintime, loginip, username, token, successions, mobile, loginfailure, money, score, level, maxsuccessions, prevtime) ON `fastadmin-demo`.`fa_user` TO 'fastadmin-demo'@'127.0.0.1';
GRANT INSERT, UPDATE, DELETE ON `fastadmin-demo`.`fa_user_token` TO 'fastadmin-demo'@'127.0.0.1';
GRANT INSERT ON `fastadmin-demo`.`fa_admin_log` TO 'fastadmin-demo'@'127.0.0.1';
GRANT INSERT ON `fastadmin-demo`.`fa_user_score_log` TO 'fastadmin-demo'@'127.0.0.1';
waPcKZUujsgyQMFGVsc2cm4l+noVsAG7iuSGKw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

接下来我们还需要给你的插件添加指定的增删改权限,我们选中数据库后,点击权限,如图:
image.png
再点击修改权限,如图:
image.png
默认是只有select权限的,此时我们点击,如图:
image.png
点击下方的选择文本域,如图:
image.png
按需选择最小的演示权限,如图:
image.png
点击执行即可完成一个表的权限设置,重复以上部署对其它表进行权限设置。
在进行以上权限设置后,我们前台部分体验时将会报数据库无权限的错误。请看后续的优化错误提示来优化下前台的提示信息。

nChMIiwTFLpHNqzu2BK3GJnU8CzXw798ButgwQ==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

修改文件权限

oTXwkVbAyDaRQlFCNIUAhHHNciD7Ys1KiRMJzA==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

当我们后台完成了所有插件配置后,我们需要来设定项目目录的文件和文件夹权限。
首先我们登录到项目根目录,通过以下命令来设定权限

xdpjbDmHZgPfEXKoedEoARyHT6Evqlca/iuayA==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。
cd /www/wwwroot/yoursite.com
chown -R www:www ./
chmod -R 555 ./
chmod -R 755 runtime
vBQznAwbfxXpRqmFPvMiFVehWpRV6VDvYLOJjQ==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

如果你还希望开放文件上传权限,请执行

HYoiUVGzNjJQxvgtLMxi74rBd+Eeefewlls3DQ==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。
chmod -R 755 public/uploads
RMToHUlsOjewmKAb59Ya6lrGgwN3J4lKg5VOjA==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

开放了文件上传权限后务必确俣public/uploads无脚本执行权限,通常在Nginx中可以进行以下设置

zLOAixfXJZBIRTek9fieo9aCH5rD4Anixm4Z9w==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。
location ~ ^/(uploads|assets)/.*\.(php|php5|jsp)$ {                   
    deny all;
}
LXHVfpUKzoMIwmSCmWw2+YV8QPBoXrIAPVGFCA==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

优化错误提示

eDWCbMGxoztTpZwX1CCABXq1RDucoWKPHcyYaw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。
目前已经可以通过安装演示站点优化插件来实现优化,无需修改任何框架文件,该章节内容可以忽略

当我们完成了以下权限设置后,可能此时我们的后台或前台将会一些未知数据格式网络错误等提示,此时我们希望给用户更好的提示,比如:演示站暂未开放修改权限
首先我们修改

UvPfIcGRpbBJSOisD+spmbxORlM5q4M87C3zCQ==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。
application/common/controller/Backend.php
application/common/controller/Frontend.php
RTUacClnHhLsZPuFDD9x0e9gnibMHoyzz09a2Q==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

在控制器中添加一个error方法,代码如下:

GdTeAbCRktJXjBINaqMEXnGqcq2NS6XwVwqA7Q==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。
    protected function error($msg = '', $url = null, $data = '', $wait = 3, array $header = [])
    {   
    $msg = preg_match("/(error|denied)/i", $msg) ? "当前演示站无法进行修改和删除数据" : $msg;
    return parent::error($msg, $url, $data, $wait, $header);  
    }
eSuiTPbVFMhlfUnjsp47cRQos99F78QLpHVREw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

然后我们在application/common/library目录下添加一个ExceptionHandle.php文件,代码内容为

JCAvalHBPSiQMRYKJcQv7LfNsrr1MjqRYERjhA==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。
查看详情
<?php 
namespace app\common\library;  
use Exception; 
use think\exception\Handle;
class ExceptionHandle extends Handle
{  
  public function render(Exception $e)
  {  
      // 在生产环境下返回code信息 
      if (!\think\Config::get('app_debug')){
            $statuscode = $code = 500; 
            $msg = 'An error occurred';
            // 验证异常 
            if ($e instanceof \think\exception\ValidateException){  
                $code = 0; 
                $statuscode = 200;  
                $msg = $e->getError(); 
            }  
            //数据库异常
            if ($e instanceof \think\exception\PDOException){  
                $code = 0; 
                $statuscode = 200;  
                $msg = "当前演示站无法进行修改和删除数据,请下载到本地安装体验";  
            }  
            // Http异常 
            if ($e instanceof \think\exception\HttpException){  
                $statuscode = $code = $e->getStatusCode();  
            } 
            $msg = "当前演示站无法进行修改和删除数据";
            return json(['code' => $code, 'msg' => $msg, 'time' => time(), 'data' => null], $statuscode);  
      }
     
      //其它此交由系统处理  
      return parent::render($e);  
   }
}
jKmEVsphORcvfegW1/h7BonjpiYclbHMYoFqWQ==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

然后我们修改application/config.php中的exception_handle值,修改为\app\common\library\ExceptionHandle
通过以上设定即可完成相关错误提示的优化。

mqZKCxSeawdFYvuDbbKfHsiYZqnoA6P/r9r6JQ==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

Cookie权限配置

EjSFeQvyioXcPJTL8HRLY+IYbLeolHjru7amcg==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

如果你的演示站上线后无法在iframe进行正常的登录,请参考文档:如何解决官方演示站iframe窗口内无法登录的问题?

ZzCYtfXdrolBjAETSTuzBKrcw2MY8lsMb9JcjQ==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

H5演示

EgJOqkvBuGKczQwyF0vS0sM/bc7c+ibe4w8KBQ==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

当我们部署H5演示后,如果需要在PC端体验H5的演示站,需要进行以下操作
安装演示站优化插件,然后在插件配置中配置H5预览站点列表,然后通过类似http://www.example.com/preview.html?site=站点标识即可在PC端预览H5演示站

SzZgudqcMXotUAGm5jxLN/0OB8NwE0cjncQ39A==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

H5演示最终效果如图:
image.png

uncPjrKGyxaTUVBSedWf35CAMdVVawTYNIFGpQ==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

演示小程序优化

tdYxFuKLECoAfNgMGnYXP3smFwvoCjTRFQxIlw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

在演示小程序中都涉及到登录,而通常在微信小程序中通常登录都使用微信手机授权登录进行快速登录,但目前要求演示小程序禁止获取小程序用户的真实手机号进行登录,而需修改为使用模拟登录的方式进行登录,效果如图:
image.png

hyGJpVoBvMiHLedbIPMF4OPNEDpwqOlCFRx2bg==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

如果是使用手机+验证码登录的方式,要求安装《演示站优化插件》并开启测试短信

bMXYTPqGzSOlgjKink5TLKFqz4ZNEq8aP0w/vg==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

如果演示小程序还涉及到支付,需修改为使用模拟支付的方式进行支付,效果如图:
image.png

HYltuFITPedKJimRnrKvjNF4koNmrsD7gf+JAw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

其它优化

XofTkcQHrNLxPbgVfRxKPBrky6FCyadIbjOdQw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。
目前已经可以通过安装演示站点优化插件来实现优化,无需修改任何框架文件,该章节内容可以忽略

建议你修改application/config.php中的login_captchalogin_failure_retryloginip_check均设定为false
建议你在前台和后台登录页面添加演示账号提示,请修改

wOslAeStZpaoFJgPq7ki1N1VT+VbdRDNab/JuA==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。
application/index/view/user/login.html
application/admin/view/index/login.html
VXUZAkfvtgIxJEDBPMXF/+PmW2iWpQ5wq1JIcw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

添加上演示账号提示即可,示例代码如下:

MnTYZwljxDmXKbtQBNdaekasxeTONl9fT8etiw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。
<div class="alert alert-warning-light"> 账号:admin 密码:123456 </div>  
zmycKMFpfXVEjLxr3vj2HMzX7YmpFL+oCUSXDw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

效果如图:
image.png

jESdWMIqQgNAyazUfJst9WwcIpH5vpQ2y+nJCw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

演示站优化插件

SmxfEAnCgYzvWjDJ8oHwJl+iRslGaYiUQCxWRw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

该插件仅限用于应用插件演示站优化使用,请勿应用于生产环境!!!

XIMkvesmbJcETUnO+Qf3/aWrHIv0M9Ss1yBgwg==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

该插件功能包括:演示账号提示、报错提示优化、测试短信、测试邮件、H5在线预览、页面水印、内容审核等功能。

iDORdelqZWGHzTfwOAEohQuXjvuAUfYG5173OA==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

温馨提示

TwxizfjHIJmnRUPDTiLE1FNF4c4E5g7LyfO9Ag==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

下载:点击下载
文档:https://doc.fastadmin.net/demosite

PLlerpGaODFjSsnVz71QUKogHM4guMXIcjKcCw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

请使用最新版的 FastAdmin 框架安装本插件。

文档最后更新时间:2025-08-25 12:00:38
著作权归应用插件开发者所有,未经许可,禁止转载、复制此文档的任何内容。

文档
目录

深色
模式

切换
宽度