Skip to content

Commit 5402c73

Browse files
authored
Merge pull request #906 from RayWangQvQ/feature/842-qinglong-api
[#842] Integrate new QingLong OpenAPI to add bili cookie autumatically
2 parents 8a42e0d + bcdc1c4 commit 5402c73

12 files changed

Lines changed: 112 additions & 54 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
## 3.0.6
2+
- Feature[#842]: 对接青龙新的OpenAPI,实现青龙版Bili登录后自动存储Cookie
13
## 3.0.5
24
- Fix: Bruno 脚本错误
35
## 3.0.4

common.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project>
22
<PropertyGroup>
33
<Authors>Ray</Authors>
4-
<Version>3.0.5</Version>
4+
<Version>3.0.6</Version>
55
<NoWarn>$(NoWarn);CS1591;CS0436</NoWarn>
66
</PropertyGroup>
77
</Project>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
namespace Ray.BiliBiliTool.Agent.QingLong.Dtos;
2+
3+
public class AddQingLongEnv
4+
{
5+
public string value { get; set; }
6+
public string name { get; set; }
7+
public string remarks { get; set; }
8+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using System;
2+
3+
namespace Ray.BiliBiliTool.Agent.QingLong.Dtos;
4+
5+
public class QingLongEnv : UpdateQingLongEnv
6+
{
7+
public string timestamp { get; set; }
8+
public int status { get; set; }
9+
10+
//public long position { get; set; }
11+
public DateTime createdAt { get; set; }
12+
public DateTime updatedAt { get; set; }
13+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
namespace Ray.BiliBiliTool.Agent.QingLong.Dtos;
2+
3+
public class QingLongGenericResponse<T>
4+
{
5+
public int Code { get; set; }
6+
7+
public T Data { get; set; }
8+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
namespace Ray.BiliBiliTool.Agent.QingLong.Dtos;
2+
3+
public class TokenResponse
4+
{
5+
public string token { get; set; }
6+
7+
public string token_type { get; set; }
8+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
namespace Ray.BiliBiliTool.Agent.QingLong.Dtos;
2+
3+
public class UpdateQingLongEnv : AddQingLongEnv
4+
{
5+
public long id { get; set; }
6+
}
Lines changed: 14 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,35 @@
1-
using System;
2-
using System.Collections.Generic;
1+
using System.Collections.Generic;
32
using System.Threading.Tasks;
43
using Ray.BiliBiliTool.Agent.Attributes;
4+
using Ray.BiliBiliTool.Agent.QingLong.Dtos;
55
using WebApiClientCore.Attributes;
66

77
namespace Ray.BiliBiliTool.Agent.QingLong;
88

99
[LogFilter]
1010
public interface IQingLongApi
1111
{
12-
[HttpGet("/api/envs")]
13-
Task<QingLongGenericResponse<List<QingLongEnv>>> GetEnvs(
12+
[HttpGet("/open/auth/token")]
13+
Task<QingLongGenericResponse<TokenResponse>> GetTokenAsync(
14+
string client_id,
15+
string client_secret
16+
);
17+
18+
[HttpGet("/open/envs")]
19+
Task<QingLongGenericResponse<List<QingLongEnv>>> GetEnvsAsync(
1420
string searchValue,
1521
[Header("Authorization")] string token
1622
);
1723

18-
[HttpPost("/api/envs")]
19-
Task<QingLongGenericResponse<List<QingLongEnv>>> AddEnvs(
24+
[HttpPost("/open/envs")]
25+
Task<QingLongGenericResponse<List<QingLongEnv>>> AddEnvsAsync(
2026
[JsonContent] List<AddQingLongEnv> envs,
2127
[Header("Authorization")] string token
2228
);
2329

24-
[HttpPut("/api/envs")]
25-
Task<QingLongGenericResponse<QingLongEnv>> UpdateEnvs(
30+
[HttpPut("/open/envs")]
31+
Task<QingLongGenericResponse<QingLongEnv>> UpdateEnvsAsync(
2632
[JsonContent] UpdateQingLongEnv env,
2733
[Header("Authorization")] string token
2834
);
2935
}
30-
31-
public class QingLongGenericResponse<T>
32-
{
33-
public int Code { get; set; }
34-
35-
public T Data { get; set; }
36-
}
37-
38-
public class QingLongEnv : UpdateQingLongEnv
39-
{
40-
public string timestamp { get; set; }
41-
public int status { get; set; }
42-
43-
//public long position { get; set; }
44-
public DateTime createdAt { get; set; }
45-
public DateTime updatedAt { get; set; }
46-
}
47-
48-
public class AddQingLongEnv
49-
{
50-
public string value { get; set; }
51-
public string name { get; set; }
52-
public string remarks { get; set; }
53-
}
54-
55-
public class UpdateQingLongEnv : AddQingLongEnv
56-
{
57-
public long id { get; set; }
58-
}

src/Ray.BiliBiliTool.Config/Extensions/ServiceCollectionExtension.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ IConfiguration configuration
3434
.Configure<VipPrivilegeOptions>(configuration.GetSection("VipPrivilegeConfig"))
3535
.Configure<LiveFansMedalTaskOptions>(
3636
configuration.GetSection("LiveFansMedalTaskOptions")
37-
);
37+
)
38+
.Configure<QingLongOptions>(configuration.GetSection("QingLongConfig"));
3839

3940
return services;
4041
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
namespace Ray.BiliBiliTool.Config.Options;
2+
3+
public class QingLongOptions
4+
{
5+
public string ClientId { get; set; }
6+
7+
public string ClientSecret { get; set; }
8+
}

0 commit comments

Comments
 (0)