这几天看了下ibooks的数据库字段,做了一些整理,为后续做一个笔记整合应用做一个准备。主要分成两部分:MacOS应用和iOS应用。
在MacOS应用中进行增删改查,导入ibooks的笔记数据等操作复杂的功能

  • 数据导入,重复导入,增量更新,源数据
  • 数据展示、搜索
  • 标签的分类 标签体系
  • 生态构建 - 核心是能导出笔记到其他的第三方中

在iOS应用做可以做笔记的读、分类,做笔记等

  • 以读为主
  • 高亮片段回顾
  • 打标签

前期整理

  • 整理ibooks的数据库字段
    • ZAEANNOTATION
      • Z_PK - primaryKey
      • Z_ENT
      • Z_OPT
        • 2 - 高亮
        • 3 - 笔记
        • 4 - 笔记后移除笔记
        • 5 - ?
      • ZANNOTATION DELETED
        • 是否删除
      • ZANNOTATION IS UNDERLINE
        • 下划线
      • ZANNOTATION STYLE
        • 0 - 下划线
        • 1 - 绿色
        • 2 - 蓝色
        • 3 - 黄色
        • 4 - 粉色
        • 5 - 紫色
      • ZANNOTATION TYPE
        • 2 - 笔记
      • ZPL ABSOLUTE PHYSICAL LOCATION
      • ZPL LOCATION RANGE END
      • ZPL LOCATION RANGE START
      • Z ANNOTATION CREATION DATE
        • 创建时间
      • Z ANNOTATION MODIFICATION DATE
        • 修改时间
      • Z ANNOTATION ASSETID
        • 对应book中的ZASSETID
      • Z ANNOTATION CREATOR IDENTIFIER
      • Z ANNOTATION LOCATION
        • epub跳转地址
      • Z ANNOTATION NOTE
        • 笔记
      • Z ANNOTATION PEPRESENTATIVE TEXT
        • BroaderText
      • Z ANNOTATION SELECTED TEXT
        • SelectedText
      • Z ANNOTATION UUID
        • 唯一id
      • Z FUTURE PROOFING1
        • 扩展字段
      • Z FUTURE PROOFING5
        • 章节 Chapter
      • Z FUTURE PROOFING7
        • SelectedText在BroaderText中的位置
      • ZPL STORAGE UUID
      • ZPL USERDATA
    • ZBKLIBRARYASSET
      • Z_PK - primary key
      • ZASSETID
        • 资产id
      • Z TITLE
        • 标题
      • Z AUTHOR
        • 作者
      • Z CONTENT TYPE
        • 1
        • 3
      • Z FILE SIZE
        • 文件大小
      • Z ISNEW
        • 0 / null
        • 1
      • Z IS TRACKED AS RECENT
        • 0 / null
        • 1
      • Z STATE
        • 1
        • 3
      • Z ASSET DETAILS MODIFICATION DATE
      • Z CREATION DATE
      • Z DATE FINISHED
      • Z LAST ENGAGED DATE
      • Z LAST OPEN DATE
      • Z MODIFICATION DATE
      • Z READING PROGRESS
      • Z UPDATE DATE
      • Z ASSET GUID
      • Z EPUB ID
      • Z GENRE
      • Z LANGUAGE
      • Z SORT AUTHOR
      • Z SORT TITLE
  • 数据库设计
    • Books
      • id - primary key : string
      • title : String
      • author : String
      • state:String
        • cover
      • language:String
        • zh
        • en
      • readingProcess: Double
    • Annotations
      • id - primary key : string
      • isDeleted: bool
      • isUnderline:Bool
      • style: int
        • 下划线
        • 绿色
        • 蓝色
        • 黄色
        • 粉色
        • 紫色
      • type: int
        • 2 - 笔记
      • creationDate:Date
      • modificationDate: Date
      • bookId: String
      • note: String
      • broaderText: String
      • selectedText:String
      • chapter:String
      • selectedTextPosInBT:JSON (startIndex, endIndex]
    • booksSourceRelation
      • id - primary key : string
      • bookId : String
      • sourceId : String
      • fromSrc : String
        • ibook
        • weread
        • kindle
      • createdAt
    • AnnotationSourceRelation
      • id - primary key :String
      • annotationId: String
      • sourceId: String
      • fromSrc: String
        • ibook
        • weread
        • kindle
    • 关于 books和ibooks之间的关联关系,如果单独的ibooks关联表,功能不大,还是新增一张多对多的表
    • 关于annotation对象和ZAEANOTATION表的数据,复刻还是冗余一份的问题
      • 部分字段复刻到应用中,整体数据不进行冗余处理
    • 高亮和笔记的关系,是应该放一起,还是分割开
      • 分割开,同时保留导入时带入的笔记;并构建软件中的笔记体系,可以和注释进行多对多的关联