大哥 主播 即时消息 三合一

This commit is contained in:
2026-02-04 19:56:19 +08:00
parent 85e5d1ccb7
commit 791560af2e
52 changed files with 8324 additions and 4611 deletions

183
src/locales/en.js Normal file
View File

@@ -0,0 +1,183 @@
export default {
login: {
title: 'Account login',
version: 'VERSION',
login: 'Login',
tenantName: 'Tenant Name',
account: 'account',
password: 'password',
Language: 'Language',
network: 'NetWork',
},
menu: {
workbenches: 'Work Benches',
hostList: 'Streamer List',
logout: 'Logout',
},
workbenches: {
openTK: 'OpenTK',
totalnumber: 'Total Number',
createHost: 'Create Streamer',
query: 'Can query',
invite: 'Can invited',
runTime: 'Run Time',
guildAccount: 'Guild account',
guildPass: 'Guild password',
guildAccountPlace: 'Please enter your login account',
guildPassPlace: 'Please enter your login password',
queriedNum: 'Today queried times',
loginBackend: 'Login backend',
workbenches: 'Work Benches',
},
workbenchesSetup: {
workbenches: 'Work Benches',
network: 'Current Network',
setCoinsNum: 'Set Coins Number',
setFansNum: 'Set Fans Number',
setQuery: 'Set Query Frequency',
setNum: 'Set Host Number',
minCoinsNum: 'Min Coins Number',
maxCoinsNum: 'Max Coins Number',
minFansNum: 'Min Fans Number',
maxFansNum: 'Max Fans Number',
hour: 'times/hour',
hour24: 'times/24hour',
num: 'Num',
start: 'Start Obtaining Data',
stop: 'Stop',
prompt: 'Stop crawling specified number',
setHostNum: 'Set crawling quantity',
unlimitedQuantity: 'Unlimited crawling quantity',
},
hostList: {
placeCountry: 'Select country',
placeSeletTime: 'Select query time',
placeHostId: 'Please enter the anchor ID',
selectAll: 'All',
query: 'Query',
export: 'Export Excel data',
hostId: 'Streamer ID',
grade: 'Grade',
country: 'Country',
creationTime: 'Creation Time',
anchorcoins: 'Anchor Coins',
yesterdayGoldCoins: 'Yesterday Gold Coins',
fansNum: 'Number Fans',
followersNum: 'Number Followers',
onlineFans: 'Online Fans',
anchorType: 'Anchor Type',
min: 'min',
max: 'max',
placeMin: 'Please enter the minimum value',
placeMax: 'Please enter the maximum value',
sort: 'sort',
sortType: 'sort Type',
ascending: 'ascending',
descending: 'descending',
reset: 'reset',
sure: 'sure',
invitationType: 'invitationType',
invitationType1: 'Regular',
invitationType2: 'Golden',
liveSessions: 'Live Sessions',
viewSessions: 'View Sessions',
liveRevenue: 'Live Revenue',
viewRevenue: 'View Revenue',
revenueHost: 'Host',
todayRevenueUsd: 'Today Revenue (USD)',
totalRevenueUsd: 'Total Revenue (USD)',
liveDays: 'Live Days',
historyRevenueUsd: 'History Revenue (USD)',
revenueHigh: 'High',
revenueLow: 'Low',
revenueTime: 'Time',
close: 'Close',
selectPlaceholder: 'Please select',
},
hostsList: {
filterPrivateUsers: 'Filter Private Users',
minCoins: 'Min Coins',
maxCoins: 'Max Coins',
minLevel: 'Min Level',
maxLevel: 'Max Level',
specifiedRooms: 'Specified Rooms',
specifyRooms: 'Specify Rooms',
total: 'Total',
valid: 'Valid',
reset: 'Reset',
start: 'Start',
end: 'End',
selectCountry: 'Select Country',
bigBrotherId: 'Big Brother ID',
search: 'Search',
exportExcel: 'Export Excel Data',
moreFilters: 'More Filters',
openTikTok: 'Open TikTok Login',
currentNetwork: 'Current Network',
runningTime: 'Running Time',
id: 'Id',
hostId: 'Host ID',
userId: 'User ID',
level: 'Level',
fansLevel: 'Fan Club Level',
coins: 'Coins',
totalGiftCoins: 'Total Gift Coins',
region: 'Region',
followerCount: 'Followers',
followingCount: 'Following',
createTime: 'Created Time',
time: 'Time',
startTime: 'Start Time',
endTime: 'End Time',
selectTime: 'Select Query Time',
minValue: 'Min Value',
maxValue: 'Max Value',
enterMinValue: 'Enter Min Value',
enterMaxValue: 'Enter Max Value',
sort: 'Sort',
sortType: 'Sort Type',
sortOrder: 'Ascending/Descending',
pleaseSelect: 'Please Select',
ascending: 'Ascending',
descending: 'Descending',
confirm: 'Confirm',
cancel: 'Cancel',
cancelSpecify: 'Cancel Specify Rooms',
specifyReset: 'Reset',
specifyConfirm: 'Confirm',
specifyStart: 'Start',
enterRoomIds: 'Enter room IDs, separate multiple IDs with Enter key',
enterRoomId: 'Please enter room ID',
networkFailed: 'Network connection failed, unable to access the network. Please check network settings.',
noContentToCopy: 'No content to copy',
copySuccess: 'Copied successfully',
copyFailed: 'Copy failed',
stopping: 'Stopping...',
starting: 'Starting...',
pleaseEnterCountryName: 'Please enter the country name in Chinese',
getCountryFailed: 'Failed to get country',
},
countries: {
// ... (truncated common countries for brevity, or include all if critical. I'll include a subset or all if possible. The file read showed all.)
AD: "Andorra",
AE: "United Arab Emirates",
AF: "Afghanistan",
CN: "China",
US: "United States",
// Adding a catch-all or most used ones to save space, or just dump all if context allows.
// Since I can't easily select only 'used' ones, and user wants full port, I'll try to include all but maybe in a follow-up if it's too large.
// Actually, the previous read showed ~250 lines of countries. I'll include the full list to be safe.
AD: "Andorra", AE: "United Arab Emirates", AF: "Afghanistan", AG: "Antigua and Barbuda", AI: "Anguilla", AL: "Albania", AM: "Armenia", AO: "Angola", AQ: "Antarctica", AR: "Argentina", AS: "American Samoa", AT: "Austria", AU: "Australia", AU1: "Australia", AW: "Aruba", AX: "Åland Islands", AZ: "Azerbaijan",
BA: "Bosnia and Herzegovina", BB: "Barbados", BD: "Bangladesh", BE: "Belgium", BF: "Burkina Faso", BG: "Bulgaria", BH: "Bahrain", BI: "Burundi", BJ: "Benin", BL: "Saint Barthélemy", BM: "Bermuda", BN: "Brunei Darussalam", BO: "Bolivia", BQ: "Bonaire, Sint Eustatius and Saba", BR: "Brazil", BS: "Bahamas", BT: "Bhutan", BV: "Bouvet Island", BW: "Botswana", BY: "Belarus", BZ: "Belize",
CA: "Canada", CA1: "Canada", CC: "Cocos (Keeling) Islands", CD: "Democratic Republic of the Congo", CF: "Central African Republic", CG: "Republic of the Congo", CH: "Switzerland", CI: "Côte d'Ivoire", CK: "Cook Islands", CL: "Chile", CM: "Cameroon", CN: "China", CO: "Colombia", CR: "Costa Rica", CU: "Cuba", CV: "Cape Verde", CW: "Curaçao", CX: "Christmas Island", CY: "Cyprus", CZ: "Czech Republic",
DE: "Germany", DG: "Diego Garcia", DJ: "Djibouti", DK: "Denmark", DM: "Dominica", DO: "Dominican Republic", DZ: "Algeria", EC: "Ecuador", EE: "Estonia", EG: "Egypt", EH: "Western Sahara", ER: "Eritrea", ES: "Spain", ET: "Ethiopia", FI: "Finland", FJ: "Fiji", FK: "Falkland Islands", FM: "Micronesia", FO: "Faroe Islands", FR: "France",
GA: "Gabon", GB: "United Kingdom", GD: "Grenada", GE: "Georgia", GF: "French Guiana", GG: "Guernsey", GH: "Ghana", GI: "Gibraltar", GL: "Greenland", GM: "Gambia", GN: "Guinea", GP: "Guadeloupe", GQ: "Equatorial Guinea", GR: "Greece", GS: "South Georgia and the South Sandwich Islands", GT: "Guatemala", GU: "Guam", GW: "Guinea-Bissau", GY: "Guyana",
HK: "Hong Kong SAR China", HM: "Heard Island and McDonald Islands", HN: "Honduras", HR: "Croatia", HT: "Haiti", HU: "Hungary", ID: "Indonesia", IE: "Ireland", IL: "Israel", IM: "Isle of Man", IN: "India", IO: "British Indian Ocean Territory", IQ: "Iraq", IR: "Iran", IS: "Iceland", IT: "Italy",
JE: "Jersey", JM: "Jamaica", JO: "Jordan", JP: "Japan", JP1: "Japan", KE: "Kenya", KG: "Kyrgyzstan", KH: "Cambodia", KI: "Kiribati", KM: "Comoros", KN: "Saint Kitts and Nevis", KP: "North Korea", KR: "South Korea", KR1: "South Korea", KW: "Kuwait", KY: "Cayman Islands", KZ: "Kazakhstan",
LA: "Laos", LB: "Lebanon", LC: "Saint Lucia", LI: "Liechtenstein", LK: "Sri Lanka", LR: "Liberia", LS: "Lesotho", LT: "Lithuania", LU: "Luxembourg", LV: "Latvia", LY: "Libya", MA: "Morocco", MC: "Monaco", MD: "Moldova", ME: "Montenegro", MF: "Saint Martin", MG: "Madagascar", MH: "Marshall Islands", MK: "North Macedonia", ML: "Mali", MM: "Myanmar", MN: "Mongolia", MO: "Macao SAR China", MP: "Northern Mariana Islands", MQ: "Martinique", MR: "Mauritania", MS: "Montserrat", MT: "Malta", MU: "Mauritius", MV: "Maldives", MW: "Malawi", MX: "Mexico", MY: "Malaysia", MZ: "Mozambique",
NA: "Namibia", NC: "New Caledonia", NE: "Niger", NF: "Norfolk Island", NG: "Nigeria", NI: "Nicaragua", NL: "Netherlands", NO: "Norway", NP: "Nepal", NR: "Nauru", NU: "Niue", NZ: "New Zealand", OM: "Oman", PA: "Panama", PE: "Peru", PF: "French Polynesia", PG: "Papua New Guinea", PH: "Philippines", PK: "Pakistan", PL: "Poland", PM: "Saint Pierre and Miquelon", PN: "Pitcairn Islands", PR: "Puerto Rico", PS: "Palestine", PT: "Portugal", PW: "Palau", PY: "Paraguay", QA: "Qatar", RE: "Réunion", RO: "Romania", RS: "Serbia", RU: "Russia", RW: "Rwanda",
SA: "Saudi Arabia", SB: "Solomon Islands", SC: "Seychelles", SD: "Sudan", SE: "Sweden", SG: "Singapore", SI: "Slovenia", SJ: "Svalbard and Jan Mayen", SK: "Slovakia", SL: "Sierra Leone", SM: "San Marino", SN: "Senegal", SO: "Somalia", SR: "Suriname", SS: "South Sudan", ST: "Sao Tome and Principe", SV: "El Salvador", SX: "Sint Maarten", SY: "Syria", SZ: "Eswatini",
TC: "Turks and Caicos Islands", TD: "Chad", TF: "French Southern Territories", TG: "Togo", TH: "Thailand", TJ: "Tajikistan", TK: "Tokelau", TL: "Timor-Leste", TM: "Turkmenistan", TN: "Tunisia", TO: "Tonga", TR: "Turkey", TT: "Trinidad and Tobago", TV: "Tuvalu", TW: "Taiwan", TZ: "Tanzania", UA: "Ukraine", UG: "Uganda", UM: "United States Minor Outlying Islands", US: "United States", UY: "Uruguay", UZ: "Uzbekistan",
VA: "Vatican City", VC: "Saint Vincent and the Grenadines", VE: "Venezuela", VG: "British Virgin Islands", VI: "U.S. Virgin Islands", VN: "Vietnam", VN1: "Vietnam", VU: "Vanuatu", WS: "Samoa", YE: "Yemen", YT: "Mayotte", ZA: "South Africa", ZM: "Zambia", ZW: "Zimbabwe"
}
}

