parent
b7c667fcbd
commit
d4935029a0
|
|
@ -115,11 +115,11 @@
|
||||||
"DockerConfig": {
|
"DockerConfig": {
|
||||||
"Prot": "5192:5192",
|
"Prot": "5192:5192",
|
||||||
"AspNetCoreEnv": "",
|
"AspNetCoreEnv": "",
|
||||||
"LastEnvName": "marking001",
|
"LastEnvName": "29dev",
|
||||||
"RemoveDaysFromPublished": "10",
|
"RemoveDaysFromPublished": "10",
|
||||||
"WorkDir": "",
|
"WorkDir": "",
|
||||||
"Volume": "",
|
"Volume": "",
|
||||||
"Other": "--name wgshare-api -e ASPNETCORE_ENVIRONMENT=Production -e TZ=Asia/Shanghai",
|
"Other": "--name wgshare-api -e ASPNETCORE_ENVIRONMENT=Development -e TZ=Asia/Shanghai",
|
||||||
"EnvPairList": [
|
"EnvPairList": [
|
||||||
{
|
{
|
||||||
"EnvName": "29dev",
|
"EnvName": "29dev",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
using AgoraIO.Media;
|
||||||
|
using AgoraIO.Rtm;
|
||||||
|
using Mapster;
|
||||||
|
using Masuit.Tools;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using SqlSugar;
|
||||||
|
using System.Net.Http;
|
||||||
|
using WGShare.API.Controllers.Basic;
|
||||||
|
using WGShare.API.Helpers;
|
||||||
|
using WGShare.Domain.AgoraApiResult;
|
||||||
|
using WGShare.Domain.Constant;
|
||||||
|
using WGShare.Domain.DTOs.Room;
|
||||||
|
using WGShare.Domain.Entities;
|
||||||
|
using WGShare.Domain.FriendlyException;
|
||||||
|
using WGShare.Domain.GeneralModel;
|
||||||
|
using Yitter.IdGenerator;
|
||||||
|
|
||||||
|
namespace WGShare.API.Controllers.Frontend
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Agora接口
|
||||||
|
/// </summary>
|
||||||
|
[ApiExplorerSettings(GroupName = "frontend")]
|
||||||
|
[Route("agora-cb")]
|
||||||
|
public class AgoraCallbackController : BasicController
|
||||||
|
{
|
||||||
|
private readonly ILogger<AgoraCallbackController> _logger;
|
||||||
|
|
||||||
|
public AgoraCallbackController(
|
||||||
|
ILogger<AgoraCallbackController> logger)
|
||||||
|
{
|
||||||
|
this._logger = logger;
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpPost("event")]
|
||||||
|
public async Task<string> Event()
|
||||||
|
{
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -115,5 +115,14 @@ namespace WGShare.API.Controllers.Frontend
|
||||||
privilegeExpiredTs);
|
privilegeExpiredTs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取Agora配置
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet("agora-conf")]
|
||||||
|
public string GetAgoraConfig()
|
||||||
|
{
|
||||||
|
return _configuration["Agora:appId"].ToString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -151,6 +151,7 @@ namespace WGShare.API.Controllers.Frontend
|
||||||
|
|
||||||
using var stream = file.OpenReadStream();
|
using var stream = file.OpenReadStream();
|
||||||
var rows = stream.Query<UserExcelInputDto>().ToList();
|
var rows = stream.Query<UserExcelInputDto>().ToList();
|
||||||
|
rows.RemoveAll(x => x == null || string.IsNullOrWhiteSpace(x.Account));
|
||||||
if (rows.IsNullOrEmpty())
|
if (rows.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
throw Oops.Oh("无有效数据,请检查文件数据!");
|
throw Oops.Oh("无有效数据,请检查文件数据!");
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,11 @@
|
||||||
<param name="file"></param>
|
<param name="file"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="T:WGShare.API.Controllers.Frontend.AgoraCallbackController">
|
||||||
|
<summary>
|
||||||
|
Agora接口
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="T:WGShare.API.Controllers.Frontend.HomeController">
|
<member name="T:WGShare.API.Controllers.Frontend.HomeController">
|
||||||
<summary>
|
<summary>
|
||||||
首页接口
|
首页接口
|
||||||
|
|
@ -86,6 +91,12 @@
|
||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:WGShare.API.Controllers.Frontend.HomeController.GetAgoraConfig">
|
||||||
|
<summary>
|
||||||
|
获取Agora配置
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="T:WGShare.API.Controllers.Frontend.RoomController">
|
<member name="T:WGShare.API.Controllers.Frontend.RoomController">
|
||||||
<summary>
|
<summary>
|
||||||
会议室接口
|
会议室接口
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
"Console": {
|
"Console": {
|
||||||
"LogLevel": {
|
"LogLevel": {
|
||||||
"Default": "Information",
|
"Default": "Information",
|
||||||
"Microsoft": "Warning",
|
"Microsoft": "Warning"
|
||||||
}
|
}
|
||||||
//"FormatterName": "CustomTimePrefixingFormatter",
|
//"FormatterName": "CustomTimePrefixingFormatter",
|
||||||
//"FormatterOptions": {
|
//"FormatterOptions": {
|
||||||
|
|
@ -36,5 +36,13 @@
|
||||||
"Audience": "WGshareClient",
|
"Audience": "WGshareClient",
|
||||||
// 过期 秒
|
// 过期 秒
|
||||||
"Expires": 86400
|
"Expires": 86400
|
||||||
|
},
|
||||||
|
"Agora": {
|
||||||
|
"appId": "4a4f7be64fa1404ebda74784fe9ac381",
|
||||||
|
"appSecret": "255e05d96c794251b282a0de84242355",
|
||||||
|
"tokenExpireTimeInSecond": 7200,
|
||||||
|
"apiPrefix": "https://api.sd-rtn.com/",
|
||||||
|
"clientId": "80cdc24f7dfa4497a37d98da95a3c4a4",
|
||||||
|
"clientSecret": "8323581d4d464114b1f324b26cc62e09"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,50 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using WGShare.Domain.Enums;
|
||||||
|
|
||||||
|
namespace WGShare.Domain.DTOs.AgoraCallback
|
||||||
|
{
|
||||||
|
public class EventBody
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 通知 ID,标识来自声网业务服务器的一次事件通知。
|
||||||
|
/// </summary>
|
||||||
|
public string noticeId { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 业务 ID。值为 1 表示实时通信业务。
|
||||||
|
/// </summary>
|
||||||
|
public int productId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 通知的事件类型。详见频道事件类型。
|
||||||
|
/// </summary>
|
||||||
|
public EventType eventType { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 声网消息服务器向你的服务器发送事件通知的 Unix 时间戳 (ms)。通知重试时该值会更新。
|
||||||
|
/// </summary>
|
||||||
|
public int notifyMs { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 会话 ID。
|
||||||
|
/// </summary>
|
||||||
|
public string sid { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 通知事件的具体内容。payload 因 eventType 而异,详见频道事件类型。
|
||||||
|
/// </summary>
|
||||||
|
public string payload { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class AgoraCallbackPayload
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 频道名称
|
||||||
|
/// </summary>
|
||||||
|
public string channelName { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,54 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace WGShare.Domain.Enums
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 声网频道事件类型
|
||||||
|
/// </summary>
|
||||||
|
public enum EventType
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 创建频道。
|
||||||
|
/// </summary>
|
||||||
|
channel_create = 101,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 销毁频道。
|
||||||
|
/// </summary>
|
||||||
|
channel_destroy = 102,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 直播场景下,主播加入频道
|
||||||
|
/// </summary>
|
||||||
|
broadcaster_join_channel = 103,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 直播场景下,主播离开频道
|
||||||
|
/// </summary>
|
||||||
|
broadcaster_leave_channel = 104,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 直播场景下,观众加入频道
|
||||||
|
/// </summary>
|
||||||
|
audience_join_channel = 105,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 直播场景下,观众离开频道
|
||||||
|
/// </summary>
|
||||||
|
audience_leave_channel = 106,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 观众将角色切换为主播
|
||||||
|
/// </summary>
|
||||||
|
client_role_change_to_broadcaster = 111,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 主播将角色切换为观众。
|
||||||
|
/// </summary>
|
||||||
|
client_role_change__to_audience = 112
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue