diff --git a/src/api/api.js b/src/api/api.js index e5ffb5a..9358e99 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -34,7 +34,7 @@ export const EXAMINATION_QUERYEXAMINATIONDETAILBYID = '/examination/queryExamina export const DISCUSS_COLLECTION = '/discussSubmit/clickDiscussCollectionCountOr post' export const DISCUSS_LIKE = '/discussSubmit/clickDiscussLikeCountOr post' export const DISCUSS_LIST = '/discussSubmit/list' -export const DISCUSS_DETAIL = '/discuss/getDiscussDetail' +export const DISCUSS_DETAIL = '/discussSubmit/detail' export const DISCUSS_SUBMIT_REVIEW_LIST = '/discussSubmit/queryDiscussSubmitAndReview' export const COMMENT_LIST = '/comment/list' diff --git a/src/api/request.js b/src/api/request.js index 689d18b..bfe5eb0 100644 --- a/src/api/request.js +++ b/src/api/request.js @@ -1,28 +1,64 @@ import router from "@/router"; -import {ref, watch} from "vue"; +import {reactive, ref, toRefs, watch} from "vue"; import axios from 'axios'; +export function usePage(_url, param) { + + const state = reactive({ + data: {}, + loading: false, + total: 0, + size: 10, + current: 1, + params: {pageNo: 1, pageSize: 10, ...param} + }) + + watch(param, () => { + state.params = {...state.params, ...param} + fetchData() + }) + + function fetchData() { + state.loading = true + request(_url, state.params).then(r => { + state.params.pageNo === 1 ? (state.data = r.data.records) : (state.data = [...state.data, ...r.data.records]) + state.size = r.data.size + state.total = r.data.total + state.current = r.data.current + state.loading = false + }) + } + + fetchData() + return { + ...toRefs(state), + fetchData, + }; +} + export function useRequest(_url, params = {}) { - const data = ref({}) - const loading = ref(false) + const state = reactive({ + data: {}, + loading: false, + + }) watch(params, () => { fetchData() }) function fetchData() { - loading.value = true + state.loading = true request(_url, params).then(r => { - data.value = r.data - loading.value = false + state.data = r.data + state.loading = false }) } fetchData() return { - data, - loading, + ...toRefs(state), fetchData, }; } diff --git a/src/views/discuss/DiscussPage.vue b/src/views/discuss/DiscussPage.vue index 3fdd151..68bcbd9 100644 --- a/src/views/discuss/DiscussPage.vue +++ b/src/views/discuss/DiscussPage.vue @@ -39,21 +39,18 @@