Appearance
更新签到配置
请求说明
- 请求方式:
POST - 请求头:
Content-Type: application/json - 接口地址:
https://gateway.nuoyunapi.com/Api/Room/updateSignConfig/2.0.0 - 频率限制:10秒100次
请求参数
| 参数 | 必选 | 类型 | 描述 |
|---|---|---|---|
id | 是 | integer | 直播间ID |
sign_config | 否 | object | 签到配置对象。不传则与默认配置合并(保留默认值) |
sign_config 对象结构
注:签到配置涉及到的参数较多,建议在控制台选好之后,复用该配置进行修改。
| 参数 | 必选 | 类型 | 描述 |
|---|---|---|---|
mode | 否 | integer | 签到模式:1=同个用户每天可签到一次;2=同个用户仅允许签到一次。默认 1 |
switch | 否 | boolean | 签到总开关:true=开启;false=关闭。默认 true |
forceSwitch | 否 | integer | 强制签到开关:0=关;1=开(开启后需签到才能观看) |
sign_sms_switch | 否 | integer | 短信验证开关:1=关;2=开(需 switch=true,会按国内/国外手机号扣减短信条数,余额不足将自动关闭) |
sms_verify_set | 否 | integer | 短信国家区分:1=允许国外;2=仅国内(短信开关为2时生效) |
sign_is_dislpay | 否 | integer | 签到是否显示在菜单栏:1=显示;2=隐藏 |
sign_custom_name | 否 | string | 自定义菜单栏签到名称 |
only_menu_display | 否 | integer | 仅菜单栏显示:1=是(关闭签到页且强制签到不可用);2=否 |
applet_custom_set | 否 | integer | 小程序一键获取用户信息:1=开;2=不开 |
config | 否 | array | 签到表单字段配置(见下方结构与校验规则) |
keyword_hide_content | 否 | array | 关键词隐藏内容数组,元素可为 {txt:"关键词"} 或直接字符串 |
tip | 否 | string | 提示文字 |
bgSrc | 否 | string | 签到背景图片完整URL,不填默认使用直播封面 |
config 数组元素结构(签到表单字段配置)
| 参数 | 必选 | 类型 | 描述 |
|---|---|---|---|
key | 是 | string | 字段标识(自定义表单项必填,否则无法识别) 注意:目前签到表我们提供了10项,对应10个key (name,phpne,other,fourth,fifth,sixth,seventh,eigth,ninth,tenth)。key必须为这10个之一,否则用户的签到信息将无法被正确存储和展示。 |
title | 是 | string | 字段标题(自定义表单项必填,否则前端展示异常) |
type | 否 | string | 字段类型:text=单行文本;select=下拉框;area=地区选择 |
force | 否 | integer | 是否必填:0=否;1=是 |
unique | 否 | integer | 是否唯一:0=否;1=是 |
placeholder | 否 | string | 占位符 |
user_input | 否 | string | 自定义正则字符串。若传值必须包含 /,否则报错“请输入正确的正则表达式!” |
sign_mobile_hide | 否 | integer | 手机号隐藏设置(仅手机号字段) |
keyword_hide | 否 | integer | 关键词隐藏:1=开启;2=关闭 |
keyword_hide_list | 否 | array | 关键词隐藏列表 |
max_length | 否 | integer | 最大长度限制 |
options | 否 | array | 下拉选项列表(仅 select 类型,数量≤30,每个 val 长度≤25字符) |
regSelectVal | 否 | string | 预设正则选择值 |
text_regular | 否 | array | 预设正则选项列表(见下),与 user_input 二选一,不能同时选择 selected:true |
options 数组元素结构(下拉选项)
| 参数 | 必选 | 类型 | 描述 |
|---|---|---|---|
id | 是 | integer | 选项ID |
val | 是 | string | 选项值 |
text_regular 数组元素结构(正则表达式选项)
| 参数 | 必选 | 类型 | 描述 |
|---|---|---|---|
id | 是 | integer | 选项ID |
name | 是 | string | 选项名称 |
content | 否 | string | 正则表达式内容 |
说明:对于
type=text且key非name/phone的字段,如果未提供text_regular,后端会自动填充默认四项:不限、数字、日期、手机号码。
keyword_hide_content 数组元素结构
| 参数 | 必选 | 类型 | 描述 |
|---|---|---|---|
id | 否 | integer | 关键词ID(可不传) |
txt | 是 | string | 关键词内容(必填有效字段) |
说明:后端会把数组中的
txt(或直接传的字符串)用|拼接存储,空或未传将存为""。
请求示例
json
{
"id": 1213911007,
"sign_config": {
"applet_custom_set": "2",
"config": [
{
"force": "1",
"key": "name",
"placeholder": "请输入您的姓名",
"title": "姓名",
"unique": "0",
"user_input": ""
},
{
"force": "1",
"key": "phone",
"placeholder": "请输入您的手机",
"sign_mobile_hide": 2,
"title": "手机",
"unique": "1",
"user_input": ""
},
{
"force": 1,
"key": "other",
"keyword_hide": 2,
"keyword_hide_list": [],
"max_length": 0,
"options": [],
"placeholder": "",
"regSelectVal": "",
"text_regular": [
{ "content": "", "id": 0, "name": "不限" },
{ "content": "/^[0-9]*$/", "id": 1, "name": "数字" },
{ "content": "/^[1-9]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/", "id": 2, "name": "日期" },
{ "content": "/^(1[3-9])\\d{9}$/", "id": 5, "name": "手机号码" }
],
"title": "医院",
"type": "text",
"unique": 0,
"user_input": ""
},
{
"force": 1,
"key": "fourth",
"keyword_hide": 2,
"keyword_hide_list": [],
"max_length": 0,
"options": [],
"placeholder": "",
"regSelectVal": "",
"text_regular": [
{ "content": "", "id": 0, "name": "不限" },
{ "content": "/^[0-9]*$/", "id": 1, "name": "数字" },
{ "content": "/^[1-9]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/", "id": 2, "name": "日期" },
{ "content": "/^(1[3-9])\\d{9}$/", "id": 5, "name": "手机号码" }
],
"title": "科室",
"type": "text",
"unique": 0,
"user_input": ""
},
{
"force": 1,
"key": "fifth",
"keyword_hide": 2,
"keyword_hide_list": [],
"max_length": 0,
"options": [],
"placeholder": "",
"regSelectVal": "",
"text_regular": [
{ "content": "", "id": 0, "name": "不限" },
{ "content": "/^[0-9]*$/", "id": 1, "name": "数字" },
{ "content": "/^[1-9]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/", "id": 2, "name": "日期" },
{ "content": "/^(1[3-9])\\d{9}$/", "id": 5, "name": "手机号码" }
],
"title": "职称",
"type": "text",
"unique": 0,
"user_input": ""
},
{
"force": 0,
"key": "sixth",
"keyword_hide": 1,
"keyword_hide_list": ["外部关键词1", "外部关键词2"],
"max_length": 0,
"options": [],
"placeholder": "",
"regSelectVal": "",
"text_regular": [
{ "content": "", "id": 0, "name": "不限" },
{ "content": "/^[0-9]*$/", "id": 1, "name": "数字" },
{ "content": "/^[1-9]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/", "id": 2, "name": "日期" },
{ "content": "/^(1[3-9])\\d{9}$/", "id": 5, "name": "手机号码" }
],
"title": "测试关键词得名称",
"type": "text",
"unique": 0,
"user_input": ""
},
{
"key": "seventh",
"title": "测试下拉框",
"placeholder": "",
"unique": 0,
"force": 0,
"type": "select",
"max_length": 0,
"keyword_hide": "2",
"options": [
{ "id": 0, "val": "下拉测试1" },
{ "id": 1, "val": "下拉测试2" }
],
"regSelectVal": "",
"user_input": "",
"text_regular": [
{ "id": 0, "name": "不限", "content": "" },
{ "id": 1, "name": "数字", "content": "/^[0-9]*$/" },
{ "id": 2, "name": "日期", "content": "/^[1-9]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/" },
{ "id": 5, "name": "手机号码", "content": "/^(1[3-9])\\d{9}$/" }
],
"keyword_hide_list": []
}
],
"forceSwitch": 1,
"keyword_hide_content": [
{ "id": 0, "txt": "外部关键词1" },
{ "id": 1, "txt": "外部关键词2" }
],
"mode": 2,
"only_menu_display": 2,
"sign_custom_name": "签到",
"sign_is_dislpay": "2",
"sign_sms_switch": "1",
"sms_verify_set": "2",
"switch": true
}
}默认配置(未传 sign_config 时使用, 部分参数未传递时,会使用下边的参数进行替换)
json
{
"mode": 1,
"switch": true,
"forceSwitch": 0,
"sign_sms_switch": 1,
"sign_is_dislpay": 2,
"sign_custom_name": "签到",
"only_menu_display": 2,
"sms_verify_set": 2,
"applet_custom_set": 1,
"keyword_hide_content": [],
"config": [
{
"key": "name",
"title": "姓名",
"placeholder": "请输入您的姓名",
"unique": 0,
"force": 1
},
{
"key": "phone",
"title": "手机号",
"placeholder": "请输入您的手机号",
"sign_mobile_hide": 2,
"unique": 1,
"force": 1
}
]
}默认配置效果说明
- 模式与开关:
mode=1(每日一次),switch=true启用签到,forceSwitch=0不强制签到。 - 短信相关:
sign_sms_switch=1关闭短信验证;sms_verify_set=2仅国内(但因短信关闭不生效)。 - 菜单显示:
sign_is_dislpay=2默认不在菜单栏展示;only_menu_display=2保留签到页;菜单/自定义名称均为“签到”。 - 小程序:
applet_custom_set=1默认开启一键获取用户信息。 - 关键词隐藏:默认空数组。
- 表单字段:仅包含必填的姓名、手机号;手机号
sign_mobile_hide=2(不隐藏)。
响应参数
| 参数 | 必选 | 类型 | 描述 |
|---|---|---|---|
code | 是 | integer | 状态码 |
msg | 是 | string | 提示信息 |
data | 是 | object | 响应数据 |
响应示例
成功响应
json
{
"code": 200,
"data": {},
"msg": "操作成功!"
}校验与注意事项
- 开关依赖:开启短信验证需
switch=true;短信余额不足会自动关闭sign_sms_switch。 - 下拉框限制:
options数量 ≤ 30;每个val长度 ≤ 25 字符。 - 自定义正则:
user_input需包含/;若提供user_input,text_regular中不能出现selected: "true"(否则报“请选择正确的文本项!”)。 - 正则默认填充:
type=text且key非name/phone时,未提供text_regular会被后端自动填充默认四项。 user_input缺省时后端会补空字符串。keyword_hide_content会被拼接为txt(或字符串)用|组合存储;无效或未传存为"",id不参与处理可不传。only_menu_display=1会关闭签到页且强制签到不可用,仅菜单栏入口可见。- 建议同时设置
sign_is_dislpay与sign_custom_name保证菜单栏展示一致。