/*
* @File     : book.js
* @Author   : jade
* @Date     : 2024/1/30 17:01
* @Email    : jadehh@1ive.com
* @Software : Samples
* @Desc     :
*/
export class BookShort {

    constructor() {
        this.book_id = ""        //id
        this.book_name = ""      //名称
        this.book_pic = ""   //图片
        this.book_remarks = ""  //备注
    }

    to_dict() {
        return JSON.stringify(this);
    }

    load_dic(json_str) {
        let obj = JSON.parse(json_str)
        for (let propName in obj) {
            this[propName] = obj[propName];
        }

    }
}

export class BookDetail extends BookShort {
    /**
     *         let book = {
     *             book_name: $('[property$=book_name]')[0].attribs.content,
     *             book_year: $('[property$=update_time]')[0].attribs.content,
     *             book_director: $('[property$=author]')[0].attribs.content,
     *             book_content: $('[property$=description]')[0].attribs.content,
     *         };
     *         $ = await this.getHtml(this.siteUrl + id + `list.html`);
     *         let urls = [];
     *         const links = $('dl>dd>a[href*="/html/"]');
     *         for (const l of links) {
     *             const name = $(l).text().trim();
     *             const link = l.attribs.href;
     *             urls.push(name + '$' + link);
     *         }
     *         book.volumes = '全卷';
     *         book.urls = urls.join('#');
     *         return book
     * */
    constructor() {
        super();
        this.book_year = ""
        this.book_director = ""
        this.book_content = ""
        this.volumes = ""
        this.urls = ""
    }

    to_short() {
        let bookShort = new BookShort()
        bookShort.load_dic(this.to_dict())
        return bookShort.to_dict()
    }

    load_dic(json_str) {
        let obj = JSON.parse(json_str)
        for (let propName in obj) {
            this[propName] = obj[propName];
            console.log(propName);//打印👉属性名-->name  age  gender  address
        }
    }
}