-
Notifications
You must be signed in to change notification settings - Fork 1
SignalR APIs For Client
参数列表
| 参数 | 类型 | 备注 |
|---|---|---|
| 用户名 | string | - |
| 密码 | string | - |
介绍
该方法被Invoke时,服务端将使用Identity为其登录。
成功返回Json:
{ "IsSucceeded": true, "Token": "blablabla", "VMIP": "60.60.60.60" }失败返回Json:
{ "IsSucceeded": false, "Token": null, "VMIP": null }为了避免穷举破解,服务端需要建立一个HashTable,来记录每个IP的失败次数,1小时内失败次数超过30次则拒绝接受来自该IP的请求。
登录成功后,服务端将判断有无为该用户分配节点,若已分配节点,则调用Pomelo.NetCore.Azure为其开机并注册Instance IP。若未分配节点则需调用Pomelo.NetCore.Azure为其开通一个VM实例并注册Instance IP。
完成Instance IP注册后,回调客户端方法OnNodeDistributed。
参数列表
无参数
介绍
该方法被Invoke时,服务端将使用Identity注销其登录状态。该方法不回调任何客户端方法。
参数列表
| 参数 | 类型 | 备注 |
|---|---|---|
| Token | string | - |
介绍
该方法被Invoke时,服务端将在数据库中搜索该Token信息,查询是否过期,若未过期则使用Identity为用户记录登录状态,同时回调客户端方法OnLoginSucceeded。若Token已经过期,则需要回调客户端OnTokenExpired方法。登录失败回调OnTokenSignInFailed方法。
成功返回Json:
{ "IsSucceeded": true, "VMIP": "60.60.60.60" }失败返回Json:
{ "IsSucceeded": false, "VMIP": null }为了避免穷举破解,服务端需要建立一个HashTable,来记录每个IP的失败次数(Token过期不算失败),1小时内失败次数超过30次则拒绝接受来自该IP的请求。
登录成功后,服务端将判断有无为该用户分配节点,若已分配节点,则调用Pomelo.NetCore.Azure为其开机并注册Instance IP。若未分配节点则需调用Pomelo.NetCore.Azure为其开通一个VM实例并注册Instance IP。
完成Instance IP注册后,回调客户端方法OnNodeDistributed。
参数列表
| 参数 | 类型 | 备注 |
|---|---|---|
| string | 用户注册时的电子邮箱地址 |
介绍
该方法被Invoke时,服务端将向该Email发送一封含有验证码的电子邮件,同时服务器端建立一个存储结构,来记录Email对应的验证码,有效期为1小时。发送完毕后,应回调客户端ShowMessage返回提示信息。
参数列表
| 参数 | 类型 | 备注 |
|---|---|---|
| string | 用户注册时的电子邮箱地址 | |
| 验证码 | string | 服务端发送的验证码 |
| 新密码 | string | - |
介绍
该方法被Invoke时,服务端将验证验证码是否合法有效,若有效则为其重置密码,并回调OnResetPasswordSucceeded。否则回调ShowMessage返回错误信息。
参数列表
| 参数 | 类型 | 备注 |
|---|---|---|
| 当前密码 | string | - |
| 新密码 | string | - |
介绍
该方法被Invoke时,服务端将使用Identity校验密码是否正确,并为其重置密码。无论成功失败都回调客户端ShowMessage方法返回提示信息。
参数列表
| 参数 | 类型 | 备注 |
|---|---|---|
| string | 用户欲使用的Email地址 |
介绍
该方法被Invoke时,服务端将检查该邮箱是否已被注册,若已注册则回调客户端ShowMessage返回提示信息。否则服务端将向该Email发送一封含有验证码的电子邮件,同时服务器端建立一个存储结构,来记录Email对应的验证码,有效期为1小时。发送完毕后,应回调客户端ShowMessage返回提示信息。
参数列表
| 参数 | 类型 | 备注 |
|---|---|---|
| string | 用户欲使用的Email地址 | |
| 验证码 | string | 服务端发送的验证码 |
| 用户名 | string | - |
| 密码 | string | - |
介绍
该方法被Invoke时,服务端将检查该用户名是否被占用,若已注册则回调客户端ShowMessage返回提示信息。否则使用UserManager为其注册,并回调客户端ShowMessage返回成功提示信息。
参数列表
无参数
介绍
该方法被Invoke时,服务端将会回调客户端的OnProjectTemplatesReceived方法。
回调时传递的JSON形式应如下:
[
{ "Title": "ASP.Net Core Empty", "URL": "https://github.com/PolemoIDE/Polemo.NetCore.Template/archive/asp-net-core-empty.zip", "Description": "<p>HTML Here</p>" },
{ "Title": ".Net Core Console", "URL": "https://github.com/PolemoIDE/Polemo.NetCore.Template/archive/dot-net-core-console.zip", "Description": "<p>HTML Here</p>" }
]参数列表
无参数
介绍
该方法被Invoke时,服务端将返回当前用户的全部项目信息的json集合(以最后打开时间降序排序),形式如下:
[
{ "Project": "Polemo.NetCore.Server", "Git": "https://github.com/PolemoIDE/Polemo.NetCore.Server", "SshKey": "blablabla", "Name": "Amamiya Yuuko", "Email": "1@1234.sh" },
{ "Project": "Polemo.NetCore.Node", "Git": "https://github.com/PolemoIDE/Polemo.NetCore.Node", "SshKey": "blablabla", "Name": "Amamiya Yuuko", "Email": "1@1234.sh" }
]参数列表
| 参数 | 类型 | 备注 |
|---|---|---|
| 项目名称 | string | 项目Clone至~/中,假如项目为Polemo.NetCore.Node,该参数传递的是Polemo.NetCore.Node |
| Git源 | string | HTTPS或GIT协议 |
| SSH Key | string | git所需要的ssh key |
| Name | string | git所需要的昵称 |
| string | git所需要的电子邮箱地址 |
介绍
该方法被Invoke时,服务端将写入数据库,为用户存储项目基本信息。该方法不回调客户端方法。
参数列表
| 参数 | 类型 | 备注 |
|---|---|---|
| Git源 | string | HTTPS或GIT协议 |
介绍
该方法被Invoke时,服务端仅更新项目最后编辑时间。
当触发Disconnect事件时,服务端为其预留3分钟的Reconnect时间,超出3分钟若客户端没有重连,且没有其他实例连接至节点端,则调用Polemo.NetCore.Azure关闭虚拟机及删除Instance IP。