@kbapp/js-bridge 0.4.8-alpha.0 → 1.0.0-alpha.0

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.
Files changed (60) hide show
  1. package/LOGIN.MD +79 -0
  2. package/README.MD +1045 -182
  3. package/dist/core/index.d.ts +68 -16
  4. package/dist/index.d.ts +8 -5
  5. package/dist/index.es.js +516 -0
  6. package/dist/index.umd.js +1 -0
  7. package/dist/lib/app-version-support.d.ts +41 -0
  8. package/dist/lib/bridge-code.d.ts +14 -0
  9. package/dist/lib/check-for-new-version.d.ts +7 -5
  10. package/dist/lib/close-webview.d.ts +6 -2
  11. package/dist/lib/define-permission-usage.d.ts +8 -2
  12. package/dist/lib/generate-kb-sign.d.ts +13 -2
  13. package/dist/lib/{get-device-info.d.ts → get-app-base-info.d.ts} +14 -7
  14. package/dist/lib/open-post-editor.d.ts +47 -4
  15. package/dist/lib/report-da-event.d.ts +33 -0
  16. package/dist/lib/run-action.d.ts +9 -5
  17. package/dist/lib/save-image-to-local.d.ts +8 -4
  18. package/dist/lib/save-video-to-local.d.ts +7 -3
  19. package/dist/lib/scan-qr-code.d.ts +23 -0
  20. package/dist/lib/screen-orientation.d.ts +13 -0
  21. package/dist/lib/set-webview-title.d.ts +7 -3
  22. package/dist/lib/share-image.d.ts +21 -0
  23. package/dist/lib/share-model.d.ts +170 -45
  24. package/dist/lib/subscribe-notify.d.ts +25 -0
  25. package/dist/lib/trigger-login.d.ts +18 -10
  26. package/dist/utils/filter-undefined-properties.d.ts +6 -0
  27. package/dist/utils/promise-cache.d.ts +5 -0
  28. package/dist/utils/wrap-async.d.ts +17 -0
  29. package/examples/index.html +236 -0
  30. package/package.json +17 -4
  31. package/vite.config.ts +32 -0
  32. package/dist/core/index.js +0 -84
  33. package/dist/core/lib/ds-bridge.d.ts +0 -7
  34. package/dist/core/lib/ds-bridge.js +0 -126
  35. package/dist/core/lib/flutter-ds-bridge.js +0 -172
  36. package/dist/core/lib/js-bridge.d.ts +0 -22
  37. package/dist/core/lib/js-bridge.js +0 -188
  38. package/dist/index.js +0 -33
  39. package/dist/lib/can-i-use.d.ts +0 -13
  40. package/dist/lib/can-i-use.js +0 -102
  41. package/dist/lib/check-for-new-version.js +0 -26
  42. package/dist/lib/close-webview.js +0 -24
  43. package/dist/lib/define-permission-usage.js +0 -40
  44. package/dist/lib/generate-kb-sign.js +0 -75
  45. package/dist/lib/get-device-info.js +0 -36
  46. package/dist/lib/js-bridge-code.d.ts +0 -10
  47. package/dist/lib/js-bridge-code.js +0 -14
  48. package/dist/lib/open-post-editor.js +0 -116
  49. package/dist/lib/report-getui.d.ts +0 -14
  50. package/dist/lib/report-getui.js +0 -17
  51. package/dist/lib/run-action.js +0 -29
  52. package/dist/lib/save-image-to-local.js +0 -28
  53. package/dist/lib/save-video-to-local.js +0 -28
  54. package/dist/lib/set-webview-title.js +0 -27
  55. package/dist/lib/share-model.js +0 -80
  56. package/dist/lib/share-poster.d.ts +0 -16
  57. package/dist/lib/share-poster.js +0 -26
  58. package/dist/lib/trigger-login.js +0 -195
  59. package/dist/util/promise-cache.d.ts +0 -5
  60. package/dist/util/promise-cache.js +0 -24
