50 lines
1.5 KiB
Plaintext
50 lines
1.5 KiB
Plaintext
from PDAPI import *
|
|
import TempLateAPI.GERP.API.FormAPI.FormData as FormData
|
|
|
|
# 处理获取物品请求
|
|
def HandleGetBackpackItem(table, cleanedData):
|
|
"""处理获取物品请求"""
|
|
UserUUID = flask.request.args.get("UserUUID")
|
|
PageIndex = max(flask.request.args.get("PageIndex", 1, type=int), 1)
|
|
PageSize = min(flask.request.args.get("PageSize", 10, type=int), 100)
|
|
|
|
if not UserUUID:
|
|
return {"code": 400, "msg": "参数缺失: UserUUID"}
|
|
|
|
# 构建查询
|
|
Query = GERPBackpack.query.filter(
|
|
GERPBackpack.UserUUID == Get16toBytes(UserUUID)
|
|
)
|
|
|
|
# 获取总数
|
|
Total = Query.count()
|
|
|
|
# 分页处理
|
|
Items = Query.offset((PageIndex - 1) * PageSize).limit(PageSize).all()
|
|
|
|
# 处理数据
|
|
Data = []
|
|
for Item in Items:
|
|
ItemData = {
|
|
"UserUUID": GetBytesTo16(Item.UserUUID),
|
|
"BackpackItemUUID": GetBytesTo16(Item.BackpackItemUUID),
|
|
"ItemTemplateUUID": GetBytesTo16(Item.ItemTemplateUUID),
|
|
"ItemName": Item.ItemName,
|
|
"ItemIcon": Item.ItemIcon,
|
|
"ItemIconColor": Item.ItemIconColor,
|
|
"ItemTags": Item.ItemTags,
|
|
"ItemDescription": Item.ItemDescription,
|
|
"ItemMetaData": Item.ItemMetaData,
|
|
"ItemLength": Item.ItemLength
|
|
}
|
|
Data.append(ItemData)
|
|
|
|
# 返回数据
|
|
return {
|
|
"code": 0,
|
|
"total": Total,
|
|
"data": Data
|
|
}
|
|
|
|
# 注册函数类型插件
|
|
FormData.RegisterFunctionExtension("BackpackItem", "get", HandleGetBackpackItem) |