shoplazza-cli 1.1.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (400) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/LICENSE +21 -0
  3. package/README.md +206 -332
  4. package/README.zh.md +318 -0
  5. package/package.json +24 -70
  6. package/scripts/install.js +144 -0
  7. package/scripts/jsbuild/dev/index.js +123 -0
  8. package/scripts/jsbuild/index.js +77 -0
  9. package/{lib/checkout/build → scripts/jsbuild}/plugin/vite-plugin-add-extension-id.js +4 -2
  10. package/scripts/jsbuild/vite.config.js +35 -0
  11. package/scripts/run.js +29 -0
  12. package/.editorconfig +0 -28
  13. package/.prettierrc +0 -9
  14. package/bin/shoplazza +0 -137
  15. package/fixtures/assets/blog.scss +0 -74
  16. package/fixtures/assets/cart_modal.scss +0 -450
  17. package/fixtures/assets/collection_detail.js +0 -234
  18. package/fixtures/assets/collection_detail.scss +0 -345
  19. package/fixtures/assets/collection_list.scss +0 -11
  20. package/fixtures/assets/collection_slider.scss +0 -169
  21. package/fixtures/assets/feature_columns.scss +0 -26
  22. package/fixtures/assets/feature_product.scss +0 -109
  23. package/fixtures/assets/footer.js +0 -58
  24. package/fixtures/assets/footer.scss +0 -337
  25. package/fixtures/assets/four_images.scss +0 -29
  26. package/fixtures/assets/gallery.scss +0 -55
  27. package/fixtures/assets/header.js +0 -178
  28. package/fixtures/assets/header.scss +0 -929
  29. package/fixtures/assets/image_text.scss +0 -72
  30. package/fixtures/assets/logo_bar.scss +0 -11
  31. package/fixtures/assets/newsletter.scss +0 -90
  32. package/fixtures/assets/not_found.scss +0 -39
  33. package/fixtures/assets/page_detail.scss +0 -16
  34. package/fixtures/assets/pagination.scss +0 -150
  35. package/fixtures/assets/postcss.config.js +0 -6
  36. package/fixtures/assets/product_description.scss +0 -88
  37. package/fixtures/assets/product_detail.js +0 -634
  38. package/fixtures/assets/product_detail.scss +0 -1106
  39. package/fixtures/assets/relative_product.scss +0 -45
  40. package/fixtures/assets/reviews.scss +0 -70
  41. package/fixtures/assets/rich_text.scss +0 -71
  42. package/fixtures/assets/search.js +0 -87
  43. package/fixtures/assets/search.scss +0 -67
  44. package/fixtures/assets/slide.scss +0 -51
  45. package/fixtures/assets/slider.scss +0 -141
  46. package/fixtures/assets/test.scss +0 -1
  47. package/fixtures/assets/theme.css +0 -976
  48. package/fixtures/assets/theme.scss +0 -1100
  49. package/fixtures/assets/three_images.scss +0 -20
  50. package/fixtures/assets/tools.scss +0 -23
  51. package/fixtures/assets/two_images.scss +0 -24
  52. package/fixtures/assets/video.scss +0 -45
  53. package/fixtures/assets/video_text.scss +0 -63
  54. package/fixtures/config/settings_data.json +0 -107
  55. package/fixtures/config/settings_schema.json +0 -690
  56. package/fixtures/layout/theme.liquid +0 -76
  57. package/fixtures/locales/ar-SA.json +0 -212
  58. package/fixtures/locales/de-DE.json +0 -290
  59. package/fixtures/locales/en-US.json +0 -290
  60. package/fixtures/locales/es-ES.json +0 -290
  61. package/fixtures/locales/fr-FR.json +0 -290
  62. package/fixtures/locales/id-ID.json +0 -212
  63. package/fixtures/locales/it-IT.json +0 -212
  64. package/fixtures/locales/ja-JP.json +0 -289
  65. package/fixtures/locales/ko-KR.json +0 -290
  66. package/fixtures/locales/nl-NL.json +0 -290
  67. package/fixtures/locales/pl-PL.json +0 -290
  68. package/fixtures/locales/pt-PT.json +0 -212
  69. package/fixtures/locales/ru-RU.json +0 -212
  70. package/fixtures/locales/th-TH.json +0 -212
  71. package/fixtures/locales/zh-CN.json +0 -290
  72. package/fixtures/locales/zh-TW.json +0 -290
  73. package/fixtures/sections/apps.liquid +0 -47
  74. package/fixtures/sections/blog.liquid +0 -137
  75. package/fixtures/sections/collection_desc.liquid +0 -34
  76. package/fixtures/sections/collection_detail.liquid +0 -436
  77. package/fixtures/sections/collection_image.liquid +0 -104
  78. package/fixtures/sections/collection_list.liquid +0 -161
  79. package/fixtures/sections/collection_name.liquid +0 -34
  80. package/fixtures/sections/collection_slider.liquid +0 -330
  81. package/fixtures/sections/feature_columns.liquid +0 -275
  82. package/fixtures/sections/feature_product.liquid +0 -227
  83. package/fixtures/sections/footer.liquid +0 -488
  84. package/fixtures/sections/four_images.liquid +0 -160
  85. package/fixtures/sections/gallery.liquid +0 -258
  86. package/fixtures/sections/header.liquid +0 -1157
  87. package/fixtures/sections/html.liquid +0 -40
  88. package/fixtures/sections/image_text.liquid +0 -350
  89. package/fixtures/sections/instagram_plus.liquid +0 -393
  90. package/fixtures/sections/logo_bar.liquid +0 -183
  91. package/fixtures/sections/newsletter.liquid +0 -225
  92. package/fixtures/sections/not_found.liquid +0 -39
  93. package/fixtures/sections/overlay_image.liquid +0 -648
  94. package/fixtures/sections/page_detail.liquid +0 -39
  95. package/fixtures/sections/photo_collection.liquid +0 -433
  96. package/fixtures/sections/product_description.liquid +0 -208
  97. package/fixtures/sections/product_detail.liquid +0 -611
  98. package/fixtures/sections/products.liquid +0 -216
  99. package/fixtures/sections/relative_product.liquid +0 -121
  100. package/fixtures/sections/reviews.liquid +0 -115
  101. package/fixtures/sections/rich_text.liquid +0 -157
  102. package/fixtures/sections/search.liquid +0 -163
  103. package/fixtures/sections/slide.liquid +0 -719
  104. package/fixtures/sections/three_images.liquid +0 -157
  105. package/fixtures/sections/two_images.liquid +0 -125
  106. package/fixtures/sections/video.liquid +0 -95
  107. package/fixtures/sections/video_text.liquid +0 -128
  108. package/fixtures/snippets/bgset.liquid +0 -21
  109. package/fixtures/snippets/card_title.liquid +0 -8
  110. package/fixtures/snippets/cart_modal.liquid +0 -74
  111. package/fixtures/snippets/collection.liquid +0 -77
  112. package/fixtures/snippets/collection_filter_modal.liquid +0 -56
  113. package/fixtures/snippets/default_image_4.liquid +0 -14
  114. package/fixtures/snippets/default_image_6.liquid +0 -18
  115. package/fixtures/snippets/default_image_8.liquid +0 -23
  116. package/fixtures/snippets/four_images_item.liquid +0 -8
  117. package/fixtures/snippets/header_ads.liquid +0 -95
  118. package/fixtures/snippets/hero_image.liquid +0 -94
  119. package/fixtures/snippets/icon_video_play_large.liquid +0 -1
  120. package/fixtures/snippets/icon_video_play_medium.liquid +0 -4
  121. package/fixtures/snippets/icon_video_play_small.liquid +0 -4
  122. package/fixtures/snippets/lazyimg.liquid +0 -22
  123. package/fixtures/snippets/lazyimg_art.liquid +0 -36
  124. package/fixtures/snippets/lazysizes.liquid +0 -41
  125. package/fixtures/snippets/link.liquid +0 -2
  126. package/fixtures/snippets/pagination.liquid +0 -48
  127. package/fixtures/snippets/product.liquid +0 -126
  128. package/fixtures/snippets/product_art_tpl.liquid +0 -152
  129. package/fixtures/snippets/product_info_body.liquid +0 -337
  130. package/fixtures/snippets/product_info_tpl.liquid +0 -423
  131. package/fixtures/snippets/product_label.liquid +0 -46
  132. package/fixtures/snippets/settings.liquid +0 -295
  133. package/fixtures/snippets/social-meta-tags.liquid +0 -106
  134. package/fixtures/snippets/video_html.liquid +0 -11
  135. package/fixtures/snippets/video_source.liquid +0 -98
  136. package/fixtures/snippets/video_thumb_icon.liquid +0 -2
  137. package/fixtures/templates/404.liquid +0 -1
  138. package/fixtures/templates/collection.liquid +0 -92
  139. package/fixtures/templates/index.liquid +0 -206
  140. package/fixtures/templates/page.liquid +0 -1
  141. package/fixtures/templates/product.liquid +0 -99
  142. package/fixtures/templates/search.liquid +0 -1
  143. package/jest.config.js +0 -192
  144. package/lib/__tests__/log.test.js +0 -15
  145. package/lib/__tests__/utils.test.js +0 -69
  146. package/lib/app/api/cli.js +0 -225
  147. package/lib/app/api/openapi.js +0 -121
  148. package/lib/app/api/partnerOpenapi.js +0 -104
  149. package/lib/app/bin/index.js +0 -20
  150. package/lib/app/bin/javy/javy-arm-linux-v5.0.1 +0 -0
  151. package/lib/app/bin/javy/javy-arm-macos-v5.0.1 +0 -0
  152. package/lib/app/bin/javy/javy-x86_64-linux-v5.0.1 +0 -0
  153. package/lib/app/bin/javy/javy-x86_64-macos-v5.0.1 +0 -0
  154. package/lib/app/bin/javy/javy-x86_64-windows-v5.0.1 +0 -0
  155. package/lib/app/commands/config/actions/link.js +0 -189
  156. package/lib/app/commands/config/actions/use.js +0 -40
  157. package/lib/app/commands/config/index.js +0 -25
  158. package/lib/app/commands/config/link.js +0 -11
  159. package/lib/app/commands/config/use.js +0 -11
  160. package/lib/app/commands/deploy/actions/deploy.js +0 -196
  161. package/lib/app/commands/deploy/index.js +0 -11
  162. package/lib/app/commands/dev/actions/dev.js +0 -206
  163. package/lib/app/commands/dev/index.js +0 -11
  164. package/lib/app/commands/generate/actions/extension.js +0 -97
  165. package/lib/app/commands/generate/actions/generateCheckout.js +0 -58
  166. package/lib/app/commands/generate/actions/generateFunction.js +0 -56
  167. package/lib/app/commands/generate/actions/generateTheme.js +0 -128
  168. package/lib/app/commands/generate/extension.js +0 -11
  169. package/lib/app/commands/generate/index.js +0 -22
  170. package/lib/app/commands/index.js +0 -82
  171. package/lib/app/commands/info/actions/info.js +0 -168
  172. package/lib/app/commands/info/index.js +0 -11
  173. package/lib/app/commands/init/actions/init.js +0 -176
  174. package/lib/app/commands/init/index.js +0 -14
  175. package/lib/app/commands/versions/actions/list.js +0 -210
  176. package/lib/app/commands/versions/index.js +0 -22
  177. package/lib/app/commands/versions/list.js +0 -14
  178. package/lib/app/constant/code.js +0 -7
  179. package/lib/app/constant/color.js +0 -18
  180. package/lib/app/constant/extension.js +0 -16
  181. package/lib/app/constant/host.js +0 -23
  182. package/lib/app/constant/sso.js +0 -7
  183. package/lib/app/index.js +0 -8
  184. package/lib/app/services/auth/config.js +0 -33
  185. package/lib/app/services/auth/index.js +0 -9
  186. package/lib/app/services/auth/oauth-server.js +0 -70
  187. package/lib/app/services/auth/partner-token.js +0 -45
  188. package/lib/app/services/auth/sso-token.js +0 -69
  189. package/lib/app/services/auth/store-token.js +0 -100
  190. package/lib/app/services/auth/url-builder.js +0 -23
  191. package/lib/app/services/config/index.js +0 -41
  192. package/lib/app/services/devServer/app.js +0 -76
  193. package/lib/app/services/devServer/index.js +0 -103
  194. package/lib/app/services/devServer/middleware/hmacValidatorMiddleWare.js +0 -20
  195. package/lib/app/services/devServer/middleware/index.js +0 -5
  196. package/lib/app/services/devServer/tunnel/index.js +0 -43
  197. package/lib/app/services/devServer/tunnel/providers/cloudflare.js +0 -364
  198. package/lib/app/services/devServer/tunnel/providers/ngrok.js +0 -70
  199. package/lib/app/services/devServer/utils/index.js +0 -5
  200. package/lib/app/services/devServer/utils/secureCompare.js +0 -5
  201. package/lib/app/services/devServer/views/app.ejs +0 -133
  202. package/lib/app/services/extension-build/buildCheckout.js +0 -47
  203. package/lib/app/services/extension-build/buildFunction.js +0 -57
  204. package/lib/app/services/extension-build/buildTheme.js +0 -100
  205. package/lib/app/services/extension-build/index.js +0 -23
  206. package/lib/app/services/extension-build/plugins/vite-plugin-add-extension-id.js +0 -26
  207. package/lib/app/services/extension-diff/index.js +0 -132
  208. package/lib/app/services/extension-upsert/index.js +0 -21
  209. package/lib/app/services/extension-upsert/upsertCheckout.js +0 -44
  210. package/lib/app/services/extension-upsert/upsertFunction.js +0 -52
  211. package/lib/app/services/extension-upsert/upsertTheme.js +0 -113
  212. package/lib/app/services/oss/index.js +0 -45
  213. package/lib/app/services/partner/index.js +0 -52
  214. package/lib/app/store/base-store.js +0 -37
  215. package/lib/app/store/config-store.js +0 -55
  216. package/lib/app/store/config.js +0 -21
  217. package/lib/app/store/index.js +0 -14
  218. package/lib/app/store/install-store.js +0 -41
  219. package/lib/app/store/sso-store.js +0 -55
  220. package/lib/app/utils/asyncPool.js +0 -42
  221. package/lib/app/utils/debug/index.js +0 -16
  222. package/lib/app/utils/env.js +0 -24
  223. package/lib/app/utils/error.js +0 -20
  224. package/lib/app/utils/git.js +0 -20
  225. package/lib/app/utils/json.js +0 -27
  226. package/lib/app/utils/path.js +0 -33
  227. package/lib/app/utils/platform.js +0 -37
  228. package/lib/app/utils/request/cli.js +0 -72
  229. package/lib/app/utils/request/debug.js +0 -13
  230. package/lib/app/utils/request/openapi.js +0 -67
  231. package/lib/app/utils/request/partnerOpenapi.js +0 -47
  232. package/lib/app/utils/toml.js +0 -56
  233. package/lib/app/utils/views/message.js +0 -68
  234. package/lib/app/utils/views/select.js +0 -36
  235. package/lib/app/utils/withTempDir.js +0 -55
  236. package/lib/auth/__mocks__/getCode.js +0 -7
  237. package/lib/auth/__mocks__/index.js +0 -0
  238. package/lib/auth/child.js +0 -23
  239. package/lib/auth/getCode.js +0 -39
  240. package/lib/auth/index.js +0 -134
  241. package/lib/check.js +0 -28
  242. package/lib/checkout/api.js +0 -164
  243. package/lib/checkout/build/plugin/vite-plugin-transform-extension-html.js +0 -207
  244. package/lib/checkout/build/vite.config.js +0 -34
  245. package/lib/checkout/build.js +0 -38
  246. package/lib/checkout/config.js +0 -97
  247. package/lib/checkout/create.js +0 -132
  248. package/lib/checkout/delete.js +0 -26
  249. package/lib/checkout/deploy.js +0 -59
  250. package/lib/checkout/dev/index.js +0 -143
  251. package/lib/checkout/fields.js +0 -29
  252. package/lib/checkout/index.js +0 -63
  253. package/lib/checkout/preview.js +0 -52
  254. package/lib/checkout/pull.js +0 -22
  255. package/lib/checkout/push.js +0 -141
  256. package/lib/checkout/template/README.md +0 -34
  257. package/lib/checkout/template/_gitignore +0 -4
  258. package/lib/checkout/template/extension.config.js +0 -4
  259. package/lib/checkout/template/extensions/extension-template/extension.json +0 -10
  260. package/lib/checkout/template/extensions/extension-template/src/content.html +0 -3
  261. package/lib/checkout/template/extensions/extension-template/src/index.html +0 -5
  262. package/lib/checkout/template/extensions/extension-template/src/index.js +0 -11
  263. package/lib/checkout/template/extensions/extension-template/src/script.html +0 -3
  264. package/lib/checkout/template/extensions/extension-template/src/style.html +0 -3
  265. package/lib/checkout/template/package.json +0 -17
  266. package/lib/checkout/undeploy.js +0 -40
  267. package/lib/checkout/util.js +0 -201
  268. package/lib/checkout/verify.js +0 -16
  269. package/lib/checkout/version.js +0 -7
  270. package/lib/commands/__tests__/login.test.js +0 -77
  271. package/lib/commands/__tests__/logout.test.js +0 -29
  272. package/lib/commands/__tests__/store.test.js +0 -44
  273. package/lib/commands/__tests__/switch.test.js +0 -45
  274. package/lib/commands/login.js +0 -120
  275. package/lib/commands/logout.js +0 -23
  276. package/lib/commands/store.js +0 -14
  277. package/lib/commands/switch.js +0 -52
  278. package/lib/commands/theme/__tests__/delete.test.js +0 -49
  279. package/lib/commands/theme/__tests__/init.test.js +0 -21
  280. package/lib/commands/theme/__tests__/list.test.js +0 -80
  281. package/lib/commands/theme/__tests__/package.test.js +0 -17
  282. package/lib/commands/theme/__tests__/publish.test.js +0 -61
  283. package/lib/commands/theme/__tests__/pull.test.js +0 -69
  284. package/lib/commands/theme/__tests__/push.test.js +0 -63
  285. package/lib/commands/theme/__tests__/serve.test.js +0 -107
  286. package/lib/commands/theme/delete.js +0 -64
  287. package/lib/commands/theme/init.js +0 -51
  288. package/lib/commands/theme/list.js +0 -28
  289. package/lib/commands/theme/package.js +0 -37
  290. package/lib/commands/theme/publish.js +0 -56
  291. package/lib/commands/theme/pull.js +0 -62
  292. package/lib/commands/theme/push.js +0 -106
  293. package/lib/commands/theme/serve.js +0 -153
  294. package/lib/commands/theme/share.js +0 -20
  295. package/lib/commands/version.js +0 -6
  296. package/lib/common/constants.js +0 -24
  297. package/lib/common/db/partner.js +0 -91
  298. package/lib/common/inquirers/choose-app.js +0 -79
  299. package/lib/common/inquirers/choose-partner.js +0 -74
  300. package/lib/common/log.js +0 -15
  301. package/lib/common/login.js +0 -125
  302. package/lib/common/logout.js +0 -16
  303. package/lib/db/__mocks__/index.js +0 -9
  304. package/lib/db/__tests__/analytics.test.js +0 -19
  305. package/lib/db/__tests__/user.test.js +0 -20
  306. package/lib/db/analytics.js +0 -48
  307. package/lib/db/index.js +0 -9
  308. package/lib/db/user.js +0 -71
  309. package/lib/function/bin/index.js +0 -20
  310. package/lib/function/bin/javy/javy-arm-linux-v5.0.1 +0 -0
  311. package/lib/function/bin/javy/javy-arm-macos-v5.0.1 +0 -0
  312. package/lib/function/bin/javy/javy-x86_64-linux-v5.0.1 +0 -0
  313. package/lib/function/bin/javy/javy-x86_64-macos-v5.0.1 +0 -0
  314. package/lib/function/bin/javy/javy-x86_64-windows-v5.0.1 +0 -0
  315. package/lib/function/commands/compile.js +0 -43
  316. package/lib/function/commands/create.js +0 -77
  317. package/lib/function/commands/list.js +0 -18
  318. package/lib/function/commands/release.js +0 -69
  319. package/lib/function/index.js +0 -24
  320. package/lib/function/template/js/README.md +0 -37
  321. package/lib/function/template/js/_gitignore +0 -4
  322. package/lib/function/template/js/extension.config.json +0 -5
  323. package/lib/function/template/js/package.json +0 -17
  324. package/lib/function/template/js/src/index.js +0 -64
  325. package/lib/function/utils.js +0 -29
  326. package/lib/log.js +0 -13
  327. package/lib/openAPI/__mocks__/index.js +0 -20
  328. package/lib/openAPI/api.js +0 -76
  329. package/lib/openAPI/index.js +0 -56
  330. package/lib/oss.js +0 -102
  331. package/lib/partner-api/axios.js +0 -67
  332. package/lib/partner-api/index.js +0 -79
  333. package/lib/report.js +0 -37
  334. package/lib/theme-extension/api/index.js +0 -96
  335. package/lib/theme-extension/commands/build.js +0 -114
  336. package/lib/theme-extension/commands/connect.js +0 -73
  337. package/lib/theme-extension/commands/create.js +0 -105
  338. package/lib/theme-extension/commands/deploy.js +0 -56
  339. package/lib/theme-extension/commands/list.js +0 -35
  340. package/lib/theme-extension/commands/release.js +0 -59
  341. package/lib/theme-extension/commands/serve.js +0 -179
  342. package/lib/theme-extension/commands/versions.js +0 -55
  343. package/lib/theme-extension/index.js +0 -29
  344. package/lib/theme-extension/template/basic-app/README.md +0 -125
  345. package/lib/theme-extension/template/basic-app/extension.config.json +0 -4
  346. package/lib/theme-extension/template/basic-app/package.json +0 -18
  347. package/lib/theme-extension/template/basic-app/theme-app/assets/index.css +0 -4
  348. package/lib/theme-extension/template/basic-app/theme-app/assets-manifest.json +0 -1
  349. package/lib/theme-extension/template/basic-app/theme-app/blocks/index.liquid +0 -16
  350. package/lib/theme-extension/template/basic-app/theme-app/locales/ar-SA.json +0 -1
  351. package/lib/theme-extension/template/basic-app/theme-app/locales/de-DE.json +0 -1
  352. package/lib/theme-extension/template/basic-app/theme-app/locales/en-US.json +0 -6
  353. package/lib/theme-extension/template/basic-app/theme-app/locales/es-ES.json +0 -1
  354. package/lib/theme-extension/template/basic-app/theme-app/locales/fr-FR.json +0 -1
  355. package/lib/theme-extension/template/basic-app/theme-app/locales/id-ID.json +0 -1
  356. package/lib/theme-extension/template/basic-app/theme-app/locales/it-IT.json +0 -1
  357. package/lib/theme-extension/template/basic-app/theme-app/locales/ja-JP.json +0 -1
  358. package/lib/theme-extension/template/basic-app/theme-app/locales/ko-KR.json +0 -1
  359. package/lib/theme-extension/template/basic-app/theme-app/locales/nl-NL.json +0 -1
  360. package/lib/theme-extension/template/basic-app/theme-app/locales/pl-PL.json +0 -1
  361. package/lib/theme-extension/template/basic-app/theme-app/locales/pt-PT.json +0 -1
  362. package/lib/theme-extension/template/basic-app/theme-app/locales/ru-RU.json +0 -1
  363. package/lib/theme-extension/template/basic-app/theme-app/locales/th-TH.json +0 -1
  364. package/lib/theme-extension/template/basic-app/theme-app/locales/zh-CN.json +0 -6
  365. package/lib/theme-extension/template/basic-app/theme-app/locales/zh-TW.json +0 -1
  366. package/lib/theme-extension/template/basic-app/theme-app/snippets/index.liquid +0 -8
  367. package/lib/theme-extension/template/embed-app/README.md +0 -125
  368. package/lib/theme-extension/template/embed-app/extension.config.json +0 -4
  369. package/lib/theme-extension/template/embed-app/package.json +0 -18
  370. package/lib/theme-extension/template/embed-app/theme-app/assets-manifest.json +0 -1
  371. package/lib/theme-extension/template/embed-app/theme-app/blocks/index.liquid +0 -18
  372. package/lib/theme-extension/template/embed-app/theme-app/locales/ar-SA.json +0 -1
  373. package/lib/theme-extension/template/embed-app/theme-app/locales/de-DE.json +0 -1
  374. package/lib/theme-extension/template/embed-app/theme-app/locales/en-US.json +0 -6
  375. package/lib/theme-extension/template/embed-app/theme-app/locales/es-ES.json +0 -1
  376. package/lib/theme-extension/template/embed-app/theme-app/locales/fr-FR.json +0 -1
  377. package/lib/theme-extension/template/embed-app/theme-app/locales/id-ID.json +0 -1
  378. package/lib/theme-extension/template/embed-app/theme-app/locales/it-IT.json +0 -1
  379. package/lib/theme-extension/template/embed-app/theme-app/locales/ja-JP.json +0 -1
  380. package/lib/theme-extension/template/embed-app/theme-app/locales/ko-KR.json +0 -1
  381. package/lib/theme-extension/template/embed-app/theme-app/locales/nl-NL.json +0 -1
  382. package/lib/theme-extension/template/embed-app/theme-app/locales/pl-PL.json +0 -1
  383. package/lib/theme-extension/template/embed-app/theme-app/locales/pt-PT.json +0 -1
  384. package/lib/theme-extension/template/embed-app/theme-app/locales/ru-RU.json +0 -1
  385. package/lib/theme-extension/template/embed-app/theme-app/locales/th-TH.json +0 -1
  386. package/lib/theme-extension/template/embed-app/theme-app/locales/zh-CN.json +0 -6
  387. package/lib/theme-extension/template/embed-app/theme-app/locales/zh-TW.json +0 -1
  388. package/lib/theme-extension/template/embed-app/theme-app/snippets/index.liquid +0 -8
  389. package/lib/theme-extension/template/embed-app/theme-app/snippets/index_css.liquid +0 -6
  390. package/lib/theme-extension/utils/config.js +0 -32
  391. package/lib/theme-extension/utils/index.js +0 -213
  392. package/lib/tracing.js +0 -50
  393. package/lib/utils/config.js +0 -12
  394. package/lib/utils/console.js +0 -33
  395. package/lib/utils/env.js +0 -17
  396. package/lib/utils/file.js +0 -48
  397. package/lib/utils/platform.js +0 -37
  398. package/lib/utils/utils.js +0 -165
  399. /package/{lib/checkout → scripts/jsbuild}/dev/client.js +0 -0
  400. /package/{lib/app/services/extension-build/plugins → scripts/jsbuild/plugin}/vite-plugin-transform-extension-html.js +0 -0
