/g,"").replace(/\//g,""),typeof clickList=="object"){let time=calculateVisitTime();event.isTrusted?clickList.push({lastClickDom,time,type:"User manual click"}):clickList.push({lastClickDom,time,type:"Program click"}),clickList=clickList?JSON.stringify(clickList).substring(0,2e3):[]}},!0),window.addEventListener("error",function(e){if(isBlocked)return!1;stringToLower(e.target.tagName)==="img"&&e.target.src&&holderFile(e.target.src)?loadFailed.filter(item=>item.src===e.target.src).length===0&&loadFailed.push({type:"img_load_error",src:e.target.src}):stringToLower(e.target.tagName)==="script"&&e.target.src&&holderFile(e.target.src)?loadFailed.filter(item=>item.src===e.target.src).length===0&&loadFailed.push({type:"js_load_error",src:e.target.src}):stringToLower(e.target.tagName)==="link"&&e.target.href&&holderFile(e.target.href)&&loadFailed.filter(item=>item.src===e.target.href).length===0&&loadFailed.push({type:"css_load_error",src:e.target.href})},!0),window.onerror=function(errorMessage,scriptURI,lineNumber,columnNumber,errorObj){if(!scriptURI&&!errorObj||scriptURI&&scriptURI.indexOf("chrome-extension")!==-1||isBlocked)return;if(errorObj){const securityError=/SecurityError/i.test(errorObj),getItemError=/getItem/i.test(errorObj),setItemError=/setItem/i.test(errorObj),serviceWorkerError=/evaluating 'navigator.serviceWorker.register'/i.test(errorObj);if(securityError||setItemError||getItemError||serviceWorkerError)return}const hasSignificanceError=errorSignificanceMessageInfo.some(sign=>errorMessage.includes("Unexpected token "+sign)||errorMessage.includes("unexpected token"+sign)||errorMessage.includes("Unterminated string")||errorMessage.includes("Expected property name")||errorMessage.includes("Cannot convert undefined or null to object"));let networkSendStatus=!1;["4g","5g","wifi"].some(item=>navigatorConnection?.effectiveType.includes(item))&&!navigatorConnection?.saveData&&(networkSendStatus=!0),hasSignificanceError&&isChromeNeedCall&&networkSendStatus&&(console.log("%c"+`dom=${lastClickDom} message=${errorMessage}`,"background: rgba(130,189,174,0.8); color: #fff; font-size: 18px; padding: 2px 10px;"),errorSignificanceMessageArr.push({errorMessage,errorType:"significance",pageType:"",scriptURI:scriptURI?scriptURI.replace(/[?#].*$/,""):"",domMessage:lastClickDom,errorObj:errorObj.toString(),lineNumber,columnNumber,...otherInfo()}),lastClickDom=""),isChromeNeedCall&&(console.log("%c"+`dom=${lastClickDom} message=${errorMessage}`,"background: rgba(130,189,174,0.8); color: #fff; font-size: 14px; padding: 2px 10px;"),errorMessageArr.push({errorMessage,scriptURI:scriptURI?scriptURI.replace(/[?#].*$/,""):"",lineNumber,columnNumber,errorObj:errorObj.toString(),...otherInfo()}),errorMessageArr=errorMessageArr.filter(obj=>typeof obj.errorObj=="string"&&!obj.errorObj.includes("ReferenceError: Vue is not defined")&&!obj.errorObj.includes("SyntaxError: Unexpected end of JSON input")))},window.addEventListener("load",function(){let mergeErrorMessage=errorMessageArr.concat(errorSignificanceMessageArr);fileLoadFailedFun(),jsExceptionFun(mergeErrorMessage),setPageLoadTimestamp(),checkPageUrl()});function setPageLoadTimestamp(){document.body.setAttribute("data-load-time",(new Date).toLocaleString())}function abuttingJointFramework(c){if(c&&c.textStatus&&c.textStatus==="error"){let r={};r.handler=c.context.handler,r.errorObj=JSON.stringify(c.context.options),r.errorMessage=c.dataOrXhr.responseText,r.errorType="request error",r.pageType="",c.errorMessage&&monitorFrontError(r)}}function calculateVisitTime(){let endTime=new Date;return(endTime-startTime)/1e3+"s"}function checkPageUrl(){location.pathname.includes(location.protocol)&&typeof monitorFrontError=="function"&&monitorFrontError({errorMessage:"The current page pathname contains the protocol",pageUrl:window.location.href,warning_message_code:"dingtalk_front_pageurl_error"})}function fileLoadFailedFun(){loadFailed.length>0&&monitorFrontFilesFailed({filesInfo:loadFailed,...otherInfo()}).then(result=>{result&&fileLoadFailedRequestFun(result)}).catch(error=>{console.error(error)})}function fileLoadFailedRequestFun(loadFailedRes){let jqueryFailed=!1,loadFailedFileArray=[];if(loadFailedRes=loadFailedRes?JSON.parse(loadFailedRes):[],loadFailedRes.length>0){for(const k of loadFailedRes)k.src.includes("jquery-")&&k.type==="js_load_error"&&(jqueryFailed=!0),loadFailedFileArray.push(k.src);loadFailedFileArray=loadFailedFileArray.filter((item,index,self)=>self.indexOf(item)===index);let errorMessage=jqueryFailed?"The current page jQuery file does not exist":"Some resource files do not exist";monitorFrontError({errorMessage,pageUrl:window.location.href,pageType:jqueryFailed?"":"",files:loadFailedFileArray,...otherInfo()})}}function jsExceptionFun(errorMessageArr){for(const k of errorMessageArr)k.scriptURI.indexOf(location.origin)>=0&&getErrorSendTo("",k.lineNumber,k,!0)}function handleResourceError(errorMessage,resourceSrc){monitorFrontError({errorMessage,pageUrl:window.location.href,src:resourceSrc,...otherInfo()})}function getWebPageSource(url){return new Promise(function(resolve,reject){let xhr=new XMLHttpRequest;xhr.open("GET",url),xhr.onload=function(){xhr.status===200?resolve(xhr.responseText):reject("HTTP request failed with status code "+xhr.status)},xhr.onerror=function(){reject("Error fetching web page")},xhr.send()})}function processHtmlSourceCode(htmlSourceCode,targetLineNumber,pageTextType,info){if(pageTextType==="html"){const parser=new DOMParser,doc=parser.parseFromString(htmlSourceCode,"text/html"),lines=doc.documentElement.innerHTML.split(` `);getErrorSendTo(lines,targetLineNumber,info)}if(pageTextType==="js"){const lines=htmlSourceCode.split(` `);getErrorSendTo(lines,targetLineNumber,info)}}function getErrorSendTo(lines="",targetLineNumber=0,dataJson,notChecked=!1){let signNum=30,maxCodeLength=2e3;if(!notChecked){if(lines===""||targetLineNumber===0)return!1;if(lines!==""){let code="";for(let k=0;k{xhrRequestError({method:"POST",url:window.location.href,headers:{"Content-Type":"application/json","X-October-Request-Handler":"onGetFrontInfo","X-Requested-With":"XMLHttpRequest"},data:dataJson}).then(function(response){resolve(response)}).catch(function(error){console.error(error),reject(error)})})}function monitorFrontError(dataJson,isShow=1){xhrRequestError({method:"POST",url:window.location.href,headers:{"Content-Type":"application/json","X-October-Request-Handler":"onMonitorFrontError","X-Requested-With":"XMLHttpRequest"},data:dataJson}).then(function(){isShow&&showErrorNotification(dataJson.errorType||"JsError",dataJson.errorMessage)}).catch(function(error){console.error(error)})}function monitorFrontFilesFailed(dataJson){return new Promise((resolve,reject)=>{xhrRequestError({method:"POST",url:window.location.href,headers:{"Content-Type":"application/json","X-October-Request-Handler":"onMonitorFrontFilesFailed","X-Requested-With":"XMLHttpRequest"},data:dataJson}).then(function(response){let res=JSON.parse(response);for(const k in res)showErrorNotification("Some resource files do not exist",res[k].src);resolve(response)}).catch(function(error){reject(error)})})}function xhrRequestError(options){return new Promise(function(resolve,reject){var xhr=new XMLHttpRequest,header;if(xhr.open(options.method,options.url,!0),xhr.onload=function(){xhr.status>=200&&xhr.status<300?resolve(xhr.responseText):reject(xhr.statusText)},xhr.onerror=function(){reject(xhr.statusText)},options.headers)for(header in options.headers)xhr.setRequestHeader(header,options.headers[header]);options.data?xhr.send(JSON.stringify(options.data)):xhr.send()})}function holderFile(url=""){let isHolderArray=["dist/","assets/","files/"],isDomain=verifyAddressIsDomain({src:url});return isHolderArray.some(item=>url.includes(item))&&isDomain}function getCookieValError(name){var prefix=name+"=",end,value,start=document.cookie.indexOf(prefix);return start==-1?"":(end=document.cookie.indexOf(";",start+prefix.length),end==-1&&(end=document.cookie.length),value=document.cookie.substring(start+prefix.length,end),unescape(value))}function verifyAddressIsDomain(obj){if(obj?.src){let src=obj.src.toString(),origin=location.origin;return src.indexOf(origin)>=0}}function stringToLower(str){if(str)return str.toString().toLowerCase()}}catch(e){console.error(e)}vivi-look 台灣|流行時尚女裝 已加入購物車 會員登入收藏購物車所有商品新品上市人氣熱銷限時折扣特別企劃加一元 多一件上衣類T恤襯衫衛衣針織/毛衣細肩帶/背心風格支線清新學院風韓版優雅風可愛漫畫風百變休閒風洋裝類長洋裝短洋裝印花洋裝牛仔洋裝蕾絲洋裝針織洋裝吊帶褲套裝下著類寬褲長褲牛仔褲裙類內搭褲短褲外套類休閒夾克西裝外套罩衫風衣外套羽絨外套鞋子休閒鞋平底鞋高跟鞋靴子涼鞋內衣泳衣情趣內衣bra內衣內褲居家服/睡衣配件飾品包包墨鏡冰袖皮帶雨具/雨衣襪子圍巾/手套帽/披肩後跟貼 ALL上衣類風格支線洋裝類下著類鞋子配件銷量榜好評榜新品榜【單品可選】清新學院風簡約時尚百搭假兩件衛衣+顯瘦鯊魚褲套裝折$300NT$744NT$444 280 1065【單品可選】清新學院風針織毛衣+襯衫+牛仔褲三件套折$300NT$775NT$475 207 1013復古設計感盤扣v領寬鬆無袖馬甲針織半價NT$1,187NT$594 520 1007【單品可選】清新學院風穿搭一整套新款假兩件上衣+顯瘦鬆弛感工裝褲兩件套折$300NT$838NT$538 179 971 05高級感軟糯減齡針織衫半價NT$1,377NT$689 175 1955 06【單品可選】韓版優雅風秋冬裝搭配一整套時尚假兩件拼接毛衣+不規則半身裙套裝折$300NT$744NT$444 115 771 07【全19色】圓領修身套頭針織打底毛衣半價NT$918NT$459 206 845 08【14色】簡約百搭復古半高領素面五分袖針織T恤半價NT$873NT$437 387 630 09【全5色】舒服軟糯好感新款圓領拼色寬鬆時尚針織衫半價NT$1,524NT$762 151 821 10設計感百搭時尚拼接燈籠袖圓領襯衫半價NT$1,245NT$623 371 1364 11【3色】高腰寬鬆休閒百搭彈力直筒長褲半價NT$1,508NT$754 573 1133 12【單品可選】氣質復古設計感燈籠袖刺繡襯衫+顯瘦馬面裙套裝半價NT$1,167NT$584 23 669 13【單品可選】清新學院風美拉德設計感不規則毛衣+半身格子裙兩件套折$300NT$933NT$633 157 625 14出遊必備韓版雪紡打底多色可調節背心半價NT$689NT$345 96 593 15大尺碼寬鬆顯瘦polo領假兩件拼接針織新品 半價NT$1,529NT$765 28 700 16韓版時尚百搭條紋撞色紐扣襯衫半價NT$964NT$482 294 670 17美型簡約連帽衛衣+過膝高腰衛衣裙兩件套新品 半價NT$1,377NT$689 86 645 18【單品可選】溫柔係穿搭內搭背心+甜美寬鬆衛衣+設計感短裙三件套半價NT$1,187NT$594 454 1217 19提升好感度大碼遮肉時尚泡泡袖針織罩衫+a字洋裝套裝半價NT$1,995NT$998 343 766 20【單品可選】清新學院風素面百搭上衣+撞色顯瘦針織衫+高腰遮肉長褲套裝折$300NT$848NT$548 126 809 21【單品可選】清新學院風奶茶系一字肩針織毛衣+寬鬆褲裙兩件套新品 折$300NT$949NT$649 29 761 22【單品可選】清新學院風洋氣設計感針織披肩+顯瘦高腰牛仔喇叭褲兩件套新品 折$300NT$1,095NT$795 29 782 23簡約寬鬆休閒拼接撞色圓領長袖T恤半價NT$1,056NT$528 78 577 24高級感撞色寬鬆燈籠袖襯衫半價NT$1,570NT$785 170 662 25舒適軟糯高腰垂感糯米休閑褲新品 半價NT$781NT$391 32 702 26高腰加厚顯瘦羊羔絨緊身保暖褲半價NT$551NT$276 211 591 27【單品可選】清新學院風簡約圓領T恤+壓褶素面A字裙套裝折$300NT$663NT$363 568 533 28日系麥色棉質精梳棉素色彈力內搭褲襪半價NT$689NT$345 158 504 29【單品可選】韓版優雅風洋氣針織毛衣+顯瘦半身裙兩件套折$300NT$839NT$539 97 430 30小眾設計感拼色燈籠袖娃娃領襯衫半價NT$1,187NT$594 270 1083 31新款彈力高腰修身顯瘦烟管九分牛仔褲半價NT$1,194NT$597 92 422 32【全11色】新款v領寬鬆顯瘦純色針織打底衫半價NT$1,010NT$505 142 603 33簡約好搭方頭淺口多色單鞋氣質高跟鞋半價NT$1,372NT$686 128 477 34【單品可選】清新學院風小香風套裝時尚感帶帽衛衣+顯瘦工裝褲兩件套折$300NT$915NT$615 33 456 35高質量簡約百搭素面高腰顯腿長顯瘦毛呢西裝長褲半價NT$1,585NT$793 325 531 36ins風美式復古數字印花拼接撞色V領衛衣半價NT$1,056NT$528 131 1294 37美拉德復古撞色拼接圓領針織衫半價NT$1,530NT$765 107 808 38韓版設計感條紋撞色燈籠袖紐扣襯衫半價NT$1,017NT$509 244 1103 39高級感時髦百搭撞色套頭半高領長袖針織半價NT$1,913NT$957 106 420 40Korea正韓百搭v領修身顯瘦收腰不規則長袖針織半價NT$1,240NT$620 77 478 41【5色】韓版時尚拼色條紋圓領長袖針織半價NT$997NT$499 6 508 42復古高品質顯腿長粗跟短靴馬丁靴新品 半價 折$300NT$1,836NT$918 12 428 43引人注目英倫風復古2色繫帶短款靴子半價NT$2,202NT$1,101 122 503 44【單品可選】清新學院風新中式馬甲+上衣+顯瘦牛仔褲三件套新品 折$300NT$915NT$615 32 465 45顯臉小毛絨絨秋冬百搭包頭保暖針織帽子半價NT$731NT$366 161 413 46踩屎感防滑軟底不累脚休閑鞋半價NT$1,417NT$709 7 512 47本季熱賣時尚百搭高腰顯瘦修身喇叭長褲半價NT$827NT$414 123 417 48館長推薦寬鬆休閑百搭拼接假兩件polo領針織衫半價NT$1,189NT$595 5 416 49寬鬆慵懶風條紋撞色拉鏈長袖襯衫半價NT$1,323NT$662 95 456 50【單品可選】溫柔風韓版時尚顯瘦寬鬆毛衣+高腰百褶裙套裝半價NT$1,056NT$528 155 831 51【單品可選】獨特設計簡約素面翻領馬甲+素面修身針織半價NT$1,527NT$764 412 431 52【6色】簡約時尚氣質圓領菱格鏤空短袖針織T恤半價NT$793NT$397 35 505 53簡約好搭polo領撞色套頭拼色針織長袖毛衣打底衫半價NT$1,493NT$747 81 675 54好感女孩設計感海軍領撞色荷葉邊襯衫半價NT$1,306NT$653 133 626 55推薦熱銷爆款冷淡係獨特別致海軍領軟糯針織毛衣半價NT$1,836NT$918 92 816 56小眾設計感字母刺繡撞色翻領襯衫半價NT$1,187NT$594 99 721 57優雅國風氣質翻領肌理感休閑衛衣半價NT$1,723NT$862 63 408 58簡約優雅寬鬆長袖圓領衛衣半價NT$1,301NT$651 29 419 59【全7色】軟糯舒適韓版連帽針織衫半價NT$1,683NT$842 30 484 60休閒簡約百搭印花圓領撞色長袖T恤新品 半價NT$1,148NT$574 7 477
已加入購物車
【單品可選】清新學院風簡約時尚百搭假兩件衛衣+顯瘦鯊魚褲套裝
折$300
NT$744
NT$444
【單品可選】清新學院風針織毛衣+襯衫+牛仔褲三件套
NT$775
NT$475
復古設計感盤扣v領寬鬆無袖馬甲針織
半價
NT$1,187
NT$594
【單品可選】清新學院風穿搭一整套新款假兩件上衣+顯瘦鬆弛感工裝褲兩件套
NT$838
NT$538
高級感軟糯減齡針織衫
NT$1,377
NT$689
【單品可選】韓版優雅風秋冬裝搭配一整套時尚假兩件拼接毛衣+不規則半身裙套裝
【全19色】圓領修身套頭針織打底毛衣
NT$918
NT$459
【14色】簡約百搭復古半高領素面五分袖針織T恤
NT$873
NT$437
【全5色】舒服軟糯好感新款圓領拼色寬鬆時尚針織衫
NT$1,524
NT$762
設計感百搭時尚拼接燈籠袖圓領襯衫
NT$1,245
NT$623
【3色】高腰寬鬆休閒百搭彈力直筒長褲
NT$1,508
NT$754
【單品可選】氣質復古設計感燈籠袖刺繡襯衫+顯瘦馬面裙套裝
NT$1,167
NT$584
【單品可選】清新學院風美拉德設計感不規則毛衣+半身格子裙兩件套
NT$933
NT$633
出遊必備韓版雪紡打底多色可調節背心
NT$345
大尺碼寬鬆顯瘦polo領假兩件拼接針織
新品 半價
NT$1,529
NT$765
韓版時尚百搭條紋撞色紐扣襯衫
NT$964
NT$482
美型簡約連帽衛衣+過膝高腰衛衣裙兩件套
【單品可選】溫柔係穿搭內搭背心+甜美寬鬆衛衣+設計感短裙三件套
提升好感度大碼遮肉時尚泡泡袖針織罩衫+a字洋裝套裝
NT$1,995
NT$998
【單品可選】清新學院風素面百搭上衣+撞色顯瘦針織衫+高腰遮肉長褲套裝
NT$848
NT$548
【單品可選】清新學院風奶茶系一字肩針織毛衣+寬鬆褲裙兩件套
新品 折$300
NT$949
NT$649
【單品可選】清新學院風洋氣設計感針織披肩+顯瘦高腰牛仔喇叭褲兩件套
NT$1,095
NT$795
簡約寬鬆休閒拼接撞色圓領長袖T恤
NT$1,056
NT$528
高級感撞色寬鬆燈籠袖襯衫
NT$1,570
NT$785
舒適軟糯高腰垂感糯米休閑褲
NT$781
NT$391
高腰加厚顯瘦羊羔絨緊身保暖褲
NT$551
NT$276
【單品可選】清新學院風簡約圓領T恤+壓褶素面A字裙套裝
NT$663
NT$363
日系麥色棉質精梳棉素色彈力內搭褲襪
【單品可選】韓版優雅風洋氣針織毛衣+顯瘦半身裙兩件套
NT$839
NT$539
小眾設計感拼色燈籠袖娃娃領襯衫
新款彈力高腰修身顯瘦烟管九分牛仔褲
NT$1,194
NT$597
【全11色】新款v領寬鬆顯瘦純色針織打底衫
NT$1,010
NT$505
簡約好搭方頭淺口多色單鞋氣質高跟鞋
NT$1,372
NT$686
【單品可選】清新學院風小香風套裝時尚感帶帽衛衣+顯瘦工裝褲兩件套
NT$915
NT$615
高質量簡約百搭素面高腰顯腿長顯瘦毛呢西裝長褲
NT$1,585
NT$793
ins風美式復古數字印花拼接撞色V領衛衣
美拉德復古撞色拼接圓領針織衫
NT$1,530
韓版設計感條紋撞色燈籠袖紐扣襯衫
NT$1,017
NT$509
高級感時髦百搭撞色套頭半高領長袖針織
NT$1,913
NT$957
Korea正韓百搭v領修身顯瘦收腰不規則長袖針織
NT$1,240
NT$620
【5色】韓版時尚拼色條紋圓領長袖針織
NT$997
NT$499
復古高品質顯腿長粗跟短靴馬丁靴
新品 半價 折$300
NT$1,836
引人注目英倫風復古2色繫帶短款靴子
NT$2,202
NT$1,101
【單品可選】清新學院風新中式馬甲+上衣+顯瘦牛仔褲三件套
顯臉小毛絨絨秋冬百搭包頭保暖針織帽子
NT$731
NT$366
踩屎感防滑軟底不累脚休閑鞋
NT$1,417
NT$709
本季熱賣時尚百搭高腰顯瘦修身喇叭長褲
NT$827
NT$414
館長推薦寬鬆休閑百搭拼接假兩件polo領針織衫
NT$1,189
NT$595
寬鬆慵懶風條紋撞色拉鏈長袖襯衫
NT$1,323
NT$662
【單品可選】溫柔風韓版時尚顯瘦寬鬆毛衣+高腰百褶裙套裝
【單品可選】獨特設計簡約素面翻領馬甲+素面修身針織
NT$1,527
NT$764
【6色】簡約時尚氣質圓領菱格鏤空短袖針織T恤
NT$397
簡約好搭polo領撞色套頭拼色針織長袖毛衣打底衫
NT$1,493
NT$747
好感女孩設計感海軍領撞色荷葉邊襯衫
NT$1,306
NT$653
推薦熱銷爆款冷淡係獨特別致海軍領軟糯針織毛衣
小眾設計感字母刺繡撞色翻領襯衫
優雅國風氣質翻領肌理感休閑衛衣
NT$1,723
NT$862
簡約優雅寬鬆長袖圓領衛衣
NT$1,301
NT$651
【全7色】軟糯舒適韓版連帽針織衫
NT$1,683
NT$842
休閒簡約百搭印花圓領撞色長袖T恤
NT$1,148
NT$574