From c2fd747c45f6aadc56b8faab8cf69191cce73159 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Sat, 1 Mar 2025 15:57:18 +0800 Subject: [PATCH] no message --- composer.json | 6 +- composer.lock | 510 +++++++++++++++++- docker-compose.yml | 14 +- docker/nginx/default.conf | 125 +---- docker/nginx/location/ai.conf | 12 + docker/nginx/location/approve.conf | 13 + docker/nginx/location/drawio.conf | 35 ++ docker/nginx/location/fileview.conf | 16 + docker/nginx/location/minder.conf | 16 + docker/nginx/location/office.conf | 20 + docker/nginx/location/okr.conf | 3 + language/original-api.txt | 6 +- language/original-web.txt | 3 +- language/translate.json | 26 +- package.json | 2 +- .../js/pages/manage/components/TaskDetail.vue | 5 +- 16 files changed, 655 insertions(+), 157 deletions(-) create mode 100644 docker/nginx/location/ai.conf create mode 100644 docker/nginx/location/approve.conf create mode 100644 docker/nginx/location/drawio.conf create mode 100644 docker/nginx/location/fileview.conf create mode 100644 docker/nginx/location/minder.conf create mode 100644 docker/nginx/location/office.conf create mode 100644 docker/nginx/location/okr.conf diff --git a/composer.json b/composer.json index b49914321..d1dc431a5 100644 --- a/composer.json +++ b/composer.json @@ -20,6 +20,7 @@ "ext-simplexml": "*", "ext-zip": "*", "directorytree/ldaprecord-laravel": "^2.7", + "elasticsearch/elasticsearch": "^8.17", "fideloper/proxy": "^4.4.1", "firebase/php-jwt": "^6.9", "fruitcake/laravel-cors": "^2.0.4", @@ -87,7 +88,10 @@ "config": { "optimize-autoloader": true, "preferred-install": "dist", - "sort-packages": true + "sort-packages": true, + "allow-plugins": { + "php-http/discovery": true + } }, "minimum-stability": "dev", "prefer-stable": true, diff --git a/composer.lock b/composer.lock index 1d0b76f59..7215d079e 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "ef4844086b8b7fde7050b10a9d4e436a", + "content-hash": "694c52c0168f7f07e06770b07ca89d24", "packages": [ { "name": "asm89/stack-cors", @@ -861,6 +861,122 @@ ], "time": "2020-12-29T14:50:06+00:00" }, + { + "name": "elastic/transport", + "version": "v8.10.0", + "source": { + "type": "git", + "url": "https://github.com/elastic/elastic-transport-php.git", + "reference": "8be37d679637545e50b1cea9f8ee903888783021" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/elastic/elastic-transport-php/zipball/8be37d679637545e50b1cea9f8ee903888783021", + "reference": "8be37d679637545e50b1cea9f8ee903888783021", + "shasum": "" + }, + "require": { + "composer-runtime-api": "^2.0", + "open-telemetry/api": "^1.0", + "php": "^7.4 || ^8.0", + "php-http/discovery": "^1.14", + "php-http/httplug": "^2.3", + "psr/http-client": "^1.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0 || ^2.0", + "psr/log": "^1 || ^2 || ^3" + }, + "require-dev": { + "nyholm/psr7": "^1.5", + "open-telemetry/sdk": "^1.0", + "php-http/mock-client": "^1.5", + "phpstan/phpstan": "^1.4", + "phpunit/phpunit": "^9.5", + "symfony/http-client": "^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Elastic\\Transport\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "HTTP transport PHP library for Elastic products", + "keywords": [ + "PSR_17", + "elastic", + "http", + "psr-18", + "psr-7", + "transport" + ], + "support": { + "issues": "https://github.com/elastic/elastic-transport-php/issues", + "source": "https://github.com/elastic/elastic-transport-php/tree/v8.10.0" + }, + "time": "2024-08-14T08:55:07+00:00" + }, + { + "name": "elasticsearch/elasticsearch", + "version": "v8.17.0", + "source": { + "type": "git", + "url": "https://github.com/elastic/elasticsearch-php.git", + "reference": "6cd0fe6a95fdb7198a2795624927b094813b3d8b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/elastic/elasticsearch-php/zipball/6cd0fe6a95fdb7198a2795624927b094813b3d8b", + "reference": "6cd0fe6a95fdb7198a2795624927b094813b3d8b", + "shasum": "" + }, + "require": { + "elastic/transport": "^8.10", + "guzzlehttp/guzzle": "^7.0", + "php": "^7.4 || ^8.0", + "psr/http-client": "^1.0", + "psr/http-message": "^1.1 || ^2.0", + "psr/log": "^1|^2|^3" + }, + "require-dev": { + "ext-yaml": "*", + "ext-zip": "*", + "mockery/mockery": "^1.5", + "nyholm/psr7": "^1.5", + "php-http/message-factory": "^1.0", + "php-http/mock-client": "^1.5", + "phpstan/phpstan": "^1.4", + "phpunit/phpunit": "^9.5", + "psr/http-factory": "^1.0", + "symfony/finder": "~4.0", + "symfony/http-client": "^5.0|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Elastic\\Elasticsearch\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHP Client for Elasticsearch", + "keywords": [ + "client", + "elastic", + "elasticsearch", + "search" + ], + "support": { + "issues": "https://github.com/elastic/elasticsearch-php/issues", + "source": "https://github.com/elastic/elasticsearch-php/tree/v8.17.0" + }, + "time": "2024-12-18T11:00:27+00:00" + }, { "name": "ezyang/htmlpurifier", "version": "v4.18.0", @@ -3499,6 +3615,134 @@ }, "time": "2024-12-30T11:07:19+00:00" }, + { + "name": "open-telemetry/api", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/opentelemetry-php/api.git", + "reference": "87de95d926f46262885d0d390060c095af13e2e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/opentelemetry-php/api/zipball/87de95d926f46262885d0d390060c095af13e2e5", + "reference": "87de95d926f46262885d0d390060c095af13e2e5", + "shasum": "" + }, + "require": { + "open-telemetry/context": "^1.0", + "php": "^7.4 || ^8.0", + "psr/log": "^1.1|^2.0|^3.0", + "symfony/polyfill-php80": "^1.26", + "symfony/polyfill-php81": "^1.26", + "symfony/polyfill-php82": "^1.26" + }, + "conflict": { + "open-telemetry/sdk": "<=1.0.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.0.x-dev" + } + }, + "autoload": { + "files": [ + "Trace/functions.php" + ], + "psr-4": { + "OpenTelemetry\\API\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "opentelemetry-php contributors", + "homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors" + } + ], + "description": "API for OpenTelemetry PHP.", + "keywords": [ + "Metrics", + "api", + "apm", + "logging", + "opentelemetry", + "otel", + "tracing" + ], + "support": { + "chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V", + "docs": "https://opentelemetry.io/docs/php", + "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", + "source": "https://github.com/open-telemetry/opentelemetry-php" + }, + "time": "2024-02-06T01:32:25+00:00" + }, + { + "name": "open-telemetry/context", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/opentelemetry-php/context.git", + "reference": "e9d254a7c89885e63fd2fde54e31e81aaaf52b7c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/opentelemetry-php/context/zipball/e9d254a7c89885e63fd2fde54e31e81aaaf52b7c", + "reference": "e9d254a7c89885e63fd2fde54e31e81aaaf52b7c", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "symfony/polyfill-php80": "^1.26", + "symfony/polyfill-php81": "^1.26", + "symfony/polyfill-php82": "^1.26" + }, + "suggest": { + "ext-ffi": "To allow context switching in Fibers" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.0.x-dev" + } + }, + "autoload": { + "files": [ + "fiber/initialize_fiber_handler.php" + ], + "psr-4": { + "OpenTelemetry\\Context\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "opentelemetry-php contributors", + "homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors" + } + ], + "description": "Context implementation for OpenTelemetry PHP.", + "keywords": [ + "Context", + "opentelemetry", + "otel" + ], + "support": { + "chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V", + "docs": "https://opentelemetry.io/docs/php", + "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", + "source": "https://github.com/open-telemetry/opentelemetry-php" + }, + "time": "2024-01-13T05:50:44+00:00" + }, { "name": "opis/closure", "version": "3.6.3", @@ -3758,6 +4002,194 @@ ], "time": "2023-04-27T10:17:12+00:00" }, + { + "name": "php-http/discovery", + "version": "1.20.0", + "source": { + "type": "git", + "url": "https://github.com/php-http/discovery.git", + "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d", + "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0|^2.0", + "php": "^7.1 || ^8.0" + }, + "conflict": { + "nyholm/psr7": "<1.0", + "zendframework/zend-diactoros": "*" + }, + "provide": { + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "*", + "psr/http-factory-implementation": "*", + "psr/http-message-implementation": "*" + }, + "require-dev": { + "composer/composer": "^1.0.2|^2.0", + "graham-campbell/phpspec-skip-example-extension": "^5.0", + "php-http/httplug": "^1.0 || ^2.0", + "php-http/message-factory": "^1.0", + "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", + "sebastian/comparator": "^3.0.5 || ^4.0.8", + "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1" + }, + "type": "composer-plugin", + "extra": { + "class": "Http\\Discovery\\Composer\\Plugin", + "plugin-optional": true + }, + "autoload": { + "psr-4": { + "Http\\Discovery\\": "src/" + }, + "exclude-from-classmap": [ + "src/Composer/Plugin.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations", + "homepage": "http://php-http.org", + "keywords": [ + "adapter", + "client", + "discovery", + "factory", + "http", + "message", + "psr17", + "psr7" + ], + "support": { + "issues": "https://github.com/php-http/discovery/issues", + "source": "https://github.com/php-http/discovery/tree/1.20.0" + }, + "time": "2024-10-02T11:20:13+00:00" + }, + { + "name": "php-http/httplug", + "version": "2.4.1", + "source": { + "type": "git", + "url": "https://github.com/php-http/httplug.git", + "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/httplug/zipball/5cad731844891a4c282f3f3e1b582c46839d22f4", + "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0", + "php-http/promise": "^1.1", + "psr/http-client": "^1.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "require-dev": { + "friends-of-phpspec/phpspec-code-coverage": "^4.1 || ^5.0 || ^6.0", + "phpspec/phpspec": "^5.1 || ^6.0 || ^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eric GELOEN", + "email": "geloen.eric@gmail.com" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" + } + ], + "description": "HTTPlug, the HTTP client abstraction for PHP", + "homepage": "http://httplug.io", + "keywords": [ + "client", + "http" + ], + "support": { + "issues": "https://github.com/php-http/httplug/issues", + "source": "https://github.com/php-http/httplug/tree/2.4.1" + }, + "time": "2024-09-23T11:39:58+00:00" + }, + { + "name": "php-http/promise", + "version": "1.3.1", + "source": { + "type": "git", + "url": "https://github.com/php-http/promise.git", + "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/promise/zipball/fc85b1fba37c169a69a07ef0d5a8075770cc1f83", + "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "friends-of-phpspec/phpspec-code-coverage": "^4.3.2 || ^6.3", + "phpspec/phpspec": "^5.1.2 || ^6.2 || ^7.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Http\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Joel Wurtz", + "email": "joel.wurtz@gmail.com" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Promise used for asynchronous HTTP requests", + "homepage": "http://httplug.io", + "keywords": [ + "promise" + ], + "support": { + "issues": "https://github.com/php-http/promise/issues", + "source": "https://github.com/php-http/promise/tree/1.3.1" + }, + "time": "2024-03-15T13:55:21+00:00" + }, { "name": "phpoffice/math", "version": "0.2.0", @@ -6660,6 +7092,82 @@ ], "time": "2024-09-09T11:45:10+00:00" }, + { + "name": "symfony/polyfill-php82", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php82.git", + "reference": "5d2ed36f7734637dacc025f179698031951b1692" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php82/zipball/5d2ed36f7734637dacc025f179698031951b1692", + "reference": "5d2ed36f7734637dacc025f179698031951b1692", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php82\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php82/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, { "name": "symfony/process", "version": "v5.4.47", diff --git a/docker-compose.yml b/docker-compose.yml index fabdcbbf9..e38409877 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -25,8 +25,9 @@ services: extnetwork: ipv4_address: "${APP_IPPR}.2" depends_on: - - redis - mariadb + - redis + - es restart: unless-stopped nginx: @@ -224,6 +225,17 @@ services: ipv4_address: "${APP_IPPR}.14" restart: unless-stopped + es: + container_name: "dootask-es-${APP_ID}" + image: "elasticsearch:8.17.2" + environment: + discovery.type: single-node + xpack.security.enabled: false + networks: + extnetwork: + ipv4_address: "${APP_IPPR}.15" + restart: unless-stopped + networks: extnetwork: name: "dootask-networks-${APP_ID}" diff --git a/docker/nginx/default.conf b/docker/nginx/default.conf index 0ae1e6afc..2f9e8fe65 100644 --- a/docker/nginx/default.conf +++ b/docker/nginx/default.conf @@ -78,130 +78,7 @@ server { proxy_pass http://service; } - location /fileview { - proxy_http_version 1.1; - proxy_set_header Connection ""; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Real-PORT $remote_port; - proxy_set_header X-Forwarded-Host $the_host; - proxy_set_header X-Forwarded-Proto $the_scheme; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $http_host; - proxy_set_header Scheme $scheme; - proxy_set_header Server-Protocol $server_protocol; - proxy_set_header Server-Name $server_name; - proxy_set_header Server-Addr $server_addr; - proxy_set_header Server-Port $server_port; - proxy_pass http://fileview:8012; - } - - location /office/ { - proxy_http_version 1.1; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Real-PORT $remote_port; - proxy_set_header X-Forwarded-Host $the_host/office; - proxy_set_header X-Forwarded-Proto $the_scheme; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $http_host; - proxy_set_header Scheme $scheme; - proxy_set_header Server-Protocol $server_protocol; - proxy_set_header Server-Name $server_name; - proxy_set_header Server-Addr $server_addr; - proxy_set_header Server-Port $server_port; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; - proxy_read_timeout 3600s; - proxy_send_timeout 3600s; - proxy_connect_timeout 3600s; - proxy_pass http://office/; - } - - location /drawio/webapp/ { - proxy_http_version 1.1; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Real-PORT $remote_port; - proxy_set_header X-Forwarded-Host $the_host/drawio/webapp; - proxy_set_header X-Forwarded-Proto $the_scheme; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $http_host; - proxy_set_header Scheme $scheme; - proxy_set_header Server-Protocol $server_protocol; - proxy_set_header Server-Name $server_name; - proxy_set_header Server-Addr $server_addr; - proxy_set_header Server-Port $server_port; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; - proxy_pass http://drawio-webapp:8080/; - } - - location /drawio/export/ { - proxy_http_version 1.1; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Real-PORT $remote_port; - proxy_set_header X-Forwarded-Host $the_host/drawio/export; - proxy_set_header X-Forwarded-Proto $the_scheme; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $http_host; - proxy_set_header Scheme $scheme; - proxy_set_header Server-Protocol $server_protocol; - proxy_set_header Server-Name $server_name; - proxy_set_header Server-Addr $server_addr; - proxy_set_header Server-Port $server_port; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; - proxy_pass http://drawio-export:8000/; - } - - location /minder/ { - proxy_http_version 1.1; - proxy_set_header Connection ""; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Real-PORT $remote_port; - proxy_set_header X-Forwarded-Host $the_host; - proxy_set_header X-Forwarded-Proto $the_scheme; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $http_host; - proxy_set_header Scheme $scheme; - proxy_set_header Server-Protocol $server_protocol; - proxy_set_header Server-Name $server_name; - proxy_set_header Server-Addr $server_addr; - proxy_set_header Server-Port $server_port; - proxy_pass http://minder/; - } - - # 审批 - location /approve/ { - proxy_pass http://approve/; - } - location /approve/api/ { - auth_request /approveAuth; - proxy_pass http://approve/api/; - } - location /approveAuth { - internal; - proxy_set_header Content-Type "application/json"; - proxy_set_header Content-Length $request_length; - proxy_pass http://service/api/approve/verifyToken; - } - - # OKR - location /apps/okr/ { - proxy_pass http://okr:5566/apps/okr/; - } - - # AI - location /ai/ { - proxy_http_version 1.1; - proxy_buffering off; - proxy_cache off; - proxy_read_timeout 3600s; - proxy_send_timeout 3600s; - proxy_connect_timeout 3600s; - proxy_set_header Scheme $scheme; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; - proxy_pass http://ai:5001/; - } + include /etc/nginx/conf.d/location/*.conf; } include /etc/nginx/conf.d/conf.d/*.conf; diff --git a/docker/nginx/location/ai.conf b/docker/nginx/location/ai.conf new file mode 100644 index 000000000..771227d56 --- /dev/null +++ b/docker/nginx/location/ai.conf @@ -0,0 +1,12 @@ +location /ai/ { + proxy_http_version 1.1; + proxy_buffering off; + proxy_cache off; + proxy_read_timeout 3600s; + proxy_send_timeout 3600s; + proxy_connect_timeout 3600s; + proxy_set_header Scheme $scheme; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_pass http://ai:5001/; +} diff --git a/docker/nginx/location/approve.conf b/docker/nginx/location/approve.conf new file mode 100644 index 000000000..ff492cc4f --- /dev/null +++ b/docker/nginx/location/approve.conf @@ -0,0 +1,13 @@ +location /approve/ { + proxy_pass http://approve/; +} +location /approve/api/ { + auth_request /approveAuth; + proxy_pass http://approve/api/; +} +location /approveAuth { + internal; + proxy_set_header Content-Type "application/json"; + proxy_set_header Content-Length $request_length; + proxy_pass http://service/api/approve/verifyToken; +} diff --git a/docker/nginx/location/drawio.conf b/docker/nginx/location/drawio.conf new file mode 100644 index 000000000..5a71c8a5b --- /dev/null +++ b/docker/nginx/location/drawio.conf @@ -0,0 +1,35 @@ +location /drawio/webapp/ { + proxy_http_version 1.1; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Real-PORT $remote_port; + proxy_set_header X-Forwarded-Host $the_host/drawio/webapp; + proxy_set_header X-Forwarded-Proto $the_scheme; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header Scheme $scheme; + proxy_set_header Server-Protocol $server_protocol; + proxy_set_header Server-Name $server_name; + proxy_set_header Server-Addr $server_addr; + proxy_set_header Server-Port $server_port; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_pass http://drawio-webapp:8080/; +} + +location /drawio/export/ { + proxy_http_version 1.1; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Real-PORT $remote_port; + proxy_set_header X-Forwarded-Host $the_host/drawio/export; + proxy_set_header X-Forwarded-Proto $the_scheme; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header Scheme $scheme; + proxy_set_header Server-Protocol $server_protocol; + proxy_set_header Server-Name $server_name; + proxy_set_header Server-Addr $server_addr; + proxy_set_header Server-Port $server_port; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_pass http://drawio-export:8000/; +} diff --git a/docker/nginx/location/fileview.conf b/docker/nginx/location/fileview.conf new file mode 100644 index 000000000..2ff0e824d --- /dev/null +++ b/docker/nginx/location/fileview.conf @@ -0,0 +1,16 @@ +location /fileview { + proxy_http_version 1.1; + proxy_set_header Connection ""; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Real-PORT $remote_port; + proxy_set_header X-Forwarded-Host $the_host; + proxy_set_header X-Forwarded-Proto $the_scheme; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header Scheme $scheme; + proxy_set_header Server-Protocol $server_protocol; + proxy_set_header Server-Name $server_name; + proxy_set_header Server-Addr $server_addr; + proxy_set_header Server-Port $server_port; + proxy_pass http://fileview:8012; +} diff --git a/docker/nginx/location/minder.conf b/docker/nginx/location/minder.conf new file mode 100644 index 000000000..521b37299 --- /dev/null +++ b/docker/nginx/location/minder.conf @@ -0,0 +1,16 @@ +location /minder/ { + proxy_http_version 1.1; + proxy_set_header Connection ""; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Real-PORT $remote_port; + proxy_set_header X-Forwarded-Host $the_host; + proxy_set_header X-Forwarded-Proto $the_scheme; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header Scheme $scheme; + proxy_set_header Server-Protocol $server_protocol; + proxy_set_header Server-Name $server_name; + proxy_set_header Server-Addr $server_addr; + proxy_set_header Server-Port $server_port; + proxy_pass http://minder/; +} diff --git a/docker/nginx/location/office.conf b/docker/nginx/location/office.conf new file mode 100644 index 000000000..23cea8c16 --- /dev/null +++ b/docker/nginx/location/office.conf @@ -0,0 +1,20 @@ +location /office/ { + proxy_http_version 1.1; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Real-PORT $remote_port; + proxy_set_header X-Forwarded-Host $the_host/office; + proxy_set_header X-Forwarded-Proto $the_scheme; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header Scheme $scheme; + proxy_set_header Server-Protocol $server_protocol; + proxy_set_header Server-Name $server_name; + proxy_set_header Server-Addr $server_addr; + proxy_set_header Server-Port $server_port; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_read_timeout 3600s; + proxy_send_timeout 3600s; + proxy_connect_timeout 3600s; + proxy_pass http://office/; +} diff --git a/docker/nginx/location/okr.conf b/docker/nginx/location/okr.conf new file mode 100644 index 000000000..a6a428e99 --- /dev/null +++ b/docker/nginx/location/okr.conf @@ -0,0 +1,3 @@ +location /apps/okr/ { + proxy_pass http://okr:5566/apps/okr/; +} diff --git a/language/original-api.txt b/language/original-api.txt index fab32c174..6e1ceaca2 100644 --- a/language/original-api.txt +++ b/language/original-api.txt @@ -171,9 +171,9 @@ LDAP 用户禁止修改邮箱 部门不存在或已被删除 最多只能创建(*)个部门 上级部门不存在或已被删除 -上级部门层级错误 +部门层级最多只能创建(*)级 每个部门最多只能创建(*)个子部门 -含有子部门无法修改上级部门 +含有子部门无法删除 请选择正确的部门负责人 新建成功 此功能未开启,请联系管理员开启 @@ -819,3 +819,5 @@ AI机器人不存在 获取失败 任务超期未完成 +每个用户最多只能负责(*)个部门 +不能选择自己的子部门作为上级部门 diff --git a/language/original-web.txt b/language/original-web.txt index 7f66a92cc..e853aae66 100644 --- a/language/original-web.txt +++ b/language/original-web.txt @@ -1703,7 +1703,6 @@ WiFi签到延迟时长为±1分钟。 选择群组 输入关键词搜索群 仅支持选择个人群转为部门群 -含有子部门无法修改上级部门 删除部门 你确定要删除【(*)】部门吗? 注意:此操作不可恢复,部门下的成员将移至默认部门。 @@ -1960,3 +1959,5 @@ API请求的URL路径 任务超期未完成 打开部门群 +群组 ID +最多选择(*)个部门 diff --git a/language/translate.json b/language/translate.json index ace3bea3b..deee0139b 100644 --- a/language/translate.json +++ b/language/translate.json @@ -19547,18 +19547,6 @@ "id": "Departemen induk tidak ada atau telah dihapus", "ru": "Родительский отдел не существует или был удален" }, - { - "key": "上级部门层级错误", - "zh": "", - "zh-CHT": "上級部門層級錯誤", - "en": "Parent department hierarchy error", - "ko": "상위 부서 계층 오류", - "ja": "上位部門の階層エラー", - "de": "Fehler in der Hierarchie der übergeordneten Abteilung", - "fr": "Erreur de hiérarchie du département parent", - "id": "Kesalahan hierarki departemen induk", - "ru": "Ошибка иерархии родительского отдела" - }, { "key": "每个部门最多只能创建(%T1)个子部门", "zh": "", @@ -19571,18 +19559,6 @@ "id": "Maksimal (%T1) sub-departemen dapat dibuat di setiap departemen", "ru": "В каждом отделе можно создать не более (%T1) подотделов" }, - { - "key": "含有子部门无法修改上级部门", - "zh": "", - "zh-CHT": "含有子部門無法修改上級部門", - "en": "Cannot modify parent department when subdepartments exist", - "ko": "하위 부서가 있는 경우 상위 부서를 수정할 수 없습니다", - "ja": "子部門がある場合、上位部門を変更できません", - "de": "Übergeordnete Abteilung kann nicht geändert werden, wenn Unterabteilungen vorhanden sind", - "fr": "Impossible de modifier le département parent lorsqu'il existe des sous-départements", - "id": "Tidak dapat mengubah departemen induk ketika terdapat subdepartemen", - "ru": "Невозможно изменить родительский отдел при наличии подотделов" - }, { "key": "请选择正确的部门负责人", "zh": "", @@ -28475,4 +28451,4 @@ "id": "Tugas terlambat dan belum selesai", "ru": "Задача просрочена и не завершена" } -] \ No newline at end of file +] diff --git a/package.json b/package.json index 8f2a4b9f0..4d64d20c7 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "stylus-loader": "^7.1.0", "tinymce": "^5.10.3", "tui-calendar-hi": "^1.15.1-5", - "view-design-hi": "^4.7.0-60", + "view-design-hi": "^4.7.0-61", "vite": "^2.9.15", "vite-plugin-file-copy": "^1.0.0", "vite-plugin-require": "^1.1.10", diff --git a/resources/assets/js/pages/manage/components/TaskDetail.vue b/resources/assets/js/pages/manage/components/TaskDetail.vue index 404545afe..d93e8dae2 100755 --- a/resources/assets/js/pages/manage/components/TaskDetail.vue +++ b/resources/assets/js/pages/manage/components/TaskDetail.vue @@ -1064,7 +1064,10 @@ export default { } } }, - taskDialogWidth(w) { + taskDialogWidth(w, o) { + if (o === -1) { + return; + } $A.setStorage('task.dialogWidth', w); }, },