17
src/locales/index.js Normal file
View File

@@ -0,0 +1,17 @@
import { createI18n } from 'vue-i18n'
import en from './en'
import zh from './zh'
const messages = {
en,
zh
}
const i18n = createI18n({
locale: 'zh', // 默认语言
fallbackLocale: 'en',
messages,
legacy: false // Vue 3 Composition API requires legacy: false for some features, but safe to keep default or explicitly set based on usage
})
export default i18n

174
src/locales/zh.js Normal file
View File

@@ -0,0 +1,174 @@
export default {
login: {
title: '账号登录',
version: '版本号',
login: '登录',
tenantName: '租户名称',
account: '账号',
password: '密码',
Language: '语言设置',
network: '网络设置',
},
menu: {
workbenches: '工作台',
hostList: '主播列表',
logout: '退出登录',
},
workbenches: {
openTK: '开启TK',
totalnumber: '总数量',
createHost: '新建主播',
query: '查询',
invite: '邀请',
runTime: '运行时间',
guildAccount: '公会账号',
guildPass: '公会密码',
guildAccountPlace: '请输入登录账号',
guildPassPlace: '请输入登录密码',
queriedNum: '今日已查询次数',
loginBackend: '登录后台',
workbenches: '工作台',
},
workbenchesSetup: {
workbenches: '工作台',
network: '当前网络',
setCoinsNum: '设置金币数量',
setFansNum: '设置粉丝数量',
setQuery: '后台查询频率',
setNum: '期望可邀请主播数量',
minCoinsNum: '最小金币数量',
maxCoinsNum: '最大金币数量',
minFansNum: '最小粉丝数量',
maxFansNum: '最大粉丝数量',
hour: '次/小时',
hour24: '次/24小时',
num: '个',
start: '开始获取数据',
stop: '停止',
prompt: '达到数量后停止爬取',
setHostNum: '设置爬取数量',
unlimitedQuantity: '不限爬取数量',
},
hostList: {
placeCountry: '选择国家',
placeSeletTime: '选择查询时间',
placeHostId: '请输入主播id',
selectAll: '全部',
query: '查询',
export: '导出Excel数据',
hostId: '主播id',
grade: '等级',
country: '国家',
creationTime: '创建时间',
anchorcoins: '主播金币',
yesterdayGoldCoins: '昨日金币',
fansNum: '粉丝数',
followersNum: '关注数',
onlineFans: '在线粉丝',
anchorType: '主播类型',
min: '最小值',
max: '最大值',
placeMin: '请输入最小值',
placeMax: '请输入最大值',
sort: '排序',
sortType: '排序方式',
ascending: '升序',
descending: '降序',
reset: '重置',
sure: '确定',
invitationType: '邀请类型',
invitationType1: '普票',
invitationType2: '金票',
liveSessions: '直播场次',
viewSessions: '查看场次',
liveRevenue: '直播收益',
viewRevenue: '查看收益',
revenueHost: '主播',
todayRevenueUsd: '今日收益(美元)',
totalRevenueUsd: '总收益(美元)',
liveDays: '直播天数',
historyRevenueUsd: '历史收益(美元)',
revenueHigh: '高',
revenueLow: '低',
revenueTime: '时间',
close: '关闭',
selectPlaceholder: '请选择',
},
hostsList: {
filterPrivateUsers: '过滤隐私用户',
minCoins: '最小金币',
maxCoins: '最大金币',
minLevel: '最小等级',
maxLevel: '最大等级',
specifiedRooms: '已指定直播间',
specifyRooms: '指定直播间',
total: '总数',
valid: '有效数',
reset: '重置',
start: '开始',
end: '结束',
selectCountry: '选择国家',
bigBrotherId: '大哥id',
search: '查询',
exportExcel: '导出Excel数据',
moreFilters: '更多筛选',
openTikTok: '打开 TikTok 登录',
currentNetwork: '当前网络',
runningTime: '运行时间',
id: 'Id',
hostId: '所在直播间主播id',
time: '时间',
startTime: '开始时间',
endTime: '结束时间',
selectTime: '选择查询时间',
minValue: '最小值',
maxValue: '最大值',
enterMinValue: '请输入最小值',
enterMaxValue: '请输入最大值',
sort: '排序',
sortType: '排序类型',
sortOrder: '升序/降序',
pleaseSelect: '请选择',
ascending: '升序',
descending: '降序',
confirm: '确认',
cancel: '取消',
cancelSpecify: '取消指定直播间',
specifyReset: '重置',
specifyConfirm: '确认',
specifyStart: '开始',
networkFailed: '网络连接失败,无法访问网络,请查看网络设置。',
enterRoomIds: '请输入直播间id多个id用回车键隔开最多50条',
userId: '用户id',
level: '等级',
fansLevel: '粉丝团等级',
coins: '打赏的金币',
totalGiftCoins: '打赏金币总和',
region: '地区',
followerCount: '粉丝数',
followingCount: '关注数',
createTime: '创建时间',
noContentToCopy: '无内容可复制',
copySuccess: '复制成功',
copyFailed: '复制失败',
pleaseEnterCountryName: '请输入要获取的国家',
getCountryFailed: '获取国家失败',
stopping: '正在停止...',
starting: '正在启动...',
enterRoomId: '请输入直播间id',
},
countries: {
AD: "安道尔", AE: "阿拉伯联合酋长国", AF: "阿富汗", AG: "安提瓜和巴布达", AI: "安圭拉", AL: "阿尔巴尼亚", AM: "亚美尼亚", AO: "安哥拉", AQ: "南极洲", AR: "阿根廷", AS: "美属萨摩亚", AT: "奥地利", AU: "澳大利亚", AU1: "澳大利亚", AW: "阿鲁巴", AX: "奥兰群岛", AZ: "阿塞拜疆",
BA: "波斯尼亚和黑塞哥维那", BB: "巴巴多斯", BD: "孟加拉国", BE: "比利时", BF: "布基纳法索", BG: "保加利亚", BH: "巴林", BI: "布隆迪", BJ: "贝宁", BL: "圣巴泰勒米", BM: "百慕大群岛", BN: "文莱达鲁萨兰国", BO: "玻利维亚", BQ: "博奈尔、圣尤斯特歇斯和萨巴", BR: "巴西", BS: "巴哈马", BT: "不丹", BV: "布韦岛", BW: "博茨瓦纳", BY: "白俄罗斯", BZ: "伯利兹",
CA: "加拿大", CA1: "加拿大", CC: "科科斯(基林)群岛", CD: "刚果民主共和国", CF: "中非共和国", CG: "刚果共和国", CH: "瑞士", CI: "科特迪瓦", CK: "库克群岛", CL: "智利", CM: "喀麦隆", CN: "中国", CO: "哥伦比亚", CR: "哥斯达黎加", CU: "古巴", CV: "佛得角", CW: "库拉索", CX: "圣诞岛", CY: "塞浦路斯", CZ: "捷克共和国",
DE: "德国", DG: "迪戈加西亚岛", DJ: "吉布提", DK: "丹麦", DM: "多米尼克", DO: "多米尼加共和国", DZ: "阿尔及利亚", EC: "厄瓜多尔", EE: "爱沙尼亚", EG: "埃及", EH: "西撒哈拉", ER: "厄立特里亚", ES: "西班牙", ET: "埃塞俄比亚", FI: "芬兰", FJ: "斐济", FK: "福克兰群岛", FM: "密克罗尼西亚", FO: "法罗群岛", FR: "法国",
GA: "加蓬", GB: "英国", GD: "格林纳达", GE: "格鲁吉亚", GF: "法属圭亚那", GG: "根西岛", GH: "加纳", GI: "直布罗陀", GL: "格陵兰", GM: "冈比亚", GN: "几内亚", GP: "瓜德罗普", GQ: "赤道几内亚", GR: "希腊", GS: "南乔治亚和南桑德威奇群岛", GT: "危地马拉", GU: "关岛", GW: "几内亚比绍", GY: "圭亚那",
HK: "中国香港特别行政区", HM: "赫德岛和麦克唐纳群岛", HN: "洪都拉斯", HR: "克罗地亚", HT: "海地", HU: "匈牙利", ID: "印度尼西亚", IE: "爱尔兰", IL: "以色列", IM: "马恩岛", IN: "印度", IO: "英属印度洋领地", IQ: "伊拉克", IR: "伊朗", IS: "冰岛", IT: "意大利",
JE: "泽西岛", JM: "牙买加", JO: "约旦", JP: "日本", JP1: "日本", KE: "肯尼亚", KG: "吉尔吉斯斯坦", KH: "柬埔寨", KI: "基里巴斯", KM: "科摩罗", KN: "圣基茨和尼维斯", KP: "朝鲜", KR: "韩国", KR1: "韩国", KW: "科威特", KY: "开曼群岛", KZ: "哈萨克斯坦",
LA: "老挝", LB: "黎巴嫩", LC: "圣卢西亚", LI: "列支敦士登", LK: "斯里兰卡", LR: "利比里亚", LS: "莱索托", LT: "立陶宛", LU: "卢森堡", LV: "拉脱维亚", LY: "利比亚", MA: "摩洛哥", MC: "摩纳哥", MD: "摩尔多瓦", ME: "黑山", MF: "圣马丁", MG: "马达加斯加", MH: "马绍尔群岛", MK: "北马其顿", ML: "马里", MM: "缅甸", MN: "蒙古", MO: "中国澳门特别行政区", MP: "北马里亚纳群岛", MQ: "马提尼克", MR: "毛里塔尼亚", MS: "蒙特塞拉特", MT: "马耳他", MU: "毛里求斯", MV: "马尔代夫", MW: "马拉维", MX: "墨西哥", MY: "马来西亚", MZ: "莫桑比克",
NA: "纳米比亚", NC: "新喀里多尼亚", NE: "尼日尔", NF: "诺福克岛", NG: "尼日利亚", NI: "尼加拉瓜", NL: "荷兰", NO: "挪威", NP: "尼泊尔", NR: "瑙鲁", NU: "纽埃", NZ: "新西兰", OM: "阿曼", PA: "巴拿马", PE: "秘鲁", PF: "法属玻利尼西亚", PG: "巴布亚新几内亚", PH: "菲律宾", PK: "巴基斯坦", PL: "波兰", PM: "圣皮埃尔和密克隆群岛", PN: "皮特凯恩群岛", PR: "波多黎各", PS: "巴勒斯坦", PT: "葡萄牙", PW: "帕劳", PY: "巴拉圭", QA: "卡塔尔", RE: "留尼汪", RO: "罗马尼亚", RS: "塞尔维亚", RU: "俄罗斯", RW: "卢旺达",
SA: "沙特阿拉伯", SB: "索罗门群岛", SC: "塞舌尔", SD: "苏丹", SE: "瑞典", SG: "新加坡", SI: "斯洛文尼亚", SJ: "斯瓦尔巴和扬马延", SK: "斯洛伐克", SL: "塞拉利昂", SM: "圣马利诺", SN: "塞内加尔", SO: "索马里", SR: "苏里南", SS: "南苏丹", ST: "圣多美和普林西比", SV: "萨尔瓦多", SX: "荷属圣马丁", SY: "叙利亚", SZ: "斯威士兰",
TC: "特克斯和凯科斯群岛", TD: "乍得", TF: "法属南部领地", TG: "多哥", TH: "泰国", TJ: "塔吉克斯坦", TK: "托克劳群岛", TL: "东帝汶", TM: "土库曼斯坦", TN: "突尼斯", TO: "汤加", TR: "土耳其", TT: "特立尼达和多巴哥", TV: "图瓦卢", TW: "台湾", TZ: "坦桑尼亚", UA: "乌克兰", UG: "乌干达", UM: "美国本土外小岛屿", US: "美国", UY: "乌拉圭", UZ: "乌兹别克斯坦",
VA: "梵蒂冈", VC: "圣文森特", VE: "委内瑞拉", VG: "英属维尔京群岛", VI: "美属维尔京群岛", VN: "越南", VN1: "越南", VU: "瓦努阿图", WS: "萨摩亚", YE: "也门", YT: "马约特岛", ZA: "南非", ZM: "赞比亚", ZW: "津巴布韦"
}
}