Skip to content
This repository has been archived by the owner on Sep 18, 2019. It is now read-only.

Latest commit

 

History

History
194 lines (123 loc) · 5.33 KB

README.zh-Hans.md

File metadata and controls

194 lines (123 loc) · 5.33 KB

MYDICTIONARY 词条

English Version

这个仓库是 MYDICTIONARY (版本 <= v3.0.0)的一个依赖。

1. 简介

这个仓库定义了一些MYDICTIONARY(简称“核心库”)的基本数据结构。

2. 查询

以文件animal.xlsx为例。

animal

2.1. 基本查询(精确匹配)

如果查询词与列“Word”中的某个单元格完全相同,那么该行的数据会被选出。

例如:对查询词“cat”进行基础查询,第1行数据会被选出。

2.2. 高级查询(关键字匹配)

如果查询词被包含在列“Word”、“Definition”或“Note”中的某些单元格中,那么这些行的数据会被选出。

例如:对查询词“e”进行高级查询,第1、3、5行的数据会被选出。

3. VocabularyAskStruct

type VocabularyAskStruct struct {
	Word        string `json:"word"`
	Advance     bool   `json:"advance"`
	Online      bool   `json:"online"`
	DoNotRecord bool   `json:"doNotRecord"`
}

这个数据结构用来指示查询词和查询选项。

3.1. Word

Word指示了查询词。

3.2. Advance

如果Advancefalse,那么核心库只会对查询词做基本查询

如果Advancetrue,那么核心库会对查询词做基本查询高级查询

3.3. Online

如果Onlinetrue,那么核心库会被告知用户需要对Word做在线查询。

注意:这并不保证核心库会对Word做在线查询。 核心库执行与否还取决于配置中的online.mode(详见这里)。

3.4. DoNotRecord

如果DoNotRecordtrue,那么核心库不会把-词条-记录-到任何生词本离线词典中。

4. VocabularyAnswerStruct

const (
	Basic = "basic"
	Advance = "advance"
	Collection = 1
	Dictionary = 2
	Online = 3
)

type VocabularyAnswerStruct struct {
	Word         string         `json:"word"`         // `xlsx:wd`
	Definition   []string       `json:"definition"`   // `xlsx:def`
	SerialNumber int            `json:"serialNumber"` // `xlsx:sn`
	QueryCounter int            `json:"queryCounter"` // `xlsx:qc`
	QueryTime    string         `json:"queryTime"`    // `xlsx:qt`
	Note         []string       `json:"note"`         // `xlsx:nt`
	SourceName   string         `json:"sourceName"`
	Status       string         `json:"status"`
	Location     LocationStruct `json:"location"`
}

type LocationStruct struct {
	TableType  int `json:"tableType"`
	TableIndex int `json:"tableIndex"`
	ItemIndex  int `json:"itemIndex"`
}

这是词条的数据结构。

4.1. Word

Word指示了词条中的词汇。

4.2. Definition

Definition指示了词条中的释义。

4.3. SerialNumber

SerialNumber指示了词条的序号。

4.4. QueryCounter

QueryCounter指示了词条的查询次数。

4.5. Note

Note指示了词条中的笔记。

4.6. QueryTime

QueryTime指示了词条的上次查询时间。

4.7. SourceName

SourceName指示了词条的来源。它可以是下列各项的名字:

  • 生词本
  • 离线词典
  • 在线服务

4.8. Status

Status指示了一些其他的信息。

如果词条来源于生词本离线词典

  • 如果词条来源于基本查询,那么它的StatusBasic
  • 如果词条来源于高级查询,那么它的StatusAdvance

如果词条来源于在线服务,那么它的StatusBasic

4.9. Location

Location用于定位词条生词本在线词典中的位置。

它是一个结构体,包含下列成员:

  • TableType指出了词条的来源。
    • 如果词条来源于生词本,那么该成员为Collection
    • 如果词条来源于离线词典,那么该成员为Dictionary
    • 如果词条来源于在线服务,那么该成员为Online
  • TableIndex指出了词条所属的生词本在线词典(取决于TableType)在列表中的索引。
  • ItemIndex指出了词条生词本在线词典中的索引。

上述索引从0开始。

5. VocabularyResultStruct

type VocabularyResultStruct struct {
	Basic   []vocabulary4mydictionary.VocabularyAnswerStruct `json:"basic"`
	Advance []vocabulary4mydictionary.VocabularyAnswerStruct `json:"advance"`
}

Basic由来自基本查询词条构成。

Advance由来自高级查询词条构成。

6. VocabularyEditStruct

type VocabularyEditStruct struct {
	Location   LocationStruct `json:"location"`
	Definition string         `json:"definition"`
	Note       string         `json:"note"`
}

这个结构体给出一些信息,以便编辑生词本离线词典词条

6.1. Location

Location与#4.9中的相同。

6.2. Definition

Definition指示了修改后的释义。

6.3. Note

Note指示了修改后的笔记。

7. 其他