n20-common-lib 3.2.55 → 3.2.57
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 +10 -6
- 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
|
@@ -7,6 +7,7 @@ import Html from './html'
|
|
|
7
7
|
import RawHtml from './raw-html'
|
|
8
8
|
import Image from './image'
|
|
9
9
|
import Json from './json'
|
|
10
|
+
import { $lc } from '../../../../../utils/i18n/index.js'
|
|
10
11
|
|
|
11
12
|
const printTypes = ['pdf', 'html', 'image', 'json', 'raw-html']
|
|
12
13
|
|
|
@@ -30,7 +31,7 @@ export default {
|
|
|
30
31
|
onLoadingEnd: null,
|
|
31
32
|
onPrintDialogClose: () => {},
|
|
32
33
|
onIncompatibleBrowser: () => {},
|
|
33
|
-
modalMessage: '打印中...',
|
|
34
|
+
modalMessage: $lc('打印中...'),
|
|
34
35
|
frameId: 'printJS',
|
|
35
36
|
printableElement: null,
|
|
36
37
|
documentTitle: 'Document',
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
<span slot-scope="{ node, data }" class="menu-item flex-item flex-box flex-lr flex-v">
|
|
24
24
|
<span>
|
|
25
25
|
<logoIcon v-if="data.logo" :logo="data.logo" width="14px" style="vertical-align: bottom" />
|
|
26
|
-
{{ node.label || '未命名...' }}</span
|
|
26
|
+
{{ node.label || $lc('未命名...') }}</span
|
|
27
27
|
>
|
|
28
28
|
<span class="menu-item-btn m-r">
|
|
29
29
|
<el-button
|
|
@@ -107,8 +107,8 @@
|
|
|
107
107
|
v-title="$lc('是否作为门户首页的快捷入口的备选项')"
|
|
108
108
|
active-value="1"
|
|
109
109
|
inactive-value="0"
|
|
110
|
-
active-text="是"
|
|
111
|
-
inactive-text="否"
|
|
110
|
+
:active-text="$lc('是')"
|
|
111
|
+
:inactive-text="$lc('否')"
|
|
112
112
|
inline
|
|
113
113
|
:width="46"
|
|
114
114
|
/>
|
|
@@ -64,7 +64,7 @@ export function menutree2treeSource(menuTree) {
|
|
|
64
64
|
delete item.version
|
|
65
65
|
})
|
|
66
66
|
|
|
67
|
-
let _version = window.prompt(
|
|
67
|
+
let _version = window.prompt(`${$lc('请输入应用[')}${appNo}]${$lc('的版本号')}`, version)
|
|
68
68
|
|
|
69
69
|
return {
|
|
70
70
|
appNo: appNo,
|
|
@@ -72,3 +72,4 @@ export function menutree2treeSource(menuTree) {
|
|
|
72
72
|
initResInfo: menuTree
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
+
import { $lc } from '../../utils/i18n/index.js'
|
|
@@ -2475,19 +2475,20 @@ function tcu() {}
|
|
|
2475
2475
|
* 自行开发:签名部分
|
|
2476
2476
|
*/
|
|
2477
2477
|
import { Message, Notification } from 'element-ui'
|
|
2478
|
+
import { $lc } from '../../../utils/i18n/index.js'
|
|
2478
2479
|
function initCertList() {
|
|
2479
2480
|
try {
|
|
2480
2481
|
let certs = CertStore.listAllCerts()
|
|
2481
2482
|
if (certs.size() > 0) {
|
|
2482
2483
|
console.warn('签名初始化成功!')
|
|
2483
2484
|
} else {
|
|
2484
|
-
Message.warning('没有检测到证书!')
|
|
2485
|
+
Message.warning($lc('没有检测到证书!'))
|
|
2485
2486
|
}
|
|
2486
2487
|
} catch (e) {
|
|
2487
2488
|
if (e instanceof TCACErr) {
|
|
2488
2489
|
Message.warning(e.toStr())
|
|
2489
2490
|
} else {
|
|
2490
|
-
Message.warning('没有检测到证书!')
|
|
2491
|
+
Message.warning($lc('没有检测到证书!'))
|
|
2491
2492
|
}
|
|
2492
2493
|
}
|
|
2493
2494
|
}
|
|
@@ -2502,14 +2503,16 @@ const config = {
|
|
|
2502
2503
|
}
|
|
2503
2504
|
|
|
2504
2505
|
let url = window.NetSignName || `/portal/天诚安信数字证书助手-3.7.7.0.exe`
|
|
2505
|
-
let name = window.NetSignDownloadName || '天诚安信数字证书助手'
|
|
2506
|
+
let name = window.NetSignDownloadName || $lc('天诚安信数字证书助手')
|
|
2506
2507
|
try {
|
|
2507
2508
|
TCA.config(config)
|
|
2508
2509
|
} catch (error) {
|
|
2509
2510
|
Notification({
|
|
2510
|
-
title: '提示',
|
|
2511
|
+
title: $lc('提示'),
|
|
2511
2512
|
dangerouslyUseHTMLString: true,
|
|
2512
|
-
message: `<div
|
|
2513
|
+
message: `<div>${$lc(
|
|
2514
|
+
'检测到您的电脑中没有安装签名助手,为了不影响使用请使用管理员权限'
|
|
2515
|
+
)}<a class="color-primary" href="${url}" download>${$lc('下载安装')}</a>${name}</div>`,
|
|
2513
2516
|
duration: 5000
|
|
2514
2517
|
})
|
|
2515
2518
|
}
|
|
@@ -2571,7 +2574,7 @@ export function getSign(plain, dn) {
|
|
|
2571
2574
|
dn = getDN()
|
|
2572
2575
|
}
|
|
2573
2576
|
if (!dn) {
|
|
2574
|
-
Message.error('签名参数DN错误!')
|
|
2577
|
+
Message.error($lc('签名参数DN错误!'))
|
|
2575
2578
|
return false
|
|
2576
2579
|
}
|
|
2577
2580
|
let certs = CertStore.listAllCerts()
|
|
@@ -2600,17 +2603,17 @@ export function getSign(plain, dn) {
|
|
|
2600
2603
|
process.env.VUE_APP_NetSign_ARG_PLAIN ?? window.VUE_APP_NetSign_ARG_PLAIN ?? false
|
|
2601
2604
|
)
|
|
2602
2605
|
} else {
|
|
2603
|
-
Message.warning('没有匹配到证书!')
|
|
2606
|
+
Message.warning($lc('没有匹配到证书!'))
|
|
2604
2607
|
}
|
|
2605
2608
|
} else {
|
|
2606
|
-
Message.warning('请检查key是否插入!')
|
|
2609
|
+
Message.warning($lc('请检查key是否插入!'))
|
|
2607
2610
|
}
|
|
2608
2611
|
} catch (e) {
|
|
2609
2612
|
if (e instanceof TCACErr) {
|
|
2610
2613
|
Message.error(e.toStr())
|
|
2611
2614
|
} else {
|
|
2612
2615
|
console.log('签名失败', e)
|
|
2613
|
-
Message.error('签名失败!')
|
|
2616
|
+
Message.error($lc('签名失败!'))
|
|
2614
2617
|
}
|
|
2615
2618
|
}
|
|
2616
2619
|
}
|
|
@@ -1755,19 +1755,20 @@ var ERRMAP_ZHCN = {
|
|
|
1755
1755
|
* 自行开发:签名部分
|
|
1756
1756
|
*/
|
|
1757
1757
|
import { Message, Notification } from 'element-ui'
|
|
1758
|
+
import { $lc } from '../../../utils/i18n/index.js'
|
|
1758
1759
|
function initCertList() {
|
|
1759
1760
|
try {
|
|
1760
1761
|
let certs = CertStore.listAllCerts()
|
|
1761
1762
|
if (certs.size() > 0) {
|
|
1762
1763
|
console.warn('签名初始化成功!')
|
|
1763
1764
|
} else {
|
|
1764
|
-
Message.warning('没有检测到证书!')
|
|
1765
|
+
Message.warning($lc('没有检测到证书!'))
|
|
1765
1766
|
}
|
|
1766
1767
|
} catch (e) {
|
|
1767
1768
|
if (e instanceof TCACErr) {
|
|
1768
1769
|
Message.warning(e.toStr())
|
|
1769
1770
|
} else {
|
|
1770
|
-
Message.warning('没有检测到证书!')
|
|
1771
|
+
Message.warning($lc('没有检测到证书!'))
|
|
1771
1772
|
}
|
|
1772
1773
|
}
|
|
1773
1774
|
}
|
|
@@ -1785,9 +1786,13 @@ try {
|
|
|
1785
1786
|
TCA.config(config)
|
|
1786
1787
|
} catch (error) {
|
|
1787
1788
|
Notification({
|
|
1788
|
-
title: '提示',
|
|
1789
|
+
title: $lc('提示'),
|
|
1789
1790
|
dangerouslyUseHTMLString: true,
|
|
1790
|
-
message: `<div
|
|
1791
|
+
message: `<div>${$lc(
|
|
1792
|
+
'检测到您的电脑中没有安装签名助手,为了不影响使用请使用管理员权限'
|
|
1793
|
+
)}<a class="color-primary" href="/portal/TopESA3.7.2.0.exe" download>${$lc('下载安装')}</a>${$lc(
|
|
1794
|
+
'天诚安信数字证书助手'
|
|
1795
|
+
)}</div>`,
|
|
1791
1796
|
duration: 5000
|
|
1792
1797
|
})
|
|
1793
1798
|
}
|
|
@@ -1815,7 +1820,7 @@ export function getSign(plain, dn) {
|
|
|
1815
1820
|
dn = getDN()
|
|
1816
1821
|
}
|
|
1817
1822
|
if (!dn) {
|
|
1818
|
-
Message.error('签名参数DN错误!')
|
|
1823
|
+
Message.error($lc('签名参数DN错误!'))
|
|
1819
1824
|
return false
|
|
1820
1825
|
}
|
|
1821
1826
|
let certs = CertStore.listAllCerts()
|
|
@@ -1832,16 +1837,16 @@ export function getSign(plain, dn) {
|
|
|
1832
1837
|
if (sginCert) {
|
|
1833
1838
|
return sginCert.signMessage(plainText, false)
|
|
1834
1839
|
} else {
|
|
1835
|
-
Message.warning('没有匹配到证书!')
|
|
1840
|
+
Message.warning($lc('没有匹配到证书!'))
|
|
1836
1841
|
}
|
|
1837
1842
|
} else {
|
|
1838
|
-
Message.warning('请检查key是否插入!')
|
|
1843
|
+
Message.warning($lc('请检查key是否插入!'))
|
|
1839
1844
|
}
|
|
1840
1845
|
} catch (e) {
|
|
1841
1846
|
if (e instanceof TCACErr) {
|
|
1842
1847
|
Message.error(e.toStr())
|
|
1843
1848
|
} else {
|
|
1844
|
-
Message.error('签名失败!')
|
|
1849
|
+
Message.error($lc('签名失败!'))
|
|
1845
1850
|
}
|
|
1846
1851
|
}
|
|
1847
1852
|
}
|
|
@@ -2,6 +2,7 @@ import { Message, MessageBox, Notification } from 'element-ui'
|
|
|
2
2
|
import { codeDate } from '../codeMap.js'
|
|
3
3
|
import { IWSAgent } from './InfosecNetSignCNGAgent.min.js'
|
|
4
4
|
import { isDnMatched } from '../dn.js'
|
|
5
|
+
import { $lc } from '../../../utils/i18n/index.js'
|
|
5
6
|
/*
|
|
6
7
|
获取证书列表接口:2.7.1 IWSASkfGetCertList (DllFilePath, SucceedFunction)
|
|
7
8
|
Attached签名接口:2.7.2 IWSASkfSignData (PlainText, CertIndex, UsbKeyPin, DigestArithmetic, SucceedFunction)
|
|
@@ -42,16 +43,18 @@ export function availableSign(fn, url) {
|
|
|
42
43
|
}
|
|
43
44
|
|
|
44
45
|
function checkAvailable(fn, url, count) {
|
|
45
|
-
let name = window.NetSignDownloadName || 'NetSignCNG签名助手'
|
|
46
|
+
let name = window.NetSignDownloadName || $lc('NetSignCNG签名助手')
|
|
46
47
|
let available = IWSAGetAvailable()
|
|
47
48
|
if (available) {
|
|
48
49
|
fn && fn(available)
|
|
49
50
|
} else if (count == 10) {
|
|
50
51
|
fn && fn(available)
|
|
51
52
|
Notification({
|
|
52
|
-
title: '提示',
|
|
53
|
+
title: $lc('提示'),
|
|
53
54
|
dangerouslyUseHTMLString: true,
|
|
54
|
-
message: `<div
|
|
55
|
+
message: `<div>${$lc(
|
|
56
|
+
'检测到您的电脑中没有安装签名助手,为了不影响使用请使用管理员权限'
|
|
57
|
+
)}<a class="color-primary" href="${url}" download>${$lc('下载安装')}</a>${name}</div>`,
|
|
55
58
|
duration: 5000
|
|
56
59
|
})
|
|
57
60
|
} else {
|
|
@@ -88,7 +91,7 @@ export async function getSign(plain, dn) {
|
|
|
88
91
|
dn = getDN()
|
|
89
92
|
}
|
|
90
93
|
if (!dn) {
|
|
91
|
-
Message.error('签名参数DN错误!')
|
|
94
|
+
Message.error($lc('签名参数DN错误!'))
|
|
92
95
|
return false
|
|
93
96
|
}
|
|
94
97
|
let plainText = ''
|
|
@@ -103,23 +106,23 @@ export async function getSign(plain, dn) {
|
|
|
103
106
|
if (checkRes === -1 || ['dnListEmpty', 'dnIsEmpty', 'Empty'].includes(checkRes)) {
|
|
104
107
|
switch (checkRes) {
|
|
105
108
|
case 'dnListEmpty':
|
|
106
|
-
Message.warning('没有匹配到证书!')
|
|
109
|
+
Message.warning($lc('没有匹配到证书!'))
|
|
107
110
|
break
|
|
108
111
|
case 'dnIsEmpty':
|
|
109
|
-
Message.warning('DN参数为空!')
|
|
112
|
+
Message.warning($lc('DN参数为空!'))
|
|
110
113
|
break
|
|
111
114
|
case 'Empty':
|
|
112
|
-
Message.warning('当前Ukey不匹配!')
|
|
115
|
+
Message.warning($lc('当前Ukey不匹配!'))
|
|
113
116
|
break
|
|
114
117
|
default:
|
|
115
|
-
Message.warning('没有匹配到证书!')
|
|
118
|
+
Message.warning($lc('没有匹配到证书!'))
|
|
116
119
|
}
|
|
117
120
|
return ''
|
|
118
121
|
}
|
|
119
122
|
// 签名
|
|
120
|
-
await MessageBox.prompt('请输入PIN码', '提示', {
|
|
121
|
-
confirmButtonText: '确定',
|
|
122
|
-
cancelButtonText: '取消',
|
|
123
|
+
await MessageBox.prompt($lc('请输入PIN码'), $lc('提示'), {
|
|
124
|
+
confirmButtonText: $lc('确定'),
|
|
125
|
+
cancelButtonText: $lc('取消'),
|
|
123
126
|
closeOnClickModal: false,
|
|
124
127
|
inputType: 'password'
|
|
125
128
|
}).then(({ value }) => {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Message, MessageBox } from 'element-ui'
|
|
2
2
|
import axios from '../../../utils/axios.js'
|
|
3
|
+
import { $lc } from '../../../utils/i18n/index.js'
|
|
3
4
|
import { IWSAgent } from './InfosecNetSignCNGAgent.min.js'
|
|
4
5
|
let {
|
|
5
6
|
IWSAGetVersion, // 获取版本号,
|
|
@@ -82,10 +83,10 @@ function buildCertDTO(certData, p10Result) {
|
|
|
82
83
|
*/
|
|
83
84
|
function handleCertImportResult(certCode) {
|
|
84
85
|
if (certCode === '0') {
|
|
85
|
-
Message.success('证书导入成功')
|
|
86
|
+
Message.success($lc('证书导入成功'))
|
|
86
87
|
return true
|
|
87
88
|
} else {
|
|
88
|
-
Message.error('导入证书失败,错误码:' + certCode)
|
|
89
|
+
Message.error($lc('导入证书失败,错误码:') + certCode)
|
|
89
90
|
return false
|
|
90
91
|
}
|
|
91
92
|
}
|
|
@@ -131,7 +132,7 @@ async function generateRSACert(certData, dn) {
|
|
|
131
132
|
*/
|
|
132
133
|
const res = IWSA_rsa_csp_genContainerP10('true', alg, '', '', '', '', 'false', 'false')
|
|
133
134
|
if (res[0] !== '0') {
|
|
134
|
-
Message.error('产生 P10失败,错误码:' + res[0])
|
|
135
|
+
Message.error($lc('产生 P10失败,错误码:') + res[0])
|
|
135
136
|
return
|
|
136
137
|
}
|
|
137
138
|
|
|
@@ -161,26 +162,26 @@ async function generateSM2Cert(certData, dn) {
|
|
|
161
162
|
|
|
162
163
|
const providerList = IWSA_sm2_skf_getProviderList()
|
|
163
164
|
if (providerList.length === 0) {
|
|
164
|
-
Message.error('请检查ukey是否正常')
|
|
165
|
+
Message.error($lc('请检查ukey是否正常'))
|
|
165
166
|
return
|
|
166
167
|
}
|
|
167
168
|
const deviceList = IWSA_sm2_skf_getDeviceList(providerList[0].Provider)
|
|
168
169
|
if (deviceList.length === 0) {
|
|
169
|
-
Message.error('未获取到SM2设备')
|
|
170
|
+
Message.error($lc('未获取到SM2设备'))
|
|
170
171
|
return
|
|
171
172
|
}
|
|
172
173
|
const applicationList = IWSA_sm2_skf_getApplicationList(providerList[0].Provider, deviceList[0].Device)
|
|
173
174
|
if (applicationList.length === 0) {
|
|
174
|
-
Message.error('未获取到SM2应用')
|
|
175
|
+
Message.error($lc('未获取到SM2应用'))
|
|
175
176
|
return
|
|
176
177
|
}
|
|
177
178
|
IWSA_sm2_skf_setDevice(providerList[0].Provider, deviceList[0].Device, applicationList[0].Application)
|
|
178
179
|
|
|
179
180
|
let pin
|
|
180
181
|
try {
|
|
181
|
-
const result = await MessageBox.prompt('请输入PIN码', '提示', {
|
|
182
|
-
confirmButtonText: '确定',
|
|
183
|
-
cancelButtonText: '取消',
|
|
182
|
+
const result = await MessageBox.prompt($lc('请输入PIN码'), $lc('提示'), {
|
|
183
|
+
confirmButtonText: $lc('确定'),
|
|
184
|
+
cancelButtonText: $lc('取消'),
|
|
184
185
|
closeOnClickModal: false,
|
|
185
186
|
inputType: 'password'
|
|
186
187
|
})
|
|
@@ -196,7 +197,7 @@ async function generateSM2Cert(certData, dn) {
|
|
|
196
197
|
*/
|
|
197
198
|
const res = IWSA_sm2_skf_genContainerP10(pin, '', '', 'true')
|
|
198
199
|
if (res[0] !== '0') {
|
|
199
|
-
Message.error('产生 P10失败,错误码:' + res[0])
|
|
200
|
+
Message.error($lc('产生 P10失败,错误码:') + res[0])
|
|
200
201
|
return
|
|
201
202
|
}
|
|
202
203
|
|
|
@@ -242,7 +243,7 @@ export function updateCert(cspName, onSuccess, dnInfo) {
|
|
|
242
243
|
IWSASetAsyncMode(false)
|
|
243
244
|
let dn = dnInfo || getDN()
|
|
244
245
|
if (!dn) {
|
|
245
|
-
Message.error('未获取到Dn信息')
|
|
246
|
+
Message.error($lc('未获取到Dn信息'))
|
|
246
247
|
return
|
|
247
248
|
}
|
|
248
249
|
//获取当前证书的容器
|
|
@@ -276,25 +277,25 @@ export function updateCert(cspName, onSuccess, dnInfo) {
|
|
|
276
277
|
if (oldContainer != '') {
|
|
277
278
|
IWSA_rsa_csp_deleteContainer(oldContainer)
|
|
278
279
|
}
|
|
279
|
-
Message.success('证书导入成功')
|
|
280
|
+
Message.success($lc('证书导入成功'))
|
|
280
281
|
if (typeof onSuccess === 'function') {
|
|
281
282
|
onSuccess()
|
|
282
283
|
}
|
|
283
284
|
} else {
|
|
284
285
|
IWSA_rsa_csp_deleteContainer(res[1])
|
|
285
|
-
Message.error('证书导入失败,请联系管理员,错误码为' + code)
|
|
286
|
+
Message.error($lc('证书导入失败,请联系管理员,错误码为') + code)
|
|
286
287
|
}
|
|
287
288
|
} else {
|
|
288
289
|
IWSA_rsa_csp_deleteContainer(res[1])
|
|
289
|
-
Message.error('证书下载失败,请联系管理员,错误码为' + list[0]?.errNum)
|
|
290
|
+
Message.error($lc('证书下载失败,请联系管理员,错误码为') + list[0]?.errNum)
|
|
290
291
|
}
|
|
291
292
|
} else {
|
|
292
293
|
IWSA_rsa_csp_deleteContainer(res[1])
|
|
293
|
-
Message.error('证书下载服务出错,请重试或联系管理员')
|
|
294
|
+
Message.error($lc('证书下载服务出错,请重试或联系管理员'))
|
|
294
295
|
}
|
|
295
296
|
})
|
|
296
297
|
} else {
|
|
297
|
-
Message.error('容器生成失败,请联系管理员,错误码为' + res[0])
|
|
298
|
+
Message.error($lc('容器生成失败,请联系管理员,错误码为') + res[0])
|
|
298
299
|
}
|
|
299
300
|
}
|
|
300
301
|
/**
|
|
@@ -2,6 +2,7 @@ import { Message, MessageBox, Notification } from 'element-ui'
|
|
|
2
2
|
import { codeDate } from '../codeMap.js'
|
|
3
3
|
import { IWSAgent } from './InfosecNetSignCNGAgent.min.js'
|
|
4
4
|
import { isDnMatched } from '../dn.js'
|
|
5
|
+
import { $lc } from '../../../utils/i18n/index.js'
|
|
5
6
|
/*
|
|
6
7
|
获取证书列表接口:2.7.1 IWSASkfGetCertList (DllFilePath, SucceedFunction)
|
|
7
8
|
Attached签名接口:2.7.2 IWSASkfSignData (PlainText, CertIndex, UsbKeyPin, DigestArithmetic, SucceedFunction)
|
|
@@ -43,15 +44,17 @@ export function availableSign(fn, url) {
|
|
|
43
44
|
|
|
44
45
|
function checkAvailable(fn, url, count) {
|
|
45
46
|
let available = IWSAGetAvailable()
|
|
46
|
-
let name = window.NetSignDownloadName || 'NetSignCNG签名助手'
|
|
47
|
+
let name = window.NetSignDownloadName || $lc('NetSignCNG签名助手')
|
|
47
48
|
if (available) {
|
|
48
49
|
fn && fn(available)
|
|
49
50
|
} else if (count == 10) {
|
|
50
51
|
fn && fn(available)
|
|
51
52
|
Notification({
|
|
52
|
-
title: '提示',
|
|
53
|
+
title: $lc('提示'),
|
|
53
54
|
dangerouslyUseHTMLString: true,
|
|
54
|
-
message: `<div
|
|
55
|
+
message: `<div>${$lc(
|
|
56
|
+
'检测到您的电脑中没有安装签名助手,为了不影响使用请使用管理员权限'
|
|
57
|
+
)}<a class="color-primary" href="${url}" download>${$lc('下载安装')}</a>${name}</div>`,
|
|
55
58
|
duration: 5000
|
|
56
59
|
})
|
|
57
60
|
} else {
|
|
@@ -85,7 +88,7 @@ function verifyDn(dnList, dn) {
|
|
|
85
88
|
export async function getSign(plain, dn = getDN()) {
|
|
86
89
|
// 验证DN参数
|
|
87
90
|
if (!dn) {
|
|
88
|
-
Message.error('签名参数DN错误!')
|
|
91
|
+
Message.error($lc('签名参数DN错误!'))
|
|
89
92
|
return false
|
|
90
93
|
}
|
|
91
94
|
|
|
@@ -97,21 +100,21 @@ export async function getSign(plain, dn = getDN()) {
|
|
|
97
100
|
|
|
98
101
|
// 证书验证错误处理
|
|
99
102
|
const errorMessages = {
|
|
100
|
-
dnListEmpty: '没有匹配到证书!',
|
|
101
|
-
dnIsEmpty: 'DN参数为空!',
|
|
102
|
-
Empty: '当前Ukey不匹配!'
|
|
103
|
+
dnListEmpty: $lc('没有匹配到证书!'),
|
|
104
|
+
dnIsEmpty: $lc('DN参数为空!'),
|
|
105
|
+
Empty: $lc('当前Ukey不匹配!')
|
|
103
106
|
}
|
|
104
107
|
|
|
105
108
|
if (checkRes === -1 || Object.keys(errorMessages).includes(checkRes)) {
|
|
106
|
-
Message.warning(errorMessages[checkRes] || '没有匹配到证书!')
|
|
109
|
+
Message.warning(errorMessages[checkRes] || $lc('没有匹配到证书!'))
|
|
107
110
|
return ''
|
|
108
111
|
}
|
|
109
112
|
|
|
110
113
|
// 获取PIN码并执行签名
|
|
111
114
|
try {
|
|
112
|
-
const { value: pin } = await MessageBox.prompt('请输入PIN码', '提示', {
|
|
113
|
-
confirmButtonText: '确定',
|
|
114
|
-
cancelButtonText: '取消',
|
|
115
|
+
const { value: pin } = await MessageBox.prompt($lc('请输入PIN码'), $lc('提示'), {
|
|
116
|
+
confirmButtonText: $lc('确定'),
|
|
117
|
+
cancelButtonText: $lc('取消'),
|
|
115
118
|
closeOnClickModal: false,
|
|
116
119
|
inputType: 'password'
|
|
117
120
|
})
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import './XTXSAB.js'
|
|
2
2
|
import { Message } from 'element-ui'
|
|
3
|
+
import { $lc } from '../../../utils/i18n/index.js'
|
|
3
4
|
|
|
4
5
|
function getDN() {
|
|
5
6
|
let dn
|
|
@@ -19,7 +20,7 @@ export async function getSign(plain, dn, word) {
|
|
|
19
20
|
window._bjca_init_(
|
|
20
21
|
() => resolve(),
|
|
21
22
|
() => {
|
|
22
|
-
errMsg = '没有检测到签名驱动!'
|
|
23
|
+
errMsg = $lc('没有检测到签名驱动!')
|
|
23
24
|
Message.error(errMsg)
|
|
24
25
|
reject(errMsg)
|
|
25
26
|
}
|
|
@@ -30,7 +31,7 @@ export async function getSign(plain, dn, word) {
|
|
|
30
31
|
dn = getDN()
|
|
31
32
|
}
|
|
32
33
|
if (!dn) {
|
|
33
|
-
errMsg = '签名参数DN错误!'
|
|
34
|
+
errMsg = $lc('签名参数DN错误!')
|
|
34
35
|
Message.error(errMsg)
|
|
35
36
|
return Promise.reject(errMsg)
|
|
36
37
|
}
|
|
@@ -54,7 +55,7 @@ export async function getSign(plain, dn, word) {
|
|
|
54
55
|
.map((s) => s.split('||')[1])
|
|
55
56
|
resolve()
|
|
56
57
|
} else {
|
|
57
|
-
Message.error('证书获取失败')
|
|
58
|
+
Message.error($lc('证书获取失败'))
|
|
58
59
|
resolve()
|
|
59
60
|
}
|
|
60
61
|
})
|
|
@@ -73,7 +74,7 @@ export async function getSign(plain, dn, word) {
|
|
|
73
74
|
r_retVal.push({ certId: CertIdList[i], retVal: r.retVal })
|
|
74
75
|
resolve()
|
|
75
76
|
} else {
|
|
76
|
-
errMsg = '证书获取失败!'
|
|
77
|
+
errMsg = $lc('证书获取失败!')
|
|
77
78
|
Message.error(errMsg)
|
|
78
79
|
reject(errMsg)
|
|
79
80
|
}
|
|
@@ -96,7 +97,7 @@ export async function getSign(plain, dn, word) {
|
|
|
96
97
|
s_retVal.push({ certId: r_retVal[i].certId, retVal: s.retVal })
|
|
97
98
|
resolve()
|
|
98
99
|
} else {
|
|
99
|
-
errMsg = '证书信息获取失败!'
|
|
100
|
+
errMsg = $lc('证书信息获取失败!')
|
|
100
101
|
Message.error(errMsg)
|
|
101
102
|
reject(errMsg)
|
|
102
103
|
}
|
|
@@ -111,7 +112,7 @@ export async function getSign(plain, dn, word) {
|
|
|
111
112
|
s_retVal.push({ certId: r_retVal[i].certId, retVal: s.retVal })
|
|
112
113
|
resolve()
|
|
113
114
|
} else {
|
|
114
|
-
errMsg = '证书信息获取失败!'
|
|
115
|
+
errMsg = $lc('证书信息获取失败!')
|
|
115
116
|
Message.error(errMsg)
|
|
116
117
|
reject(errMsg)
|
|
117
118
|
}
|
|
@@ -164,13 +165,13 @@ export async function getSign(plain, dn, word) {
|
|
|
164
165
|
if (v && v.retVal === true) {
|
|
165
166
|
resolve()
|
|
166
167
|
} else {
|
|
167
|
-
errMsg = 'pin码错误!'
|
|
168
|
+
errMsg = $lc('pin码错误!')
|
|
168
169
|
window.alert(errMsg)
|
|
169
170
|
reject(errMsg)
|
|
170
171
|
}
|
|
171
172
|
})
|
|
172
173
|
} else {
|
|
173
|
-
errMsg = '证书口令已被锁死,必须解锁后才能使用!'
|
|
174
|
+
errMsg = $lc('证书口令已被锁死,必须解锁后才能使用!')
|
|
174
175
|
window.alert(errMsg)
|
|
175
176
|
reject(errMsg)
|
|
176
177
|
}
|
|
@@ -185,7 +186,7 @@ export async function getSign(plain, dn, word) {
|
|
|
185
186
|
v_retVal = v.retVal
|
|
186
187
|
resolve()
|
|
187
188
|
} else {
|
|
188
|
-
errMsg = '签名失败!'
|
|
189
|
+
errMsg = $lc('签名失败!')
|
|
189
190
|
window.alert(errMsg)
|
|
190
191
|
reject(errMsg)
|
|
191
192
|
}
|
|
@@ -193,7 +194,7 @@ export async function getSign(plain, dn, word) {
|
|
|
193
194
|
})
|
|
194
195
|
return Promise.resolve(v_retVal + '@@@' + cert[0].retVal)
|
|
195
196
|
} else {
|
|
196
|
-
errMsg = '参数dn信息不匹配!'
|
|
197
|
+
errMsg = $lc('参数dn信息不匹配!')
|
|
197
198
|
window.alert(errMsg)
|
|
198
199
|
return Promise.reject(errMsg)
|
|
199
200
|
}
|
|
@@ -207,7 +208,7 @@ export async function getCert(dn) {
|
|
|
207
208
|
window._bjca_init_(
|
|
208
209
|
() => resolve(),
|
|
209
210
|
() => {
|
|
210
|
-
errMsg = '没有检测到签名驱动!'
|
|
211
|
+
errMsg = $lc('没有检测到签名驱动!')
|
|
211
212
|
Message.error(errMsg)
|
|
212
213
|
reject(errMsg)
|
|
213
214
|
}
|
|
@@ -218,7 +219,7 @@ export async function getCert(dn) {
|
|
|
218
219
|
dn = getDN()
|
|
219
220
|
}
|
|
220
221
|
if (!dn) {
|
|
221
|
-
errMsg = '签名参数DN错误!'
|
|
222
|
+
errMsg = $lc('签名参数DN错误!')
|
|
222
223
|
Message.error(errMsg)
|
|
223
224
|
return Promise.reject(errMsg)
|
|
224
225
|
}
|
|
@@ -236,7 +237,7 @@ export async function getCert(dn) {
|
|
|
236
237
|
.map((s) => s.split('||')[1])
|
|
237
238
|
resolve()
|
|
238
239
|
} else {
|
|
239
|
-
Message.error('证书获取失败')
|
|
240
|
+
Message.error($lc('证书获取失败'))
|
|
240
241
|
resolve()
|
|
241
242
|
}
|
|
242
243
|
})
|
|
@@ -255,7 +256,7 @@ export async function getCert(dn) {
|
|
|
255
256
|
r_retVal.push({ certId: CertIdList[i], retVal: r.retVal })
|
|
256
257
|
resolve()
|
|
257
258
|
} else {
|
|
258
|
-
errMsg = '证书获取失败!'
|
|
259
|
+
errMsg = $lc('证书获取失败!')
|
|
259
260
|
Message.error(errMsg)
|
|
260
261
|
reject(errMsg)
|
|
261
262
|
}
|
|
@@ -278,7 +279,7 @@ export async function getCert(dn) {
|
|
|
278
279
|
s_retVal.push({ certId: r_retVal[i].certId, retVal: s.retVal })
|
|
279
280
|
resolve()
|
|
280
281
|
} else {
|
|
281
|
-
errMsg = '证书信息获取失败!'
|
|
282
|
+
errMsg = $lc('证书信息获取失败!')
|
|
282
283
|
Message.error(errMsg)
|
|
283
284
|
reject(errMsg)
|
|
284
285
|
}
|
|
@@ -293,7 +294,7 @@ export async function getCert(dn) {
|
|
|
293
294
|
s_retVal.push({ certId: r_retVal[i].certId, retVal: s.retVal })
|
|
294
295
|
resolve()
|
|
295
296
|
} else {
|
|
296
|
-
errMsg = '证书信息获取失败!'
|
|
297
|
+
errMsg = $lc('证书信息获取失败!')
|
|
297
298
|
Message.error(errMsg)
|
|
298
299
|
reject(errMsg)
|
|
299
300
|
}
|
|
@@ -342,9 +343,11 @@ export async function getCert(dn) {
|
|
|
342
343
|
return
|
|
343
344
|
} else {
|
|
344
345
|
if (s_retVal[0] && s_retVal[0].retVal && dn) {
|
|
345
|
-
errMsg =
|
|
346
|
+
errMsg = `${$lc('用户CN值为:CN=')}${parseCA(dn)},${$lc('数字证书CN值为:CN=')}${parseCA(
|
|
347
|
+
s_retVal[0].retVal
|
|
348
|
+
)}.${$lc('不匹配')}`
|
|
346
349
|
} else {
|
|
347
|
-
errMsg = '参数dn信息不匹配!'
|
|
350
|
+
errMsg = $lc('参数dn信息不匹配!')
|
|
348
351
|
}
|
|
349
352
|
Message.error(errMsg)
|
|
350
353
|
return Promise.reject(errMsg)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
/* eslint-disable no-redeclare */
|
|
3
3
|
/* eslint-disable eqeqeq */
|
|
4
4
|
import { Message } from 'element-ui'
|
|
5
|
+
import { $lc } from '../../../utils/i18n/index.js'
|
|
5
6
|
|
|
6
7
|
const chrome = window.chrome
|
|
7
8
|
|
|
@@ -413,7 +414,7 @@ export const getSign = async (plain, dn) => {
|
|
|
413
414
|
dn = getDN()
|
|
414
415
|
}
|
|
415
416
|
if (!dn) {
|
|
416
|
-
errMsg = '签名参数DN错误!'
|
|
417
|
+
errMsg = $lc('签名参数DN错误!')
|
|
417
418
|
Message.error(errMsg)
|
|
418
419
|
return Promise.reject(errMsg)
|
|
419
420
|
}
|
|
@@ -444,22 +445,22 @@ export const getSign = async (plain, dn) => {
|
|
|
444
445
|
(browser.name == 'Chrome' && compareVersion(extensionVer, chromeExtensionVer) < 0) ||
|
|
445
446
|
(browser.name == 'Firefox' && compareVersion(extensionVer, firefoxExtensionVer) < 0)
|
|
446
447
|
) {
|
|
447
|
-
errMsg = '签名助手未正确安装!'
|
|
448
|
+
errMsg = $lc('签名助手未正确安装!')
|
|
448
449
|
Message.error(errMsg)
|
|
449
450
|
return Promise.reject(errMsg)
|
|
450
451
|
} else if (compareVersion(hostVer, '3.4.0.1') < 0) {
|
|
451
|
-
errMsg = '签名助手未正确安装!'
|
|
452
|
+
errMsg = $lc('签名助手未正确安装!')
|
|
452
453
|
Message.error(errMsg)
|
|
453
454
|
return Promise.reject(errMsg)
|
|
454
455
|
}
|
|
455
456
|
} else {
|
|
456
|
-
errMsg = '不支持的浏览器!'
|
|
457
|
+
errMsg = $lc('不支持的浏览器!')
|
|
457
458
|
Message.error(errMsg)
|
|
458
459
|
return Promise.reject(errMsg)
|
|
459
460
|
}
|
|
460
461
|
} catch (ex) {
|
|
461
462
|
console.log(ex)
|
|
462
|
-
errMsg = '签名助手初始化失败!'
|
|
463
|
+
errMsg = $lc('签名助手初始化失败!')
|
|
463
464
|
Message.error(errMsg)
|
|
464
465
|
return Promise.reject(errMsg)
|
|
465
466
|
}
|
|
@@ -492,13 +493,13 @@ export const getSign = async (plain, dn) => {
|
|
|
492
493
|
cspNameLists
|
|
493
494
|
)
|
|
494
495
|
if (!certRes.result) {
|
|
495
|
-
errMsg = '没有检测到证书!'
|
|
496
|
+
errMsg = $lc('没有检测到证书!')
|
|
496
497
|
Message.error(errMsg)
|
|
497
498
|
return Promise.reject(errMsg)
|
|
498
499
|
}
|
|
499
500
|
} catch (ex) {
|
|
500
501
|
console.log(ex)
|
|
501
|
-
errMsg = '检测证书出错!' + ex
|
|
502
|
+
errMsg = $lc('检测证书出错!') + ex
|
|
502
503
|
Message.error(errMsg)
|
|
503
504
|
return Promise.reject(errMsg)
|
|
504
505
|
}
|
|
@@ -507,7 +508,7 @@ export const getSign = async (plain, dn) => {
|
|
|
507
508
|
var certDN = certDNRes.result
|
|
508
509
|
//比对DN
|
|
509
510
|
if (certDN != dn) {
|
|
510
|
-
errMsg = '证书不匹配!'
|
|
511
|
+
errMsg = $lc('证书不匹配!')
|
|
511
512
|
Message.error(errMsg)
|
|
512
513
|
return Promise.reject(errMsg)
|
|
513
514
|
}
|
|
@@ -518,7 +519,7 @@ export const getSign = async (plain, dn) => {
|
|
|
518
519
|
return Promise.resolve(signRes.result)
|
|
519
520
|
} catch (ex) {
|
|
520
521
|
console.log(ex)
|
|
521
|
-
errMsg = '证书签名出错!' + ex
|
|
522
|
+
errMsg = $lc('证书签名出错!') + ex
|
|
522
523
|
Message.error(errMsg)
|
|
523
524
|
return Promise.reject(errMsg)
|
|
524
525
|
}
|