Skip to content

SignalR APIs For Client

Penghan Wang edited this page May 14, 2016 · 27 revisions

OpenProject

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node
Git源 string HTTPS或GIT协议
SSH Key string git所需要的ssh key
Name string git所需要的昵称
Email string git所需要的电子邮箱地址

介绍

该方法被Invoke时,会检测项目是否被Clone过,如果没有Clone则执行Clone动作。克隆完毕或已经存在项目则节点端会在拼合后的绝对路径中启动OmniSharp服务端,并在节点端端口占用表中检查,避免OmniSharp端口冲突(默认情况下OmniSharp端口为2000)。

获取该项目的全部分支,并回调客户端的OnBranchesReceived方法。

获取该项目当前分支,并回调客户端的OnBranchSwitched方法。

如果项目没有找到或其他原因导致该方法逻辑不能正常运行,将回调客户端ShowMessage方法。


ReadFile

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node
文件相对路径 string 欲读取文件的相对路径

介绍

该方法被Invoke时,节点端会读取该文件全部文本,如果读取成功,返回{"isSucceeded": true, "msg": "文件内容"}。若失败则返回{"isSucceeded": false, "msg": "错误详情"}


WriteFile

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node
文件相对路径 string 欲创建文件的相对路径
文件内容 string -

介绍

该方法被Invoke时,节点端向指定目标写入内容,如果该文件不存在则会自动创建,如果写入成功,返回{"isSucceeded": true, "isNew": 是否是新文件, "hasRestore" = 是否需要restore, "isRestored" = 是否已经restore}。若失败则返回{"isSucceeded": false, "msg": "错误详情"}。如果被修改文件的文件名为project.json则需要执行dnu restoredotnet restore


RemoveFile

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node
文件相对路径 string 欲删除文件的相对路径

介绍

