✨ feat(battle): 添加录像上传接口
This commit is contained in:
49
shared/pubUtils/battleUtils.ts
Normal file
49
shared/pubUtils/battleUtils.ts
Normal file
@@ -0,0 +1,49 @@
|
||||
import * as crc from 'crc';
|
||||
import { md5 } from './sdkUtil';
|
||||
|
||||
const BATTLE_CLASS_MOD = 100; // 存档分类模数
|
||||
const CDN_URL_PREFIX_SQ = 'https://download-sgzzyz.yev242.com'; // sq cdn 服务器地址前缀
|
||||
const CDN_URL_PREFIX_ZYZ = 'http://zyz-download.trgame.cn'; // 公司下载服务器地址前缀
|
||||
|
||||
// 将字符串 crc32 处理后取模,以将随机字符串分组
|
||||
function modStr(str: string, mod: number) {
|
||||
if (typeof(str) !== 'string' || typeof(mod) !== 'number') return undefined;
|
||||
return crc.crc32(str) % mod;
|
||||
}
|
||||
|
||||
function getPrefixByEnv(env: string) {
|
||||
switch (env) {
|
||||
case 'dev':
|
||||
case 'monitor':
|
||||
case 'alpha':
|
||||
case 'stable':
|
||||
return CDN_URL_PREFIX_ZYZ;
|
||||
case 'sq1':
|
||||
case 'sq4':
|
||||
default:
|
||||
return CDN_URL_PREFIX_SQ;
|
||||
}
|
||||
}
|
||||
|
||||
export function getLocalRplUrl(roleId: string, warType: number, battleCode: string) {
|
||||
const battleClass = modStr(battleCode, BATTLE_CLASS_MOD); // 将存档文件按一定规则分批保存
|
||||
const writePath = `/zyz_logs/rpls/${roleId}/${warType}/${battleClass}`;
|
||||
return writePath;
|
||||
}
|
||||
|
||||
export function getRemoteRplUrl(env: string, roleId: string, warType: number, battleCode: string) {
|
||||
const battleClass = modStr(battleCode, BATTLE_CLASS_MOD); // 将存档文件按一定规则分批保存
|
||||
const rplUrl = `${getPrefixByEnv(env)}/rpls/${md5(env).substring(0, 4)}/${roleId}/${warType}/${battleClass}`;
|
||||
return rplUrl;
|
||||
}
|
||||
|
||||
export function getRemoteRplPrefix(env: string) {
|
||||
const rplUrl = `${getPrefixByEnv(env)}/rpls/${md5(env).substring(0, 4)}`;
|
||||
return rplUrl;
|
||||
}
|
||||
|
||||
export function getRemoteRplFilePath(roleId: string, warType: number, battleCode: string) {
|
||||
const battleClass = modStr(battleCode, BATTLE_CLASS_MOD); // 将存档文件按一定规则分批保存
|
||||
const rplUrl = `/${roleId}/${warType}/${battleClass}/${battleCode}.bin`;
|
||||
return rplUrl;
|
||||
}
|
||||
Reference in New Issue
Block a user