🐛 修复历史遗留BUG
✨ 预增对服务端的请求
This commit is contained in:
parent
d17c1b8ed7
commit
194c630d4e
@ -10,6 +10,7 @@ from .config import g_pJsonManager
|
|||||||
from .database import g_pSqlManager
|
from .database import g_pSqlManager
|
||||||
from .farm.farm import g_pFarmManager
|
from .farm.farm import g_pFarmManager
|
||||||
from .farm.shop import g_pShopManager
|
from .farm.shop import g_pShopManager
|
||||||
|
from .request import g_pRequestManager
|
||||||
|
|
||||||
__plugin_meta__ = PluginMetadata(
|
__plugin_meta__ = PluginMetadata(
|
||||||
name="真寻农场",
|
name="真寻农场",
|
||||||
@ -20,7 +21,7 @@ __plugin_meta__ = PluginMetadata(
|
|||||||
at 开通农场
|
at 开通农场
|
||||||
我的农场
|
我的农场
|
||||||
我的农场币
|
我的农场币
|
||||||
种子商店
|
种子商店 [页数]
|
||||||
购买种子 [作物/种子名称] [数量]
|
购买种子 [作物/种子名称] [数量]
|
||||||
我的种子
|
我的种子
|
||||||
播种 [作物/种子名称] [数量]
|
播种 [作物/种子名称] [数量]
|
||||||
@ -71,6 +72,12 @@ async def start():
|
|||||||
# 初始化读取Json
|
# 初始化读取Json
|
||||||
await g_pJsonManager.init()
|
await g_pJsonManager.init()
|
||||||
|
|
||||||
|
# a = await g_pRequestManager.sign("1754798088")
|
||||||
|
|
||||||
|
# logger.info(a)
|
||||||
|
|
||||||
|
await g_pShopManager.getSeedShopImage(1)
|
||||||
|
|
||||||
# 析构函数
|
# 析构函数
|
||||||
@driver.on_shutdown
|
@driver.on_shutdown
|
||||||
async def shutdown():
|
async def shutdown():
|
||||||
|
|||||||
@ -50,7 +50,7 @@ diuse_farm = on_alconna(
|
|||||||
"我的农场",
|
"我的农场",
|
||||||
Option("--all", action=store_true),
|
Option("--all", action=store_true),
|
||||||
Subcommand("my-point", help_text="我的农场币"),
|
Subcommand("my-point", help_text="我的农场币"),
|
||||||
Subcommand("seed-shop", help_text="种子商店"),
|
Subcommand("seed-shop", Args["num?", int], help_text="种子商店"),
|
||||||
Subcommand("buy-seed", Args["name?", str]["num?", int], help_text="购买种子"),
|
Subcommand("buy-seed", Args["name?", str]["num?", int], help_text="购买种子"),
|
||||||
Subcommand("my-seed", help_text="我的种子"),
|
Subcommand("my-seed", help_text="我的种子"),
|
||||||
Subcommand("sowing", Args["name?", str]["num?", int], help_text="播种"),
|
Subcommand("sowing", Args["name?", str]["num?", int], help_text="播种"),
|
||||||
@ -96,20 +96,20 @@ async def _(session: Uninfo):
|
|||||||
await MessageUtils.build_message(f"你的当前农场币为: {point}").send(reply_to=True)
|
await MessageUtils.build_message(f"你的当前农场币为: {point}").send(reply_to=True)
|
||||||
|
|
||||||
diuse_farm.shortcut(
|
diuse_farm.shortcut(
|
||||||
"种子商店",
|
"种子商店(.*?)",
|
||||||
command="我的农场",
|
command="我的农场",
|
||||||
arguments=["seed-shop"],
|
arguments=["seed-shop"],
|
||||||
prefix=True,
|
prefix=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
@diuse_farm.assign("seed-shop")
|
@diuse_farm.assign("seed-shop")
|
||||||
async def _(session: Uninfo):
|
async def _(session: Uninfo, num: Query[int] = AlconnaQuery("num", 0)):
|
||||||
uid = str(session.user.id)
|
uid = str(session.user.id)
|
||||||
|
|
||||||
if await isRegisteredByUid(uid) == False:
|
if await isRegisteredByUid(uid) == False:
|
||||||
return
|
return
|
||||||
|
|
||||||
image = await g_pShopManager.getSeedShopImage()
|
image = await g_pShopManager.getSeedShopImage(num.result)
|
||||||
await MessageUtils.build_message(image).send()
|
await MessageUtils.build_message(image).send()
|
||||||
|
|
||||||
diuse_farm.shortcut(
|
diuse_farm.shortcut(
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"version": 0.01,
|
||||||
"zhuShi":
|
"zhuShi":
|
||||||
[
|
[
|
||||||
"name: 名称",
|
"name: 名称",
|
||||||
@ -18,4 +19,4 @@
|
|||||||
"sell": true
|
"sell": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"version": 0.01,
|
||||||
"soil":[1, 1, 1, 2, 3, 5, 7, 9, 11, 13,
|
"soil":[1, 1, 1, 2, 3, 5, 7, 9, 11, 13,
|
||||||
15, 17, 19, 21, 23, 25, 27, 29, 31, 33,
|
15, 17, 19, 21, 23, 25, 27, 29, 31, 33,
|
||||||
36, 39, 42, 45, 48, 51, 54, 57, 60, 70
|
36, 39, 42, 45, 48, 51, 54, 57, 60, 70
|
||||||
@ -7,31 +8,31 @@
|
|||||||
{
|
{
|
||||||
"4":
|
"4":
|
||||||
{
|
{
|
||||||
"level": 3,
|
"level": 2,
|
||||||
"point": 800,
|
"point": 800,
|
||||||
"item": []
|
"item": []
|
||||||
},
|
},
|
||||||
"5":
|
"5":
|
||||||
{
|
{
|
||||||
"level": 5,
|
"level": 3,
|
||||||
"point": 1300,
|
"point": 1300,
|
||||||
"item": []
|
"item": []
|
||||||
},
|
},
|
||||||
"6":
|
"6":
|
||||||
{
|
{
|
||||||
"level": 7,
|
"level": 5,
|
||||||
"point": 3200,
|
"point": 3200,
|
||||||
"item": []
|
"item": []
|
||||||
},
|
},
|
||||||
"7":
|
"7":
|
||||||
{
|
{
|
||||||
"level": 9,
|
"level": 7,
|
||||||
"point": 5500,
|
"point": 5500,
|
||||||
"item": []
|
"item": []
|
||||||
},
|
},
|
||||||
"8":
|
"8":
|
||||||
{
|
{
|
||||||
"level": 12,
|
"level": 9,
|
||||||
"point": 12000,
|
"point": 12000,
|
||||||
"item": []
|
"item": []
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"version": 0.01,
|
||||||
"zhuShi":
|
"zhuShi":
|
||||||
[
|
[
|
||||||
"level: 解锁等级",
|
"level: 解锁等级",
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"version": 0.01,
|
||||||
"size":[234, 156],
|
"size":[234, 156],
|
||||||
"soil":
|
"soil":
|
||||||
{
|
{
|
||||||
|
|||||||
11
database.py
11
database.py
@ -436,13 +436,18 @@ class CSqlManager:
|
|||||||
s = ""
|
s = ""
|
||||||
else:
|
else:
|
||||||
#获取种子信息 这里能崩我吃
|
#获取种子信息 这里能崩我吃
|
||||||
plantInfo = g_pJsonManager.m_pPlant['plant'][plant] #type: ignore
|
plantInfo = g_pJsonManager.m_pPlant['plant'][plant]
|
||||||
|
|
||||||
currentTime = datetime.now()
|
currentTime = datetime.now()
|
||||||
newTime = currentTime + timedelta(hours=int(plantInfo['time']))
|
newTime = currentTime + timedelta(hours=int(plantInfo['time']))
|
||||||
|
|
||||||
#种子名称,种下时间,预计成熟时间,地状态:0:无 1:长草 2:生虫 3:缺水 4:枯萎,是否被偷 示例:QQ号-偷取数量|QQ号-偷取数量
|
#0: 种子名称
|
||||||
s = f"{plant},{int(currentTime.timestamp())},{int(newTime.timestamp())},{status},"
|
#1: 种下时间
|
||||||
|
#2: 预计成熟时间
|
||||||
|
#3: 地状态:0:无 1:长草 2:生虫 3:缺水 4:枯萎
|
||||||
|
#4: 是否被偷 示例:QQ号-偷取数量|QQ号-偷取数量
|
||||||
|
#5: 土地等级 0:普通 1:红土地 2:黑土地 3:金土地 4:紫晶土地 5:蓝晶土地 6:黑晶土地
|
||||||
|
s = f"{plant},{int(currentTime.timestamp())},{int(newTime.timestamp())},{status},,"
|
||||||
|
|
||||||
sql = f"UPDATE soil SET {soil} = '{s}' WHERE uid = {uid}"
|
sql = f"UPDATE soil SET {soil} = '{s}' WHERE uid = {uid}"
|
||||||
|
|
||||||
|
|||||||
26
farm/shop.py
26
farm/shop.py
@ -1,3 +1,5 @@
|
|||||||
|
import math
|
||||||
|
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils._build_image import BuildImage
|
from zhenxun.utils._build_image import BuildImage
|
||||||
from zhenxun.utils.image_utils import ImageTemplate
|
from zhenxun.utils.image_utils import ImageTemplate
|
||||||
@ -9,11 +11,9 @@ from ..database import g_pSqlManager
|
|||||||
class CShopManager:
|
class CShopManager:
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
async def getSeedShopImage(cls) -> bytes:
|
async def getSeedShopImage(cls, num: int = 1) -> bytes:
|
||||||
"""获取商店页面
|
"""获取商店页面
|
||||||
|
|
||||||
TODO: 缺少翻页功能
|
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
bytes: 返回商店图片bytes
|
bytes: 返回商店图片bytes
|
||||||
"""
|
"""
|
||||||
@ -33,8 +33,12 @@ class CShopManager:
|
|||||||
]
|
]
|
||||||
|
|
||||||
sell = ""
|
sell = ""
|
||||||
plants = g_pJsonManager.m_pPlant['plant'] # type: ignore
|
plants = list(g_pJsonManager.m_pPlant['plant'].items())
|
||||||
for key, plant in plants.items():
|
start = (num - 1) * 15
|
||||||
|
maxItems = min(len(plants) - start, 15)
|
||||||
|
items = plants[start:start + maxItems]
|
||||||
|
|
||||||
|
for key, plant in items:
|
||||||
icon = ""
|
icon = ""
|
||||||
icon_path = g_sResourcePath / f"plant/{key}/icon.png"
|
icon_path = g_sResourcePath / f"plant/{key}/icon.png"
|
||||||
if icon_path.exists():
|
if icon_path.exists():
|
||||||
@ -60,8 +64,11 @@ class CShopManager:
|
|||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
count = math.ceil(len(g_pJsonManager.m_pPlant['plant']) / 15)
|
||||||
|
title = f"种子商店 页数: {num}/{count}"
|
||||||
|
|
||||||
result = await ImageTemplate.table_page(
|
result = await ImageTemplate.table_page(
|
||||||
"种子商店",
|
title,
|
||||||
"购买示例:@小真寻 购买种子 大白菜 5",
|
"购买示例:@小真寻 购买种子 大白菜 5",
|
||||||
column_name,
|
column_name,
|
||||||
data_list,
|
data_list,
|
||||||
@ -88,11 +95,10 @@ class CShopManager:
|
|||||||
plantInfo = None
|
plantInfo = None
|
||||||
|
|
||||||
try:
|
try:
|
||||||
plantInfo = g_pJsonManager.m_pPlant['plant'][name] # type: ignore
|
plantInfo = g_pJsonManager.m_pPlant['plant'][name]
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return "购买出错!请检查需购买的种子名称!"
|
return "购买出错!请检查需购买的种子名称!"
|
||||||
|
|
||||||
|
|
||||||
level = await g_pSqlManager.getUserLevelByUid(uid)
|
level = await g_pSqlManager.getUserLevelByUid(uid)
|
||||||
|
|
||||||
if level[0] < int(plantInfo['level']):
|
if level[0] < int(plantInfo['level']):
|
||||||
@ -141,7 +147,7 @@ class CShopManager:
|
|||||||
plant_name, count_str = item.split('|', 1)
|
plant_name, count_str = item.split('|', 1)
|
||||||
try:
|
try:
|
||||||
count = int(count_str)
|
count = int(count_str)
|
||||||
plant_info = g_pJsonManager.m_pPlant['plant'][plant_name] # type: ignore
|
plant_info = g_pJsonManager.m_pPlant['plant'][plant_name]
|
||||||
point += plant_info['price'] * count
|
point += plant_info['price'] * count
|
||||||
except Exception:
|
except Exception:
|
||||||
continue
|
continue
|
||||||
@ -172,7 +178,7 @@ class CShopManager:
|
|||||||
|
|
||||||
#计算收益
|
#计算收益
|
||||||
try:
|
try:
|
||||||
plantInfo = g_pJsonManager.m_pPlant['plant'][name] # type: ignore
|
plantInfo = g_pJsonManager.m_pPlant['plant'][name]
|
||||||
totalPoint = plantInfo['price'] * totalSold
|
totalPoint = plantInfo['price'] * totalSold
|
||||||
except KeyError:
|
except KeyError:
|
||||||
return f"出售作物{name}出错:作物不存在"
|
return f"出售作物{name}出错:作物不存在"
|
||||||
|
|||||||
10
request.py
10
request.py
@ -28,8 +28,14 @@ class CRequestManager:
|
|||||||
a = await cls.post("http://diuse.work:9099/testPost", json_data={"level":3})
|
a = await cls.post("http://diuse.work:9099/testPost", json_data={"level":3})
|
||||||
|
|
||||||
result = ""
|
result = ""
|
||||||
if int(a["type"]) == 1:
|
|
||||||
result = f"签到成功"
|
type = int(a["type"])
|
||||||
|
if type == 1:
|
||||||
|
result = f"签到成功 type = 1"
|
||||||
|
elif type == 2:
|
||||||
|
result = f"签到成功 type = 2"
|
||||||
|
else:
|
||||||
|
result = f"签到成功 type = {type}"
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user