@slan-health/taro-vueuse
Version:
taro vue版本hooks
34 lines (33 loc) • 1.04 kB
JavaScript
import { ref, onMounted, onUnmounted } from "vue";
import { getEnv, getNetworkType, onNetworkStatusChange, ENV_TYPE, offNetworkStatusChange } from "@tarojs/taro";
var NetworkType = /* @__PURE__ */ ((NetworkType2) => {
NetworkType2["wifi"] = "wifi";
NetworkType2["2g"] = "2g";
NetworkType2["3g"] = "3g";
NetworkType2["4g"] = "4g";
NetworkType2["5g"] = "5g";
NetworkType2["unknown"] = "unknown";
NetworkType2["none"] = "none";
return NetworkType2;
})(NetworkType || {});
function useNetworkType() {
const type = ref();
const env = getEnv();
onMounted(() => {
if (!env) return;
getNetworkType().then(({ networkType }) => type.value = networkType);
onNetworkStatusChange(listenNetworkStatusChange);
});
onUnmounted(() => {
env !== ENV_TYPE.WEB && offNetworkStatusChange(listenNetworkStatusChange);
});
const listenNetworkStatusChange = ({ networkType }) => {
type.value = networkType;
};
return type;
}
export {
NetworkType,
useNetworkType as default
};
//# sourceMappingURL=index.js.map