I documented the whole process of how I completed the two pages of handsome blue collage in TN, and the final product looks like this: Without further ado, let's get started!
Preparation: For this collage, I concentrated mainly on the tape When it came to choosing materials, I did some cutting to make sure it was the effect I wanted
The first step is to cut the blue patterned tape, I cut it into a hexagonal shape, so that there will be the beauty of stitching.Is it very much like tiling?
Then, add some attractive featured material and a bit of decoration. I wanted this material to be opaque, so I glued it to white paper first and then cut it out.
The top part is now complete, leaving the bottom area for writing. Let's move on to the right part. It's easy, isn't it?
Next is the main character this time, a handsome little girl, also first pasted on white paper and then cut out, placing her in the bottom right corner so she can watch the whole interface
Oh, it still looks a little plain. So let's go ahead and add more materials to it. Finally, we added some long strips of stickers to fit around the journal. Now it's time to add some writing to it. And there you have it, today's sharing is complete!
${function(){
let title = data.campaign.name;
if (data.campaign.event_type === 'share_link') {
let limit_reward_count = Number(data.campaign.campaign_rule.limit_reward_count);
let participation_times = Number(data.participation_info.participation_times);
if (limit_reward_count > 1) {
title = `${title} (${limit_reward_count - participation_times}/${limit_reward_count})`;
}
}
return title;
}()}
${function(){
if (data.campaign.event_type === 'successful_order') {
return `
지출당
받기
`
}
if (data.campaign.event_type === 'share_link') {
return `
포인트 보상
`
}
return `
받기:
`
}()}
`
}
if (type === 'weekly') {
const time = days.map((d) => {
switch(d) {
case "1": return "월요일";
case "2": return "화요일";
case "3": return "수요일";
case "4": return "목요일";
case "5": return "금요일";
case "6": return "토요일";
case "0": return "일요일";
}
});
return `유효한 ${time} (주간)`;
}
if (type === 'monthly') {
const isFullMonth = months.length === 12;
const monthStr = months.map((value) => {
switch(value) {
case "1": return "1월";
case "2": return "2월";
case "3": return "3월";
case "4": return "4월";
case "5": return "5월";
case "6": return "6월";
case "7": return "7월";
case "8": return "8월";
case "9": return "9월";
case "10": return "10월";
case "11": return "11월";
case "12": return "12월";
}
}).join(' ');
const dayStr = days.map((value) => {
switch(value) {
case "1": return "1일";
case "2": return "2일";
case "3": return "3일";
case "4": return "4일";
case "5": return "5일";
case "6": return "6일";
case "7": return "7일";
case "8": return "8일";
case "9": return "9일";
case "10": return "10일";
case "11": return "11일";
case "12": return "12일";
case "13": return "13일";
case "14": return "14일";
case "15": return "15일";
case "16": return "16일";
case "17": return "17일";
case "18": return "18일";
case "19": return "19일";
case "20": return "20일";
case "21": return "21일";
case "22": return "22일";
case "23": return "23일";
case "24": return "24일";
case "25": return "25일";
case "26": return "26일";
case "27": return "27일";
case "28": return "28일";
case "29": return "29일";
case "30": return "30일";
case "31": return "31일";
}
}).join(' ');
if (isFullMonth) return `유효한 ${dayStr} (월간)`; // 每月
return `유효한 ${dayStr} (오직 ${monthStr} 내에서 유효)`;
}
};
return formatTimeStr(data.campaign.execution_schedule);
}()}
현재 유료 혜택이 만료되면, 시스템은 더 이상 자동으로 유료 혜택을 갱신하지 않습니다. 구독을 취소하시겠습니까?
${function(){
if (!data.success) {
return ``
}
return `
구독 해지 완료 (${s}초)
`;
}()}
로딩 중...
${function(){
switch(data.status || data) {
case 'COUPON_RECEIVE_INSUFFICIENT_POINTS_ERROR': return `
부족
`;
case 'BIRTHDAY_NOT_COME': return `
당신의 생일 시간이 아직 오지 않았습니다.
`;
case 'SHOW_LOGIN_TIP':
case 'UNAUTHORIZED':
return `아직 회원으로 가입하지 않거나 계정에 로그인하지 않았습니다`;
case 'COUPON_RECEIVE_NOT_IN_TIME_ERROR':
case 'COUPON_NOT_FOUND_ERROR':
case 'CAMPAIGN_NOT_FOUND_ERROR': return `포인트 혜택이 존재하지 않습니다. 페이지를 새로고침하십시오.`;
case 'COUPON_RECEIVE_NOT_ELIGIBLE_ERROR':
case 'COUPON_RECEIVE_UPPER_LIMIT_ERROR':
case 'COUPON_RECEIVE_FAILED_ERROR': return `교환 실패. 페이지를 새로고침하고 다시 시도하십시오.`;
case 'COUPON_RECEIVE_NO_STOCK_ERROR': return `쿠폰이 교환되었습니다!`;
case 'LOYALTY_SERVER_UNAUTHORIZED': return `계정에 로그인하세요!`;
case 'LOYALTY_SERVER_CUSTOMER_NOT_FOUND_ERROR': return `사용자 오류가 감지되었습니다. 페이지를 새로고침하고 다시 시도하십시오.`;
case 'INVALID_PHONE_NUMBER_ERROR': return `유효한 전화번호를 입력하세요`;
case 'BENEFIT_UNSUBSCRIBE_FAILED_ERROR': return `네트워크 오류가 발생했습니다. 다시 시도해 주세요!`;
default: return `네트워크 이상 또는 시스템이 바쁩니다. 페이지를 새로고침하고 다시 시도하십시오.`;
}
}()}