特色摘要
\"\"
香港的地道文化與藝術底蘊
街巷探秘:西九龍

西九龍到處是繁華熱鬧的商場與密集的住宅大廈,《紅磚屋》、《油麻地天后廟群》、《戲曲中心》、當代藝術元素與傳統工藝、富時代感的老建築互相碰撞融合。對於文化愛好者來講,大街小巷之間皆是驚喜。不論你是藝術迷、攝影達人或是歷史與建築愛好者,都可以跟著這個指南,探索藝術地標、傳統老店和歷史建築,重新認識香港。

戲曲中心\"\"
非拍不可!
處處都是打卡好景點

無論是充滿維多利亞風情的《1881 Heritage》,抑或是電影變形金剛拍攝地,且有怪獸大廈之稱的《海山樓》,還有色彩繽紛的《彩虹邨》,《中環、上環壁畫》以及綠意盎然的《南山邨》,隨手按下快門都是一張張IG熱門照!


旗袍體驗\"\"
一分一秒,都很珍貴
深度體驗香港

可以搭乘《山頂纜車》,盡情欣賞美麗的《太平山夜景》,也可以漫步到西九文化區最新建造的《戲曲中心》體驗視覺文化的衝擊,或是穿上《旗袍》到香港各處留下倩影;晚上再到《維多利亞港》吹吹海風,觀賞精彩的燈光秀。

半島酒店下午茶(兩人一套)\"\"
行程特色
善用地鐵,遊玩超方便
研究好路線,去哪都方便
代步選擇《港鐵/叮叮車》

到達香港機場之後,可以選擇搭乘《機場快線單程》前往繁華市區,開啟屬於您的香港之旅。

在香港旅遊,《香港港鐵》就是你的好夥伴!

地鐵沿線遍布各大知名旅遊景點,一張地鐵圖在手,無論去哪都非常方便。

當然也可以體驗一下擁有百年歷史的《叮叮車》,窄窄高高的雙層設計,外觀塗滿五顏六色的廣告,沿著軌道在市區道路上行駛,是香港最獨特的街景。

雖然車內沒冷氣,但這才是最正宗的香港味
研究好路線,去哪都方便
代步選擇《港鐵/叮叮車》

到達香港機場之後,可以選擇搭乘《機場快線單程》前往繁華市區,開啟屬於您的香港之旅。

在香港旅遊,《香港港鐵》就是你的好夥伴!

地鐵沿線遍布各大知名旅遊景點,一張地鐵圖在手,無論去哪都非常方便。

當然也可以體驗一下擁有百年歷史的《叮叮車》,窄窄高高的雙層設計,外觀塗滿五顏六色的廣告,沿著軌道在市區道路上行駛,是香港最獨特的街景。

M+當代視覺文化新地標
M+當代視覺文化新地標
M+Museum
藝文創意-M+博物館

M+博物館以全新角度詮釋當代藝術,當代文化藏品來自本地、大中華地區、亞洲及世界各地,涵蓋視覺藝術、設計及建築,以及流動影像三大範疇,,共設33個展廳。展廳大多設於二樓平台,提供貫通流暢的觀展體驗;縱向大樓的外觀則與城市景色互相呼應,混凝土結構以陶瓦覆蓋,外觀隨光線與天氣而改變。大樓外牆更設有LED大型屏幕,展示M+藏品及特別委約創作的作品,以獨特方式為香港夜景增添色彩。

香港故宮文化博物館
在地文化
Hong Kong Palace Museum
香港故宮文化博物館

香港世界級文化地標-香港故宮文化博物館香港故宮正式開幕。香港故宮位於西九文化區西陲,分為九個展覽館,展出近千件由北京故宮博物院借出的珍貴文物。博物館亦設有兩個以香港為出發點的專題展覽。「古今無界—故宮文化再詮釋」藉由六位香港多媒體與跨界藝術家的獨到視角,以香港的角度重新詮釋故宮文化和收藏;「同賞共樂—穿越香港收藏史」就回顧了香港一個多世紀以來的中國藝術收藏活動,及本地博物館的發展軌跡。

讓錢錢都變成喜歡的形狀
鄰近機場的知名OUTLET
《東薈城名店倉》剁手手囉

位於港鐵東涌站的《東薈城名店倉》是香港知名的首間名牌折扣OUTLET,隸屬於東薈城商場的一部分。

除了OUTLET本身之外,這裡還有9層樓高的商業大廈和諾富特東薈城酒店,入駐的品牌從時尚精品到小資品牌,應有盡有,號稱是香港品牌數量最多的OUTLET;且全年折扣至少3~7折,保證逛到手軟、買到手軟!

真的累了的話也可以到廣場小憩一下,欣賞音樂噴泉表演或是不定期的熱鬧活動噢!


古蹟活化文創商場逛街去
體驗香港在地匠人文化
《PMQ元創方》文創風商場

香港上環的《PMQ元創方》由舊荷李活道已婚警察宿舍改建,2014年時利用舊建築重新活化,搖身一變成為一個文創商品市集。

兩棟七層樓高的建築有許多文創商店進駐,也時常舉辦各式展覽,是個不同於百貨精品的購物區。

欣賞建築本身的深濃厚歷史之餘,也可在這裡採購一些別出心裁的紀念品,送禮自用兩相宜。

穿上旗袍,像《花樣年華》中的張曼玉一樣優雅地漫步在這座城市中
在這個新舊並存的城市中留下一些特殊回憶
穿上《旗袍》體驗復古花漾年華

去到日本或是韓國,都會想租個和服或韓服拍拍美照過過癮,那麼來到繁華熱鬧的香港,不論是與情人、家人或是朋友,怎麼能錯過租借《旗袍》這樣的體驗呢?

在香港有許多地方都有租借《旗袍》的服務,尤其中環一帶更是有許多商家可以選擇;花色繁多琳瑯滿目,租借之後可以到石板街(砵典乍街)中環星巴克冰室大館(中區警署建築群)文武廟等充滿舊時代韻味的景點拍下美照唷!

在密密麻麻的大樓裡尋找一片藍天
變形金剛四電影場景拍攝地
打卡推薦-《海山樓》

香港地狹人稠,土地寸土寸金,因此建築往往都只能往高了蓋,造就了獨特的天際線;在這密密麻麻的都市叢林中,別有一番香港的迷人魅力。

位於地鐵太古站的《海山樓》又稱「怪獸大廈」,因為在知名的變形金剛四電影初登場後,成為許多影迷必然朝聖的香港景點。

密密麻麻的大樓中央僅有一個天井,讓人好像是生活在井底的青蛙,嚮往著頭上那一小片的藍天,強烈的壓迫感便是《海山樓》最大的特色。

無論晴雨,彩虹總在這裡為你停留
香港人生活的舞台
打卡推薦-《彩虹邨》

位於九龍黃大仙區的《彩虹邨》是香港最早期興建的公共屋邨,比鄰的地鐵站也因此命名。

彩虹邨》這座社區最大的特色就是大廈外牆均由不同顏色做區分,而所有大廈組合起來就是彩虹的顏色。也因為是一般社區,所以也有許多居民在此休息、談天,與其說是觀光景點,不如說是更能貼近港人生活的所在。

對於每天大量慕名而來的遊客,當地居民似乎也見怪不怪,遊客們花樣百出的拍照姿勢,也能說是為《彩虹邨》的繽紛錦上添花吧!

簡直是綠色色卡的實體版本
100種生活,100種綠意的集合
打卡推薦-《南山邨》

