Используется бэк, который лежит в отдельном от приложения Angular контейнере.
Первая ошибка. Если использовать приложение с вьювером и дизайнером, которое предоставляется в примере на github, то при вызове дизайнера кнопкой вьювера вываливается вот такая ошибка
{"headers":{"normalizedNames":{},"lazyUpdate":null,"headers":{}},"status":0,"statusText":"Unknown Error","url":"http://kube01.yc.ru/zif-reporting-sts/a ... age":"Http failure response for "http://kube01.yc.ru/zif-reporting-sts/a ... 807aae0b17: 0 Unknown Error","error":{"isTrusted":true}}
при этом в консоли видно, что https заменяется на http при запросе ресурсов, хотя указан URL к сервису с сипользованием SSL. Приложение само запускается с использованием https. Возможно есть какие-то настройки, которые меняют это поведение? Дальше, если запустить приложение без использования http, то сам скрипт дизайнера загружается, а дальше, при запросе ресурсов возникает ошибка CORS при внутреннем редиректе.
Вторая ошибка
При встраивании компонента дизайнера в Single SPA приложение, после инициализации в консоль браузера выводится ошибка Blockly is not defined. При этом дизайнер не работает.
непонятные ошибки при работе с Angular дизайнером
-
- Сообщения: 4
- Зарегистрирован: 29 ноя 2023, 16:13
-
- Сообщения: 4
- Зарегистрирован: 29 ноя 2023, 16:13
Re: непонятные ошибки при работе с Angular дизайнером
Проблема с http решилась добавлением в методы контроллера строки this.HttpContext.Request.Scheme = "https";
Re: непонятные ошибки при работе с Angular дизайнером
Здравствуйте.
1. Для настройки CORS можно использовать например метод (как в примерах) : app.UseCors(builder => builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod());
2. Какой пример вы используете? (возможно из-за CORS не получается загрузить ресурсы для дизайнера)
1. Для настройки CORS можно использовать например метод (как в примерах) : app.UseCors(builder => builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod());
2. Какой пример вы используете? (возможно из-за CORS не получается загрузить ресурсы для дизайнера)
-
- Сообщения: 4
- Зарегистрирован: 29 ноя 2023, 16:13
Re: непонятные ошибки при работе с Angular дизайнером
Здравствуйте,
с CORS все порешали, там была проблема именно в схеме HttpContext на бэке.
По Blockly, при встраивании компонента дизайнера в SPA (библиотека Single-SPA) без iframe возникает ошибка "Blockly is not defined", после инициализации дизайнера и скачивания скрипта. Наши исследования показали, что, если поместить компонент дизайнера в iframe, то ошибка не возникает. На наш взгляд, использования iframe не является правильным подходом.
Пример кода встраивания компонента:
Пример встраивания в Single-SPA:
с CORS все порешали, там была проблема именно в схеме HttpContext на бэке.
По Blockly, при встраивании компонента дизайнера в SPA (библиотека Single-SPA) без iframe возникает ошибка "Blockly is not defined", после инициализации дизайнера и скачивания скрипта. Наши исследования показали, что, если поместить компонент дизайнера в iframe, то ошибка не возникает. На наш взгляд, использования iframe не является правильным подходом.
Пример кода встраивания компонента:
Код: Выделить всё
@NgModule({
imports: [...ReportStsComponent]
}) export class AppModule
@Component({
selector: 'report-book-sts',
templateUrl: './report-book-sts.component.html',
styleUrls: ['./report-book-sts.component.less'],
standalone: true,
imports: [
CommonModule,
...,
StimulsoftViewerModule,
StimulsoftDesignerModule,
],
providers: [...],
})
export class ReportStsComponent {
@ViewChild('stsDesigner')
private designer: StimulsoftDesignerComponent | undefined;
@ViewChild('stsViewer')
private viewer: StimulsoftViewerComponent | undefined;
...
}
// html
<ng-container *ngIf="reportId">
<stimulsoft-designer-angular
#stsDesigner
*ngIf="viewMode === 'editor'"
[requestUrl]="designerRequestUrl"
[height]="'100%'"
[width]="'100%'"
(designerLoaded)="stsDesigner.designerEl.nativeElement.style.height='100%'; designerLoaded()"
class="report-book-sts__designer"
></stimulsoft-designer-angular>
<stimulsoft-viewer-angular
#stsViewer
*ngIf="viewMode === 'viewer'"
[requestUrl]="viewerRequestUrl"
[action]="'InitViewer'"
[properties]="properties"
[height]="'100%'"
[width]="'100%'"
(loaded)="viewerLoaded()"
(error)="viewerError()"
(design)="changeViewMode('editor')"
class="report-book-sts__viewer"
></stimulsoft-viewer-angular>
</ng-container>
Код: Выделить всё
const lifecycles = singleSpaAngular({
bootstrapFunction: singleSpaProps => {
singleSpaPropsSubject.next(singleSpaProps);
return platformBrowserDynamic(getSingleSpaExtraProviders()).bootstrapModule(AppModule);
},
template: '<rpe-root />',
Router,
NavigationStart,
NgZone,
});
Re: непонятные ошибки при работе с Angular дизайнером
Здравствуйте.
Вы можете посмотреть: без iFrame возможно некоторые запросы блокируются? в консоле есть ошибки?
Вы можете посмотреть: без iFrame возможно некоторые запросы блокируются? в консоле есть ошибки?