Arondight / Adachi-BOT

一个在 QQ 中运行的原神助手
MIT License
343 stars 74 forks source link

【todo】genshin-overview模组:玩家信息页面重新设计 #257

Closed mark9804 closed 3 years ago

mark9804 commented 3 years ago

https://github.com/Arondight/Adachi-BOT/pull/229#issuecomment-945034960

壶里加了新洞天了,我都给忘了,不过似乎看起来也没人在意这个,我们也没有修改的能力,暂时先这样吧

技术突破了,现在有能力了(大概有,希望不要打脸)

还是先做设计图,征求一下意见,然后开工

还是参考米游社来写,截图太长了就不直接link了 https://user-images.githubusercontent.com/9006264/138446465-3a373a77-a022-42b1-a04a-734f6cc7517c.jpeg https://user-images.githubusercontent.com/9006264/138446480-2759ec4f-4639-4ad8-a81c-9d08e3fb6d6a.jpeg

关于诚哥壶我的想法是这样,我感觉四个洞天除了名字不一样其他的没差啊,就不需要写四遍洞天仙力是多少多少已制作家具是多少多少了。参考之前我commit过的这个项目。不过vue的循环写起来有点上瘾,最后肯定怎么方便怎么来。

但是我怀疑如果有人洞天没开的话整个页面会直接爆炸(vue执行出错的时候会自动删除无法执行的元素,到时候可能全给删完了),这个极端情况到时候看看有能力就考虑,没能力就让他炸吧

mark9804 commented 3 years ago

真难,其实原作者的设计已经没什么可改进的了

大概这样,样式需要脑补一下 image

mark9804 commented 3 years ago

关于声望的处理方式之前有和另一个开发者研究过,https://github.com/Womsxd/YuanShen_User_Info/pull/13#issuecomment-887989337

mark9804 commented 3 years ago

关于用户成就信息模组的问题,为了后期维护方便,可能需要考虑在genshin-card.json的文件内容上动手。

目前的json结构是这样的。

data/record/genshin-card.json
{
    "retcode": 0,
    "message": "OK",
    "uid": 123456789,
    "nickname": "等胡桃",
    "level": 57,
    "avatars": [
        "stats":
        {
            "active_day_number": 352,
            "achievement_number": 431,
            "win_rate": 0,
            "anemoculus_number": 66,
            "geoculus_number": 131,
            "avatar_number": 31,
            "way_point_number": 136,
            "domain_number": 31,
            "spiral_abyss": "12-3",
            "precious_chest_number": 270,
            "luxurious_chest_number": 107,
            "exquisite_chest_number": 949,
            "common_chest_number": 1158,
            "electroculus_number": 152,
            "magic_chest_number": 28
        }
    ]
}

旧的网页在显示这些数据的时候是直接写死了读取特定key的value,然后把这个value贴到网页的特定位置。比如说读取用户活跃天数,就是硬读stats.active_day_number,然后贴到网页(285, 294)的位置上,很不灵活,而且后面维护起来很痛苦。

关于这个问题的解决方案我现在有两个想法。

第一种是在config_defaults当中建立一个名为stats.yml的配置文件,在生成genshin-card.json的时候把key替换掉,生成网页的时候直接使用v-for="(key, value) in stats"的形式读取并展示内容。

active_day_number: 活跃天数
achievement_number: 成就达成数
win_rate: # 这个字段没被使用过,希望不要是pvp
anemoculus_number: 风神瞳
geoculus_number: 岩神瞳
avatar_number: 获得角色数
way_point_number: 解锁传送点
domain_number: 解锁秘境
spiral_abyss: 深境螺旋
precious_chest_number: 华丽宝箱数
luxurious_chest_number: 珍贵宝箱数
exquisite_chest_number: 精致宝箱数
common_chest_number: 普通宝箱数
electroculus_number: 雷神瞳
magic_chest_number: 奇馈宝箱数

第二种是不碰这个json文件,把替换字典写进genshin-card.json,只在生成用户信息的时候从网页水平进行查找替换。维护起来不太直观。

我个人倾向于第一种。

Arondight commented 3 years ago

我个人倾向于第一种

我觉得第二种好一些, config 下应当是用户可配置的项目,而这个很明显是只能由开发者维护的。举个例子类似于圣遗物的出货率、别名等配置写在配置文件,岩元素伤害加成 这种则需要写在代码里

Arondight commented 3 years ago

config 下应当是用户可配置的项目

我觉的如果想可配置化,直接在 src/views/component/aby 下存放配置(例如放个 json )比较好,不要暴露给用户

mark9804 commented 3 years ago

我觉的如果想可配置化,直接在 src/views/component/aby 下存放配置(例如放个 json )比较好,不要暴露给用户

