contacts.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
  6. <meta name="HandheldFriendly" content="true">
  7. <meta name="MobileOptimized" content="320">
  8. <title>Contacts Document</title>
  9. <link rel="stylesheet" type="text/css" href="res/doc.css" charset="utf-8">
  10. <link rel="stylesheet" type="text/css" href="res/prettify.sons.css" charset="utf-8">
  11. <script type="text/javascript" src="res/doc.js" charset="utf-8"></script><script type="text/javascript" src="res/prettify.js" charset="utf-8"></script>
  12. </head>
  13. <body><div id="content" class="content">
  14. <h1><a name="plus.contacts">contacts</a></h1>
  15. <p>Contacts模块管理系统通讯录,用于可对系统通讯录进行增、删、改、查等操作。通过plus.contacts获取系统通讯录管理对象。</p>
  16. <h2>常量:</h2>
  17. <ul>
  18. <li>
  19. <a href="#plus.contacts.ADDRESSBOOK_PHONE">ADDRESSBOOK_PHONE</a>: 手机通讯录</li>
  20. <li>
  21. <a href="#plus.contacts.ADDRESSBOOK_SIM">ADDRESSBOOK_SIM</a>: SIM卡通讯录</li>
  22. </ul>
  23. <h2>方法:</h2>
  24. <ul><li>
  25. <a href="#plus.contacts.getAddressBook">getAddressBook</a>: 获取通讯录对象</li></ul>
  26. <h2>对象:</h2>
  27. <ul>
  28. <li>
  29. <a href="#plus.contacts.AddressBook">AddressBook</a>: 通讯录对象</li>
  30. <li>
  31. <a href="#plus.contacts.Contact">Contact</a>: 联系人对象</li>
  32. <li>
  33. <a href="#plus.contacts.ContactField">ContactField</a>: JSON对象,联系人域数据对象</li>
  34. <li>
  35. <a href="#plus.contacts.ContactName">ContactName</a>: JSON对象,联系人名称对象</li>
  36. <li>
  37. <a href="#plus.contacts.ContactAddress">ContactAddress</a>: JSON对象,联系人地址对象</li>
  38. <li>
  39. <a href="#plus.contacts.ContactOrganization">ContactOrganization</a>: JSON对象,联系人所属组织信息</li>
  40. <li>
  41. <a href="#plus.contacts.ContactFindOption">ContactFindOption</a>: JSON对象,查找联系人参数</li>
  42. <li>
  43. <a href="#plus.contacts.ContactFindFilter">ContactFindFilter</a>: JSON对象,联系人查找过滤器</li>
  44. </ul>
  45. <h2>回调方法:</h2>
  46. <ul>
  47. <li>
  48. <a href="#plus.contacts.AddressBookSuccessCallback">AddressBookSuccessCallback</a>: 获取通讯录操作成功回调函数</li>
  49. <li>
  50. <a href="#plus.contacts.FindSuccessCallback">FindSuccessCallback</a>: 查找联系人操作成功回调函数</li>
  51. <li>
  52. <a href="#plus.contacts.ContactsSuccessCallback">ContactsSuccessCallback</a>: 联系人操作成功回调函数</li>
  53. <li>
  54. <a href="#plus.contacts.ContactsErrorCallback">ContactsErrorCallback</a>: 联系人操作失败回调</li>
  55. </ul>
  56. <h2>权限:</h2>
  57. <p>5+功能模块(permissions)</p>
  58. <pre class="prettyprint linenums">
  59. {
  60. // ...
  61. "permissions":{
  62. // ...
  63. "Contacts": {
  64. "description": "通讯录,访问系统联系人"
  65. }
  66. }
  67. }
  68. </pre>
  69. <h1><a name="plus.contacts.AddressBook">AddressBook</a></h1>
  70. <p>通讯录对象</p>
  71. <pre class="prettyprint linenums">
  72. interface AddressBook {
  73. function Contact create();
  74. function void find( contactFields, successCB, errorCB, findOptions );
  75. }
  76. </pre>
  77. <h2>说明:</h2>
  78. <p class="des">通讯录管理对象,可对系统通讯录进行联系人的增、删、改、查操作。</p>
  79. <h2>方法:</h2>
  80. <ul>
  81. <li>
  82. <a href="#plus.contacts.AddressBook.create">create</a>: 创建联系人</li>
  83. <li>
  84. <a href="#plus.contacts.AddressBook.find">find</a>: 在通讯录中查找联系人</li>
  85. </ul>
  86. <h1><a name="plus.contacts.Contact">Contact</a></h1>
  87. <p>联系人对象</p>
  88. <pre class="prettyprint linenums">
  89. interface Contact {
  90. readonly attribute String id;
  91. attribute String displayName;
  92. attribute ContactName name;
  93. attribute String nickname;
  94. attribute ContackField[] phoneNumbers;
  95. attribute ContactField[] emails;
  96. attribute ContactAddress[] addresses;
  97. attribute ContactField[] ims;
  98. attribute ContactOriganization[] organizations;
  99. attribute Date birthday;
  100. attribute String note;
  101. attribute ContactField[] photos;
  102. attribute ContactField[] categories;
  103. attribute ContactField[] urls;
  104. function Contact clone();
  105. function void remove( successCB, errorCB );
  106. function void save( successCB, errorCB );
  107. }
  108. </pre>
  109. <h2>说明:</h2>
  110. <p class="des">联系人对象,包括联系人的各种信息,如名称、电话号码、地址等。也包括新增、删除联系人的操作方法。</p>
  111. <h2>属性:</h2>
  112. <ul>
  113. <li>
  114. <a href="#plus.contacts.Contact.id">id</a>: 联系人的id</li>
  115. <li>
  116. <a href="#plus.contacts.Contact.displayName">displayName</a>: 联系人显示的名字</li>
  117. <li>
  118. <a href="#plus.contacts.Contact.name">name</a>: 联系人的名称</li>
  119. <li>
  120. <a href="#plus.contacts.Contact.nickname">nickname</a>: 联系人的昵称</li>
  121. <li>
  122. <a href="#plus.contacts.Contact.phoneNumbers">phoneNumbers</a>: 数组,联系人的电话</li>
  123. <li>
  124. <a href="#plus.contacts.Contact.emails">emails</a>: 数组,联系人的邮箱</li>
  125. <li>
  126. <a href="#plus.contacts.Contact.addresses">addresses</a>: 数组,联系人的地址</li>
  127. <li>
  128. <a href="#plus.contacts.Contact.ims">ims</a>: 数组,联系人的即时通讯地址</li>
  129. <li>
  130. <a href="#plus.contacts.Contact.organizations">organizations</a>: 数组,联系人所属组织信息</li>
  131. <li>
  132. <a href="#plus.contacts.Contact.birthday">birthday</a>: 联系人的生日</li>
  133. <li>
  134. <a href="#plus.contacts.Contact.note">note</a>: 联系人的备注</li>
  135. <li>
  136. <a href="#plus.contacts.Contact.photos">photos</a>: 数组,联系人的头像</li>
  137. <li>
  138. <a href="#plus.contacts.Contact.categories">categories</a>: 数组,联系人的组名</li>
  139. <li>
  140. <a href="#plus.contacts.Contact.urls">urls</a>: 数组,联系人的网址</li>
  141. </ul>
  142. <h2>方法:</h2>
  143. <ul>
  144. <li>
  145. <a href="#plus.contacts.Contact.clone">clone</a>: 克隆联系人</li>
  146. <li>
  147. <a href="#plus.contacts.Contact.remove">remove</a>: 删除联系人</li>
  148. <li>
  149. <a href="#plus.contacts.Contact.save">save</a>: 保存联系人</li>
  150. </ul>
  151. <h1><a name="plus.contacts.ContactField">ContactField</a></h1>
  152. <p>JSON对象,联系人域数据对象</p>
  153. <pre class="prettyprint linenums">
  154. interface ContactField {
  155. attribute String type;
  156. attribute String value;
  157. attribute Boolean preferred;
  158. }
  159. </pre>
  160. <h2>说明:</h2>
  161. <p class="des">联系人域数据对象,保存联系人特定域信息。</p>
  162. <h2>属性:</h2>
  163. <ul>
  164. <li>type: <em>(<font class="type">String</font>
  165. 类型
  166. )</em>联系人域类型,如电话号码中的“mobile”、“home”、“company”<br>
  167. </li>
  168. <li>value: <em>(<font class="type">String</font>
  169. 类型
  170. )</em>联系人域值<br>
  171. </li>
  172. <li>preferred: <em>(<font class="type">Boolean</font>
  173. 类型
  174. )</em>是否为首选项<br>
  175. </li>
  176. </ul>
  177. <h1><a name="plus.contacts.ContactName">ContactName</a></h1>
  178. <p>JSON对象,联系人名称对象</p>
  179. <pre class="prettyprint linenums">
  180. interface ContactName {
  181. attribute String formatted;
  182. attribute String familyName;
  183. attribute String givenName;
  184. attribute String middleName;
  185. attribute String honorificPrefix;
  186. attribute String honorificSuffix;
  187. }
  188. </pre>
  189. <h2>说明:</h2>
  190. <p class="des">联系人名称对象,保存联系人名称信息,如姓、名等。</p>
  191. <h2>属性:</h2>
  192. <ul>
  193. <li>formatted: <em>(<font class="type">String</font>
  194. 类型
  195. )</em>联系人的完整名称,由其它字段组合生成<br>
  196. </li>
  197. <li>familyName: <em>(<font class="type">String</font>
  198. 类型
  199. )</em>联系人的姓<br>
  200. </li>
  201. <li>givenName: <em>(<font class="type">String</font>
  202. 类型
  203. )</em>联系人的名<br>
  204. </li>
  205. <li>middleName: <em>(<font class="type">String</font>
  206. 类型
  207. )</em>联系人的中间名<br>
  208. </li>
  209. <li>honorificPrefix: <em>(<font class="type">String</font>
  210. 类型
  211. )</em>联系人的前缀(如Mr.或Dr.)<br>
  212. </li>
  213. <li>honorificSuffix: <em>(<font class="type">String</font>
  214. 类型
  215. )</em>联系人的后缀<br>
  216. </li>
  217. </ul>
  218. <h1><a name="plus.contacts.ContactAddress">ContactAddress</a></h1>
  219. <p>JSON对象,联系人地址对象</p>
  220. <pre class="prettyprint linenums">
  221. interface ContactAddress {
  222. attribute String type;
  223. attribute String formatted;
  224. attribute String streetAddress;
  225. attribute String locality;
  226. attribute String region;
  227. attribute String country;
  228. attribute String postalCode;
  229. attribute Boolean preferred;
  230. }
  231. </pre>
  232. <h2>说明:</h2>
  233. <p class="des">联系人地址对象,保存联系人地址信息,如国家、省份、城市等。</p>
  234. <h2>属性:</h2>
  235. <ul>
  236. <li>type: <em>(<font class="type">String</font>
  237. 类型
  238. )</em>联系人地址类型,如“home”表示家庭地址、“company”表示单位地址<br>
  239. </li>
  240. <li>formatted: <em>(<font class="type">String</font>
  241. 类型
  242. )</em>完整地址,由其它字段组合而成<br>
  243. </li>
  244. <li>streetAddress: <em>(<font class="type">String</font>
  245. 类型
  246. )</em>完整的街道地址<br>
  247. </li>
  248. <li>locality: <em>(<font class="type">String</font>
  249. 类型
  250. )</em>城市或地区<br>
  251. </li>
  252. <li>region: <em>(<font class="type">String</font>
  253. 类型
  254. )</em>省或地区<br>
  255. </li>
  256. <li>country: <em>(<font class="type">String</font>
  257. 类型
  258. )</em>国家<br>
  259. </li>
  260. <li>postalCode: <em>(<font class="type">String</font>
  261. 类型
  262. )</em>邮政编码<br>
  263. </li>
  264. <li>preferred: <em>(<font class="type">Boolean</font>
  265. 类型
  266. )</em>是否为首选项<br>
  267. </li>
  268. </ul>
  269. <h1><a name="plus.contacts.ContactOrganization">ContactOrganization</a></h1>
  270. <p>JSON对象,联系人所属组织信息</p>
  271. <pre class="prettyprint linenums">
  272. interface ContactOrganization {
  273. attribute String type;
  274. attribute String name;
  275. attribute String department;
  276. attribute String title;
  277. attribute Boolean preferred;
  278. }
  279. </pre>
  280. <h2>属性:</h2>
  281. <ul>
  282. <li>type: <em>(<font class="type">String</font>
  283. 类型
  284. )</em>联系人所属组织类型,如"company"<br>
  285. </li>
  286. <li>name: <em>(<font class="type">String</font>
  287. 类型
  288. )</em> 联系人所属组织名称<br>
  289. </li>
  290. <li>department: <em>(<font class="type">String</font>
  291. 类型
  292. )</em>联系人所属组织部门<br>
  293. </li>
  294. <li>title: <em>(<font class="type">String</font>
  295. 类型
  296. )</em>联系人在组织中的职位<br>
  297. </li>
  298. <li>preferred: <em>(<font class="type">Boolean</font>
  299. 类型
  300. )</em>是否为首选项<br>
  301. </li>
  302. </ul>
  303. <h1><a name="plus.contacts.ContactFindOption">ContactFindOption</a></h1>
  304. <p>JSON对象,查找联系人参数</p>
  305. <pre class="prettyprint linenums">
  306. interface ContactFindOption {
  307. attribute ContactFindFilte[] filter;
  308. attribute Boolean multiple;
  309. }
  310. </pre>
  311. <h2>属性:</h2>
  312. <ul>
  313. <li>filter: <em>(<a href="#plus.contacts.ContactFindFilter">ContactFindFilter</a>
  314. 类型
  315. )</em>数组,查找时的过滤器<br><p>可设置为空,表示不过滤。</p>
  316. </li>
  317. <li>multiple: <em>(<font class="type">Boolean</font>
  318. 类型
  319. )</em>是否查找多个联系人,默认值为true<br>
  320. </li>
  321. </ul>
  322. <h1><a name="plus.contacts.ContactFindFilter">ContactFindFilter</a></h1>
  323. <p>JSON对象,联系人查找过滤器</p>
  324. <pre class="prettyprint linenums">
  325. interface ContactFindFilter {
  326. attribute String logic;
  327. attribute String field;
  328. attribute String value;
  329. }
  330. </pre>
  331. <h2>属性:</h2>
  332. <ul>
  333. <li>logic: <em>(<font class="type">String</font>
  334. 类型
  335. )</em>区配的逻辑<br><p>可取“and”、“or”、“not”,默认值为“and”。</p>
  336. </li>
  337. <li>field: <em>(<font class="type">String</font>
  338. 类型
  339. )</em>区配的联系人域,可取联系人的属性名称<br>
  340. </li>
  341. <li>value: <em>(<font class="type">String</font>
  342. 类型
  343. )</em>区配的联系人值,可使用区配符号“?”和“*”<br>
  344. </li>
  345. </ul>
  346. <h1><a name="plus.contacts.AddressBookSuccessCallback">AddressBookSuccessCallback</a></h1>
  347. <p>获取通讯录操作成功回调函数</p>
  348. <pre class="prettyprint linenums">
  349. void onSuccess( addressbook ){
  350. // Code AddressBook here
  351. }
  352. </pre>
  353. <h2>参数:</h2>
  354. <ul><li>addressbook:
  355. <em>(
  356. <a href="#plus.contacts.AddressBook">AddressBook</a>
  357. )
  358. 必选 </em>获取到的通讯录对象<br>
  359. </li></ul>
  360. <h2>返回值:</h2>
  361. <font class="type">void</font>
  362. : 无<h1><a name="plus.contacts.FindSuccessCallback">FindSuccessCallback</a></h1>
  363. <p>查找联系人操作成功回调函数</p>
  364. <pre class="prettyprint linenums">
  365. void onSuccess( contacts ){
  366. // Find contact success.
  367. }
  368. </pre>
  369. <h2>参数:</h2>
  370. <ul><li>contacts:
  371. <em>(
  372. <a href="#plus.contacts.Contact">Contact</a>
  373. )
  374. 必选 </em>数组,查找到的联系人对象<br>
  375. </li></ul>
  376. <h2>返回值:</h2>
  377. <font class="type">void</font>
  378. : 无<h1><a name="plus.contacts.ContactsSuccessCallback">ContactsSuccessCallback</a></h1>
  379. <p>联系人操作成功回调函数</p>
  380. <pre class="prettyprint linenums">
  381. void onSuccess(){
  382. // Operate success
  383. }
  384. </pre>
  385. <h2>参数:</h2>
  386. <ul></ul>
  387. <h2>返回值:</h2>
  388. <font class="type">void</font>
  389. : 无<h1><a name="plus.contacts.ContactsErrorCallback">ContactsErrorCallback</a></h1>
  390. <p>联系人操作失败回调</p>
  391. <pre class="prettyprint linenums">
  392. void onError( error ){
  393. // Handle the error
  394. }
  395. </pre>
  396. <h2>参数:</h2>
  397. <ul><li>error:
  398. <em>(
  399. <font class="type">DOMException</font>
  400. )
  401. 必选 </em>联系人操作的错误信息<br>
  402. </li></ul>
  403. <h2>返回值:</h2>
  404. <font class="type">void</font>
  405. : 无<br><br>
  406. </div></body>
  407. </html>