关于vue-element-plus-admin的mini分支踩坑集锦

前言:

因为vue-element-plus-admin的mini分支与主分支的版本差距较大,且mini分支更适合二次开发,所以我采用mini分支进行前后端分离的项目开发,在这过程中遇到了不少问题。

在此记录一部分,后续如果有新的问题再继续更新

①mini分支使用pnpm i命令时报错

git克隆后,使用pnpm i命令报错,原因是pnpm的默认版本过低

可以使用pnpm -v 查看版本,

通过npm i -g pnpm@9.12.1升级版本解决。

复制代码
npm i -g pnpm@9.12.1

②mini分支使用局部刷新按钮跳转至404页面

src\router\index.ts文件中找到以下代码

TypeScript 复制代码
{
    path: '/redirect',
    component: () => import('@/views/Redirect/Redirect.vue'),
    name: 'Redirect',
    meta: {
      hidden: true,
      noTagsView: true
    }
  },

对这段代码进行替换,改为主分支的如下代码就可以了

TypeScript 复制代码
{
    path: '/redirect',
    component: Layout,
    name: 'RedirectWrap',
    children: [
      {
        path: '/redirect/:path(.*)',
        name: 'Redirect',
        component: () => import('@/views/Redirect/Redirect.vue'),
        meta: {}
      }
    ],
    meta: {
      hidden: true,
      noTagsView: true
    }
  },

③富文本编辑器图片上传功能

富文本控件官方文档:菜单配置 | wangEditor

我这边进行的配置如下:

3.1 修改Editor.vue文件

首先在修改路径\src\components\Editor\src\Editor.vue文件

TypeScript 复制代码
const props = defineProps({
  editorId: propTypes.string.def('wangeEditor-1'),
  height: propTypes.oneOfType([Number, String]).def('500px'),
  editorConfig: {
    type: Object as PropType<IEditorConfig>,
    default: () => undefined
  },
  // 新增:图片上传配置,由父组件传入(例如自定义上传)
  uploadImage: {
    type: Object as PropType<{
      customUpload?: (
        file: File,
        insertFn: (url: string, alt?: string, href?: string) => void
      ) => void
      // 如需扩展 server、headers 等,可继续在此补充
    }>,
    default: () => undefined
  },
  modelValue: propTypes.string.def('')
})

3.2使用富文本控件时具体配置

TypeScript 复制代码
{
    field: 'replyContent', // 改为与 rules / watch 一致的字段名
    component: 'Editor',
    colProps: { span: 24 },
    componentProps: {
      uploadImage: {
        async customUpload(file: File, insertFn: (url: string, alt: string, href: string) => void) {
          try {
            const res = await saveImageEditApi(file)
            if (res?.code === 200 && res.data) {
              // console.log('图片上传成功:', res.data)
              insertFn(res.data.url, res.data.alt, res.data.herf)
            } else {
              console.error('图片上传失败:', res || '未知错误')
            }
          } catch (e) {
            console.error('图片上传错误:', e)
          }
        }
      }
    },
    label: t('exampleDemo.content')
  }

3.3 关于接口回参

官方推荐的返回格式

我swagger文档中的回参格式

javascript 复制代码
{
  "code": 0,
  "erron": 0,
  "message": "string",
  "data": {
    "url": "string",
    "alt": "string",
    "href": "string"
  }
}

3.4 效果截图

相关推荐
子兮曰2 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰2 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
前端小万2 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝2 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
神仙别闹2 天前
基于C#+MySQL实现(WinForm)个人聊天室软件
c#
A黄俊辉A2 天前
uniapp webview中实现 app和内嵌的H5双向通信
vue.js·json
三十而立洋3 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁3 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
honkun63 天前
vue 表格组件 vxe-table 配置 ajax 请求自动加载数据与表单查询
vue.js·vxe-table