update api

This commit is contained in:
felinae98
2022-08-01 22:16:03 +08:00
parent ee01773e64
commit b8af6d0024
5 changed files with 45 additions and 18 deletions
@@ -1,8 +1,18 @@
import React from 'react';
import { useGetSubsQuery, useDeleteSubMutation } from './subscribeConfigSlice';
export default function SubscribeManager() {
const { data: subs } = useGetSubsQuery();
const [patchSub] = useDeleteSubMutation();
const createNewSub = () => {
patchSub({ target: '2773976700', platformName: 'weibo', groupNumber: 868610060 }).unwrap();
};
return (
<>
<div>{ subs && JSON.stringify(subs) }</div>
<div>1</div>
<button onClick={() => createNewSub()} type="button">new</button>
</>
);
}
@@ -1,5 +1,7 @@
import { createApi } from '@reduxjs/toolkit/query/react';
import { StatusResp, SubscribeConfig, SubscribeResp } from '../../utils/type';
import {
StatusResp, SubmitParam, SubscribeResp,
} from '../../utils/type';
import { baseQueryWithAuth } from '../auth/authQuery';
export const subscribeApi = createApi({
@@ -11,23 +13,33 @@ export const subscribeApi = createApi({
query: () => '/subs',
providesTags: ['Subscribe'],
}),
newSub: builder.mutation<StatusResp, SubscribeConfig>({
query: (config) => ({
newSub: builder.mutation<StatusResp, SubmitParam>({
query: ({ groupNumber, sub }) => ({
method: 'POST',
url: '/subs',
body: config,
url: `/subs?groupNumber=${groupNumber}`,
body: sub,
}),
invalidatesTags: ['Subscribe'],
}),
updateSub: builder.mutation<StatusResp, SubscribeResp>({
query: (config) => ({
updateSub: builder.mutation<StatusResp, SubmitParam>({
query: ({ groupNumber, sub }) => ({
method: 'PATCH',
url: '/subs',
body: config,
url: `/subs?groupNumber=${groupNumber}`,
body: sub,
}),
invalidatesTags: ['Subscribe'],
}),
deleteSub: builder.mutation<StatusResp,
{ groupNumber: number; target: string; platformName: string }>({
query: ({ groupNumber, target, platformName }) => ({
method: 'DELETE',
url: `/subs?groupNumber=${groupNumber}&target=${target}&platformName=${platformName}`,
}),
invalidatesTags: ['Subscribe'],
}),
}),
});
export const { useGetSubsQuery } = subscribeApi;
export const {
useGetSubsQuery, useNewSubMutation, useDeleteSubMutation, useUpdateSubMutation,
} = subscribeApi;
+5
View File
@@ -47,3 +47,8 @@ export interface StatusResp {
status: number;
msg: string;
}
export interface SubmitParam {
groupNumber: number;
sub: SubscribeConfig;
}