diff --git a/app/Http/Controllers/Api/SystemController.php b/app/Http/Controllers/Api/SystemController.php index 030af0bfd..8e62e51f2 100755 --- a/app/Http/Controllers/Api/SystemController.php +++ b/app/Http/Controllers/Api/SystemController.php @@ -38,7 +38,7 @@ class SystemController extends AbstractController * @apiParam {String} type * - get: 获取(默认) * - all: 获取所有(需要管理员权限) - * - save: 保存设置(参数:['reg', 'reg_identity', 'reg_invite', 'login_code', 'password_policy', 'project_invite', 'chat_information', 'anon_message', 'auto_archived', 'archived_day', 'task_visible', 'all_group_mute', 'all_group_autoin', 'image_compress', 'image_save_local', 'start_home', 'home_footer']) + * - save: 保存设置(参数:['reg', 'reg_identity', 'reg_invite', 'login_code', 'password_policy', 'project_invite', 'chat_information', 'anon_message', 'auto_archived', 'archived_day', 'task_visible', 'all_group_mute', 'all_group_autoin', 'image_compress', 'image_save_local', 'start_home']) * @apiSuccess {Number} ret 返回状态码(1正确、0错误) * @apiSuccess {String} msg 返回信息(错误描述) @@ -71,7 +71,6 @@ class SystemController extends AbstractController 'image_compress', 'image_save_local', 'start_home', - 'home_footer' ])) { unset($all[$key]); } @@ -882,58 +881,6 @@ class SystemController extends AbstractController return $data; } - /** - * @api {get} api/system/get/showitem 19. 首页显示ITEM - * - * @apiDescription 用于判断首页是否显示:pro、github、更新日志... - * @apiVersion 1.0.0 - * @apiGroup system - * @apiName get__showitem - * - * @apiSuccess {Number} ret 返回状态码(1正确、0错误) - * @apiSuccess {String} msg 返回信息(错误描述) - * @apiSuccess {Object} data 返回数据 - */ - public function get__showitem() - { - $logPath = base_path('CHANGELOG.md'); - $logContent = ""; - $logVersion = ""; - if (file_exists($logPath)) { - $logContent = file_get_contents($logPath); - preg_match("/## \[(.*?)\]/", $logContent, $matchs); - if ($matchs) { - $logVersion = $matchs[1] === "Unreleased" ? $matchs[1] : "v{$matchs[1]}"; - } - } - return Base::retSuccess('success', [ - 'pro' => str_contains(Request::getHost(), "dootask.com") || str_contains(Request::getHost(), "127.0.0.1"), - 'github' => env('GITHUB_URL') ?: false, - 'updateLog' => $logContent ?: false, - 'updateVer' => $logVersion, - ]); - } - - /** - * @api {get} api/system/get/starthome 20. 启动首页设置信息 - * - * @apiDescription 用于判断注册是否需要启动首页 - * @apiVersion 1.0.0 - * @apiGroup system - * @apiName get__starthome - * - * @apiSuccess {Number} ret 返回状态码(1正确、0错误) - * @apiSuccess {String} msg 返回信息(错误描述) - * @apiSuccess {Object} data 返回数据 - */ - public function get__starthome() - { - return Base::retSuccess('success', [ - 'need_start' => Base::settingFind('system', 'start_home') == 'open', - 'home_footer' => Base::settingFind('system', 'home_footer') - ]); - } - /** * @api {get} api/system/email/check 21. 邮件发送测试(限管理员) * diff --git a/resources/assets/js/pages/index.vue b/resources/assets/js/pages/index.vue index 1e8991bc7..dde077112 100644 --- a/resources/assets/js/pages/index.vue +++ b/resources/assets/js/pages/index.vue @@ -1,259 +1,19 @@ diff --git a/resources/assets/js/pages/manage/setting/components/SystemSetting.vue b/resources/assets/js/pages/manage/setting/components/SystemSetting.vue index c653a36b1..44f66ffe5 100644 --- a/resources/assets/js/pages/manage/setting/components/SystemSetting.vue +++ b/resources/assets/js/pages/manage/setting/components/SystemSetting.vue @@ -150,14 +150,6 @@ {{$L('关闭')}}
{{$L('仅支持网页版。')}}
- diff --git a/resources/assets/js/pages/pro.vue b/resources/assets/js/pages/pro.vue index 38127067a..57005413a 100644 --- a/resources/assets/js/pages/pro.vue +++ b/resources/assets/js/pages/pro.vue @@ -1,1103 +1,16 @@ - diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index b603c255d..272dbf77f 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -94,12 +94,8 @@ export default { state.apiKeyData = data; }) - // 系统设置 - dispatch("call", { - url: 'system/setting', - }).then(({data}) => { - state.systemConfig = data; - }) + // 获取系统设置 + dispatch("systemSetting") // 加载语言包 await $A.loadScriptS([ @@ -328,6 +324,43 @@ export default { }) }, + /** + * 获取系统设置 + * @param dispatch + * @param state + * @returns {Promise} + */ + systemSetting({dispatch, state}) { + return new Promise((resolve, reject) => { + switch (state.systemConfig.__state) { + case "success": + resolve(state.systemConfig) + break + + case "loading": + setTimeout(_ => { + dispatch("systemSetting").then(resolve).catch(reject) + }, 100) + break + + default: + state.systemConfig.__state = "loading" + dispatch("call", { + url: "system/setting", + }).then(({data}) => { + state.systemConfig = Object.assign(data, { + __state: "success", + }) + resolve(state.systemConfig) + }).catch(_ => { + state.systemConfig.__state = "error" + reject() + }); + break + } + }) + }, + /** * 是否启用首页 * @param dispatch @@ -336,11 +369,9 @@ export default { */ needHome({dispatch, state}) { return new Promise((resolve, reject) => { - dispatch("call", { - url: "system/get/starthome", - }).then(({data}) => { - if (!!data.need_start) { - resolve(data) + dispatch("systemSetting").then(data => { + if (data.start_home === 'open') { + resolve() } else { reject() } diff --git a/resources/assets/sass/pages/_.scss b/resources/assets/sass/pages/_.scss index af6da2891..751e492eb 100755 --- a/resources/assets/sass/pages/_.scss +++ b/resources/assets/sass/pages/_.scss @@ -7,6 +7,5 @@ @import "page-messenger"; @import "page-project"; @import "page-setting"; -@import "page-index"; @import "page-approve"; @import "components/_"; diff --git a/resources/assets/sass/pages/page-index.scss b/resources/assets/sass/pages/page-index.scss deleted file mode 100644 index 08d4eefad..000000000 --- a/resources/assets/sass/pages/page-index.scss +++ /dev/null @@ -1,404 +0,0 @@ -.page-index { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - overflow: auto; - - .page-warp { - max-width: 1920px; - margin: 0 auto; - - .page-header { - width: 100%; - background: $primary-color; - position: relative; - padding-bottom: 40px; - - .header-nav { - max-width: 1200px; - height: 72px; - margin: auto; - display: flex; - justify-content: space-between; - - .header-nav-box { - display: flex; - align-items: center; - padding-left: 20px; - color: #ffffff; - font-weight: 400; - position: relative; - - .logo { - width: 143px; - height: 36px; - background: url("../images/logo-index.svg") no-repeat center center; - background-size: contain; - } - - .header-right-pro { - margin-left: 28px; - padding: 0 10px; - font-size: 12px; - color: #f6ca9d; - background: #1d1e23; - background: linear-gradient(90deg, #1d1e23, #3f4045); - border: 0; - } - - .header-right-github { - margin-left: 28px; - font-size: 24px; - display: flex; - align-items: center; - cursor: pointer; - color: #ffffff; - } - - .header-right-uplog { - margin-left: 28px; - font-size: 16px; - cursor: pointer; - } - - .header-right-1 { - margin-left: 28px; - display: flex; - - .header-right-1-dropdown { - color: #ffffff; - font-size: 16px; - } - } - - .header-right-2 { - font-size: 16px; - margin-left: 28px; - cursor: pointer; - - .header-right-2-dropdown { - color: #ffffff; - font-size: 16px; - } - } - - .header-right-3 { - font-size: 16px; - margin: 0 28px; - cursor: pointer; - } - - .header-right-4 { - font-size: 16px; - min-width: 100px; - height: 36px; - background: #ffa25a; - border-radius: 4px; - text-align: center; - line-height: 36px; - cursor: pointer; - padding: 0 10px 0 10px; - } - - .header-right-5 { - margin-left: 28px; - } - } - - .header-nav-boxs { - justify-content: flex-end; - padding-right: 20px; - - .header-nav-more { - color: #fff; - font-size: 36px; - } - - .header-nav-dropdown-item { - display: flex; - align-items: center; - justify-content: space-between; - } - } - } - - .header-content { - max-width: 1200px; - margin: 0 auto; - - .header-title { - font-size: 44px; - font-weight: 500; - color: #ffffff; - line-height: 67px; - text-align: center; - } - - .header-title-one { - font-size: 48px; - margin-top: 40px; - } - - .header-tips { - font-size: 22px; - font-weight: 400; - color: #ffffff; - line-height: 36px; - text-align: center; - padding: 0 30px; - margin: 22px auto 0; - max-width: 88%; - } - - .login-buttom { - width: 150px; - height: 48px; - background: #ffa25a; - border-radius: 8px; - font-size: 18px; - font-weight: 500; - color: #ffffff; - line-height: 48px; - text-align: center; - margin: 34px auto 0; - cursor: pointer; - } - } - } - - .page-header-bottom { - position: relative; - background: #FFFFFF url("../images/index/bg-bottom.svg") no-repeat; - background-size: 100%; - margin-bottom: 160px; - margin-top: -2px; - - .page-header-bottoms { - max-width: 1200px; - margin: auto; - top: 0; - left: 0; - right: 0; - - img { - display: block; - margin: auto; - width: 92%; - } - } - } - - .page-main { - max-width: 1200px; - margin: auto; - - .page-main-row { - margin-bottom: 150px; - } - - .page-main-rows { - margin-bottom: 140px; - } - - .page-main-img { - img { - width: 100%; - } - } - - .page-main-imgs { - img { - display: block; - width: 90%; - margin: auto; - } - } - - .page-main-text { - padding-left: 60px; - padding-top: 120px; - - h3 { - font-size: 32px; - font-weight: 500; - color: $primary-title-color; - line-height: 45px; - margin-bottom: 17px; - } - - p { - font-size: 18px; - font-weight: 400; - color: #828282; - line-height: 28px; - padding-right: 70px; - } - } - - .page-main-texts { - padding-top: 40px; - - h3 { - display: flex; - align-items: center; - font-size: 30px; - - img { - margin-right: 10px; - } - } - - p { - font-size: 16px; - } - } - } - - .page-footer { - .footer-service { - width: 100%; - height: 188px; - background-color: #ffa25a; - position: relative; - - .footer-bg-box { - overflow: hidden; - width: 100%; - height: 188px; - - .box-title { - height: 45px; - font-size: 16px; - font-weight: 500; - color: #ffffff; - line-height: 45px; - text-align: center; - margin: 33px 0 22px 0; - } - - .buttom-box { - display: flex; - justify-content: center; - - .login-btn { - width: 150px; - height: 48px; - background: #ffffff; - border-radius: 8px; - font-size: 14px; - font-weight: 500; - color: #ffa25a; - line-height: 48px; - text-align: center; - margin-right: 20px; - cursor: pointer; - } - - .reg-btn { - width: 150px; - height: 48px; - border-radius: 8px; - border: 1px solid #ffffff; - font-size: 14px; - font-weight: 500; - color: #ffffff; - line-height: 48px; - text-align: center; - cursor: pointer; - } - } - } - } - - .footer-copyright { - background: #fff; - color: #828282; - font-size: 12px; - font-weight: 400; - padding: 20px; - line-height: 20px; - text-align: center; - width: 100%; - } - } - } -} - -@media screen and (max-width: 1440px) { - .page-index { - .page-warp { - .page-header { - .header-content { - .header-title { - font-size: 34px; - line-height: 60px; - } - - .header-title-one { - font-size: 40px; - } - - .header-tips { - font-size: 20px; - padding: 0 20px; - } - } - } - - .page-header-bottom { - margin-bottom: 80px; - } - - .page-main { - .page-main-text { - padding-left: 20px; - padding-top: 80px; - - p { - padding-right: 20px; - } - } - - .page-main-texts { - h3 { - font-size: 24px; - - img { - width: 24px; - } - } - - p { - font-size: 14px; - } - } - } - } - } -} - -@media screen and (max-width: 468px) { - .page-index { - .page-warp { - .page-header { - .header-content { - .header-title { - font-size: 24px; - line-height: 38px; - } - - .header-title-one { - font-size: 28px; - } - - .header-tips { - font-size: 16px; - line-height: 26px; - } - } - } - } - } -}