地鐵石硤尾站的《南山邨》與《彩虹邨》同樣是公共屋邨,而《南山邨》最大的特色就是回字形的建築中包圍著一座廣場,廣場兩側設有舊式兒童遊樂場,空地則被三面被大廈圍繞,而且屋宅都漆上了各種綠色:青草綠、蘋果綠、抹茶綠、薄荷綠......可以用來形容的綠色的詞彙都在這裡呈現了,層次不同的綠色一字展開,讓人像是翻開了一張屬於森林的色票,如果是綠色控肯定不能錯過這裡!

車廂的復古墨綠色車身讓人特別雀躍呢
百萬夜景盡收眼底
精選推薦-《太平山夜景》

號稱擁有世界「三大百萬夜景」的香港《太平山》,在百年前即為英國人津津樂道。若想要盡情欣賞夜景,可搭乘具有百年歷史的《山頂纜車》前往。

山頂纜車》經過翻新後已經重開。最新的第六代纜車換上復古墨綠色車身。改良後的山頂纜車配備全景玻璃窗,讓乘客在搭乘期間,能多角度欣賞維港景色。

到達山頂後,很有「登太平山而小香港」的雄心壯志;待華燈初上,閃爍的城市燈光宛若星辰,美麗不可言喻。


秒殺相機底片的美麗夜景
百萬夜景盡收眼底
精選推薦-《太平山夜景》

號稱擁有世界「三大百萬夜景」的香港《太平山》,在百年前即為英國人津津樂道。若想要盡情欣賞夜景,可搭乘具有百年歷史的《山頂纜車》前往。

山頂纜車》經過翻新後已經重開。最新的第六代纜車換上復古墨綠色車身。改良後的山頂纜車配備全景玻璃窗,讓乘客在搭乘期間,能多角度欣賞維港景色。

到達山頂後,很有「登太平山而小香港」的雄心壯志;待華燈初上,閃爍的城市燈光宛若星辰,美麗不可言喻。


白天的港口很適合徐徐漫步拍照
從港口認識一個城市
漫步推薦-《維多利亞港》

英國管轄過的香港留下了許多文化交融的痕跡。英國人相中香港的潛力,建設了《維多利亞港》,並以此為中心開始開發香港,打造出了「世界三大天然良港」,主導香港經濟和旅遊業發展,奠定了香港的繁華基礎,讓香港躍升成為國際大城市。

此後《維多利亞港》基本上成為了香港的地標,沿著港口漫步,不僅可以欣賞到城市天際線、還可以看到著名的「星光大道」、「天星小輪」和「尖沙咀鐘樓」;若在夜晚時來到這裡,夜景更是一絕!

現場浪漫氛圍讓人們都陶醉
亞洲最美最炫麗燈光秀
夜景推薦-《幻彩詠香江》

入夜後,《維多利亞港》兩岸密集的建築一一點起燈光,璀璨的燈光,香港彷彿才漸漸甦醒。

若逢天氣良好,每晚八點整會在港口上演《幻彩詠香江》的燈光秀;隨著音樂節奏的律動,建築物依次閃爍著繽紛而躍動的燈光,再搭配大型LED螢幕圖案投影,是來香港絕對不能錯過的一場聲光盛宴。

沉醉在維多利亞的氛圍裡
享受百年奢華的浪漫氛圍
美拍推薦-《1881 Heritage》

1881 Heritage》前身是「前香港水警總部」,並於1994年成為香港法定古蹟,地點就在碼頭旁,看完《幻彩詠香江》後正好能繞過來漫步。

建築物本身保留原本的維多利亞風格,並且入駐許多精品店與餐廳;廣場則會因應不同的節慶給予不同的布置,搭配上綠意盎然的植物,有種身處英國花園的錯覺。

不僅遊客喜歡在此拍照留念,此處也是香港熱門婚紗拍攝地唷!


食物圖片僅供參考,請以實際為準
畢生難忘的濃純香
消暑推薦-《雙皮燉奶》

將蛋白與蛋黃仔細地分開,緩緩在蛋白中倒入砂糖,打發蛋白至混和均勻;在另外使用鍋子小火煮滾牛奶後緩緩倒入蛋白碗中,只留下一層薄如蟬翼的奶皮在原本鍋中,攪拌調味後在到回原本有奶皮的鍋中隔水蒸熟,如此一道細緻柔滑的奶製甜品-《雙皮燉奶》就大功告成了!

可以單吃原味,也可加入紅豆或是巧克力等增加風味,熱的吃冷的吃都美味,但在炎熱的天氣裡來上一碗冰涼的《雙皮燉奶》可是人間天堂!

食物圖片僅供參考,請以實際為準
來到香港,還不喝上一杯 ?
消暑推薦-《凍檸茶/奶茶》

在台灣隨處可見手搖飲料店,天氣熱時人手一杯十分消暑暢快,而來到香港,那必然不能錯過當地最有特色的《凍檸茶》和《絲襪奶茶》了!

在紅茶裡加入適量的白糖與檸檬片,還有晶瑩剔透的冰塊,透著光的《凍檸茶》酸甜的滋味令人回味再三;將混合比例適當的紅茶葉煮滾後再以棉紗網反覆過濾,使紅茶更香滑,然後再加入淡奶和糖,別有特色的《絲襪奶茶》便做好了!

炎炎夏日,來上任一種茶飲,啊嘶,真是痛快!

食物圖片僅供參考,請以實際為準
米其林一星等級的甜點
消暑推薦-《楊枝甘露》

楊枝甘露》絕對可說是當今香港的冠軍甜品,據說是1984年利苑酒家(米其林一星)大廚黃永熾的父親所研發。

楊枝指的是柚子肉,甘露則是底下的椰奶西米露,甜味則主要來自於芒果;柚子的清爽和芒果的甜膩相得益彰,椰奶又更增加了這道甜品的層次。

即使日頭赤炎炎,只要吃上一碗,所有的汗水都值得了!

食物圖片僅供參考,請以實際為準
QQ彈彈,香港宵夜首選
小吃推薦-《咖哩魚蛋》

在台灣,要是晚上有點兒嘴饞,通常會去買點鹹酥雞、滷味或是臭豆腐;來到香港呢,當然也要試試最道地的街頭小吃攤囉!

香港街頭處處可見《咖哩魚蛋》的攤位,用魚漿混合澱粉揉成丸狀,油炸至表面金黃,內裡保持雪白軟嫩,再用咖哩醬汁調味,濃郁的香味,微微的辛香料刺激著味蕾,彈牙的口感令人一顆接一顆停不下來!

食物圖片僅供參考,請以實際為準
無法拒絕的奶香四溢
小吃推薦-《雞蛋仔》

雞蛋仔》大概在五零年代前就存在了,據說原本是雜貨店老闆為免浪費,將破裂的雞蛋加入奶油、麵粉調製成蛋漿,再倒入模具內烘成點心,並稱為《雞蛋仔》,沒想到大受歡迎,更成為了香港人的集體的回憶。

現在《雞蛋仔》的口味可說是百花齊放,有原味的,也有巧克力、抹茶、冰淇淋等;口感酥脆或者扎實,人人各有所好,但享用的幸福滿足是一致的!

食物圖片僅供參考,請以實際為準
一籠一籠的香氣,讓人口水直流
小吃推薦-《港式飲茶》

到了香港一定要嘗試道地的美食,最具代表性的就是《港式飲茶》。穿梭在座位間的點心推車、用大碗公清潔餐具、桌上的蒸籠、各式點心以及和不認識的人併桌,完全能體驗到最在地的文化。

像是鹹香的「奶黃流沙包」、扎實綿密的「千層馬來糕」、各種口味的「燒賣」與「腸粉」也非常值得一試!

食物圖片僅供參考,請以實際為準
酸甜酸甜好滋味
送禮推薦-《檸檬王》

創立於1973年的《檸檬王》原本僅是一間以販賣各式果乾蜜餞的攤販,但現在已發展為一間明亮的店面,所販賣的品項也增加了許多。

