常见问题
怎么升级版本?
每次升级完最新版本后,请执行更新命令完成SQL语句升级 php bin/hyperf.php mine:update
菜单添加后页面不显示
一般是以下问题造成的:
- 组件路径地址错误,导致页面显示不出来
 - 菜单代码标识重复,这个要保证全局唯一
 - 菜单路由地址重复,这个要保证全局唯一
 
前端登录提示“未知错误”
一般是jwt私有密钥未初始化,执行下面两条命令进行初始化:
php bin/hyperf.php mine:jwt-gen --jwtSecret=JWT_SECRETphp bin/hyperf.php mine:jwt-gen --jwtSecret=JWT_API_SECRET
上传图片前端不显示
打开前端 config/upload.js,根据自己情况配置地址
// 文件存储URL地址
export default {
  storage: {
    LOCAL: 'http://127.0.0.1:9501',
    OSS: '',
    COS: '',
    QINIU: ''
  }
}
提示“队列相关功能未开启”
打开 App\System\Queue\Consumer\MessageConsumer.php 搜索文件 把 //#[Consumer...] 前面的 // 去掉
打开 App\System\Queue\Producer\MessageProducer.php 搜索文件 把 //#[Producer...] 前面的 // 去掉
登录后台白屏没有任何跳转
有以下几种可能,请逐一排查
数据库或者redis没有正确配置- 没有 
真正的完成安装项目,需要再次运行php bin/hyperf mine:install命令 - 检查 
.env文件的SUPER_ADMIN的值是否与用户表的超管ID一致 - 检查用户是否绑定了 
角色,同时角色是否至少绑定了一个菜单 - 清除 
Redis缓存 
[系统监控]卡死
请使用 root账户来启动项目。
为何出现“您访问的资源不存在”
- 确认是否配置了此菜单
 - 确认后端路由定义是否存在,并检查是否需要参数
 - 确认服务器是否重启
 - 确认是否删除 
runtime/container目录 
超级管理员怎么设置
超级管理员,也就是创始人,必须在 .env中的 SUPER_ADMIN定义
docker里连不上数据库、Redis
这种情况一般是 数据库和 redis安装在 本地(宿主机)
可使用以下命令查看本机ID地址
- Windows: 
ipconfig - Linux: 
ip addrorifconfig - Mac: 
ifconfig 
然后以局域网地址连接
或者使用Docker的专用地址:host.docker.internal
前端是否需要部署在docker里面?
不需要
安装的SQL文件在哪里?
MineAdmin没有使用传统SQL文件安装,而是使用了数据迁移工具进行建表和数据填充工作
相关的文件在每个模块下的 Database里
前端一些页面不想缓存怎么操作
目前生成的vue页面里都有两个 script标签,只需要删掉 export default { name: 'xxx' } 这行标签的代码即可不缓存
如何开启JWT多点登录
在后端 config/autoload/jwt.php 里找到下面这行,把 sso 改为 mpop 即可
'login_type' => env('JWT_LOGIN_TYPE', 'sso'), //  登录方式,sso为单点登录,mpop为多点登录
定时任务怎么不执行
一般发生在类任务,默认的 定时清理日志任务 由于在安装数据时 \ 被转义了,在后台看到的就是:
- AppSystemCrontabClearLogCrontab
 
而实际上应该是带有命名空间含义的类地址,带上斜杠后,系统就能找到这个类了。
- \App\System\Crontab\ClearLogCrontab
 
提示 SSL verify failed
一般多发生于宝塔用户
首先更新 libopenssl
- ubuntu/debian
 
sudo apt-get install libcurl4-openssl-dev
- centos/redhat
 
sudo yum install libcurl-devel
- alpine
 
apk add curl-dev
最后重新编译安装 Swoole 即可
插件安装需知
安装插件后请手动重启服务
前端不生效 无页面
检查 插件配置文件,路径:(/config/autoload/mine-extension.php) 中
/*
     * The root directory where the front-end code resides.
     *
     * 前端代码所在根目录.
     */
    'front_directory' => './web/',
配置是否正确 是否为当前运行前端目录
数据迁移、填充和更新的执行顺序是什么
迁移 -> 填充 -> 更新。首先进行数据结构的迁移,然后填充初始数据,最后执行更新操作。
数据库填充文件是否只在安装时执行一次
是的,数据库填充文件只在安装时执行一次。系统的迁移机制会检测并记录所有已执行的操作,防止重复执行
安装所有模块后,如何执行特定操作
目前没有直接的方式来在所有模块安装完毕后执行特定操作。原始设计考虑到的是内部开发使用,但插件系统可能支持这种功能。\
数据权限中的'本部门及以下数据权限'与'本部门及以下数据权限(数据表部门 ID)'有何区别?
'本部门及以下数据权限'基于创建者(created_by)实现,而'本部门及以下数据权限(数据表部门 ID)'则基于部门ID(dept_id)。如果人员更换部门,使用dept_id的权限设置将无法访问原部门的数据。
如果需要使用dept_id,应如何操作?
需要在数据表中添加dept_id字段,并手动维护此字段的更新。相对的,created_by字段是在AOP(面向切面编程)环境中自动维护的。可以考虑实现一个AOP来自动维护dept_id字段