该方法被Invoke时,节点端将删除指定的文件,如果删除成功,返回{"isSucceeded": true, "msg": "删除成功"},若失败,返回{"isSucceeded": false, "msg": "错误详情"}, 删除不存在文件,返回{"isSucceeded": true, "msg": "文件不存在}


CreateFolder

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node
欲创建文件夹的目录 string 将在这个目录下创建文件夹,留空表示在根目录创建
文件夹名称 string 欲创建的文件夹的名称

介绍

该方法被Invoke时,节点端将在指定位置创建文件夹,如果创建成功,返回{"isSucceeded": true, "msg": "创建成功"},若失败,返回{"isSucceeded": false, "msg": "错误详情"}, 若文件夹已存在,返回{"isSucceeded": true, "msg": "文件夹已存在}


RemoveFolder

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node
文件夹相对路径 string 将删除这个目录及这个目录下的全部子文件

介绍

该方法被Invoke时,节点端将删除指定的文件夹,如果删除成功,返回{"isSucceeded": true, "msg": "删除成功"},若失败,返回{"isSucceeded": false, "msg": "错误详情"}, 删除不存在文件夹,返回{"isSucceeded": true, "msg": "文件夹不存在}


RenameFile

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node
文件所在目录 string 欲修改文件名的文件所在目录
当前文件名 string 欲修改文件名的文件当前的文件名
新文件名 string 欲修改成的文件名

介绍

该方法被Invoke时,节点端将重命名指定的文件。如果修改成功,返回{"isSucceeded": true, "msg": "重命名成功},若失败,返回{"isSucceeded": false, "msg": "错误详情"},如果当前文件不存在,返回{"isSucceeded": false, "msg": "源文件不存在},如果新文件已存在,返回{"isSucceeded": false, "msg": "目标文件已存在}


RenameFolder

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node
欲重命名的文件夹所在目录 string 表示欲重命名的文件夹在该目录下,留空表示欲重命名的文件夹在根目录下。
当前名称 string 文件夹的当前名称
新名称 string 文件夹重命名后的名称

介绍

该方法被Invoke时,节点端将重命名指定的文件夹。如果修改成功,返回{"isSucceeded": true, "msg": "重命名成功},若失败,返回{"isSucceeded": false, "msg": "错误详情"},如果当前文件夹不存在,返回{"isSucceeded": false, "msg": "源文件夹不存在},如果新文件夹已存在,返回{"isSucceeded": false, "msg": "目标文件夹已存在}


AutoComplete

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node
文件相对路径 string 表示欲执行代码联想的代码文件的响度路径
行号 int 欲执行代码联想的位置(行)
列号 int 欲执行代码联想的位置(列)
代码内容 string 客户端传递的当前编辑中的代码内容

介绍

该方法被Invoke时,将调用OmniSharp HOST的autocomplete接口,如果调用出错,则不执行任何动作,若调用成功,则回调客户端的OnAutoCompleteJsonReceived方法,将全部OmniSharp反馈的JSON内容反馈给客户端。


CodeCheck

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node
文件相对路径 string 表示欲执行代码检查的代码文件相对路径
代码内容 string 客户端传递的当前编辑中的代码内容

介绍

该方法被Invoke时,将调用OmniSharp HOST的codecheck接口,如果调用出错,则不执行任何动作,若调用成功,则回调客户端的OnCodeCheckJsonReceived方法,将全部OmniSharp反馈的JSON内容反馈给客户端。


Highlight

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node
文件相对路径 string 表示欲执行代码高亮的代码文件相对路径
代码内容 string 客户端传递的当前编辑中的代码内容

介绍

该方法被Invoke时,将调用OmniSharp HOST的highlight接口,如果调用出错,则不执行任何动作,若调用成功,则回调客户端的OnHighlightJsonReceived方法,将全部OmniSharp反馈的JSON内容反馈给客户端。


GetCommands

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node

介绍

该方法被Invoke时,将获取整个项目目录,读取全部的project.json文件,并分析提取出项目的标题以及project.json中的commands。JSON格式如下:{ "project1": { "commands": [ "web", "ef", "kestrel" ], path: "/src/project1" }, "project2": { "commands": ["test"], "path": "/src/project2" } }。如果成功,则回调客户端中的OnCommandsReceived方法。若失败则回调客户端的ShowMessage方法反馈错误信息。


RunCommand

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node
命令 string 如web、ef或kestrel等在project.json中commands段中定义的命令。
项目路径 string 该command所属的project.json所在路径

介绍

该方法被Invoke时,将调用dnu restoredotnet restore。然后即执行传递的命令。运行后节点端会生成一个会话ID,与进程一一对应,同时回调客户端的OnProjectRun方法,将会话ID一并传递。每当控制台输出时,将回调客户端的OnConsoleOutput方法。若运行失败则回调客户端的ShowMessage方法反馈错误信息。

ConsoleWrite

参数列表

参数 类型 备注
会话ID string 在执行RunCommand命令时由节点端提供的ID(用于与进程对应的)
顺序 int 防止后键入的字符先被写入标准输入流
字符 char 键入的字符

介绍

该方法被Invoke时,节点端将通过标准输入流向控制台输入指定的字符。该方法不回调客户端方法。


SwitchBranch

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node
目标分支 string 欲切换至的分支

介绍

该方法被Invoke时,节点端将调用git branch切换分支,切换完毕后分别调用客户端的OnBranchSwitchedOnDirectoryTreeReceivedOnBranchesReceived方法,以返回最新的分支信息。


RemoveBranch

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node
分支 string 欲删除的分支

介绍

该方法被Invoke时,节点端会调用Git删除指定的分支,并重新获取Branches,并回调客户端的OnBranchesReceived

注:不能删除当前活动的分支。

GetGitLogs

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node

介绍

该方法被Invoke时,节点会调用Git获取最多近100条Commit记录,并整理为JSON形式,通过回调客户端的OnGitLogsReceived方法返回这些日志。

GetCommitDiff

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node
Coomit hash string Commit 的 hash
介绍

该方法被Invoke时,节点会调用git diff <commit> 来获取commit 的修改信息

GetUncommitDiff

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node
介绍

该方法被Invoke时,节点会调用git diff来获取当前分支中未commit的信息,并整理为JSON形式,通过回调客户端的OnGitDiffReceived方法返回这些内容。


GitCommit

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node
标题 string Git Commit标题
内容 string Git commit描述

介绍

该方法被Invoke时,节点会调用git commitgit push,完成后回调客户端的OnGitLogsReceived

GitPull

参数列表

参数 类型 备注
项目名称 string 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node

介绍

该方法被Invoke时,节点端会调用git pull更新代码,同时重新生成文件目录树、重新获取分支等信息,回调客户端OnDirectoryTreeReceivedOnBranchesReceived方法。

Clone this wiki locally