tab2.page.ts 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. import { CommonModule } from '@angular/common';
  2. import { ChangeDetectorRef, Component } from '@angular/core';
  3. import { IonHeader, IonToolbar, IonTitle, IonContent, IonItem, IonCardContent, IonCardSubtitle, IonCardTitle, IonCardHeader, IonCard } from '@ionic/angular/standalone';
  4. import { IonTextarea, IonButton } from "@ionic/angular/standalone";
  5. import { DalleOptions, ImagineWork } from 'fmode-ng';
  6. // 引用设计的对象类和查询类
  7. import { CloudObject, CloudQuery } from 'src/lib/ncloud';
  8. import { RecommendationService } from 'src/lib/recommend';
  9. import { CloudUser } from 'src/lib/ncloud';
  10. import { openUserLoginModal } from 'src/lib/user/modal-user-login/modal-user-login.component';
  11. import { ModalController } from '@ionic/angular/standalone';
  12. import { Router } from '@angular/router';
  13. @Component({
  14. selector: 'app-tab2',
  15. templateUrl: 'tab2.page.html',
  16. styleUrls: ['tab2.page.scss'],
  17. standalone: true,
  18. imports: [
  19. IonHeader, IonToolbar, IonTitle, IonContent, IonCard,
  20. IonButton,IonCardTitle,IonCardHeader,IonCardHeader,
  21. IonTextarea,IonItem,CommonModule,IonCardContent,IonCardSubtitle
  22. ],
  23. })
  24. export class Tab2Page {
  25. userPrompt:string = "飞码产品LOGO,独角兽头部形象,极简风格,棱角分明,线条勾勒,蓝色紫色搭配。"
  26. ngOnInit() {
  27. // 生命周期:页面加载后,运行医生列表加载函数
  28. this.loadPerferList()
  29. }
  30. // 创建用于数据列表存储的属性
  31. perferList:Array<any> = []
  32. // 查询并加载偏好物品列表的函数
  33. async loadPerferList(){
  34. let recommendationService=new RecommendationService();
  35. let result=recommendationService.getItemRecommendations('266024222614683648', 2);
  36. this.perferList = await result;
  37. }
  38. promptInput(ev:any){
  39. this.userPrompt = ev.detail.value;
  40. }
  41. imagineWork:ImagineWork|undefined
  42. images:Array<string> = []
  43. constructor(
  44. private cdRef:ChangeDetectorRef,
  45. private modalCtrl: ModalController,
  46. private router:Router,
  47. ){
  48. // 示例任务,自己生成图片后请存储新的ID
  49. this.imagineWork = new ImagineWork("lpJGiFwWeA");
  50. this.imagineWork.fetchTask().then(work=>{
  51. this.images = this.imagineWork?.images || [];
  52. })
  53. this.currentUser = new CloudUser();
  54. }
  55. async createImage(){
  56. this.imagineWork = new ImagineWork();
  57. let options:DalleOptions = {prompt:this.userPrompt}
  58. this.imagineWork.draw(options).subscribe(work=>{
  59. console.log("imagineWork",work?.toJSON())
  60. console.log("images",work?.get("images"))
  61. if(work?.get("images")?.length){
  62. this.images = work?.get("images");
  63. }
  64. })
  65. }
  66. currentUser:CloudUser|undefined
  67. async login(){
  68. //弹窗登录
  69. let user=await openUserLoginModal(this.modalCtrl);
  70. if(user?.id){
  71. this.currentUser = user;
  72. }
  73. }
  74. async signup(){
  75. //弹窗注册
  76. let user=await openUserLoginModal(this.modalCtrl,"signup");
  77. if(user?.id){
  78. this.currentUser = user;
  79. }
  80. }
  81. logout(){
  82. this.currentUser?.logout();
  83. }
  84. editUser(){
  85. }
  86. gosendpost(){
  87. this.router.navigate(['sendpost']);
  88. }
  89. gopost(){
  90. this.router.navigate(['post']);
  91. }
  92. }