9 Star 1 Fork 11

OpenHarmony-TPC / VCard

Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
Clone or Download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

VCard

简介

VCard是电子名片的文件格式标准。它一般附加在电子邮件之后,但也可以用于其它场合(如在网际网路上相互交换)。 VCard可包含的信息有:姓名、地址资讯、电话号码、URL,logo,相片等。本库支持VCard标准2.0和3.0。 img1.png

下载安装

npm install @ohos/vcard --save

OpenHarmony npm环境配置等更多内容,请参考 如何安装OpenHarmony npm包

使用说明

生成VCard

import {contact,VCardBuilder,VCardConfig} from "@ohos/vcard";

  let myCard= new  contact.Contact();
  let nickName = new contact.NickName();
  nickName.nickName ="昵称";
  myCard.nickName = nickName;
  let builder = new VCardBuilder(VCardConfig.VCARD_TYPE_V21_GENERIC,"UTF-8");
  builder.appendNickNames(myCard);
  let result = builder.toString();

VCard生成结果

BEGIN:VCARD VERSION:2.1 X-ANDROID-CUSTOM;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:vnd.android.cursor.item/nickname;=e6=98=b5=e7=a7=b0=e5=b0=8f=e5=bc=a0;;;;;;;;;;;;;; END:VCARD

解析VCard文本

import fileio from "@ohos.fileio";
import {VCardParserImpI_V20,VCardEntry,VCardInterpreter,VCardProperty} from "@ohos/vcard";


let vCardEntry = new VCardEntry()
class MyVCardInterpreter implements VCardInterpreter{
    onVCardStarted(): void {
    }
    onVCardEnded(): void {
    }
    onEntryStarted(): void {
    }
    onEntryEnded(): void {
    }
    onPropertyCreated(property: VCardProperty): void {
        vCardEntry.addProperty(property)
    }
}
let myParser = new VCardParserImpl_V20()
myParser.addInterpreter(new MyVCardInterpreter() )
let fileDescriptor = fileio.openSync("./pathTo/00002.vcf", 0o100|0o2,0o666)
myParser.parse(fileDescriptor)
vCardEntry.consolidateFields()
let displayName = vCardEntry.getDisplayName()
let emails= vCardEntry.getEmailList()

接口说明

let builder=new VCardBuilder(VCardConfig.VCARD_TYPE_V21_GENERIC,"UTF-8");

  1. 昵称 builder.appendNickNames()
  2. 名字 builder.appendNameProperties()
  3. 电话 builder.appendPhones()
  4. 电子邮件 builder.appendEmails()
  5. 地址 builder.appendPostals()
  6. 社交工具 builder.appendIms()
  7. 网站地址 builder.appendWebsites()
  8. 组织 builder.appendOrganizations()
  9. 照片地址 builder.appendPhotos()
  10. 备注 builder.appendNotes()
  11. 群组 builder.appendGroupMemberShip()
  12. 事件 builder.appendEvents()
  13. 关系 builder.appendRelation()

兼容性

支持 OpenHarmony API version 8 及以上版本。

目录结构

|---- VCard  
|     |---- entry  # 示例代码文件夹
|     |---- VCard  # vcard库文件夹
|           |---- index.ets  # 对外接口
|     |---- README.MD  # 安装使用方法                    

贡献代码

使用过程中发现任何问题都可以提 Issue 给我们,当然,我们也非常欢迎你给我们发 PR

开源协议

本项目基于 Apache License 2.0 ,请自由地享受和参与开源。

Repository Comments ( 0 )

Sign in to post a comment

About

VCard是电子名片的文件格式标准。它一般附加在电子邮件之后,但也可以用于其它场合(如在网际网路上相互交换)。 expand collapse
JavaScript
Apache-2.0
Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
1
https://gitee.com/openharmony-tpc/VCard.git
git@gitee.com:openharmony-tpc/VCard.git
openharmony-tpc
VCard
VCard
master

Search

挂件 关闭按钮