标签:tar 助教 哈哈哈 直播 document 格式 VID manual targe
今天做一个视频接口对接,发现对方提供的文档没有json格式,无法自动生成请求和响应对象
json自动生成C#类的工具
http://tool.sufeinet.com/Creater/JsonClassGenerator.aspx
所以拿到对方文档表格之后,写了这个js工具,自动生成C#类属性和注释,省去了敲无效代码的麻烦
接口地址
https://doc.bokecc.com/live/live_http.html
对方文档格式
我们需要的字段属性格式,上面是字段注释,下面是属性名和json的key
///
/// CC账户ID
///
[JsonProperty("userid")]
public string Userid { get; set; }
如果我们一个字段一个字段的敲,得弄到猴年马月去,copy也挺费劲的
所以我们将对方的table直接复制到一个html里,写下面的js代码
DOCTYPE html>
html>
head>
meta charset="GB2312">
title>title>
script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
script>
script>
$(document).ready(function(){
var log = "";
$(‘table‘).eq(0).find(‘tr‘).each(function () {
var demo = ‘ /// \r\n /// @@desc@@\r\n /// \r\n [JsonProperty("@@name@@")]\r\n public string @@nameuper@@ { get; set; }\r\n ‘;
var td = $(this).find(‘td‘);
var name = td.eq(0).html();
var nameuper = name.charAt(0).toUpperCase() + name.slice(1);
var desc = td.eq(1).html() + " " + td.eq(2).html();
demo = demo.replace(‘@@name@@‘, name);
demo = demo.replace(‘@@nameuper@@‘, nameuper);
demo = demo.replace(‘@@desc@@‘, desc);
log = log + demo + ‘\r\n‘;
})
console.log(log);
});
script>
head>
body>
table width="900px">
tbody>
tr style="background:#F60;color:#FFF">
td>参数td>
td>说明td>
td width="20%">备注td>
tr>
tr>
td>useridtd>
td>CC账户IDtd>
td>td>
tr>
tr>
td>nametd>
td>直播间名称,最大字符40td>
td>td>
tr>
tr>
td>desctd>
td>直播间描述,最大字符5000td>
td>td>
tr>
tr>
td>templatetypetd>
td>直播模板类型,请求模板信息接口可获得模板类型的详细信息。td>
td>td>
tr>
tr>
td>authtypetd>
td>验证方式,0:接口验证,需要填写下面的checkurl;1:密码验证,需要填写下面的playpass;2:免密码验证td>
td>td>
tr>
tr>
td>publisherpasstd>
td>推流端密码,即讲师密码td>
td>td>
tr>
tr>
td>assistantpasstd>
td>助教端密码td>
td>td>
tr>
tr>
td>playpasstd>
td>播放端密码td>
td>可选td>
tr>
tr>
td>checkurltd>
td>验证地址td>
td>可选td>
tr>
tr>
td>barragetd>
td>是否开启弹幕。0:不开启;1:开启td>
td>可选,默认为0td>
tr>
tr>
td>foreignpublishtd>
td>是否开启第三方推流。0:不开启;1:开启td>
td>可选,默认为0,开启时必须开启网页登录的主持人模式td>
tr>
tr>
td>openlowdelaymodetd>
td>开启直播低延时模式。0:不开启;1:开启td>
td>可选,默认为0td>
tr>
tr>
td>showusercounttd>
td>在页面显示当前在线人数。0:不显示;1:显示td>
td>可选,默认显示当前人数,模板一暂不支持此设置td>
tr>
tr>
td>openhostmodetd>
td>开启主持人模式,"0"表示不开启;"1"表示开启td>
td>可选,默认为0,开通主持人模式权限后方可设置td>
tr>
tr>
td>hostloginmodetd>
td>主持人登录模式,"0"表示网页登录;"1"表示客户端登录td>
td>可选,默认为0td>
tr>
tr>
td>warmvideoidtd>
td>插播暖场视频,填写同一账号下云点播视频vidtd>
td>可选,默认关闭;参数值为空,表示关闭td>
tr>
tr>
td>livestarttimetd>
td>直播开始时间;格式:yyyy-MM-dd HH:mm:sstd>
td>可选,默认为空td>
tr>
tr>
td>playerbackgroundhinttd>
td>播放器提示语。未直播时播放器将显示该提示语td>
td>可选,最多15个字符td>
tr>
tr>
td>manuallyrecordmodetd>
td>手动录制模式。0:关闭;1:开启td>
td>可选,默认关闭td>
tr>
tr>
td>clientdocpermissionstd>
td>讲师文档权限。0:关闭;1:开启td>
td>可选,默认关闭;td>
tr>
tr>
td>repeatedloginsettingtd>
td>重复登录设置;0:允许后进入者登录;1:禁止后进入者登录,对讲师端和观看端生效td>
td>可选,默认0td>
tr>
tr>
td>maxaudiencenumtd>
td>直播间并发人数上限td>
td>可选,默认为0,表示不做限制td>
tr>
tr>
td>documentdisplaymodetd>
td>文档显示模式。1:适合窗口;2:适合宽度td>
td>可选,适合窗口td>
tr>
tr>
td>openlivecountdowntd>
td>倒计时功能。0:关闭;1:开启td>
td>可选,默认关闭td>
tr>
tr>
td>showlectueronlinenumtd>
td>讲师端显示在线人数。0:不显示;1:显示td>
td>可选,默认显示td>
tr>
tr>
td>showassistonlinenumtd>
td>助教主持人端显示在线人数。0:不显示;1:显示td>
td>可选,默认显示td>
tr>
tr>
td>openmarqueetd>
td>跑马灯功能。0:关闭;1:开启td>
td>可选,默认为0td>
tr>
tr>
td>alarmstd>
td>直播提醒设置,格式如下:[{"time":"","desc":""},{"time":"","desc":""},{"time":"","desc":""}] time为提醒时间点(单位:分钟),类型为字符串,取值范围1-1000的整数;desc为提醒内容,类型为字符串,最多20个字符td>
td>可选,默认为空td>
tr>
tbody>
table>
body>
html>
通过自己组织console log的内容,生成代码
///
/// 说明 备注
///
[JsonProperty("参数")]
public string 参数 { get; set; }
///
/// CC账户ID
///
[JsonProperty("userid")]
public string Userid { get; set; }
///
/// 直播间名称,最大字符40
///
[JsonProperty("name")]
public string Name { get; set; }
///
/// 直播间描述,最大字符5000
///
[JsonProperty("desc")]
public string Desc { get; set; }
///
/// 直播模板类型,请求模板信息接口可获得模板类型的详细信息。
///
[JsonProperty("templatetype")]
public string Templatetype { get; set; }
///
/// 验证方式,0:接口验证,需要填写下面的checkurl;1:密码验证,需要填写下面的playpass;2:免密码验证
///
[JsonProperty("authtype")]
public string Authtype { get; set; }
///
/// 推流端密码,即讲师密码
///
[JsonProperty("publisherpass")]
public string Publisherpass { get; set; }
///
/// 助教端密码
///
[JsonProperty("assistantpass")]
public string Assistantpass { get; set; }
///
/// 播放端密码 可选
///
[JsonProperty("playpass")]
public string Playpass { get; set; }
///
/// 验证地址 可选
///
[JsonProperty("checkurl")]
public string Checkurl { get; set; }
///
/// 是否开启弹幕。0:不开启;1:开启 可选,默认为0
///
[JsonProperty("barrage")]
public string Barrage { get; set; }
///
/// 是否开启第三方推流。0:不开启;1:开启 可选,默认为0,开启时必须开启网页登录的主持人模式
///
[JsonProperty("foreignpublish")]
public string Foreignpublish { get; set; }
///
/// 开启直播低延时模式。0:不开启;1:开启 可选,默认为0
///
[JsonProperty("openlowdelaymode")]
public string Openlowdelaymode { get; set; }
///
/// 在页面显示当前在线人数。0:不显示;1:显示 可选,默认显示当前人数,模板一暂不支持此设置
///
[JsonProperty("showusercount")]
public string Showusercount { get; set; }
///
/// 开启主持人模式,"0"表示不开启;"1"表示开启 可选,默认为0,开通主持人模式权限后方可设置
///
[JsonProperty("openhostmode")]
public string Openhostmode { get; set; }
///
/// 主持人登录模式,"0"表示网页登录;"1"表示客户端登录 可选,默认为0
///
[JsonProperty("hostloginmode")]
public string Hostloginmode { get; set; }
///
/// 插播暖场视频,填写同一账号下云点播视频vid 可选,默认关闭;参数值为空,表示关闭
///
[JsonProperty("warmvideoid")]
public string Warmvideoid { get; set; }
///
/// 直播开始时间;格式:yyyy-MM-dd HH:mm:ss 可选,默认为空
///
[JsonProperty("livestarttime")]
public string Livestarttime { get; set; }
///
/// 播放器提示语。未直播时播放器将显示该提示语 可选,最多15个字符
///
[JsonProperty("playerbackgroundhint")]
public string Playerbackgroundhint { get; set; }
///
/// 手动录制模式。0:关闭;1:开启 可选,默认关闭
///
[JsonProperty("manuallyrecordmode")]
public string Manuallyrecordmode { get; set; }
///
/// 讲师文档权限。0:关闭;1:开启 可选,默认关闭;
///
[JsonProperty("clientdocpermissions")]
public string Clientdocpermissions { get; set; }
///
/// 重复登录设置;0:允许后进入者登录;1:禁止后进入者登录,对讲师端和观看端生效 可选,默认0
///
[JsonProperty("repeatedloginsetting")]
public string Repeatedloginsetting { get; set; }
///
/// 直播间并发人数上限 可选,默认为0,表示不做限制
///
[JsonProperty("maxaudiencenum")]
public string Maxaudiencenum { get; set; }
///
/// 文档显示模式。1:适合窗口;2:适合宽度 可选,适合窗口
///
[JsonProperty("documentdisplaymode")]
public string Documentdisplaymode { get; set; }
///
/// 倒计时功能。0:关闭;1:开启 可选,默认关闭
///
[JsonProperty("openlivecountdown")]
public string Openlivecountdown { get; set; }
///
/// 讲师端显示在线人数。0:不显示;1:显示 可选,默认显示
///
[JsonProperty("showlectueronlinenum")]
public string Showlectueronlinenum { get; set; }
///
/// 助教主持人端显示在线人数。0:不显示;1:显示 可选,默认显示
///
[JsonProperty("showassistonlinenum")]
public string Showassistonlinenum { get; set; }
///
/// 跑马灯功能。0:关闭;1:开启 可选,默认为0
///
[JsonProperty("openmarquee")]
public string Openmarquee { get; set; }
///
/// 直播提醒设置,格式如下:[{"time":"","desc":""},{"time":"","desc":""},{"time":"","desc":""}] time为提醒时间点(单位:分钟),类型为字符串,取值范围1-1000的整数;desc为提醒内容,类型为字符串,最多20个字符 可选,默认为空
///
[JsonProperty("alarms")]
public string Alarms { get; set; }
我们将代码复制到项目里即可
效果如下
程序员就要提(xue)高(hui)效(tou)率(lan)嘛
哈哈哈 搞定收工
专心写业务逻辑就行了
【奇淫技巧】API接口字段table文档转代码工具
标签:tar 助教 哈哈哈 直播 document 格式 VID manual targe
原文地址:https://www.cnblogs.com/jhli/p/10313977.html