常见问题

如何通过微信接收工单提醒和社区通知消息?

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

请关注FastAdmin官方公众号:FastAdmin快速后台,关注以后点击我的->会员中心->登录->使用微信登录并进行绑定你在FastAdmin官网的账号即可。请扫以下二维码进行关注:

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

如何解决官方演示站iframe窗口内无法登录的问题?

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

Chrome浏览器从80版本开始,已经默认设置了SameSiteLax,由于官方演示页面嵌套的iframe,会导致iframe内的cookie无法生效。
关于SameSite的说明可以参考:http://www.ruanyifeng.com/blog/2019/09/cookie-samesite.html

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

由于ThinkPHP5中的Session.php这个类在session_start()之前未设置session.cookie_path,如下:
image.png

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

可以看到session_start()之前没有进行session.cookie_path的设置,因此需要我们需要通过行为来调用ini_set进行设置。

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

首先我们需要修改application/config.php中的pathsecure,来设置全局cookiepathsecure,来添加SameSite

fhWtlpbAwDCGEXQUmDnaA0XFUBksLpCH5YHw5w==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。
'cookie'                 => [
    // cookie 名称前缀
    'prefix'    => 'fa',
    // cookie 保存时间
    'expire'    => 0,
    // cookie 保存路径
    'path'      => '/; samesite=None',
    // cookie 有效域名
    'domain'    => '',
    //  cookie 启用安全传输
    'secure'    => true,
    // httponly设置
    'httponly'  => false,
    // 是否使用 setcookie
    'setcookie' => true,
],
uJzSeDmPiFvcQRxaak19+zPAtGRrrDRNRBijYw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

然后打开application/tags.php,修改app_init,增加一行'app\\common\\behavior\\Common',修改后如下:

lGPNuwyneKUYgcLHlFCn//aiVvGx7knlGdmGzA==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。
<?php
// 应用行为扩展定义文件
return [
    // 应用初始化
    'app_init'     => [
        'app\\common\\behavior\\Common',
    ],
    // 应用开始
    'app_begin'    => [],
    // 应用调度
    'app_dispatch' => [
        'app\\common\\behavior\\Common',
    ],
    // 模块初始化
    'module_init'  => [
        'app\\common\\behavior\\Common',
    ],
    // 插件开始
    'addon_begin'  => [
        'app\\common\\behavior\\Common',
    ],
    // 操作开始执行
    'action_begin' => [],
    // 视图内容过滤
    'view_filter'  => [],
    // 日志写入
    'log_write'    => [],
    // 应用结束
    'app_end'      => [],
];
YyoivDjPftpHxLeCN7d4WvcOwIdV1zNLOxozsQ==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

打开application/common/behavior/Common.php,添加一个appInit的方法,如下:

YwqCiJHrFNMIlVDbUnSiPRJ6RtZKC1Lm8FJZyg==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。
public function appInit(){
    ini_set('session.cookie_path', '/; SameSite=None');
    ini_set('session.cookie_secure', true);
}
GOBbXfwgAUntyresnlM1NgKFvzyGDuaUQbO9OQ==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

插件控制器明明存在为何却访问不了?

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

请检查控制器的命名空间是否正确
请检查控制器的类名是否匹配,大小写是否匹配

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

如何快速将视图中的变量批量添加htmlentities函数?

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

我们可以通过在第三方代码编辑器,如VSCodePHPStorm中使用正则查找批量替换功能
通过查找\{(\$([a-z0-z\.]+))\},替换为{$1|htmlentities}进行正则(.*)全局替换,务必限制.html后缀文件

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

特别注意

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

务必限制.html后缀文件,其它文件需要手动确认
批量替换操作前请务必做好备份!
替换完成后请务必进行测试,如有输出HTML编码的页面,请根据你的页面显示要求进行移除或优化

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

如何按规范要求生成随机字符串用户名?

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

最新规范要求用户名不能使用手机号,此时如需生成随机用户名,请使用以下代码即可:

uTDwONAXkyEZqLcbDOhLSziCpfCvnjvigTgsWw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。
$username = method_exists('\fast\Random', 'username')
                ? \fast\Random::username()
                : 'user_' . bin2hex(random_bytes(8)) . substr(uniqid(), -8);
jytOquRalEPMHFbV+/xBNWjfV8jkNMSwgQMEWw==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

如需判断是否为手机号,可使用以下代码:

pzBGLhHDksMErAjaVZMYelz+bvkCTRNhSe89cQ==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。
if (!\think\Validate::regex($mobile, "^1[3-9]\d{9}$")) {
    $this->error(__('手机号格式不正确'));
}
olPTwXOLKBJrVYty8vRxMBaUTgNbzGU86eM1Ig==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

如何进行插件升级测试?

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

如何需要进行插件升级测试,请在插件管理中先禁用插件,然后点本地安装,页面会提示是否升级插件,点确定即可进行升级操作。

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

如何生成占位图片?

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

点击:https://placeholder.fastadmin.net 按需生成指定大小的占位图片即可。

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

插件目录public目录下允许的文件或目录?

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

在插件public目录下,只允许出现以下目录:

CYBOjRmsJItxVMEbdT7V8Ms9MYxL4YfEZhQVkg==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。
/assets/js/backend/插件标识/
/assets/js/frontend/插件标识/
/assets/addons/插件标识/
/uploads/插件标识/
/uploads/8位日期数字/
/插件标识/
bLGmKWSghNyEiQMPFGCKe1yW8lKj4aDTj8PHNQ==著作权归作者所有,未经许可,禁止转载、复制此文档的任何内容。

不允许再出现其它目录或文件,请按上述允许的目录进行存放。
public目录下不允许任何PHP文件。

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

文档
目录

深色
模式

切换
宽度