import { BaseNetWorkListViewModel } from "@core/base";
import { Goods } from "@shared/types";
import { NetworkPageData, NetworkResult } from "@core/network";
import { GoodsRepositoryImpl } from "../services/GoodsRepositoryImpl";
import { IGoodsRepository } from "../services/IGoodsRepository";
import { GoodsSearchRequest } from "../models/GoodsSearchRequest";
/**
* @file Network List Demo 示例页 ViewModel
* @author Joker.X
*/
@ObservedV2
export default class NetworkListDemoViewModel extends BaseNetWorkListViewModel<Goods> {
/**
* 商品仓库
*/
private repository: IGoodsRepository = new GoodsRepositoryImpl();
/**
* 请求商品分页数据
* @returns {Promise<NetworkResult<NetworkPageData<Goods>>>} 网络请求 Promise
*/
protected requestListData(): Promise<NetworkResult<NetworkPageData<Goods>>> {
const request: GoodsSearchRequest = new GoodsSearchRequest();
request.page = this.currentPage;
request.size = this.pageSize;
return this.repository.getGoodsPage(request);
}
}