{
 "categories": [
  {
   "id": "choco",
   "name": "巧巧脆脆",
   "emoji": "🍫"
  },
  {
   "id": "fruit",
   "name": "果果甜心",
   "emoji": "🍓"
  },
  {
   "id": "snack",
   "name": "馋嘴小铺",
   "emoji": "🍔"
  },
  {
   "id": "play",
   "name": "贪玩小铺",
   "emoji": "🧸"
  },
  {
   "id": "all",
   "name": "随心挑",
   "emoji": "✨"
  }
 ],
 "products": [
  {
   "id": "hazelnut",
   "cat": "choco",
   "name": "榛香生巧冰砖",
   "tag": "招牌",
   "shell": "choco",
   "desc": "烘烤榛子碎，点缀浓醇薄脆巧壳。",
   "inner": "#f3e2c4",
   "hidden": false,
   "w": 900,
   "h": 575,
   "cracked": true
  },
  {
   "id": "lemontart",
   "cat": "choco",
   "name": "柠檬白巧派",
   "tag": "新到货",
   "shell": "pastry",
   "desc": "酸甜柠檬凝乳，裹一圈酥脆白巧挞皮。",
   "inner": "#fbe7a1",
   "hidden": false,
   "w": 900,
   "h": 662,
   "cracked": true
  },
  {
   "id": "berrypalmier",
   "cat": "choco",
   "name": "莓你不行白巧酥",
   "tag": "新到货",
   "shell": "pastry",
   "desc": "心形千层酥，草莓白巧糖壳一捏就碎。",
   "inner": "#f6d9b0",
   "hidden": false,
   "w": 852,
   "h": 646,
   "cracked": true
  },
  {
   "id": "matcha",
   "cat": "choco",
   "name": "抹茶白巧砖",
   "tag": "",
   "shell": "choco",
   "desc": "宇治抹茶淋面，开心果碎配白巧脆壳。",
   "inner": "#e4ecc8",
   "hidden": false,
   "w": 900,
   "h": 667,
   "cracked": true
  },
  {
   "id": "darkpop",
   "cat": "choco",
   "name": "黑巧脆皮雪糕",
   "tag": "",
   "shell": "choco",
   "desc": "经典黑巧脆皮，咔嚓一声是童年。",
   "inner": "#fbf3e3",
   "hidden": false,
   "w": 859,
   "h": 673,
   "cracked": true
  },
  {
   "id": "almondball",
   "cat": "choco",
   "name": "杏仁黑巧脆球",
   "tag": "",
   "shell": "choco",
   "desc": "整颗圆滚滚，杏仁碎嵌满黑巧脆衣。",
   "inner": "#f1dfc1",
   "hidden": false,
   "w": 680,
   "h": 664,
   "cracked": true
  },
  {
   "id": "caramelbar",
   "cat": "choco",
   "name": "海盐焦糖脆脆条",
   "tag": "",
   "shell": "choco",
   "desc": "焦糖夹心配海盐，巧壳薄到会唱歌。",
   "inner": "#e8b56a",
   "hidden": false,
   "w": 836,
   "h": 490,
   "cracked": true
  },
  {
   "id": "cookiecream",
   "cat": "choco",
   "name": "奥利奥奶霜砖",
   "tag": "",
   "shell": "choco",
   "desc": "白巧裹奶霜，黑饼干碎撒满顶。",
   "inner": "#f7f3ea",
   "hidden": false,
   "w": 900,
   "h": 664,
   "cracked": true
  },
  {
   "id": "tanghulu",
   "cat": "fruit",
   "name": "草莓冰糖葫芦",
   "tag": "招牌",
   "shell": "sugar",
   "desc": "一层透亮糖壳，咬下去全是脆响。",
   "inner": "#e8485a",
   "hidden": false,
   "w": 900,
   "h": 237,
   "cracked": true
  },
  {
   "id": "grapehulu",
   "cat": "fruit",
   "name": "晴王青提糖葫芦",
   "tag": "新到货",
   "shell": "sugar",
   "desc": "青提裹糖衣，琉璃一样脆。",
   "inner": "#c9e59a",
   "hidden": false,
   "w": 900,
   "h": 198,
   "cracked": false
  },
  {
   "id": "sugarberry",
   "cat": "fruit",
   "name": "糖霜大草莓",
   "tag": "",
   "shell": "sugar",
   "desc": "整颗大草莓，挂满亮晶晶的糖霜。",
   "inner": "#f06070",
   "hidden": false,
   "w": 733,
   "h": 756,
   "cracked": true
  },
  {
   "id": "mangobar",
   "cat": "fruit",
   "name": "芒果脆皮冰砖",
   "tag": "",
   "shell": "choco",
   "desc": "金黄芒果巧壳，一捏就裂开。",
   "inner": "#ffd36b",
   "hidden": false,
   "w": 900,
   "h": 655,
   "cracked": true
  },
  {
   "id": "peachball",
   "cat": "fruit",
   "name": "蜜桃白巧脆球",
   "tag": "",
   "shell": "choco",
   "desc": "粉嫩桃桃，白巧脆壳包着软心。",
   "inner": "#ffd9cc",
   "hidden": false,
   "w": 612,
   "h": 629,
   "cracked": true
  },
  {
   "id": "orangehulu",
   "cat": "fruit",
   "name": "砂糖橘糖葫芦",
   "tag": "",
   "shell": "sugar",
   "desc": "小橘子裹糖壳，酸甜咔嚓。",
   "inner": "#ff9e3b",
   "hidden": false,
   "w": 900,
   "h": 261,
   "cracked": false
  },
  {
   "id": "brulee",
   "cat": "snack",
   "name": "焦糖布蕾",
   "tag": "招牌",
   "shell": "sugar",
   "desc": "火枪烤出的焦糖脆面，敲开是嫩布丁。",
   "inner": "#fbe2a0",
   "hidden": false,
   "w": 893,
   "h": 756,
   "cracked": true
  },
  {
   "id": "croissant",
   "cat": "snack",
   "name": "黄油可颂",
   "tag": "",
   "shell": "pastry",
   "desc": "八十一层酥皮，每一层都会响。",
   "inner": "#f5d9a0",
   "hidden": false,
   "w": 872,
   "h": 679,
   "cracked": true
  },
  {
   "id": "pineapplebun",
   "cat": "snack",
   "name": "港式菠萝包",
   "tag": "新到货",
   "shell": "pastry",
   "desc": "龟裂酥皮顶，一按就掉渣。",
   "inner": "#fbecc9",
   "hidden": false,
   "w": 876,
   "h": 769,
   "cracked": true
  },
  {
   "id": "eggtart",
   "cat": "snack",
   "name": "葡式酥皮蛋挞",
   "tag": "",
   "shell": "pastry",
   "desc": "千层酥皮托着焦斑蛋奶。",
   "inner": "#ffe08a",
   "hidden": false,
   "w": 862,
   "h": 685,
   "cracked": true
  },
  {
   "id": "friedchicken",
   "cat": "snack",
   "name": "黄金脆皮鸡腿",
   "tag": "",
   "shell": "fried",
   "desc": "炸到金黄的外皮，咔滋咔滋。",
   "inner": "#f6e2c6",
   "hidden": false,
   "w": 900,
   "h": 470,
   "cracked": true
  },
  {
   "id": "icecube",
   "cat": "play",
   "name": "冰晶方块",
   "tag": "招牌",
   "shell": "ice",
   "desc": "像冬天的薄冰，一捏满是冰裂纹。",
   "inner": "#dff3ff",
   "hidden": false,
   "w": 632,
   "h": 676,
   "cracked": true
  },
  {
   "id": "gummybear",
   "cat": "play",
   "name": "糖衣小熊",
   "tag": "",
   "shell": "sugar",
   "desc": "软糖小熊披着脆糖衣。",
   "inner": "#ff8fa6",
   "hidden": false,
   "w": 471,
   "h": 719,
   "cracked": true
  },
  {
   "id": "lollipop",
   "cat": "play",
   "name": "彩虹琉璃棒棒糖",
   "tag": "新到货",
   "shell": "sugar",
   "desc": "旋转彩虹硬糖，薄得透光。",
   "inner": "#ffd0f0",
   "hidden": false,
   "w": 882,
   "h": 665,
   "cracked": true
  },
  {
   "id": "marshmallow",
   "cat": "play",
   "name": "烤棉花糖",
   "tag": "",
   "shell": "sugar",
   "desc": "外面焦脆，里面拉丝。",
   "inner": "#fffaf0",
   "hidden": false,
   "w": 707,
   "h": 645,
   "cracked": true
  },
  {
   "id": "goldbrick",
   "cat": "choco",
   "name": "鎏金生巧冰砖",
   "tag": "隐藏款",
   "shell": "choco",
   "desc": "24K 金箔覆面，盲盒限定。",
   "inner": "#f3e2c4",
   "hidden": true,
   "w": 900,
   "h": 688,
   "cracked": true
  },
  {
   "id": "galaxyhulu",
   "cat": "fruit",
   "name": "星河琉璃糖葫芦",
   "tag": "隐藏款",
   "shell": "sugar",
   "desc": "紫蓝渐变糖壳里藏着星星，盲盒限定。",
   "inner": "#9b7bff",
   "hidden": true,
   "w": 900,
   "h": 225,
   "cracked": false
  },
  {
   "id": "sakura",
   "cat": "choco",
   "name": "樱花白巧酥",
   "tag": "隐藏款",
   "shell": "pastry",
   "desc": "樱花盐渍花瓣落在白巧上，盲盒限定。",
   "inner": "#ffe3ea",
   "hidden": true,
   "w": 733,
   "h": 614,
   "cracked": true
  }
 ]
}