n20-common-lib 3.2.55 → 3.2.56
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/nstc-g6/components/Calendar/src/main.vue +1 -1
- package/nstc-g6/components/Form/AutocompleteCustom/index.vue +3 -1
- package/nstc-g6/components/Form/BusinessSpecific/InputWithUnit.vue +5 -4
- package/nstc-g6/components/Form/BusinessSpecific/SelectTreeDialog.vue +18 -15
- package/nstc-g6/components/Form/Component.vue +1 -1
- package/nstc-g6/components/Form/ComponentSecond.vue +1 -1
- package/nstc-g6/components/Form/DatepickerCustom/index.vue +3 -3
- package/nstc-g6/components/Form/InputAndDialog/src/main.vue +5 -4
- package/nstc-g6/components/Form/InputCustom/index.vue +3 -2
- package/nstc-g6/components/Form/IntervalinputCustom/index.vue +2 -1
- package/nstc-g6/components/Form/ItemSecond.vue +2 -2
- package/nstc-g6/components/Form/SelectAccount/src/main.vue +9 -8
- package/nstc-g6/components/Form/SelectAndDialog/src/main.vue +5 -4
- package/nstc-g6/components/Form/SelectCashFlow/src/main.vue +7 -6
- package/nstc-g6/components/Form/SelectCustom/index.vue +3 -2
- package/nstc-g6/components/Form/SelectSubject/src/main.vue +8 -7
- package/nstc-g6/components/Form/SelectindialogCustom/index.vue +3 -2
- package/nstc-g6/components/Form/UploadCustom/index.vue +4 -3
- package/nstc-g6/components/Form/configs.js +2 -1
- package/nstc-g6/components/Form/configsSecond.js +2 -1
- package/nstc-g6/components/Form/payeePersonSelect/src/main.vue +15 -18
- package/nstc-g6/components/FormGroup/src/main.vue +9 -6
- package/nstc-g6/components/FormGroup/src/validate.js +3 -1
- package/nstc-g6/components/InputTag/InputTag.vue +1 -1
- package/nstc-g6/components/NstcConfirm/NstcConfirm.vue +5 -4
- package/nstc-g6/components/NstcDialog/NstcDialog.vue +5 -2
- package/nstc-g6/components/NstcDialogTable/NstcDialogTable.vue +5 -3
- package/nstc-g6/components/NstcDropdownTree/NstcDropdownTree.vue +5 -4
- package/nstc-g6/components/NstcElectronicFile/NstcElectronicFile.vue +32 -30
- package/nstc-g6/components/NstcExcelCustomImport/NstcExcelCustomImport.vue +17 -15
- package/nstc-g6/components/NstcExcelExport/NstcExcelExport.vue +3 -2
- package/nstc-g6/components/NstcExcelImport/NstcExcelImport.vue +18 -16
- package/nstc-g6/components/NstcExcelImportN/NstcExcelImportN.vue +17 -15
- package/nstc-g6/components/NstcFileUpload/NstcFileUpload.vue +39 -37
- package/nstc-g6/components/NstcForm/AutocompleteCustom/index.vue +3 -1
- package/nstc-g6/components/NstcForm/BusinessSpecific/InputWithUnit.vue +5 -4
- package/nstc-g6/components/NstcForm/BusinessSpecific/SelectTreeDialog.vue +16 -15
- package/nstc-g6/components/NstcForm/Component.vue +1 -1
- package/nstc-g6/components/NstcForm/ComponentSecond.vue +1 -1
- package/nstc-g6/components/NstcForm/DatepickerCustom/index.vue +3 -3
- package/nstc-g6/components/NstcForm/InputAndDialog/NstcInputAndDialog.vue +5 -4
- package/nstc-g6/components/NstcForm/InputCustom/index.vue +3 -2
- package/nstc-g6/components/NstcForm/IntervalInputCustom/index.vue +2 -1
- package/nstc-g6/components/NstcForm/ItemSecond.vue +2 -2
- package/nstc-g6/components/NstcForm/SelectAccount/NstcSelectAccount.vue +11 -10
- package/nstc-g6/components/NstcForm/SelectAndDialog/NstcSelectAndDialog.vue +5 -4
- package/nstc-g6/components/NstcForm/SelectCashFlow/NstcSelectCashFlow.vue +9 -8
- package/nstc-g6/components/NstcForm/SelectCustom/index.vue +3 -2
- package/nstc-g6/components/NstcForm/SelectSubject/NstcSelectSubject.vue +10 -9
- package/nstc-g6/components/NstcForm/SelectindialogCustom/index.vue +4 -3
- package/nstc-g6/components/NstcForm/UploadCustom/index.vue +4 -3
- package/nstc-g6/components/NstcForm/configs.js +2 -1
- package/nstc-g6/components/NstcForm/configsSecond.js +2 -1
- package/nstc-g6/components/NstcForm/payeePersonSelect/NstcPayeePerson.vue +15 -14
- package/nstc-g6/components/NstcPagination/NstcPagination.vue +9 -7
- package/nstc-g6/components/NstcScreenFull/NstcScreenFull.vue +3 -1
- package/nstc-g6/components/NstcSelectTree/NstcSelectTree.vue +6 -5
- package/nstc-g6/components/NstcSelectTreeList/NstcSelectTreeList.vue +4 -3
- package/nstc-g6/components/NstcTable/NstcTable.vue +3 -2
- package/nstc-g6/components/NstcTableSet/NstcTableSet.vue +16 -14
- package/nstc-g6/components/NstcThemePicker/NstcThemePicker.vue +3 -1
- package/nstc-g6/components/NstcWorkBench/NstcWorkBench.vue +36 -32
- package/nstc-g6/components/Search/NstcSearch.vue +8 -6
- package/nstc-g6/components/approvelTwo/main.vue +6 -5
- package/nstc-g6/components/approvelTwo/progress.vue +2 -2
- package/nstc-g6/index.js +3 -1
- package/nstc-g6/utils/dateAndValidator.js +8 -6
- package/nstc-g6/utils/vendor/Export2Zip.js +2 -1
- package/package.json +1 -1
- package/src/components/ApprovalButtons/index.vue +1 -1
- package/src/components/ApprovalButtons/indexApp.vue +1 -1
- package/src/components/ApprovalButtons/selectSpr.vue +3 -3
- package/src/components/ApprovalButtons/showOtherAttr.vue +1 -1
- package/src/components/ApprovalRecord/approvalImg.vue +2 -1
- package/src/components/AttachmentPass/index.vue +1 -1
- package/src/components/DateChoose/index.vue +3 -3
- package/src/components/DateSelect/index.vue +1 -1
- package/src/components/DateSelect/quarterDatePicker.vue +5 -5
- package/src/components/DynamicField/DynamicFieldOptions.vue +4 -4
- package/src/components/DynamicField/tableList.vue +1 -1
- package/src/components/ElectronicArchive/index.vue +1 -1
- package/src/components/FileUploadTable/index.vue +1 -1
- package/src/components/LoginSetting/index.vue +19 -9
- package/src/components/LoginTemporary/form.vue +2 -4
- package/src/components/LoginTemporary/index.vue +1 -1
- package/src/components/LoginTemporary/retrievePw.vue +8 -8
- package/src/components/Pivot/ChartView.vue +1 -1
- package/src/components/Pivot/TableView.vue +1 -1
- package/src/components/Pivot/index.vue +11 -7
- package/src/components/ProFilterView/index.vue +4 -3
- package/src/components/SelectDatePickerPro/halfYearPicker.vue +4 -4
- package/src/components/SelectDatePickerPro/index.vue +1 -1
- package/src/components/SelectDatePickerPro/quarterDatePicker.vue +5 -5
- package/src/components/TableSetSize/index.vue +2 -2
- package/src/components/Upload/index.vue +1 -1
- package/src/components/operatingStatus/index.vue +1 -1
- package/src/components/v3/UploadList/index.vue +1 -1
- package/src/i18n.json +802 -4
- package/src/plugins/Print/print-js/src/js/init.js +2 -1
- package/src/plugins/SetMenuTree/setmenutree.vue +3 -3
- package/src/plugins/SetMenuTree/utils.js +2 -1
- package/src/plugins/Sign/Itrus/index.js +12 -9
- package/src/plugins/Sign/Itrus/sign_3720.js +13 -8
- package/src/plugins/Sign/NetSM3/index.js +14 -11
- package/src/plugins/Sign/NetV3/index.js +17 -16
- package/src/plugins/Sign/SkfSign/index.js +14 -11
- package/src/plugins/Sign/bjca/index.js +21 -18
- package/src/plugins/Sign/cfca/index.js +10 -9
- package/src/plugins/Sign/hnca/index.js +11 -11
- package/src/plugins/Sign/index.js +2 -1
- package/src/plugins/Sign/kySign/index.js +13 -10
- package/src/plugins/Sign/netca/index.js +8 -7
- package/src/plugins/Sign/sdca/index.js +16 -15
- package/src/plugins/Sign/sign.js +13 -10
- package/src/plugins/Sign/signV3/sign.js +17 -14
- package/src/plugins/Sign/sign_back.js +13 -10
- package/src/utils/xls2json.js +2 -1
- package/src/utils/xlsx2json.js +2 -1
|
@@ -2662,7 +2662,7 @@ function mTokenPlugin() {
|
|
|
2662
2662
|
|
|
2663
2663
|
router = document.getElementById("id_mPluginV2Router");
|
|
2664
2664
|
if (null == router) {
|
|
2665
|
-
alert("无法获取到插件,请确认已经安装好插件!");
|
|
2665
|
+
alert($lc("无法获取到插件,请确认已经安装好插件!"));
|
|
2666
2666
|
}
|
|
2667
2667
|
/*
|
|
2668
2668
|
if("https:" == document.location.protocol)
|
|
@@ -4978,6 +4978,7 @@ this.SOF_GenerateP10Request = function(_curDevName,container, dn, asymAlg, keySp
|
|
|
4978
4978
|
}
|
|
4979
4979
|
|
|
4980
4980
|
import { Message, MessageBox } from 'element-ui'
|
|
4981
|
+
import { $lc } from '../../../utils/i18n/index.js'
|
|
4981
4982
|
|
|
4982
4983
|
var hnca = new hunca_mToken_core();
|
|
4983
4984
|
//九恒星开发内容
|
|
@@ -4998,7 +4999,7 @@ export function getCert(dn) {
|
|
|
4998
4999
|
|
|
4999
5000
|
}
|
|
5000
5001
|
}
|
|
5001
|
-
|
|
5002
|
+
|
|
5002
5003
|
// 签名方法
|
|
5003
5004
|
export async function getSign(plain, dn) {
|
|
5004
5005
|
let plainText = undefined
|
|
@@ -5012,7 +5013,7 @@ export function getCert(dn) {
|
|
|
5012
5013
|
dn = getDN()
|
|
5013
5014
|
}
|
|
5014
5015
|
if (!dn) {
|
|
5015
|
-
Message.error('签名参数DN错误!')
|
|
5016
|
+
Message.error($lc('签名参数DN错误!'))
|
|
5016
5017
|
return false
|
|
5017
5018
|
}
|
|
5018
5019
|
var devList = "";
|
|
@@ -5020,7 +5021,7 @@ export function getCert(dn) {
|
|
|
5020
5021
|
devList = hnca.Hunca_GetUserListGN(); //枚举Ukey,获取证书G项信息列表
|
|
5021
5022
|
if (null == devList || devList.length == 0) {
|
|
5022
5023
|
console.log('获取证书失败', hnca.Hunca_GetLastError());
|
|
5023
|
-
Message.warning('请检查key是否插入!')
|
|
5024
|
+
Message.warning($lc('请检查key是否插入!'))
|
|
5024
5025
|
}else{
|
|
5025
5026
|
var userName;
|
|
5026
5027
|
for (var i = 0; i < devList.length; i++) {
|
|
@@ -5032,19 +5033,19 @@ export function getCert(dn) {
|
|
|
5032
5033
|
}
|
|
5033
5034
|
}
|
|
5034
5035
|
if(!userName){
|
|
5035
|
-
Message.warning('没有匹配到证书!')
|
|
5036
|
+
Message.warning($lc('没有匹配到证书!'))
|
|
5036
5037
|
return false;
|
|
5037
5038
|
}
|
|
5038
5039
|
var signData;
|
|
5039
|
-
await MessageBox.prompt('请输入PIN码', '提示', {
|
|
5040
|
-
confirmButtonText: '确定',
|
|
5041
|
-
cancelButtonText: '取消',
|
|
5040
|
+
await MessageBox.prompt($lc('请输入PIN码'), $lc('提示'), {
|
|
5041
|
+
confirmButtonText: $lc('确定'),
|
|
5042
|
+
cancelButtonText: $lc('取消'),
|
|
5042
5043
|
closeOnClickModal: false,
|
|
5043
5044
|
inputType: 'password'
|
|
5044
5045
|
}).then(({ value:password }) => {
|
|
5045
5046
|
console.log('密码', password);
|
|
5046
5047
|
if (!hnca.Hunca_PKCS1(plain, userName, password)) {
|
|
5047
|
-
Message.warning('证书签名失败:'+hnca.Hunca_GetLastError());
|
|
5048
|
+
Message.warning($lc('证书签名失败:')+hnca.Hunca_GetLastError());
|
|
5048
5049
|
return false;
|
|
5049
5050
|
}else{
|
|
5050
5051
|
signData = hnca.Hunca_GetSignData();
|
|
@@ -5058,7 +5059,6 @@ export function getCert(dn) {
|
|
|
5058
5059
|
|
|
5059
5060
|
} catch (e) {
|
|
5060
5061
|
console.log('签名失败', e)
|
|
5061
|
-
Message.error('签名失败!')
|
|
5062
|
+
Message.error($lc('签名失败!'))
|
|
5062
5063
|
}
|
|
5063
5064
|
}
|
|
5064
|
-
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import CaMap from './CaMap.js'
|
|
2
2
|
|
|
3
3
|
import importG from '../../utils/importGlobal.js'
|
|
4
|
+
import { $lc } from '../../utils/i18n/index.js'
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* 统一处理签名逻辑
|
|
@@ -40,7 +41,7 @@ async function disposeSign(config, p1, p2, p3) {
|
|
|
40
41
|
if (config.needAvailable) {
|
|
41
42
|
await new Promise((resolve, reject) => {
|
|
42
43
|
module.availableSign((available) => {
|
|
43
|
-
available ? resolve() : reject(new Error('签名不可用'))
|
|
44
|
+
available ? resolve() : reject(new Error($lc('签名不可用')))
|
|
44
45
|
}, systemIdentification())
|
|
45
46
|
})
|
|
46
47
|
}
|
|
@@ -2,6 +2,7 @@ import { Message, MessageBox, Notification } from 'element-ui'
|
|
|
2
2
|
import { hexToBase64 } from './base64'
|
|
3
3
|
import { stringToRawHex } from './hex'
|
|
4
4
|
import SKF from './skf'
|
|
5
|
+
import { $lc } from '../../../utils/i18n/index.js'
|
|
5
6
|
|
|
6
7
|
/*
|
|
7
8
|
获取证书列表接口:2.7.1 IWSASkfGetCertList (DllFilePath, SucceedFunction)
|
|
@@ -52,12 +53,14 @@ export function availableSign(fn, url) {
|
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
function checkAvailable() {
|
|
55
|
-
let name = window.NetSignDownloadName || '科友签名助手'
|
|
56
|
+
let name = window.NetSignDownloadName || $lc('科友签名助手')
|
|
56
57
|
let url = '/portal/ukeyd_v2.0.17_386.exe'
|
|
57
58
|
Notification({
|
|
58
|
-
title: '提示',
|
|
59
|
+
title: $lc('提示'),
|
|
59
60
|
dangerouslyUseHTMLString: true,
|
|
60
|
-
message: `<div
|
|
61
|
+
message: `<div>${$lc(
|
|
62
|
+
'检测到您的电脑中没有安装签名助手,为了不影响使用请使用管理员权限'
|
|
63
|
+
)}<a class="color-primary" href="${url}" download>${$lc('下载安装')}</a>${name}</div>`,
|
|
61
64
|
duration: 5000
|
|
62
65
|
})
|
|
63
66
|
}
|
|
@@ -66,7 +69,7 @@ function checkAvailable() {
|
|
|
66
69
|
export async function getSign(plain, dn = getDN()) {
|
|
67
70
|
// 验证DN参数
|
|
68
71
|
if (!dn) {
|
|
69
|
-
Message.error('签名参数DN错误!')
|
|
72
|
+
Message.error($lc('签名参数DN错误!'))
|
|
70
73
|
return false
|
|
71
74
|
}
|
|
72
75
|
// 处理签名文本
|
|
@@ -80,9 +83,9 @@ export async function getSign(plain, dn = getDN()) {
|
|
|
80
83
|
}
|
|
81
84
|
// 获取PIN码并执行签名
|
|
82
85
|
try {
|
|
83
|
-
const { value: pin } = await MessageBox.prompt('请输入PIN码', '提示', {
|
|
84
|
-
confirmButtonText: '确定',
|
|
85
|
-
cancelButtonText: '取消',
|
|
86
|
+
const { value: pin } = await MessageBox.prompt($lc('请输入PIN码'), $lc('提示'), {
|
|
87
|
+
confirmButtonText: $lc('确定'),
|
|
88
|
+
cancelButtonText: $lc('取消'),
|
|
86
89
|
closeOnClickModal: false,
|
|
87
90
|
inputType: 'password'
|
|
88
91
|
})
|
|
@@ -116,7 +119,7 @@ export async function getCertInfo(dn) {
|
|
|
116
119
|
try {
|
|
117
120
|
var rv = SKF_EnumDev(1) // 1: 获取ukey列表
|
|
118
121
|
if (rv.DevList.length === 0) {
|
|
119
|
-
Message.error('没有检测到Ukey!')
|
|
122
|
+
Message.error($lc('没有检测到Ukey!'))
|
|
120
123
|
resolve(-1)
|
|
121
124
|
return
|
|
122
125
|
}
|
|
@@ -171,7 +174,7 @@ async function performSign(plainText, value, { Container, Application }) {
|
|
|
171
174
|
var rv5 = SKF_VerifyPIN(Application, 1, value)
|
|
172
175
|
console.log(rv5)
|
|
173
176
|
if (rv5.Status !== 0) {
|
|
174
|
-
Message.error('PIN码错误!')
|
|
177
|
+
Message.error($lc('PIN码错误!'))
|
|
175
178
|
reject()
|
|
176
179
|
return false
|
|
177
180
|
}
|
|
@@ -179,7 +182,7 @@ async function performSign(plainText, value, { Container, Application }) {
|
|
|
179
182
|
if (rv7.Status === 0) {
|
|
180
183
|
resolve(rv7.Signature + '@@@' + Container)
|
|
181
184
|
} else {
|
|
182
|
-
Message.error('签名失败!')
|
|
185
|
+
Message.error($lc('签名失败!'))
|
|
183
186
|
reject()
|
|
184
187
|
}
|
|
185
188
|
})
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import NetcaPKI from './netca.base.1.1.0.js'
|
|
2
2
|
import { Message } from 'element-ui'
|
|
3
|
+
import { $lc } from '../../../utils/i18n/index.js'
|
|
3
4
|
|
|
4
5
|
function utf8_to_b64(str) {
|
|
5
6
|
return window.btoa(window.unescape(window.encodeURIComponent(str)))
|
|
@@ -27,7 +28,7 @@ export async function getSign(plain, dn) {
|
|
|
27
28
|
if (res.status == -11000) {
|
|
28
29
|
resolve()
|
|
29
30
|
} else {
|
|
30
|
-
errMsg = '没有检测到签名驱动!'
|
|
31
|
+
errMsg = $lc('没有检测到签名驱动!')
|
|
31
32
|
Message.error(errMsg)
|
|
32
33
|
reject(errMsg)
|
|
33
34
|
}
|
|
@@ -39,7 +40,7 @@ export async function getSign(plain, dn) {
|
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
if (!dn) {
|
|
42
|
-
errMsg = '签名参数DN错误!'
|
|
43
|
+
errMsg = $lc('签名参数DN错误!')
|
|
43
44
|
Message.error(errMsg)
|
|
44
45
|
return Promise.reject(errMsg)
|
|
45
46
|
}
|
|
@@ -61,13 +62,13 @@ export async function getSign(plain, dn) {
|
|
|
61
62
|
CertIdList = res.certInfo
|
|
62
63
|
resolve()
|
|
63
64
|
} else {
|
|
64
|
-
errMsg = '证书获取失败!'
|
|
65
|
+
errMsg = $lc('证书获取失败!')
|
|
65
66
|
Message.error(errMsg)
|
|
66
67
|
return reject(errMsg)
|
|
67
68
|
}
|
|
68
69
|
})
|
|
69
70
|
.Catch(function (res) {
|
|
70
|
-
errMsg = '证书获取失败!'
|
|
71
|
+
errMsg = $lc('证书获取失败!')
|
|
71
72
|
Message.error(errMsg)
|
|
72
73
|
return reject(errMsg)
|
|
73
74
|
})
|
|
@@ -78,7 +79,7 @@ export async function getSign(plain, dn) {
|
|
|
78
79
|
*/
|
|
79
80
|
let certInfo = CertIdList.find((c) => c.userCertServiceId === dn && c.keyUsage === 3)
|
|
80
81
|
if (!certInfo) {
|
|
81
|
-
errMsg = '参数dn信息不批匹配!'
|
|
82
|
+
errMsg = $lc('参数dn信息不批匹配!')
|
|
82
83
|
Message.error(errMsg)
|
|
83
84
|
return Promise.reject(errMsg)
|
|
84
85
|
}
|
|
@@ -126,7 +127,7 @@ export async function getSign(plain, dn) {
|
|
|
126
127
|
NetcaPKI.signedDataSign(params)
|
|
127
128
|
.Then((res) => {
|
|
128
129
|
if (res.result == -5 || res == -81) {
|
|
129
|
-
errMsg = '签名失败,密码错误,密码重试次数为:' + res.retrynum
|
|
130
|
+
errMsg = $lc('签名失败,密码错误,密码重试次数为:') + res.retrynum
|
|
130
131
|
Message.error(errMsg)
|
|
131
132
|
reject(errMsg)
|
|
132
133
|
} else {
|
|
@@ -134,7 +135,7 @@ export async function getSign(plain, dn) {
|
|
|
134
135
|
}
|
|
135
136
|
})
|
|
136
137
|
.Catch((res) => {
|
|
137
|
-
errMsg = '签名失败,' + res.msg
|
|
138
|
+
errMsg = $lc('签名失败,') + res.msg
|
|
138
139
|
Message.error(errMsg)
|
|
139
140
|
reject(errMsg)
|
|
140
141
|
})
|
|
@@ -5,20 +5,21 @@
|
|
|
5
5
|
|
|
6
6
|
import axios from 'axios'
|
|
7
7
|
import { Message } from 'element-ui'
|
|
8
|
+
import { $lc } from '../../../utils/i18n/index.js'
|
|
8
9
|
|
|
9
10
|
async function getKeyExist() {
|
|
10
11
|
const { data } = await axios.get('http://127.0.0.1:8090/keyExist')
|
|
11
12
|
if (data.code !== 200) {
|
|
12
|
-
Message.warning('Ukey不存在!')
|
|
13
|
-
throw new Error('Ukey不存在!')
|
|
13
|
+
Message.warning($lc('Ukey不存在!'))
|
|
14
|
+
throw new Error($lc('Ukey不存在!'))
|
|
14
15
|
}
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
async function getCertSN() {
|
|
18
19
|
const { data } = await axios.get('http://127.0.0.1:8090/getCertSN')
|
|
19
20
|
if (data.code !== 200) {
|
|
20
|
-
Message.warning('获取证书序列号失败!')
|
|
21
|
-
throw new Error('获取证书序列号失败!')
|
|
21
|
+
Message.warning($lc('获取证书序列号失败!'))
|
|
22
|
+
throw new Error($lc('获取证书序列号失败!'))
|
|
22
23
|
}
|
|
23
24
|
return data.msg
|
|
24
25
|
}
|
|
@@ -28,17 +29,17 @@ async function performSign(plain) {
|
|
|
28
29
|
if (data.code !== 200) {
|
|
29
30
|
switch (data.msg) {
|
|
30
31
|
case '0x000000A0':
|
|
31
|
-
Message.warning('ukey密码错误')
|
|
32
|
-
throw new Error('ukey密码错误')
|
|
32
|
+
Message.warning($lc('ukey密码错误'))
|
|
33
|
+
throw new Error($lc('ukey密码错误'))
|
|
33
34
|
case '0x000000A4':
|
|
34
|
-
Message.warning('ukey被锁,请用管理员工具解锁')
|
|
35
|
-
throw new Error('ukey被锁,请用管理员工具解锁')
|
|
35
|
+
Message.warning($lc('ukey被锁,请用管理员工具解锁'))
|
|
36
|
+
throw new Error($lc('ukey被锁,请用管理员工具解锁'))
|
|
36
37
|
case '0x00005001':
|
|
37
|
-
Message.warning('未输入ukey密码')
|
|
38
|
-
throw new Error('未输入ukey密码')
|
|
38
|
+
Message.warning($lc('未输入ukey密码'))
|
|
39
|
+
throw new Error($lc('未输入ukey密码'))
|
|
39
40
|
default:
|
|
40
|
-
Message.warning('获取ukey异常')
|
|
41
|
-
throw new Error('获取ukey异常')
|
|
41
|
+
Message.warning($lc('获取ukey异常'))
|
|
42
|
+
throw new Error($lc('获取ukey异常'))
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
45
|
return data.msg
|
|
@@ -58,7 +59,7 @@ export async function getSign(plain, dn) {
|
|
|
58
59
|
dn = getDN()
|
|
59
60
|
}
|
|
60
61
|
if (!dn) {
|
|
61
|
-
Message.error('签名参数DN错误!')
|
|
62
|
+
Message.error($lc('签名参数DN错误!'))
|
|
62
63
|
return false
|
|
63
64
|
}
|
|
64
65
|
let plainText = typeof plain === 'object' ? JSON.stringify(plain) : plain
|
|
@@ -66,8 +67,8 @@ export async function getSign(plain, dn) {
|
|
|
66
67
|
await getKeyExist()
|
|
67
68
|
const certSN = await getCertSN()
|
|
68
69
|
if (certSN !== dn) {
|
|
69
|
-
Message.warning('当前Ukey不匹配!')
|
|
70
|
-
throw new Error('当前Ukey不匹配!')
|
|
70
|
+
Message.warning($lc('当前Ukey不匹配!'))
|
|
71
|
+
throw new Error($lc('当前Ukey不匹配!'))
|
|
71
72
|
}
|
|
72
73
|
return performSign(plainText)
|
|
73
74
|
}
|
package/src/plugins/Sign/sign.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// Attached方式签名
|
|
2
2
|
import { Message, Notification } from 'element-ui'
|
|
3
|
+
import { $lc } from '../../utils/i18n/index.js'
|
|
3
4
|
|
|
4
5
|
import { IWSAgent } from './InfosecNetSignCNGAgent.min.js'
|
|
5
6
|
import { isCertCheckFailed, isDnMatched, parseCA } from './dn.js'
|
|
@@ -38,16 +39,18 @@ export function availableSign(fn, url) {
|
|
|
38
39
|
}
|
|
39
40
|
|
|
40
41
|
function checkAvailable(fn, url, count) {
|
|
41
|
-
let name = window.NetSignDownloadName || 'NetSignCNG签名助手'
|
|
42
|
+
let name = window.NetSignDownloadName || $lc('NetSignCNG签名助手')
|
|
42
43
|
let available = IWSAGetAvailable()
|
|
43
44
|
if (available) {
|
|
44
45
|
fn && fn(available)
|
|
45
46
|
} else if (count == 10) {
|
|
46
47
|
fn && fn(available)
|
|
47
48
|
Notification({
|
|
48
|
-
title: '提示',
|
|
49
|
+
title: $lc('提示'),
|
|
49
50
|
dangerouslyUseHTMLString: true,
|
|
50
|
-
message: `<div
|
|
51
|
+
message: `<div>${$lc(
|
|
52
|
+
'检测到您的电脑中没有安装签名助手,为了不影响使用请使用管理员权限'
|
|
53
|
+
)}<a class="color-primary" href="${url}" download>${$lc('下载安装')}</a>${name}</div>`,
|
|
51
54
|
duration: 5000
|
|
52
55
|
})
|
|
53
56
|
} else {
|
|
@@ -69,7 +72,7 @@ export function verifySign(signedMsg) {
|
|
|
69
72
|
if (errorCode === 0 || errorCode === '0') {
|
|
70
73
|
plainText = PlainText
|
|
71
74
|
} else {
|
|
72
|
-
Message.error('签名解签失败!')
|
|
75
|
+
Message.error($lc('签名解签失败!'))
|
|
73
76
|
}
|
|
74
77
|
})
|
|
75
78
|
return plainText
|
|
@@ -99,24 +102,24 @@ export function getCertInfo(dn) {
|
|
|
99
102
|
dn = getDN()
|
|
100
103
|
}
|
|
101
104
|
if (!dn) {
|
|
102
|
-
Message.error('没有获取到签名参数DN!')
|
|
105
|
+
Message.error($lc('没有获取到签名参数DN!'))
|
|
103
106
|
return 'dnIsEmpty'
|
|
104
107
|
}
|
|
105
108
|
return new Promise((resolve, reject) => {
|
|
106
109
|
let certInfo
|
|
107
110
|
IWSAGetAllCertsListInfoByCertDN('', 'Sign', parseCA(dn), 0, (dnList) => {
|
|
108
111
|
if (!dn) {
|
|
109
|
-
Message.error('没有获取到签名参数DN!')
|
|
112
|
+
Message.error($lc('没有获取到签名参数DN!'))
|
|
110
113
|
resolve('dnIsEmpty')
|
|
111
114
|
return
|
|
112
115
|
}
|
|
113
116
|
if (!dnList) {
|
|
114
|
-
Message.error('没有获取到证书列表!')
|
|
117
|
+
Message.error($lc('没有获取到证书列表!'))
|
|
115
118
|
resolve('Empty')
|
|
116
119
|
return
|
|
117
120
|
}
|
|
118
121
|
if (dnList.length === 0) {
|
|
119
|
-
Message.error('获取到的证书列表为空!')
|
|
122
|
+
Message.error($lc('获取到的证书列表为空!'))
|
|
120
123
|
resolve('dnListEmpty')
|
|
121
124
|
return
|
|
122
125
|
}
|
|
@@ -143,7 +146,7 @@ export async function performSign(plain, index) {
|
|
|
143
146
|
if (errorCode === 0 || errorCode === '0') {
|
|
144
147
|
resolve(signedData)
|
|
145
148
|
} else {
|
|
146
|
-
Message.error('签名失败!')
|
|
149
|
+
Message.error($lc('签名失败!'))
|
|
147
150
|
reject(errorCode)
|
|
148
151
|
}
|
|
149
152
|
})
|
|
@@ -170,7 +173,7 @@ function verifyDn(dnList, dn) {
|
|
|
170
173
|
})
|
|
171
174
|
if (index === -1) {
|
|
172
175
|
let dnList = dnList?.map((res) => res.certDN)?.join(',')
|
|
173
|
-
Message.error(
|
|
176
|
+
Message.error(`${$lc('证书Dn不匹配:')}${dnList}${$lc('里面无法匹配===>')}${dn}`)
|
|
174
177
|
return index
|
|
175
178
|
}
|
|
176
179
|
if (index !== -1) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// Attached方式签名
|
|
2
2
|
import { Message, MessageBox, Notification } from 'element-ui'
|
|
3
|
+
import { $lc } from '../../../utils/i18n/index.js'
|
|
3
4
|
|
|
4
5
|
import { IWSAgent } from './InfosecNetSignCNGAgent.min.js'
|
|
5
6
|
import { isCertCheckFailed, isDnMatched } from '../dn.js'
|
|
@@ -40,16 +41,18 @@ export function availableSign(fn, url) {
|
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
function checkAvailable(fn, url, count) {
|
|
43
|
-
let name = window.NetSignDownloadName || 'NetSignCNG签名助手'
|
|
44
|
+
let name = window.NetSignDownloadName || $lc('NetSignCNG签名助手')
|
|
44
45
|
let available = IWSAGetAvailable()
|
|
45
46
|
if (available) {
|
|
46
47
|
fn && fn(available)
|
|
47
48
|
} else if (count == 10) {
|
|
48
49
|
fn && fn(available)
|
|
49
50
|
Notification({
|
|
50
|
-
title: '提示',
|
|
51
|
+
title: $lc('提示'),
|
|
51
52
|
dangerouslyUseHTMLString: true,
|
|
52
|
-
message: `<div
|
|
53
|
+
message: `<div>${$lc(
|
|
54
|
+
'检测到您的电脑中没有安装签名助手,为了不影响使用请使用管理员权限'
|
|
55
|
+
)}<a class="color-primary" href="${url}" download>${$lc('下载安装')}</a>${name}</div>`,
|
|
53
56
|
duration: 5000
|
|
54
57
|
})
|
|
55
58
|
} else {
|
|
@@ -71,7 +74,7 @@ export function verifySign(signedMsg) {
|
|
|
71
74
|
if (errorCode === 0 || errorCode === '0') {
|
|
72
75
|
plainText = PlainText
|
|
73
76
|
} else {
|
|
74
|
-
Message.error('签名解签失败!')
|
|
77
|
+
Message.error($lc('签名解签失败!'))
|
|
75
78
|
}
|
|
76
79
|
})
|
|
77
80
|
return plainText
|
|
@@ -96,9 +99,9 @@ export async function getSign(plain, dn) {
|
|
|
96
99
|
certType === 'SM3'
|
|
97
100
|
) {
|
|
98
101
|
// 签名
|
|
99
|
-
return await MessageBox.prompt('请输入PIN码', '提示', {
|
|
100
|
-
confirmButtonText: '确定',
|
|
101
|
-
cancelButtonText: '取消',
|
|
102
|
+
return await MessageBox.prompt($lc('请输入PIN码'), $lc('提示'), {
|
|
103
|
+
confirmButtonText: $lc('确定'),
|
|
104
|
+
cancelButtonText: $lc('取消'),
|
|
102
105
|
closeOnClickModal: false,
|
|
103
106
|
inputType: 'password'
|
|
104
107
|
}).then(({ value }) => {
|
|
@@ -119,7 +122,7 @@ export function getCertInfo(dn) {
|
|
|
119
122
|
dn = getDN()
|
|
120
123
|
}
|
|
121
124
|
if (!dn) {
|
|
122
|
-
Message.error('没有获取到签名参数DN!')
|
|
125
|
+
Message.error($lc('没有获取到签名参数DN!'))
|
|
123
126
|
return 'dnIsEmpty'
|
|
124
127
|
}
|
|
125
128
|
if (
|
|
@@ -135,17 +138,17 @@ export function getCertInfo(dn) {
|
|
|
135
138
|
let certInfo
|
|
136
139
|
IWSAGetAllCertsListInfo('infosec.sm2', 'Sign', 0, (dnList) => {
|
|
137
140
|
if (!dn) {
|
|
138
|
-
Message.error('没有获取到签名参数DN!')
|
|
141
|
+
Message.error($lc('没有获取到签名参数DN!'))
|
|
139
142
|
resolve('dnIsEmpty')
|
|
140
143
|
return
|
|
141
144
|
}
|
|
142
145
|
if (!dnList) {
|
|
143
|
-
Message.error('没有获取到证书列表!')
|
|
146
|
+
Message.error($lc('没有获取到证书列表!'))
|
|
144
147
|
resolve('Empty')
|
|
145
148
|
return
|
|
146
149
|
}
|
|
147
150
|
if (dnList.length === 0) {
|
|
148
|
-
Message.error('用户证书信息与当前用户不匹配!')
|
|
151
|
+
Message.error($lc('用户证书信息与当前用户不匹配!'))
|
|
149
152
|
resolve('dnListEmpty')
|
|
150
153
|
return
|
|
151
154
|
}
|
|
@@ -200,7 +203,7 @@ export async function performSign(plain, index) {
|
|
|
200
203
|
if (errorCode === 0 || errorCode === '0') {
|
|
201
204
|
resolve(signedData)
|
|
202
205
|
} else {
|
|
203
|
-
Message.error('签名失败!')
|
|
206
|
+
Message.error($lc('签名失败!'))
|
|
204
207
|
reject(errorCode)
|
|
205
208
|
}
|
|
206
209
|
})
|
|
@@ -225,7 +228,7 @@ async function performSignSkf(plainText, value) {
|
|
|
225
228
|
if (errorCode === 0 || errorCode === '0') {
|
|
226
229
|
resolve(signedData)
|
|
227
230
|
} else {
|
|
228
|
-
Message.error('签名失败!')
|
|
231
|
+
Message.error($lc('签名失败!'))
|
|
229
232
|
reject()
|
|
230
233
|
}
|
|
231
234
|
})
|
|
@@ -272,7 +275,7 @@ function verifyDn(dnList, dn) {
|
|
|
272
275
|
}
|
|
273
276
|
if (index === -1) {
|
|
274
277
|
let dnListB = dnList?.map((res) => res.certDN)?.join(',')
|
|
275
|
-
Message.error(
|
|
278
|
+
Message.error(`${$lc('证书Dn不匹配:')}${dnListB}${$lc('里面无法匹配===>')}${dn}`)
|
|
276
279
|
return index
|
|
277
280
|
}
|
|
278
281
|
return index
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Attached方式签名
|
|
2
2
|
import { Message, Notification } from 'element-ui'
|
|
3
3
|
import { IWSAgent } from './InfosecNetSignCNGAgent.min.js'
|
|
4
|
+
import { $lc } from '../../utils/i18n/index.js'
|
|
4
5
|
|
|
5
6
|
const {
|
|
6
7
|
IWSASetTimeOut,
|
|
@@ -35,16 +36,18 @@ export function availableSign(fn, url) {
|
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
function checkAvailable(fn, url, count) {
|
|
38
|
-
let name = window.NetSignDownloadName || 'NetSignCNG签名助手'
|
|
39
|
+
let name = window.NetSignDownloadName || $lc('NetSignCNG签名助手')
|
|
39
40
|
let available = IWSAGetAvailable()
|
|
40
41
|
if (available) {
|
|
41
42
|
fn && fn(available)
|
|
42
43
|
} else if (count == 10) {
|
|
43
44
|
fn && fn(available)
|
|
44
45
|
Notification({
|
|
45
|
-
title: '提示',
|
|
46
|
+
title: $lc('提示'),
|
|
46
47
|
dangerouslyUseHTMLString: true,
|
|
47
|
-
message: `<div
|
|
48
|
+
message: `<div>${$lc(
|
|
49
|
+
'检测到您的电脑中没有安装签名助手,为了不影响使用请使用管理员权限'
|
|
50
|
+
)}<a class="color-primary" href="${url}" download>${$lc('下载安装')}</a>${name}</div>`,
|
|
48
51
|
duration: 5000
|
|
49
52
|
})
|
|
50
53
|
} else {
|
|
@@ -62,7 +65,7 @@ export function verifySign(signedMsg) {
|
|
|
62
65
|
if (errorCode === 0 || errorCode === '0') {
|
|
63
66
|
plainText = PlainText
|
|
64
67
|
} else {
|
|
65
|
-
Message.error('签名解签失败!')
|
|
68
|
+
Message.error($lc('签名解签失败!'))
|
|
66
69
|
}
|
|
67
70
|
})
|
|
68
71
|
return plainText
|
|
@@ -74,16 +77,16 @@ export async function getSign(plain, dn) {
|
|
|
74
77
|
if (index === -1 || ['dnListEmpty', 'dnIsEmpty', 'Empty'].includes(index)) {
|
|
75
78
|
switch (index) {
|
|
76
79
|
case 'dnListEmpty':
|
|
77
|
-
Message.warning('没有匹配到证书!')
|
|
80
|
+
Message.warning($lc('没有匹配到证书!'))
|
|
78
81
|
break
|
|
79
82
|
case 'dnIsEmpty':
|
|
80
|
-
Message.warning('DN参数为空!')
|
|
83
|
+
Message.warning($lc('DN参数为空!'))
|
|
81
84
|
break
|
|
82
85
|
case 'Empty':
|
|
83
|
-
Message.warning('当前Ukey不匹配!')
|
|
86
|
+
Message.warning($lc('当前Ukey不匹配!'))
|
|
84
87
|
break
|
|
85
88
|
default:
|
|
86
|
-
Message.warning('没有匹配到证书!')
|
|
89
|
+
Message.warning($lc('没有匹配到证书!'))
|
|
87
90
|
}
|
|
88
91
|
return ''
|
|
89
92
|
}
|
|
@@ -106,7 +109,7 @@ export function getCertInfo(dn) {
|
|
|
106
109
|
dn = getDN()
|
|
107
110
|
}
|
|
108
111
|
if (!dn) {
|
|
109
|
-
Message.error('签名参数DN错误!')
|
|
112
|
+
Message.error($lc('签名参数DN错误!'))
|
|
110
113
|
return false
|
|
111
114
|
}
|
|
112
115
|
return new Promise((resolve, reject) => {
|
|
@@ -131,7 +134,7 @@ export async function performSign(plain, index) {
|
|
|
131
134
|
if (errorCode === 0 || errorCode === '0') {
|
|
132
135
|
resolve(signedData)
|
|
133
136
|
} else {
|
|
134
|
-
Message.error('签名失败!')
|
|
137
|
+
Message.error($lc('签名失败!'))
|
|
135
138
|
reject()
|
|
136
139
|
}
|
|
137
140
|
})
|
package/src/utils/xls2json.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import importG from './importGlobal.js'
|
|
2
|
+
import { $lc } from './i18n/index.js'
|
|
2
3
|
|
|
3
4
|
export default async function toJson(file, name, formAt = 'yyyy-MM-dd') {
|
|
4
5
|
const { read, utils } = await importG('xlsx', () => import(/*webpackChunkName: "xlsx"*/ 'xlsx'))
|
|
@@ -37,7 +38,7 @@ export default async function toJson(file, name, formAt = 'yyyy-MM-dd') {
|
|
|
37
38
|
return pro.then((workbook) => {
|
|
38
39
|
let sheetName = name || workbook.SheetNames[0]
|
|
39
40
|
let workSheet = workbook.Sheets[sheetName]
|
|
40
|
-
if (!workSheet) return Promise.reject(
|
|
41
|
+
if (!workSheet) return Promise.reject(`${$lc('工作表')}:${name} ${$lc('不存在')}`)
|
|
41
42
|
// let rows = []
|
|
42
43
|
const merges = workSheet['!merges'] || []
|
|
43
44
|
if (merges.length > 0) {
|
package/src/utils/xlsx2json.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import importG from './importGlobal.js'
|
|
2
|
+
import { $lc } from './i18n/index.js'
|
|
2
3
|
|
|
3
4
|
export default async function toJson(file, name) {
|
|
4
5
|
let { default: ExcelJS } = await importG(' ', () => import(/*webpackChunkName: "exceljs"*/ 'exceljs'))
|
|
@@ -9,7 +10,7 @@ export default async function toJson(file, name) {
|
|
|
9
10
|
.load(file)
|
|
10
11
|
.then(() => {
|
|
11
12
|
const worksheet = workbook.getWorksheet(name || 1)
|
|
12
|
-
if (!worksheet) return reject(
|
|
13
|
+
if (!worksheet) return reject(`${$lc('工作表')}:${name} ${$lc('不存在')}`)
|
|
13
14
|
|
|
14
15
|
let rows = []
|
|
15
16
|
worksheet.eachRow((r) => {
|