添加xunit单元测试
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
using Yi.Framework.Common.Const;
|
||||
using Yi.Framework.Core;
|
||||
using Yi.Framework.Interface;
|
||||
|
||||
namespace Yi.Framework.XUnitTest
|
||||
{
|
||||
public class AccountTest
|
||||
{
|
||||
private IUserService _iUserService;
|
||||
public AccountTest(IUserService iUserService) =>
|
||||
(_iUserService) =
|
||||
(iUserService);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
using Yi.Framework.Common.Const;
|
||||
using Yi.Framework.Core;
|
||||
|
||||
namespace Yi.Framework.XUnitTest
|
||||
{
|
||||
public class QuartzTest
|
||||
{
|
||||
private QuartzInvoker _quartzInvoker;
|
||||
public QuartzTest(QuartzInvoker quartzInvoker) =>
|
||||
(_quartzInvoker) =
|
||||
(quartzInvoker);
|
||||
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Fact]
|
||||
public async Task StartJob()
|
||||
{
|
||||
Dictionary<string, object> data = new Dictionary<string, object>()
|
||||
{
|
||||
{JobConst.method,"get" },
|
||||
{JobConst.url,"https://www.baidu.com" }
|
||||
};
|
||||
await _quartzInvoker.StartAsync("*/5 * * * * ?", "HttpJob", jobName: "test", jobGroup: "my", data: data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Fact]
|
||||
public async Task StopJob()
|
||||
{
|
||||
await StartJob();
|
||||
await _quartzInvoker.StopAsync(new Quartz.JobKey("test", "my"));
|
||||
}
|
||||
}
|
||||
}
|
||||
57
Yi.Framework.Net6/Yi.Framework.XUnitTest/Startup.cs
Normal file
57
Yi.Framework.Net6/Yi.Framework.XUnitTest/Startup.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Autofac.Extensions.DependencyInjection;
|
||||
using Autofac;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Quartz;
|
||||
using Yi.Framework.WebCore.AutoFacExtend;
|
||||
using Yi.Framework.WebCore.MiddlewareExtend;
|
||||
using Microsoft.AspNetCore.Builder;
|
||||
using Yi.Framework.WebCore.DbExtend;
|
||||
|
||||
namespace Yi.Framework.XUnitTest
|
||||
{
|
||||
public class Startup
|
||||
{
|
||||
public void ConfigureHost(IHostBuilder host)
|
||||
{
|
||||
host.ConfigureAppConfiguration(builder =>
|
||||
{
|
||||
builder.AddJsonFile("appsettings.json");
|
||||
builder.AddJsonFile("appsettings.Development.json");
|
||||
});
|
||||
host.UseServiceProviderFactory(new AutofacServiceProviderFactory());
|
||||
host.ConfigureContainer<ContainerBuilder>(containerBuilder =>
|
||||
{
|
||||
#region
|
||||
//交由Module依赖注入
|
||||
#endregion
|
||||
containerBuilder.RegisterModule<CustomAutofacModule>();
|
||||
#region
|
||||
//添加属性注入模块
|
||||
#endregion
|
||||
//containerBuilder.RegisterModule<PropertiesAutowiredModule>();
|
||||
#region
|
||||
//使用AppService特性优雅的进行自动依赖注入,仓储与基类服务便是使用该种方式自动注入
|
||||
#endregion
|
||||
containerBuilder.AddAutoIocService("Yi.Framework.Repository", "Yi.Framework.Service");
|
||||
});
|
||||
|
||||
host.ConfigureServices(services => { });
|
||||
}
|
||||
public void ConfigureServices(IServiceCollection services, HostBuilderContext host)
|
||||
{
|
||||
services.AddIocService(host.Configuration);
|
||||
services.AddQuartzService();
|
||||
services.AddSqlsugarServer();
|
||||
}
|
||||
|
||||
public void Configure(IServiceProvider services)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
1
Yi.Framework.Net6/Yi.Framework.XUnitTest/Usings.cs
Normal file
1
Yi.Framework.Net6/Yi.Framework.XUnitTest/Usings.cs
Normal file
@@ -0,0 +1 @@
|
||||
global using Xunit;
|
||||
@@ -0,0 +1,59 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
|
||||
<IsPackable>false</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="appsettings.Development.json" />
|
||||
<None Remove="appsettings.json" />
|
||||
<None Remove="appsettings.Production.json" />
|
||||
<None Remove="appsettings.Staging.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="appsettings.Development.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</Content>
|
||||
<Content Include="appsettings.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</Content>
|
||||
<Content Include="appsettings.Production.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</Content>
|
||||
<Content Include="appsettings.Staging.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" />
|
||||
<PackageReference Include="xunit" Version="2.4.2" />
|
||||
<PackageReference Include="Xunit.DependencyInjection" Version="8.6.1" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="coverlet.collector" Version="3.1.2">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Yi.Framework.WebCore\Yi.Framework.WebCore.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,138 @@
|
||||
{
|
||||
//程序启动地址,*代表全部网口
|
||||
"StartUrl": "http://*:19001",
|
||||
|
||||
//默认日志打印过滤
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft": "Warning",
|
||||
"Microsoft.Hosting.Lifetime": "Information"
|
||||
}
|
||||
},
|
||||
|
||||
//运行全部主机
|
||||
"AllowedHosts": "*",
|
||||
|
||||
//【全局配置开启】
|
||||
//Sql语句日志是否打印
|
||||
"SqlLog_Enable": false,
|
||||
//登录二维码是否打印
|
||||
"LoginCode_Enable": false,
|
||||
|
||||
//【数据库配置】
|
||||
//多数据库主从复制是否开启
|
||||
"MutiDB_Enabled": false,
|
||||
//数据库CodeFirst是否开启
|
||||
"DbCodeFirst_Enabled": true,
|
||||
//数据库种子数据是否开启
|
||||
"DbSeed_Enabled": true,
|
||||
//数据库列表
|
||||
"DbList": [ "Sqlite", "Mysql", "Sqlserver", "Oracle" ],
|
||||
//数据库类型选择
|
||||
"DbSelect": "Sqlite",
|
||||
//数据库连接地址,支持读写分离
|
||||
"DbConn": {
|
||||
"WriteUrl": "DataSource=yi-sqlsugar-dev.db",
|
||||
"ReadUrl": [
|
||||
"server=[xxxx];port=3306;database=[xxxx];user id=[xxxx];password=[xxxx]",
|
||||
"server=[xxxx];port=3306;database=[xxxx];user id=[xxxx];password=[xxxx]",
|
||||
"server=[xxxx];port=3306;database=[xxxx];user id=[xxxx];password=[xxxx]"
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
//【缓存配置】
|
||||
//缓存列表
|
||||
"CacheList": [ "Redis", "MemoryCache" ],
|
||||
//选择缓存
|
||||
"CacheSelect": "MemoryCache",
|
||||
//缓存种子数据是否开启
|
||||
"CacheSeed_Enabled": false,
|
||||
|
||||
|
||||
//【中间件开启】
|
||||
//Consul是否开启
|
||||
"Consul_Enabled": false,
|
||||
//健康检查是否开启
|
||||
"HealthCheck_Enabled": false,
|
||||
//跨域开放是否开启
|
||||
"Cors_Enabled": true,
|
||||
//Apollo是否开启
|
||||
"Apollo_Enabled": false,
|
||||
//RabbitMQ是否开启
|
||||
"RabbitMQ_Enabled": false,
|
||||
//Kafka是否开启
|
||||
"Kafka_Enabled": false,
|
||||
//ElasticSeach是否开启
|
||||
"ElasticSeach_Enabled": false,
|
||||
//短信发送是否开启
|
||||
"SMS_Enabled": false,
|
||||
//分布式CAP是否开启
|
||||
"CAP_Enabled": false,
|
||||
//分布式CAP面板是否开启
|
||||
"CAPDashboard_Enabled": false,
|
||||
|
||||
|
||||
//【中间件配置】
|
||||
//jwt授权内容,公钥私钥转移到目录下的pem文件
|
||||
"JwtAuthorize": {
|
||||
"Issuer": "cc",
|
||||
"Audience": "cc",
|
||||
"PolicyName": "permission",
|
||||
"DefaultScheme": "Bearer",
|
||||
"IsHttps": false,
|
||||
"Expiration": 300,
|
||||
"ReExpiration": 3000
|
||||
},
|
||||
//Redis地址配置
|
||||
"RedisConnOptions": {
|
||||
"Host": "[]",
|
||||
"Prot": 6379,
|
||||
"DB": 1,
|
||||
"Password": "[]"
|
||||
},
|
||||
//RabbitMq地址配置
|
||||
"RabbitConn": {
|
||||
"HostName": "[]",
|
||||
"UserName": "[]",
|
||||
"Password": "[]",
|
||||
"Port": 5672
|
||||
},
|
||||
//ElasticSeach地址配置
|
||||
"ElasticSeachConn": {
|
||||
"Url": "[]",
|
||||
"IndexName": "[]",
|
||||
"UserName": "[]",
|
||||
"PassWord": "[]."
|
||||
},
|
||||
//Kafka地址配置
|
||||
"KafkaOptions": {
|
||||
"BrokerList": "[]:9092",
|
||||
"TopicName": "kafkalog"
|
||||
},
|
||||
//Consul地址配置
|
||||
"ConsulClientOption": {
|
||||
"IP": "[]",
|
||||
"Port": "8500",
|
||||
"Datacenter": "dc1"
|
||||
},
|
||||
//Consul注册本机配置
|
||||
"ConsulRegisterOption": {
|
||||
"IP": "[]",
|
||||
"Port": "[]",
|
||||
"GroupName": "ApiMicroservice",
|
||||
"HealthCheckUrl": "/Health",
|
||||
"Interval": 10,
|
||||
"Timeout": 5,
|
||||
"DeregisterCriticalServiceAfter": 60,
|
||||
"Tag": "13"
|
||||
},
|
||||
//阿里云短信配置
|
||||
"SMS": {
|
||||
"ID": "[]",
|
||||
"Secret": "[]",
|
||||
"Sign": "[]",
|
||||
"Template": "[]"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
{
|
||||
//程序启动地址,*代表全部网口
|
||||
"StartUrl": "http://*:19001",
|
||||
|
||||
//默认日志打印过滤
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft": "Warning",
|
||||
"Microsoft.Hosting.Lifetime": "Information"
|
||||
}
|
||||
},
|
||||
|
||||
//运行全部主机
|
||||
"AllowedHosts": "*",
|
||||
|
||||
//【全局配置开启】
|
||||
//Sql语句日志是否打印
|
||||
"SqlLog_Enable": false,
|
||||
//登录二维码是否打印
|
||||
"LoginCode_Enable": false,
|
||||
|
||||
//【数据库配置】
|
||||
//多数据库主从复制是否开启
|
||||
"MutiDB_Enabled": false,
|
||||
//数据库CodeFirst是否开启
|
||||
"DbCodeFirst_Enabled": true,
|
||||
//数据库种子数据是否开启
|
||||
"DbSeed_Enabled": true,
|
||||
//数据库列表
|
||||
"DbList": [ "Sqlite", "Mysql", "Sqlserver", "Oracle" ],
|
||||
//数据库类型选择
|
||||
"DbSelect": "Sqlite",
|
||||
//数据库连接地址,支持读写分离
|
||||
"DbConn": {
|
||||
"WriteUrl": "DataSource=yi-sqlsugar-dev.db",
|
||||
"ReadUrl": [
|
||||
"server=[xxxx];port=3306;database=[xxxx];user id=[xxxx];password=[xxxx]",
|
||||
"server=[xxxx];port=3306;database=[xxxx];user id=[xxxx];password=[xxxx]",
|
||||
"server=[xxxx];port=3306;database=[xxxx];user id=[xxxx];password=[xxxx]"
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
//【缓存配置】
|
||||
//缓存列表
|
||||
"CacheList": [ "Redis", "MemoryCache" ],
|
||||
//选择缓存
|
||||
"CacheSelect": "MemoryCache",
|
||||
//缓存种子数据是否开启
|
||||
"CacheSeed_Enabled": false,
|
||||
|
||||
|
||||
//【中间件开启】
|
||||
//Consul是否开启
|
||||
"Consul_Enabled": false,
|
||||
//健康检查是否开启
|
||||
"HealthCheck_Enabled": false,
|
||||
//跨域开放是否开启
|
||||
"Cors_Enabled": true,
|
||||
//Apollo是否开启
|
||||
"Apollo_Enabled": false,
|
||||
//RabbitMQ是否开启
|
||||
"RabbitMQ_Enabled": false,
|
||||
//Kafka是否开启
|
||||
"Kafka_Enabled": false,
|
||||
//ElasticSeach是否开启
|
||||
"ElasticSeach_Enabled": false,
|
||||
//短信发送是否开启
|
||||
"SMS_Enabled": false,
|
||||
//分布式CAP是否开启
|
||||
"CAP_Enabled": false,
|
||||
//分布式CAP面板是否开启
|
||||
"CAPDashboard_Enabled": false,
|
||||
|
||||
|
||||
//【中间件配置】
|
||||
//jwt授权内容,公钥私钥转移到目录下的pem文件
|
||||
"JwtAuthorize": {
|
||||
"Issuer": "cc",
|
||||
"Audience": "cc",
|
||||
"PolicyName": "permission",
|
||||
"DefaultScheme": "Bearer",
|
||||
"IsHttps": false,
|
||||
"Expiration": 300,
|
||||
"ReExpiration": 3000
|
||||
},
|
||||
//Redis地址配置
|
||||
"RedisConnOptions": {
|
||||
"Host": "[]",
|
||||
"Prot": 6379,
|
||||
"DB": 1,
|
||||
"Password": "[]"
|
||||
},
|
||||
//RabbitMq地址配置
|
||||
"RabbitConn": {
|
||||
"HostName": "[]",
|
||||
"UserName": "[]",
|
||||
"Password": "[]",
|
||||
"Port": 5672
|
||||
},
|
||||
//ElasticSeach地址配置
|
||||
"ElasticSeachConn": {
|
||||
"Url": "[]",
|
||||
"IndexName": "[]",
|
||||
"UserName": "[]",
|
||||
"PassWord": "[]."
|
||||
},
|
||||
//Kafka地址配置
|
||||
"KafkaOptions": {
|
||||
"BrokerList": "[]:9092",
|
||||
"TopicName": "kafkalog"
|
||||
},
|
||||
//Consul地址配置
|
||||
"ConsulClientOption": {
|
||||
"IP": "[]",
|
||||
"Port": "8500",
|
||||
"Datacenter": "dc1"
|
||||
},
|
||||
//Consul注册本机配置
|
||||
"ConsulRegisterOption": {
|
||||
"IP": "[]",
|
||||
"Port": "[]",
|
||||
"GroupName": "ApiMicroservice",
|
||||
"HealthCheckUrl": "/Health",
|
||||
"Interval": 10,
|
||||
"Timeout": 5,
|
||||
"DeregisterCriticalServiceAfter": 60,
|
||||
"Tag": "13"
|
||||
},
|
||||
//阿里云短信配置
|
||||
"SMS": {
|
||||
"ID": "[]",
|
||||
"Secret": "[]",
|
||||
"Sign": "[]",
|
||||
"Template": "[]"
|
||||
}
|
||||
}
|
||||
138
Yi.Framework.Net6/Yi.Framework.XUnitTest/appsettings.json
Normal file
138
Yi.Framework.Net6/Yi.Framework.XUnitTest/appsettings.json
Normal file
@@ -0,0 +1,138 @@
|
||||
{
|
||||
//程序启动地址,*代表全部网口
|
||||
"StartUrl": "http://*:19001",
|
||||
|
||||
//默认日志打印过滤
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft": "Warning",
|
||||
"Microsoft.Hosting.Lifetime": "Information"
|
||||
}
|
||||
},
|
||||
|
||||
//运行全部主机
|
||||
"AllowedHosts": "*",
|
||||
|
||||
//【全局配置开启】
|
||||
//Sql语句日志是否打印
|
||||
"SqlLog_Enable": false,
|
||||
//登录二维码是否打印
|
||||
"LoginCode_Enable": false,
|
||||
|
||||
//【数据库配置】
|
||||
//多数据库主从复制是否开启
|
||||
"MutiDB_Enabled": false,
|
||||
//数据库CodeFirst是否开启
|
||||
"DbCodeFirst_Enabled": true,
|
||||
//数据库种子数据是否开启
|
||||
"DbSeed_Enabled": true,
|
||||
//数据库列表
|
||||
"DbList": [ "Sqlite", "Mysql", "Sqlserver", "Oracle" ],
|
||||
//数据库类型选择
|
||||
"DbSelect": "Sqlite",
|
||||
//数据库连接地址,支持读写分离
|
||||
"DbConn": {
|
||||
"WriteUrl": "DataSource=yi-sqlsugar-dev.db",
|
||||
"ReadUrl": [
|
||||
"DataSource=[xxxx]",//sqlite
|
||||
"server=[xxxx];port=3306;database=[xxxx];user id=[xxxx];password=[xxxx]", //mysql
|
||||
"Data Source=[xxxx];Initial Catalog=[xxxx];User ID=[xxxx];password=[xxxx]" //sqlserver
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
//【缓存配置】
|
||||
//缓存列表
|
||||
"CacheList": [ "Redis", "MemoryCache" ],
|
||||
//选择缓存
|
||||
"CacheSelect": "MemoryCache",
|
||||
//缓存种子数据是否开启
|
||||
"CacheSeed_Enabled": false,
|
||||
|
||||
|
||||
//【中间件开启】
|
||||
//Consul是否开启
|
||||
"Consul_Enabled": false,
|
||||
//健康检查是否开启
|
||||
"HealthCheck_Enabled": false,
|
||||
//跨域开放是否开启
|
||||
"Cors_Enabled": true,
|
||||
//Apollo是否开启
|
||||
"Apollo_Enabled": false,
|
||||
//RabbitMQ是否开启
|
||||
"RabbitMQ_Enabled": false,
|
||||
//Kafka是否开启
|
||||
"Kafka_Enabled": false,
|
||||
//ElasticSeach是否开启
|
||||
"ElasticSeach_Enabled": false,
|
||||
//短信发送是否开启
|
||||
"SMS_Enabled": false,
|
||||
//分布式CAP是否开启
|
||||
"CAP_Enabled": false,
|
||||
//分布式CAP面板是否开启
|
||||
"CAPDashboard_Enabled": false,
|
||||
|
||||
|
||||
//【中间件配置】
|
||||
//jwt授权内容,公钥私钥转移到目录下的pem文件
|
||||
"JwtAuthorize": {
|
||||
"Issuer": "cc",
|
||||
"Audience": "cc",
|
||||
"PolicyName": "permission",
|
||||
"DefaultScheme": "Bearer",
|
||||
"IsHttps": false,
|
||||
"Expiration": 300,
|
||||
"ReExpiration": 3000
|
||||
},
|
||||
//Redis地址配置
|
||||
"RedisConnOptions": {
|
||||
"Host": "[]",
|
||||
"Prot": 6379,
|
||||
"DB": 1,
|
||||
"Password": "[]"
|
||||
},
|
||||
//RabbitMq地址配置
|
||||
"RabbitConn": {
|
||||
"HostName": "[]",
|
||||
"UserName": "[]",
|
||||
"Password": "[]",
|
||||
"Port": 5672
|
||||
},
|
||||
//ElasticSeach地址配置
|
||||
"ElasticSeachConn": {
|
||||
"Url": "[]",
|
||||
"IndexName": "[]",
|
||||
"UserName": "[]",
|
||||
"PassWord": "[]."
|
||||
},
|
||||
//Kafka地址配置
|
||||
"KafkaOptions": {
|
||||
"BrokerList": "[]:9092",
|
||||
"TopicName": "kafkalog"
|
||||
},
|
||||
//Consul地址配置
|
||||
"ConsulClientOption": {
|
||||
"IP": "[]",
|
||||
"Port": "8500",
|
||||
"Datacenter": "dc1"
|
||||
},
|
||||
//Consul注册本机配置
|
||||
"ConsulRegisterOption": {
|
||||
"IP": "[]",
|
||||
"Port": "[]",
|
||||
"GroupName": "ApiMicroservice",
|
||||
"HealthCheckUrl": "/Health",
|
||||
"Interval": 10,
|
||||
"Timeout": 5,
|
||||
"DeregisterCriticalServiceAfter": 60,
|
||||
"Tag": "13"
|
||||
},
|
||||
//阿里云短信配置
|
||||
"SMS": {
|
||||
"ID": "[]",
|
||||
"Secret": "[]",
|
||||
"Sign": "[]",
|
||||
"Template": "[]"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user