diff --git a/packages/taro-h5/src/api/base/index.ts b/packages/taro-h5/src/api/base/index.ts index 65b8ea56c297..3888b0f34d75 100644 --- a/packages/taro-h5/src/api/base/index.ts +++ b/packages/taro-h5/src/api/base/index.ts @@ -15,7 +15,7 @@ export function arrayBufferToBase64 (arrayBuffer: ArrayBuffer) { } export function base64ToArrayBuffer (base64: string) { - return toByteArray(base64) + return toByteArray(base64).buffer } export * from './crypto' diff --git a/packages/taro-h5/src/api/device/clipboard.ts b/packages/taro-h5/src/api/device/clipboard.ts index 8635378bb1fd..20596925f4b1 100644 --- a/packages/taro-h5/src/api/device/clipboard.ts +++ b/packages/taro-h5/src/api/device/clipboard.ts @@ -10,9 +10,9 @@ import { isFunction } from '@tarojs/shared' import { MethodHandler } from '../../utils/handler' import { getStorageSync, setStorage, setStorageSync } from '../storage/index' +import { showToast } from '../ui/interaction' const CLIPBOARD_STORAGE_NAME = 'taro_clipboard' - document.addEventListener('copy', () => { setStorage({ key: CLIPBOARD_STORAGE_NAME, @@ -21,7 +21,6 @@ document.addEventListener('copy', () => { console.error(e) }) }) - /** * 设置系统剪贴板的内容 */ @@ -49,6 +48,11 @@ export const setClipboardData: typeof Taro.setClipboardData = async ({ data, suc } else { throw new Error('Unsupported Function: \'document.execCommand\'.') } + showToast({ + title: '内容已复制', + icon: 'none', + duration: 1500 + }) return handle.success() } catch (e) { return handle.fail({ errMsg: e.message }) diff --git a/packages/taro-h5/src/api/device/network.ts b/packages/taro-h5/src/api/device/network.ts index 863dc270cbcd..c1cfe04913f4 100644 --- a/packages/taro-h5/src/api/device/network.ts +++ b/packages/taro-h5/src/api/device/network.ts @@ -52,7 +52,6 @@ export const getNetworkType: typeof Taro.getNetworkType = (options = {}) => { } const networkStatusManager = new CallbackManager() - const networkStatusListener = async () => { const { networkType } = await getNetworkType() const isConnected = networkType !== 'none' @@ -79,8 +78,13 @@ export const onNetworkStatusChange: typeof Taro.onNetworkStatusChange = callback export const offNetworkWeakChange = /* @__PURE__ */ temporarilyNotSupport('offNetworkWeakChange') -export const offNetworkStatusChange: typeof Taro.offNetworkStatusChange = callback => { - networkStatusManager.remove(callback) +export const offNetworkStatusChange: typeof Taro.offNetworkStatusChange = (callback) => { + // 取消监听网络状态变化事件,参数为空,则取消所有的事件监听。 + if (callback) { + networkStatusManager.remove(callback) + } else { + networkStatusManager.removeAll() + } const connection = getConnection() if (connection && networkStatusManager.count() === 0) { connection.removeEventListener('change', networkStatusListener) diff --git a/packages/taro-h5/src/api/location/chooseLocation.ts b/packages/taro-h5/src/api/location/chooseLocation.ts index 285856f267e0..105169fc304e 100644 --- a/packages/taro-h5/src/api/location/chooseLocation.ts +++ b/packages/taro-h5/src/api/location/chooseLocation.ts @@ -6,26 +6,25 @@ import { stringify } from 'query-string' import { MethodHandler } from '../../utils/handler' let container: HTMLDivElement | null = null -function createLocationChooser (handler, key = LOCATION_APIKEY, mapOpt: Taro.chooseLocation.Option['mapOpts'] = {}) { - const { latitude, longitude, ...opts } = mapOpt +function createLocationChooser (handler, mapOpt: Taro.chooseLocation.Option['mapOpts'] = {}) { + const { key = LOCATION_APIKEY, referer = 'myapp', ...opts } = mapOpt const query = { key, type: 1, - coord: mapOpt.coord ?? [latitude, longitude].every(e => Number(e) >= 0) ? `${latitude},${longitude}` : undefined, - referer: 'myapp', - ...opts + referer, + ...opts, } if (!container) { const html = ` -
-
-
-

位置

- -
-