ydb-components-material 0.1.210 → 0.1.211

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.
@@ -1100,51 +1100,72 @@ var FileItem = function FileItem(_ref) {
1100
1100
  // - 轮询自身会把 loading 置为 true,所以必须幂等,且不能在依赖变化时清理定时器
1101
1101
  useEffect(function () {
1102
1102
  if (loading || pollingRef.current) return;
1103
+
1104
+ // 只把「读取/解析本地签批信息」放在 try 里,避免后面的逻辑异常被静默吞掉
1105
+ var signInfo = null;
1103
1106
  try {
1104
1107
  var stored = localStorage.getItem(fileId);
1105
1108
  if (!stored) return;
1106
1109
  console.log('stored---', stored);
1107
- var _JSON$parse = JSON.parse(stored),
1108
- contrId = _JSON$parse.contractId,
1109
- docId = _JSON$parse.documentId,
1110
- nameVal = _JSON$parse.fileName,
1111
- originalUrl = _JSON$parse.fileUrl;
1112
- console.log('docId', docId, contrId, nameVal);
1113
- localStorage.removeItem(fileId);
1114
- originalUrlRef.current = originalUrl || '';
1115
- if (!(docId && contrId && nameVal)) return;
1116
- pollingRef.current = true;
1117
- // openLoading()
1118
- setSignPolling(true);
1119
- // 轮询期间把 loading 标记到 file 对象上,沿用统一的 loading 展示逻辑
1120
- valChange(_extends({}, file, {
1121
- loading: true
1122
- }), fileIndex, index, subIndex);
1123
- // 兜底:连续 10 次轮询仍未成功则结束轮询,避免无限请求
1124
- var pollCount = 0;
1125
- timerRef.current = setInterval(function () {
1126
- getSignedFile(docId, contrId, nameVal).then(function (success) {
1127
- // 成功时 getSignedFile 内部会清除轮询并关闭 loading
1128
- if (!success) {
1129
- pollCount += 1;
1130
- if (pollCount >= 10) {
1131
- clearInterval(timerRef.current);
1132
- timerRef.current = null;
1133
- pollingRef.current = false;
1134
- closeLoading();
1135
- setSignPolling(false);
1110
+ signInfo = JSON.parse(stored);
1111
+ } catch (e) {
1112
+ console.error('读取签批信息失败', e);
1113
+ return;
1114
+ }
1115
+ var _ref11 = signInfo || {},
1116
+ contrId = _ref11.contractId,
1117
+ docId = _ref11.documentId,
1118
+ nameVal = _ref11.fileName,
1119
+ originalUrl = _ref11.fileUrl;
1120
+ console.log('docId', docId, contrId, nameVal);
1121
+ if (!(docId && contrId && nameVal)) return;
1122
+ originalUrlRef.current = originalUrl || '';
1123
+ localStorage.removeItem(fileId);
1124
+ pollingRef.current = true;
1125
+ // openLoading()
1126
+ setSignPolling(true);
1127
+ // 先启动轮询,避免 valChange 抛错或触发刷新导致轮询没起来
1128
+ // 兜底:连续 10 次轮询仍未成功则结束轮询,避免无限请求
1129
+ var pollCount = 0;
1130
+ timerRef.current = setInterval(function () {
1131
+ getSignedFile(docId, contrId, nameVal)["catch"](function (e) {
1132
+ // 单次请求异常按失败处理,避免未处理的 rejection 打断轮询
1133
+ console.error('轮询签批结果异常', e);
1134
+ return false;
1135
+ }).then(function (success) {
1136
+ // 成功时 getSignedFile 内部会清除轮询并关闭 loading
1137
+ if (!success) {
1138
+ pollCount += 1;
1139
+ if (pollCount >= 10) {
1140
+ clearInterval(timerRef.current);
1141
+ timerRef.current = null;
1142
+ pollingRef.current = false;
1143
+ closeLoading();
1144
+ setSignPolling(false);
1145
+ try {
1136
1146
  valChange(_extends({}, file, {
1137
1147
  loading: false
1138
1148
  }), fileIndex, index, subIndex);
1139
- _Message.error('签批结果获取失败,请重试');
1149
+ } catch (e) {
1150
+ console.error('更新文件 loading 状态失败', e);
1140
1151
  }
1141
- } else {
1142
- pollingRef.current = false;
1143
- setSignPolling(false);
1152
+ _Message.error('签批结果获取失败,请重试');
1144
1153
  }
1145
- });
1146
- }, 3000);
1147
- } catch (e) {}
1154
+ } else {
1155
+ pollingRef.current = false;
1156
+ setSignPolling(false);
1157
+ }
1158
+ });
1159
+ }, 3000);
1160
+
1161
+ // 再把 loading 标记到 file 对象上;即使这里抛错也不能影响已启动的轮询
1162
+ try {
1163
+ valChange(_extends({}, file, {
1164
+ loading: true
1165
+ }), fileIndex, index, subIndex);
1166
+ } catch (e) {
1167
+ console.error('更新文件 loading 状态失败', e);
1168
+ }
1148
1169
  }, [fileId, loading]);
1149
1170
 
1150
1171
  // 仅在卸载时清理定时器;不能放进上面的 effect,否则 loading 变化会清掉正在进行的轮询
@@ -1106,51 +1106,72 @@ var FileItem = function FileItem(_ref) {
1106
1106
  // - 轮询自身会把 loading 置为 true,所以必须幂等,且不能在依赖变化时清理定时器
1107
1107
  (0, _react.useEffect)(function () {
1108
1108
  if (loading || pollingRef.current) return;
1109
+
1110
+ // 只把「读取/解析本地签批信息」放在 try 里,避免后面的逻辑异常被静默吞掉
1111
+ var signInfo = null;
1109
1112
  try {
1110
1113
  var stored = localStorage.getItem(fileId);
1111
1114
  if (!stored) return;
1112
1115
  console.log('stored---', stored);
1113
- var _JSON$parse = JSON.parse(stored),
1114
- contrId = _JSON$parse.contractId,
1115
- docId = _JSON$parse.documentId,
1116
- nameVal = _JSON$parse.fileName,
1117
- originalUrl = _JSON$parse.fileUrl;
1118
- console.log('docId', docId, contrId, nameVal);
1119
- localStorage.removeItem(fileId);
1120
- originalUrlRef.current = originalUrl || '';
1121
- if (!(docId && contrId && nameVal)) return;
1122
- pollingRef.current = true;
1123
- // openLoading()
1124
- setSignPolling(true);
1125
- // 轮询期间把 loading 标记到 file 对象上,沿用统一的 loading 展示逻辑
1126
- valChange((0, _extends3["default"])({}, file, {
1127
- loading: true
1128
- }), fileIndex, index, subIndex);
1129
- // 兜底:连续 10 次轮询仍未成功则结束轮询,避免无限请求
1130
- var pollCount = 0;
1131
- timerRef.current = setInterval(function () {
1132
- getSignedFile(docId, contrId, nameVal).then(function (success) {
1133
- // 成功时 getSignedFile 内部会清除轮询并关闭 loading
1134
- if (!success) {
1135
- pollCount += 1;
1136
- if (pollCount >= 10) {
1137
- clearInterval(timerRef.current);
1138
- timerRef.current = null;
1139
- pollingRef.current = false;
1140
- closeLoading();
1141
- setSignPolling(false);
1116
+ signInfo = JSON.parse(stored);
1117
+ } catch (e) {
1118
+ console.error('读取签批信息失败', e);
1119
+ return;
1120
+ }
1121
+ var _ref11 = signInfo || {},
1122
+ contrId = _ref11.contractId,
1123
+ docId = _ref11.documentId,
1124
+ nameVal = _ref11.fileName,
1125
+ originalUrl = _ref11.fileUrl;
1126
+ console.log('docId', docId, contrId, nameVal);
1127
+ if (!(docId && contrId && nameVal)) return;
1128
+ originalUrlRef.current = originalUrl || '';
1129
+ localStorage.removeItem(fileId);
1130
+ pollingRef.current = true;
1131
+ // openLoading()
1132
+ setSignPolling(true);
1133
+ // 先启动轮询,避免 valChange 抛错或触发刷新导致轮询没起来
1134
+ // 兜底:连续 10 次轮询仍未成功则结束轮询,避免无限请求
1135
+ var pollCount = 0;
1136
+ timerRef.current = setInterval(function () {
1137
+ getSignedFile(docId, contrId, nameVal)["catch"](function (e) {
1138
+ // 单次请求异常按失败处理,避免未处理的 rejection 打断轮询
1139
+ console.error('轮询签批结果异常', e);
1140
+ return false;
1141
+ }).then(function (success) {
1142
+ // 成功时 getSignedFile 内部会清除轮询并关闭 loading
1143
+ if (!success) {
1144
+ pollCount += 1;
1145
+ if (pollCount >= 10) {
1146
+ clearInterval(timerRef.current);
1147
+ timerRef.current = null;
1148
+ pollingRef.current = false;
1149
+ closeLoading();
1150
+ setSignPolling(false);
1151
+ try {
1142
1152
  valChange((0, _extends3["default"])({}, file, {
1143
1153
  loading: false
1144
1154
  }), fileIndex, index, subIndex);
1145
- _message["default"].error('签批结果获取失败,请重试');
1155
+ } catch (e) {
1156
+ console.error('更新文件 loading 状态失败', e);
1146
1157
  }
1147
- } else {
1148
- pollingRef.current = false;
1149
- setSignPolling(false);
1158
+ _message["default"].error('签批结果获取失败,请重试');
1150
1159
  }
1151
- });
1152
- }, 3000);
1153
- } catch (e) {}
1160
+ } else {
1161
+ pollingRef.current = false;
1162
+ setSignPolling(false);
1163
+ }
1164
+ });
1165
+ }, 3000);
1166
+
1167
+ // 再把 loading 标记到 file 对象上;即使这里抛错也不能影响已启动的轮询
1168
+ try {
1169
+ valChange((0, _extends3["default"])({}, file, {
1170
+ loading: true
1171
+ }), fileIndex, index, subIndex);
1172
+ } catch (e) {
1173
+ console.error('更新文件 loading 状态失败', e);
1174
+ }
1154
1175
  }, [fileId, loading]);
1155
1176
 
1156
1177
  // 仅在卸载时清理定时器;不能放进上面的 effect,否则 loading 变化会清掉正在进行的轮询
@@ -101,7 +101,7 @@ function fillRealVersion(meta, packageName, version, basicLibraryVersion) {
101
101
  packageName = 'ydb-components-material';
102
102
  }
103
103
  if (version === void 0) {
104
- version = '0.1.210';
104
+ version = '0.1.211';
105
105
  }
106
106
  if (basicLibraryVersion === void 0) {
107
107
  basicLibraryVersion = {
@@ -106,7 +106,7 @@ function fillRealVersion(meta, packageName, version, basicLibraryVersion) {
106
106
  packageName = 'ydb-components-material';
107
107
  }
108
108
  if (version === void 0) {
109
- version = '0.1.210';
109
+ version = '0.1.211';
110
110
  }
111
111
  if (basicLibraryVersion === void 0) {
112
112
  basicLibraryVersion = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ydb-components-material",
3
- "version": "0.1.210",
3
+ "version": "0.1.211",
4
4
  "description": "ydb-components-material",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -103,10 +103,10 @@
103
103
  },
104
104
  "componentConfig": {
105
105
  "isComponentLibrary": true,
106
- "materialSchema": "https://unpkg.com/ydb-components-material@0.1.210/build/lowcode/assets-prod.json"
106
+ "materialSchema": "https://unpkg.com/ydb-components-material@0.1.211/build/lowcode/assets-prod.json"
107
107
  },
108
108
  "lcMeta": {
109
109
  "type": "component"
110
110
  },
111
- "homepage": "https://unpkg.com/ydb-components-material@0.1.210/build/index.html"
111
+ "homepage": "https://unpkg.com/ydb-components-material@0.1.211/build/index.html"
112
112
  }