@wlydfe/flutter-bridge 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -292,13 +292,16 @@ var onDestroy = createLifeCycleHook(LifecycleHooks.DESTROY);
292
292
  var initBridge = function () {
293
293
  initBridgeCore();
294
294
  };
295
- onPageCreated(function () {
295
+ var ua = typeof navigator !== 'undefined' && navigator.userAgent ? navigator.userAgent.toLowerCase() : '';
296
+ // 判断是否在flutter的webview中
297
+ var isInApp = /FlutterDriverAndroidIOS/i.test(ua);
298
+ if (isInApp) {
296
299
  if (!window.uni) {
297
300
  window.uni = {};
298
301
  }
299
302
  var uniApi = window.uni;
300
303
  Object.assign(uniApi, api);
301
- });
304
+ }
302
305
  initBridge();
303
306
 
304
307
  export { navigateBack as FlutterNavigateBack, navigateTo as FlutterNavigateTo, chooseImage, getLocation, login, onDestroy, onHide, onLoad, onPageCreated, onPause, onResume, onShow, previewImage, setNavigationBarTitle, wxShare };
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/core/bridgeCore.ts","../src/api/chooseImage.ts","../src/api/getLocation.ts","../src/api/previewImage.ts","../src/api/login.ts","../src/api/navigateTo.ts","../src/api/wxShare.ts","../src/api/navigateBack.ts","../src/api/setNavigationBarTitle.ts","../src/lifecycle/types.ts","../src/lifecycle/apiLifecycle.ts","../src/index.ts"],"sourcesContent":["let AppBridge = null;\n\nexport const initBridgeCore = () => {\n // 全局回调ID和回调函数存储\n let cbId = 0;\n // 全局回调池,存储「回调 ID → {resolve, reject}」的映射\n // const cbs = {};\n const version = \"1.0\";\n\n // Promise resolve 映射表\n const promiseMap = new Map<string, (value) => void>()\n\n /*\n 定义一个全局的 AppBridge 对象,提供 invoke 方法,用于 H5 调用 Flutter 暴露的原生 API,\n 核心是通过 Promise 来处理异步通信的结果回调.\n\n WLYDBridge: flutter 与 H5 约定的 bridge 名字\n */\n AppBridge = {\n invoke(type, data = {}) {\n //1. 检查 Flutter 桥接是否就绪(WLYDBridge 是 Flutter 注入的全局对象)\n if (!(window as any).WLYDBridge || typeof (window as any).WLYDBridge.postMessage !== 'function') {\n console.log(\"bridge not ready\");\n return Promise.reject(new Error('bridge not ready'));\n }\n return new Promise((resolve, reject) => {\n // 生成唯一的回调 ID,用于匹配 Flutter 回调的结果\n // 生成回调ID并注册resolve函数\n const callbackId = 'cb_' + (++cbId);\n promiseMap.set(callbackId, resolve as (value: any) => void);\n\n // 发送消息到Flutter\n\n (window as any).WLYDBridge.postMessage(\n JSON.stringify({\n type,\n data,\n callbackId,// 唯一回调 ID,Flutter 处理完会带回这个 ID\n version\n }\n ))\n });\n }\n };\n\n // 初始化AppBridge \n // Flutter回调处理\n // native bridge 回传数据\n const resolveCallbackPromise = <T = unknown>(callbackId: string, data: unknown) => {\n const resolve = promiseMap.get(callbackId);\n if (resolve) {\n try {\n let parsedData;\n if (typeof data === 'string') {\n try {\n parsedData = JSON.parse(data)\n } catch (parseError) {\n parsedData = {\n success: false,\n message: `JSON解析失败: ${parseError instanceof Error ? parseError.message : 'Unknown error'}`,\n }\n }\n } else {\n parsedData = data\n }\n // 成功时返回标准格式\n resolve(parsedData)\n } catch (error) {\n // 异常时返回错误格式\n resolve({\n success: false,\n message: error instanceof Error ? error.message : 'Unknown error',\n })\n } finally {\n // 清理映射表\n promiseMap.delete(callbackId)\n }\n }\n }\n\n (window as any).onFlutterCallbackPromise = <T = unknown>(callbackId: string, data: unknown): void => {\n resolveCallbackPromise<T>(callbackId, data)\n }\n}\n\n// 通用桥接调用封装\nexport const invoke = (type, params?: any, format?) => {\n\treturn AppBridge.invoke(type, params)\n\t\t.then(data => typeof format === 'function' ? format(data) : data)\n\t\t.catch(err => {\n console.log('invoke err', err);\n\t\t\tthrow err;\n\t\t});\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface ChooseImageOptions extends Omit<BaseOptions, 'success'> {\n count: number;\n sizeType: ['original', 'compressed'];\n sourceType: ['album', 'camera'];\n success?: (result: {\n tempFilePaths: string[];\n tempFiles: {\n size: number;\n type: string;\n }[];\n }) => void;\n}\n\n// 选择图片\nexport const chooseImage = (options: ChooseImageOptions) => {\n const { success, fail, complete, ...restParams } = options;\n invoke('chooseImage', restParams).then(data => {\n\t\tif (data.success) {\n\t\t\tsuccess?.(data);\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}\n","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface GetLocationOptions extends Omit<BaseOptions, 'success'> {\n\tsuccess?: (result: {\n\t\tlatitude: number;\n\t\tlongitude: number;\n\t}) => void;\n}\n \n// 获取定位\nexport const getLocation = (options: GetLocationOptions) => {\n\tconst { success, fail, complete, ...restParams } = options;\n\tinvoke('getLocation', restParams).then(result => {\n\t\tconst { data } = result;\n\t\tconsole.log('getLocation data', result);\n\t\tif (data && data.latitude && data.longitude) {\n\t\t\tsuccess?.(data);\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}\n","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface PreviewImageOptions extends BaseOptions {\n\turls: string[];\n}\n\n/**\n * 预览图片\n * @param options 预览图片参数\n * @param options.urls 图片URL列表\n * @param options.success 成功回调\n * @param options.fail 失败回调\n * @param options.complete 完成回调\n * @returns \n */\nexport const previewImage = (options: PreviewImageOptions) => {\n\tif (!options.urls || options.urls.length === 0) {\n\t\toptions.fail?.();\n\t\treturn;\n\t}\n\tinvoke('previewImage', {\n\t\turls: options.urls\n\t}).then(options.success)\n\t\t.catch(options.fail)\n\t\t.finally(options.complete);\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\nexport interface LoginOptions extends Omit<BaseOptions, 'success'> {\n\tsuccess?: (result: {\n\t\tloginSuccess: boolean;\n\t\tuserId: string;\n\t}) => void;\n}\n\nexport const login = (options: LoginOptions) => {\n\tconst { success, fail, complete, ...restParams } = options;\n\tinvoke('login', restParams).then(data => {\n\t\tif (data.success) {\n\t\t\tsuccess?.(data);\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface NavigateToOptions extends BaseOptions {\n\troute: string;\n\tparams: any;\n}\n\nexport const navigateTo = (options: NavigateToOptions) => {\n\tconst { success, fail, complete, ...restParams } = options;\n\tinvoke('navigateTo', restParams).then(data => {\n\t\tif (data.success) {\n\t\t\tsuccess?.();\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface WxShareOptions extends BaseOptions {\n\ttitle: string;\n\turl: string;\n\tshareType: ['appMessage', 'timeline', 'favorite'];\n}\n// 分享\nexport const wxShare = (options: WxShareOptions) => {\n\tconst { success, fail, complete, ...restParams } = options;\n\tinvoke('wxShare', restParams).then(data => {\n\t\tif (data.success) {\n\t\t\tsuccess?.();\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\n// 返回\nexport const navigateBack = (options?: BaseOptions) => {\n const { success, fail, complete, ...restParams } = options;\n\tinvoke('back', restParams).then(data => {\n\t\tconsole.log('navigateBack data', data);\n\t\t// if (data.success) {\n\t\t// \tsuccess?.();\n\t\t// } else {\n\t\t// \tfail?.();\n\t\t// }\n\t}).catch(fail).finally(complete);\n // .then(() => showToast('返回已触发', 2000, 'success'));\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface NavigationBarTitleOptions extends BaseOptions {\n\ttitle: string;\n}\n\n/**\n * 预览图片\n * @param options 预览图片参数\n * @param options.urls 图片URL列表\n * @param options.success 成功回调\n * @param options.fail 失败回调\n * @param options.complete 完成回调\n * @returns \n */\nexport const setNavigationBarTitle = (options: NavigationBarTitleOptions) => {\n\tif (!options.title) {\n\t\toptions.fail?.();\n\t\treturn;\n\t}\n\tinvoke('updateNavTitle', {\n\t\ttitle: options.title\n\t}).then(options.success)\n\t\t.catch(options.fail)\n\t\t.finally(options.complete);\n}","export enum LifecycleHooks {\n PAGE_CREATED = 'onPageCreated',\n RESUME = 'onResume',\n PAUSE = 'onPause',\n LOAD = 'onLoad',\n SHOW = 'onShow',\n HIDE = 'onHide',\n DESTROY = 'onDestroy'\n}","import { LifecycleHooks } from \"./types\";\n\nconst __lifecycleFunctionMap = {};\n\n// 1. 注册全局监听函数,接收 Flutter 生命周期事件\n(window as any).flutterLifeCycleListener = function(eventName) {\n if (__lifecycleFunctionMap[eventName]) {\n __lifecycleFunctionMap[eventName].forEach(hook => hook())\n }\n};\n\nconst createLifeCycleHook = (\n lifecycle: string\n ) =>\n (\n hook: () => void,\n ): void => {\n __lifecycleFunctionMap[lifecycle] = __lifecycleFunctionMap[lifecycle] || []\n __lifecycleFunctionMap[lifecycle].push(hook)\n }\n\nexport const onPageCreated = createLifeCycleHook(LifecycleHooks.PAGE_CREATED)\nexport const onResume = createLifeCycleHook(LifecycleHooks.RESUME)\nexport const onPause = createLifeCycleHook(LifecycleHooks.PAUSE)\nexport const onLoad = createLifeCycleHook(LifecycleHooks.LOAD)\nexport const onShow = createLifeCycleHook(LifecycleHooks.SHOW)\nexport const onHide = createLifeCycleHook(LifecycleHooks.HIDE)\nexport const onDestroy = createLifeCycleHook(LifecycleHooks.DESTROY)","import * as api from './api'\nimport { initBridgeCore } from './core/bridgeCore'\nimport { onPageCreated } from './lifecycle/apiLifecycle'\n\nconst initBridge = () => {\n initBridgeCore()\n}\n\nonPageCreated(() => {\n if (!(window as any).uni) {\n (window as any).uni = {}\n }\n const uniApi: any = (window as any).uni\n Object.assign(uniApi, api)\n})\n\ninitBridge()\n\nexport * from './api'\nexport * from './lifecycle/apiLifecycle'"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/core/bridgeCore.ts","../src/api/chooseImage.ts","../src/api/getLocation.ts","../src/api/previewImage.ts","../src/api/login.ts","../src/api/navigateTo.ts","../src/api/wxShare.ts","../src/api/navigateBack.ts","../src/api/setNavigationBarTitle.ts","../src/lifecycle/types.ts","../src/lifecycle/apiLifecycle.ts","../src/index.ts"],"sourcesContent":["let AppBridge = null;\n\nexport const initBridgeCore = () => {\n // 全局回调ID和回调函数存储\n let cbId = 0;\n // 全局回调池,存储「回调 ID → {resolve, reject}」的映射\n // const cbs = {};\n const version = \"1.0\";\n\n // Promise resolve 映射表\n const promiseMap = new Map<string, (value) => void>()\n\n /*\n 定义一个全局的 AppBridge 对象,提供 invoke 方法,用于 H5 调用 Flutter 暴露的原生 API,\n 核心是通过 Promise 来处理异步通信的结果回调.\n\n WLYDBridge: flutter 与 H5 约定的 bridge 名字\n */\n AppBridge = {\n invoke(type, data = {}) {\n //1. 检查 Flutter 桥接是否就绪(WLYDBridge 是 Flutter 注入的全局对象)\n if (!(window as any).WLYDBridge || typeof (window as any).WLYDBridge.postMessage !== 'function') {\n console.log(\"bridge not ready\");\n return Promise.reject(new Error('bridge not ready'));\n }\n return new Promise((resolve, reject) => {\n // 生成唯一的回调 ID,用于匹配 Flutter 回调的结果\n // 生成回调ID并注册resolve函数\n const callbackId = 'cb_' + (++cbId);\n promiseMap.set(callbackId, resolve as (value: any) => void);\n\n // 发送消息到Flutter\n\n (window as any).WLYDBridge.postMessage(\n JSON.stringify({\n type,\n data,\n callbackId,// 唯一回调 ID,Flutter 处理完会带回这个 ID\n version\n }\n ))\n });\n }\n };\n\n // 初始化AppBridge \n // Flutter回调处理\n // native bridge 回传数据\n const resolveCallbackPromise = <T = unknown>(callbackId: string, data: unknown) => {\n const resolve = promiseMap.get(callbackId);\n if (resolve) {\n try {\n let parsedData;\n if (typeof data === 'string') {\n try {\n parsedData = JSON.parse(data)\n } catch (parseError) {\n parsedData = {\n success: false,\n message: `JSON解析失败: ${parseError instanceof Error ? parseError.message : 'Unknown error'}`,\n }\n }\n } else {\n parsedData = data\n }\n // 成功时返回标准格式\n resolve(parsedData)\n } catch (error) {\n // 异常时返回错误格式\n resolve({\n success: false,\n message: error instanceof Error ? error.message : 'Unknown error',\n })\n } finally {\n // 清理映射表\n promiseMap.delete(callbackId)\n }\n }\n }\n\n (window as any).onFlutterCallbackPromise = <T = unknown>(callbackId: string, data: unknown): void => {\n resolveCallbackPromise<T>(callbackId, data)\n }\n}\n\n// 通用桥接调用封装\nexport const invoke = (type, params?: any, format?) => {\n\treturn AppBridge.invoke(type, params)\n\t\t.then(data => typeof format === 'function' ? format(data) : data)\n\t\t.catch(err => {\n console.log('invoke err', err);\n\t\t\tthrow err;\n\t\t});\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface ChooseImageOptions extends Omit<BaseOptions, 'success'> {\n count: number;\n sizeType: ['original', 'compressed'];\n sourceType: ['album', 'camera'];\n success?: (result: {\n tempFilePaths: string[];\n tempFiles: {\n size: number;\n type: string;\n }[];\n }) => void;\n}\n\n// 选择图片\nexport const chooseImage = (options: ChooseImageOptions) => {\n const { success, fail, complete, ...restParams } = options;\n invoke('chooseImage', restParams).then(data => {\n\t\tif (data.success) {\n\t\t\tsuccess?.(data);\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}\n","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface GetLocationOptions extends Omit<BaseOptions, 'success'> {\n\tsuccess?: (result: {\n\t\tlatitude: number;\n\t\tlongitude: number;\n\t}) => void;\n}\n \n// 获取定位\nexport const getLocation = (options: GetLocationOptions) => {\n\tconst { success, fail, complete, ...restParams } = options;\n\tinvoke('getLocation', restParams).then(result => {\n\t\tconst { data } = result;\n\t\tconsole.log('getLocation data', result);\n\t\tif (data && data.latitude && data.longitude) {\n\t\t\tsuccess?.(data);\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}\n","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface PreviewImageOptions extends BaseOptions {\n\turls: string[];\n}\n\n/**\n * 预览图片\n * @param options 预览图片参数\n * @param options.urls 图片URL列表\n * @param options.success 成功回调\n * @param options.fail 失败回调\n * @param options.complete 完成回调\n * @returns \n */\nexport const previewImage = (options: PreviewImageOptions) => {\n\tif (!options.urls || options.urls.length === 0) {\n\t\toptions.fail?.();\n\t\treturn;\n\t}\n\tinvoke('previewImage', {\n\t\turls: options.urls\n\t}).then(options.success)\n\t\t.catch(options.fail)\n\t\t.finally(options.complete);\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\nexport interface LoginOptions extends Omit<BaseOptions, 'success'> {\n\tsuccess?: (result: {\n\t\tloginSuccess: boolean;\n\t\tuserId: string;\n\t}) => void;\n}\n\nexport const login = (options: LoginOptions) => {\n\tconst { success, fail, complete, ...restParams } = options;\n\tinvoke('login', restParams).then(data => {\n\t\tif (data.success) {\n\t\t\tsuccess?.(data);\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface NavigateToOptions extends BaseOptions {\n\troute: string;\n\tparams: any;\n}\n\nexport const navigateTo = (options: NavigateToOptions) => {\n\tconst { success, fail, complete, ...restParams } = options;\n\tinvoke('navigateTo', restParams).then(data => {\n\t\tif (data.success) {\n\t\t\tsuccess?.();\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface WxShareOptions extends BaseOptions {\n\ttitle: string;\n\turl: string;\n\tshareType: ['appMessage', 'timeline', 'favorite'];\n}\n// 分享\nexport const wxShare = (options: WxShareOptions) => {\n\tconst { success, fail, complete, ...restParams } = options;\n\tinvoke('wxShare', restParams).then(data => {\n\t\tif (data.success) {\n\t\t\tsuccess?.();\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\n// 返回\nexport const navigateBack = (options?: BaseOptions) => {\n const { success, fail, complete, ...restParams } = options;\n\tinvoke('back', restParams).then(data => {\n\t\tconsole.log('navigateBack data', data);\n\t\t// if (data.success) {\n\t\t// \tsuccess?.();\n\t\t// } else {\n\t\t// \tfail?.();\n\t\t// }\n\t}).catch(fail).finally(complete);\n // .then(() => showToast('返回已触发', 2000, 'success'));\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface NavigationBarTitleOptions extends BaseOptions {\n\ttitle: string;\n}\n\n/**\n * 预览图片\n * @param options 预览图片参数\n * @param options.urls 图片URL列表\n * @param options.success 成功回调\n * @param options.fail 失败回调\n * @param options.complete 完成回调\n * @returns \n */\nexport const setNavigationBarTitle = (options: NavigationBarTitleOptions) => {\n\tif (!options.title) {\n\t\toptions.fail?.();\n\t\treturn;\n\t}\n\tinvoke('updateNavTitle', {\n\t\ttitle: options.title\n\t}).then(options.success)\n\t\t.catch(options.fail)\n\t\t.finally(options.complete);\n}","export enum LifecycleHooks {\n PAGE_CREATED = 'onPageCreated',\n RESUME = 'onResume',\n PAUSE = 'onPause',\n LOAD = 'onLoad',\n SHOW = 'onShow',\n HIDE = 'onHide',\n DESTROY = 'onDestroy'\n}","import { LifecycleHooks } from \"./types\";\n\nconst __lifecycleFunctionMap = {};\n\n// 1. 注册全局监听函数,接收 Flutter 生命周期事件\n(window as any).flutterLifeCycleListener = function(eventName) {\n if (__lifecycleFunctionMap[eventName]) {\n __lifecycleFunctionMap[eventName].forEach(hook => hook())\n }\n};\n\nconst createLifeCycleHook = (\n lifecycle: string\n ) =>\n (\n hook: () => void,\n ): void => {\n __lifecycleFunctionMap[lifecycle] = __lifecycleFunctionMap[lifecycle] || []\n __lifecycleFunctionMap[lifecycle].push(hook)\n }\n\nexport const onPageCreated = createLifeCycleHook(LifecycleHooks.PAGE_CREATED)\nexport const onResume = createLifeCycleHook(LifecycleHooks.RESUME)\nexport const onPause = createLifeCycleHook(LifecycleHooks.PAUSE)\nexport const onLoad = createLifeCycleHook(LifecycleHooks.LOAD)\nexport const onShow = createLifeCycleHook(LifecycleHooks.SHOW)\nexport const onHide = createLifeCycleHook(LifecycleHooks.HIDE)\nexport const onDestroy = createLifeCycleHook(LifecycleHooks.DESTROY)","import * as api from './api'\nimport { initBridgeCore } from './core/bridgeCore'\nimport { onPageCreated } from './lifecycle/apiLifecycle'\n\nconst initBridge = () => {\n initBridgeCore()\n}\n\nconst ua =\n typeof navigator !== 'undefined' && navigator.userAgent ? navigator.userAgent.toLowerCase() : ''\n\n// 判断是否在flutter的webview中\nconst isInApp = /FlutterDriverAndroidIOS/i.test(ua)\n\nif (isInApp) {\n if (!(window as any).uni) {\n (window as any).uni = {}\n }\n const uniApi: any = (window as any).uni\n Object.assign(uniApi, api)\n}\n\ninitBridge()\n\nexport * from './api'\nexport * from './lifecycle/apiLifecycle'"],"names":[],"mappings":"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"}
package/lib/index.umd.js CHANGED
@@ -298,13 +298,16 @@
298
298
  var initBridge = function () {
299
299
  initBridgeCore();
300
300
  };
301
- onPageCreated(function () {
301
+ var ua = typeof navigator !== 'undefined' && navigator.userAgent ? navigator.userAgent.toLowerCase() : '';
302
+ // 判断是否在flutter的webview中
303
+ var isInApp = /FlutterDriverAndroidIOS/i.test(ua);
304
+ if (isInApp) {
302
305
  if (!window.uni) {
303
306
  window.uni = {};
304
307
  }
305
308
  var uniApi = window.uni;
306
309
  Object.assign(uniApi, api);
307
- });
310
+ }
308
311
  initBridge();
309
312
 
310
313
  exports.FlutterNavigateBack = navigateBack;
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","sources":["../src/core/bridgeCore.ts","../src/api/chooseImage.ts","../src/api/getLocation.ts","../src/api/previewImage.ts","../src/api/login.ts","../src/api/navigateTo.ts","../src/api/wxShare.ts","../src/api/navigateBack.ts","../src/api/setNavigationBarTitle.ts","../src/lifecycle/types.ts","../src/lifecycle/apiLifecycle.ts","../src/index.ts"],"sourcesContent":["let AppBridge = null;\n\nexport const initBridgeCore = () => {\n // 全局回调ID和回调函数存储\n let cbId = 0;\n // 全局回调池,存储「回调 ID → {resolve, reject}」的映射\n // const cbs = {};\n const version = \"1.0\";\n\n // Promise resolve 映射表\n const promiseMap = new Map<string, (value) => void>()\n\n /*\n 定义一个全局的 AppBridge 对象,提供 invoke 方法,用于 H5 调用 Flutter 暴露的原生 API,\n 核心是通过 Promise 来处理异步通信的结果回调.\n\n WLYDBridge: flutter 与 H5 约定的 bridge 名字\n */\n AppBridge = {\n invoke(type, data = {}) {\n //1. 检查 Flutter 桥接是否就绪(WLYDBridge 是 Flutter 注入的全局对象)\n if (!(window as any).WLYDBridge || typeof (window as any).WLYDBridge.postMessage !== 'function') {\n console.log(\"bridge not ready\");\n return Promise.reject(new Error('bridge not ready'));\n }\n return new Promise((resolve, reject) => {\n // 生成唯一的回调 ID,用于匹配 Flutter 回调的结果\n // 生成回调ID并注册resolve函数\n const callbackId = 'cb_' + (++cbId);\n promiseMap.set(callbackId, resolve as (value: any) => void);\n\n // 发送消息到Flutter\n\n (window as any).WLYDBridge.postMessage(\n JSON.stringify({\n type,\n data,\n callbackId,// 唯一回调 ID,Flutter 处理完会带回这个 ID\n version\n }\n ))\n });\n }\n };\n\n // 初始化AppBridge \n // Flutter回调处理\n // native bridge 回传数据\n const resolveCallbackPromise = <T = unknown>(callbackId: string, data: unknown) => {\n const resolve = promiseMap.get(callbackId);\n if (resolve) {\n try {\n let parsedData;\n if (typeof data === 'string') {\n try {\n parsedData = JSON.parse(data)\n } catch (parseError) {\n parsedData = {\n success: false,\n message: `JSON解析失败: ${parseError instanceof Error ? parseError.message : 'Unknown error'}`,\n }\n }\n } else {\n parsedData = data\n }\n // 成功时返回标准格式\n resolve(parsedData)\n } catch (error) {\n // 异常时返回错误格式\n resolve({\n success: false,\n message: error instanceof Error ? error.message : 'Unknown error',\n })\n } finally {\n // 清理映射表\n promiseMap.delete(callbackId)\n }\n }\n }\n\n (window as any).onFlutterCallbackPromise = <T = unknown>(callbackId: string, data: unknown): void => {\n resolveCallbackPromise<T>(callbackId, data)\n }\n}\n\n// 通用桥接调用封装\nexport const invoke = (type, params?: any, format?) => {\n\treturn AppBridge.invoke(type, params)\n\t\t.then(data => typeof format === 'function' ? format(data) : data)\n\t\t.catch(err => {\n console.log('invoke err', err);\n\t\t\tthrow err;\n\t\t});\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface ChooseImageOptions extends Omit<BaseOptions, 'success'> {\n count: number;\n sizeType: ['original', 'compressed'];\n sourceType: ['album', 'camera'];\n success?: (result: {\n tempFilePaths: string[];\n tempFiles: {\n size: number;\n type: string;\n }[];\n }) => void;\n}\n\n// 选择图片\nexport const chooseImage = (options: ChooseImageOptions) => {\n const { success, fail, complete, ...restParams } = options;\n invoke('chooseImage', restParams).then(data => {\n\t\tif (data.success) {\n\t\t\tsuccess?.(data);\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}\n","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface GetLocationOptions extends Omit<BaseOptions, 'success'> {\n\tsuccess?: (result: {\n\t\tlatitude: number;\n\t\tlongitude: number;\n\t}) => void;\n}\n \n// 获取定位\nexport const getLocation = (options: GetLocationOptions) => {\n\tconst { success, fail, complete, ...restParams } = options;\n\tinvoke('getLocation', restParams).then(result => {\n\t\tconst { data } = result;\n\t\tconsole.log('getLocation data', result);\n\t\tif (data && data.latitude && data.longitude) {\n\t\t\tsuccess?.(data);\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}\n","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface PreviewImageOptions extends BaseOptions {\n\turls: string[];\n}\n\n/**\n * 预览图片\n * @param options 预览图片参数\n * @param options.urls 图片URL列表\n * @param options.success 成功回调\n * @param options.fail 失败回调\n * @param options.complete 完成回调\n * @returns \n */\nexport const previewImage = (options: PreviewImageOptions) => {\n\tif (!options.urls || options.urls.length === 0) {\n\t\toptions.fail?.();\n\t\treturn;\n\t}\n\tinvoke('previewImage', {\n\t\turls: options.urls\n\t}).then(options.success)\n\t\t.catch(options.fail)\n\t\t.finally(options.complete);\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\nexport interface LoginOptions extends Omit<BaseOptions, 'success'> {\n\tsuccess?: (result: {\n\t\tloginSuccess: boolean;\n\t\tuserId: string;\n\t}) => void;\n}\n\nexport const login = (options: LoginOptions) => {\n\tconst { success, fail, complete, ...restParams } = options;\n\tinvoke('login', restParams).then(data => {\n\t\tif (data.success) {\n\t\t\tsuccess?.(data);\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface NavigateToOptions extends BaseOptions {\n\troute: string;\n\tparams: any;\n}\n\nexport const navigateTo = (options: NavigateToOptions) => {\n\tconst { success, fail, complete, ...restParams } = options;\n\tinvoke('navigateTo', restParams).then(data => {\n\t\tif (data.success) {\n\t\t\tsuccess?.();\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface WxShareOptions extends BaseOptions {\n\ttitle: string;\n\turl: string;\n\tshareType: ['appMessage', 'timeline', 'favorite'];\n}\n// 分享\nexport const wxShare = (options: WxShareOptions) => {\n\tconst { success, fail, complete, ...restParams } = options;\n\tinvoke('wxShare', restParams).then(data => {\n\t\tif (data.success) {\n\t\t\tsuccess?.();\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\n// 返回\nexport const navigateBack = (options?: BaseOptions) => {\n const { success, fail, complete, ...restParams } = options;\n\tinvoke('back', restParams).then(data => {\n\t\tconsole.log('navigateBack data', data);\n\t\t// if (data.success) {\n\t\t// \tsuccess?.();\n\t\t// } else {\n\t\t// \tfail?.();\n\t\t// }\n\t}).catch(fail).finally(complete);\n // .then(() => showToast('返回已触发', 2000, 'success'));\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface NavigationBarTitleOptions extends BaseOptions {\n\ttitle: string;\n}\n\n/**\n * 预览图片\n * @param options 预览图片参数\n * @param options.urls 图片URL列表\n * @param options.success 成功回调\n * @param options.fail 失败回调\n * @param options.complete 完成回调\n * @returns \n */\nexport const setNavigationBarTitle = (options: NavigationBarTitleOptions) => {\n\tif (!options.title) {\n\t\toptions.fail?.();\n\t\treturn;\n\t}\n\tinvoke('updateNavTitle', {\n\t\ttitle: options.title\n\t}).then(options.success)\n\t\t.catch(options.fail)\n\t\t.finally(options.complete);\n}","export enum LifecycleHooks {\n PAGE_CREATED = 'onPageCreated',\n RESUME = 'onResume',\n PAUSE = 'onPause',\n LOAD = 'onLoad',\n SHOW = 'onShow',\n HIDE = 'onHide',\n DESTROY = 'onDestroy'\n}","import { LifecycleHooks } from \"./types\";\n\nconst __lifecycleFunctionMap = {};\n\n// 1. 注册全局监听函数,接收 Flutter 生命周期事件\n(window as any).flutterLifeCycleListener = function(eventName) {\n if (__lifecycleFunctionMap[eventName]) {\n __lifecycleFunctionMap[eventName].forEach(hook => hook())\n }\n};\n\nconst createLifeCycleHook = (\n lifecycle: string\n ) =>\n (\n hook: () => void,\n ): void => {\n __lifecycleFunctionMap[lifecycle] = __lifecycleFunctionMap[lifecycle] || []\n __lifecycleFunctionMap[lifecycle].push(hook)\n }\n\nexport const onPageCreated = createLifeCycleHook(LifecycleHooks.PAGE_CREATED)\nexport const onResume = createLifeCycleHook(LifecycleHooks.RESUME)\nexport const onPause = createLifeCycleHook(LifecycleHooks.PAUSE)\nexport const onLoad = createLifeCycleHook(LifecycleHooks.LOAD)\nexport const onShow = createLifeCycleHook(LifecycleHooks.SHOW)\nexport const onHide = createLifeCycleHook(LifecycleHooks.HIDE)\nexport const onDestroy = createLifeCycleHook(LifecycleHooks.DESTROY)","import * as api from './api'\nimport { initBridgeCore } from './core/bridgeCore'\nimport { onPageCreated } from './lifecycle/apiLifecycle'\n\nconst initBridge = () => {\n initBridgeCore()\n}\n\nonPageCreated(() => {\n if (!(window as any).uni) {\n (window as any).uni = {}\n }\n const uniApi: any = (window as any).uni\n Object.assign(uniApi, api)\n})\n\ninitBridge()\n\nexport * from './api'\nexport * from './lifecycle/apiLifecycle'"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.js","sources":["../src/core/bridgeCore.ts","../src/api/chooseImage.ts","../src/api/getLocation.ts","../src/api/previewImage.ts","../src/api/login.ts","../src/api/navigateTo.ts","../src/api/wxShare.ts","../src/api/navigateBack.ts","../src/api/setNavigationBarTitle.ts","../src/lifecycle/types.ts","../src/lifecycle/apiLifecycle.ts","../src/index.ts"],"sourcesContent":["let AppBridge = null;\n\nexport const initBridgeCore = () => {\n // 全局回调ID和回调函数存储\n let cbId = 0;\n // 全局回调池,存储「回调 ID → {resolve, reject}」的映射\n // const cbs = {};\n const version = \"1.0\";\n\n // Promise resolve 映射表\n const promiseMap = new Map<string, (value) => void>()\n\n /*\n 定义一个全局的 AppBridge 对象,提供 invoke 方法,用于 H5 调用 Flutter 暴露的原生 API,\n 核心是通过 Promise 来处理异步通信的结果回调.\n\n WLYDBridge: flutter 与 H5 约定的 bridge 名字\n */\n AppBridge = {\n invoke(type, data = {}) {\n //1. 检查 Flutter 桥接是否就绪(WLYDBridge 是 Flutter 注入的全局对象)\n if (!(window as any).WLYDBridge || typeof (window as any).WLYDBridge.postMessage !== 'function') {\n console.log(\"bridge not ready\");\n return Promise.reject(new Error('bridge not ready'));\n }\n return new Promise((resolve, reject) => {\n // 生成唯一的回调 ID,用于匹配 Flutter 回调的结果\n // 生成回调ID并注册resolve函数\n const callbackId = 'cb_' + (++cbId);\n promiseMap.set(callbackId, resolve as (value: any) => void);\n\n // 发送消息到Flutter\n\n (window as any).WLYDBridge.postMessage(\n JSON.stringify({\n type,\n data,\n callbackId,// 唯一回调 ID,Flutter 处理完会带回这个 ID\n version\n }\n ))\n });\n }\n };\n\n // 初始化AppBridge \n // Flutter回调处理\n // native bridge 回传数据\n const resolveCallbackPromise = <T = unknown>(callbackId: string, data: unknown) => {\n const resolve = promiseMap.get(callbackId);\n if (resolve) {\n try {\n let parsedData;\n if (typeof data === 'string') {\n try {\n parsedData = JSON.parse(data)\n } catch (parseError) {\n parsedData = {\n success: false,\n message: `JSON解析失败: ${parseError instanceof Error ? parseError.message : 'Unknown error'}`,\n }\n }\n } else {\n parsedData = data\n }\n // 成功时返回标准格式\n resolve(parsedData)\n } catch (error) {\n // 异常时返回错误格式\n resolve({\n success: false,\n message: error instanceof Error ? error.message : 'Unknown error',\n })\n } finally {\n // 清理映射表\n promiseMap.delete(callbackId)\n }\n }\n }\n\n (window as any).onFlutterCallbackPromise = <T = unknown>(callbackId: string, data: unknown): void => {\n resolveCallbackPromise<T>(callbackId, data)\n }\n}\n\n// 通用桥接调用封装\nexport const invoke = (type, params?: any, format?) => {\n\treturn AppBridge.invoke(type, params)\n\t\t.then(data => typeof format === 'function' ? format(data) : data)\n\t\t.catch(err => {\n console.log('invoke err', err);\n\t\t\tthrow err;\n\t\t});\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface ChooseImageOptions extends Omit<BaseOptions, 'success'> {\n count: number;\n sizeType: ['original', 'compressed'];\n sourceType: ['album', 'camera'];\n success?: (result: {\n tempFilePaths: string[];\n tempFiles: {\n size: number;\n type: string;\n }[];\n }) => void;\n}\n\n// 选择图片\nexport const chooseImage = (options: ChooseImageOptions) => {\n const { success, fail, complete, ...restParams } = options;\n invoke('chooseImage', restParams).then(data => {\n\t\tif (data.success) {\n\t\t\tsuccess?.(data);\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}\n","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface GetLocationOptions extends Omit<BaseOptions, 'success'> {\n\tsuccess?: (result: {\n\t\tlatitude: number;\n\t\tlongitude: number;\n\t}) => void;\n}\n \n// 获取定位\nexport const getLocation = (options: GetLocationOptions) => {\n\tconst { success, fail, complete, ...restParams } = options;\n\tinvoke('getLocation', restParams).then(result => {\n\t\tconst { data } = result;\n\t\tconsole.log('getLocation data', result);\n\t\tif (data && data.latitude && data.longitude) {\n\t\t\tsuccess?.(data);\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}\n","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface PreviewImageOptions extends BaseOptions {\n\turls: string[];\n}\n\n/**\n * 预览图片\n * @param options 预览图片参数\n * @param options.urls 图片URL列表\n * @param options.success 成功回调\n * @param options.fail 失败回调\n * @param options.complete 完成回调\n * @returns \n */\nexport const previewImage = (options: PreviewImageOptions) => {\n\tif (!options.urls || options.urls.length === 0) {\n\t\toptions.fail?.();\n\t\treturn;\n\t}\n\tinvoke('previewImage', {\n\t\turls: options.urls\n\t}).then(options.success)\n\t\t.catch(options.fail)\n\t\t.finally(options.complete);\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\nexport interface LoginOptions extends Omit<BaseOptions, 'success'> {\n\tsuccess?: (result: {\n\t\tloginSuccess: boolean;\n\t\tuserId: string;\n\t}) => void;\n}\n\nexport const login = (options: LoginOptions) => {\n\tconst { success, fail, complete, ...restParams } = options;\n\tinvoke('login', restParams).then(data => {\n\t\tif (data.success) {\n\t\t\tsuccess?.(data);\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface NavigateToOptions extends BaseOptions {\n\troute: string;\n\tparams: any;\n}\n\nexport const navigateTo = (options: NavigateToOptions) => {\n\tconst { success, fail, complete, ...restParams } = options;\n\tinvoke('navigateTo', restParams).then(data => {\n\t\tif (data.success) {\n\t\t\tsuccess?.();\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface WxShareOptions extends BaseOptions {\n\ttitle: string;\n\turl: string;\n\tshareType: ['appMessage', 'timeline', 'favorite'];\n}\n// 分享\nexport const wxShare = (options: WxShareOptions) => {\n\tconst { success, fail, complete, ...restParams } = options;\n\tinvoke('wxShare', restParams).then(data => {\n\t\tif (data.success) {\n\t\t\tsuccess?.();\n\t\t} else {\n\t\t\tfail?.();\n\t\t}\n\t}).catch(fail).finally(complete);\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\n// 返回\nexport const navigateBack = (options?: BaseOptions) => {\n const { success, fail, complete, ...restParams } = options;\n\tinvoke('back', restParams).then(data => {\n\t\tconsole.log('navigateBack data', data);\n\t\t// if (data.success) {\n\t\t// \tsuccess?.();\n\t\t// } else {\n\t\t// \tfail?.();\n\t\t// }\n\t}).catch(fail).finally(complete);\n // .then(() => showToast('返回已触发', 2000, 'success'));\n}","import { invoke } from \"../core/bridgeCore\";\nimport { BaseOptions } from \"../types\";\n\nexport interface NavigationBarTitleOptions extends BaseOptions {\n\ttitle: string;\n}\n\n/**\n * 预览图片\n * @param options 预览图片参数\n * @param options.urls 图片URL列表\n * @param options.success 成功回调\n * @param options.fail 失败回调\n * @param options.complete 完成回调\n * @returns \n */\nexport const setNavigationBarTitle = (options: NavigationBarTitleOptions) => {\n\tif (!options.title) {\n\t\toptions.fail?.();\n\t\treturn;\n\t}\n\tinvoke('updateNavTitle', {\n\t\ttitle: options.title\n\t}).then(options.success)\n\t\t.catch(options.fail)\n\t\t.finally(options.complete);\n}","export enum LifecycleHooks {\n PAGE_CREATED = 'onPageCreated',\n RESUME = 'onResume',\n PAUSE = 'onPause',\n LOAD = 'onLoad',\n SHOW = 'onShow',\n HIDE = 'onHide',\n DESTROY = 'onDestroy'\n}","import { LifecycleHooks } from \"./types\";\n\nconst __lifecycleFunctionMap = {};\n\n// 1. 注册全局监听函数,接收 Flutter 生命周期事件\n(window as any).flutterLifeCycleListener = function(eventName) {\n if (__lifecycleFunctionMap[eventName]) {\n __lifecycleFunctionMap[eventName].forEach(hook => hook())\n }\n};\n\nconst createLifeCycleHook = (\n lifecycle: string\n ) =>\n (\n hook: () => void,\n ): void => {\n __lifecycleFunctionMap[lifecycle] = __lifecycleFunctionMap[lifecycle] || []\n __lifecycleFunctionMap[lifecycle].push(hook)\n }\n\nexport const onPageCreated = createLifeCycleHook(LifecycleHooks.PAGE_CREATED)\nexport const onResume = createLifeCycleHook(LifecycleHooks.RESUME)\nexport const onPause = createLifeCycleHook(LifecycleHooks.PAUSE)\nexport const onLoad = createLifeCycleHook(LifecycleHooks.LOAD)\nexport const onShow = createLifeCycleHook(LifecycleHooks.SHOW)\nexport const onHide = createLifeCycleHook(LifecycleHooks.HIDE)\nexport const onDestroy = createLifeCycleHook(LifecycleHooks.DESTROY)","import * as api from './api'\nimport { initBridgeCore } from './core/bridgeCore'\nimport { onPageCreated } from './lifecycle/apiLifecycle'\n\nconst initBridge = () => {\n initBridgeCore()\n}\n\nconst ua =\n typeof navigator !== 'undefined' && navigator.userAgent ? navigator.userAgent.toLowerCase() : ''\n\n// 判断是否在flutter的webview中\nconst isInApp = /FlutterDriverAndroidIOS/i.test(ua)\n\nif (isInApp) {\n if (!(window as any).uni) {\n (window as any).uni = {}\n }\n const uniApi: any = (window as any).uni\n Object.assign(uniApi, api)\n}\n\ninitBridge()\n\nexport * from './api'\nexport * from './lifecycle/apiLifecycle'"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wlydfe/flutter-bridge",
3
- "version": "0.0.8",
3
+ "version": "0.0.9",
4
4
  "description": "flutter uniapp bridge",
5
5
  "main": "lib/index.umd.js",
6
6
  "module": "lib/index.js",
package/src/index.ts CHANGED
@@ -6,13 +6,19 @@ const initBridge = () => {
6
6
  initBridgeCore()
7
7
  }
8
8
 
9
- onPageCreated(() => {
9
+ const ua =
10
+ typeof navigator !== 'undefined' && navigator.userAgent ? navigator.userAgent.toLowerCase() : ''
11
+
12
+ // 判断是否在flutter的webview中
13
+ const isInApp = /FlutterDriverAndroidIOS/i.test(ua)
14
+
15
+ if (isInApp) {
10
16
  if (!(window as any).uni) {
11
17
  (window as any).uni = {}
12
18
  }
13
19
  const uniApi: any = (window as any).uni
14
20
  Object.assign(uniApi, api)
15
- })
21
+ }
16
22
 
17
23
  initBridge()
18
24