@arcblock/bridge 2.9.64 → 2.9.66

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.
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ /* eslint-disable */
8
+ /**
9
+ * @copyright https://www.npmjs.com/package/dsbridge
10
+ * @description 只添加方法劫持前的判断,其余不做任何改动,确保不会有任何影响
11
+ */
12
+
13
+ var bridge = {
14
+ call: function call(method, args, cb) {
15
+ var ret = '';
16
+ if (typeof args == 'function') {
17
+ cb = args;
18
+ args = {};
19
+ }
20
+ var arg = {
21
+ data: args === undefined ? null : args
22
+ };
23
+ if (typeof cb == 'function') {
24
+ var cbName = 'dscb' + window.dscb++;
25
+ window[cbName] = cb;
26
+ arg['_dscbstub'] = cbName;
27
+ }
28
+ arg = JSON.stringify(arg);
29
+
30
+ //if in webview that dsBridge provided, call!
31
+ if (window._dsbridge) {
32
+ ret = _dsbridge.call(method, arg);
33
+ } else if (window._dswk || navigator.userAgent.indexOf('_dsbridge') != -1) {
34
+ ret = prompt('_dsbridge=' + method, arg);
35
+ }
36
+ return JSON.parse(ret || '{}').data;
37
+ },
38
+ register: function register(name, fun, asyn) {
39
+ var q = asyn ? window._dsaf : window._dsf;
40
+ if (!window._dsInit) {
41
+ window._dsInit = true;
42
+ //notify native that js apis register successfully on next event loop
43
+ setTimeout(function () {
44
+ bridge.call('_dsb.dsinit');
45
+ }, 0);
46
+ }
47
+ if (typeof fun == 'object') {
48
+ q._obs[name] = fun;
49
+ } else {
50
+ q[name] = fun;
51
+ }
52
+ },
53
+ registerAsyn: function registerAsyn(name, fun) {
54
+ this.register(name, fun, true);
55
+ },
56
+ hasNativeMethod: function hasNativeMethod(name, type) {
57
+ return this.call('_dsb.hasNativeMethod', {
58
+ name: name,
59
+ type: type || 'all'
60
+ });
61
+ },
62
+ disableJavascriptDialogBlock: function disableJavascriptDialogBlock(disable) {
63
+ this.call('_dsb.disableJavascriptDialogBlock', {
64
+ disable: disable !== false
65
+ });
66
+ }
67
+ };
68
+ !function () {
69
+ // 只有在 dsbridge 注入过的环境,才执行下方的代码
70
+ if (!(window._dsbridge || window._dswk || navigator.userAgent.indexOf('_dsbridge') != -1)) return;
71
+ if (window._dsf) return;
72
+ var ob = {
73
+ _dsf: {
74
+ _obs: {}
75
+ },
76
+ _dsaf: {
77
+ _obs: {}
78
+ },
79
+ dscb: 0,
80
+ dsBridge: bridge,
81
+ close: function close() {
82
+ bridge.call('_dsb.closePage');
83
+ },
84
+ _handleMessageFromNative: function _handleMessageFromNative(info) {
85
+ var arg = JSON.parse(info.data);
86
+ var ret = {
87
+ id: info.callbackId,
88
+ complete: true
89
+ };
90
+ var f = this._dsf[info.method];
91
+ var af = this._dsaf[info.method];
92
+ var callSyn = function callSyn(f, ob) {
93
+ ret.data = f.apply(ob, arg);
94
+ bridge.call('_dsb.returnValue', ret);
95
+ };
96
+ var callAsyn = function callAsyn(f, ob) {
97
+ arg.push(function (data, complete) {
98
+ ret.data = data;
99
+ ret.complete = complete !== false;
100
+ bridge.call('_dsb.returnValue', ret);
101
+ });
102
+ f.apply(ob, arg);
103
+ };
104
+ if (f) {
105
+ callSyn(f, this._dsf);
106
+ } else if (af) {
107
+ callAsyn(af, this._dsaf);
108
+ } else {
109
+ //with namespace
110
+ var name = info.method.split('.');
111
+ if (name.length < 2) return;
112
+ var method = name.pop();
113
+ var namespace = name.join('.');
114
+ var obs = this._dsf._obs;
115
+ var ob = obs[namespace] || {};
116
+ var m = ob[method];
117
+ if (m && typeof m == 'function') {
118
+ callSyn(m, ob);
119
+ return;
120
+ }
121
+ obs = this._dsaf._obs;
122
+ ob = obs[namespace] || {};
123
+ m = ob[method];
124
+ if (m && typeof m == 'function') {
125
+ callAsyn(m, ob);
126
+ return;
127
+ }
128
+ }
129
+ }
130
+ };
131
+ for (var attr in ob) {
132
+ window[attr] = ob[attr];
133
+ }
134
+ bridge.register('_hasJavascriptMethod', function (method, tag) {
135
+ var name = method.split('.');
136
+ if (name.length < 2) {
137
+ return !!(_dsf[name] || _dsaf[name]);
138
+ } else {
139
+ // with namespace
140
+ var method = name.pop();
141
+ var namespace = name.join('.');
142
+ var ob = _dsf._obs[namespace] || _dsaf._obs[namespace];
143
+ return ob && !!ob[method];
144
+ }
145
+ });
146
+ }();
147
+ var _default = exports.default = bridge;
package/lib/index.js CHANGED
@@ -4,19 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _dsbridge2 = _interopRequireDefault(require("dsbridge"));
7
+ var _dsbridge = _interopRequireDefault(require("./dsbridge"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
- const dsbridge = _dsbridge2.default.call ? _dsbridge2.default : _dsbridge2.default.default;
10
9
  var _default = exports.default = {
11
10
  call() {
12
- dsbridge.call(...arguments);
11
+ _dsbridge.default.call(...arguments);
13
12
  },
14
13
  asyncCall() {
15
14
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
16
15
  args[_key] = arguments[_key];
17
16
  }
18
17
  return new Promise((resolve, reject) => {
19
- dsbridge.call(...args, resString => {
18
+ _dsbridge.default.call(...args, resString => {
20
19
  try {
21
20
  const result = JSON.parse(resString);
22
21
  if (result.code === 0) {
@@ -43,7 +42,7 @@ var _default = exports.default = {
43
42
  fail('params error');
44
43
  return;
45
44
  }
46
- dsbridge.call('arcShare', JSON.stringify({
45
+ _dsbridge.default.call('arcShare', JSON.stringify({
47
46
  content,
48
47
  imgUrl
49
48
  }), result => {
@@ -58,14 +57,14 @@ var _default = exports.default = {
58
57
  });
59
58
  },
60
59
  showLoading() {
61
- dsbridge.call('arcShowLoading');
60
+ _dsbridge.default.call('arcShowLoading');
62
61
  },
63
62
  hideLoading() {
64
- dsbridge.call('arcHideLoading');
63
+ _dsbridge.default.call('arcHideLoading');
65
64
  },
66
65
  showToast(msg) {
67
66
  if (msg && typeof msg === 'string') {
68
- dsbridge.call('arcToast', msg);
67
+ _dsbridge.default.call('arcToast', msg);
69
68
  }
70
69
  },
71
70
  // 图片功能
@@ -75,7 +74,7 @@ var _default = exports.default = {
75
74
  success,
76
75
  fail
77
76
  } = params;
78
- dsbridge.call('arcChooseImgs', JSON.stringify({
77
+ _dsbridge.default.call('arcChooseImgs', JSON.stringify({
79
78
  limit
80
79
  }), result => {
81
80
  const parseResult = JSON.parse(result);
@@ -95,7 +94,7 @@ var _default = exports.default = {
95
94
  if (!imgs || imgs.length === 0) {
96
95
  return;
97
96
  }
98
- dsbridge.call('arcPreviewImgs', JSON.stringify(params));
97
+ _dsbridge.default.call('arcPreviewImgs', JSON.stringify(params));
99
98
  },
100
99
  // 钱包功能
101
100
  isSetPWD(params) {
@@ -103,7 +102,7 @@ var _default = exports.default = {
103
102
  success,
104
103
  fail
105
104
  } = params;
106
- dsbridge.call('arcIsSetPWD', '', result => {
105
+ _dsbridge.default.call('arcIsSetPWD', '', result => {
107
106
  const parseResult = JSON.parse(result);
108
107
  if (parseResult && parseResult.code === 0) {
109
108
  if (typeof success === 'function') {
@@ -119,7 +118,7 @@ var _default = exports.default = {
119
118
  success,
120
119
  fail
121
120
  } = params;
122
- dsbridge.call('arcIsCodeABOk', '', result => {
121
+ _dsbridge.default.call('arcIsCodeABOk', '', result => {
123
122
  const parseResult = JSON.parse(result);
124
123
  if (parseResult && parseResult.code === 0) {
125
124
  if (typeof success === 'function') {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcblock/bridge",
3
- "version": "2.9.64",
3
+ "version": "2.9.66",
4
4
  "description": "a bridge sdk support all js api from DID Wallet.",
5
5
  "keywords": [
6
6
  "bridge",
@@ -27,9 +27,6 @@
27
27
  "bugs": {
28
28
  "url": "https://github.com/ArcBlock/ux/issues"
29
29
  },
30
- "dependencies": {
31
- "dsbridge": "^3.1.4"
32
- },
33
30
  "publishConfig": {
34
31
  "access": "public"
35
32
  },
@@ -41,5 +38,5 @@
41
38
  "eslint-plugin-react-hooks": "^4.6.0",
42
39
  "jest": "^28.1.3"
43
40
  },
44
- "gitHead": "07512d499517211d456222e096484cc7e89e5420"
41
+ "gitHead": "97e0dafc5e7ab2a2a25942a145f4211e3ec01a5e"
45
42
  }
@@ -0,0 +1,139 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * @copyright https://www.npmjs.com/package/dsbridge
4
+ * @description 只添加方法劫持前的判断,其余不做任何改动,确保不会有任何影响
5
+ */
6
+
7
+ var bridge = {
8
+ call: function (method, args, cb) {
9
+ var ret = '';
10
+ if (typeof args == 'function') {
11
+ cb = args;
12
+ args = {};
13
+ }
14
+ var arg = { data: args === undefined ? null : args };
15
+ if (typeof cb == 'function') {
16
+ var cbName = 'dscb' + window.dscb++;
17
+ window[cbName] = cb;
18
+ arg['_dscbstub'] = cbName;
19
+ }
20
+ arg = JSON.stringify(arg);
21
+
22
+ //if in webview that dsBridge provided, call!
23
+ if (window._dsbridge) {
24
+ ret = _dsbridge.call(method, arg);
25
+ } else if (window._dswk || navigator.userAgent.indexOf('_dsbridge') != -1) {
26
+ ret = prompt('_dsbridge=' + method, arg);
27
+ }
28
+
29
+ return JSON.parse(ret || '{}').data;
30
+ },
31
+ register: function (name, fun, asyn) {
32
+ var q = asyn ? window._dsaf : window._dsf;
33
+ if (!window._dsInit) {
34
+ window._dsInit = true;
35
+ //notify native that js apis register successfully on next event loop
36
+ setTimeout(function () {
37
+ bridge.call('_dsb.dsinit');
38
+ }, 0);
39
+ }
40
+ if (typeof fun == 'object') {
41
+ q._obs[name] = fun;
42
+ } else {
43
+ q[name] = fun;
44
+ }
45
+ },
46
+ registerAsyn: function (name, fun) {
47
+ this.register(name, fun, true);
48
+ },
49
+ hasNativeMethod: function (name, type) {
50
+ return this.call('_dsb.hasNativeMethod', { name: name, type: type || 'all' });
51
+ },
52
+ disableJavascriptDialogBlock: function (disable) {
53
+ this.call('_dsb.disableJavascriptDialogBlock', {
54
+ disable: disable !== false,
55
+ });
56
+ },
57
+ };
58
+
59
+ !(function () {
60
+ // 只有在 dsbridge 注入过的环境,才执行下方的代码
61
+ if (!(window._dsbridge || window._dswk || navigator.userAgent.indexOf('_dsbridge') != -1)) return;
62
+ if (window._dsf) return;
63
+ var ob = {
64
+ _dsf: {
65
+ _obs: {},
66
+ },
67
+ _dsaf: {
68
+ _obs: {},
69
+ },
70
+ dscb: 0,
71
+ dsBridge: bridge,
72
+ close: function () {
73
+ bridge.call('_dsb.closePage');
74
+ },
75
+ _handleMessageFromNative: function (info) {
76
+ var arg = JSON.parse(info.data);
77
+ var ret = {
78
+ id: info.callbackId,
79
+ complete: true,
80
+ };
81
+ var f = this._dsf[info.method];
82
+ var af = this._dsaf[info.method];
83
+ var callSyn = function (f, ob) {
84
+ ret.data = f.apply(ob, arg);
85
+ bridge.call('_dsb.returnValue', ret);
86
+ };
87
+ var callAsyn = function (f, ob) {
88
+ arg.push(function (data, complete) {
89
+ ret.data = data;
90
+ ret.complete = complete !== false;
91
+ bridge.call('_dsb.returnValue', ret);
92
+ });
93
+ f.apply(ob, arg);
94
+ };
95
+ if (f) {
96
+ callSyn(f, this._dsf);
97
+ } else if (af) {
98
+ callAsyn(af, this._dsaf);
99
+ } else {
100
+ //with namespace
101
+ var name = info.method.split('.');
102
+ if (name.length < 2) return;
103
+ var method = name.pop();
104
+ var namespace = name.join('.');
105
+ var obs = this._dsf._obs;
106
+ var ob = obs[namespace] || {};
107
+ var m = ob[method];
108
+ if (m && typeof m == 'function') {
109
+ callSyn(m, ob);
110
+ return;
111
+ }
112
+ obs = this._dsaf._obs;
113
+ ob = obs[namespace] || {};
114
+ m = ob[method];
115
+ if (m && typeof m == 'function') {
116
+ callAsyn(m, ob);
117
+ return;
118
+ }
119
+ }
120
+ },
121
+ };
122
+ for (var attr in ob) {
123
+ window[attr] = ob[attr];
124
+ }
125
+ bridge.register('_hasJavascriptMethod', function (method, tag) {
126
+ var name = method.split('.');
127
+ if (name.length < 2) {
128
+ return !!(_dsf[name] || _dsaf[name]);
129
+ } else {
130
+ // with namespace
131
+ var method = name.pop();
132
+ var namespace = name.join('.');
133
+ var ob = _dsf._obs[namespace] || _dsaf._obs[namespace];
134
+ return ob && !!ob[method];
135
+ }
136
+ });
137
+ })();
138
+
139
+ export default bridge;
package/src/index.js CHANGED
@@ -1,6 +1,4 @@
1
- import _dsbridge from 'dsbridge';
2
-
3
- const dsbridge = _dsbridge.call ? _dsbridge : _dsbridge.default;
1
+ import dsbridge from './dsbridge';
4
2
 
5
3
  export default {
6
4
  call(...args) {