Prechádzať zdrojové kódy

feat(gx): 添加证书状态检查和订单管理功能

- 在 AccountManager 中添加证书状态检查逻辑- 新增 GXCertStateAlertScreen 组件用于显示证书状态提醒- 在 CertManager 中添加 stateController 用于控制证书状态弹窗- 新增 CertServiceHelper 类用于处理证书服务购买逻辑
- 在 API 配置中添加获取订单列表、取消订单和获取发票 URL 的接口
- 新增 OrderListManageScreen 和 OrderInvoice 组件用于订单管理
- 更新路由配置,添加新的订单管理相关路由
徐勤民 5 mesiacov pred
rodič
commit
22ad489e0a
1 zmenil súbory, kde vykonal 66 pridanie a 0 odobranie
  1. 66 0
      src/main/ets/utils/Base64Helper.ets

+ 66 - 0
src/main/ets/utils/Base64Helper.ets

@@ -68,4 +68,70 @@ export class Base64Helper {
     let result = base64.decodeSync(array, options);
     return result;
   }
+
+
+  static baseEncode(str: string): string {
+    return Base64Helper.base64Encode(Base64Helper.utf16to8(str))
+  }
+
+
+  static base64Encode(str: string) {
+    // 下面是64个基本的编码
+    let base64EncodeChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
+    let out: string
+    let i: number
+    let len: number
+    let c1: number
+    let c2: number
+    let c3: number
+    len = str.length
+    i = 0
+    out = ''
+    while (i < len) {
+      c1 = str.charCodeAt(i++) & 0xff
+      if (i === len) {
+        out += base64EncodeChars.charAt(c1 >> 2)
+        out += base64EncodeChars.charAt((c1 & 0x3) << 4)
+        out += '=='
+        break
+      }
+      c2 = str.charCodeAt(i++)
+      if (i === len) {
+        out += base64EncodeChars.charAt(c1 >> 2)
+        out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4))
+        out += base64EncodeChars.charAt((c2 & 0xF) << 2)
+        out += '='
+        break
+      }
+      c3 = str.charCodeAt(i++)
+      out += base64EncodeChars.charAt(c1 >> 2)
+      out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4))
+      out += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6))
+      out += base64EncodeChars.charAt(c3 & 0x3F)
+    }
+    return out
+  }
+
+  static utf16to8(str: string) {
+    let out: string
+    let i: number
+    let len: number
+    let c: number
+    out = ''
+    len = str.length
+    for (i = 0; i < len; i++) {
+      c = str.charCodeAt(i)
+      if ((c >= 0x0001) && (c <= 0x007F)) {
+        out += str.charAt(i)
+      } else if (c > 0x07FF) {
+        out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F))
+        out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F))
+        out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F))
+      } else {
+        out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F))
+        out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F))
+      }
+    }
+    return out
+  }
 }