Files
douyin/app/src/store/coreapi.ts
T

333 lines
7.8 KiB
TypeScript

import { defineStore, storeToRefs } from 'pinia';
import http from './http';
import { ref, watch } from 'vue';
import { Response } from '@/types';
// import { RouteOption } from '@/router/interface';
// import { addRoutes, removeRoute } from '@/router/dynamicRoutes';
// import { useSettingStore } from './setting';
// import { RouteRecordRaw, RouteMeta } from 'vue-router';
// import { useAuthStore } from '@/plugins';
// import router from '@/router';
// export interface MenuProps {
// id?: number;
// name: string;
// path: string;
// title?: string;
// icon?: string;
// badge?: number | string;
// target?: '_self' | '_blank';
// link?: string;
// component: string;
// renderMenu?: boolean;
// permission?: string;
// parent?: string;
// children?: MenuProps[];
// cacheable?: boolean;
// view?: string;
// }
export const useApiStore = defineStore('coreapi', () => {
//获取配置
async function apiGetConfig() {
return http
.request<any, Response<any>>('/api/config/GetConfig', 'GET')
.then((res) => {
console.log(res)
return res;
})
.finally(() => {
});
}
//修改配置
async function apiUpdateConfig(request: object) {
return http
.request<any, Response<any>>('/api/config/UpdateConfig', 'post_json', request)
.then((res) => {
console.log(res)
return res;
})
.finally(() => {
});
}
//后台日志
async function apiGetLogs(param: string) {
return http.request<any, Response<any>>('/api/logs/GetLog?' + param, 'get').then(r => {
// console.log(r)
return r.data;
}).finally(() => {
});
}
//用户信息-头像
async function apiUserInfo() {
return http.request<any, Response<any>>('/api/auth/GetUserAvatar', 'get').then(r => {
return r;
}).finally(() => {
});
}
//密码修改
async function apiChangePwd(param: object) {
return http.request<any, Response<any>>('/api/auth/UpdatePwd', 'post_json', param).then(r => {
return r;
}).finally(() => {
});
}
//StartJobNow
async function StartJobNow() {
return http.request<any, Response<any>>('/api/config/ExecuteJobNow', 'get').then(r => {
return r;
}).finally(() => {
});
}
async function VideoStatics() {
return http.request<any, Response<any>>('/api/video/statics', 'get').then(r => {
return r;
}).finally(() => {
});
}
//视频查询
async function VideoPageList(param: object) {
return http.request<any, Response<any>>('/api/video/paged', 'post_json', param).then(r => {
return r;
}).finally(() => {
});
}
//cookies
async function CookiePageList(param: object) {
return http.request<any, Response<any>>('/api/config/paged', 'post_json', param).then(r => {
return r;
}).finally(() => {
});
}
async function CookieList() {
return http.request<any, Response<any>>('/api/config/list', 'get').then(r => {
return r;
}).finally(() => {
});
}
async function UpdateConfig(param: object) {
return http.request<any, Response<any>>('/api/config/update', 'post_json', param).then(r => {
return r;
}).finally(() => {
});
}
async function DeskInitAsync(param: object) {
return http.request<any, Response<any>>('/api/config/deskinit', 'post_json', param).then(r => {
return r;
}).finally(() => {
});
}
async function AppisInit() {
return http.request<any, Response<any>>('/api/config/isInit', 'get').then(r => {
return r;
}).finally(() => {
});
}
async function GetAppPort() {
return http.request<any, Response<any>>('/api/config/appport', 'get').then(r => {
return r;
}).finally(() => {
});
}
async function deleteCookie(id: string) {
return http.request<any, Response<any>>('/api/config/delete?id=' + id, 'get').then(r => {
return r;
}).finally(() => {
});
}
//follows
async function FollowList(param: object) {
return http.request<any, Response<any>>('/api/follow/paged', 'post_json', param).then(r => {
return r;
}).finally(() => {
});
}
//同步关注列表
async function SyncFollow() {
return http.request<any, Response<any>>('/api/follow/sync', 'get').then(r => {
return r;
}).finally(() => {
});
}
//更新同步关注者状态
async function OpenOrCloseSync(param: object) {
return http.request<any, Response<any>>('/api/follow/openOrCloseSync', 'post_json', param).then(r => {
return r;
}).finally(() => {
});
}
//更新同步关注者状态
async function OpenOrCloseFullSync(param: object) {
return http.request<any, Response<any>>('/api/follow/openOrCloseFullSync', 'post_json', param).then(r => {
return r;
}).finally(() => {
});
}
//重新下载
async function ReDownViedos(param: object) {
return http.request<any, Response<any>>('/api/video/redown', 'post_json', param).then(r => {
return r;
}).finally(() => {
});
}
//删除
async function DeleteVideo(param: string) {
return http.request<any, Response<any>>('/api/video/vdelete/' + param, 'get').then(r => {
return r;
}).finally(() => {
});
}
//删除
async function GetDeleteViedos() {
return http.request<any, Response<any>>('/api/video/vdelete/get', 'get').then(r => {
return r;
}).finally(() => {
});
}
//检查版本
async function CheckTag() {
return http.request<any, Response<any>>('/api/config/checktag', 'get').then(r => {
return r;
}).finally(() => {
});
}
//快速停止或启动cookie配置
async function SwitchCookieStatus(param: object) {
return http.request<any, Response<any>>('/api/config/switch', 'post_json', param).then(r => {
return r;
}).finally(() => {
});
}
//添加非关注的博主
async function AddFollow(param: object) {
return http.request<any, Response<any>>('/api/follow/add', 'post_json', param).then(r => {
return r;
}).finally(() => {
});
}
//删除非关注的博主
async function DelFollow(param: object) {
return http.request<any, Response<any>>('/api/follow/delete', 'post_json', param).then(r => {
return r;
}).finally(() => {
});
}
//导出配置
async function ExportConf() {
return http.request<any, Response<any>>('/api/config/exportConf', 'get').then(r => {
return r;
}).finally(() => {
});
}
//导入配置
async function ImportConf(param: object) {
return http.request<any, Response<any>>('/api/config/importConf', 'post_json', param).then(r => {
return r;
}).finally(() => {
});
}
//移动端获取日志列表
async function MobileLogs() {
return http.request<any, Response<any>>('/api/logs/list', 'get').then(r => {
return r;
}).finally(() => {
});
}
//移动端获取日志详情
async function LogDetail(type: string, date: string) {
return http.request<any, Response<any>>('/api/logs/content?type=' + type + "&Date=" + date, 'get').then(r => {
return r;
}).finally(() => {
});
}
//TOP
async function TopVideo(param: number) {
return http.request<any, Response<any>>('/api/Video/top' + param, 'get').then(r => {
return r;
}).finally(() => {
});
}
return {
GetAppPort,
AppisInit,
DeskInitAsync,
SwitchCookieStatus,
TopVideo,
LogDetail,
MobileLogs,
ExportConf,
ImportConf,
GetDeleteViedos,
DelFollow,
AddFollow,
CheckTag,
deleteCookie,
UpdateConfig,
apiGetConfig,
apiUpdateConfig,
apiGetLogs,
apiUserInfo,
apiChangePwd,
StartJobNow,
VideoStatics,
VideoPageList,
CookiePageList,
CookieList,
FollowList,
SyncFollow,
OpenOrCloseSync,
OpenOrCloseFullSync,
ReDownViedos,
DeleteVideo
};
});