feat: 添加缓存作用域支持多用户数据隔离
This commit is contained in:
Vendored
+28
@@ -0,0 +1,28 @@
|
||||
typedef CacheScopeProvider = String? Function();
|
||||
|
||||
class CacheScope {
|
||||
CacheScope._();
|
||||
|
||||
static CacheScopeProvider? _provider;
|
||||
|
||||
static void configureProvider(CacheScopeProvider provider) {
|
||||
_provider = provider;
|
||||
}
|
||||
|
||||
static void resetProvider() {
|
||||
_provider = null;
|
||||
}
|
||||
|
||||
static String token() {
|
||||
final raw = _provider?.call()?.trim();
|
||||
if (raw == null || raw.isEmpty) {
|
||||
return 'anonymous';
|
||||
}
|
||||
return raw;
|
||||
}
|
||||
|
||||
static String scopedKey(String key, {String? scopeToken}) {
|
||||
final scope = scopeToken ?? token();
|
||||
return 'cache:$scope:$key';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user