- .NET 10.0
- 一个基于
MaaFramework的资源项目
- 下载项目中workflows/install.yml并修改
项目名称,作者名,项目名,MAAxxx - 将修改后的install.yml替换MAA项目模板.github/workflows/install.yml
- 推送新版本
- 下载最新发行版并解压
- 将maafw项目中assets/resource中所有内容复制到MFAAvalonia/resource中
- 将maafw项目中assets/interface.json文件复制到MFAAvalonia/中
- 修改刚刚复制的interface.json文件
- 下面是一个例子
{
"resource": [
{
"name": "官服",
"path": "{PROJECT_DIR}/resource/base"
},
{
"name": "Bilibili服",
"path": [
"{PROJECT_DIR}/resource/base",
"{PROJECT_DIR}/resource/bilibili"
]
}
],
"task": [
{
"name": "任务",
"entry": "任务"
}
]
}
修改为
{
"name": "项目名称", //默认为null
"version": "项目版本", //默认为null
"mirrorchyan_rid": "项目ID(从Mirror酱下载的必要字段)", //默认为null , 比如 M9A
"mirrorchyan_multiplatform": false, //项目多平台字段(从Mirror酱下载的字段)默认为false
"url": "项目链接(目前应该只支持Github)", //默认为null , 比如 https://github.com/{Github账户}/{Github项目}
"custom_title": "自定义标题", //默认为null, 使用该字段后,标题栏将只显示custom_title和version
"resource": [
{
"name": "官服",
"path": "{PROJECT_DIR}/resource/base"
},
{
"name": "Bilibili服",
"path": [
"{PROJECT_DIR}/resource/base",
"{PROJECT_DIR}/resource/bilibili"
]
}
],
"task": [
{
"name": "任务",
"entry": "任务接口",
"check": true, //默认为false,任务默认是否被选中
"doc": "文档介绍", //默认为null,显示在任务设置选项底下,可支持富文本,格式在下方
"repeatable": true, //默认为false,任务可不可以重复运行
"repeat_count": 1, //任务默认重复运行次数,需要repeatable为true
}
]
}
可以通过controller的数量来锁定控制,可以通过controller[0]来控制默认控制器
-
[color:color_name]:颜色,例如[color:red]。 -
[size:font_size]:字号,例如[size:20]。 -
[b]:粗体。 -
[i]:斜体。 -
[u]:下划线。 -
[s]:删除线。 -
[align:left/center/right]:居左,居中或者居右,只能在一整行中使用。
MFAAvalonia为interface和interface的task新增了advanced字段。advanced字段的用法类似于option,其功能类似于支持通过UI输入框让用户自行编辑功能的pipeline_override。- 下面是使用
advanced的例子
{
"task": [
{
"name": "测试A",
"entry": "任务A",
"advanced": ["高级设置A","高级设置B"]
}
],
"advanced": {
"高级设置A": {
"field": "ce",
"type": "string",
"default": "cs.png",
"pipeline_override": {
"任务A": {
"template": "{ce}"
}
}
},
"高级设置B": {
"field": ["x","y"],
"type": ["int", "int"],
"default": ["1", "1"],
"pipeline_override": {
"任务A": {
"roi": ["{x}","{y}",3,4]
}
}
}
}
}注:field和type和default支持string | list类型,default默认为空。
注:上面json中注释内容为文档介绍用,实际运行时不能写入。
- 运行
- 欢迎各位大佬贡献代码
MFAAvalonia有interface多语言支持,在interface.json同目录下新建lang文件夹,里面内含zh-cn.json,zh-tw.json和en-us.json后,doc和任务的name和选项的name可以使用key来指代。MFAAvalonia会自动根据语言来读取文件的key对应的value。如果没有则默认为keyMFAAvalonia会读取resource文件夹(不区分大小写)的Announcement.md作为公告,更新资源时会自动下载一份Changelog作为公告MFAAvalonia可以通过启动参数-c 配置名称来指定以特定配置文件启动,无须后缀名.json
注:在MFA的v1.1.6版本中,移除了focus系列字段,改为any focus,原先的不再可用!
focus: string | object
格式为"focus": { "start": "任务开始", 注:*string* | *string[]* "succeeded": "任务成功", 注:*string* | *string[]* "failed": "任务失败", 注:*string* | *string[]* "toast": "弹窗提醒" 注:*string* }等同于"focus": "测试""focus": { "start": "测试" }
除了toast,其他的均支持使用类似[color:red]文本内容[/color]的标记来定义文本颜色。
MFAAvalonia 使用 GPL-3.0 许可证 开源。
- SukiUI
A Desktop UI Library for Avalonia. - MaaFramework
基于图像识别的自动化黑盒测试框架。 - Serilog
C# 日志记录库 - Newtonsoft.Json
C# JSON 库 - MirrorChyan
Mirror酱更新服务 - AvaloniaExtensions.Axaml
为Avalonia UI开发带来便利的语法糖库 - CalcBindingAva
CalcBinding is an advanced Binding markup extension that allows you to write calculated binding expressions in xaml, without custom converter
感谢所有为 MFAAvalonia 做出贡献的开发者。