但主打招牌,同時也是最受歡迎的依然是「甘草檸檬」,在吃之前將附贈的甘草粉全部倒入包裝內,搖一搖讓甘草平均附著在檸檬片上,吃起來酸甜甘鹹,讓人一口接一口都停不下來,非常適合作為聊天泡茶的小點心唷!

食物圖片僅供參考,請以實際為準
酥酥脆脆,令人停不下來的美味
送禮推薦-《珍妮曲奇餅乾》

這幾年觀光客來到香港旅遊,必買伴手禮《珍妮曲奇餅乾》必定榜上有名。距離《檸檬王》僅有走路不到兩分鐘的距離,很適合一次採買完畢。

創始人Jenny是來自馬來西亞的華僑,原本僅是因為喜歡烘焙,沒想到手藝實在太好,所烤製的餅乾實在太好吃了,因此一炮而紅;又因為創始人喜歡收藏泰迪熊,所以餅乾罐子就以小熊為圖案,靠著口耳相傳打出了口碑,成為來港必買的伴手禮之一。


※店內僅收現金,不接受刷卡。

食物圖片僅供參考,請以實際為準
給你超多小心心~💕
送禮推薦-《曲奇四重奏》

除了《珍妮曲奇餅乾》之外,另一項赫赫有名的伴手禮便是《曲奇四重奏》了。創立於2008年的《曲奇四重奏》,老闆一共有前港姐、音樂人、五星級酒店糕餅主廚與食物造型師;名氣加持下,一推出就立即造成轟動。

店面裝潢典雅,餅乾也主打低油低糖的健康路線;每個品項都可以試吃後再選擇是否購買,十分貼心。其中最受歡迎的非「蝴蝶酥」莫屬,薄薄的一層層酥皮對摺成漂亮的蝴蝶,又像是愛心的形狀,清爽的甜味令人欲罷不能。


半島酒店房間
簡約而別緻優雅的設計為原則
The Peninsula Hong Kong
香港半島酒店

香港半島酒店建於 1928 年,是香港歷史最悠久的酒店,時至今天繼續為<全球頂級酒店奠立高水平新標準>。半島酒店延續「遠東貴婦」的傳奇,經典尊貴的氣質無與倫比,高雅風采恆久雋永,融合了東西方待客之道的精髓。下榻半島酒店,重新感受早些年代的旅遊璀璨魅力,並觀賞酒店內擺放的眾多古蹟文物。


香港半島酒店
「藝術共鳴」
The Peninsula Hong Kong
半島酒店外觀

香港半島酒店於1928年開幕,為香港上海大酒店的旗艦酒店,亦是集團首間命名為「半島」的酒店。香港半島酒店由香港上海大酒店全資擁有,並一直被視為全球最《頂級的豪華酒店之一》
此外,豪華的半島水療中心則於2006 年開幕。半島酒店商場是香港最《頂級的購物地點》,精心網羅了80個世界頂尖品牌和本土設計師品牌,為顧客提供一個獨特的豪華購物體驗。

","orderDl":"2026/03/14","webPd":"Y","airPt":"桃園國際機場","airline":"JX","leavDt":"2026/03/14","weekNm":7,"retnDt":"2026/03/16","dordFg":true,"dordAm":8000,"dordRate":"0","dordDl":"2026/03/14","dordDl2":"3","itnInc":"
    \t
  1. \t

    桃園國際機場/澳門/桃園國際機場,經濟艙機票。

    \t
  2. \t
  3. \t

    每位旅客免費享有1件限重23公斤的托運行李,以及1件限重7公斤的手提行李。(其他行李相關限制請詳閱各航空公司官網)。

    \t
  4. \t
  5. \t

    澳門兩晚住宿(兩大兩小、四人一室)。

    \t
  6. \t
  7. \t

    影滙之星摩天輪每人乙張。

    \t
  8. \t
  9. \t

    每房贈送吃到飽上網SIM卡乙張。

    \t
  10. \t
  11. \t

    旅行業責任保險【意外死殘保額新臺幣250萬、意外醫療保額新臺幣20萬 (實支實付)】。

    \t
  12. \t
  13. 兩地機場稅、燃油附加費。
