cngal / cngalwebsite Goto Github PK
View Code? Open in Web Editor NEWCnGal是一个非营利性的,立志于收集整理国内制作组创作的中文Galgame/AVG的介绍、攻略、评测、感想等内容的资料性质的网站。
License: MIT License
CnGal是一个非营利性的,立志于收集整理国内制作组创作的中文Galgame/AVG的介绍、攻略、评测、感想等内容的资料性质的网站。
License: MIT License
类似于“打折游戏”“免费游戏”的专题页面,希望添加这两个页面帮助玩家查询信息
角色目前在词条主页中有专门卡片展示,但效果并没有达到预期
CV目前没有想到该怎么做
你的功能是为了解决一个现有问题吗?
是的,目前每次填写标识符都非常麻烦
(别看Issue名字这么夸张,其实说白了就是打ID打累了)
(感觉这个Issue只能解决我一个人的需求?毕竟我目前没看到有其他知识图谱爱好者(逃))
描述你想要的解决方式
能够快速检索常见的标识符系统,快速填写Key本身
描述你考虑过的解决方案
这个要看程序大佬怎么实现了
比如他们可以直接快速选择是哪一家的标识符,并且能把存量的转化出来
其他内容
目前站内消息仅用于通知编辑结果和回复,可以优化发送逻辑
但是,消息发送代码大量耦合在其他业务逻辑里,大量的复制粘贴造成逻辑极其混乱,无法继续维护
需要重构
这部分实际上还是在用名称关联,只能展示唯一名称,用户体验不好
希望修改为Id关联,并且保留展示不存在的词条的功能
鸣谢之类的应该不算是Staff,列到参与作品里面怪怪的
配音也应该单独列出来,把游戏角色放一起展示
虽然这个轮播图组件没法控制,但可以给事件记录
两个属于同一游戏的角色合并时,没有删除从角色关联;怀疑其他相似情况也会复现
通过umami的API获取数据并展示
如题
在页面中使用 tab 键使 logo 处于 focus状态时,没有任何视觉方面的反馈。
可以为 logo 的 a 链接添加类似于下面的规则
a:focus-visible {
outline: thin dotted color;
}
isthereanydeal已无法获取新游戏信息,
免费游戏,未发售游戏,已下架游戏的SteamAPI返回数据一致,只能通过isthereanydeal中的信息判断
需要更换API或者解析html
目前已临时将个别错误游戏人工修正
类似于目前词条相关动态的效果,但时间轴改为横向
相关链接:https://www.cngal.org/entries/index/137
此处“官网”的值为官网,贴吧,微博
,指向 https://www.cngal.org/官网,贴吧,微博
希望能够保存未完成的编辑到草稿箱,方便下次继续编辑。
尝试实现过简单的草稿箱,但是读取数据时Markdown编辑器会报错,目前没想到怎么解决
目前必须到审核记录列表中才能翻阅待审核的词条,比较麻烦
可以添加一个卡片,集中展示待审核的词条文章等项目
正确的数据格式:
性别:None
不清楚为什么会产生的数据格式:
性别:保密
None对应的名称是保密,但是ToString方法和GetDisplayName方法获取的应该是不一样的值
public enum GenderType
{
[Display(Name = "保密")]
None,
[Display(Name = "男")]
Man,
[Display(Name = "女")]
Women,
[Display(Name = "其他")]
Other
}
导致获取词条视图时出现以下错误
2022-06-25 04:52:52.1611|0|ERROR|Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware|An unhandled exception has occurred while executing the request. System.ArgumentException: Requested value '保密' was not found.
at System.Enum.TryParseByName(RuntimeType enumType, ReadOnlySpan`1 value, Boolean ignoreCase, Boolean throwOnFailure, UInt64& result)
at System.Enum.TryParse(Type enumType, ReadOnlySpan`1 value, Boolean ignoreCase, Boolean throwOnFailure, Object& result)
at System.Enum.TryParse(Type enumType, String value, Boolean ignoreCase, Boolean throwOnFailure, Object& result)
at CnGalWebSite.APIServer.Application.Entries.EntryService.GetEntryIndexViewModelAsync(Entry entry) in /src/CnGalWebSite/CnGalWebSite.APIServer/Application/Entries/EntryService.cs:line 972
at CnGalWebSite.APIServer.Controllers.EntriesAPIController.GetEntryViewAsync(Int32 id) in /src/CnGalWebSite/CnGalWebSite.APIServer/Controllers/EntriesAPIController.cs:line 332
at lambda_method1579(Closure , Object )
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Logged|12_1(ControllerActionInvoker invoker)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)|url: http://www.cngal.org/api/entries/GetEntryView/4051 |action: GetEntryView |Microsoft.AspNetCore.Diagnostics.DiagnosticsLoggerExtensions.UnhandledException
但是我本地无法复现,按正常流程创建编辑词条不应该出现这个错误
离谱(×
令牌失效后,wasm会缓存成功的请求导致无法刷新令牌
PC端“关于我们”“更新日志”等页面已经聚合成一个页面,并且自动使用对应文章进行显示。
但移动端此页面仍停留在2月的状态,希望更新
类似于VNDB的效果
阅读源码后发现这部分没有去重,目前流程下没有问题
但是,如果其他部分出现问题,将会造成循环生成审核记录的bug
将pic.cngal.org替换为image.cngal.org
方便后续管理
以获取条目信息为例:(接续之前QQ群的讨论)
该段代码在Swagger上对应的API为:
对于数据终端用户,在Swagger上只能找到获取单个游戏条目的API,需要带参数{id}
:
要获取所有数据,只能从 app.cngal.org/data 人工导出数据,但这里导出确实只有metadata,各种关联数据都不包含
此外,贵站的swagger实在太慢,不管火狐还是谷歌都一样。当然我知道这是上游问题(caspar-chen/swagger-ui-layer#33 ),但是这个不吐槽觉得实在对不住点开一个折叠菜单的焦躁
这一个板块的题目直接叫Steam信息,而Taptap则被放在了下面的相关网站上。
又或者是同时在NS上也有销售的WILL美好世界:
它在NS,Taptap两套商店/应用市场里面均有提供,是可以直接搞到对应的索引的。
能否对于Steam应用、Taptap应用等,都采取和之前#93 中提到的索引支持一样,大量的索引化填写,减少复制URL的麻烦?
当然这估计又得意味着后端的一堆大改了(挠头)
好处是可以直接用爬虫从Wikidata上面爬取对应的标识符进来。
比如Steam应用对应的是P1733,Taptap对应的是P9297,NS的eShop对应的是P8084
Apple Store和GPlay的我还没找,不好找了应该。
F12简单改了一个效果出来,差不多是这意思?
分页组件没有抽象出来,主题颜色更改不可能添加到每个页面中,需要重构
顺便把徽章统一一下
目前投稿工具采用控制台的方式,对普通用户极度不友好;采用独立部署的方式,极大地增加了时间成本。
合并到主站之后,可以方便地集成实时可视化提示,利用MAUI也可以方便地部署客户端版本
类似于2020,2021,2021这种筛选条件
得研究一下搜索引擎怎么设置时间筛选
《CnGal资料表》处理脚本使用.Net Framework 4.7.2写成,依赖于Windows平台;而且处理完成后需要使用管理员后台的批量导入功能才能导入。
批量导入功能属于历史遗留,后期需要全部删除,一并迁移到投稿工具中
PS. 可能得加一个从头开始部署得数据导入引导页面
你的功能是为了解决一个现有问题吗?
不是,只是为了能地址栏直达搜索更快捷
描述你想要的解决方式
期望能提供被主流浏览器(Firefox/Chrome)识别的Opensearch文件,在地址栏右键单击可以直接添加为搜索引擎
目前是不行的:
描述你考虑过的解决方案
参考 https://github.com/opensearch-project/OpenSearch 提供 opensearch.xml
其他内容
暂无
目前整个项目没有规范的后台日志输出,极度依赖于本地实时调试
已经出现过几次仅在生产环境中出现的Bug,应尽快补全日志输出
剩余需要重置的页面/控件
但是无法在本地和生产环境中再次复现,怀疑是Id分配出错
通过站内信息,电子邮件,RSS源等方式向用户实时推送游戏和制作组的动态
希望图床API输出未上传成功的Url到日志中
您好,我是Blazor.Cropper的开发者,非常高兴看到有国人将我写的库用到了实际项目中,不知能否把贵站在加入Cropper项目Readme的使用者名单中?
Cropper存在的问题也请直接告诉我,我会尽量改进!
角色配音目前有两个入口,游戏Staff表和角色的附加信息,违背数据单一入口原则
只保留角色的附加信息的入口,并且进行Id关联
ElasticSearch的内存占用太恐怖了,对于小网站来讲就是"杀鸡焉用牛刀"......
虽然Typesense的C#库没有那么好用,得自己再包装一层,但至少内存占用小非常多.......
例如查询最新发布的游戏,即将发布的游戏,最近编辑的词条,最新发表的文章,随机推荐词条等纯文本交互内容
编辑词条各个信息时有可能前后不小心多录入了空格,导致错误关联或重复创建对象
应该对所有输入检查并剔除前后空格或者其他特殊字符
目前没法方便地在消息通知页跳转到来源,希望能规范各个消息通知的格式,动态聚合数据展示
PS. 顺手把无法回复的bug修了
PS. 最古老的还没重构过的模块,现在动起手来绝对会很费劲吧
尝试修复,没有效果;极其严重,没有头绪
描述Bug
部分基于标识符的外部链接会重复显示
如何复现
https://app.cngal.org/entries/index/3652
访问即可,看右边
预期结果
略
屏幕截图
略
目标平台(请选择你遇到问题的平台):
PC,网页版,火狐Nightly 无痕模式
其他内容
已登录账号,是app模式
如题,加上优先级,配合拖动控件
目前部分编辑可能会造成副作用,例如词条编辑关联信息会自动反向关联,编辑游戏SteamId会自动添加Steam主图等等;但是这些副作用对用户都是不可预知的,可能会造成用户误操作。
可以提前列出创建词条后哪些会产生哪些副作用,然后用户可以选择阻止某些副作用。
估计又是一个大工程,审核的顺序要大改
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.