tnx-shared 5.3.413 → 5.3.414

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.
@@ -2,4 +2,4 @@ FROM euniversitytnapi/tn.clientbase.angular
2
2
  ARG app_name_lower_case
3
3
  RUN rm -rf /usr/share/nginx/html/*
4
4
  COPY ./dist/${app_name_lower_case} /usr/share/nginx/html
5
- CMD ["nginx", "-g", "daemon off;"]
5
+ CMD ["nginx", "-g", "daemon off;" ]
@@ -1357,6 +1357,7 @@
1357
1357
  this.function = new CrudFormCustomFunction();
1358
1358
  this.hiddenKySoSimCaNhan = false;
1359
1359
  this.hiddenKySoUsbCaNhan = false;
1360
+ this.hiddenKySoVNPTCA = false;
1360
1361
  this.hiddenKySoDonVi = false;
1361
1362
  this.hiddenKySoSmartCA = false;
1362
1363
  this.hiddenButPhe = false;
@@ -35661,6 +35662,7 @@
35661
35662
  visible: this.showFileVersion
35662
35663
  }),
35663
35664
  ];
35665
+ this.checkPlugin();
35664
35666
  this.initSetting();
35665
35667
  };
35666
35668
  FileManagerComponent.prototype.initSetting = function () {
@@ -35791,6 +35793,16 @@
35791
35793
  && this._deviceDetectorService.isDesktop()
35792
35794
  && this.layout !== exports.EnumFileLayout.SIMPLE_FOR_LIST && !this.parentSetting.hiddenKySoUsbCaNhan),
35793
35795
  },
35796
+ {
35797
+ label: 'Ký số VNPTCA', icon: 'fas fa-signature',
35798
+ command: function () {
35799
+ _this.model.selectedItem = item;
35800
+ _this.signVNPTCA(item);
35801
+ },
35802
+ visible: (this._fileObjectService.isTypeFileKySo(item.name)
35803
+ && this._deviceDetectorService.isDesktop()
35804
+ && this.layout !== exports.EnumFileLayout.SIMPLE_FOR_LIST && !this.parentSetting.hiddenKySoVNPTCA),
35805
+ },
35794
35806
  {
35795
35807
  label: 'Bút phê', icon: 'fas fa-comment-dots',
35796
35808
  command: function () {
@@ -37124,6 +37136,168 @@
37124
37136
  FileManagerComponent.prototype.getPathImage = function (fileId) {
37125
37137
  return this._fileObjectService.getUrlImage(fileId);
37126
37138
  };
37139
+ FileManagerComponent.prototype.signVNPTCA = function (item) {
37140
+ return __awaiter(this, void 0, void 0, function () {
37141
+ var sourceFileId, rsConvert, e_7, dataInput, sigOptions, dataJS, data, e_8;
37142
+ return __generator(this, function (_b) {
37143
+ switch (_b.label) {
37144
+ case 0:
37145
+ sourceFileId = item.id;
37146
+ if (!this._fileExplorerService.needConvertBeforeSign(item.name)) return [3 /*break*/, 4];
37147
+ _b.label = 1;
37148
+ case 1:
37149
+ _b.trys.push([1, 3, , 4]);
37150
+ return [4 /*yield*/, this._fileExplorerService.convertDocumentToPdfAndSave({
37151
+ instanceId: item.id,
37152
+ name: this._fileExplorerService.changeFileExtension(item.name, 'pdf'),
37153
+ folderInstanceId: item.parentFolderId,
37154
+ ownerType: this._userService.getCurrentUser().userId.toString(),
37155
+ })];
37156
+ case 2:
37157
+ rsConvert = _b.sent();
37158
+ if (!rsConvert || !rsConvert.success) {
37159
+ this._notifierService.showWarning("C\u00F3 l\u1ED7i x\u1EA3y ra khi chuy\u1EC3n \u0111\u1ED5i t\u00E0i li\u1EC7u " + item.name + " th\u00E0nh pdf \u0111\u1EC3 k\u00FD. Vui l\u00F2ng th\u1EED l\u1EA1i sau");
37160
+ return [2 /*return*/];
37161
+ }
37162
+ else {
37163
+ this._notifierService.showSuccess("Chuy\u1EC3n \u0111\u1ED5i t\u00E0i li\u1EC7u " + item.name + " th\u00E0nh pdf th\u00E0nh c\u00F4ng");
37164
+ sourceFileId = rsConvert.data;
37165
+ this.model.selectedItem.id = rsConvert.data;
37166
+ this._triggerProcessData();
37167
+ }
37168
+ return [3 /*break*/, 4];
37169
+ case 3:
37170
+ e_7 = _b.sent();
37171
+ this._notifierService.showWarning("C\u00F3 l\u1ED7i x\u1EA3y ra khi chuy\u1EC3n \u0111\u1ED5i t\u00E0i li\u1EC7u " + item.name + " th\u00E0nh pdf \u0111\u1EC3 k\u00FD. Vui l\u00F2ng th\u1EED l\u1EA1i sau");
37172
+ return [2 /*return*/];
37173
+ case 4: return [4 /*yield*/, this._fileExplorerService.getBase64FromFileId(sourceFileId)];
37174
+ case 5:
37175
+ dataInput = (_b.sent()).split(',')[1];
37176
+ sigOptions = new PdfSigner();
37177
+ sigOptions.page = 1;
37178
+ sigOptions.AdvancedCustom = true;
37179
+ sigOptions.SigType = 1;
37180
+ dataJS = {
37181
+ data: dataInput,
37182
+ type: 'pdf',
37183
+ sigOptions: JSON.stringify(sigOptions)
37184
+ };
37185
+ _b.label = 6;
37186
+ case 6:
37187
+ _b.trys.push([6, 8, , 9]);
37188
+ return [4 /*yield*/, vnpt_plugin.signArrDataAdvanced([JSON.stringify(dataJS)], "", false)];
37189
+ case 7:
37190
+ data = _b.sent();
37191
+ this.handeResult(data);
37192
+ return [3 /*break*/, 9];
37193
+ case 8:
37194
+ e_8 = _b.sent();
37195
+ console.log(e_8);
37196
+ return [3 /*break*/, 9];
37197
+ case 9: return [2 /*return*/];
37198
+ }
37199
+ });
37200
+ });
37201
+ };
37202
+ FileManagerComponent.prototype.checkPlugin = function () {
37203
+ var _this = this;
37204
+ try {
37205
+ // checkbrowser support
37206
+ // Kiem tra plugin
37207
+ var timer = null;
37208
+ var key = this._moduleConfig.environment.VNPTLicenseKey;
37209
+ vnpt_plugin.checkPlugin().then(function (data) {
37210
+ if (data === "1") {
37211
+ console.log("Plugin đã sẵn sàng");
37212
+ vnpt_plugin.setLicenseKey(key).then(function (data) {
37213
+ vnpt_plugin.SetShowCertListDialog(true);
37214
+ }).catch(function (e) {
37215
+ console.log(e);
37216
+ });
37217
+ }
37218
+ else {
37219
+ // app dung cho ban 1.0.0.9 tro len
37220
+ if (vnpt_plugin.getOsName() !== "MAC") {
37221
+ if (vnpt_plugin.checkBrowserSupportWS()) {
37222
+ var protoUrl = "vnpt-plugin:\/\/resolve?domain=vnpt";
37223
+ window.protocolCheck("vnpt-plugin:\/\/resolve?domain=a", function () {
37224
+ console.log("VNPT-CA Plugin chưa được cài đặt hoặc chưa được bật");
37225
+ clearTimeout(timer); // clear
37226
+ });
37227
+ timer = setTimeout(_this.checkPlugin, 1500);
37228
+ }
37229
+ }
37230
+ else {
37231
+ console.log("VNPT-CA Plugin chưa được cài đặt hoặc chưa được bật");
37232
+ }
37233
+ }
37234
+ }).catch(function (e) {
37235
+ console.log("VNPT-CA Plugin chưa được cài đặt hoặc chưa được bật");
37236
+ });
37237
+ }
37238
+ catch (e) {
37239
+ console.log(e);
37240
+ }
37241
+ };
37242
+ FileManagerComponent.prototype.handeResult = function (data) {
37243
+ var _this = this;
37244
+ if (typeof JSON.parse(data).code !== 'undefined') {
37245
+ var jsOb = JSON.parse(data);
37246
+ }
37247
+ else {
37248
+ var jsOb = JSON.parse(JSON.parse(data)[0]);
37249
+ }
37250
+ switch (jsOb.code) {
37251
+ case 0:
37252
+ this._fileExplorerService.kySimSaveSignedFile({
37253
+ sourceFile: this.model.selectedItem,
37254
+ fileContents: jsOb.data,
37255
+ }).then(function (rss) {
37256
+ _this._notifierService.showSuccess("Ký thành công");
37257
+ _this._triggerProcessData();
37258
+ });
37259
+ break;
37260
+ case 1:
37261
+ this._notifierService.showWarning("Dữ liệu đầu vào không đúng định dạng");
37262
+ break;
37263
+ case 2:
37264
+ this._notifierService.showWarning("Không lấy được thông tin chứng thư số");
37265
+ break;
37266
+ case 3:
37267
+ this._notifierService.showWarning("Có lỗi trong quá trình ký số");
37268
+ break;
37269
+ case 4:
37270
+ this._notifierService.showSuccess("Chứng thư số không có khóa bí mật");
37271
+ break;
37272
+ case 5:
37273
+ this._notifierService.showSuccess("Lỗi không xác định");
37274
+ break;
37275
+ case 6:
37276
+ this._notifierService.showSuccess("Ký pdf: không tìm thấy tham số số trang cần ký");
37277
+ break;
37278
+ case 7:
37279
+ this._notifierService.showSuccess("Ký pdf: trang đặt chữ ký không tồn tại");
37280
+ break;
37281
+ case 8:
37282
+ this._notifierService.showSuccess("Ký xml: không tìm thấy thẻ ký số");
37283
+ break;
37284
+ case 9:
37285
+ this._notifierService.showSuccess("Ký pdf: không tìm thấy id của thẻ ký số");
37286
+ break;
37287
+ case 10:
37288
+ this._notifierService.showSuccess("Dữ liệu ký đã chứa một hoặc nhiều chữ ký không hợp lệ");
37289
+ break;
37290
+ case 11:
37291
+ this._notifierService.showSuccess("Người dùng hủy bỏ");
37292
+ break;
37293
+ case 13:
37294
+ this._notifierService.showWarning("Dữ liệu ký rỗng");
37295
+ break;
37296
+ default:
37297
+ this._notifierService.showSuccess("Lỗi không xác định");
37298
+ break;
37299
+ }
37300
+ };
37127
37301
  return FileManagerComponent;
37128
37302
  }(DataListBase));
37129
37303
  FileManagerComponent.decorators = [