这个好

mark9804 commented 3 years ago

修隔壁bug的时候想起来了,上面这个设计因为去掉了随机角色头像的部分,所以等这个更改正式上线之后resources/characters/profile里面的图片之后就不用更新了。

就是这个(一斗大概还是要做一下的) 10000046

这会影响到 @Xm798 的图片资源制作流程。

实际上背景可以直接用CSS生成的,边框只需要加一个border: 5px solid #fff,这个目录应该是原作者对前端不太了解的产物 https://github.com/Arondight/Adachi-BOT/blob/a2974bb6265d335143e97331efde1716ca20c982/src/views/component/aby/aby.css#L226-L234

Arondight commented 3 years ago

等这个更改正式上线之后resources/characters/profile里面的图片之后就不用更新了

到时候我在这个目录下面扔个 README.txt ,然后把 docs 的文档更新一下,改一下对应的部分。另外有个问题,图片做成多大的我们没说明, #156 里并没有给出一个图像的尺寸,我感觉是时候定个标准了。

mark9804 commented 3 years ago

@Arondight 看到这条我又想起来了,尘歌壶的图片也不用从原作者oss那里更新了(影响resources/update.sh

https://github.com/Arondight/Adachi-BOT/blob/a2974bb6265d335143e97331efde1716ca20c982/resources/update.sh#L25-L30

我是考虑直接用下面这四张米游社的背景图,不需要从本地读取,当然如果追求极致速度要从本地读的话把这几张图缓存下来也没问题

https://upload-bbs.mihoyo.com/game_record/genshin/home/UI_HomeworldModule_1_Pic.png https://upload-bbs.mihoyo.com/game_record/genshin/home/UI_HomeworldModule_2_Pic.png https://upload-bbs.mihoyo.com/game_record/genshin/home/UI_HomeworldModule_3_Pic.png https://upload-bbs.mihoyo.com/game_record/genshin/home/UI_HomeworldModule_4_Pic.png

Arondight commented 3 years ago

这四张米游社的背景图

这也太大了吧,你那个设计稿我看也没有洞天的背景图了,都变成文字了,后面那个大图我感觉用罗浮洞的就行了,到时候拉下来找个合适的目录放上

mark9804 commented 3 years ago

图片做成多大的我们没说明, #156 里并没有给出一个图像的尺寸,我感觉是时候定个标准了。

gacha.html我得看看合适的长宽是多少,或者是否要求角色背后的背景得是透明的 其他人物武器图片还有升级材料我还没认真看是怎么调节大小的,只能暂时说长宽比要保持1:1,保持物体在图片中央,详细的我之后补充吧

保持物体在图片中央

我可以学苹果做一个模板出来,到时候直接照着模板往里面扔图片,大家的工作量都能减轻

image

mark9804 commented 3 years ago

后面那个大图我感觉用罗浮洞的就行了,到时候拉下来找个合适的目录放上

到时候看看哪个图味道比较正吧,选出来之后裁剪一下,降一下画质,我觉得300kB以内肯定可以,努力一下能冲100kB以内

Xm798 commented 3 years ago

图片做成多大的我们没说明, #156 里并没有给出一个图像的尺寸,我感觉是时候定个标准了。

gacha.html我得看看合适的长宽是多少,或者是否要求角色背后的背景得是透明的 其他人物武器图片还有升级材料我还没认真看是怎么调节大小的,只能暂时说长宽比要保持1:1,保持物体在图片中央,详细的我之后补充吧

保持物体在图片中央

我可以学苹果做一个模板出来,到时候直接照着模板往里面扔图片,大家的工作量都能减轻

image

这个好!

Xm798 commented 3 years ago

我目前的想法也是全部统一一下资源的尺寸,之前的资源有的也是有问题的,分辨率和像素都不甚相同。确定好一个统一的尺寸制作资源文件就会方便很多。

Xm798 commented 3 years ago

新的尺寸规范有出炉嘛?准备动手搞一下五郎和一斗的资源文件。 @Mark9804

mark9804 commented 3 years ago

新的尺寸规范有出炉嘛?准备动手搞一下五郎和一斗的资源文件。 @Mark9804

等一下啊,我这周在给教授打工来着,你能给我一个需要调用到的图片路径列表吗,我看一下先整一份文字的出来

Arondight commented 3 years ago

图片路径列表

57 这里面有写

mark9804 commented 3 years ago

我先开给 #317 了,刚刚快速糊出来的东西,你要是觉得哪里不行就直接在下面评论 @Xm798

Xm798 commented 3 years ago

我先开给 #317 了,刚刚快速糊出来的东西,你要是觉得哪里不行就直接在下面评论 @Xm798

可以,很强!