我正在处理30分钟不活动后会话超时的应用程序。我有一个新的要求,即弹出一条消息,询问用户是否要保持会话活动状态,这需要几分钟,然后用户才能自动注销。
现在,我以一种非常非传统的方式来管理会议,我需要尝试使用已经存在的内容。应用模块使用了一项服务context.service(称为提供程序)使用了一项服务,该服务使用setTimeout来确定30分钟的不活动时间已到期。
鉴于我需要访问该倒计时,因此我想创建一个镜像超时,该超时将提前2分钟执行并触发模式,询问用户是否要保持会话打开。注入I 后NgbModal,ContextService我收到一个循环参考错误,这似乎很合理。尝试使用提供程序在DOM上填充模式似乎有点疯狂,但是我不确定什么是可行的选择。
这是当前状态(存在循环参考错误):
// ...
import { SessionExpirationWarning } from '../components/session-expiration-warning/session-expiration-warning.component';
// ....
constructor(
private _http: HttpClient,
private _injector: Injector,
private modalSvc: NgbModal
) {
// ...
}
// ...
setSessionTimeout() {
if (this.appConfig === null) { return; }
clearTimeout(this._timeoutId);
clearTimeout(this.timeoutWarning);
const sessionTimeOutConfig = this.appConfig.SessionTimeoutMinutes;
const SessionTimeoutMinutes = sessionTimeOutConfig === undefined ? 5 : sessionTimeOutConfig;
const sessionWarningMinutes = 2;
this._timeoutId = setTimeout(() => {
this.sessionExpired();
}, SessionTimeoutMinutes * (60 * 1000));
this.timeoutWarning …Run Code Online (Sandbox Code Playgroud) 我正在汇总文件index.ts。当我尝试从index.ts对象导入时,该对象将返回未定义状态。当我尝试直接从文件导入时,它可以正常工作。我不确定自己在做什么错-我的印象是export { ... } from '...'应该可以在带有TypeScript的Node中正常工作(此应用就是这种情况)。
fileThatUsesTheExportedVariables.ts
import { dates } from '../consts' // Undefined
import { dates } from '../consts/index' // Undefined
import { dates } from '../consts/dates' // Works
Run Code Online (Sandbox Code Playgroud)
consts / index.ts
export { dates } from './dates'
// ...
export { someNamedExport } from './someFile'
Run Code Online (Sandbox Code Playgroud)
consts / dates.ts
const months = {
// some months stuff
}
export const dates = {
months,
// ...
someOtherChildObject
}
Run Code Online (Sandbox Code Playgroud)
我想我在做傻事。VS Code可以将点连接起来,这更加令人沮丧。
预先感谢您提供的所有帮助
更新: …