版本发布

This commit is contained in:
icssoa
2025-07-21 16:47:04 +08:00
parent 1abed7a2e1
commit 6d8193880a
307 changed files with 41718 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
import { Vibrate } from "../interface.uts";
import { VibrateNative } from "./vibrate.ets";
export function vibrate(duration: number) {
VibrateNative.vibrate(duration);
}

View File

@@ -0,0 +1,13 @@
{
module: {
requestPermissions: [
{
name: "ohos.permission.VIBRATE",
usedScene: {
when: "inuse"
},
reason: "$string:permission_VIBRATE_reason"
}
]
}
}

View File

@@ -0,0 +1,8 @@
{
"string": [
{
"name": "permission_VIBRATE_reason",
"value": "需要振动权限来提供更好的触觉反馈体验"
}
]
}

View File

@@ -0,0 +1,43 @@
import { vibrator } from '@kit.SensorServiceKit';
import { BusinessError } from '@kit.BasicServicesKit';
/**
* 原生振动控制类
* 用于控制设备振动,提供触觉反馈
*/
export class VibrateNative {
/**
* 使设备振动指定时长
* @param duration 振动持续时间(毫秒)
*/
static vibrate(duration: number): void {
try {
// 调用系统振动API
vibrator.startVibration(
{
type: 'time', // 振动类型为时间模式
duration: duration // 振动持续时间
},
{
id: 0, // 振动任务ID
usage: 'alarm' // 振动场景类型,用于系统开关管控
},
(error: BusinessError) => {
// 错误处理回调
if (error) {
console.error(
`振动启动失败: 错误码 ${error.code}, 错误信息 ${error.message}`
);
return;
}
}
);
} catch (err) {
// 捕获意外错误
const error: BusinessError = err as BusinessError;
console.error(
`发生意外错误: 错误码 ${error.code}, 错误信息 ${error.message}`
);
}
}
}