UNPKG

minigame-std

Version:

Mini Game Standard Development Library.

34 lines (29 loc) 1.06 kB
import type { NetworkType } from './network_define.ts'; /** * 获取网络状态。 * @returns 返回值可能为 `wifi` | `none` | `unknown` | `2g` | `3g` | `4g` */ export async function getNetworkType(): Promise<NetworkType> { try { const res = await wx.getNetworkType(); return res.networkType; } catch { return 'unknown'; } } /** * 监听网络状态变化。 * @param listener - 网络状态变化的回调函数。 * @returns 返回一个函数,调用该函数可以移除监听器。 */ export function addNetworkChangeListener(listener: (type: NetworkType) => void): () => void { const networkListener = (res: WechatMinigame.OnNetworkStatusChangeListenerResult): void => { const { isConnected, networkType } = res; const type = isConnected ? networkType : 'none'; listener(type); }; wx.onNetworkStatusChange(networkListener); return () => { wx.offNetworkStatusChange(networkListener as unknown as WechatMinigame.OffNetworkStatusChangeCallback); }; }