@@ -1,295 +0,0 @@
1
- {% assign titleFont = settings.skin_title_font_family %}
2
- {% assign textFont = settings.skin_text_font_family %}
3
- {% assign btnFont = settings.skin_btn_font_family %}
4
- {% assign productHeaderFont = settings.skin_product_header_font_family %}
5
-
6
- {% capture titleFontDesc %}
7
- font-family: {{titleFont.family}},{{titleFont.fallback_families}} !important;
8
- font-style:{{titleFont.style}} !important;
9
- font-weight:{{titleFont.weight}} !important;
10
- {% endcapture %}
11
-
12
- {% capture textFontDesc %}
13
- font-family: {{textFont.family}},{{textFont.fallback_families}} !important;
14
- font-style:{{textFont.style}} !important;
15
- font-weight:{{textFont.weight}} !important;
16
- {% endcapture %}
17
-
18
- {% capture btnFontDesc %}
19
- font-family: {{btnFont.family}},{{btnFont.fallback_families}} !important;
20
- font-style:{{btnFont.style}} !important;
21
- font-weight:{{btnFont.weight}} !important;
22
- {% endcapture %}
23
-
24
- {% capture productHeaderFontDesc %}
25
- font-family: {{productHeaderFont.family}},{{productHeaderFont.fallback_families}} !important;
26
- font-style:{{productHeaderFont.style}} !important;
27
- font-weight:{{productHeaderFont.weight}} !important;
28
- {% endcapture %}
29
- <style type="text/css">
30
- :root {
31
- --skin_primary_btn_bg_color: {{settings.skin_primary_btn_bg_color}};
32
- --skin_primary_btn_text_color: {{settings.skin_primary_btn_text_color}};
33
- --skin_bg: {{settings.skin_bg}};
34
- }
35
-
36
- @media (min-width: 768px){
37
- {% assign general_layout_width = settings.general_layout_width | default: 1080 %}
38
- {% assign general_layout_spacing = settings.general_layout_spacing | default: 40 %}
39
- .container{
40
- max-width: {{general_layout_spacing | times: 2 | plus : general_layout_width}}px !important;
41
- padding-right: {{general_layout_spacing | plus : 15}}px !important;
42
- padding-left: {{general_layout_spacing | plus : 15}}px !important;
43
- }
44
- .tw-container{
45
- max-width: {{general_layout_spacing | times: 2 | plus : general_layout_width}}px !important;
46
- padding-right: {{general_layout_spacing | plus : 15}}px !important;
47
- padding-left: {{general_layout_spacing | plus : 15}}px !important;
48
- margin: 0 auto;
49
- }
50
- }
51
-
52
- .tw-container{
53
- width: 100%;
54
- padding-right: 15px;
55
- padding-left: 15px;
56
- margin-right: auto;
57
- margin-left: auto;
58
- }
59
-
60
- /* 字体 */
61
- {% assign titleFont = settings.skin_title_font_family %}
62
- {% assign textFont = settings.skin_text_font_family %}
63
- {% assign btnFont = settings.skin_btn_font_family %}
64
- {% assign productHeaderFont = settings.skin_product_header_font_family %}
65
- {% capture fonts %}{{ titleFont.font_face }}|{{ textFont.font_face }}|{{ btnFont.font_face }}|{{ productHeaderFont.font_face }}{% endcapture %}
66
- {% assign arr = fonts | split:"|" | uniq %}
67
- {% for f in arr %}{{ f }}{% endfor %}
68
-
69
- /* 页面背景 */
70
- .dj_skin_bg {
71
- background-color: {{settings.skin_bg}} !important;
72
- }
73
- /* 全局标题 */
74
- .dj_skin_title {
75
- color: {{settings.skin_title_color}} !important;
76
- font-size: {{settings.skin_title_font_size}}px !important;
77
- {{titleFontDesc}}
78
- }
79
-
80
- /* 全局标题 --- 不包含font-size */
81
- .dj_skin_title_font {
82
- color: {{settings.skin_title_color}} !important;
83
- {{titleFontDesc}}
84
- }
85
-
86
- .dj_skin_title_font_family {
87
- {{titleFontDesc}}
88
- }
89
-
90
- /* 全局文本 */
91
- .dj_skin_text {
92
- color: {{settings.skin_text_color}} !important;
93
- }
94
-
95
- .dj_skin_body {
96
- -webkit-font-smoothing: antialiased;
97
- {{textFontDesc}}
98
- }
99
-
100
- /* 全局文本字体 */
101
- .dj_skin_text_font_family {
102
- {{textFontDesc}}
103
- }
104
-
105
- /*----------------------------*/
106
-
107
- /* 商品标题 */
108
- .dj_skin_product_title {
109
- color: {{settings.skin_title_color}} !important;
110
- {{titleFontDesc}};
111
- }
112
-
113
- /* 商品列表标题 */
114
- .dj_skin_product_list_title{
115
- color: {{settings.skin_text_color}} !important;
116
- font-size: {{settings.skin_product_header_font_size}}px !important;
117
- {{productHeaderFontDesc}};
118
- }
119
-
120
- /* 商品标题字体 */
121
- .dj_skin_product_title_font_family{
122
- {{productHeaderFontDesc}}
123
- }
124
-
125
- /* 商品副标题 */
126
- .dj_skin_product_brief_title {
127
- {{textFontDesc}}
128
- }
129
-
130
- /* 商品现价 */
131
- .dj_skin_product_price {
132
- color: {{settings.skin_price_color}} !important;
133
- font-size: {{settings.skin_price_font_size}}px !important;
134
- {{textFontDesc}}
135
- }
136
-
137
- /* 商品详情现价--不需要限制字体 */
138
- .dj_skin_product_detail_price {
139
- color: {{settings.skin_price_color}} !important;
140
- {{textFontDesc}}
141
- }
142
-
143
- /* 商品原价 */
144
- .dj_skin_product_compare_at_price {
145
- color: {{settings.skin_compare_at_price_color}} !important;
146
- font-size: {{settings.skin_compare_at_price_font_size}}px !important;
147
- {{textFontDesc}}
148
- }
149
-
150
- /* 商品详情原价--不需要限制字体 */
151
- .dj_skin_product_detail_compare_at_price {
152
- color: {{settings.skin_compare_at_price_color}} !important;
153
- {{textFontDesc}}
154
- }
155
-
156
- /* 商品数目和排序 */
157
- .dj_skin_product_text {
158
- color: {{settings.skin_text_color}} !important;
159
- {{textFontDesc}}
160
- }
161
-
162
- /* 商品详情款式选择框 */
163
- .dj_skin_product_variants_selected {
164
- color: {{settings.skin_primary_btn_bg_color}} !important;
165
- }
166
-
167
- .dj_skin_product_variants_selected:hover {
168
- color: {{settings.skin_primary_btn_bg_color}} !important;
169
- }
170
-
171
- .dj_skin_product_variants_selected::before,.dj_skin_product_variants_selected label::before {
172
- border: 2px solid {{settings.skin_primary_btn_bg_color}} !important;
173
- }
174
-
175
- {% assign label_color = settings.label_color | default: '#FFFFFF' %}
176
- {% assign label_background_color = settings.label_background_color | default: '#9B3C44' %}
177
- .product-info__label {
178
- color: {{label_color}};
179
- background: {{label_background_color}};
180
- }
181
- .product-info__label-triangle {
182
- box-shadow: 0px -100px 0px 100px {{label_background_color}};
183
- }
184
- /* 优惠折扣标签同时存在 */
185
- {% if settings.is_discount_show and settings.product_save_amount %}
186
- .product-info__discount-label{
187
- font-size: 12px;
188
- }
189
- .product-info__save-label{
190
- font-weight: 300;
191
- }
192
- .product-info__label-triangle{
193
- max-width: 90px;
194
- }
195
- @media (max-width: 576px){
196
- .product-info__discount-label, .product-info__label-badge .money{
197
- font-size: 10px;
198
- }
199
- .product-info__save-label{
200
- font-size: 12px;
201
- }
202
- }
203
- {% endif %}
204
-
205
- {% unless settings.is_discount_show %}.product-info__header_tag{display:none!important;}{% endunless %}
206
- {% unless settings.skin_price_color %}.dj_skin_product_detail_price{display:none!important;}{% endunless %}
207
- {% unless settings.is_compare_at_price_show %}.dj_skin_product_compare_at_price{display:none!important;}{% endunless %}
208
- {% unless settings.is_sales_show %}.product__select_modal .product-info__header_sales {display:none!important;}{% endunless %}
209
- {% unless settings.is_stock_show %}.product-info__qty_stock {display:none!important;}{% endunless %}
210
- {% unless settings.is_brief_show %}.product-info__header_brief {display:none!important;}{% endunless %}
211
- {% unless settings.is_quantity_box_show %}.product-info__qty_container {display:none!important;}{% endunless %}
212
- {% unless settings.vendor_enable %}.product-info__vendor {display:none!important;}{% endunless %}
213
-
214
- /*----------------------------*/
215
- /* 页尾 */
216
- .dj_skin_footer_title{
217
- {{titleFontDesc}}
218
- }
219
- /*----------------------------*/
220
- .btn {
221
- {{btnFontDesc}}
222
- }
223
-
224
- /* 主要按钮 */
225
- .btn-primary {
226
- position: relative !important;
227
- border-color: {{settings.skin_primary_btn_border_color}} !important;
228
- background: {{settings.skin_primary_btn_bg_color}} !important;
229
- color: {{settings.skin_primary_btn_text_color}} !important;
230
- }
231
- .btn-primary:hover {
232
- color: {{settings.skin_primary_btn_text_color}} !important;
233
- border-color: {{settings.skin_primary_btn_border_color}} !important;
234
- background: {{settings.skin_primary_btn_bg_color}} !important;
235
- opacity: .9 !important;
236
- }
237
- .btn-primary:active,.btn-primary:focus {
238
- color: {{settings.skin_primary_btn_text_color}} !important;
239
- border-color: {{settings.skin_primary_btn_border_color}} !important;
240
- background: {{settings.skin_primary_btn_bg_color}} !important;
241
- opacity: .9 !important;
242
- }
243
- .btn-primary:disabled,.btn-primary.disabled {
244
- color: #f9f9f9 !important;
245
- background: #d6d6d6 !important;
246
- border: 1px solid #d6d6d6 !important;
247
- }
248
-
249
- /* 次级按钮 */
250
- .btn-secondary {
251
- position: relative !important;
252
- background: {{settings.skin_secondary_btn_bg_color}} !important;
253
- color: {{settings.skin_secondary_btn_text_color}} !important;
254
- border: 1px solid {{settings.skin_secondary_btn_text_color}} !important;
255
- }
256
- .btn-secondary:hover {
257
- color: {{settings.skin_secondary_btn_text_color}} !important;
258
- border: 1px solid {{settings.skin_secondary_btn_text_color}} !important;
259
- background: {{settings.skin_secondary_btn_bg_color}} !important;
260
- opacity: .9 !important;
261
- }
262
- .btn-secondary:active,.btn-secondary:focus {
263
- color: {{settings.skin_secondary_btn_text_color}} !important;
264
- border: 1px solid {{settings.skin_secondary_btn_text_color}} !important;
265
- background: {{settings.skin_secondary_btn_bg_color}} !important;
266
- opacity: .9 !important;
267
- }
268
- .btn-secondary:disabled,.btn-secondary.disabled {
269
- background: #f9f9f9 !important;
270
- color: #d6d6d6 !important;
271
- border-color: #d6d6d6 !important;
272
- }
273
-
274
- {% comment %} 列表色卡 {% endcomment %}
275
- .color-swatch {
276
- position: relative;
277
- display: inline-block;
278
- text-indent: -9999px;
279
- overflow-y: hidden;
280
- width: 14px;
281
- height: 14px;
282
- background-position: center;
283
- background-size: cover;
284
- background-repeat: no-repeat;
285
- margin: 0 2px 2px 0;
286
- border-radius: 50%;
287
- border: 1px solid {{ settings.skin_primary_btn_border_color | default: '#212121' }};
288
- }
289
- @media (min-width: 768px){
290
- .color-swatch {
291
- width: 17px;
292
- height: 17px;
293
- }
294
- }
295
- </style>
@@ -1,106 +0,0 @@
1
- {% assign template_base = template.name | split: '.' | first %}
2
- {% assign og_title = shop.name %}
3
- {% assign og_url = canonical_url | default: shop.url %}
4
- {% assign og_type = 'website' %}
5
- {% assign og_description = page_description | default: shop.description | default: shop.name %}
6
-
7
- {% assign page_image = images[settings.homepage_social_image] %}
8
-
9
- {% if template_base == 'product' %}
10
- {% assign og_title = product.title | strip_html %}
11
- {% assign og_type = 'product' %}
12
- {% assign og_description = product.meta_description | newline_to_br | replace: "<br />", " " | default: shop.name %}
13
- {% if og_description == " " %}
14
- {% assign og_description = shop.name %}
15
- {% endif %}
16
- {% if product.image %}
17
- {% assign page_image = product.image %}
18
- {% endif %}
19
- {% elsif template_base == 'article' %}
20
- {% assign og_title = article.title | strip_html %}
21
- {% assign og_type = 'article' %}
22
- {% assign og_description = article.excerpt_or_content | strip_html %}
23
- {% if article.image %}
24
- {% assign page_image = article.image %}
25
- {% endif %}
26
- {% elsif template_base == 'collection' %}
27
- {% if collection.image.src != blank %}
28
- {% assign page_image = collection.image %}
29
- {% else %}
30
- {% paginate collection.products by 1 %}
31
- {% assign collection_product0 = collection.products[0] %}
32
- {% endpaginate %}
33
- {% if collection_product0 %}
34
- {% assign page_image = collection_product0.image %}
35
- {% endif %}
36
- {% endif %}
37
- {% endif %}
38
-
39
- <meta property="og:site_name" content="{{ shop.name }}">
40
- <meta property="og:url" content="{{ og_url }}">
41
- <meta property="og:title" content="{{ og_title }}">
42
- <meta property="og:type" content="{{ og_type }}">
43
- <meta property="og:description" content="{{ og_description | strip_html | escape }}">
44
- {% if template_base == 'product' %}
45
- {% unless product.published %}
46
- {% assign availability = 'discontinued' %}
47
- {% else %}
48
- {% if product.available %}
49
- {% assign availability = 'in stock' %}
50
- {% else %}
51
- {% assign availability = 'out of stock' %}
52
- {% endif %}
53
- {% endunless %}
54
- {% assign selectedVariantId = "" %}
55
- {% assign selectedVariant = nil %}
56
- {% if product.variants.size == 1 %}
57
- {% for variant in product.variants %}
58
- {% if variant.available_quantity > 0 %}
59
- {% assign selectedVariantId = variant.id %}
60
- {% break %}
61
- {% endif %}
62
- {% endfor %}
63
- {% endif %}
64
-
65
- {% assign params = REQUEST_URI | split: "?" | last | split: "&" %}
66
- {% for p in params %}
67
- {% assign pair = p | split: "=" %}
68
- {% if pair[0] contains "variant" and pair[1] != '' %}
69
- {% assign selectedVariantId = pair[1] %}
70
- {% endif %}
71
- {% endfor %}
72
-
73
- {% for variant in product.variants %}
74
- {% if variant.id == selectedVariantId %}
75
- {% assign selectedVariant = variant %}
76
- {% endif %}
77
- {% endfor %}
78
-
79
- {% if selectedVariant %}
80
- {% if selectedVariant.available %}
81
- {% assign availability = 'in stock' %}
82
- {% else %}
83
- {% assign availability = 'out of stock' %}
84
- {% endif %}
85
- {% endif %}
86
- <meta property="product:price:amount" content="{% if selectedVariant %}{{ selectedVariant.price }}{% else %}{{ product.price }}{% endif %}">
87
- <meta property="product:price:currency" content="{{shop.currency_code}}">
88
- <meta property="product:condition" content="new">
89
- <meta property="product:availability" content="{{ availability }}">
90
- <meta property="product:retailer_item_id" content="{% if selectedVariant %}{{ selectedVariant.id }}{% else %}{{ product.id }}{% endif %}">
91
- {% comment %} 预加载商品选中的第一张图片 {% endcomment %}
92
- <link rel="preload" as="image" href="{% if selectedVariant and selectedVariant.image.src %}{{ selectedVariant.image.src | img_url: '1080x' }}{% else %}{{ product.image.src | img_url: '1080x' }}{% endif %}">
93
- {% endif %}
94
-
95
- {% if page_image.src %}
96
- <meta property="og:image" content="http:{{ page_image | img_url }}">
97
- <meta property="og:image:secure_url" content="https:{{ page_image | img_url }}">
98
- <meta property="og:image:width" content="{{ page_image.width }}">
99
- <meta property="og:image:height" content="{{ page_image.height }}">
100
- <meta property="og:image:alt" content="{{ page_image.alt }}">
101
- {% endif %}
102
-
103
- <meta name="twitter:site" content="{{ settings.twitter_url | split: 'twitter.com/' | last | prepend: '@' }}">
104
- <meta name="twitter:card" content="summary_large_image">
105
- <meta name="twitter:title" content="{{ og_title }}">
106
- <meta name="twitter:description" content="{{ og_description | strip_html | escape }}">
@@ -1,11 +0,0 @@
1
- <div style="padding-bottom: {{ padding_bottom }};" class="video_play_controls {{class}}">
2
- <video x5-playsinline="true" playsinline="true" webkit-playsinline="true" poster="{{media.preview_image}}">
3
- {% if media.hls %}
4
- <source src="{{media.hls}}" type="application/x-mpegURL">
5
- {% endif %}
6
- {% if media.mp4 %}
7
- <source src="{{media.mp4}}" type="video/mp4">
8
- {% endif %}
9
- </video>
10
- <div class="video_pause_icon">{% include 'icon_video_play_large' %}</div>
11
- </div>
@@ -1,98 +0,0 @@
1
- <style>
2
- .video_play_controls {
3
- position: relative;
4
- }
5
- .video_play_controls > video {
6
- position: absolute;
7
- top: 0px;
8
- right: 0px;
9
- bottom: 0px;
10
- left: 0px;
11
- margin: auto;
12
- width: 100%;
13
- height: 100%;
14
- object-fit: contain;
15
- cursor: pointer;
16
- }
17
- .video_play_controls::after {
18
- content: '';
19
- position: absolute;
20
- left: 0;
21
- top: 0;
22
- width: 100%;
23
- height: 100%;
24
- }
25
- .video_play_controls > .video_pause_icon {
26
- display: none;
27
- position: absolute;
28
- top: 50%;
29
- left: 50%;
30
- transform: translate(-50%, -50%);
31
- }
32
- .video_play_controls > .video_pause_icon > svg {
33
- display: block;
34
- }
35
- .video_play_controls.playing > .video_pause_icon {
36
- display: none !important;
37
- }
38
- .slides-active .video_play_controls > .video_pause_icon,
39
- .slick-active .video_play_controls > .video_pause_icon {
40
- display: block;
41
- }
42
- </style>
43
-
44
- <script>
45
- try {
46
- window.handleVideoClick = window.handleVideoClick || (e => {
47
- const classList = e.target.classList;
48
- if (!classList.contains('video_play_controls')) return;
49
- const video = e.target.querySelector('video');
50
- video.paused ? video.play() : video.pause();
51
- });
52
- document.removeEventListener('click', window.handleVideoClick);
53
- document.addEventListener('click', window.handleVideoClick);
54
- ['pause', 'ended'].forEach(event => {
55
- window.addEventListener(event, e => {
56
- const video = e.target;
57
- video.parentNode.classList.remove('playing');
58
- }, true);
59
- });
60
- document.addEventListener('play', e => {
61
- const video = e.target;
62
- video.parentNode.classList.add('playing');
63
- }, true);
64
- } catch (e) {
65
- console.error(e);
66
- }
67
- window.addEventListener("load", () => {
68
- window.template.defaults.imports.media_parse = function (url) {
69
- var result = {};
70
- try {
71
- url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) {
72
- try {
73
- result[key] = decodeURIComponent(value);
74
- } catch (e) {
75
- result[key] = value;
76
- }
77
- });
78
- result.preview_image = url.split('?')[0];
79
- } catch (e) {};
80
- return result;
81
- }
82
- });
83
- </script>
84
-
85
-
86
- <script type="text/html" id="video_html_tpl">
87
- <div style="padding-bottom: <%= padding_bottom %>;" class="video_play_controls <%= class_name %>">
88
- <video x5-playsinline="true" playsinline="true" webkit-playsinline="true" poster="<%-media.preview_image%>">
89
- <% if (media.hls) { %>
90
- <source src="<%-media.hls%>" type="application/x-mpegURL">
91
- <% } %>
92
- <% if (media.mp4) { %>
93
- <source src="<%-media.mp4%>" type="video/mp4">
94
- <% } %>
95
- </video>
96
- <div class="video_pause_icon">{% include 'icon_video_play_large' %}</div>
97
- </div>
98
- </script>
@@ -1,2 +0,0 @@
1
- <div class="product-image__thumb-video d-none d-md-block">{% include 'icon_video_play_medium' %}</div>
2
- <div class="product-image__thumb-video d-md-none">{% include 'icon_video_play_small' %}</div>
@@ -1 +0,0 @@
1
- {"content_for_page":[1539137345643],"sections":{"1539137345643":{"type":"not_found","settings":{"style":"1"},"version":"1","card_name":"404\u9875\u9762","customer_card_extra":6,"customer_card_name":"404\u9875\u97626","is_new":true}}}
@@ -1,92 +0,0 @@
1
- {
2
- "content_for_page": [1646030043188, 1646030049883, 1646030047569, 1539149755240],
3
- "sections": {
4
- "1646030043188": {
5
- "name": "collection_image",
6
- "cname": {
7
- "en-US": "Collection image",
8
- "zh-CN": "专辑封面"
9
- },
10
- "category": {
11
- "en-US": "Page",
12
- "zh-CN": "页面"
13
- },
14
- "ccategory": {
15
- "en-US": "Page",
16
- "zh-CN": "页面"
17
- },
18
- "display": true,
19
- "settings": {
20
- "pc_img_height": 450,
21
- "md_img_height": 200,
22
- "cover_width": "auto"
23
- },
24
- "type": "collection_image"
25
- },
26
- "1646030049883": {
27
- "name": "collection_name",
28
- "cname": {
29
- "en-US": "Collection name",
30
- "zh-CN": "专辑名称"
31
- },
32
- "category": {
33
- "en-US": "Page",
34
- "zh-CN": "页面"
35
- },
36
- "ccategory": {
37
- "en-US": "Page",
38
- "zh-CN": "页面"
39
- },
40
- "display": true,
41
- "settings": [],
42
- "type": "collection_name"
43
- },
44
- "1646030047569": {
45
- "name": "collection_desc",
46
- "cname": {
47
- "en-US": "Collection description",
48
- "zh-CN": "专辑描述"
49
- },
50
- "category": {
51
- "en-US": "Page",
52
- "zh-CN": "页面"
53
- },
54
- "ccategory": {
55
- "en-US": "Page",
56
- "zh-CN": "页面"
57
- },
58
- "display": true,
59
- "settings": [],
60
- "type": "collection_desc"
61
- },
62
- "1539149755240": {
63
- "type": "collection_detail",
64
- "settings": {
65
- "sort": true,
66
- "is_pagination_show": false,
67
- "select": 48,
68
- "filter": false
69
- },
70
- "version": "1",
71
- "card_name": "专辑详情",
72
- "customer_card_extra": 405,
73
- "customer_card_name": "专辑详情405",
74
- "is_new": true,
75
- "blocks": [{
76
- "type": "tag_filter",
77
- "settings": {
78
- "title": "Color",
79
- "is_all_tags_show": true,
80
- "tags": "red,yellow,blue"
81
- }
82
- }, {
83
- "type": "price_filter",
84
- "settings": {
85
- "title": "Price",
86
- "is_last_price_show": true,
87
- "tags": "0,50,100"
88
- }
89
- }]
90
- }
91
- }
92
- }