diff --git a/admin/src/pages/Contact/email/Index.vue b/admin/src/pages/Contact/email/Index.vue index 4e2f228..e592919 100644 --- a/admin/src/pages/Contact/email/Index.vue +++ b/admin/src/pages/Contact/email/Index.vue @@ -101,7 +101,8 @@ const handleShowContent = (row) => { - + + diff --git a/admin/src/pages/Contact/email/components/content.vue b/admin/src/pages/Contact/email/components/content.vue index 121c95e..457937a 100644 --- a/admin/src/pages/Contact/email/components/content.vue +++ b/admin/src/pages/Contact/email/components/content.vue @@ -7,18 +7,18 @@ const props = defineProps(['data']); - - {{data.name}} + + {{data.company}} - - {{data.tel}} + + {{data.name}} - - {{data.address}} + + {{data.tel}} diff --git a/admin/src/pages/Contact/email/components/precardList.vue b/admin/src/pages/Contact/email/components/precardList.vue deleted file mode 100644 index c25bc85..0000000 --- a/admin/src/pages/Contact/email/components/precardList.vue +++ /dev/null @@ -1,53 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/app/adminapi/controller/EsgController.php b/app/app/adminapi/controller/EsgController.php index f403b8d..00c5bf3 100644 --- a/app/app/adminapi/controller/EsgController.php +++ b/app/app/adminapi/controller/EsgController.php @@ -20,6 +20,7 @@ class EsgController extends BaseController $list = Db::name('esg') ->where($where) + ->where('lang', $param['lang']) ->order('create_time', 'desc') ->page($page, $pageSize) ->select() @@ -27,6 +28,7 @@ class EsgController extends BaseController $total = Db::name('esg') ->where($where) + ->where('lang', $param['lang']) ->count(); foreach($list as $key => $val){ @@ -46,6 +48,7 @@ class EsgController extends BaseController $data = [ 'title' => isset($params['title'])?$params['title']:'', 'content' => isset($params['content'])?$params['content']:'', + 'lang' => isset($params['lang'])?$params['lang']:'tw', 'create_time' => date('Y-m-d H:i:s',time()) ]; diff --git a/app/app/adminapi/controller/NewsController.php b/app/app/adminapi/controller/NewsController.php index c9de0ea..43be370 100644 --- a/app/app/adminapi/controller/NewsController.php +++ b/app/app/adminapi/controller/NewsController.php @@ -20,6 +20,7 @@ class NewsController extends BaseController $list = Db::name('news') ->where($where) + ->where('lang', $param['lang']) ->order('create_time', 'desc') ->page($page, $pageSize) ->select() @@ -27,6 +28,7 @@ class NewsController extends BaseController $total = Db::name('news') ->where($where) + ->where('lang', $param['lang']) ->count(); foreach($list as $key => $val){ @@ -46,6 +48,7 @@ class NewsController extends BaseController $data = [ 'title' => isset($params['title'])?$params['title']:'', 'content' => isset($params['content'])?$params['content']:'', + 'lang' => isset($params['lang'])?$params['lang']:'tw', 'create_time' => date('Y-m-d H:i:s',time()) ]; diff --git a/app/app/appapi/controller/ContactController.php b/app/app/appapi/controller/ContactController.php index 430a8d1..fdcd3fe 100644 --- a/app/app/appapi/controller/ContactController.php +++ b/app/app/appapi/controller/ContactController.php @@ -33,8 +33,12 @@ class ContactController extends BaseController 'email' => $param['email'], 'content' => $param['content'], ]; + + $this->sendEmail($data); + try{ + Db::name('contact') ->insert($data); @@ -45,4 +49,21 @@ class ContactController extends BaseController } + private function sendEmail($data) + { + $to = "info.service@prodio.com.tw"; + // $to = "wwayne.hsu@gmail.com"; + $subject = "=?UTF-8?B?".base64_encode("【普達網站-聯絡我們】")."?="; + $message = " + 公司名稱: $data[company] + 姓名: $data[name] + 電話: $data[tel] + 電子郵件: $data[email] + 內容: $data[content] + "; + $headers = 'From: prodio' . "\r\n" . + 'Reply-To: info.service@prodio.com.tw' . "\r\n" . + 'X-Mailer: PHP/' . phpversion(); + mail($to, $subject, $message, $headers); + } } diff --git a/app/app/appapi/controller/IndexController.php b/app/app/appapi/controller/IndexController.php index dba7de4..f4a1e50 100644 --- a/app/app/appapi/controller/IndexController.php +++ b/app/app/appapi/controller/IndexController.php @@ -6,6 +6,10 @@ use app\appapi\BaseController; use support\Request; use think\facade\Db; +use PHPMailer\PHPMailer\PHPMailer; +use PHPMailer\PHPMailer\SMTP; +use PHPMailer\PHPMailer\Exception; + class IndexController extends BaseController { public function getConfig(Request $request) @@ -33,7 +37,6 @@ class IndexController extends BaseController $list = Db::name('banner') ->where('lang', $param['lang']) - ->order('id', 'desc') ->order('sort_order', 'asc') ->select() ->toArray(); @@ -78,7 +81,7 @@ class IndexController extends BaseController foreach ($list as $key => $val) { - switch($param['lang']){ + switch ($param['lang']) { case 'tw': $list[$key]['name'] = $val['name1']; break; @@ -89,7 +92,7 @@ class IndexController extends BaseController $list[$key]['name'] = $val['name3']; break; } - + $list[$key]['imageurl'] = $val['imageurl']; } @@ -131,4 +134,17 @@ class IndexController extends BaseController } return $tree; } + + public function sendEmail() + { + $to = 'wwayne.hsu@gmail.com'; + $subject = 'the subject'; + $message = 'hello123'; + $headers = 'From: prodiosystem' . "\r\n" . + 'X-Mailer: PHP/' . phpversion(); + + $rtn = mail($to, $subject, $message, $headers); + + return $rtn; + } } diff --git a/app/app/appapi/controller/SocialController.php b/app/app/appapi/controller/SocialController.php index f1a485e..439bc84 100644 --- a/app/app/appapi/controller/SocialController.php +++ b/app/app/appapi/controller/SocialController.php @@ -83,6 +83,7 @@ class SocialController extends BaseController } $result['list'][$key]['imageList'] = json_decode($val['image_list']); + $result['list'][$key]['create_time'] = date('Y-m-d', strtotime($val['create_time'])); unset($result['list'][$key]['image_list']); } diff --git a/app/composer.json b/app/composer.json index 7400e03..5ef77aa 100644 --- a/app/composer.json +++ b/app/composer.json @@ -29,7 +29,8 @@ "monolog/monolog": "^2.0", "webman/think-orm": "^1.1", "firebase/php-jwt": "^6.10", - "webman/cors": "^1.0" + "webman/cors": "^1.0", + "phpmailer/phpmailer": "^6.9" }, "suggest": { "ext-event": "For better performance. " diff --git a/app/composer.lock b/app/composer.lock index 707df4b..313ed78 100644 --- a/app/composer.lock +++ b/app/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": "2cb7928be53ae5b455419ac0578105b4", + "content-hash": "b00a9f2f0908e7e01092dbb62f405d67", "packages": [ { "name": "firebase/php-jwt", @@ -221,6 +221,87 @@ }, "time": "2018-02-13T20:26:39+00:00" }, + { + "name": "phpmailer/phpmailer", + "version": "v6.9.1", + "source": { + "type": "git", + "url": "https://github.com/PHPMailer/PHPMailer.git", + "reference": "039de174cd9c17a8389754d3b877a2ed22743e18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/039de174cd9c17a8389754d3b877a2ed22743e18", + "reference": "039de174cd9c17a8389754d3b877a2ed22743e18", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-filter": "*", + "ext-hash": "*", + "php": ">=5.5.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "doctrine/annotations": "^1.2.6 || ^1.13.3", + "php-parallel-lint/php-console-highlighter": "^1.0.0", + "php-parallel-lint/php-parallel-lint": "^1.3.2", + "phpcompatibility/php-compatibility": "^9.3.5", + "roave/security-advisories": "dev-latest", + "squizlabs/php_codesniffer": "^3.7.2", + "yoast/phpunit-polyfills": "^1.0.4" + }, + "suggest": { + "decomplexity/SendOauth2": "Adapter for using XOAUTH2 authentication", + "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", + "ext-openssl": "Needed for secure SMTP sending and DKIM signing", + "greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication", + "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", + "league/oauth2-google": "Needed for Google XOAUTH2 authentication", + "psr/log": "For optional PSR-3 debug logging", + "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)", + "thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPMailer\\PHPMailer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-only" + ], + "authors": [ + { + "name": "Marcus Bointon", + "email": "phpmailer@synchromedia.co.uk" + }, + { + "name": "Jim Jagielski", + "email": "jimjag@gmail.com" + }, + { + "name": "Andy Prevost", + "email": "codeworxtech@users.sourceforge.net" + }, + { + "name": "Brent R. Matzelle" + } + ], + "description": "PHPMailer is a full-featured email creation and transfer class for PHP", + "support": { + "issues": "https://github.com/PHPMailer/PHPMailer/issues", + "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.9.1" + }, + "funding": [ + { + "url": "https://github.com/Synchro", + "type": "github" + } + ], + "time": "2023-11-25T22:23:28+00:00" + }, { "name": "psr/container", "version": "2.0.2", diff --git a/app/supervisord.pid b/app/supervisord.pid deleted file mode 100644 index d00491f..0000000 --- a/app/supervisord.pid +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/docker-compose-dev.yaml b/docker-compose-dev.yaml index f5e3fad..6cdd103 100644 --- a/docker-compose-dev.yaml +++ b/docker-compose-dev.yaml @@ -25,7 +25,10 @@ services: # networks: # - internal api: - image: krisss/docker-webman:8.2-cli-alpine + # image: krisss/docker-webman:8.2-cli-alpine + build: + context: . + dockerfile: ./webman/Dockerfile container_name: "prodio-api" ports: - "6065:8787" @@ -50,6 +53,13 @@ services: # container_name: "prodio-redis" # networks: # - internal + mail: + image: boky/postfix + container_name: "prodio-mail" + environment: + - ALLOWED_SENDER_DOMAINS=prodio.com.tw + - POSTFIX_always_add_missing_headers=yes + - HOSTNAME=mail.prodio.com.tw # set to the hostname of the server phpmyadmin: image: phpmyadmin/phpmyadmin container_name: "prodio-myadmin" diff --git a/docker-compose.yaml b/docker-compose.yaml index 78f331e..31e8d46 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -13,10 +13,13 @@ services: networks: - internal api: - image: krisss/docker-webman:8.2-cli-alpine + # image: krisss/docker-webman:8.2-cli-alpine + build: + context: . + dockerfile: ./webman/Dockerfile container_name: "prodio-api" ports: - - "6060:8787" + - "6065:8787" volumes: - ./app:/app networks: @@ -26,8 +29,8 @@ services: context: . dockerfile: ./mysql/Dockerfile container_name: "prodio-mysql" - ports: - - "3306:3306" + # ports: + # - "3306:3306" networks: - internal volumes: @@ -40,6 +43,16 @@ services: # container_name: "prodio-redis" # networks: # - internal + mail: + image: boky/postfix + container_name: "prodio-mail" + environment: + - ALLOW_EMPTY_SENDER_DOMAINS=true + # - ALLOWED_SENDER_DOMAINS=prodio.com.tw + - POSTFIX_always_add_missing_headers=yes + - HOSTNAME=zltest.com.tw # set to the hostname of the server + networks: + - internal phpmyadmin: image: phpmyadmin/phpmyadmin container_name: "prodio-myadmin" diff --git a/web/assets/img/contact.jpg b/web/assets/img/contact.jpg new file mode 100644 index 0000000..0df6804 Binary files /dev/null and b/web/assets/img/contact.jpg differ diff --git a/web/assets/img/iStock.jpg b/web/assets/img/iStock.jpg new file mode 100644 index 0000000..7d73539 Binary files /dev/null and b/web/assets/img/iStock.jpg differ diff --git a/web/assets/img/news.jpg b/web/assets/img/news.jpg new file mode 100644 index 0000000..747d2e4 Binary files /dev/null and b/web/assets/img/news.jpg differ diff --git a/web/assets/img/pageBanner/p3.jpg b/web/assets/img/pageBanner/p3.jpg index 05a6b06..85a7a31 100644 Binary files a/web/assets/img/pageBanner/p3.jpg and b/web/assets/img/pageBanner/p3.jpg differ diff --git a/web/components/PageBanner.vue b/web/components/PageBanner.vue index 3490175..e9266e9 100644 --- a/web/components/PageBanner.vue +++ b/web/components/PageBanner.vue @@ -1,5 +1,5 @@