返回提交历史
Modified
src/constants/gameToBuildVersion.ts
+3
-1
Modified
src/controllers/api/purchaseController.ts
+12
-2
XFEstudio/XFESpaceNinjaServer
fix: correct purchase responce for some old versions (#3275)
Tested in U8.0 U8.3 U10.3.3 U14.0 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3275 Reviewed-by: Sainan <63328889+sainan@users.noreply.github.com> Co-authored-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com> Co-committed-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
8d32a63a
代码差异
2 个文件
+15
-3
@@ -54,6 +54,8 @@ const gameToBuildVersion = {
54
54
"14.0.0": "2014.07.21.18.38",
55
55
"13.0.0": "2014.04.10.17.47",
56
56
"10.3.3": "2013.10.11.17.01",
57
"9.1.2": "2013.07.15.20.46"
57
"9.1.2": "2013.07.15.20.46",
58
"8.3.0": "2013.07.04.20.17",
59
"8.0.0": "2013.05.23.16.06"
58
60
} as const;
59
61
export default gameToBuildVersion as Record<keyof typeof gameToBuildVersion, string>;
@@ -7,6 +7,8 @@ import { getInventory } from "../../services/inventoryService.ts";
7
7
import { sendWsBroadcastTo } from "../../services/wsService.ts";
8
8
import { toStoreItem } from "../../services/itemDataService.ts";
9
9
import { ExportBundles } from "warframe-public-export-plus";
10
import { version_compare } from "../../helpers/inventoryHelpers.ts";
11
import gameToBuildVersion from "../../constants/gameToBuildVersion.ts";
10
12
11
13
export const purchasePostController: RequestHandler = async (req, res) => {
12
14
const purchaseRequest = JSON.parse(String(req.body)) as IPurchaseRequest;
@@ -45,9 +47,17 @@ export const purchaseGetController: RequestHandler = async (req, res) => {
45
47
const response = await handlePurchase(purchaseRequest, inventory);
46
48
await inventory.save();
47
49
if (response.Body) {
48
res.send(response.Body.replace(/\/StoreItems/g, "").replace(/lvl=\d+;/g, ""));
50
let body = response.Body.replace(/\/StoreItems/g, "");
51
if (account.BuildLabel && version_compare(account.BuildLabel, gameToBuildVersion["8.3.0"]) <= 0) {
52
body = body.replace(/lvl=\d+;/g, "");
53
}
54
res.send(body);
49
55
} else {
50
res.json(1);
56
if (account.BuildLabel && version_compare(account.BuildLabel, gameToBuildVersion["8.0.0"]) > 0) {
57
res.send(String(req.query.productName));
58
} else {
59
res.json(1);
60
}
51
61
}
52
62
sendWsBroadcastTo(accountId, { update_inventory: true });
53
63
};