import {
LocalOperateCategory,
LocalSettingData,
LocalUnlockMethodData,
LogData,
} from '@ray-js/lock-sdk';
const getLocalOperationText = (log: LogData) => {
if (!log.localRecord) {
return Strings.getLang('unkownLocalOperation');
}
const { category, userId, userType, toUserType, toUserId } = log.localRecord;
switch (category) {
case LocalOperateCategory.DELETE_UNLOCK_METHOD: {
const { unlockMethod, unlockId, isRemoveAll } = log.localRecord as LocalUnlockMethodData;
if (isRemoveAll) {
return Strings.formatValue(
'localDeleteAllUnlockMethod',
Strings.getLang(`localUser${userType}`),
userId,
Strings.getLang(`localUser${toUserType}`),
toUserId,
Strings.getLang(unlockMethod)
);
}
return Strings.formatValue(
'deleteUnlockMethod',
Strings.getLang(`localUser${userType}`),
userId,
Strings.getLang(`localUser${toUserType}`),
toUserId,
Strings.getLang(unlockMethod),
unlockId
);
}
case LocalOperateCategory.ADD_UNLOCK_METHOD: {
const { unlockMethod, unlockId } = log.localRecord as LocalUnlockMethodData;
return Strings.formatValue(
'localAddUnlockMethod',
Strings.getLang(`localUser${userType}`),
userId,
Strings.getLang(`localUser${toUserType}`),
toUserId,
Strings.getLang(unlockMethod),
unlockId
);
}
case LocalOperateCategory.MODIFY_UNLOCK_METHOD: {
const { unlockMethod, unlockId } = log.localRecord as LocalUnlockMethodData;
return Strings.formatValue(
'localModifyUnlockMethod',
Strings.getLang(`localUser${userType}`),
userId,
Strings.getLang(`localUser${toUserType}`),
toUserId,
Strings.getLang(unlockMethod),
unlockId
);
}
case LocalOperateCategory.ADD_USER:
return Strings.formatValue(
'localAddUser',
Strings.getLang(`localUser${userType}`),
userId,
Strings.getLang(`localUser${toUserType}`),
toUserId
);
case LocalOperateCategory.DELETE_USER:
return Strings.formatValue(
'localDeleteUser',
Strings.getLang(`localUser${userType}`),
userId,
Strings.getLang(`localUser${toUserType}`),
toUserId
);
case LocalOperateCategory.SETTING: {
const { type, data } = log.localRecord as LocalSettingData;
/**
* 配置性数据多语言 key 规则:
* 名称 key: localSetting_{type};
* 值 key: localSetting_{type}_{data};
*/
if (typeof data === 'number') {
return Strings.formatValue(
'localSetting',
Strings.getLang(`localUser${userType}`),
userId,
// @ts-expect-error
Strings.getLang(`localSetting_${type}`),
// @ts-expect-error
Strings.getLang(`localSetting_${type}_${data}`)
);
}
return Strings.formatValue(
'localSetting1',
Strings.getLang(`localUser${userType}`),
userId,
// @ts-expect-error
Strings.getLang(`localSetting_${type}`)
);
}
default:
return Strings.getLang('unkownLocalOperation');
}
};