1 Star 0 Fork 1

豹隐 / Pvfedit

forked from Kpan / Pvfedit 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
HttpServer.md 9.06 KB
一键复制 编辑 原始数据 按行查看 历史
Kpan 提交于 2020-10-28 08:48 . update HttpServer.md.

PvfEdit Http接口说明

Description

{所有请求均为Post 请求参数为Json 发送以及收取均为UTF8编码}

Demo示例下载: https://gmtool.lanzoux.com/iHKBjhsvb7e(目前只有 .NET E语言的Demo)

命令说明如下

internal enum Command
    {
        /// <summary>
        /// 取得文件内容
        /// </summary>
        GetFileText = 0,
        /// <summary>
        /// 取得文件列表 
        /// </summary>
        GetFilePaths = 1,
        /// <summary>
        /// 更新或写入文件
        /// </summary>
        WriteFile = 2,
        /// <summary>
        /// 取得文件名称和代码 如果名称不存在则返回Null 如果代码不存在则返回-1 
        /// </summary>
        GetItemNameAndItemCode = 3,
        /// <summary>
        /// 删除文件
        /// </summary>
        DeleteFiles = 5,
        /// <summary>
        /// 获取当前PVF所在路径
        /// </summary>
        GetNowPvfPath = 6,
        /// <summary>
        /// 刷新PVF文件管理器
        /// </summary>
        RefTreeDatas = 7,
        /// <summary>
        /// 获取Pvf文件管理器选中文件集合
        /// </summary>
        GetTreeCheckedFiles = 8,
        /// <summary>
        /// 获取搜索结果文件管理器选中文件集合
        /// </summary>
        GetTreeCheckedFilesFromSearchResult = 9,
        /// <summary>
        /// 取得文件列表 直接返回文本 以换行符分割!
        /// </summary>
        GetFilePaths2 = 10
    }

获取文件集合

请求地址: http://127.0.0.1:端口

PostData参数:

{"Cmd":1,"Value":"Full"}

解释: 你可以修改Value的值 Full=获取所有文件列表 如果您填写:dungeon即可获得副本文件列表 唠叨一句 CMD=10直接返回文本路径 以\n分割!

返回结果:

{
    "Error": 0,
    "ErrorStr": null,
    "FilePaths": ["appendage/avatar/event_arabia_critical.apd", "appendage/avatar/event_arabia_equipmentattack.apd", "appendage/avatar/animalworld_squirrel.apd", "appendage/avatar/event_arabia_speed.apd", "appendage/avatar/event_arabia_physical.apd", "appendage/avatar/event_arabia_magical.apd"]
}

返回结果说明: Error=0为请求成功 如果不等于0输出ErrorStr即可查看错误描述 FilePaths=返回的文件路径集合

取得文件内容

请求地址: http://127.0.0.1:端口

PostData参数:

{
    "Cmd": 0,
    "Value": "stackable/ect/uplegacy_mgw02.stk",
    "UseDecompile": "1"
}

解释: 获取文件内容并使用兼容性反编译器 Value=要获取内容的文件完整地址 是否使用兼容性反编译 UseDecompile 值:int型 -1=PvfEdit默认 0=使用兼容性反编译 1=不使用

返回结果:

{
    "Error": 0,
    "ErrorStr": null,
    "FileText": "#PVF_File\r\n\r\n[name]\r\n\t`火罐的袖珍罐 (魔法師武器)`\r\n\t\r\n\r\n[name2]\r\n\t`Ancient Jar of Mage Weapon`\r\n\t\r\n\r\n[explain]\r\n\t`    從袖珍罐中隨機抽取一個Lv11~20的魔法師武器, 有一定幾率獲得袖珍罐里特有的傳承裝備或帽子裝扮。 (裝扮種類 : 魔法師)`\r\n\t\r\n\r\n[grade]\r\n\t1\r\n\r\n[attach type]\r\n\t`[free]`\r\n\r\n[rarity]\r\n\t2\r\n\r\n[weight]\r\n\t1\r\n\r\n[usable job]\r\n\t`[all]`\r\n[/usable job]\r\n\r\n[minimum level]\r\n\t1\r\n\r\n[icon]\r\n\t`Item/stackable/consumption.img`\t96\r\n\r\n[field image]\r\n\t`Item/field_consumption.img`\t1\r\n\r\n[stackable type]\r\n\t`[upgradable legacy]`\t1\r\n\r\n[price]\r\n\t14000\r\n\r\n[move wav]\r\n\t`BONE_TOUCH`\r\n\r\n[int data]\r\n\t33606\t1\t33607\t3333\t1\t33608\t4972\t1\t33609\t3333\t1\t33625\t18\t1\t33610\t4972\t1\t33611\t3333\t1\t33626\t18\t1\t33627\t7\t1\t33907\t4972\t1\t33908\t3333\t1\t33909\t4972\t1\t33910\t3333\t1\t33926\t18\t1\t33911\t4972\t1\t33912\t3333\t1\t33927\t18\t1\t33928\t7\t1\t33306\t4972\t1\t33307\t3333\t1\t33308\t4972\t1\t33309\t3333\t1\t33325\t18\t1\t33310\t4972\t1\t33311\t3333\t1\t33326\t18\t1\t33327\t7\t1\t33006\t4972\t1\t33007\t3333\t1\t33008\t4972\t1\t33009\t3333\t1\t33025\t18\t1\t33010\t4972\t1\t33011\t3333\t1\t33026\t18\t1\t33027\t7\t1\t33647\t18\t1\t33648\t18\t1\t33948\t18\t1\t33949\t18\t1\t33347\t18\t1\t33348\t18\t1\t33046\t18\t1\t33047\t18\t1\t34235\t11\t1\t34200\t4436\t1\t34201\t3076\t1\t34214\t22\t1\r\n[/int data]\r\n"
}

