【BUY $30 Get 10% OFF, BUY $50 Get 15% OFF】FREE SHIPPING For Order $199
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
26 / 57
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
1Pc DIY Diamond Painting Lettter Keychain
Related Products Don't Like These?
50% OFF

1Pc DIY Diamond Painting Lettter Keychain

$6.99 $13.98
15 sold
Style
Qty 5 in stock

Specification:
Origin: Mainland China
Use: Car Pendant
Style: Modern Style
Pattern Type: cartoon
Pasting Area: Full
Material: Acrylic + resin diamonds Shaped diamonds
Size: 60x70mm/2.36x2.76in
Tape(Optional): A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z

DIY diamond painting making steps:

1. Open the box, check the diamond painting special tools
2. Check the colour of resin diamonds, arrange them in coded order
3. Uncover the tape diagram above, you will see many symbols corresponding to the colour code
4. According to the corresponding colour code jig corresponding resin diamonds inlay
5. It is recommended that a set of resin diamonds be completed more quickly
6. In order to make a perfect diamond painting, put the drawing in one place and do not have to leave diamonds for each line of symbols
7. To cut a good shape on the drawing, please mount the sorting array on the plane of the above material
8. Piecing needs to be flat, neat and without cracks
9. After a good scrabble, the rest of the glue gap conforms to the diamond symbols

Note:
Due to the different monitor and light effect, the actual color of the item might be slightly different from the color showed on the pictures. Thank you!
Please allow 1-2cm measuring deviation due to manual measurement.



1pc x Keychain
1 x Diamond Painting Tools (Spotting Pens, Speed Up Discs)

Related Products Don't Like These?
const isSpecialHeroTheme = window.SHOPLAZZA?.theme?.merchant_theme_name == 'Hero' && window.SHOPLAZZA?.theme?.merchant_theme_c_version == '2.2.19'; const specialHeroThemeClassName = 'hero_2_2_19_smart_recommend_block'; class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.C_SETTINGS.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.C_SETTINGS.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.C_SETTINGS.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.C_SETTINGS.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { const that = this; const themeName = window.C_SETTINGS.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); this.initBlockClass(blockEl); this.initItemClass(blockEl); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; if (rule.products && rule.products.length) { const modalRender = document.getElementById('smart_recommend_js_root'); const $dest = document.getElementById('cart'); const isLifeStyle = /Life.*Style/.test(window.C_SETTINGS.theme.merchant_theme_name); if (modalRender && isLifeStyle && $dest.clientWidth > 767) { modalRender.classList.add('zb-mt-[-180px]') } } const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }); if (isSpecialHeroTheme) { ruleEl.querySelectorAll(`.smart_recommend_title`).forEach(dom=>{ dom.classList.add('type-title-font-family'); }); document.querySelectorAll(`.${specialHeroThemeClassName} #smart_recommend_rule_ul_${rule.id} .zb-recommend-price-line-through .money`).forEach(dom=>{ dom.classList.add('type-body-font-family'); }); }; }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.C_SETTINGS.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } initBlockClass(blockEl) { if (!blockEl) return; if (blockEl.parentElement && blockEl.parentElement.offsetWidth === document.body.clientWidth) { blockEl.classList.add('smart_recommend_block_fullscreen'); }; if (isSpecialHeroTheme) { blockEl.classList.add(specialHeroThemeClassName); }; } initItemClass(blockEl) { if (blockEl) { const containerWidth = blockEl.offsetWidth; let itemWidth = ''; if (containerWidth > 780) { itemWidth = '16%'; } else if (containerWidth > 600) { itemWidth = '20%'; } else { itemWidth = '24%'; } const itemStyleEl = document.createElement('style'); itemStyleEl.innerHTML = `.zb-recommend-li-item{ width: ${itemWidth}; }`; document.body.appendChild(itemStyleEl); } } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (modalRender) { document.body.appendChild(modalRender); } if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.C_SETTINGS.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.C_SETTINGS.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.C_SETTINGS.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.C_SETTINGS.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.C_SETTINGS.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.C_SETTINGS.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.C_SETTINGS.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);