回复
OpenHarmony三方组件:VCard
Handpc
发布于 2023-3-16 11:28
浏览
0收藏
简介
VCard是电子名片的文件格式标准。它一般附加在电子邮件之后,但也可以用于其它场合(如在网际网路上相互交换)。 VCard可包含的信息有:姓名、地址资讯、电话号码、URL,logo,相片等。本库支持VCard标准2.0和3.0。
下载安装
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");
- 昵称
builder.appendNickNames()
- 名字
builder.appendNameProperties()
- 电话
builder.appendPhones()
- 电子邮件
builder.appendEmails()
- 地址
builder.appendPostals()
- 社交工具
builder.appendIms()
- 网站地址
builder.appendWebsites()
- 组织
builder.appendOrganizations()
- 照片地址
builder.appendPhotos()
- 备注
builder.appendNotes()
- 群组
builder.appendGroupMemberShip()
- 事件
builder.appendEvents()
- 关系
builder.appendRelation()
兼容性
支持 OpenHarmony API version 9 及以上版本。
目录结构
|---- VCard
| |---- entry # 示例代码文件夹
| |---- VCard # vcard库文件夹
| |---- index.ets # 对外接口
| |---- README.MD # 安装使用方法
贡献代码
使用过程中发现任何问题都可以提 Issue 给我们,当然,我们也非常欢迎你给我们发 PR 。
开源协议
本项目基于 Apache License 2.0 ,请自由地享受和参与开源。
标签
VCard-master.zip 322.65K 4次下载
赞
收藏
回复
相关推荐