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 @@
-
-
-
-
-
-
-
-
-
-
-
-
- {{$L('高效便捷的团队沟通工具')}}
- {{$L('针对项目和任务建立群组,工作问题可及时沟通,促进团队快速协作,提高团队工作效率。')}}
-
-
- {{$L('高效便捷的团队沟通工具')}}
- {{$L('针对项目和任务建立群组,工作问题可及时沟通,促进团队快速协作,提高团队工作效率。')}}
-
-
-
-
-
-
- {{$L('强大易用的协同创作云文档')}}
- {{$L('汇集文档、电子表格、思维笔记等多种在线工具,汇聚企业知识资源于一处,支持多人实时协同编辑,让团队协作更便捷。')}}
-
-
-
-
-
-
- {{$L('强大易用的协同创作云文档')}}
- {{$L('汇集文档、电子表格、思维笔记等多种在线工具,汇聚企业知识资源于一处,支持多人实时协同编辑,让团队协作更便捷。')}}
-
-
-
-
-
-
-
-
-
- {{$L('便捷易用的项目管理模板')}}
- {{$L('模版满足多种团队协作场景,同时支持自定义模版,满足团队个性化场景管理需求,可直观的查看项目的进展情况,团队协作更方便。')}}
-
-
- {{$L('便捷易用的项目管理模板')}}
- {{$L('模版满足多种团队协作场景,同时支持自定义模版,满足团队个性化场景管理需求,可直观的查看项目的进展情况,团队协作更方便。')}}
-
-
-
-
-
-
- {{$L('清晰直观的任务日历')}}
- {{$L('通过灵活的任务日历,轻松安排每一天的日程,把任务拆解到每天,让工作目标更清晰,时间分配更合理。')}}
-
-
-
-
-
-
- {{$L('清晰直观的任务日历')}}
- {{$L('通过灵活的任务日历,轻松安排每一天的日程,把任务拆解到每天,让工作目标更清晰,时间分配更合理。')}}
-
-
-
-
-
-
-
-
-
- {{$L('支持多平台应用')}}
- {{$L('多平台应用支持,打开客户端即可跟进项目任务进度, 同时让你在工作中每一个步骤都能拥有更高效愉悦的体验。')}}
-
-
- {{$L('支持多平台应用')}}
- {{$L('多平台应用支持,打开客户端即可跟进项目任务进度, 同时让你在工作中每一个步骤都能拥有更高效愉悦的体验。')}}
-
-
-
-
-
-
-
-
-
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 @@
-
-
-
-
-
-
-
-
-
- {{$L('选择适合您的版本')}}
-
-
- {{$L('DooTask 是新一代团队协作平台,您可以根据您团队的需求,选择合适的产品功能。')}}
- {{$L('从现在开始,DooTask 为世界各地的团队提供支持,探索适合您的选项。')}}
-
-
-
-
-
-
{{$L('价格')}}
-
{{$L('概述')}}
-
{{$L('人数')}}
-
{{$L('授权方式')}}
-
-
-
-
{{$L('普通版')}}
-
-
{{$L('功能较少可能会停更')}}
-
{{$L('无限制')}}
-
{{$L('无须授权')}}
-
-
-
-
{{$L('Pro免费版')}}
-
-
{{$L('拥有最新版本所有功能')}}
-
{{$L('3人')}}
-
License
-
-
-
-
{{$L('Pro订阅版')}} {{$L('推荐')}}
-
-
{{$L('拥有最新版本所有功能')}}
-
{{$L('无限制')}}
-
License
-
-
-
-
{{$L('定制版')}}
-
-
{{$L('根据您的需求量身定制')}}
-
{{$L('无限制')}}
-
License
-
-
-
-
-
{{$L('应用支持')}}
-
-
-
-
-
-
-
-
-
{{$L('服务支持')}}
-
-
-
-
-
-
-
-
-
-
- {{$L(item.label)}}
- {{$L(item.sublabel)}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{$L('多种部署方式随心选择')}}
-
-
-
-
-
-
- {{$L('公有云')}}
-
-
- {{$L('无需本地环境准备,按需购买帐户,专业团队提供运维保障服务,两周一次的版本迭代')}}
-
-
-
-
-
-
-
- {{$L('私有云')}}
-
-
- {{$L('企业隔离的云服务器环境,高可用性,网络及应用层完整隔离,数据高度自主可控')}}
-
-
-
-
-
-
-
- {{$L('本地服务器')}}
-
-
- {{$L('基于 Docker 的容器化部署,支持高可用集群,快速弹性扩展,数据高度自主可控')}}
-
-
-
-
-
-
-
-
-
- {{$L('完善的服务支持体系')}}
-
-
-
-
-
-
- {{$L('1:1客户成功顾问')}}
-
-
- {{$L('资深客户成功顾问对企业进行调研、沟通需求、制定个性化的解决方案,帮助企业落地')}}
-
-
-
-
-
-
-
- {{$L('完善的培训体系')}}
-
-
- {{$L('根据需求定制培训内容,为不同角色给出专属培训方案,线上线下培训渠道全覆盖')}}
-
-
-
-
-
-
-
- {{$L('全面的支持服务')}}
-
-
- {{$L('多种支持服务让企业无后顾之忧,7x24 线上支持、在线工单、中英文邮件支持、上门支持')}}
-
-
-
-
-
-
-
-
-
- {{$L('多重安全策略保护数据')}}
-
-
-
-
-
-
- {{$L('高可用性保证')}}
-
-
- {{$L('多重方式保证数据不丢失,高可用故障转移,异地容灾备份,99.99\%可用性保证')}}
-
-
-
-
-
-
-
- {{$L('数据加密')}}
-
-
- {{$L('多重方式保证数据不泄漏,基于 TLS 的数据加密传输,DDOS 防御和入侵检测')}}
-
-
-
-
-
-
-
- {{$L('帐户安全')}}
-
-
- {{$L('多重方式保证帐户安全,远程会话控制,设备绑定,安全日志以及手势密码')}}
-
-
-
-
-
-
-
-
-
-
-
-
- {{$L('如有任何问题,欢迎使用邮箱与我们联系。')}}
- {{$L('邮箱地址:aipaw@live.cn')}}
-
-
-
-
-
-
-
-
-
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;
- }
- }
- }
- }
- }
-}