diff --git a/admin/src/app/api/auth.ts b/admin/src/app/api/auth.ts index f320959d2..93447b2e8 100644 --- a/admin/src/app/api/auth.ts +++ b/admin/src/app/api/auth.ts @@ -38,4 +38,10 @@ export function getLoginConfig() { */ export function setStarAddon(params: Record) { return request.post('auth/appstar', params) +} +/** + * 获取默认页面应用列表 + */ +export function getAuthaddon() { + return request.get(`auth/authaddon`) } \ No newline at end of file diff --git a/admin/src/app/api/module.ts b/admin/src/app/api/module.ts index 16f334e6e..a1475ebee 100644 --- a/admin/src/app/api/module.ts +++ b/admin/src/app/api/module.ts @@ -11,7 +11,7 @@ export function getAuthinfo() { * 设置 授权配置 */ export function setAuthinfo(params: Record) { - return request.post('niucloud/authinfo', params, {showSuccessMessage: true}) + return request.post('niucloud/authinfo', params, { showSuccessMessage: true }) } /** @@ -43,6 +43,6 @@ export function getModuleVersion() { * @param addon * @returns */ -export function downloadVersion(addon) { - return request.post(`addon/download/${addon}`, {}, {showSuccessMessage: true}) +export function downloadVersion(params: Record) { + return request.post(`addon/download/${params.addon}`, params, { showSuccessMessage: true }) } \ No newline at end of file diff --git a/admin/src/app/assets/images/index/overview.png b/admin/src/app/assets/images/index/overview.png new file mode 100644 index 000000000..302bb9dbf Binary files /dev/null and b/admin/src/app/assets/images/index/overview.png differ diff --git a/admin/src/app/lang/zh-cn/app.store.json b/admin/src/app/lang/zh-cn/app.store.json index 69108ede8..aa16b47c9 100644 --- a/admin/src/app/lang/zh-cn/app.store.json +++ b/admin/src/app/lang/zh-cn/app.store.json @@ -39,5 +39,6 @@ "cloudInstall": "一键云安装", "cloudInstallTips": "云安装可实现一键安装,安装后无需手动更新依赖和编译前端源码", "installingTips": "有插件正在安装中请等待安装完成之后再进行其他操作,点击查看", - "installPercent": "安装进度" + "installPercent": "安装进度", + "downloading": "下载中" } \ No newline at end of file diff --git a/admin/src/app/lang/zh-cn/index.overview.json b/admin/src/app/lang/zh-cn/index.overview.json new file mode 100644 index 000000000..5dd305930 --- /dev/null +++ b/admin/src/app/lang/zh-cn/index.overview.json @@ -0,0 +1,5 @@ +{ + "app":"应用", + "noPlug":"暂无应用", + "installApp":"安装应用" +} \ No newline at end of file diff --git a/admin/src/app/views/app/store.vue b/admin/src/app/views/app/store.vue index 19ba22f1c..e156e3ef9 100644 --- a/admin/src/app/views/app/store.vue +++ b/admin/src/app/views/app/store.vue @@ -35,9 +35,9 @@ {{ item.title }} {{ item.desc }} - {{ t('unload') }} + {{ t('unload') + }} @@ -56,11 +56,10 @@

{{ item.desc }}

- {{ t('unload') }} + {{ t('unload') + }}
- @@ -85,12 +84,14 @@ {{ item.title }} {{ item.desc }} - {{ t('install') }} - {{ t('down') }} + {{ t('install') + }} + {{ downloading == item.key ? t('downloading') : t('down') + }} @@ -112,12 +113,16 @@

{{ item.desc }}

- {{ t('install') }} - {{ t('down') }} + {{ t('install') + }} + {{ downloading == item.key ? t('downloading') : + t('down') + }}
@@ -143,15 +148,18 @@ {{ item.title }} {{ item.desc }} - {{ t('unload') }} - {{ t('install') }} - {{ t('down') }} + {{ t('unload') + }} + {{ t('install') + }} + {{ downloading == item.key ? t('downloading') : t('down') + }} @@ -172,15 +180,19 @@

{{ item.desc }}

- {{ t('unload') }} - {{ t('install') }} - {{ t('down') }} + {{ t('unload') + }} + {{ t('install') + }} + {{ downloading == item.key ? t('downloading') : + t('down') + }}
@@ -326,10 +338,18 @@ const activeName = ref('installed') const loading = ref(false) const showType = ref('large') const mode = ref(import.meta.env.MODE) +const downloading = ref('') -const downEvent = (key: string) => { - downloadVersion(key).then(() => { +const downEvent = (param: Record) => { + if (downloading.value) return + downloading.value = param.key + + downloadVersion({ addon: param.key, version: param.version }).then(() => { + installAddonFn(param.key) localListFn() + downloading.value = '' + }).catch(() => { + downloading.value = '' }) } @@ -454,7 +474,7 @@ const getInstallTask = (first: boolean = true) => { }, 2000) } else { if (!first) { - installStep.value += 2 + installStep.value = 3 localListFn() notificationEl.close() } @@ -477,7 +497,7 @@ const handleInstall = () => { localInstalling.value = true installAddon({ addon: currAddon.value }).then(res => { - installStep.value += 2 + installStep.value = 3 localListFn() localInstalling.value = false }).catch((res) => { @@ -494,7 +514,7 @@ const handleCloudInstall = () => { cloudInstalling.value = true cloudInstallAddon({ addon: currAddon.value }).then(res => { - installStep.value += 1 + installStep.value = 1 terminalApi.execute('my-terminal', 'clear') terminalApi.pushMessage('my-terminal', { content: '开始安装插件', class: 'info' }) getInstallTask() diff --git a/admin/src/app/views/index/overview.vue b/admin/src/app/views/index/overview.vue new file mode 100644 index 000000000..bce439dd2 --- /dev/null +++ b/admin/src/app/views/index/overview.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/admin/src/app/views/login/index.vue b/admin/src/app/views/login/index.vue index 0ebb5adae..457d6caeb 100644 --- a/admin/src/app/views/login/index.vue +++ b/admin/src/app/views/login/index.vue @@ -72,9 +72,6 @@ const setFormData = async (id: number = 0) => { webSite.value = await (await getWebConfig()).data storage.set({ key: 'siteInfo', data: webSite.value }) } -const routerList = ref({ - tourism: "/tourism/index", vipcard: "/vipcard/index", cms: "/cms/article/list", shop: "/shop/hello_world" -}) setFormData() setWindowTitle(t('adminLogin')) @@ -125,11 +122,8 @@ const handleLogin = async (formEl: FormInstance | undefined) => { const loginFn = (data = {}) => { loading.value = true userStore.login({ username: form.username, password: form.password, ...data }).then(res => { - // const { query: { redirect } } = route - // const path = typeof redirect === 'string' ? redirect : '/' - let key = storage.get('menuAppStorage') - if(!key) storage.set({key:'menuAppStorage',data:'tourism'}) - let path = key&&key!=''?routerList.value[key]:'/tourism/index' + const { query: { redirect } } = route + const path = typeof redirect === 'string' ? redirect : '/' router.push(path) }).catch(() => { loading.value = false @@ -172,4 +166,5 @@ const loginFn = (data = {}) => { .login-main-left { display: none; } -} +} + diff --git a/admin/src/layout/default/components/aside/index.vue b/admin/src/layout/default/components/aside/index.vue index 7b2e54478..7520be874 100644 --- a/admin/src/layout/default/components/aside/index.vue +++ b/admin/src/layout/default/components/aside/index.vue @@ -1,11 +1,11 @@