decode static method
解码给定的字符串值。
参数:
- value: 待解码的字符串值。如果值为null,则直接返回null。
返回:
- 解码后的字符串值,如果解码失败或输入无效则返回null。
Implementation
static String? decode(String? value) {
// 检查输入值是否为null,如果是则直接返回null。
if (value == null) {
return null;
}
// 尝试将输入值解析为数值。
num? numValue = num.tryParse(value);
// 尝试将当前用户的ID解析为数值,如果解析失败则返回null。
num? userIdValue = num.tryParse(RuntimeUtils.currentUser?.userId ?? "");
// 如果输入值或用户ID无法解析为数值,则返回null。
if (numValue == null || userIdValue == null) {
return null;
}
// 计算解码后的结果。
var result = numValue - userIdValue;
// 如果输入值大于偏移量,则在结果中减去偏移量以得到最终的解码值。
if (numValue > _offset) {
return "${result - _offset}";
}
// 如果输入值不大于偏移量,则直接返回计算结果。
return "${numValue - userIdValue}";
}