123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
-
- const APP_ID = (window.location.host === 'www.pxfreshdelivery.tw') ? ' 729797861493746' : '547406236761668' ;
-
- function sleep(second = 1000) {
- return new Promise((resolve) => {
- let t = setTimeout(() => {
- clearTimeout(t);
- t = null;
- resolve();
- }, second)
- })
- }
-
-
- function getQueryVariable(variable) {
- var query = window.location.search.substring(1);
- var vars = query.split('&');
- for (var i = 0; i < vars.length; i++) {
- var pair = vars[i].split('=');
- if (decodeURIComponent(pair[0]) == variable) {
- return decodeURIComponent(pair[1]);
- }
- }
- console.log('Query variable %s not found', variable);
- return '';
- }
-
- function getTemplate(value) {
- let output = '';
- const key = value.toLocaleLowerCase();
- switch (key) {
- case "ralf": output = 'https://d1xzlli46wohoc.cloudfront.net/assets/images/share/ralfshare_fb.png';break;
- case "hao": output = 'https://d1xzlli46wohoc.cloudfront.net/assets/images/share/haoshare_fb.png';break;
- case "yang": output = 'https://d1xzlli46wohoc.cloudfront.net/assets/images/share/yangshare_fb.png';break;
- case "betty": output = 'https://d1xzlli46wohoc.cloudfront.net/assets/images/share/bettyshare_fb.png';break;
- case "commute_li": output = 'https://d1xzlli46wohoc.cloudfront.net/assets/images/share/commute_lishare_fb.png';break;
- case "commute_chang": output = 'https://d1xzlli46wohoc.cloudfront.net/assets/images/share/commute_changshare_fb.png';break;
- case "commute_he": output = 'https://d1xzlli46wohoc.cloudfront.net/assets/images/share/commute_heshare_fb.png';break;
- case "drangadrang": output = 'https://d1xzlli46wohoc.cloudfront.net/assets/images/share/drangadrangshare_fb.png';break;
- case "crangadrang": output = 'https://d1xzlli46wohoc.cloudfront.net/assets/images/share/drangadrangshare_fb.png';break;
- case "ku": output = 'https://d1xzlli46wohoc.cloudfront.net/assets/images/share/kushare_fb.png';break;
- case "albee": output = 'https://d1xzlli46wohoc.cloudfront.net/assets/images/share/albeeshare_fb.png';break;
- case "chefchouchou": output = 'https://d1xzlli46wohoc.cloudfront.net/assets/images/share/chefchouchoushare_fb.png';break;
- case "cookingdairy": output = 'https://d1xzlli46wohoc.cloudfront.net/assets/images/share/cookingdairyshare_fb.png';break;
- default: output = 'https://d1xzlli46wohoc.cloudfront.net/assets/images/share/ralfshare_fb.png';break;
- }
- return output;
- }
-
- function getDescription(value) {
- let output = '';
- const key = value.toLocaleLowerCase();
- switch (key) {
- case "ralf": output = '今天就來煮|雙寶煮夫全聯先生推薦的「不知道冰花煎餃好簡單」';break;
- case "yang": output = '今天就來煮|找蔬食Yang推薦的「我想想出國吃大阪燒」';break;
- case "hao": output = '今天就來煮|找蔬食Hao推薦的「青菜煮油醋溫沙拉」';break;
- case "betty": output = '今天就來煮|貝蒂做便當推薦的「我在168蒜味蝦便當」';break;
- case "commute_he": output = '就煮|台灣通勤第一品牌-何敬旻推薦的「沒想法就涼拌雞絲」';break;
- case "commute_chang": output = '就煮|台灣通勤第一品牌-張家倫推薦的「減肥勿餵食水果盤」';break;
- case "commute_li": output = '就煮|台灣通勤第一品牌-李毅誠推薦的「都可以來道銷魂控肉」';break;
- case "drangadrang": output = '今天就來煮|布萊克薛薛推薦的「看你心情好鮮芒果三明治」';break;
- case "ku": output = '就煮|芋頭教主酷Ku推薦的「你決定就好喝芋頭珍珠鮮奶」';break;
- case "albee": output = '今天就來煮|Albee佩軒推薦的「隨便煮韓式牛肉泡菜炒飯」';break;
- case "chefchouchou": output = '今天就來煮|旅法神廚阿辰師推薦的「沒胃口就醬炒野菇小里肌」';break;
- case "cookingdairy": output = '就煮|煮婦養成日記Phoebe推薦的「不餓也想吃蜂蜜芥末鮭魚」';break;
- default: output = '今天就來煮|雙寶煮夫全聯先生推薦的「不知道冰花煎餃好簡單」';break;
- }
- return output;
- }
-
- function shareToLine(id = 1) {
- const kol = getQueryVariable('kol');
- const message = '不要說我沒揪你~今天煮什麼?這個都幫你想好了!還可以一鍵下單, 下班到家就到貨 ~趕快去用我的優惠碼賺加菜金>>\n';
- const base_url = window.location.host === 'www.our-work.com.tw' ? '/demosite/2022/2022-pxgo/justahour/' : '/';
-
- let share_url;
- if (window.location.host === 'www.pxfreshdelivery.tw' || window.location.host === 'pxfreshdelivery.tw') {
- share_url = `https://www.pxfreshdelivery.tw/web/getMeta?id=${id}`;
- } else {
- share_url = `https://demo.pxfreshdelivery.tw/web/getMeta?id=${id}`;
- }
-
- let redirect_url = `${window.location.protocol}//${window.location.host}${base_url}index.html?share_id=${id}`;
- if (kol) {
- share_url = share_url + `&kol=${kol}`;
- redirect_url = redirect_url + `&kol=${kol}`;
- }
- window.open(`https://line.me/R/share?text=${encodeURIComponent(message)}${encodeURIComponent(share_url)}`, '_blank');
- // window.open(`https://lineit.line.me/share/ui?url=${encodeURIComponent(share_url)}&text=${message}`, '_blank');
- sleep(2000).then(() => {
- window.location.href = redirect_url;
- }, 2000);
- }
-
- function shareToFacebook(id = 1) {
- const kol = getQueryVariable('kol');
- const hashtag = '#感謝料理救星賜我靈感_食材一鍵買齊再賺加菜金';
- const base_url = window.location.host === 'www.our-work.com.tw' ? '/demosite/2022/2022-pxgo/justahour/' : '/';
-
- let share_url;
- if (window.location.host === 'www.pxfreshdelivery.tw' || window.location.host === 'pxfreshdelivery.tw') {
- share_url = `https://www.pxfreshdelivery.tw/web/getMeta?id=${id}`;
- } else {
- share_url = `https://demo.pxfreshdelivery.tw/web/getMeta?id=${id}`;
- }
-
- let redirect_url = `${window.location.protocol}//${window.location.host}${base_url}index.html?share_id=${id}`
- if (kol) {
- share_url = share_url + `&kol=${kol}`;
- redirect_url = redirect_url + `&kol=${kol}`;
- }
- window.open(`https://www.facebook.com/sharer.php?app_id=${APP_ID}&u=${encodeURIComponent(share_url)}&hashtag=${encodeURIComponent(hashtag)}&redirect_uri=${redirect_url}`, '_blank');
- sleep(2000).then(() => {
- window.location.href = redirect_url;
- }, 2000);
- }
-
- function detectFace(image) {
- return new Promise((resolve, reject) => {
- faceapi.nets.tinyFaceDetector
- .load('./assets/libs/face-api')
- .then(() => {
- faceapi
- .loadFaceLandmarkModel('./assets/libs/face-api')
- .then(() => {
- const options = new faceapi.TinyFaceDetectorOptions({ inputSize: 512, scoreThreshold: 0.5 });
- faceapi
- .detectSingleFace(image, options)
- .then((detections) => {
- console.log('face detections');
- console.log(detections);
- if (!detections) {
- reject(new Error('你可能遮到五官或光線不足。再拍一次吧'));
- } else {
- resolve(detections);
- }
- })
- .catch((error) => {
- console.log(`detectSingleFace Error\nName:${error.name}\nMessage:${error.message}`);
- reject(new Error('你可能遮到五官或光線不足。再拍一次吧'));
- });
- })
- .catch((error) => {
- console.log(`loadFaceRecognitionModel Error\nName:${error.name}\nMessage:${error.message}`);
- reject(new Error('你可能遮到五官或光線不足。再拍一次吧'));
- });
- })
- .catch((error) => {
- console.log(`tinyFaceDetector Error\nName:${error.name}\nMessage:${error.message}`);
- reject(new Error('你可能遮到五官或光線不足。再拍一次吧'));
- });
-
-
- });
- }
-
- function ImageLoader(src) {
- return new Promise((resolve) => {
- const image = new Image();
- image.crossOrigin = 'Anonymous';
- image.onload = () => {
- resolve(image);
- }
- image.src = src;
- })
- }
-
- function Image2Canvas(image, canvasWidth, canvasHeight) {
- const canvas = document.createElement('canvas');
- const context = canvas.getContext('2d');
- canvas.width = canvasWidth;
- canvas.height = canvasHeight;
- context.drawImage(image, (image.width - canvas.width) * -0.5, 0, image.width, image.height);
- return canvas;
- }
|