Skip to content

Commit

Permalink
Merge pull request #56 from Night-stars-1/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
Night-stars-1 authored Apr 29, 2024
2 parents b7ea67b + c671bb0 commit fa67919
Show file tree
Hide file tree
Showing 20 changed files with 192 additions and 140 deletions.
1 change: 0 additions & 1 deletion app/common/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ class Config(RunningBusinessConfig):
# uuid
uuid = ConfigItem("Global", "uuid", "", None)
goodsType = ConfigItem("Global", "goodsType", False, BoolValidator())
isSpeed = ConfigItem("Global", "isSpeed", True, BoolValidator())
adbPath = ConfigItem("Global", "adbPath", "resources\\lib\\adb", None)
adbOrder = ConfigItem("Global", "adbOrder", "127.0.0.1:7555", None)

Expand Down
21 changes: 15 additions & 6 deletions app/view/main_window.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""
Author: Night-stars-1 nujj1042633805@gmail.com
Date: 2024-04-02 19:27:03
LastEditTime: 2024-04-29 22:46:46
LastEditTime: 2024-04-30 03:12:36
LastEditors: Night-stars-1 nujj1042633805@gmail.com
"""

Expand All @@ -26,7 +26,7 @@

from app.view.daily_task_interface import DailyTaskInterface
from app.view.running_business_interface import RunningBusinessInterface
from updater import Updater
from updater import Updater, UpdateStatus

from ..common import resource # 图标数据
from ..common.config import VERSION, cfg
Expand Down Expand Up @@ -146,11 +146,21 @@ def Update(self):
说明:
检查更新
"""
if not self.is_updae:
if self.update_status == UpdateStatus.UPDATE:
subprocess.Popen(
["HeiYue Updater.exe"], creationflags=subprocess.DETACHED_PROCESS
)
exit()
elif self.update_status == UpdateStatus.FAILURE:
InfoBar.error(
title="检查更新失败",
content="请稍后重试",
orient=Qt.Horizontal,
isClosable=False,
position=InfoBarPosition.TOP,
duration=1000,
parent=self,
)
else:
InfoBar.success(
title="当前已是最新版本",
Expand All @@ -164,12 +174,11 @@ def Update(self):

async def checkUpdate(self):
updater = Updater()
is_last, _ = await updater.is_last()
if is_last:
self.update_status, _ = await updater.get_update_status()
if self.update_status == UpdateStatus.UPDATE:
self.updateBadge = DotInfoBadge.error(
parent=self.navigationInterface,
target=self.updateButton,
position=InfoBadgePosition.NAVIGATION_ITEM,
)
self.updateBadge.setFixedSize(10, 10)
self.is_updae = True
24 changes: 6 additions & 18 deletions app/view/running_business_interface.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""
Author: Night-stars-1 nujj1042633805@gmail.com
Date: 2024-04-10 22:54:08
LastEditTime: 2024-04-28 21:01:23
LastEditTime: 2024-04-30 00:39:52
LastEditors: Night-stars-1 nujj1042633805@gmail.com
"""

Expand Down Expand Up @@ -300,26 +300,14 @@ def result(route):
self.workers.finished.connect(lambda: self.on_worker_finished(self.workers))
self.workers.result.connect(result)

"""
InfoBar.success(
title="成功",
content=get_goods_info_kmou(cfg.uuid.value) if cfg.goodsType.value else get_goods_info_srap(),
orient=Qt.Horizontal,
isClosable=True,
position=InfoBarPosition.TOP_RIGHT,
duration=2000,
parent=self
)
"""

def autoscan(self):

def result(skill_level: Dict[str, int]):
for role_name, level in skill_level.items():
role_name = role_name.replace("闻笔", "闻笙") # 纠正一些角色名
if role_name in self.skillCardData:
# setattr(cfg, skill, level)
self.skillCardData[role_name].spinBox.setValue(level)
for role_name in self.skillCardData:
role_name_other = role_name.replace("闻笙", "闻笔") # 纠正一些角色名
self.skillCardData[role_name].spinBox.setValue(
skill_level.get(role_name_other, 0)
)

signalBus.switchToCard.emit("LoggerInterface")
from auto.scan_res_level import run
Expand Down
24 changes: 16 additions & 8 deletions app/view/setting_interface.py
Original file line number Diff line number Diff line change
@@ -1,24 +1,22 @@
"""
Author: Night-stars-1 nujj1042633805@gmail.com
Date: 2024-04-07 23:14:47
LastEditTime: 2024-04-19 13:31:52
LastEditTime: 2024-04-30 04:02:40
LastEditors: Night-stars-1 nujj1042633805@gmail.com
"""

# coding:utf-8
from loguru import logger
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QLabel, QWidget
from qfluentwidgets import ExpandLayout
from qfluentwidgets import FluentIcon as FIF
from qfluentwidgets import ScrollArea, SettingCardGroup, SwitchSettingCard

from core.models.config import config

from ..common.config import cfg
from ..common.style_sheet import StyleSheet
from ..components.settings.line_edit_setting_card import LineEditSettingCard

from core.models.config import config


class SettingInterface(ScrollArea):
"""Setting interface"""
Expand Down Expand Up @@ -68,12 +66,21 @@ def __init__(self, parent=None):
"是否自动使用加速弹丸",
parent=self.musicInThisPCGroup,
)
self.isSpeedCard.setValue(config.global_config.isSpeed)
self.isAutoPickCard = SwitchSettingCard(
FIF.PALETTE,
"是否自动拾取",
"是否自动拾取掉落物",
parent=self.musicInThisPCGroup,
)
self.isSpeedCard.setValue(config.global_config.is_speed)
self.isSpeedCard.switchButton.checkedChanged.connect(self.__onCheckedChanged)
self.isAutoPickCard.setValue(config.global_config.is_auto_pick)
self.isAutoPickCard.switchButton.checkedChanged.connect(self.__onCheckedChanged)
self.__initWidget()

def __onCheckedChanged(self, isChecked: bool):
config.global_config.isSpeed = isChecked
def __onCheckedChanged(self):
config.global_config.is_speed = self.isSpeedCard.isChecked()
config.global_config.is_auto_pick = self.isSpeedCard.isChecked()
config.save_config()

def __initWidget(self):
Expand Down Expand Up @@ -101,6 +108,7 @@ def __initLayout(self):
self.musicInThisPCGroup.addSettingCard(self.adbPathCard)
self.musicInThisPCGroup.addSettingCard(self.adbOrderCard)
self.musicInThisPCGroup.addSettingCard(self.isSpeedCard)
self.musicInThisPCGroup.addSettingCard(self.isAutoPickCard)

# add setting card group to layout
self.expandLayout.setSpacing(28)
Expand Down
18 changes: 2 additions & 16 deletions app/view/taj_interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,10 @@
"""

from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import (
QFrame,
QHBoxLayout,
QLabel,
QStackedWidget,
QVBoxLayout,
QWidget,
)
from PyQt5.QtWidgets import QLabel, QWidget
from qfluentwidgets import ExpandLayout
from qfluentwidgets import FluentIcon as FIF
from qfluentwidgets import (
IconWidget,
ScrollArea,
SettingCardGroup,
SubtitleLabel,
TabBar,
setFont,
)
from qfluentwidgets import ScrollArea, SettingCardGroup

from core.models.config import config

Expand Down
2 changes: 1 addition & 1 deletion app/view/this_road_that_interface.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""
Author: Night-stars-1 nujj1042633805@gmail.com
Date: 2024-04-10 22:54:08
LastEditTime: 2024-04-28 23:09:45
LastEditTime: 2024-04-30 00:35:09
LastEditors: Night-stars-1 nujj1042633805@gmail.com
"""

Expand Down
7 changes: 3 additions & 4 deletions auto/run_business/buy.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""
Author: Night-stars-1 nujj1042633805@gmail.com
Date: 2024-04-04 17:54:58
LastEditTime: 2024-04-29 19:53:02
LastEditTime: 2024-04-30 03:39:43
LastEditors: Night-stars-1 nujj1042633805@gmail.com
"""

Expand All @@ -15,11 +15,10 @@
from core.adb import input_swipe, input_tap, screenshot
from core.exception_handling import get_excption
from core.image import get_bgr, get_hsv
from core.module.bgr import BGR
from core.module.bgr import BGR, BGRGroup
from core.module.hsv import HSV
from core.ocr import predict
from core.presets import click, find_text
from core.utils import compare_ranges


def buy_business(
Expand Down Expand Up @@ -214,7 +213,7 @@ def click_bargain_button(num=0):
return True
bgr = get_bgr(screenshot(), (1176, 461))
logger.debug(f"降价界面颜色检查: {bgr}")
if BGR(5, 130, 245) == bgr:
if BGRGroup([0, 123, 240], [2, 133, 253]) == bgr:
input_tap((1177, 461))
time.sleep(1.0)
elif bgr == [251, 253, 253]:
Expand Down
13 changes: 2 additions & 11 deletions auto/run_business/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
from core.models.city_goods import RoutesModel
from core.module.bgr import BGR
from core.presets import click_station, get_city, go_home, go_outlets, wait_gbr
from core.utils import compare_ranges

from .buy import buy_business
from .sell import sell_business
Expand All @@ -40,11 +39,7 @@ def go_business(type: Literal["buy", "sell"] = "buy"):
time.sleep(1.0)
bgr = get_bgr(screenshot(), (1175, 460))
logger.debug(f"进入交易所颜色检查: {bgr}")
if (
bgr == [2, 133, 253]
or bgr == [0, 183, 253]
or BGR(225, 225, 225) == bgr
):
if bgr == [2, 133, 253] or bgr == [0, 183, 253] or BGR(225, 225, 225) == bgr:
return True
else:
logger.error("进入交易所失败")
Expand All @@ -54,11 +49,7 @@ def go_business(type: Literal["buy", "sell"] = "buy"):
return False


def run(
order: str,
path: str,
route: RoutesModel,
):
def run(order: str, path: str, route: RoutesModel):
status = connect(order, path)
if not status:
logger.error("ADB连接失败")
Expand Down
9 changes: 4 additions & 5 deletions auto/run_business/sell.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""
Author: Night-stars-1 nujj1042633805@gmail.com
Date: 2024-04-05 15:17:19
LastEditTime: 2024-04-22 23:27:51
LastEditTime: 2024-04-30 02:56:30
LastEditors: Night-stars-1 nujj1042633805@gmail.com
"""

Expand All @@ -12,9 +12,8 @@
from core.adb import input_tap, screenshot
from core.exception_handling import get_excption
from core.image import get_bgr, get_hsv
from core.module.bgr import BGR
from core.module.bgr import BGR, BGRGroup
from core.ocr import number_predict, predict
from core.utils import compare_ranges


def sell_business(num=0):
Expand All @@ -29,7 +28,7 @@ def sell_business(num=0):
bgr = get_bgr(screenshot(), (1156, 100))
logger.debug(f"是否出售货物颜色检查 {bgr}")
if not (bgr.b == 0 and bgr.g == 0 and 90 <= bgr.r <= 100):
logger.info(f"出售全部货物 {bgr}")
logger.debug(f"出售全部货物颜色检查 {bgr}")
input_tap((1187, 103))
time.sleep(0.5)
break
Expand Down Expand Up @@ -63,7 +62,7 @@ def click_bargain_button(num=0):
return True
bgr = get_bgr(screenshot(), (1176, 461))
logger.debug(f"抬价界面颜色检查: {bgr}")
if compare_ranges([0, 170, 240], bgr, [0, 183, 253]):
if BGRGroup([0, 170, 240], [2, 183, 253]) == bgr:
input_tap((1177, 461))
time.sleep(1.0)
elif bgr == [251, 253, 253]:
Expand Down
3 changes: 1 addition & 2 deletions auto/scan_res_level/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
from core.module.bgr import BGR
from core.ocr import predict
from core.presets import go_home
from core.utils import compare_ranges


def get_skill_level_list():
Expand All @@ -35,7 +34,7 @@ def get_skill_level_list():
)
logger.debug(f"角色共振等级颜色检测: {bgrs}")
for bgr in bgrs:
if bgr[-1] > 200:
if bgr.r > 200:
levels.append(True)
return levels

Expand Down
5 changes: 0 additions & 5 deletions auto/this_road_that/attack_boss.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,10 @@
from core.presets import (
click,
click_image,
click_station,
find_text,
go_home,
go_outlets,
wait,
wait_fight_end as _wait_fight_end,
wait_time,
)
from core.utils import compare_ranges


def click_task():
Expand Down
16 changes: 11 additions & 5 deletions core/goods/shop_use_first.py
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ def get_good_buy_price(self, price, num, city_name, good_name):
说明:
获取购买商品的价格
参数:
:param price: 商品价格
:param price: 商品价格, 砍价前
:param num: 商品数量
:param city_name: 城市名称
:param good_name: 商品名称
Expand All @@ -263,9 +263,9 @@ def get_good_buy_price(self, price, num, city_name, good_name):
).buy_num # 城市声望数量加成
skill_num = self.goods_addition.get(good_name, 0) # 角色技能增加的数量
new_num = round5(num * (1 + buy_num + skill_num))
tax_rate = self.all_city_info[city_name].revenue # 税率
# tax_rate = self.all_city_info[city_name].revenue # 税率
new_price = round5(
price * (1 - 0.2 + tax_rate) # 砍价前的价格 # 砍抬一律0.2
price * 0.8 # 砍抬一律0.2
) # 砍价后的价格
return new_price, new_num

Expand All @@ -286,9 +286,15 @@ def get_good_sell_price(self, buy_price: int, city_name: str, good_name: str):
) # 不带税的售价, 抬价后
tax_rate = self.all_city_info[city_name].revenue # 税率
no_tax_profit = no_revenue_sell_price - buy_price # 不带税的利润, 单个商品
revenue = (no_revenue_sell_price - buy_price) * tax_rate # 税收
revenue = round5(no_tax_profit * tax_rate) # 税收

new_sell_price = round5((no_revenue_sell_price - revenue))
new_sell_price = no_revenue_sell_price - revenue
"""
if city_name == "阿妮塔战备工厂" and good_name == "阿妮塔小型桦树发电机":
print(
f"{city_name=} {good_name=} {new_sell_price=} {buy_price=} {no_tax_profit=} {revenue}"
)
"""
return new_sell_price, no_tax_profit

def get_need_buy_use_first(
Expand Down
4 changes: 3 additions & 1 deletion core/models/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,10 @@ class RSBModel(BaseModel):
class GlobalConfigModel(BaseModel):
"""全局配置模型"""

isSpeed: bool = True
is_speed: bool = True
"""是否使用加速弹丸"""
is_auto_pick: bool = False
"""是否自动拾取"""


class Config(BaseModel):
Expand Down
Loading

0 comments on commit fa67919

Please sign in to comment.