feat(admin+api+player): 站内信手动发送、媒体库选择与发送记录详情
新增管理员手动发送站内信(三语富文本),支持发送记录查看与删除;修复全站「从媒体库选择」因分类过滤导致列表为空的问题;玩家端支持渲染管理员自定义消息;并优化后台列表页双层卡片布局。
This commit is contained in:
@@ -862,6 +862,41 @@ export const API_ERROR_MESSAGES = {
|
||||
'en-US': 'Message not found',
|
||||
'ms-MY': 'Mesej tidak dijumpai',
|
||||
},
|
||||
BROADCAST_NOT_FOUND: {
|
||||
'zh-CN': '发送记录不存在',
|
||||
'en-US': 'Broadcast record not found',
|
||||
'ms-MY': 'Rekod siaran tidak dijumpai',
|
||||
},
|
||||
BROADCAST_TITLE_REQUIRED: {
|
||||
'zh-CN': '标题不能为空',
|
||||
'en-US': 'Title is required',
|
||||
'ms-MY': 'Tajuk diperlukan',
|
||||
},
|
||||
BROADCAST_BODY_REQUIRED: {
|
||||
'zh-CN': '正文不能为空',
|
||||
'en-US': 'Body is required',
|
||||
'ms-MY': 'Kandungan diperlukan',
|
||||
},
|
||||
BROADCAST_TITLE_TOO_LONG: {
|
||||
'zh-CN': '标题过长(最多 256 字符)',
|
||||
'en-US': 'Title is too long (max 256 characters)',
|
||||
'ms-MY': 'Tajuk terlalu panjang (maks 256 aksara)',
|
||||
},
|
||||
BROADCAST_TARGET_USER_REQUIRED: {
|
||||
'zh-CN': '请指定玩家账号',
|
||||
'en-US': 'Target player username is required',
|
||||
'ms-MY': 'Nama pengguna pemain sasaran diperlukan',
|
||||
},
|
||||
BROADCAST_NO_RECIPIENTS: {
|
||||
'zh-CN': '没有可发送的玩家',
|
||||
'en-US': 'No eligible recipients',
|
||||
'ms-MY': 'Tiada penerima yang layak',
|
||||
},
|
||||
BROADCAST_CONTENT_REQUIRED: {
|
||||
'zh-CN': '请至少填写一种语言的标题或正文',
|
||||
'en-US': 'Provide a title or body in at least one language',
|
||||
'ms-MY': 'Sila isi tajuk atau kandungan sekurang-kurangnya satu bahasa',
|
||||
},
|
||||
CONTENT_ACTIVE_BANNER_INCOMPLETE: {
|
||||
'zh-CN': '启用 Banner 须至少一种语言配置图片地址',
|
||||
'en-US': 'ACTIVE banner requires imageUrl in at least one locale',
|
||||
|
||||
@@ -864,6 +864,41 @@ export const API_ERROR_MESSAGES = {
|
||||
'en-US': 'Message not found',
|
||||
'ms-MY': 'Mesej tidak dijumpai',
|
||||
},
|
||||
BROADCAST_NOT_FOUND: {
|
||||
'zh-CN': '发送记录不存在',
|
||||
'en-US': 'Broadcast record not found',
|
||||
'ms-MY': 'Rekod siaran tidak dijumpai',
|
||||
},
|
||||
BROADCAST_TITLE_REQUIRED: {
|
||||
'zh-CN': '标题不能为空',
|
||||
'en-US': 'Title is required',
|
||||
'ms-MY': 'Tajuk diperlukan',
|
||||
},
|
||||
BROADCAST_BODY_REQUIRED: {
|
||||
'zh-CN': '正文不能为空',
|
||||
'en-US': 'Body is required',
|
||||
'ms-MY': 'Kandungan diperlukan',
|
||||
},
|
||||
BROADCAST_TITLE_TOO_LONG: {
|
||||
'zh-CN': '标题过长(最多 256 字符)',
|
||||
'en-US': 'Title is too long (max 256 characters)',
|
||||
'ms-MY': 'Tajuk terlalu panjang (maks 256 aksara)',
|
||||
},
|
||||
BROADCAST_TARGET_USER_REQUIRED: {
|
||||
'zh-CN': '请指定玩家账号',
|
||||
'en-US': 'Target player username is required',
|
||||
'ms-MY': 'Nama pengguna pemain sasaran diperlukan',
|
||||
},
|
||||
BROADCAST_NO_RECIPIENTS: {
|
||||
'zh-CN': '没有可发送的玩家',
|
||||
'en-US': 'No eligible recipients',
|
||||
'ms-MY': 'Tiada penerima yang layak',
|
||||
},
|
||||
BROADCAST_CONTENT_REQUIRED: {
|
||||
'zh-CN': '请至少填写一种语言的标题或正文',
|
||||
'en-US': 'Provide a title or body in at least one language',
|
||||
'ms-MY': 'Sila isi tajuk atau kandungan sekurang-kurangnya satu bahasa',
|
||||
},
|
||||
CONTENT_ACTIVE_BANNER_INCOMPLETE: {
|
||||
'zh-CN': '启用 Banner 须至少一种语言配置图片地址',
|
||||
'en-US': 'ACTIVE banner requires imageUrl in at least one locale',
|
||||
|
||||
Reference in New Issue
Block a user