| 123456789101112131415161718192021222324252627282930313233343536 |
- import {
- ApplicationConfig,
- ErrorHandler,
- provideBrowserGlobalErrorListeners,
- provideZoneChangeDetection,
- } from '@angular/core';
- import { provideHttpClient } from '@angular/common/http';
- import { provideRouter, withInMemoryScrolling } from '@angular/router';
- import { provideMarkdown } from 'ngx-markdown';
- import { provideFmodeApi } from './core/api/api.provider';
- import { AppErrorHandler } from './core/app-error-handler';
- import { routes } from './app.routes';
- export const appConfig: ApplicationConfig = {
- providers: [
- provideBrowserGlobalErrorListeners(),
- /*
- * 全局错误处理:只静音「预期内的请求取消」(Matrix SDK 的 AbortError),
- * 其余错误照常打印。见 `core/app-error-handler.ts`。
- */
- { provide: ErrorHandler, useClass: AppErrorHandler },
- provideZoneChangeDetection({ eventCoalescing: true }),
- provideRouter(
- routes,
- // 滚动行为:前进回顶部,后退/前进保留位置。
- // 移动端「列表 ↔ 详情」返回保持位置由页面自身配合(AC-05.2)。
- withInMemoryScrolling({ scrollPositionRestoration: 'enabled', anchorScrolling: 'disabled' }),
- ),
- // 🔴 数据源单开关:MockApi(演示) / ParseApi(真实)
- provideFmodeApi(),
- // markdown 渲染(消息正文 / 附件预览)—— ngx-markdown 需要 HttpClient
- provideHttpClient(),
- provideMarkdown(),
- ],
- };
|