|
|
@@ -1,22 +1,26 @@
|
|
|
import {createAsyncThunk} from "@reduxjs/toolkit";
|
|
|
-import {APP_PAGE_MODULES, APP_ROUTES, REQ_STATUS} from "@api/config";
|
|
|
+import {APP_GAME_LIST, APP_PAGE_MODULES, APP_ROUTES, REQ_STATUS} from "@api/config";
|
|
|
import Http from "@api/request";
|
|
|
+import {updateGameList} from "@features/pageSlice";
|
|
|
|
|
|
-export const buildReqReducer=(builder,thunk,callback)=>{
|
|
|
+export const buildReqReducer=(builder,thunk,callback,statusCB=null)=>{
|
|
|
if (builder==null||thunk==null)return;
|
|
|
builder
|
|
|
- .addCase(thunk.pending, (state) => {
|
|
|
+ .addCase(thunk.pending, (state,action) => {
|
|
|
//正在请求
|
|
|
- state.status=REQ_STATUS.LOADING;
|
|
|
+ // state.status=REQ_STATUS.LOADING;
|
|
|
+ if (statusCB)statusCB(state,REQ_STATUS.LOADING,action.meta.arg);
|
|
|
})
|
|
|
.addCase(thunk.fulfilled, (state, action) => {
|
|
|
//请求成功
|
|
|
- if (callback)callback(state,action);
|
|
|
- state.status=REQ_STATUS.IDLE;
|
|
|
+ if (statusCB)statusCB(state,REQ_STATUS.IDLE,action.meta.arg);
|
|
|
+ if (callback)callback(state,action,action.meta.arg);
|
|
|
+ // state.status=REQ_STATUS.IDLE;
|
|
|
})
|
|
|
- .addCase(thunk.rejected, (state) => {
|
|
|
+ .addCase(thunk.rejected, (state,action) => {
|
|
|
//请求失败
|
|
|
- state.status=REQ_STATUS.FAILED;
|
|
|
+ // state.status=REQ_STATUS.FAILED;
|
|
|
+ if (statusCB)statusCB(state,REQ_STATUS.FAILED,action.meta.arg);
|
|
|
});
|
|
|
}
|
|
|
//api
|
|
|
@@ -33,7 +37,22 @@ export const reqPageModules=createAsyncThunk(
|
|
|
APP_PAGE_MODULES,
|
|
|
async (pageID,thunkAPI) => {
|
|
|
const response = await Http.get({url:APP_PAGE_MODULES+"/"+pageID});
|
|
|
- if (response)response.pageID=pageID;
|
|
|
+ if (response){
|
|
|
+ response.pageID=pageID;
|
|
|
+ }
|
|
|
+ return response;
|
|
|
+ },
|
|
|
+)
|
|
|
+//gamelist more
|
|
|
+export const reqGameList=createAsyncThunk(
|
|
|
+ APP_GAME_LIST,
|
|
|
+ async (arg,thunkAPI) => {
|
|
|
+ const {mkey,tabtype,page}=arg;
|
|
|
+ // https://api.ouro777.com/game/gameList/?type=2&page=2
|
|
|
+ const url=APP_GAME_LIST+"?type="+tabtype+"&page="+page;
|
|
|
+ const response = await Http.get({url:url});
|
|
|
+ if (response)response.mkey=mkey;
|
|
|
+ thunkAPI.dispatch(updateGameList(response));
|
|
|
return response;
|
|
|
},
|
|
|
)
|