前端数据库 IndexedDB 详解:构建强大的离线Web应用

前端数据库 IndexedDB 详解:构建强大的离线Web应用

引言:为什么需要前端数据库?

在现代Web开发中,我们经常需要处理大量结构化数据。传统的localStoragesessionStorage虽然简单易用,但只能存储少量字符串数据,无法满足复杂应用的需求。IndexedDB应运而生——这是一个功能强大的浏览器内置数据库,支持存储大量结构化数据,提供索引、事务等高级功能,是实现离线应用、缓存机制和复杂数据处理的理想选择。

IndexedDB核心概念解析

1. 数据库(Database)

  • 每个源(协议+域名+端口)可以创建多个数据库
  • 每个数据库包含多个对象存储(类似于SQL中的表)

2. 对象存储(Object Store)

  • 存储键值对集合的主要容器
  • 键可以是路径、自增数字或自定义键生成器
  • 值可以是任何结构化可克隆对象

3. 索引(Index)

  • 允许高效查询对象存储中的数据
  • 可以基于对象属性创建多个索引
  • 支持唯一索引约束

4. 事务(Transaction)

  • 所有操作都在事务中执行
  • 三种模式:只读(readonly)、读写(readwrite)和版本变更(versionchange)
  • 提供原子性保证(全部成功或全部失败)

5. 游标(Cursor)

  • 用于遍历对象存储或索引中的记录
  • 支持方向控制(前进/后退)和范围查询

完整代码示例:实现一个联系人管理器

1. 初始化数据库

// 打开或创建数据库const dbName ='ContactDB';const dbVersion =1;const request = indexedDB.open(dbName, dbVersion); request.onerror=(event)=>{  console.error('数据库打开失败:', event.target.error);}; request.onupgradeneeded=(event)=>{ const db = event.target.result;// 创建对象存储(如果不存在)if(!db.objectStoreNames.contains('contacts')){ const store = db.createObjectStore('contacts',{  keyPath:'id', autoIncrement:true});// 创建索引 store.createIndex('name','name',{  unique:false}); store.createIndex('email','email',{  unique:true}); store.createIndex('phone','phone',{  unique:false}); store.createIndex('group','group',{  unique:false});}}; request.onsuccess=(event)=>{ const db = event.target.result; console.log('数据库成功打开');// 存储数据库引用供后续使用 window.contactDB = db;};

2. 添加联系人

functionaddContact(contact){ returnnew

Read more

AI率30%、20%、10%到底哪个才是标准?各高校要求汇总

AI率30%、20%、10%到底哪个才是标准?各高校要求汇总 开篇:这个问题真的让人头大 “我们学校AI率要求多少来着?” 这大概是2025-2026年毕业季里,各论文群被问到最多的问题了。我在三个不同的考研/论文群里潜水,几乎每天都能看到有人在问这个问题。而且更让人焦虑的是,大家的回答还经常不一样——有人说30%以下就行,有人说必须20%以下,还有人信誓旦旦说他们学校要求10%以下。 到底哪个才是标准?答案是:没有统一标准。 对,你没看错。目前国内高校对论文AI率的要求并没有一个全国统一的规定,每个学校、甚至每个学院都可能有自己的标准。但是,经过我大量的信息搜集和整理,还是能找到一些规律的。今天就来好好捋一捋。 目前主流的三档标准 根据我收集到的信息,国内高校的AIGC检测标准大致可以分为三个档次: 第一档:30%以下(宽松型) 这是目前最常见的标准线,大概有40%左右的高校采用这个标准。 这意味着什么:你的论文中,AI生成的内容占比不能超过30%。换句话说,有将近三分之一的内容可以是AI辅助生成的(当然不建议这么理解,往下看就知道了)

5分钟切换不同AI引擎:Codex多模型支持实战指南

5分钟切换不同AI引擎:Codex多模型支持实战指南 【免费下载链接】codex为开发者打造的聊天驱动开发工具,能运行代码、操作文件并迭代。 项目地址: https://gitcode.com/GitHub_Trending/codex31/codex 还在为频繁切换AI模型烦恼?本文将带你掌握Codex的多模型支持功能,轻松切换不同AI引擎,提升开发效率。读完本文,你将学会如何配置、切换和优化不同的AI模型,满足多样化的开发需求。 为什么需要多模型支持? 在开发过程中,不同的任务可能需要不同的AI模型。例如,代码生成可能需要GPT-5的强大能力,而简单的文本处理使用Ollama本地模型更高效。Codex的多模型支持让你可以根据任务需求灵活切换,无需更换工具。 Codex的模型切换功能基于model_family.rs和model_provider_info.rs实现,支持多种主流AI模型和自定义模型配置。 支持的AI模型和提供商 Codex支持多种AI模型和提供商,包括但不限于: 模型系列提供商特点GPT-5系列OpenAI强大的代码生成和理解能力o3/o4-

被问爆的Agent实战:从0到1搭建可落地AI智能体

被问爆的Agent实战:从0到1搭建可落地AI智能体

🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:AI 文章目录: * 【前言】 * 一、先搞懂:2026年爆火的AI Agent,到底是什么? * 1.1 Agent的核心定义 * 1.2 Agent的4大核心能力 * 1.3 2026年Agent的3个热门落地场景 * 二、框架选型:2026年6大主流Agent框架,新手该怎么选? * 三、实战环节:从0到1搭建可落地的“邮件处理Agent”(全程代码+步骤) * 3.1 实战准备:环境搭建(10分钟搞定) * 3.1.1 安装Python环境 * 3.1.2 创建虚拟环境(避免依赖冲突) * 3.

腾讯版“小龙虾“WorkBuddy一键部署教程:AI办公智能体即刻上手

🚀 腾讯版"小龙虾"WorkBuddy一键部署教程:AI办公智能体即刻上手 作者:[您的ZEEKLOG用户名] 更新时间:2026年3月10日 关键词:腾讯云 WorkBuddy AI智能体 一键部署 办公自动化 📖 前言:什么是WorkBuddy? 最近AI领域最火的话题之一就是"小龙虾"(OpenClaw),而腾讯云刚刚推出了自己的桌面AI智能体——WorkBuddy。相比于其他需要复杂部署的AI工具,WorkBuddy主打零部署、一键安装、1分钟配置,真正做到了"开箱即用"。 WorkBuddy的核心优势: * ✅ 完全兼容OpenClaw技能(Skills) * ✅ 无需复杂部署,下载即用 * ✅ 支持企业微信、QQ、飞书、钉钉集成 * ✅ 内置20+技能包,支持无限扩展 * ✅ 多窗口、多Agent并行工作 📥 第一步:下载安装WorkBuddy(1分钟搞定)