\r\n","itnExc":"
    \t
  1. \t

    全程單人房(意指使用飯店安排單人床房型)加價NT8,000元。

    \t
  2. \t
  3. \t

    不含旅遊平安保險及旅遊不便險。","itn951":"
    特色摘要
    \"\"
    香港的地道文化與藝術底蘊
    街巷探秘:西九龍

    西九龍到處是繁華熱鬧的商場與密集的住宅大廈,《紅磚屋》、《油麻地天后廟群》、《戲曲中心》、當代藝術元素與傳統工藝、富時代感的老建築互相碰撞融合。對於文化愛好者來講,大街小巷之間皆是驚喜。不論你是藝術迷、攝影達人或是歷史與建築愛好者,都可以跟著這個指南,探索藝術地標、傳統老店和歷史建築,重新認識香港。

    戲曲中心\"\"
    再享好禮送不完
    處處都是打卡好景點

    無論是充滿維多利亞風情的《1881 Heritage》,抑或是電影變形金剛拍攝地,且有怪獸大廈之稱的《海山樓》,還有色彩繽紛的《彩虹邨》以及綠意盎然的《南山邨》,隨手按下快門都是一張張IG熱門照!

    為了讓您的香港自由行更加便利,百威旅遊額外贈送:

    1.每房一份《香港精美旅遊手冊
    2.每房一套《半島酒店下午茶


    旗袍體驗\"\"
    一分一秒,都很珍貴
    深度體驗香港

    可以搭乘《山頂纜車》,盡情欣賞美麗的《太平山夜景》,也可以漫步到西九文化區最新建造的《戲曲中心》體驗視覺文化的衝擊,或是穿上《旗袍》到香港各處留下倩影;晚上再到《維多利亞港》吹吹海風,觀賞精彩的燈光秀。

    半島酒店下午茶(兩人一套)\"\"
    行程特色
    善用地鐵,遊玩超方便
    研究好路線,去哪都方便
    代步選擇《港鐵/叮叮車》

    在香港旅遊,《香港港鐵》就是你的好夥伴!

    到達香港機場之後,可以選擇搭乘《機場快線單程》前往繁華市區,開啟屬於您的香港之旅。

    地鐵沿線遍布各大知名旅遊景點,一張地鐵圖在手,無論去哪都非常方便。

    當然也可以體驗一下擁有百年歷史的《叮叮車》,窄窄高高的雙層設計,外觀塗滿五顏六色的廣告,沿著軌道在市區道路上行駛,是香港最獨特的街景。



    雖然車內沒冷氣,但這才是最正宗的香港味
    研究好路線,去哪都方便
    代步選擇《港鐵/叮叮車》

    在香港旅遊,《香港港鐵》就是你的好夥伴!

    到達香港機場之後,可以選擇搭乘《機場快線單程》前往繁華市區,開啟屬於您的香港之旅。

    地鐵沿線遍布各大知名旅遊景點,一張地鐵圖在手,無論去哪都非常方便。

    當然也可以體驗一下擁有百年歷史的《叮叮車》,窄窄高高的雙層設計,外觀塗滿五顏六色的廣告,沿著軌道在市區道路上行駛,是香港最獨特的街景。





    M+當代視覺文化新地標
    M+當代視覺文化新地標
    M+Museum
    藝文創意-M+博物館

    M+博物館以全新角度詮釋當代藝術,當代文化藏品來自本地、大中華地區、亞洲及世界各地,涵蓋視覺藝術、設計及建築,以及流動影像三大範疇,,共設33個展廳。展廳大多設於二樓平台,提供貫通流暢的觀展體驗;縱向大樓的外觀則與城市景色互相呼應,混凝土結構以陶瓦覆蓋,外觀隨光線與天氣而改變。大樓外牆更設有LED大型屏幕,展示M+藏品及特別委約創作的作品,以獨特方式為香港夜景增添色彩。

    香港故宮文化博物館
    在地文化
    Hong Kong Palace Museum
    香港故宮文化博物館

    香港世界級文化地標-香港故宮文化博物館香港故宮正式開幕。香港故宮位於西九文化區西陲,分為九個展覽館,展出近千件由北京故宮博物院借出的珍貴文物。博物館亦設有兩個以香港為出發點的專題展覽。「古今無界—故宮文化再詮釋」藉由六位香港多媒體與跨界藝術家的獨到視角,以香港的角度重新詮釋故宮文化和收藏;「同賞共樂—穿越香港收藏史」就回顧了香港一個多世紀以來的中國藝術收藏活動,及本地博物館的發展軌跡。

    讓錢錢都變成喜歡的形狀
    鄰近機場的知名OUTLET
    《東薈城名店倉》剁手手囉

    位於港鐵東涌站的《東薈城名店倉》是香港知名的首間名牌折扣OUTLET,隸屬於東薈城商場的一部分。

    除了OUTLET本身之外,這裡還有9層樓高的商業大廈和諾富特東薈城酒店,入駐的品牌從時尚精品到小資品牌,應有盡有,號稱是香港品牌數量最多的OUTLET;且全年折扣至少3~7折,保證逛到手軟、買到手軟!

    真的累了的話也可以到廣場小憩一下,欣賞音樂噴泉表演或是不定期的熱鬧活動噢!


    古蹟活化文創商場逛街去
    體驗香港在地匠人文化
    《PMQ元創方》文創風商場

    香港上環的《PMQ元創方》由舊荷李活道已婚警察宿舍改建,2014年時利用舊建築重新活化,搖身一變成為一個文創商品市集。

    兩棟七層樓高的建築有許多文創商店進駐,也時常舉辦各式展覽,是個不同於百貨精品的購物區。

    欣賞建築本身的深濃厚歷史之餘,也可在這裡採購一些別出心裁的紀念品,送禮自用兩相宜。

    穿上旗袍,像《花樣年華》中的張曼玉一樣優雅地漫步在這座城市中
    在這個新舊並存的城市中留下一些特殊回憶
    穿上《旗袍》體驗復古花漾年華

    去到日本或是韓國,都會想租個和服或韓服拍拍美照過過癮,那麼來到繁華熱鬧的香港,不論是與情人、家人或是朋友,怎麼能錯過租借《旗袍》這樣的體驗呢?

    在香港有許多地方都有租借《旗袍》的服務,尤其中環一帶更是有許多商家可以選擇;花色繁多琳瑯滿目,租借之後可以到石板街(砵典乍街)中環星巴克冰室大館(中區警署建築群)文武廟等充滿舊時代韻味的景點拍下美照唷!

    在密密麻麻的大樓裡尋找一片藍天
    變形金剛四電影場景拍攝地
    打卡推薦-《海山樓》

    香港地狹人稠,土地寸土寸金,因此建築往往都只能往高了蓋,造就了獨特的天際線;在這密密麻麻的都市叢林中,別有一番香港的迷人魅力。

    位於地鐵太古站的《海山樓》又稱「怪獸大廈」,因為在知名的變形金剛四電影初登場後,成為許多影迷必然朝聖的香港景點。

    密密麻麻的大樓中央僅有一個天井,讓人好像是生活在井底的青蛙,嚮往著頭上那一小片的藍天,強烈的壓迫感便是《海山樓》最大的特色。

    無論晴雨,彩虹總在這裡為你停留
    香港人生活的舞台
    打卡推薦-《彩虹邨》

    位於九龍黃大仙區的《彩虹邨》是香港最早期興建的公共屋邨,比鄰的地鐵站也因此命名。

    彩虹邨》這座社區最大的特色就是大廈外牆均由不同顏色做區分,而所有大廈組合起來就是彩虹的顏色。也因為是一般社區,所以也有許多居民在此休息、談天,與其說是觀光景點,不如說是更能貼近港人生活的所在。

    對於每天大量慕名而來的遊客,當地居民似乎也見怪不怪,遊客們花樣百出的拍照姿勢,也能說是為《彩虹邨》的繽紛錦上添花吧!

    簡直是綠色色卡的實體版本
    100種生活,100種綠意的集合
    打卡推薦-《南山邨》

    地鐵石硤尾站的《南山邨》與《彩虹邨》同樣是公共屋邨,而《南山邨》最大的特色就是回字形的建築中包圍著一座廣場,廣場兩側設有舊式兒童遊樂場,空地則被三面被大廈圍繞,而且屋宅都漆上了各種綠色:青草綠、蘋果綠、抹茶綠、薄荷綠......可以用來形容的綠色的詞彙都在這裡呈現了,層次不同的綠色一字展開,讓人像是翻開了一張屬於森林的色票,如果是綠色控肯定不能錯過這裡!

    車廂的復古墨綠色車身讓人特別雀躍呢
    百萬夜景盡收眼底
    精選推薦-《太平山夜景》

    號稱擁有世界「三大百萬夜景」的香港《太平山》,在百年前即為英國人津津樂道。若想要盡情欣賞夜景,可搭乘具有百年歷史的《山頂纜車》前往。

    山頂纜車》經過翻新後已經重開。最新的第六代纜車換上復古墨綠色車身。改良後的山頂纜車配備全景玻璃窗,讓乘客在搭乘期間,能多角度欣賞維港景色。

    到達山頂後,很有「登太平山而小香港」的雄心壯志;待華燈初上,閃爍的城市燈光宛若星辰,美麗不可言喻。


    秒殺相機底片的美麗夜景
    百萬夜景盡收眼底
    精選推薦-《太平山夜景》

    號稱擁有世界「三大百萬夜景」的香港《太平山》,在百年前即為英國人津津樂道。若想要盡情欣賞夜景,可搭乘具有百年歷史的《山頂纜車》前往。

    山頂纜車》經過翻新後已經重開。最新的第六代纜車換上復古墨綠色車身。改良後的山頂纜車配備全景玻璃窗,讓乘客在搭乘期間,能多角度欣賞維港景色。

    到達山頂後,很有「登太平山而小香港」的雄心壯志;待華燈初上,閃爍的城市燈光宛若星辰,美麗不可言喻。


    白天的港口很適合徐徐漫步拍照
    從港口認識一個城市
    漫步推薦-《維多利亞港》

    英國管轄過的香港留下了許多文化交融的痕跡。英國人相中香港的潛力,建設了《維多利亞港》,並以此為中心開始開發香港,打造出了「世界三大天然良港」,主導香港經濟和旅遊業發展,奠定了香港的繁華基礎,讓香港躍升成為國際大城市。

    此後《維多利亞港》基本上成為了香港的地標,沿著港口漫步,不僅可以欣賞到城市天際線、還可以看到著名的「星光大道」、「天星小輪」和「尖沙咀鐘樓」;若在夜晚時來到這裡,夜景更是一絕!

    現場浪漫氛圍讓人們都陶醉
    亞洲最美最炫麗燈光秀
    夜景推薦-《幻彩詠香江》

    入夜後,《維多利亞港》兩岸密集的建築一一點起燈光,璀璨的燈光,香港彷彿才漸漸甦醒。

    若逢天氣良好,每晚八點整會在港口上演《幻彩詠香江》的燈光秀;隨著音樂節奏的律動,建築物依次閃爍著繽紛而躍動的燈光,再搭配大型LED螢幕圖案投影,是來香港絕對不能錯過的一場聲光盛宴。

    沉醉在維多利亞的氛圍裡
    享受百年奢華的浪漫氛圍
    美拍推薦-《1881 Heritage》

    1881 Heritage》前身是「前香港水警總部」,並於1994年成為香港法定古蹟,地點就在碼頭旁,看完《幻彩詠香江》後正好能繞過來漫步。

    建築物本身保留原本的維多利亞風格,並且入駐許多精品店與餐廳;廣場則會因應不同的節慶給予不同的布置,搭配上綠意盎然的植物,有種身處英國花園的錯覺。

    不僅遊客喜歡在此拍照留念,此處也是香港熱門婚紗拍攝地唷!


    食物圖片僅供參考,請以實際為準
    畢生難忘的濃純香
    消暑推薦-《雙皮燉奶》

    將蛋白與蛋黃仔細地分開,緩緩在蛋白中倒入砂糖,打發蛋白至混和均勻;在另外使用鍋子小火煮滾牛奶後緩緩倒入蛋白碗中,只留下一層薄如蟬翼的奶皮在原本鍋中,攪拌調味後在到回原本有奶皮的鍋中隔水蒸熟,如此一道細緻柔滑的奶製甜品-《雙皮燉奶》就大功告成了!

    可以單吃原味,也可加入紅豆或是巧克力等增加風味,熱的吃冷的吃都美味,但在炎熱的天氣裡來上一碗冰涼的《雙皮燉奶》可是人間天堂!

    食物圖片僅供參考,請以實際為準
    來到香港,還不喝上一杯 ?
    消暑推薦-《凍檸茶/奶茶》

    在台灣隨處可見手搖飲料店,天氣熱時人手一杯十分消暑暢快,而來到香港,那必然不能錯過當地最有特色的《凍檸茶》和《絲襪奶茶》了!

    在紅茶裡加入適量的白糖與檸檬片,還有晶瑩剔透的冰塊,透著光的《凍檸茶》酸甜的滋味令人回味再三;將混合比例適當的紅茶葉煮滾後再以棉紗網反覆過濾,使紅茶更香滑,然後再加入淡奶和糖,別有特色的《絲襪奶茶》便做好了!

    炎炎夏日,來上任一種茶飲,啊嘶,真是痛快!

    食物圖片僅供參考,請以實際為準
    米其林一星等級的甜點
    消暑推薦-《楊枝甘露》

    楊枝甘露》絕對可說是當今香港的冠軍甜品,據說是1984年利苑酒家(米其林一星)大廚黃永熾的父親所研發。

    楊枝指的是柚子肉,甘露則是底下的椰奶西米露,甜味則主要來自於芒果;柚子的清爽和芒果的甜膩相得益彰,椰奶又更增加了這道甜品的層次。

    即使日頭赤炎炎,只要吃上一碗,所有的汗水都值得了!

    食物圖片僅供參考,請以實際為準
    QQ彈彈,香港宵夜首選
    小吃推薦-《咖哩魚蛋》

    在台灣,要是晚上有點兒嘴饞,通常會去買點鹹酥雞、滷味或是臭豆腐;來到香港呢,當然也要試試最道地的街頭小吃攤囉!

    香港街頭處處可見《咖哩魚蛋》的攤位,用魚漿混合澱粉揉成丸狀,油炸至表面金黃,內裡保持雪白軟嫩,再用咖哩醬汁調味,濃郁的香味,微微的辛香料刺激著味蕾,彈牙的口感令人一顆接一顆停不下來!

    食物圖片僅供參考,請以實際為準
    無法拒絕的奶香四溢
    小吃推薦-《雞蛋仔》

    雞蛋仔》大概在五零年代前就存在了,據說原本是雜貨店老闆為免浪費,將破裂的雞蛋加入奶油、麵粉調製成蛋漿,再倒入模具內烘成點心,並稱為《雞蛋仔》,沒想到大受歡迎,更成為了香港人的集體的回憶。

    現在《雞蛋仔》的口味可說是百花齊放,有原味的,也有巧克力、抹茶、冰淇淋等;口感酥脆或者扎實,人人各有所好,但享用的幸福滿足是一致的!

    食物圖片僅供參考,請以實際為準
    一籠一籠的香氣,讓人口水直流
    小吃推薦-《港式飲茶》

    到了香港一定要嘗試道地的美食,最具代表性的就是《港式飲茶》。穿梭在座位間的點心推車、用大碗公清潔餐具、桌上的蒸籠、各式點心以及和不認識的人併桌,完全能體驗到最在地的文化。

    像是鹹香的「奶黃流沙包」、扎實綿密的「千層馬來糕」、各種口味的「燒賣」與「腸粉」也非常值得一試!

    食物圖片僅供參考,請以實際為準
    酸甜酸甜好滋味
    送禮推薦-《檸檬王》

    創立於1973年的《檸檬王》原本僅是一間以販賣各式果乾蜜餞的攤販,但現在已發展為一間明亮的店面,所販賣的品項也增加了許多。

    但主打招牌,同時也是最受歡迎的依然是「甘草檸檬」,在吃之前將附贈的甘草粉全部倒入包裝內,搖一搖讓甘草平均附著在檸檬片上,吃起來酸甜甘鹹,讓人一口接一口都停不下來,非常適合作為聊天泡茶的小點心唷!

    食物圖片僅供參考,請以實際為準
    酥酥脆脆,令人停不下來的美味
    送禮推薦-《珍妮曲奇餅乾》

    這幾年觀光客來到香港旅遊,必買伴手禮《珍妮曲奇餅乾》必定榜上有名。距離《檸檬王》僅有走路不到兩分鐘的距離,很適合一次採買完畢。

    創始人Jenny是來自馬來西亞的華僑,原本僅是因為喜歡烘焙,沒想到手藝實在太好,所烤製的餅乾實在太好吃了,因此一炮而紅;又因為創始人喜歡收藏泰迪熊,所以餅乾罐子就以小熊為圖案,靠著口耳相傳打出了口碑,成為來港必買的伴手禮之一。


    ※店內僅收現金,不接受刷卡。

    食物圖片僅供參考,請以實際為準
    給你超多小心心~💕
    送禮推薦-《曲奇四重奏》

    除了《珍妮曲奇餅乾》之外,另一項赫赫有名的伴手禮便是《曲奇四重奏》了。創立於2008年的《曲奇四重奏》,老闆一共有前港姐、音樂人、五星級酒店糕餅主廚與食物造型師;名氣加持下,一推出就立即造成轟動。

    店面裝潢典雅,餅乾也主打低油低糖的健康路線;每個品項都可以試吃後再選擇是否購買,十分貼心。其中最受歡迎的非「蝴蝶酥」莫屬,薄薄的一層層酥皮對摺成漂亮的蝴蝶,又像是愛心的形狀,清爽的甜味令人欲罷不能。


    半島酒店房間
    簡約而別緻優雅的設計為原則
    The Peninsula Hong Kong
    香港半島酒店

    香港半島酒店建於 1928 年,是香港歷史最悠久的酒店,時至今天繼續為<全球頂級酒店奠立高水平新標準>。半島酒店延續「遠東貴婦」的傳奇,經典尊貴的氣質無與倫比,高雅風采恆久雋永,融合了東西方待客之道的精髓。下榻半島酒店,重新感受早些年代的旅遊璀璨魅力,並觀賞酒店內擺放的眾多古蹟文物。


    香港半島酒店
    「藝術共鳴」
    The Peninsula Hong Kong
    半島酒店外觀

    香港半島酒店於1928年開幕,為香港上海大酒店的旗艦酒店,亦是集團首間命名為「半島」的酒店。香港半島酒店由香港上海大酒店全資擁有,並一直被視為全球最《頂級的豪華酒店之一》
    此外,豪華的半島水療中心則於2006 年開幕。半島酒店商場是香港最《頂級的購物地點》,精心網羅了80個世界頂尖品牌和本土設計師品牌,為顧客提供一個獨特的豪華購物體驗。

    ","itn955":"","itn954":"","sale":"8","saleYqt":"8","saleCqt":"0","saleEdqt":"0","saleFqt":"0","gpaxQt4":"0","tvlArea":"SAREA00208","total":"8","gpax":"0","outDate":0,"b2b2cFg":false,"bitnCd":"MFM01","mgrupCd":"MFM0325-01","dmstFg":false,"chrtdspFg":false,"ctrlRoomFg":false,"hotTp":"","waitPax":"0","cruCode":"","priceRef":0,"openDateTime":"","isComingSoon":false,"groupMemo":"","ip":"211.75.77.166|211.72.148.158|211.23.251.12|118.163.48.110|118.163.162.73|211.23.122.7|211.23.126.235|60.249.89.73|61.216.167.111|211.21.42.194|125.227.238.103|220.134.214.172|60.250.41.253|211.21.42.193|125.227.238.103|211.75.232.216|220.130.216.97|60.249.176.188|60.249.29.193|125.277.238.103|61.219.46.136|211.22.177.4|118.163.228.55"}; const info = camelizeKeys(infoFromServer); const web = ref("b2c"); const webSite = ref("www"); const compId = ref(""); const usrId = ref(""); const loading = ref(true); const isPreviewPage = ref(false); const error = ref(null); const mGrupCd = ref("MFM0325-01"); const grupCd = ref("MFM03260314A"); const tvlArea = ref("SAREA00208"); const url1 = ref("https://ajsonip.com/?callback=?&_=" + Math.random()); const url2 = ref("https://api.ipify.org/?format=json"); const print = ref(false);//print必須要為true才是列印模式 否則以下參數都無效 const Dp = ref(false);//價格表 const Sp = ref(false);//行程特色 const Fg = ref(false);//航班 const Dt = ref(false);//出團備註 const Dc = ref(false);//優惠方案 const Ti = ref(false);//團票說明 const Ag = ref(false);//同業價格 //Dp:價格表 //Sp:行程特色 //Fg:航班 //Dt:出團備註 //Dc:優惠方案 //Ti:團票說明 const pdf = ref({ Dp: false, Sp: true, Fg: true, Dt: true, Dc: false, Ti: false, Ag: false, EmpCd: "" }); const word = ref({ Dp: false, Sp: true, Fg: true, Dt: true, Dc: false, Ti: false, Ag: false, EmpCd: "" }); //影片相關 const videoNo = ref(1); const nowVideo = ref([]); const videoTitle = ref(""); //popup const nowPopupNote = ref(0); const nowPopupAlert = ref(0); const iframeUrl = ref(""); const iframeOpen = ref(false); //原始資料 const baseInfo = ref(info); //團的基本資料 const baseFlight = ref([]); //團的航班 const baseDiscount = ref([]); //團的優惠 const baseDaily = ref([]); //團的每日行程 const baseHotel = ref([]); //團的飯店 const basePrice = ref([]); //團的價格 const baseExtra = ref([]); //團的加購 const baseCruiseRoomPrice = ref([]); //郵輪價格 const baseCruiseRoom = ref([]); //郵輪艙房 const baseNote = ref([]); //特別說明貼心提醒 const baseVideo = ref([]); //影片 //頁面上使用的資料 const glsDataInfo = ref({}); //團的基本資料 const glsDataFlight = ref([]); //團的航班 const glsDataDiscount = ref([]); //團的優惠 const glsDataDaily = ref([]); //團的每日行程 const glsDataHotel = ref([]); //團的飯店 const glsDataPrice = ref([]); //團的價格 const glsDataExtra = ref([]); //團的加購 const glsDataCruiseRoomPrice = ref([]); //郵輪價格 const glsDataCruiseRoom = ref([]); //郵輪艙房 const glsDataNote = ref([]); //特別說明貼心提醒 const glsDataVideo = ref([]); //影片 const hotelInfo = ref({}); //放飯店彈窗資料 const agtInfo = ref({}); //放同業資料 const calendar = ref([]); //月曆 const calendarHeader = ref([{}]);//月曆header const companyInfo = ref([]); //公司資料 const featureMap = ref({}); const featureOperations = ref([]); const featureAttractions = ref([]); const featureFoods = ref([]); const featureHotels = ref([]); const nowYear = ref(2024); const nowMonth = ref(1); //下面這兩個會決定日曆Header要長哪三個月 const midYear = ref(2024); const midMonth = ref(2); //限制 const maxYear = ref(9999); const maxMonth = ref(12); const minYear = ref(2000); const minMonth = ref(1); //1:月曆模式 2:列表模式 const mode = ref("1"); const signUp = ref(true);//可報名 const guarantee = ref(false);//保證出發 const hasCruisePrice = ref(false); //是否有遊輪價格 const hasMustBuy = ref(false); //是否有必購項目 const printType = ref("2");//【1】B2C+內網的員工、【2】B2C+外網的客人 (非公司內部IP)BBC全部、【3】B2B provide("loading", loading); provide("web", web); provide("webSite", webSite); provide("mGrupCd", mGrupCd); provide("grupCd", grupCd); provide("compId", compId); provide("usrId", usrId); provide("print", print); provide("Dp", Dp); provide("Sp", Sp); provide("Fg", Fg); provide("Dt", Dt); provide("Dc", Dc); provide("Ti", Ti); provide("Ag", Ag); provide("pdf", pdf); provide("word", word); provide("videoNo", videoNo); provide("nowVideo", nowVideo); provide("videoTitle", videoTitle); provide("nowPopupNote", nowPopupNote); provide("nowPopupAlert", nowPopupAlert); provide("iframeUrl", iframeUrl); provide("iframeOpen", iframeOpen); provide("isPreviewPage", isPreviewPage); provide("hasCruisePrice", hasCruisePrice); provide("hasMustBuy", hasMustBuy); provide("glsDataInfo", glsDataInfo); provide("glsDataPrice", glsDataPrice); provide("glsDataDiscount", glsDataDiscount); provide("glsDataExtra", glsDataExtra); provide("glsDataFlight", glsDataFlight); provide("glsDataHotel", glsDataHotel); provide("glsDataDaily", glsDataDaily); provide("glsDataNote", glsDataNote); provide("glsDataVideo", glsDataVideo); provide("glsDataCruiseRoomPrice", glsDataCruiseRoomPrice); provide("glsDataCruiseRoom", glsDataCruiseRoom); provide("hotelInfo", hotelInfo); provide("agtInfo", agtInfo); provide("calendar", calendar); provide("calendarHeader", calendarHeader); provide("companyInfo", companyInfo); provide("featureMap", featureMap); provide("featureOperations", featureOperations); provide("featureAttractions", featureAttractions); provide("featureFoods", featureFoods); provide("featureHotels", featureHotels); provide("nowYear", nowYear); provide("nowMonth", nowMonth); provide("maxYear", maxYear); provide("maxMonth", maxMonth); provide("minYear", minYear); provide("minMonth", minMonth); provide("mode", mode); provide("signUp", signUp); provide("guarantee", guarantee); provide("printType", printType); const initialDate = () => { if (calendar.value.length > 0) { var data = calendar.value.filter(v => v.grupCd == grupCd.value); var groupDate = data[0].leavDt; nowYear.value = new Date(groupDate).getFullYear(); nowMonth.value = new Date(groupDate).getMonth() + 1; //mid是now的下個月 如果now是12月 年份就要+1 midYear.value = nowYear.value; if (nowMonth.value == 12) { midMonth.value = 1; midYear.value = nowYear.value + 1; } else { midMonth.value = nowMonth.value + 1; } } var num = 1; var numCount = 1; //處理CalendarHeader calendarHeader.value = []; //先塞現在團號的月份資料 var json = { year: nowYear.value, month: nowMonth.value }; calendarHeader.value.push(json); //先往前增加 for (i = 1; i <= (3 - numCount); i++) { var tempYear = nowYear.value; var tempMonth = nowMonth.value + i; if (tempMonth > 12) { tempMonth = tempMonth - 12; tempYear++; } // 計算 Temp 和 Max 的月份差距 let monthDifference = (tempYear - maxYear.value) * 12 + (tempMonth - maxMonth.value); // 如果小於0 代表還沒到達最大值 可以push if (monthDifference <= 0) { var tempJson = { year: tempYear, month: tempMonth }; calendarHeader.value.push(tempJson); num++; } } //如果還不滿3 那就要開始往前加月份 if (num < 3) { numCount = num; for (var i = 1; i <= (3 - numCount); i++) { var tempYear = nowYear.value; var tempMonth = nowMonth.value - i; if (tempMonth < 1) { tempMonth = tempMonth + 12; tempYear--; } // 計算 Temp 和 Min 的月份差距 let monthDifference = (tempYear - minYear.value) * 12 + (tempMonth - minMonth.value); // 如果大於0 代表還沒到達最小值 可以往前插入 if (monthDifference >= 0) { var tempJson = { year: tempYear, month: tempMonth }; // 將 tempJson 插入到 CalendarHeader 的最前面 calendarHeader.value.unshift(tempJson); num++; } } } } const chkIp = async () => { let intCount = 0; const arrURL = [url2.value, url1.value]; const settingValue = glsDataInfo.value.ip || ""; let idx = intCount; while (idx < arrURL.length) { const url = arrURL[idx]; try { const res = await fetch(url, { method: "GET", // 如果需要 cookie/session: // credentials: "include" }); if (!res.ok) throw new Error(`HTTP ${res.status}`); // 直接解析 JSON(只請求一次) const data = await res.json(); const strYourIP = data?.ip; console.log(strYourIP); if (strYourIP) { apiClient.saveRecord(mGrupCd.value, tvlArea.value, strYourIP); } judgePrintType(settingValue, strYourIP || "127.0.0.1"); return; } catch (err) { console.warn(`查詢失敗:${url}`, err); idx += 1; } } // 都找不到 console.log("找不到"); judgePrintType(settingValue, "127.0.0.1"); } const judgePrintType = (settingValue, ip) => { let isShowIP = false; if ((settingValue || '').indexOf(ip) > -1) { //有符合IP就顯示 isShowIP = true; } switch (web.value) { case "b2c": printType.value = (isShowIP) ? '1' : '2'; break; case "bbc": case "vip": printType.value = '2'; break; case "b2b": printType.value = '3'; break; } //this.showDiv(); //判斷列印的POP要顯示那些div //【1】B2C+內網的員工-要輸入員編 //【2】B2C+外網的客人 (非公司內部IP)BBC全部-只有pdf //【3】B2B-word及pdf都有並不用輸入員編 const removeStyle = (selector) => document.querySelectorAll(selector).forEach(el => el.removeAttribute("style")); const removeEls = (selector) => document.querySelectorAll(selector).forEach(el => el.remove()); switch (printType.value) { case "1": removeStyle(".transform_pdf, .transform_word, .staff_sn, .oriPDF"); break; case "2": removeStyle(".transform_pdf"); removeStyle(".divClose"); removeEls(".transform_word"); break; case "3": removeStyle(".transform_pdf, .transform_word, .oriPDF"); break; } }; const getPrintPara = () => { // 獲取當前URL const urlParams = new URLSearchParams(window.location.search); // 抓取 'print' 參數的值 const printValue = urlParams.get('print'); const paraDp = urlParams.get('Dp'); const paraSp = urlParams.get('Sp'); const paraFg = urlParams.get('Fg'); const paraDt = urlParams.get('Dt'); const paraDc = urlParams.get('Dc'); const paraTi = urlParams.get('Ti'); const paraAg = urlParams.get('Ag'); //判斷print參數是否為1 如果是代表是列印模式 繼續獲取其他參數 if (printValue == "1") { print.value = true; if (paraDp == "1") { Dp.value = true; } if (paraSp == "1") { Sp.value = true; } if (paraFg == "1") { Fg.value = true; } if (paraDt == "1") { Dt.value = true; } if (paraDc == "1") { Dc.value = true; } if (paraTi == "1") { Ti.value = true; } if (paraAg == "1") { Ag.value = true; } if (web.value == "b2b" && print.value && Dp.value && !Ag.value) { web.value = "b2c"; } } } const fetchData = async () => { try { loading.value = true; signUp.value =0== 1 ? true : false; guarantee.value =0== 1 ? true : false; if (!signUp.value && !guarantee.value) { //預設可報名 signUp.value = true; } console.log(baseInfo.value); glsDataInfo.value = transService.convertBaseInfo(baseInfo.value); // 主要區塊 比較有關連要一起處理 基本資料 優惠 價格 加價等 const mainPromise = Promise.all([ //apiClient.getGrupInfo(mGrupCd.value, grupCd.value), apiClient.getDiscountInfo(grupCd.value), apiClient.getGroupPrice(grupCd.value), apiClient.getExtraInfo(grupCd.value), apiClient.getCruiseInfo(mGrupCd.value, grupCd.value), apiClient.getCompanyInfo(web.value) ]); try { // 先只等主組,先渲染主要內容 const [discount, price, extra, cruise, company] = await mainPromise; //baseInfo.value = info; baseDiscount.value = discount; basePrice.value = price; baseExtra.value = extra; baseCruiseRoomPrice.value = cruise.price; baseCruiseRoom.value = cruise.room || []; companyInfo.value = company; //判斷資料 if (baseCruiseRoomPrice.value.length > 0) { //是否有郵輪價格 hasCruisePrice.value = true; } if (Array.isArray(baseExtra.value)) {//是否有必購項目 hasMustBuy.value = baseExtra.value.some(item => item.mustBuy == "1"); } else { hasMustBuy.value = false; } //轉換資料 //glsDataInfo.value = transService.convertBaseInfo(baseInfo.value); glsDataPrice.value = transService.convertBasePrice(basePrice.value); glsDataDiscount.value = transService.convertBaseDiscount(baseDiscount.value); glsDataExtra.value = transService.convertBaseExtra(baseExtra.value); if (baseCruiseRoomPrice.value.length > 0) { glsDataCruiseRoom.value = baseCruiseRoom.value; glsDataCruiseRoomPrice.value = transService.convertCruiseInfo(web.value, baseCruiseRoomPrice.value, baseCruiseRoom.value); } // } catch (e) { console.error('main batch failed:', e); // 主組失敗的處理 } //月曆比較獨立 自己取得 不await const calendarPromise = apiClient.getSearchInfo(mGrupCd.value); calendarPromise .then(search => { calendar.value = transService.convertSearchInfo(search); //抓最大最小 if (calendar.value.length > 0) { minYear.value = new Date(calendar.value[0].leavDt).getFullYear(); minMonth.value = new Date(calendar.value[0].leavDt).getMonth() + 1; maxYear.value = new Date(calendar.value[calendar.value.length - 1].leavDt).getFullYear(); maxMonth.value = new Date(calendar.value[calendar.value.length - 1].leavDt).getMonth() + 1; } initialDate(); }) .catch(err => console.warn("getSearchInfo failed:", err)); //特色比較獨立 自己取得 不await const specPromise = apiClient.getSpecInfo(grupCd.value); specPromise .then(spec => { featureMap.value = spec.map; featureOperations.value = spec.operations; featureAttractions.value = spec.attractions; featureFoods.value = spec.foods; featureHotels.value = spec.hotels; }) .catch(err => console.warn("getSpecInfo failed:", err)); //航班比較獨立 自己取得 不await const flightPromise = apiClient.getFlightInfo(grupCd.value); flightPromise .then(flight => { baseFlight.value = flight; //轉換資料 glsDataFlight.value = transService.convertBaseFlight(flight); }) .catch(err => console.warn("getFlightInfo failed:", err)); //如果是b2b要抓agent資料 有些地方要用 if (web.value == "b2b") { const agentPromise = apiClient.getAgentInfo(); agentPromise .then(agent => { console.log(agent); agtInfo.value = agent; var info = ""; info += agent.AgtcNm; if (agent.Cellphone) { info += " / " + agent.Cellphone; } if (agent.Tel1 && agent.Tel2) { info += " / " + "(" + agent.Tel1 + ")" + agent.Tel2; } else if (!agent.Tel1 && agent.Tel2) { info += " / " + agent.Tel2; } agtInfo.value.contact = info; }) .catch(err => console.warn("getAgentInfo failed:", err)); } //每日行程區塊 const dailyPromise = Promise.all([ apiClient.getDailyInfo(grupCd.value), apiClient.getHotelInfo(grupCd.value), apiClient.getNoteInfo(grupCd.value), apiClient.getVideoInfo(grupCd.value), ]); try { const [daily, hotel, note, video] = await dailyPromise; baseDaily.value = daily; baseHotel.value = hotel; baseNote.value = note; baseVideo.value = video; glsDataHotel.value = baseHotel.value; glsDataDaily.value = transService.convertBaseDaily(baseDaily.value, baseHotel.value, baseVideo.value); glsDataNote.value = baseNote.value; glsDataVideo.value = baseVideo.value; chkIp(); nextTick(() => { // 中國線 特殊團顯示調整 先檢查網址是否包含 YIH 20251212 品潔核准 可允許這項目的時間可以不顯示分項列點 if (window.location.href.includes('YIH') || window.location.href.includes('CTU08YAD2602')) { document.querySelectorAll('.notify_wrap .explan_content div, .explain_pop_wrap .explain_content_pop div').forEach(div => { if (div.textContent.includes('船上參考行程:') || div.textContent.includes('時間說明:')) { const ol = div.querySelector('ol'); if (ol) { // 加上 inline style ol.style.listStyle = 'none'; ol.style.paddingLeft = '0'; // 視需要移除左邊縮排 ol.style.marginLeft = '0'; ol.style.marginTop = '5px'; } } }); } }); } catch (e) { console.error('daily batch failed:', e); } } catch (err) { error.value = err.message || "獲取數據時出錯"; console.log(error.value); } finally { nextTick(() => { if (webSite.value == "agent") { //agent網域處理 document.querySelectorAll("#wrapperfunction, .btn-order, .PdGroup-btn") .forEach(el => el.remove()); } getPrintPara(); setEvent(); }); } }; const setEvent = () => { const isFinish = setInterval(() => { const done = document.querySelector(".price-and-discount_wrapper"); if (done && !print.value) { cleanJourneyNoteAttributes(); const allElements = document.querySelectorAll('*'); // 遍歷所有元素 allElements.forEach(element => { // 獲取該元素的 computed style const style = getComputedStyle(element); // 檢查是否有設定color且值不是#a90707 if (style.color && style.color.toLowerCase() !== 'rgb(169, 7, 7)' && style.color !== '#a90707') { // 移除color屬性 element.style.color = ''; // 或使用 element.style.removeProperty('color'); } // 檢查是否有 color 屬性 if (element.hasAttribute('color')) { // 移除 color 屬性 element.removeAttribute('color'); } }); window.addEventListener("resize", function () { PDInfoResize(); }); window.addEventListener("scroll", function () { departPickerResize(); }); window.addEventListener("resize", function () { departPickerResize(); }); function PDInfoResize() { const PDInfo = document.querySelector(".price-and-discount").offsetHeight; document.querySelector(".col-right").style.height = PDInfo + "px"; const INH = window.innerWidth; } function departPickerResize() { if (window.innerWidth > 992) { var headerMainWrapper = document.querySelector(".header-main-wrapper"); var headerHeight = headerMainWrapper ? headerMainWrapper.offsetHeight : 0; const header = headerHeight + document.querySelector(".searchbar").offsetHeight + 12; const trigger = window.scrollY - header; // console.log("fixed"); const TripFeatures = document.querySelector(".price-and-discount_wrapper").offsetHeight - document.querySelector(".departPicker").offsetHeight; if (window.scrollY >= header) { // console.log("fixed"); document.querySelector(".departPicker").classList.add("fixed"); } else { document.querySelector(".departPicker").classList.remove("fixed"); } if (trigger >= TripFeatures) { document.querySelector(".departPicker").classList.add("bottom"); } else { document.querySelector(".departPicker").classList.remove("bottom"); } document.querySelector(".departPicker").style.maxHeight = document.querySelector(".price-and-discount").offsetHeight + "px"; const PDInfo = document.querySelector(".price-and-discount").offsetHeight; document.querySelector(".col-right").style.height = PDInfo + "px"; } else { document.querySelector(".departPicker").classList.remove("bottom"); document.querySelector(".departPicker").classList.remove("fixed"); } } function cleanJourneyNoteAttributes() { const targetColor = "#a90707"; const wrapper = document.querySelector(".journey_note_wrapper"); if (!wrapper) { console.warn("No .journey_note_wrapper element found"); return; } const allElements = wrapper.querySelectorAll("*"); allElements.forEach((element) => { const attributesToRemove = []; const attributeNames = element.getAttributeNames(); attributeNames.forEach((attrName) => { if (attrName === "href" || attrName === "class" || attrName === "src") { return; } if (attrName === "style") { const styleValue = element.getAttribute("style"); if (hasTargetColor(styleValue)) { element.setAttribute("style", `color: ${targetColor};`); } else { attributesToRemove.push(attrName); } } else { attributesToRemove.push(attrName); } }); attributesToRemove.forEach((attr) => element.removeAttribute(attr)); }); function hasTargetColor(styleString) { if (!styleString) return false; const normalizedStyle = styleString.toLowerCase().replace(/\s+/g, ""); const colorPatterns = [ "color:#a90707", "color:rgb(169,7,7)", "color:rgba(169,7,7,1)", "color:rgba(169,7,7,1.0)", "color:rgba(169,7,7,100%)", ]; return colorPatterns.some((pattern) => normalizedStyle.includes(pattern)); } } const vItemModal = document.querySelector('.v-item_modal'); const expenseModal = document.querySelector('.expense_drawer'); const mapModal = document.querySelector('#map_pop'); //其他費用 詳細資料灰色區域點擊事件 //if (vItemModal) { // vItemModal.addEventListener('click', function (event) { // // 檢查點擊的目標是否在 .detailbtn_popup 內 // if (!event.target.closest('.detailbtn_popup')) { // $.each(ProductVue.glsData_ExtPrice, function (idx, obj) { // obj.showDetail = false; // }); // setTimeout(() => { // $(".v-item_modal").css("display", "none"); // }, 600); // } // }); //} //團費說明 灰色區域點擊事件 //if (expenseModal) { // expenseModal.addEventListener('click', function (event) { // if (!event.target.closest('.expense_popup')) { // ProductVue.CloseExpense(); // } // }); //} //地圖 灰色區域點擊事件 //if (mapModal) { // mapModal.addEventListener('click', function (event) { // if (!event.target.closest('.map_img')) { // ProductVue.CloseMap(); // } // }); //} const foot = document.getElementById("footMain"); if (foot) { foot.style.display = "block"; } clearInterval(isFinish); } }, 100) } onMounted(fetchData); return { webSite //groupInfo, }; }, }).mount("#wrapper");