import Taro from '../../index' declare module '../../index' { namespace onNetworkWeakChange { /** 弱网状态变化事件的回调函数 */ type Callback = ( result: CallbackResult, ) => void interface CallbackResult { /** 当前是否处于弱网状态 */ weakNet: boolean /** 当前网络类型 */ networkType: keyof getNetworkType.NetworkType } } namespace onNetworkStatusChange { /** 网络状态变化事件的回调函数 */ type Callback = ( result: CallbackResult, ) => void interface CallbackResult { /** 当前是否有网络连接 */ isConnected: boolean /** 网络类型 */ networkType: keyof getNetworkType.NetworkType } } namespace getNetworkType { interface Option { /** 接口调用结束的回调函数(调用成功、失败都会执行) */ complete?: (res: TaroGeneral.CallbackResult) => void /** 接口调用失败的回调函数 */ fail?: (res: TaroGeneral.CallbackResult) => void /** 接口调用成功的回调函数 */ success?: (result: SuccessCallbackResult) => void } interface SuccessCallbackResult extends TaroGeneral.CallbackResult { /** 网络类型 */ networkType: keyof NetworkType /** 信号强弱,单位 dbm */ signalStrength?: number /** 设备是否使用了网络代理 */ hasSystemProxy?: boolean /** 调用结果 */ errMsg: string } /** 网络类型 */ interface NetworkType { /** wifi 网络 */ wifi /** 2g 网络 */ '2g' /** 3g 网络 */ '3g' /** 4g 网络 */ '4g' /** 5g 网络 */ '5g' /** Android 下不常见的网络类型 */ 'unknown' /** 无网络 */ 'none' } } namespace getLocalIPAddress { interface Option { /** 接口调用结束的回调函数(调用成功、失败都会执行) */ complete?: (res: TaroGeneral.CallbackResult) => void /** 接口调用失败的回调函数 */ fail?: (res: TaroGeneral.CallbackResult) => void /** 接口调用成功的回调函数 */ success?: (result: SuccessCallbackResult) => void } interface SuccessCallbackResult extends TaroGeneral.CallbackResult { /** 本机局域网IP地址 */ localip: string /** ,基础库 2.24.0 开始支持 */ netmask?: string /** 调用结果 */ errMsg: string } } interface TaroStatic { /** 监听弱网状态变化事件 * @supported weapp, swan, qq, tt * @example * ```tsx * Taro.onNetworkWeakChange(function (res) { * console.log(res.weakNet) * console.log(res.networkType) * }) * // 取消监听 * Taro.offNetworkWeakChange() * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.onNetworkWeakChange.html */ onNetworkWeakChange( /** 弱网状态变化事件的回调函数 */ callback: onNetworkWeakChange.Callback, ): void /** 监听网络状态变化。 * @supported weapp, swan, h5, rn, tt, harmony, harmony_hybrid * @example * ```tsx * Taro.onNetworkStatusChange(function (res) { * console.log(res.isConnected) * console.log(res.networkType) * }) * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.onNetworkStatusChange.html */ onNetworkStatusChange( /** 网络状态变化事件的回调函数 */ callback: onNetworkStatusChange.Callback, ): void /** 取消监听弱网状态变化事件 * @supported weapp, swan * @see https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.offNetworkWeakChange.html */ offNetworkWeakChange( /** 弱网状态变化事件的回调函数 */ callback?: onNetworkWeakChange.Callback, ): void /** 取消监听网络状态变化事件,参数为空,则取消所有的事件监听。 * @supported weapp, swan, h5, rn, harmony, harmony_hybrid * @see https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.offNetworkStatusChange.html */ offNetworkStatusChange( /** 取消监听网络状态变化事件,参数为空,则取消所有的事件监听 */ callback?: onNetworkStatusChange.Callback, ): void /** 获取网络类型。 * @supported weapp, swan, qq, h5, rn, tt, harmony, harmony_hybrid * @example * ```tsx * Taro.getNetworkType({ * success: function (res) { * // 返回网络类型, 有效值: * // wifi/2g/3g/4g/unknown(Android下不常见的网络类型)/none(无网络) * var networkType = res.networkType * } * }) * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.getNetworkType.html */ getNetworkType(option?: getNetworkType.Option): Promise /** 获取局域网IP地址。 * @supported weapp * @example * ```tsx * Taro.getLocalIPAddress() * .then(res => { * const localip = res.localip * }) * ``` * @see https://developers.weixin.qq.com/miniprogram/dev/api/device/network/wx.getLocalIPAddress.html */ getLocalIPAddress(option?: getLocalIPAddress.Option): Promise } }