Accelerometer
通过 devicemotion 获取线性加速度(不含重力)。
- start(callback), stop()
- 卸载时 stop
TSXAccelerometer — React
1import { useEffect, useState } from "react";
2import { Accelerometer } from "@quan-erp/shared-frontend-core";
3
4export function AccelDebug() {
5 const [xyz, setXyz] = useState({ x: 0, y: 0, z: 0 });
6
7 useEffect(() => {
8 const accel = Accelerometer.instance;
9 accel.start((data) => {
10 setXyz({
11 x: data.x ?? 0,
12 y: data.y ?? 0,
13 z: data.z ?? 0,
14 });
15 });
16 return () => accel.stop();
17 }, []);
18
19 return (
20 <pre>
21 {xyz.x.toFixed(2)} / {xyz.y.toFixed(2)} / {xyz.z.toFixed(2)}
22 </pre>
23 );
24}