@@ -1,16 +0,0 @@
1
- /**
2
- *
3
- * @description 分享海报 app版本要求6.90.11
4
- * **示例代码**
5
- ```js
6
- import { sharePoster } from '@kbapp/js-bridge';
7
-
8
- sharePoster({
9
- imageUrl: 'https://static.kaiba315.com.cn/kaiba-logo.png'
10
- })
11
- ```
12
- */
13
- export declare const sharePoster: (data: {
14
- /** 图片(仅支持网络地址,jpg/png) */
15
- imageUrl: string;
16
- }) => Promise<void>;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sharePoster = void 0;
4
- var core_1 = require("../core");
5
- var can_i_use_1 = require("./can-i-use");
6
- /**
7
- *
8
- * @description 分享海报 app版本要求6.90.11
9
- * **示例代码**
10
- ```js
11
- import { sharePoster } from '@kbapp/js-bridge';
12
-
13
- sharePoster({
14
- imageUrl: 'https://static.kaiba315.com.cn/kaiba-logo.png'
15
- })
16
- ```
17
- */
18
- exports.sharePoster = (0, can_i_use_1.decoreateCanIUse)('sharePoster', function (data) {
19
- (0, core_1.callHandler)({
20
- name: 'OpenActRequest',
21
- params: {
22
- type: 58,
23
- data: data,
24
- },
25
- });
26
- });
@@ -1,195 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.watchAppLoginSuccess = exports.AppBridgedUserInfo = void 0;
40
- exports.getAppLoginInfo = getAppLoginInfo;
41
- exports.triggerAppLogin = triggerAppLogin;
42
- var js_bridge_code_1 = require("./js-bridge-code");
43
- var core_1 = require("../core");
44
- /**
45
- *
46
- * @description 登录信息
47
- */
48
- var AppBridgedUserInfo = /** @class */ (function () {
49
- function AppBridgedUserInfo() {
50
- }
51
- return AppBridgedUserInfo;
52
- }());
53
- exports.AppBridgedUserInfo = AppBridgedUserInfo;
54
- /**
55
- *
56
- * @description 获取用户登录信息.如果未登录返回null
57
- */
58
- function getAppLoginInfo() {
59
- return __awaiter(this, void 0, void 0, function () {
60
- var result;
61
- return __generator(this, function (_a) {
62
- switch (_a.label) {
63
- case 0: return [4 /*yield*/, (0, core_1.callHandlerPromise)({
64
- name: 'OpenActRequest',
65
- params: { type: 31, data: { requireLogin: false } },
66
- })];
67
- case 1:
68
- result = _a.sent();
69
- return [2 /*return*/, result.data || null];
70
- }
71
- });
72
- });
73
- }
74
- var watchAppLoginSuccessTask = (function () {
75
- /** 注册函数 */
76
- var watchHandles = new Set();
77
- /** 定时检测任务. 因为app登录桥接不一定会触发回调任务,因此采用定时任务方式 */
78
- var resetCheckTask = (function () {
79
- var checkTaskHandle;
80
- var checkTaskFunction = function (executeNumber) {
81
- /**
82
- * 获取延迟时间
83
- * 0-30秒, 每600毫秒检查一次, 30-60秒, 1000毫秒检查一次, 60秒后 5 秒检查一次
84
- */
85
- var setTimeoutDelay = function (executeNumber) {
86
- return executeNumber === 0 ? 0 : executeNumber < 50 ? 600 : executeNumber < 80 ? 1000 : 5000;
87
- };
88
- checkTaskHandle = setTimeout(function () { return __awaiter(void 0, void 0, void 0, function () {
89
- var loginInfo;
90
- return __generator(this, function (_a) {
91
- switch (_a.label) {
92
- case 0: return [4 /*yield*/, getAppLoginInfo()];
93
- case 1:
94
- loginInfo = _a.sent();
95
- if (!loginInfo) {
96
- return [2 /*return*/, checkTaskFunction(++executeNumber)];
97
- }
98
- watchHandles.forEach(function (callback) { return callback(loginInfo); });
99
- watchHandles.clear();
100
- return [2 /*return*/];
101
- }
102
- });
103
- }); }, setTimeoutDelay(executeNumber));
104
- };
105
- return {
106
- start: function () {
107
- checkTaskHandle && clearTimeout(checkTaskHandle);
108
- if (watchHandles.size > 0) {
109
- checkTaskFunction(0);
110
- }
111
- },
112
- stop: function () {
113
- checkTaskHandle && clearTimeout(checkTaskHandle);
114
- },
115
- };
116
- })();
117
- return {
118
- /** 注册监听事件(需要通过triggerCheckTask触发检测任务) */
119
- addTask: function (callback) {
120
- watchHandles.add(callback);
121
- },
122
- /** 移除监听 */
123
- removeTask: function (callback) {
124
- watchHandles.delete(callback);
125
- if (watchHandles.size === 0) {
126
- resetCheckTask.stop();
127
- }
128
- },
129
- /** 触发定时检测是否登录成功任务 */
130
- triggerCheckTask: function () {
131
- resetCheckTask.start();
132
- },
133
- };
134
- })();
135
- /**
136
- *
137
- * @description 触发登录
138
- * 如果已登录,将直接返回登录信息, 请通过 `watchAppLoginSuccess` 监听登录成功事件
139
- */
140
- function triggerAppLogin() {
141
- return __awaiter(this, void 0, void 0, function () {
142
- var loginInfo;
143
- return __generator(this, function (_a) {
144
- switch (_a.label) {
145
- case 0: return [4 /*yield*/, getAppLoginInfo()];
146
- case 1:
147
- loginInfo = _a.sent();
148
- if (loginInfo) {
149
- return [2 /*return*/, loginInfo];
150
- }
151
- watchAppLoginSuccessTask.triggerCheckTask();
152
- /**
153
- * 当reqiureLogin为true时用户取消登录或者, 第三方登录, 均不会触发回调
154
- * 只有当用户完成登录流程(第三方不支持)才会回调
155
- */
156
- (0, core_1.callHandler)({
157
- name: 'OpenActRequest',
158
- params: { type: 31, data: { requireLogin: true } },
159
- success: function (result) {
160
- var _a;
161
- if ((_a = result.data) === null || _a === void 0 ? void 0 : _a.userId) {
162
- watchAppLoginSuccessTask.triggerCheckTask();
163
- }
164
- },
165
- });
166
- return [2 /*return*/, Promise.reject({ errCode: js_bridge_code_1.JSBridgeCode.UN_LOGIN })];
167
- }
168
- });
169
- });
170
- }
171
- /**
172
- *
173
- * @description 注册监听app登录成功, 监听时候立刻执行检测一次, 注意,该函数仅读取登录信息, 不会触发登录
174
- * @param {(loginInfo: AppBridgedUserInfo) => void} callback 登录成功回调
175
- * @returns {() => void} 调用该函数取消监听
176
- *
177
- * **示例代码**
178
- ```js
179
- import { watchAppLoginSuccess } from '@kbapp/js-bridge';
180
-
181
- const handle = watchAppLoginSuccess(() => {
182
- console.log('登录成功')
183
- })
184
-
185
- // handle() 停止监听
186
- ```
187
- */
188
- var watchAppLoginSuccess = function (callback) {
189
- watchAppLoginSuccessTask.addTask(callback);
190
- watchAppLoginSuccessTask.triggerCheckTask();
191
- return function () {
192
- watchAppLoginSuccessTask.removeTask(callback);
193
- };
194
- };
195
- exports.watchAppLoginSuccess = watchAppLoginSuccess;
@@ -1,5 +0,0 @@
1
- /**
2
- *
3
- * @description 缓存promise结果
4
- */
5
- export declare function decoratePromiseCache<CB extends (...params: any[]) => any>(cb: CB): (...params: Parameters<CB>) => ReturnType<CB>;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.decoratePromiseCache = decoratePromiseCache;
4
- /**
5
- *
6
- * @description 缓存promise结果
7
- */
8
- function decoratePromiseCache(cb) {
9
- var promiseResult;
10
- return function () {
11
- var params = [];
12
- for (var _i = 0; _i < arguments.length; _i++) {
13
- params[_i] = arguments[_i];
14
- }
15
- if (promiseResult) {
16
- return promiseResult;
17
- }
18
- promiseResult = cb.apply(void 0, params);
19
- Promise.resolve(promiseResult).catch(function () {
20
- promiseResult = undefined;
21
- });
22
- return promiseResult;
23
- };
24
- }