12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import { getQuestionInfoByIds, CollectionAndWrong } from "@/api";
- /**收藏与错题列表模型 */
- export class CollectionModel {
- private collectionApi;
- constructor(apiType: CollectionAndWrongType.type) {
- this.collectionApi = new CollectionAndWrong(apiType);
- }
- /**获取列表 */
- async getList(params: CollectionAndWrongType.ListParams): Promise<{
- total: number;
- rows: Test.QuestionInfo[];
- collectionList: CollectionAndWrongType.QuestionRes[];
- }> {
- const collectionListRes = await this.collectionApi.getList(params);
- if (collectionListRes.rows.length > 0) {
- const ids = collectionListRes.rows.map((item) => item.questionId);
- const questions = await getQuestionInfoByIds({
- ids,
- });
- return {
- total: collectionListRes.total,
- rows: questions.rows,
- collectionList: collectionListRes.rows,
- };
- } else {
- return {
- total: collectionListRes.total,
- rows: [],
- collectionList: collectionListRes.rows,
- };
- }
- }
- /** 删除已收藏的问题 */
- async deletes(ids: number[], collectionList: CollectionAndWrongType.QuestionRes[]) {
- const deletesCollectionList = collectionList.filter((item) => {
- return ids.includes(item.questionId);
- });
- const deletesIds = deletesCollectionList.map((item) => item.id);
- const res = await this.collectionApi.deletes(deletesIds);
- return res;
- }
- /** 新增收藏或者错题 */
- async adds(params: CollectionAndWrongType.AddCullectionsParams) {
- const res = await this.collectionApi.adds(params);
- return res.data;
- }
- }
|