Files
jambotron/jambotron-ui/src/app/modules/ai-module/generate-image.component/generate-image.component.ts
T

95 lines
2.4 KiB
TypeScript

import {Component, CUSTOM_ELEMENTS_SCHEMA, inject} from '@angular/core';
import {AsyncPipe} from "@angular/common";
import {FormsModule} from "@angular/forms";
import {MatButton, MatMiniFabButton} from "@angular/material/button";
import {
MatCard,
MatCardActions,
MatCardContent,
MatCardHeader
} from "@angular/material/card";
import {MatFormField, MatInput, MatLabel} from "@angular/material/input";
import {Image} from '../../../models/image';
import {ZhipuaiImageService} from '../zhipuai-image.service';
import {SpinnerService} from '../../../services/spinner.service';
import {MatProgressSpinner} from '@angular/material/progress-spinner';
import {MatToolbar, MatToolbarRow} from '@angular/material/toolbar';
import {MatIcon} from '@angular/material/icon';
import {MatTooltip} from '@angular/material/tooltip';
import {TokenStorageService} from '../../../services/token-storage.service';
import {UserApiService} from '../../user-module/user-api.service';
@Component({
selector: 'app-generate-image.component',
imports: [
AsyncPipe,
FormsModule,
MatButton,
MatCard,
MatCardActions,
MatCardContent,
MatCardHeader,
MatFormField,
MatInput,
MatLabel,
MatProgressSpinner,
MatToolbarRow,
MatToolbar,
MatIcon,
MatMiniFabButton,
MatTooltip,
],
templateUrl: './generate-image.component.html',
styleUrl: './generate-image.component.scss',
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class GenerateImageComponent {
query : string = '';
images: Image[] = [];
image: Image = {
url: ''
};
isLoggedIn = false;
private storageService: TokenStorageService = inject(TokenStorageService);
constructor(
private zhipuaiImageService: ZhipuaiImageService,
public spinnerService: SpinnerService,
private userApiService:UserApiService
) {
this.isLoggedIn = this.storageService.isLoggedIn();
}
generateImage(){
this.zhipuaiImageService.generate(this.query).subscribe(
data => {
this.image = data;
this.images.unshift(this.image);
// this.output.file = data.;
console.log(data);
},
error => {
console.log(error);
}
)
}
save(url: string | undefined) {
let requestUrl:string = url?url:"";
console.log(requestUrl);
this.userApiService.saveZhipuaiImage(requestUrl).subscribe(data =>{
console.log(data);
},error =>{
console.log(error);
});
}
}