【With Free Storage Bag】The Original Suction Rose Toy® in Seven Colors

from $38.95 $132.83

Rose Mary 2026 Upgraded Dual Stimulator - Precise Clit Sucking & G-Spot Vibrator Premium Bodysafe Silicone

from $59.99 $299.95

Mlem - 10 Speeds Rose Clitoral Stimulator With Licking Vibrator

from $38.95 $194.75

2 in 1 Rose Sucking & Tongue Licking Black Rose Toy

from $38.99 $184.75

LunaGlow - Luminous Original Rose Sucker In Five Colors

from $33.95 $169.75

RoséTrio – 3-in-1 Rose Toy with Clitoral Suction, Thrusting Dildo & Vibrating Modes, Textured Design for Enhanced Pleasure Bodysafe Silicone Material

from $39.95 $124.85

Amora - Rose Clitoral Suction Toy 10 Speeds Waterproof Pleasure for Women

from $29.95 $149.75

BlushGlow - Luminous Rose Sex Toy Clitoral Sucker In Pink

from $34.95 $174.95

Extra 16% Off - Dual Sensation Set for Complete Rose Experience

$69.99 $82.98

Thrya Rabbit – Dual-Action Rabbit Vibrator with Licking Tip & Deep Thrusting Shaft

from $56.98 $104.98

【With Free Storage Bag】The Original Suction Rose Toy® in Seven Colors

from $38.95 $132.83

Rose Mary 2026 Upgraded Dual Stimulator - Precise Clit Sucking & G-Spot Vibrator Premium Bodysafe Silicone

from $59.99 $299.95

Mlem - 10 Speeds Rose Clitoral Stimulator With Licking Vibrator

from $38.95 $194.75

2 in 1 Rose Sucking & Tongue Licking Black Rose Toy

from $38.99 $184.75

LunaGlow - Luminous Original Rose Sucker In Five Colors

from $33.95 $169.75

RoséTrio – 3-in-1 Rose Toy with Clitoral Suction, Thrusting Dildo & Vibrating Modes, Textured Design for Enhanced Pleasure Bodysafe Silicone Material

from $39.95 $124.85

Amora - Rose Clitoral Suction Toy 10 Speeds Waterproof Pleasure for Women

from $29.95 $149.75

BlushGlow - Luminous Rose Sex Toy Clitoral Sucker In Pink

