95 lines
2.4 KiB
TypeScript
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);
|
|
});
|
|
}
|
|
}
|
|
|
|
|