Skip to content

常见问题

目录


1. 部署问题

Q1: 安装应用出现 is_dir() 报错

问题现象: 安装应用时提示 is_dir(): open_basedir restriction in effect 错误。

原因分析: PHP 的 open_basedir 安全限制导致无法访问某些目录。

解决方案:

  1. 修改 php.ini 中的 open_basedir 配置
  2. 或在宝塔面板中关闭防跨站攻击
ini
; php.ini
open_basedir = none

Q2: 绑定授权时出现"请求来源产品与授权产品不一致"

问题现象: 绑定授权时提示产品与授权不匹配。

原因分析: 授权码绑定的产品与实际安装的产品不一致。

解决方案:

  1. 确认授权码对应的产品类型
  2. 联系客服确认授权信息
  3. 重新获取正确的授权码

Q3: "未找到 admin 源码所在目录"的解决方案

问题现象: 部署后提示找不到 admin 目录。

原因分析: admin 前端代码未正确编译或放置。

解决方案:

bash
# 进入 admin 目录编译
cd admin
npm install
npm run build

# 将 dist 目录内容复制到 public/admin

2. 开发问题

Q1: 怎么配置跨域的问题

问题现象: 前端调用 API 时出现跨域错误。

解决方案:

方式1:后端配置跨域

php
// 在 middleware 中添加跨域处理
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type, Authorization');

方式2:前端配置代理

javascript
// vite.config.ts
export default defineConfig({
  server: {
    proxy: {
      '/api': {
        target: 'http://localhost:8000',
        changeOrigin: true
      }
    }
  }
});

Q2: 怎么添加菜单,添加了菜单不出现

问题现象: 在后台添加了菜单,但前端不显示。

原因分析:

  1. 菜单未分配权限
  2. 缓存未刷新
  3. 菜单状态为禁用

解决方案:

  1. 检查菜单是否启用
  2. 为角色分配菜单权限
  3. 刷新页面或重新登录
  4. 清除浏览器缓存

Q3: 怎么关闭开发调试模式

解决方案:

env
# .env 文件
APP_DEBUG=false
APP_ENV=production

Q4: 页面装修本地开发环境配置

问题现象: 本地开发时 DIY 页面装修功能无法正常使用。

解决方案:

  1. 确保已安装依赖
  2. 配置正确的 API 地址
  3. 开启跨域支持
bash
# 安装依赖
cd admin
npm install

# 配置环境变量
VITE_API_BASE_URL=http://localhost:8000

3. 运行问题

Q1: 接口请求错误处理方案

问题现象: API 请求返回错误或异常。

解决方案:

javascript
// 统一错误处理
request.interceptors.response.use(
  response => response,
  error => {
    const { response } = error;
    
    if (response) {
      switch (response.status) {
        case 401:
          // 未授权,跳转到登录
          router.push('/login');
          break;
        case 403:
          message.error('没有权限访问');
          break;
        case 500:
          message.error('服务器错误');
          break;
        default:
          message.error(response.data.message || '请求失败');
      }
    }
    
    return Promise.reject(error);
  }
);

Q2: 未获取到授权信息问题处理方案

问题现象: 系统提示未获取到授权信息。

解决方案:

  1. 检查授权码是否正确
  2. 确认服务器能访问授权验证服务器
  3. 检查防火墙设置
  4. 重新绑定授权

Q3: 请求超时问题处理方案

问题现象: API 请求超时。

解决方案:

php
// 增加超时时间
set_time_limit(300);

// 或修改 php.ini
max_execution_time = 300
javascript
// 前端增加超时配置
const request = axios.create({
  timeout: 30000, // 30秒
  timeoutErrorMessage: '请求超时,请稍后重试'
});

Q4: 获取数据失败问题处理方案

问题现象: 页面加载数据失败。

排查步骤:

  1. 检查网络连接
  2. 查看浏览器控制台错误信息
  3. 检查后端日志
  4. 确认接口地址正确
  5. 检查参数是否正确

4. 其他问题

Q1: Git 多分支开发,切换分支

解决方案:

bash
# 查看分支
git branch -a

# 创建新分支
git checkout -b feature/new-feature

# 切换分支
git checkout main

# 合并分支
git merge feature/new-feature

# 删除分支
git branch -d feature/new-feature

Q2: 下载应用时提示找不到 zip 解决方案

问题现象: 下载应用时提示找不到 zip 文件。

解决方案:

  1. 检查压缩包是否存在
  2. 检查目录权限
  3. 检查 PHP zip 扩展是否安装
bash
# 安装 zip 扩展
sudo apt-get install php-zip

# 重启 PHP
sudo systemctl restart php-fpm

Q3: 底部导航失效问题

问题现象: 移动端底部导航点击无反应。

解决方案:

  1. 检查路由配置
  2. 检查页面路径是否正确
  3. 检查 tabBar 配置
json
// pages.json
{
  "tabBar": {
    "list": [
      { "pagePath": "pages/index/index", "text": "首页" },
      { "pagePath": "pages/category/index", "text": "分类" },
      { "pagePath": "pages/cart/index", "text": "购物车" },
      { "pagePath": "pages/user/index", "text": "我的" }
    ]
  }
}

Q4: 开放平台小程序审核通过发布失败问题

问题现象: 小程序审核通过但发布失败。

解决方案:

  1. 检查服务器配置是否正确
  2. 检查域名配置是否完整
  3. 检查 HTTPS 证书是否有效
  4. 检查业务域名是否配置

修订记录

版本日期修订人修订内容
v1.02026-04-08Niucloud Team初始版本