taro-hooks
Version:
为 Taro 而设计的 Hooks Library
34 lines • 1.01 kB
JavaScript
import { getScreenBrightness, setScreenBrightness, setKeepScreenOn } from '@tarojs/taro';
import { useEffect, useState } from '@taro-hooks/core';
import { isNumber } from '@taro-hooks/shared';
import usePromise from '../usePromise';
function useBrightness(keepon) {
var _useState = useState(),
brightness = _useState[0],
changeBrightness = _useState[1];
var getAsync = usePromise(getScreenBrightness);
var setAsync = usePromise(setScreenBrightness);
var getBrightness = function getBrightness() {
return getAsync().then(function (res) {
if (isNumber(res == null ? void 0 : res.value)) {
changeBrightness(res.value);
}
return res;
});
};
var setBrightness = function setBrightness(value) {
return setAsync({
value: value
});
};
useEffect(function () {
getBrightness();
if (keepon) {
setKeepScreenOn({
keepScreenOn: keepon
});
}
}, []);
return [brightness, setBrightness];
}
export default useBrightness;