diff --git a/blog.config.js b/blog.config.js index 465f4925..3a160835 100644 --- a/blog.config.js +++ b/blog.config.js @@ -9,7 +9,11 @@ const BLOG = { process.env.NOTION_PAGE_ID || '02ab3b8678004aa69e9e415905ef32a5', // Important page_id!!!Duplicate Template from https://www.notion.so/tanghh/02ab3b8678004aa69e9e415905ef32a5 NOTION_ACCESS_TOKEN: process.env.NOTION_ACCESS_TOKEN || '', // Useful if you prefer not to make your database public DEBUG: process.env.NEXT_PUBLIC_DEBUG || false, // 是否显示调试按钮 - FACEBOOK_PAGE: 'https://www.facebook.com/tw.andys.pro', // Facebook Page 的連結 + + FACEBOOK_PAGE_ID: process.env.NEXT_PUBLIC_FACEBOOK_PAGE_ID || '', //Facebook Page ID 來啟用 messenger 聊天功能 + FACEBOOK_APP_ID: process.env.NEXT_PUBLIC_FACEBOOK_APP_ID || '', //Facebook App ID 來啟用 messenger 聊天功能 + FACEBOOK_PAGE: process.env.NEXT_PUBLIC_FACEBOOK_PAGE || 'https://www.facebook.com/tw.andys.pro', // Facebook Page 的連結 + THEME: process.env.NEXT_PUBLIC_THEME || 'next', // 主题, 支持 ['next','hexo',"fukasawa','medium'] THEME_SWITCH: process.env.NEXT_PUBLIC_THEME_SWITCH || false, // 是否显示切换主题按钮 LANG: 'zh-CN', // e.g 'zh-CN','en-US' see /lib/lang.js for more. diff --git a/components/FacebookMessenger.js b/components/FacebookMessenger.js new file mode 100644 index 00000000..0948996a --- /dev/null +++ b/components/FacebookMessenger.js @@ -0,0 +1,11 @@ +import BLOG from '@/blog.config' +import MessengerCustomerChat from 'react-messenger-customer-chat' + +const Messenger = () => ( + +) +export default Messenger diff --git a/next.config.js b/next.config.js index 43ff8b0d..2eb48080 100644 --- a/next.config.js +++ b/next.config.js @@ -6,16 +6,28 @@ module.exports = withBundleAnalyzer({ webpack5: true }, images: { - domains: ['gravatar.com', 'www.notion.so', 'avatars.githubusercontent.com', 'images.unsplash.com'] // 允许next/image加载的图片 域名 + domains: [ + 'gravatar.com', + 'www.notion.so', + 'avatars.githubusercontent.com', + 'images.unsplash.com' + ] // 允许next/image加载的图片 域名 }, - async headers () { + async headers() { return [ { source: '/:path*{/}?', headers: [ + { key: 'Access-Control-Allow-Credentials', value: 'true' }, + { key: 'Access-Control-Allow-Origin', value: '*' }, { - key: 'Permissions-Policy', - value: 'interest-cohort=()' + key: 'Access-Control-Allow-Methods', + value: 'GET,OPTIONS,PATCH,DELETE,POST,PUT' + }, + { + key: 'Access-Control-Allow-Headers', + value: + 'X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version' } ] } diff --git a/pages/_app.js b/pages/_app.js index 3d815612..d9ae363f 100644 --- a/pages/_app.js +++ b/pages/_app.js @@ -21,7 +21,12 @@ import { ThemeSwitch } from '@/components/ThemeSwitch' const Ackee = dynamic(() => import('@/components/Ackee'), { ssr: false }) const Gtag = dynamic(() => import('@/components/Gtag'), { ssr: false }) const Busuanzi = dynamic(() => import('@/components/Busuanzi'), { ssr: false }) -const GoogleAdsense = dynamic(() => import('@/components/GoogleAdsense'), { ssr: false }) +const GoogleAdsense = dynamic(() => import('@/components/GoogleAdsense'), { + ssr: false +}) +const Messenger = dynamic(() => import('@/components/FacebookMessenger'), { + ssr: false +}) const MyApp = ({ Component, pageProps }) => { return ( @@ -32,10 +37,14 @@ const MyApp = ({ Component, pageProps }) => { {BLOG.ANALYTICS_GOOGLE_ID && } {JSON.parse(BLOG.ANALYTICS_BUSUANZI_ENABLE) && } {BLOG.ADSENSE_GOOGLE_ID && } + {BLOG.FACEBOOK_APP_ID && BLOG.FACEBOOK_PAGE_ID && } {/* FontawesomeCDN */} - + - ) }