12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- var dataTool = require("./dataTool"),
- wechat = require("./JLWechatProtocol"),
- frame = 0,
- MAX_PACK_LEN = 95,
- ST = "33";
- export function packData(a) {
- for (var e = pack33Protocol(a), t = wechat.packWechatCmd(e), o = [], T = 0; T < t.length; T++) {
- var r = t[T].wxTotalData;
- if (r.length < 40) o.push(r);
- else
- for (var A = 0; A < r.length; A += 40) {
- var n = r.substr(A, 40);
- o.push(n)
- }
- }
- return o
- }
-
- function pack33Protocol(a) {
- add_Frame();
- var e = a.length / 2,
- t = [];
- if (e > MAX_PACK_LEN)
- for (var o = Math.round(e / MAX_PACK_LEN), T = 0; T < o; T++) {
- var r;
- (r = {
- ST: "",
- SN: "",
- CTL: "",
- LEN: "",
- DATA: "",
- BCC: "",
- TOTALDATA: ""
- }).ST = ST, r.SN = dataTool.tenToHex(frame, 2), r.CTL = get_ctl(0 == T ? 1 : 0, o - (T + 1)), r.DATA = T + 1 == o ? a.substring(T * MAX_PACK_LEN * 2) : a.substring(T * MAX_PACK_LEN * 2, T * MAX_PACK_LEN * 2 + 2 * MAX_PACK_LEN), r.LEN = dataTool.tenToHex(r.DATA.length / 2, 2), r.BCC = dataTool.bccCheck(r.SN + r.CTL + r.LEN + r.DATA), console.log("tempBean.BCC====================:" + r.BCC), r.TOTALDATA = r.ST + r.SN + r.CTL + r.LEN + r.DATA + r.BCC, t.push(r)
- } else(r = {
- ST: "",
- SN: "",
- CTL: "",
- LEN: "",
- DATA: "",
- BCC: "",
- TOTALDATA: ""
- }).ST = ST, r.SN = dataTool.tenToHex(frame, 2), r.CTL = get_ctl(1, 0), r.LEN = dataTool.tenToHex(e, 2), r.DATA = a, r.BCC = dataTool.bccCheck(r.SN + r.CTL + r.LEN + r.DATA), r.TOTALDATA = r.ST + r.SN + r.CTL + r.LEN + r.DATA + r.BCC, t.push(r);
- return t
- }
- export function cread_apdu(a) {
- var e = cread_TLV(a),
- t = e.length / 2;
- return "80" + (t <= 80 ? dataTool.tenToHex(t, 2) : t <= 255 ? "81" + dataTool.tenToHex(t, 2) : "82" + dataTool.tenToHex(t, 4)) + e
- }
-
- function cread_TLV(a) {
- for (var e = "", t = 1; t <= a.length; t++) {
- var o = a[t - 1],
- T = o.length / 2;
- e = e + dataTool.tenToHex(t, 2) + dataTool.tenToHex(T, 2) + o
- }
- return e
- }
-
- function add_Frame() {
- ++frame > 15 && (frame = 0)
- }
-
- function get_ctl(a, e) {
- var t = "";
- if (0 == a) t = dataTool.tenToHex(e, 2);
- else {
- var o = 128 + e;
- t = dataTool.tenToHex(o, 2)
- }
- return t
- }
|