|
|
@@ -34,6 +34,19 @@ const Decrypt = function(str) {
|
|
|
|
|
|
class ybp {
|
|
|
parseSubject(str) {
|
|
|
+ let billsParts = [];
|
|
|
+ if (str.indexOf(billsSpr) >= 0) {
|
|
|
+ const parts = str.split(billsSpr);
|
|
|
+ str = parts[0];
|
|
|
+ billsParts = parts.slice(1);
|
|
|
+ }
|
|
|
+ let qtyCalcParts = [];
|
|
|
+ if (str.indexOf(qtyCalcSpr) >= 0) {
|
|
|
+ const parts = str.split(qtyCalcSpr);
|
|
|
+ str = parts[0];
|
|
|
+ qtyCalcParts = parts.slice(1);
|
|
|
+ }
|
|
|
+ let result;
|
|
|
if (str.indexOf(rationSpr) >= 0) {
|
|
|
const arr = str.split(rationSpr);
|
|
|
const subject = JSON.parse(LzString.decompressFromBase64(arr[0]));
|
|
|
@@ -41,10 +54,19 @@ class ybp {
|
|
|
const ration = JSON.parse(LzString.decompressFromBase64(arr[i]));
|
|
|
subject.rations.push(...ration);
|
|
|
}
|
|
|
- return subject;
|
|
|
+ result = subject;
|
|
|
} else {
|
|
|
- return JSON.parse(LzString.decompressFromBase64(str));
|
|
|
+ result = JSON.parse(LzString.decompressFromBase64(str));
|
|
|
}
|
|
|
+ if (billsParts.length > 0) {
|
|
|
+ if (!result.bills) result.bills = [];
|
|
|
+ for (const part of billsParts) {
|
|
|
+ const bills = JSON.parse(LzString.decompressFromBase64(part));
|
|
|
+ result.bills.push(...bills);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // todo 暂不考虑算量数据
|
|
|
+ return result;
|
|
|
}
|
|
|
decryptBuffer(buffer) {
|
|
|
const arr = buffer.split(ybpSpr);
|