应结构化封装mock配置为对象后json序列化存储,键名带业务标识,读取时需json解析并try-catch容错,多配置用独立键名管理,注意跨域隔离、容量限制及协议兼容性。

直接用 localStorage.setItem() 存 API Mock 配置数据,关键在于结构化保存、类型安全处理、避免覆盖冲突。
存配置前先做结构化封装
Mock 数据通常包含 URL、方法、响应体、状态码等字段,不建议零散存多个键。推荐统一用对象包装后转 JSON 字符串存储:
- 构造配置对象,例如:
{ url: "/api/user", method: "GET", response: { code: 200, data: [{id:1,name:"Alice"}] }, delay: 300 } - 用
JSON.stringify()转为字符串再存:localStorage.setItem("mock_api_config_user", JSON.stringify(config)) - 键名建议带业务标识(如
"mock_api_config_user"),避免和其他配置冲突
读取时记得反序列化并容错
localStorage 只支持字符串,读出后必须 JSON.parse(),且需防御性处理无效数据:
- 用
getItem()获取原始字符串:const str = localStorage.getItem("mock_api_config_user") - 检查是否为非空字符串,再尝试解析:
str && JSON.parse(str) - 包裹
try...catch防止 JSON 格式错误导致脚本中断 - 可设默认值兜底,比如解析失败时返回空对象
{}或预设的 mock 模板
支持多组配置时按场景管理键名
如果用户要配置多个接口(如登录、列表、详情),不要全塞进一个键里。更灵活的做法是:
- 每组 Mock 配置用独立键名,例如:
"mock_login"、"mock_order_list" - 用
localStorage.key(i)和localStorage.length遍历所有键,筛选出以"mock_"开头的,动态加载全部配置 - 删除某条配置时,调用
removeItem("mock_login")即可,不影响其他 - 清空所有 Mock 数据用
clear(),但建议加确认提示,防止误操作
注意浏览器限制与兼容细节
虽是基础 API,但几个实际易踩的点要留意:
- 不同域名间 localStorage 完全隔离,开发环境(localhost:3000)和测试环境(test.example.com)数据不互通
- 存储上限通常是 5–10MB,单条大体积 mock 响应(如含 base64 图片)需评估大小,超限会静默失败
- 不能在
file://协议下运行(如双击打开 HTML 文件),会报SecurityError - IE8+ 支持,但 IE8 仅支持
userData行为,现代项目可忽略;重点确保 Chrome/Firefox/Safari/Edge 正常
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











