更新记录

1.0.2(2025-11-08)

  • 新增聚合入口(utssdk/index.uts),按平台条件编译导出,实现路径稳定。
  • 迁移安卓实现到新插件目录(utssdk/app-android/index.uts),统一导出 requestContactsPermission/getContacts。
  • iOS、Harmony 提供占位实现(返回 errCode 9010003),后续将适配。
  • 更新接口定义(utssdk/interface.uts):联系人类型(Contact、ContactPhone)、错误类型(ContactsFail)与 API 签名。

1.0.1(2025-11-08)

修复与文档完善:

  • 修复权限申请:将权限数组类型改为 string[],解决“The requested permission cannot be empty”异常。
  • 修复查询参数类型:projection/selectionArgs 显式转换为 Kotlin Array(toMutableList().toTypedArray()),解决 error17 类型不匹配。
  • 修复编译警告:移除对非空字符串的冗余判空(numberVal != null、name != null 三元)。
  • 文档:新增 README 使用说明,明确对外 API、示例与注意事项。

1.0.0(2025-11-08)

首次发布

查看更多

平台兼容性

uni-app(4.01)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× × × × × × × ×
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
× × × × × × × × × × ×

uni-app x(4.01)

Chrome Safari Android iOS 鸿蒙 微信小程序
× × × × ×

xiaomeng-contacts 使用说明(Android/iOS/Harmony 聚合结构)

更新时间:2025/11/8 13:32:57(Asia/Shanghai)

简介

  • 多平台聚合的通讯录插件,当前实现 Android 平台:权限申请 + 联系人读取(姓名+手机号)。
  • iOS、Harmony 目录为占位,后续将适配;当前在这些平台上返回“不支持”。

目录结构

  • uni_modules/xiaomeng-contacts/utssdk/
    • index.uts(聚合入口,按平台条件导出)
    • interface.uts(类型定义)
    • app-android/index.uts(安卓实现)
    • app-ios/index.uts(iOS 占位)
    • app-harmony/index.uts(Harmony 占位)

对外 API 1) requestContactsPermission(options)

  • 功能:发起系统权限申请(Android)。
  • 参数:{ success?: () => void; fail?: (err: ContactsFail) => void; complete?: (res: UTSJSONObject | ContactsFail) => void }
  • 成功:complete 返回 { errMsg: 'requestContactsPermission:ok' }

2) getContacts(options)

  • 功能:读取联系人列表(分页,Android)。
  • 参数:{ offset?: number | null; limit?: number | null; success?: (res: Array) => void; fail?: (err: ContactsFail) => void; complete?: (res: UTSJSONObject | ContactsFail) => void }
  • 返回:Array,Contact = { id, displayName, phones: Array<{label,value}> }

使用示例(uvue 页面)

import { requestContactsPermission, getContacts } from '@/uni_modules/xiaomeng-contacts/utssdk/index.uts'
import type { Contact } from '@/uni_modules/xiaomeng-contacts/utssdk/interface.uts'

getContacts({ offset: 0, limit: 200, success: (list: Array<Contact>) => { console.log(list.length) } })

注意事项

  • 仅在 APP-ANDROID 下运行核心逻辑;其他平台当前返回 errCode 9010003。
  • 权限数组类型为 string[];运行时通过 UTSAndroid.requestSystemPermission 申请。
  • 严格类型:避免隐式转换;布尔判断使用 == true/!= true。

后续适配计划

  • iOS:权限申请与 Contacts 框架读取姓名、手机号等;
  • Harmony:原子化服务通讯录能力接入;

隐私、权限声明

1. 本插件需要申请的系统权限列表:

android.permission.READ_CONTACTS

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。