| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- import {createAsyncThunk} from "@reduxjs/toolkit";
- import {
- APP_GAME_LIST,
- APP_LOGIN,
- APP_LOGOUT,
- APP_PAGE_MODULES,
- APP_REGISTER,
- APP_ROUTES,
- REQ_STATUS
- } from "@api/config";
- import Http from "@api/request";
- import {updateGameList} from "@features/pageSlice";
- export const buildReqReducer=(builder,thunk,callback,statusCB=null)=>{
- if (builder==null||thunk==null)return;
- builder
- .addCase(thunk.pending, (state,action) => {
- //正在请求
- // state.status=REQ_STATUS.LOADING;
- if (statusCB)statusCB(state,REQ_STATUS.LOADING,action.meta.arg);
- })
- .addCase(thunk.fulfilled, (state, action) => {
- //请求成功
- 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,action) => {
- //请求失败
- // state.status=REQ_STATUS.FAILED;
- if (statusCB)statusCB(state,REQ_STATUS.FAILED,action.meta.arg);
- });
- }
- //api
- //路由
- export const reqGetRoutes = createAsyncThunk(
- APP_ROUTES,
- async (thunkAPI) => {
- const response = await Http.get({url:APP_ROUTES})
- return response;
- },
- )
- //page 信息 pageID 为路由ID
- 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;
- }
- 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;
- },
- )
- //login
- export const reqLogin=createAsyncThunk(
- APP_LOGIN,
- async (arg,thunkAPI)=>{
- //https://api.ouro777.com/game/login?country=55&account=12345678911&password=123456
- let lang=global.i18n.getCurrLang();
- let data={
- country:arg.country,
- account:arg.account,
- password:arg.password,
- lang:lang
- }
- let params={
- url:APP_LOGIN,
- data:data
- }
- const response = await Http.post(params);
- return response;
- },
- )
- //register
- export const reqRegister=createAsyncThunk(
- APP_REGISTER,
- async (arg,thunkAPI)=>{
- //https://api.ouro777.com/game/register?country=55&phone=12345678911&password=123456&&repassword=123456
- let lang=global.i18n.getCurrLang();
- let data={
- country:arg.country,
- phone:arg.account,
- password:arg.password,
- repassword:arg.repassword,
- lang:lang
- }
- let params={
- url:APP_REGISTER,
- data:data
- }
- const response = await Http.post(params);
- return response;
- },
- )
- //logout
- export const reqLogout=createAsyncThunk(
- APP_LOGOUT,
- async (arg,thunkAPI)=>{
- let params={
- url:APP_LOGOUT,
- }
- const response = await Http.get(params);
- return response;
- },
- )
- //api
|