from $34.95 $174.95
View more
class SpzCustomDiscountAtcAction extends SPZ.BaseElement { constructor(element) { super(element); this.xhr_ = SPZServices.xhrFor(this.win); this.product_title = ""; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } async getProductTitle_ (data){ this.product_title = data.product_title; } handleLoading_ (event) { const { type, action } = event; const loadingElementId = '#apps-discount-whole-loading'; const loadingElement = document.querySelector(loadingElementId); if (loadingElement) { SPZ.whenApiDefined(loadingElement).then((api) => { if (action === 'show') { api.show_(); } else { api.close_(); } }); } } // 渲染加购弹窗内容 async renderQuickShop_ (data) { this.handleLoading_({type: 'whole', action: 'show'}); const apply_scenario = data.apply_scenario; const discount_id = data.discount_id; const product_id = data.product_id; const limit_purchase = data.limit_purchase; this.xhr_.fetchJson(`/api/storefront/promotion/landing_page/product?product_id=${product_id}&discount_id=${discount_id}&apply_scenario=${apply_scenario}`, { method: "get", }).then(async(res)=>{ this.handleLoading_({type: 'whole', action: 'close'}); const $quickShop = await SPZ.whenApiDefined(document.querySelector('#apps-discount-quick-view-render')); // 定义默认渲染的子款式 const selectedVariant = res.product.variants.find((v)=> (v.available && v.is_hit_discount)) || res.product.variants[0]; let selectedValues = {}; selectedVariant.options.length && selectedVariant.options.forEach(item => { selectedValues[item.name] = item.value; }) // 默认选中的 子款式、 options res.product.defaultSelectValues = selectedValues; let data = {...res.product, product:res.product, selectedVariant}; data.need_atc = true; data.limit_purchase = limit_purchase; $quickShop.render(data); // 打开加购弹窗 SPZ.whenApiDefined(document.querySelector(`#apps-discount-quick-view`)).then((api)=>{ api.open(); }); }).catch((err)=>{ this.handleLoading_({type: 'whole', action: 'close'}); }) } // 加入购物车 addToCart_(data) { const apply_scenario = data.apply_scenario; const discount_id = data.discount_id; const product_id = data.product_id; this.xhr_.fetchJson(`/api/storefront/promotion/landing_page/product?product_id=${data.product_id}&discount_id=${discount_id}&apply_scenario=${apply_scenario}`, { method: "get", }).then(async(res)=>{ // 单款式加购 const variant_id = res.product.variants[0]?.id; const $productFormInput = document.querySelector(`#apps-discount-product-form-${data.product_id} input[name='variant_id'`); $productFormInput.value = variant_id; SPZ.whenApiDefined(document.querySelector(`#apps-discount-product-form-${data.product_id}`)).then((api)=>{ api.handleAddToCart_(); }); }).catch((err)=> { this.handleLoading_({type: 'whole', action: 'close'}); }) } // 加购弹窗未参与活动 加购按钮不可点击 handleNotHitDiscount_(data) { const $quickShopBody = document.querySelector('#apps-discount-quick-shop-body'); const $limitTip = document.querySelector('.apps_discount_limit_purchase_tip'); //当前子框式未命中活动 if(data.variant.is_hit_discount == false) { $quickShopBody.setAttribute('variantstatus', 'notHitDiscount'); $limitTip && $limitTip.setAttribute('selectedvariantstatus', 'notHitDiscount'); } else { $quickShopBody.setAttribute('variantstatus', ''); $limitTip && $limitTip.setAttribute('selectedvariantstatus', '') } } setupAction_() { this.registerAction('renderQuickShop', (invocation) => { const data = invocation.args; this.renderQuickShop_(data); }); // 加购 this.registerAction('addToCart', (invocation) => { const data = invocation.args; this.addToCart_(data); }); // 子款式 未参与活动 this.registerAction('handleNotHitDiscount', (invocation) => { const data = invocation.args.data; this.handleNotHitDiscount_(data); }); this.registerAction('getCartCount', (invocation) => { //一些老主题还未用spz重构,需要手动触发一次老方法以更新购物车图标的数量 window.$ && $(document).trigger('dj.common.cart.change'); }); this.registerAction('getProductTitle', (invocation) => { const data = invocation.args; this.getProductTitle_(data); }); this.registerAction('handleButton', (invocation) => { const data = invocation.args; window.location.href = this.product_title; }); }; buildCallback() { this.setupAction_(); }; } SPZ.defineElement('spz-custom-discount-atc-action', SpzCustomDiscountAtcAction);
class SpzCustomDiscountBundle extends SPZ.BaseElement { constructor(element) { super(element); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } mountCallback() {} unmountCallback() {} setupAction_() { this.registerAction('showAddToCartToast', () => { const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy') if(themeAddToCartToastEl) return const toastEl = document.querySelector('#apps-match-drawer-add_to_cart_toast') SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast("Added successfully"); }); }); } buildCallback() { this.setupAction_(); }; } SPZ.defineElement('spz-custom-discount-toast', SpzCustomDiscountBundle);
class SpzCustomDiscountFlashsale extends SPZ.BaseElement { constructor(element) { super(element); this.xhr_ = SPZServices.xhrFor(this.win); this.discountInfoApi = "\/api\/storefront\/promotion\/home_page\/campaign?discount_id=" this.product_display = {}; this.model = { loading: false, page: 2, limit: 20, total: 0, //已展示的商品数量 params: { count: 0, has_more: false, sort: { by: "recommend", direction: "asc" } } }; this.discount_id= ""; this.image_size="100%"; this.discount_info = {}; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } async getDiscountList() { const data = await this.xhr_.fetchJson(this.discountInfoApi + this.discount_id, { method: "GET", }).then(res => { this.model.params = { count: res.product_info.count, has_more: res.product_info.has_more, sort: { by: "recommend", direction: "asc" } } if(!res.product_info.product.length) return; this.model.total = res.product_info.product.length; this.product_display = res.home_page_info.product_display; this.discount_info = res.discount_info; res.product_info.product.forEach((product) => { product.url = appDiscountUtils.globalizePath(product.url); }) SPZ.whenApiDefined(document.getElementById("appDiscountIndexFlashsale")) .then(apis => { apis.render(res).then(() => { const hiddenArraw = res.home_page_info.banner.enabled ? res.product_info.product.length < 5 : res.product_info.product.length < 6 if(hiddenArraw) { document.querySelectorAll('.app_discount_flashsale_arrow').forEach((item) => { item.style.display="none"; }) } SPZ.whenApiDefined(document.getElementById("flashsaleProductsRender")).then((api) => { res.product_info.product_display = this.product_display; res.product_info.discount_id = this.discount_id; res.product_info.apply_scenario = 1; res.product_info.limit_purchase = this.discount_info.limit_user_product_discount; res.product_info.discount_image_size = this.image_size; api.render(res.product_info,true).then(() => {this.bindEvent_()}); }) }) }) }).catch(err => { console.error(err); }) return data; }; // 获取加载的商品数据,拼接html模板 async loadData(cb) { // 请求数据 this.model.loading = true; //查询活动商品接口 const reqBody = { discount_id: this.discount_id, page: this.model.page, limit: this.model.limit, apply_scenario: 1, sort: this.model.params.sort, sales_channel: { sale_channel_type: "online", sale_channel_id: '192929' } } this.xhr_.fetchJson(`/api/storefront/promotion/landing_page/product/list`, { method: "post", body: reqBody }).then(async(res)=>{ const count = res.count; this.model.params.has_more = res.has_more; this.model.total = this.model.total + res.products.length; if (count > 0) { this.model.page++; if (res.products && res.products.length > 0) { res.products.forEach((product) => { product.url = appDiscountUtils.globalizePath(product.url); }) res.product_display = this.product_display; res.discount_id = this.discount_id; res.apply_scenario = 1; res.limit_purchase = this.discount_info.limit_user_product_discount; res.discount_image_size = this.image_size; // 获取商品列表渲染模板, dom挂载 const $content = document.querySelector(".app_discount_products_list_wrapper"); this.templates_ = SPZServices.templatesForDoc(); this.templates_.renderTemplate(document.querySelector('#apps-discounts_product_list_template'), res).then((el) => { const childNodes = el.querySelectorAll('.as-render-product-item'); if (childNodes && childNodes.length > 0) { $content.append(...childNodes); } }) // 监听load去掉灰色背景 document.dispatchEvent(new CustomEvent('fire.load.img')); // 触发懒加载 cb && cb(products); window.lazyLoadInstance && window.lazyLoadInstance.update(); } } this.model.loading = false; }).catch((err)=>{ console.error(err); this.model.loading = false; }) }; setupAction_() { this.registerAction('shiftMove', (data) => { const $el = document.querySelector(".app_discount_products_list_wrapper"); const action = data.args.direct === "right"; const scrollwidth = action ? $el.offsetWidth : -$el.offsetWidth; $el.scrollBy({ left: scrollwidth, behavior: 'smooth' }); }); this.registerAction('changeFlashSaleLimitPurchase', (invocation) => { const data = invocation.args.data; this.handleFlashsaleTip_(data); }); }; //切换快速加购弹窗内限时促销限购提示 handleFlashsaleTip_(data) { const flashsaleEl = document.querySelector('#quick-shop-flashsale-tip'); SPZ.whenApiDefined(flashsaleEl).then((api) => { api.render(data); }); } bindEvent_() { // 监听滚动,请求数据 const $el = document.querySelector(".app_discount_products_list_wrapper"); if($el) { $el.addEventListener("scroll", this.win.SPZCore.Types.debounce( this.win, () => { const isRightEnd = $el.scrollLeft + $el.offsetWidth + 10 >= $el.scrollWidth; const isLeftEnd = Math.abs($el.scrollLeft) + $el.offsetWidth + 10 >= $el.scrollWidth; const isRTL = document.documentElement.getAttribute('dir') == 'rtl'; const isEnd = isRTL ? isLeftEnd : isRightEnd; if(isEnd && this.model.params.has_more && !this.model.loading && this.model.total < 100) { this.loadData(); } }, 50 )) }; }; buildCallback() { this.setupAction_(); }; mountCallback() { const $el = document.querySelector("#appDiscountFlashsale") this.discount_id = $el.getAttribute('flashsale-id'); this.image_size = $el.getAttribute('image-size'); if(!this.discount_id) return; this.getDiscountList(); }; } SPZ.defineElement('spz-custom-discount-flashsale', SpzCustomDiscountFlashsale);

Royaleye - Ultimate Vibration Cock Ring with APP & Remote Control for G-Spot and Clitoral Stimulation

from $42.99 $53.73

Rosethick – Rose Penis Sleeve Vibrating Cock Ring, Girth-Boosting Dual Rings for Thicker, Longer-Lasting Erections & Clit/G-Spot Stimulation

from $38.99 $113.57

Loopra - Mouth Sucking & Vibrating Cock Ring With Clit Sucker|Dual Pleasure Clitoral and Penis Stimulator for Couples

from $34.99 $174.95

The Ultimate Purple Duo: Royaleye Vibrating Cock Ring & The Original Rose Suction Toy

from $42.99 $53.73

Royaleye - Ultimate Vibration Cock Ring with APP & Remote Control for G-Spot and Clitoral Stimulation

from $42.99 $53.73

Rosethick – Rose Penis Sleeve Vibrating Cock Ring, Girth-Boosting Dual Rings for Thicker, Longer-Lasting Erections & Clit/G-Spot Stimulation

from $38.99 $113.57

Loopra - Mouth Sucking & Vibrating Cock Ring With Clit Sucker|Dual Pleasure Clitoral and Penis Stimulator for Couples

from $34.99 $174.95
View more

Rosara - Vibrating Nipple Clamps Rose Nipple Toys With 9 Vibrating Modes & Remote Control

from $34.99 $174.95

Petalyn – Rose Vibrating Nipple Clamps, Adjustable Pinch & Remote Control Nipple Toy

from $34.99 $71.27

【With Free Storage Bag】The Original Suction Rose Toy® in Seven Colors

from $38.95 $132.83

Rosara - Vibrating Nipple Clamps Rose Nipple Toys With 9 Vibrating Modes & Remote Control

from $34.99 $174.95

Petalyn – Rose Vibrating Nipple Clamps, Adjustable Pinch & Remote Control Nipple Toy

from $34.99 $71.27

【With Free Storage Bag】The Original Suction Rose Toy® in Seven Colors

from $38.95 $132.83
View more

8.66" Medical Silicone Thrusting Dildo: Bio-Mimetic Warmth & Hands-Free Freedom

from $39.95 $199.75

Tirion - 8.67 Inches Body-Safe Silicone Dildo with Vibrating, Thrusting, Swing and Heating functions

from $49.98 $184.25

Thrya Rabbit – Dual-Action Rabbit Vibrator with Licking Tip & Deep Thrusting Shaft

from $56.98 $104.98

Rose Mary 2026 Upgraded Dual Stimulator - Precise Clit Sucking & G-Spot Vibrator Premium Bodysafe Silicone

from $59.99 $299.95

Warrior - 8.5 inches 5-in-1 Medical Silicone Thrusting & Heating Black Dildo with Remote Control

from $44.99 $194.95

8.66" Medical Silicone Thrusting Dildo: Bio-Mimetic Warmth & Hands-Free Freedom

from $39.95 $199.75

Tirion - 8.67 Inches Body-Safe Silicone Dildo with Vibrating, Thrusting, Swing and Heating functions

from $49.98 $184.25

Thrya Rabbit – Dual-Action Rabbit Vibrator with Licking Tip & Deep Thrusting Shaft

from $56.98 $104.98

Rose Mary 2026 Upgraded Dual Stimulator - Precise Clit Sucking & G-Spot Vibrator Premium Bodysafe Silicone

from $59.99 $299.95
View more

Clio Micro Wand Massager – Clitoral Vibrator & Portable Body Massager

from $19.99 $39.99

Seloria – Powerful Mini Wand Vibrator for Clitoral & Body Massage, Optional Strap-On Attachment for Versatile Play

from $14.90 $29.99

Clio Micro Wand Massager – Clitoral Vibrator & Portable Body Massager

from $19.99 $39.99

Seloria – Powerful Mini Wand Vibrator for Clitoral & Body Massage, Optional Strap-On Attachment for Versatile Play

from $14.90 $29.99
View more

Heaven – 4-in-1 Automatic Penis Pump Stroker with 7 Sucking & Rotating Modes, Male Masturbator, App-Controlled Version Available

from $99.90 $210.99

Ultra-Realistic Suction Stroker – Deep-Throat Vacuum Seal with 5 Suction Modes & 10 Vibration Patterns

from $79.99 $89.99

Edge - Ai Sync Male Masturbator – Automatic Thrusting, Rotating & Licking Stroker For Men With Hand-free Base

from $89.90 $127.85

Heaven – 4-in-1 Automatic Penis Pump Stroker with 7 Sucking & Rotating Modes, Male Masturbator, App-Controlled Version Available

from $99.90 $210.99

Ultra-Realistic Suction Stroker – Deep-Throat Vacuum Seal with 5 Suction Modes & 10 Vibration Patterns

from $79.99 $89.99

Edge - Ai Sync Male Masturbator – Automatic Thrusting, Rotating & Licking Stroker For Men With Hand-free Base

from $89.90 $127.85
View more

Bondelle - Beginner Friendly BDSM Bondage Kit 7pcs For Couples Role Play

from $28.99 $41.41

Tethrix - BDSM Bed Bondage Restraint Sex Toys With Handcuffs Ankle Cuffs Blindfold Feather Tickler & 4 Separate Straps Adult Kinky Bondage Rope

from $29.99 $38.95

Bondelle - Beginner Friendly BDSM Bondage Kit 7pcs For Couples Role Play

from $28.99 $41.41

Tethrix - BDSM Bed Bondage Restraint Sex Toys With Handcuffs Ankle Cuffs Blindfold Feather Tickler & 4 Separate Straps Adult Kinky Bondage Rope

from $29.99 $38.95
View more

Rosetoy Official™ - Rose Sex Toy Shop in the World

Rosetoy Official website offers a wide selection of sexual toy products, including massagers, vibrators, lingerie, and adult novelty items. Our Rose Toys are leading the market in innovation, design, technology, and reputation. We collaborate with renowned brands to ensure product quality and safety.

We often think, "What sets us apart?"

Here, we go beyond simply selling sex toys. Our mission is to empower and educate individuals, liberating them from the shame and guilt often associated with sexual pleasure. Through our blogs, social media posts, and collaborative events with our partners, we are dedicated to dispelling common misconceptions about sex and providing free, comprehensive sex education content.

Blog posts

View all

Latest posts