修复首次登录需要刷新问题

This commit is contained in:
wu.jifen
2025-08-26 17:10:26 +08:00
parent 9bbdbbfbf2
commit 321b799c42

View File

@@ -2,12 +2,6 @@
import { sm2 } from 'sm-crypto'
import { getPrivateKeyHex, getPublicKeyHex } from '@/api/safety'
// DER 编码的 SM2 公钥hex未解析的公钥
let derPublicKeyHex = sessionStorage.getItem('derPublicKeyHex')
// 私钥64位 HEX未解析的私钥
let privateKeyHex = sessionStorage.getItem('privateKeyHex')
// 不加密的URL列表
const ENCRYPT_EXCLUDE_URLS = ['/bpic/ta/*', '/keyPair/*']
@@ -87,7 +81,9 @@ function extractSm2RawPublicKey(derHex) {
export function encrypt(data) {
try {
const plaintext = typeof data === 'string' ? data : JSON.stringify(data)
var publicKeyHex = parseSM2PublicKey(derPublicKeyHex)
var publicKeyHex = parseSM2PublicKey(
sessionStorage.getItem('derPublicKeyHex')
)
publicKeyHex = publicKeyHex.startsWith('04')
? publicKeyHex
: '04' + publicKeyHex
@@ -115,7 +111,7 @@ export function encrypt(data) {
*/
export function decryptWithPrivateKey(cipherHex) {
try {
var privateKey = parseSM2PrivateKey(privateKeyHex)
var privateKey = parseSM2PrivateKey(sessionStorage.getItem('privateKeyHex'))
// 校验私钥
if (!/^[0-9a-fA-F]{64}$/.test(privateKey)) {
throw new Error('系统安全异常,请联系管理员')
@@ -149,11 +145,11 @@ export function decryptWithPrivateKey(cipherHex) {
* 获取原始公钥(用于调试)
*/
export function getPublicKey() {
return derPublicKeyHex
return sessionStorage.getItem('derPublicKeyHex')
}
export function getPrivateKey() {
return privateKeyHex
return sessionStorage.getItem('privateKeyHex')
}
// 向后端接口获取未解析的公钥