模板设置

本模板提供了一系列设置项,这些设置项可以对模板的各个功能进行调整。

🎉 编辑以下设置项均有代码提示和注释。

nuxt.config.ts

本模板在 nuxt.config.ts 中提供了一些设置项,以便选择性调整模块的默认行为,可用设置项如下:

export default defineNuxtConfig({
  fastAdmin: {
    /**
     * 功能开关
     */
    features: {
      /**
       * 自定义布局
       */
      layouts: {
        /**
         * 全屏布局
         * @default true
         */
        default: false,
        /**
         * 默认布局
         * @default true
         */
        full: false,
      },
      /**
       * 自定义页面
       */
      pages: {
        /**
         * AMIS页面
         * @description 仅在 amis 模块开启时有效
         * @default true
         */
        amis: false,
        /**
         * 登录页面
         * @description 仅在 auth 模块开启时有效
         * @default true
         */
        auth: false,
        /**
         * CRUD页面
         * @description 仅在 crud + fetch 模块开启时有效
         * @default true
         */
        crud: false,
        /**
         * iframe页面
         * @default true
         */
        iframe: false,
      },
    },
  },
});

app.config.ts

本模板在 app.config.ts 中提供了一些设置项,以便选择性调整模块的默认行为,可用设置项如下:

export default defineAppConfig({
  fastAdmin: {
    /**
     * 应用名称
     * @default "Fast admin"
     */
    name: "Fast Admin",
    /**
     * 应用图标
     * @default base64
     */
    logo: "base64",
    /**
     * 应用配置
     */
    app: {
      /**
       * 添加页头
       * @default true
       */
      head: true,
      /**
       * 错误边界
       * @default false
       */
      boundary: true,
    },
    // 仅在安装了 nuxt-open-fetch 模块时生效
    /**
     * 请求配置
     */
    fetch: {
      /**
       * 消息路径
       * @description 接口返回错误消息路径
       * @default msg
       */
      message: "message",
      /**
       * 状态路径
       * @description 接口返回错误状态码路径
       * @default code
       */
      status: "status",
      /**
       * 错误配置
       * @description 请求错误配置
       */
      error: {
        /**
         * 持续时间 (ms)
         * @default 3000
         */
        duration: 3000,
        /**
         * 错误处理器
         * @default message
         */
        handler: "message",
        /**
         * 防抖间隔 (ms)
         * @default 300
         */
        interval: 3000,
        /**
         * 错误等级
         * @default error
         */
        level: "error",
        /**
         * 是否继续传播
         * @description 如果为 true,则会返回 false
         * @default true
         */
        propagate: true,
      },
      /**
       * token 配置
       */
      token: {
        /**
         * token 类型
         * @default Bearer
         */
        type: "Bearer",
        /**
         * token 名称
         * @default Authorization
         */
        name: "Authorization",
      },
    },
    /**
     * 错误配置
     */
    error: {
      /**
       * 持续时间 (ms)
       * @default 3000
       */
      duration: 3000,
      /**
       * 错误处理器
       * @default message
       */
      handler: "message",
      /**
       * 防抖间隔 (ms)
       * @default 300
       */
      interval: 3000,
      /**
       * 错误等级
       * @default error
       */
      level: "error",
      /**
       * 是否继续传播
       * @description 如果为 true,则会返回 false
       * @default true
       */
      propagate: true,
    },
    /**
     * 页面配置
     */
    pages: {
      /**
       * 鉴权页面
       */
      auth: {
        /**
         * 表单默认
         */
        form: {
          username: "username",
          password: "password",
          remember: false,
        },
        /**
         * 背景图片
         * @default base64
         */
        background: "base64",
        /**
         * 是否显示忘记密码
         * @default true
         */
        forget: false,
        /**
         * 是否显示注册
         * @default true
         */
        register: false,
        /**
         * 左侧图片
         * @default base64
         */
        picture: false,
        /**
         * 是否显示记住我
         * @default true
         */
        remember: false,
      },
    },
    /**
     * 布局配置
     */
    layouts: {
      /**
       * 默认布局
       */
      default: {
        /**
         * 头部栏配置
         */
        header: {
          /**
           * 显示面包屑
           * @default true
           */
          breadcrumb: true,
          /**
           * 显示折叠按钮
           * @default true
           */
          collapsed: false,
          /**
           * 下拉菜单
           */
          dropdown: {
            /**
             * 菜单项
             */
            options: [
              {
                name: "logout",
                title: "logout",
                icon: "logos:ai",
              },
            ],
            /**
             * 头像地址
             * @default base64
             */
            avatar: "base64",
            /**
             * 显示菜单
             * @default true
             */
            show: true,
          },
          /**
           * 显示全屏按钮
           * @default false
           */
          fullscreen: true,
          /**
           * 显示刷新按钮
           * @default false
           */
          reload: true,
          /**
           * 显示头部栏
           * @default true
           */
          show: true,
          /**
           * 显示主题按钮
           * @default false
           */
          theme: true,
        },
        /**
         * 菜单栏配置
         */
        menu: {
          /**
           * 手风琴模式
           * @default true
           */
          accordion: true,
          /**
           * 折叠默认值
           * @default false
           */
          collapsed: false,
          /**
           * 折叠宽度
           * @default 56
           */
          collapsedWidth: 48,
          /**
           * 宽度
           * @default 272
           */
          width: 200,
        },
        /**
         * 标签栏配置
         */
        tabbar: {
          /**
           * 显示标签栏
           * @default true
           */
          show: true,
          /**
           * 显示操作按钮
           * @default true
           */
          actions: false,
          /**
           * 显示全屏按钮
           * @default true
           */
          fullscreen: true,
          /**
           * 显示刷新按钮
           * @default true
           */
          refresh: true,
        },
      },
    },
  },
});