vcard4cj:VCard文件解析与生成工具,支持读写vcf格式

一个电子名片标准格式(.vcf文件)解析库

分支4Tags0
文件最后提交记录最后更新时间
1 年前
1 年前
1 年前
1 年前
1 年前
1 年前
3 年前
1 年前
1 年前
1 年前

vcard4cj

简介

vcard4cj 库主要用于解析 VCard 文件(vcf)。

特点

  • 🚀 saveToVCF
  • 💪 readFromVCF

发展规划

架构

源码目录结构

.
├── README.md
├── doc
│   ├── assets       
│   ├── feature_api.md     
│   └── design.md  
├── src
│   ├── address_type.cj
|   ├── email_type.cj
|   ├── exception.cj
|   ├── media_utility.cj
|   ├── telephone_type.cj
|   ├── vcard_address.cj
|   ├── vcard_name.cj
|   └── vcard.cj
└── test   
|   ├── HLT
|   ├── LLT
|   └── UT
├── CHANGELOG.md
├── cjpm.toml
├── LICENSE
└── README.OPENSOURCE
  • doc 目录用于存放库的设计文档、使用指南、需求说明以及 LLT 用例的覆盖报告。
  • src 目录包含库的源代码。
  • test 目录用于存放 HLT 测试用例、LLT 自测试用例以及 UT 单元测试用例。

接口说明

本部分主要介绍核心类及其成员函数的详细说明,具体内容请参见 feature_api

使用指南

编译

在 Linux 环境下编译


git clone https://gitcode.com/Cangjie-TPC/vcard4cj.git  ---> 拉取代码
cd vcard4cj                              ---> 进入到vcard目录下
cjpm build -V  ---> 编译

在 Windows 环境下进行编译

git clone https://gitcode.com/Cangjie-TPC/vcard4cj.git  ---> 拉取代码
cd vcard4cj                              ---> 进入到vcard目录下
cjpm build -V   ---> 编译

cjc -O2  --import-path="${path-to-project}\target\release" -L ${path-to-project}\target\release\vcard4cj  -l vcard4cj  ${path-to-project}\test\HLT\vcard_001_test.cj  -o ${path-to-project}\test\HLT\vcard_001_test.cj.out --test    ---> HLT用例编译

Functional Examples File Read and Save Example

main () {
    let vCard = VCard()
    vCard.addFormattedName("Darth Vader")
    vCard.addEmail(EmailType.X400, "xxx@xx.com")
    vCard.saveToVCF("${path}/newcard.vcf")
    vCard.readFromVCF("${path}/newcard.vcf")
    var vCardName = VCardName(familyName:"张",givenName:"三",setitionalNames:"小张",namePrefix:"",nameSuffix:"")

    vCard.addName(vCardName)
    let n = vCard.getName()
    println(vCard.getFormattedName())
    println(vCard.getEmail(EmailType.X400))
    println("familyName: ${n.getFamilyName()}")
    println("givenName:${n.getGivenName()}")
    println("setitionalNames: ${n.getSetitionalNames()}")
}

执行结果呈现如下:

Darth Vader
xxx@xx.com
familyName: 张
givenName:三
setitionalNames: 小张

开源协议

本项目遵循 MIT License,敬邀各位自由使用并共同推进开源事业。

参与贡献

我们热烈欢迎您通过提交PR、报告Issue或任何形式的参与,为项目贡献力量。

项目介绍

一个电子名片标准格式(.vcf文件)解析库

定制我的领域