XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
返回提交历史

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
AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
提交于

代码差异

2 个文件 +15 -3
Modified src/constants/gameToBuildVersion.ts +3 -1
@@ -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>;
Modified src/controllers/api/purchaseController.ts +12 -2
@@ -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 };