返回结果说明:Error=0为请求成功 如果不等于0输出ErrorStr即可查看错误描述 FileText为获取到的文件内容 注:返回信息的中文为:UTF8编码

写入/更新文件

请求地址: http://127.0.0.1:端口

PostData参数:

{
    "Cmd": 2,
    "Value": "equipment/character/swordman/weapon/ssword/n_sswd_eleno.equ",
    "FileText": "文件内容",
    "ExtractSet": 
    {
        "IsEncryptScript": true,
        "IsEncryptAni": true,
        "IsConvertChinese": false
    }
}

解释: Value=要写入或更新内容的文件完整地址 FileText=文件内容 PS写入文件时如果不存在则会自动创建 另外当你写入新的文件之后可调用RefTreeDatas = 7刷新文件管理器 当然应当在写入完毕之后调用 而不是在一个循环体内重复调用 注:若涉及到中文请使用UTF8编码之后再发送 换行符统一使用\n

ExtractSet为保存文件时选项

 /// <summary>
    /// 保存文件 选项
    /// </summary>
    internal class ExtractSetting
    {
        /// <summary>
        /// 设定默认值
        /// </summary>
        public ExtractSetting()
        {
            IsEncryptScript = true;
            IsEncryptAni = true;
            IsConvertChinese = false;
        }
        /// <summary>
        /// 是否编译脚本文件
        /// </summary>
        public bool IsEncryptScript;
        /// <summary>
        /// 是否编译ani文件
        /// </summary>
        public bool IsEncryptAni;
        /// <summary>
        /// 是否简体转繁体
        /// </summary>
        public bool IsConvertChinese;
    }

返回结果:

{
    "Error": 0,
    "ErrorStr": null
}

返回结果说明 :Error=0为请求成功 如果不等于0输出ErrorStr即可查看错误描述

获取物品名称和代码

请求地址: http://127.0.0.1:端口

PostData参数:

{
    "Cmd": 3,
    "Value": "stackable/ect/uplegacy_mgw02.stk",
}

解释: Value=完整路径

返回结果:

{
    "Error": 0,
    "ErrorStr": null,
    "ItemCode": 7154,
    "ItemName": "火罐的袖珍罐 (魔法師武器)",
}

返回结果说明 :Error=0为请求成功 如果不等于0输出ErrorStr即可查看错误描述

批量删除文件

请求地址: http://127.0.0.1:端口

PostData参数:

{
    "Cmd": 5,
    "FilePaths": ["equipment/character/swordman/weapon/ssword/n_sswd_eleno.equ", "equipment/character/swordman/weapon/ssword/n_sswd_orchid.equ", "equipment/character/swordman/weapon/ssword/n_sswd_thunderkanya.equ"]
}

解释: FilePaths数组 = 要删除的文件完整路径集合

返回结果

{
    "Error": 0,
    "ErrorStr": null
}

返回结果说明 :Error=0为请求成功 如果不等于0输出ErrorStr即可查看错误描述

获取当前已打开的PVF所在路径

ps:没什么用的东西可有可无

请求地址: http://127.0.0.1:端口

PostData参数:

{
    "Cmd": 6,
}

返回结果:

{
    "Error": 0,
    "ErrorStr": null,
    "Value": "PVF所在完整路径"
}

刷新PVF文件管理器 - RefTreeDatas

请求地址: http://127.0.0.1:端口

PostData参数:

{
    "Cmd": 7,
}

返回结果

{
    "Error": 0,
    "ErrorStr": null
}

获取Pvf文件管理器选中文件集合

请求地址: http://127.0.0.1:端口 PostData参数:

{
    "Cmd": 8,
}

返回结果

{
    "Error": 0,
    "ErrorStr": null,
    "FilePaths": ["appendage/avatar/event_arabia_critical.apd", "appendage/avatar/event_arabia_equipmentattack.apd", "appendage/avatar/animalworld_squirrel.apd", "appendage/avatar/event_arabia_speed.apd", "appendage/avatar/event_arabia_physical.apd", "appendage/avatar/event_arabia_magical.apd"]
}

返回结果说明: Error=0为请求成功 如果不等于0输出ErrorStr即可查看错误描述 FilePaths=返回的文件路径集合

获取搜索结果文件管理器选中文件集合

请求地址: http://127.0.0.1:端口 PostData参数:

{
    "Cmd": 9,
}

返回结果

{
    "Error": 0,
    "ErrorStr": null,
    "FilePaths": ["appendage/avatar/event_arabia_critical.apd", "appendage/avatar/event_arabia_equipmentattack.apd", "appendage/avatar/animalworld_squirrel.apd", "appendage/avatar/event_arabia_speed.apd", "appendage/avatar/event_arabia_physical.apd", "appendage/avatar/event_arabia_magical.apd"]
}

返回结果说明: Error=0为请求成功 如果不等于0输出ErrorStr即可查看错误描述 FilePaths=返回的文件路径集合

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C#
1
https://gitee.com/tianxiu1/pvfedit.git
git@gitee.com:tianxiu1/pvfedit.git
tianxiu1
pvfedit
Pvfedit
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891