feat: add account deletion, announcements and subscription renewal
Support personal records and persistent smoking visibility. Add upload quota preflight, file cleanup, privacy entry, image caching and revision-based page refresh across the backend, admin and mini program.
This commit is contained in:
@@ -17,12 +17,12 @@ function withDataCache(definition, loaders) {
|
||||
const ttl = Math.min(...dependencies.map(action => cache.policies[action] || cache.TTL));
|
||||
if (previous && previous.signature === signature && previous.key === key) {
|
||||
if (previous.pending) return previous.pending;
|
||||
if (Date.now() - previous.time < ttl && !this.data.loadError && !this.data.homeError && !this.data.statsError && !this.data.bindingError && !this.data.commentsError) return Promise.resolve();
|
||||
if (Date.now() - previous.time < ttl && !this.data.loadError && !this.data.homeError && !this.data.statsError && !this.data.bindingError && !this.data.commentsError && !this.data.error && !this.data.smokingError) return Promise.resolve();
|
||||
}
|
||||
const record = { signature, key, time: 0 };
|
||||
this._dataLoads[name] = record;
|
||||
record.pending = Promise.resolve().then(() => load.apply(this, args)).then(result => {
|
||||
if (!this.data.loadError && !this.data.homeError && !this.data.statsError && !this.data.bindingError && !this.data.commentsError) {
|
||||
if (!this.data.loadError && !this.data.homeError && !this.data.statsError && !this.data.bindingError && !this.data.commentsError && !this.data.error && !this.data.smokingError) {
|
||||
record.time = Date.now();
|
||||
if (name !== 'loadComments') this._hasCachedData = true;
|
||||
}
|
||||
@@ -32,6 +32,9 @@ function withDataCache(definition, loaders) {
|
||||
return record.pending;
|
||||
};
|
||||
});
|
||||
definition.onDataChanged = function() {
|
||||
return Promise.all(Object.keys(loaders).map(name => this[name]())).catch(error => { console.warn('刷新变动数据失败', error); });
|
||||
};
|
||||
['onPullDownRefresh', 'onRefresh'].forEach(name => {
|
||||
const refresh = definition[name];
|
||||
if (refresh) definition[name] = function(...args) {
|
||||
|
||||
Reference in New Issue
Block a user