123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import { CommonModule } from '@angular/common';
- import { Component, OnInit } from '@angular/core';
- import { ActivatedRoute } from '@angular/router';
- import { CloudObject, CloudQuery } from 'src/lib/ncloud';
- import {
- IonHeader, IonToolbar, IonTitle, IonContent, IonButtons,
- IonBackButton, IonCard, IonCardHeader, IonCardTitle,
- IonCardSubtitle, IonCardContent, IonChip, IonLabel,
- IonIcon, IonButton, IonImg, IonSpinner, NavController
- } from '@ionic/angular/standalone';
- import { addIcons } from 'ionicons';
- import {
- star, downloadOutline, createOutline, bookmarkOutline,
- documentTextOutline, timeOutline, fileTrayOutline,
- pricetagsOutline, shareSocialOutline
- } from 'ionicons/icons';
- @Component({
- selector: 'app-page-book-display',
- templateUrl: './page-book-display.component.html',
- styleUrls: ['./page-book-display.component.scss'],
- standalone: true,
- imports: [
- CommonModule,
- IonHeader, IonToolbar, IonTitle, IonContent, IonButtons,
- IonBackButton, IonCard, IonCardHeader, IonCardTitle,
- IonCardSubtitle, IonCardContent, IonChip, IonLabel,
- IonIcon, IonButton, IonImg, IonSpinner
- ]
- })
- export class PageBookDisplayComponent implements OnInit {
- book: CloudObject | undefined | null;
- constructor(
- private route: ActivatedRoute,
- private navCtrl: NavController
- ) {
- addIcons({
- star, downloadOutline, createOutline, bookmarkOutline,
- documentTextOutline, timeOutline, fileTrayOutline,
- pricetagsOutline, shareSocialOutline
- });
-
- this.route.params.subscribe(params => {
- this.loadBook(params['bookId']);
- });
- }
- //返回
- back() {
- this.navCtrl.back();
- }
- //加载文书
- async loadBook(bookId: string) {
- let query = new CloudQuery("DocumentCategory");
- this.book = await query.get(bookId);
- }
- // 为标签生成随机颜色
- getTagColor(tag: string): string {
- const colors = ['primary', 'secondary', 'tertiary', 'success', 'warning', 'danger'];
- const index = Math.abs(this.hashCode(tag)) % colors.length;
- return colors[index];
- }
- // 简单的字符串hash函数
- private hashCode(str: string): number {
- let hash = 0;
- for (let i = 0; i < str.length; i++) {
- const char = str.charCodeAt(i);
- hash = ((hash << 5) - hash) + char;
- hash |= 0; // Convert to 32bit integer
- }
- return hash;
- }
- ngOnInit() {}
- }
|