feat:声明插件接口类型,剔除冗余代码

This commit is contained in:
layyback 2022-03-21 22:22:12 +08:00
parent 56b6ca9e89
commit ba0ccbb8ff
2 changed files with 20 additions and 11 deletions

View File

@ -8,5 +8,14 @@ declare module '*.vue' {
declare module 'axios' declare module 'axios'
interface Window { interface Window {
rubick: any rubick: any;
market: any
}
namespace Market {
interface Plugin {
isdownload?: boolean;
name?: string;
isloading: boolean
}
} }

View File

@ -1,7 +1,7 @@
import { createStore } from "vuex"; import { createStore } from "vuex";
import request from "@/assets/request"; import request from "@/assets/request";
const isDownload = (item: any, targets: any[]) => { const isDownload = (item: Market.Plugin, targets: any[]) => {
let isDownload = false; let isDownload = false;
targets.some((plugin) => { targets.some((plugin) => {
if (plugin.name === item.name) { if (plugin.name === item.name) {
@ -27,10 +27,10 @@ export default createStore({
actions: { actions: {
async init({ commit }) { async init({ commit }) {
const totalPlugins = await request.getTotalPlugins(); const totalPlugins = await request.getTotalPlugins();
const localPlugins = (window as any).market.getLocalPlugins(); const localPlugins = window.market.getLocalPlugins();
totalPlugins.forEach( totalPlugins.forEach(
(origin: { isdownload?: any; name?: any; isloading: boolean }) => { (origin: Market.Plugin) => {
origin.isdownload = isDownload(origin, localPlugins); origin.isdownload = isDownload(origin, localPlugins);
origin.isloading = false; origin.isloading = false;
} }
@ -43,7 +43,7 @@ export default createStore({
startDownload({ commit, state }, name) { startDownload({ commit, state }, name) {
const totalPlugins = JSON.parse(JSON.stringify(state.totalPlugins)); const totalPlugins = JSON.parse(JSON.stringify(state.totalPlugins));
totalPlugins.forEach( totalPlugins.forEach(
(origin: { isdownload?: any; name?: any; isloading: boolean }) => { (origin: Market.Plugin) => {
if (origin.name === name) { if (origin.name === name) {
origin.isloading = true; origin.isloading = true;
} }
@ -55,9 +55,9 @@ export default createStore({
}, },
startUnDownload({ commit, state }, name) { startUnDownload({ commit, state }, name) {
const localPlugins = (window as any).market.getLocalPlugins(); const localPlugins = window.market.getLocalPlugins();
localPlugins.forEach( localPlugins.forEach(
(origin: { isdownload?: any; name?: any; isloading: boolean }) => { (origin: Market.Plugin) => {
if (origin.name === name) { if (origin.name === name) {
origin.isloading = true; origin.isloading = true;
} }
@ -71,14 +71,14 @@ export default createStore({
successDownload({ commit, state }, name) { successDownload({ commit, state }, name) {
const totalPlugins = JSON.parse(JSON.stringify(state.totalPlugins)); const totalPlugins = JSON.parse(JSON.stringify(state.totalPlugins));
totalPlugins.forEach( totalPlugins.forEach(
(origin: { isdownload?: any; name?: any; isloading: boolean }) => { (origin: Market.Plugin) => {
if (origin.name === name) { if (origin.name === name) {
origin.isloading = false; origin.isloading = false;
origin.isdownload = true; origin.isdownload = true;
} }
} }
); );
const localPlugins = (window as any).market.getLocalPlugins(); const localPlugins = window.market.getLocalPlugins();
commit("commonUpdate", { commit("commonUpdate", {
totalPlugins, totalPlugins,
@ -86,11 +86,11 @@ export default createStore({
}); });
}, },
async updateLocalPlugin({ commit }) { async updateLocalPlugin({ commit }) {
const localPlugins = (window as any).market.getLocalPlugins(); const localPlugins = window.market.getLocalPlugins();
const totalPlugins = await request.getTotalPlugins(); const totalPlugins = await request.getTotalPlugins();
totalPlugins.forEach( totalPlugins.forEach(
(origin: { isdownload?: any; name?: any; isloading: boolean }) => { (origin: Market.Plugin) => {
origin.isdownload = isDownload(origin, localPlugins); origin.isdownload = isDownload(origin, localPlugins);
origin.isloading = false; origin.isloading = false;
} }