0.9.0: 按后端给的 sheet 表建/读工作簿(多 sheet)
配 shrimp-server v0.9.0:export 返回 { sheet 名: 行数组 },这边逐 key 建 sheet;
导入把工作簿里所有 sheet 都发回后端(旧版只读第一张、其余静默丢弃),哪张怎么用
由模块的 import 决定。sheet 名按 Excel 限制截断/替换,否则 book_append_sheet 直接抛。
This commit is contained in:
@@ -20,7 +20,7 @@ shrimp-admin 是**源码 ship**(.ts + .vue 直接发),不带构建产物,由消
|
||||
"type": "module",
|
||||
"scripts": { "dev": "vite", "build": "vite build" },
|
||||
"dependencies": {
|
||||
"shrimp-admin": "git+http://git.zeromvc.com/wc24/shrimp-admin.git#v0.8.4",
|
||||
"shrimp-admin": "git+http://git.zeromvc.com/wc24/shrimp-admin.git#v0.9.0",
|
||||
|
||||
// ⚠️ 不能删 —— 下面 7 个是 shrimp-admin 的 peerDependencies,
|
||||
// 必须由消费侧显式装进自己的 dependencies,不能指望 npm 提升碰巧能 import 到
|
||||
@@ -178,6 +178,8 @@ Vite dev 默认用 **esbuild** 把 node_modules 里的裸导入预打包成 `nod
|
||||
|
||||
`ShrimpTable` 的导入/导出按钮是**静态** `import * as XLSX from 'xlsx'`,不是按需加载 —— 就算你的后台从不点那两个按钮,模块解析也绕不过去。它是 peerDependency 而不是 dependency,理由和 element-plus 一样:版本该由消费侧定。
|
||||
|
||||
工作簿的形状由**后端**决定(v0.9.0 起):`export` 返回 `{ sheet 名: 行数组 }`,前端按 key 逐张建 sheet;导入则把工作簿里**所有** sheet 原样发回后端(旧版只发第一张),哪张怎么用由模块的 `import` 决定。前端在这条链上只做两件脏活:对象/数组列 `JSON.stringify`,以及把 sheet 名按 Excel 限制(≤31 字符、不含 `[]:*?/\`)截断替换。
|
||||
|
||||
# 唯一约定: `sources` 路径后缀覆盖
|
||||
|
||||
消费侧把所有要交给框架的 .vue 通过单个 `sources` 入口注入(`import.meta.glob` 必须由消费侧自己调用,vite 静态扫描相对调用文件)。框架按**文件路径后缀**匹配,同后缀消费侧优先,内置兜底。
|
||||
|
||||
Reference in New Issue
Block a user