更新记录
1.1.0(2024-09-13)
- 修复iOs shareWithSystem异常的问题
1.0.9(2024-09-13)
- 修复shareWithSystem异常的问题
1.0.8(2024-09-12)
- 修复Web异常的问题
查看更多
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 4.23,Android:4.4,iOS:9,HarmonyOS:不确定 |
× |
× |
× |
× |
× |
× |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
× |
× |
× |
× |
× |
× |
× |
× |
× |
UxPlus 1.1.0
基于UTS开发的原生插件库
已实现功能 ⬇️
- 全局置灰 (Android、iOS、Web)
- 系统分享 (Android、iOS)
- 设置申请权限的提示说明 (Android)
- 权限申请 (Android、iOS)
- 打开app权限设置 (Android、iOS)
- 隐藏键盘 (Android、iOS、Web)
- 拨打电话 (Android、iOS、Web)
- 打开链接 (Android、iOS、Web)
- 震动 (Android、iOS)
- 创建进度条通知栏 (Android)
案例
import * as plus from "@/uni_modules/ux-plus"
function setGray(gray: number) {
plus.setGray(gray)
}
function openURL() {
let brand = uni.getSystemInfoSync().deviceBrand
let pkgName = 'com.tencent.mm'
let market = ''
// #ifndef APP-IOS
if (brand == 'huawei') {
market = `market://details?id=${pkgName}`
} else if (brand == 'xiaomi') {
market = `mimarket://details?id=${pkgName}`
} else if (brand == 'oppo') {
market = `oppomarket://details?packagename=${pkgName}`
} else if (brand == 'vivo') {
market = `vivomarket://details?id=${pkgName}`
} else if (brand == 'samsung') {
market = `samsungapps://ProductDetail/${pkgName}`
}
// #endif
// #ifdef APP-IOS
market = `itms-apps://itunes.apple.com/app?id=${pkgName}`
// #endif
plus.openURL({
url: market
} as plus.UxOpenURLOptions)
}
function makePhoneCall() {
plus.makePhoneCall({
phoneNumber: ''
} as plus.UxMakePhoneCallOptions)
}
function vibrate1() {
plus.vibrate({
type: 'light'
} as plus.UxVibrateOptions)
}
function vibrate2() {
plus.vibrate({
type: 'medium'
} as plus.UxVibrateOptions)
}
function vibrate3() {
plus.vibrate({
type: 'heavy'
} as plus.UxVibrateOptions)
}
function shareText() {
plus.shareWithSystem({
type: 'text',
title: 'UxFrame低代码高性能UI框架',
summary: 'UxFrame是基于UNI-APP-X开发的低代码高性能原生UI框架',
href: 'https://www.uxframe.cn',
imageUrl: '/static/logo.png'
} as plus.UxShareWithSystemOptions)
}
function shareImage() {
plus.shareWithSystem({
type: 'image',
imageUrl: '/static/logo.png'
} as plus.UxShareWithSystemOptions)
}
function shareFile() {
plus.shareWithSystem({
type: 'file',
href: '/static/demo.pdf'
} as plus.UxShareWithSystemOptions)
}
function setRequestPermissionTips() {
let permissons = [{
permission: 'location', // 可能有多个权限包装在一起,统一这个说明
// permission: 'android.permission.CAMERA', // 单个权限说明
content: "<h4 style=\"font-size:40px;\">获取位置权限说明</h4><font color=#cccccc>我们需要您的位置信息来提供更好的服务</font>"
},{
permission: 'push',
content: "<h4 style=\"font-size:40px;\">系统通知权限说明</h4><font color=#cccccc>我们需要推送通知来发送重要更新和提醒</font>"
},{
permission: 'camera',
content: "<h4 style=\"font-size:40px;\">拍照/拍摄/存储空间权限说明</h4><font color=#cccccc>我们需要访问您的摄像机来拍摄照片/视频</font>"
},{
permission: 'photo',
content: "<h4 style=\"font-size:40px;\">获取照片/视频/存储空间权限说明</h4><font color=#cccccc>我们需要访问您的相册来保存或选择照片</font>"
},{
permission: 'microphone',
content: "<h4 style=\"font-size:40px;\">获取麦克风权限说明</h4><font color=#cccccc>我们需要访问您的麦克风来录音</font>"
},{
permission: 'bluetooth',
content: "<h4 style=\"font-size:40px;\">获取蓝牙权限说明</h4><font color=#cccccc>我们需要您的同意来使用蓝牙来提供更好的服务</font>"
},{
permission: 'calendar',
content: "<h4 style=\"font-size:40px;\">获取日历权限说明</h4><font color=#cccccc>我们需要访问您的日历来提供更好的服务</font>"
},{
permission: 'contact',
content: "<h4 style=\"font-size:40px;\">获取通讯录权限说明</h4><font color=#cccccc>我们需要您的同意来访问联系人来提供更好的服务</font>"
},{
permission: 'sms',
content: "<h4 style=\"font-size:40px;\">获取短信权限说明</h4><font color=#cccccc>我们需要访问短信来提供更好的服务</font>"
},{
permission: 'phone',
content: "<h4 style=\"font-size:40px;\">拨打/管理电话权限说明</h4><font color=#cccccc>我们需要访问电话来提供更好的服务</font>"
},{
permission: 'phone_state',
content: "<h4 style=\"font-size:40px;\">获取设备信息权限说明</h4><font color=#cccccc>我们需要获取设备信息来提供更好的服务</font>"
}] as plus.UxRequestPermissionTipsOptions[]
plus.setRequestPermissionTips(permissons)
}
function requestPermissions() {
plus.requestPermissions({
name: 'camera', // 内部封装权限包,可能包含多个权限
// permissions: permissons.map((e): string => e.permission), // 更细致的权限列表
complete: (allRight: boolean, permissions : string[], doNotAskAgain: boolean) => {
console.log(allRight, permissions);
uni.showToast({
title: allRight ? '已授权' : '已拒绝'
})
}
} as plus.UxRequestPermissionsOptions)
}
function openAppAuthorizeSetting() {
plus.openAppAuthorizeSetting('settings')
}
更多功能持续集成中...
文档教程 ⬇️
https://www.uxframe.cn