更新记录

0.1.0(2026-08-09)

0.1.0 首发:支持 CSV/二维表导入前检查、必填/类型/范围/枚举/日期校验、单字段与组合唯一去重、中文错误报告。HBuilderX 5.15 + uni-app x Web/Chrome 实测通过。


平台兼容性

uni-app x(5.15)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - -

Import Guard 批量导入数据检查 UTS API

在 CSV 或二维表真正写入数据库前,先做一次“体检”:把缺列、必填为空、数字/日期格式错误、超范围、枚举不合法和重复数据一次找出来,并生成中文错误 CSV。

首发已验证范围

  • HBuilderX:5.15
  • 项目:uni-app x
  • Web:Chrome / HBuilderX Built(Chromium)
  • 合同自检:10/10
  • 1 万行:本机多轮约 28–57ms(仅作性能参考,不承诺不同设备完全一致)

v0.1.0 只把已实测的 uni-app x Web / Chrome 标为支持。Android、iOS、HarmonyOS 目前不在首发兼容承诺内,后续完成真实编译与运行验证后再开放。

DCloud 的付费 UTS 插件在 Web 平台需要云端加密编译;当前该付费 Web 链路面向 uni-app x。普通 uni-app Web 不作为本商品 v0.1.0 的付费目标平台。

适合场景

  • CRM / ERP / 进销存 / 会员 / 订单批量导入
  • 运营后台上传 CSV 后先检查、再真正入库
  • 需要给业务人员生成“第几行、哪个字段、为什么错”的中文报告
  • 希望在提交接口前先拦截明显脏数据和重复数据

3 步使用

import { inspectCsv } from '@/uni_modules/mogrow-import-guard'
import type { ImportGuardRule } from '@/uni_modules/mogrow-import-guard'

const rules: ImportGuardRule[] = [
  { key: 'code', title: '客户编号', required: true, type: 'string', trim: true },
  { key: 'name', title: '客户名称', aliases: ['公司名称'], required: true, type: 'string', trim: true },
  { key: 'level', title: '等级', type: 'string', enumValues: ['A', 'B', 'C'] },
  { key: 'amount', title: '金额', type: 'double', minimum: 0 },
  { key: 'date', title: '日期', type: 'date' }
]

const result = inspectCsv(csvText, rules, {
  uniqueKeys: [['code', 'date']]
})

console.log(result.ok)
console.log(result.message)
console.log(result.issues)
console.log(result.errorReportCsv)

也可以直接检查已经解析好的二维表:

const result = inspectTable(rows, rules)

返回内容

  • ok:是否完全通过
  • message:面向普通人的中文摘要
  • summary:总行数、正常、错误、重复、空白跳过数量
  • tableErrors:表头级错误,例如重复表头、缺少必填列
  • issues:原始行号、字段、错误码、中文原因、原值
  • errorReportCsv:可直接保存/下载给业务人员修改的错误 CSV

规则能力

字段规则支持:

  • aliases:中文表头别名
  • required:必填
  • trim:去掉首尾空格
  • defaultValue:默认值
  • typestring / int / double / bool / date
  • minimum / maximum:数值范围
  • minLength / maxLength:字符串长度
  • pattern:正则格式
  • enumValues:枚举值
  • unique:单字段唯一
  • options.uniqueKeys:组合唯一键

v0.1.0 边界

  • 输入聚焦 CSV 文本和 string[][]
  • 不内置 XLSX 解析;业务侧可先把 XLSX 转成二维表,再交给 inspectTable()
  • 暂不提供 timestamp 类型。
  • 不负责真正写数据库;本插件只做“导入前检查”。
  • 不内置 UI,方便接入任意后台页面。

隐私与权限

  • 不联网。
  • 不上传、不采集业务数据。
  • 不申请额外系统权限。
  • 所有检查在本地执行。

API

  • inspectCsv(csvText, rules, options?)
  • inspectTable(rows, rules, options?)
  • getImportGuardVersion()

授权

商品页提供普通授权版与源码授权版。最终授权范围、试用、项目绑定及源码交易规则以 DCloud 插件市场实际下单页面和平台协议为准。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

无额外系统权限

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集、不上传业务数据;CSV 与二维表检查均在本地完成。

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。