shoplazza-cli 0.0.1

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 (181) hide show
  1. package/.editorconfig +28 -0
  2. package/.prettierrc +9 -0
  3. package/LICENSE +21 -0
  4. package/README.md +208 -0
  5. package/bin/shoplazza +117 -0
  6. package/fixtures/assets/blog.scss +74 -0
  7. package/fixtures/assets/cart_modal.scss +450 -0
  8. package/fixtures/assets/collection_detail.js +234 -0
  9. package/fixtures/assets/collection_detail.scss +345 -0
  10. package/fixtures/assets/collection_list.scss +11 -0
  11. package/fixtures/assets/collection_slider.scss +169 -0
  12. package/fixtures/assets/feature_columns.scss +26 -0
  13. package/fixtures/assets/feature_product.scss +109 -0
  14. package/fixtures/assets/footer.js +58 -0
  15. package/fixtures/assets/footer.scss +337 -0
  16. package/fixtures/assets/four_images.scss +29 -0
  17. package/fixtures/assets/gallery.scss +55 -0
  18. package/fixtures/assets/header.js +178 -0
  19. package/fixtures/assets/header.scss +929 -0
  20. package/fixtures/assets/image_text.scss +72 -0
  21. package/fixtures/assets/logo_bar.scss +11 -0
  22. package/fixtures/assets/newsletter.scss +90 -0
  23. package/fixtures/assets/not_found.scss +39 -0
  24. package/fixtures/assets/page_detail.scss +16 -0
  25. package/fixtures/assets/pagination.scss +150 -0
  26. package/fixtures/assets/postcss.config.js +6 -0
  27. package/fixtures/assets/product_description.scss +88 -0
  28. package/fixtures/assets/product_detail.js +634 -0
  29. package/fixtures/assets/product_detail.scss +1106 -0
  30. package/fixtures/assets/relative_product.scss +45 -0
  31. package/fixtures/assets/reviews.scss +70 -0
  32. package/fixtures/assets/rich_text.scss +71 -0
  33. package/fixtures/assets/search.js +87 -0
  34. package/fixtures/assets/search.scss +67 -0
  35. package/fixtures/assets/slide.scss +51 -0
  36. package/fixtures/assets/slider.scss +141 -0
  37. package/fixtures/assets/theme.css +976 -0
  38. package/fixtures/assets/theme.scss +1100 -0
  39. package/fixtures/assets/three_images.scss +20 -0
  40. package/fixtures/assets/tools.scss +23 -0
  41. package/fixtures/assets/two_images.scss +24 -0
  42. package/fixtures/assets/video.scss +45 -0
  43. package/fixtures/assets/video_text.scss +63 -0
  44. package/fixtures/config/settings_data.json +107 -0
  45. package/fixtures/config/settings_schema.json +690 -0
  46. package/fixtures/layout/theme.liquid +76 -0
  47. package/fixtures/locales/ar-SA.json +212 -0
  48. package/fixtures/locales/de-DE.json +290 -0
  49. package/fixtures/locales/en-US.json +290 -0
  50. package/fixtures/locales/es-ES.json +290 -0
  51. package/fixtures/locales/fr-FR.json +290 -0
  52. package/fixtures/locales/id-ID.json +212 -0
  53. package/fixtures/locales/it-IT.json +212 -0
  54. package/fixtures/locales/ja-JP.json +289 -0
  55. package/fixtures/locales/ko-KR.json +290 -0
  56. package/fixtures/locales/nl-NL.json +290 -0
  57. package/fixtures/locales/pl-PL.json +290 -0
  58. package/fixtures/locales/pt-PT.json +212 -0
  59. package/fixtures/locales/ru-RU.json +212 -0
  60. package/fixtures/locales/th-TH.json +212 -0
  61. package/fixtures/locales/zh-CN.json +290 -0
  62. package/fixtures/locales/zh-TW.json +290 -0
  63. package/fixtures/sections/apps.liquid +47 -0
  64. package/fixtures/sections/blog.liquid +137 -0
  65. package/fixtures/sections/collection_desc.liquid +34 -0
  66. package/fixtures/sections/collection_detail.liquid +436 -0
  67. package/fixtures/sections/collection_image.liquid +104 -0
  68. package/fixtures/sections/collection_list.liquid +161 -0
  69. package/fixtures/sections/collection_name.liquid +34 -0
  70. package/fixtures/sections/collection_slider.liquid +330 -0
  71. package/fixtures/sections/feature_columns.liquid +275 -0
  72. package/fixtures/sections/feature_product.liquid +227 -0
  73. package/fixtures/sections/footer.liquid +488 -0
  74. package/fixtures/sections/four_images.liquid +160 -0
  75. package/fixtures/sections/gallery.liquid +258 -0
  76. package/fixtures/sections/header.liquid +1157 -0
  77. package/fixtures/sections/html.liquid +40 -0
  78. package/fixtures/sections/image_text.liquid +350 -0
  79. package/fixtures/sections/instagram_plus.liquid +393 -0
  80. package/fixtures/sections/logo_bar.liquid +183 -0
  81. package/fixtures/sections/newsletter.liquid +225 -0
  82. package/fixtures/sections/not_found.liquid +39 -0
  83. package/fixtures/sections/overlay_image.liquid +648 -0
  84. package/fixtures/sections/page_detail.liquid +39 -0
  85. package/fixtures/sections/photo_collection.liquid +433 -0
  86. package/fixtures/sections/product_description.liquid +208 -0
  87. package/fixtures/sections/product_detail.liquid +611 -0
  88. package/fixtures/sections/products.liquid +216 -0
  89. package/fixtures/sections/relative_product.liquid +121 -0
  90. package/fixtures/sections/reviews.liquid +115 -0
  91. package/fixtures/sections/rich_text.liquid +157 -0
  92. package/fixtures/sections/search.liquid +163 -0
  93. package/fixtures/sections/slide.liquid +719 -0
  94. package/fixtures/sections/three_images.liquid +157 -0
  95. package/fixtures/sections/two_images.liquid +125 -0
  96. package/fixtures/sections/video.liquid +95 -0
  97. package/fixtures/sections/video_text.liquid +128 -0
  98. package/fixtures/snippets/bgset.liquid +21 -0
  99. package/fixtures/snippets/card_title.liquid +8 -0
  100. package/fixtures/snippets/cart_modal.liquid +74 -0
  101. package/fixtures/snippets/collection.liquid +77 -0
  102. package/fixtures/snippets/collection_filter_modal.liquid +56 -0
  103. package/fixtures/snippets/default_image_4.liquid +14 -0
  104. package/fixtures/snippets/default_image_6.liquid +18 -0
  105. package/fixtures/snippets/default_image_8.liquid +23 -0
  106. package/fixtures/snippets/four_images_item.liquid +8 -0
  107. package/fixtures/snippets/header_ads.liquid +95 -0
  108. package/fixtures/snippets/hero_image.liquid +94 -0
  109. package/fixtures/snippets/icon_video_play_large.liquid +1 -0
  110. package/fixtures/snippets/icon_video_play_medium.liquid +4 -0
  111. package/fixtures/snippets/icon_video_play_small.liquid +4 -0
  112. package/fixtures/snippets/lazyimg.liquid +22 -0
  113. package/fixtures/snippets/lazyimg_art.liquid +36 -0
  114. package/fixtures/snippets/lazysizes.liquid +41 -0
  115. package/fixtures/snippets/link.liquid +2 -0
  116. package/fixtures/snippets/pagination.liquid +48 -0
  117. package/fixtures/snippets/product.liquid +126 -0
  118. package/fixtures/snippets/product_art_tpl.liquid +152 -0
  119. package/fixtures/snippets/product_info_body.liquid +337 -0
  120. package/fixtures/snippets/product_info_tpl.liquid +423 -0
  121. package/fixtures/snippets/product_label.liquid +46 -0
  122. package/fixtures/snippets/settings.liquid +295 -0
  123. package/fixtures/snippets/social-meta-tags.liquid +106 -0
  124. package/fixtures/snippets/video_html.liquid +11 -0
  125. package/fixtures/snippets/video_source.liquid +98 -0
  126. package/fixtures/snippets/video_thumb_icon.liquid +2 -0
  127. package/fixtures/templates/404.liquid +1 -0
  128. package/fixtures/templates/collection.liquid +92 -0
  129. package/fixtures/templates/index.liquid +206 -0
  130. package/fixtures/templates/page.liquid +1 -0
  131. package/fixtures/templates/product.liquid +99 -0
  132. package/fixtures/templates/search.liquid +1 -0
  133. package/jest.config.js +192 -0
  134. package/lib/__tests__/log.test.js +15 -0
  135. package/lib/__tests__/utils.test.js +69 -0
  136. package/lib/auth/__mocks__/getCode.js +7 -0
  137. package/lib/auth/__mocks__/index.js +0 -0
  138. package/lib/auth/child.js +23 -0
  139. package/lib/auth/getCode.js +35 -0
  140. package/lib/auth/index.js +91 -0
  141. package/lib/commands/__tests__/login.test.js +77 -0
  142. package/lib/commands/__tests__/logout.test.js +29 -0
  143. package/lib/commands/__tests__/store.test.js +44 -0
  144. package/lib/commands/__tests__/switch.test.js +45 -0
  145. package/lib/commands/login.js +99 -0
  146. package/lib/commands/logout.js +14 -0
  147. package/lib/commands/store.js +14 -0
  148. package/lib/commands/switch.js +52 -0
  149. package/lib/commands/theme/__tests__/delete.test.js +49 -0
  150. package/lib/commands/theme/__tests__/init.test.js +21 -0
  151. package/lib/commands/theme/__tests__/list.test.js +80 -0
  152. package/lib/commands/theme/__tests__/package.test.js +17 -0
  153. package/lib/commands/theme/__tests__/publish.test.js +61 -0
  154. package/lib/commands/theme/__tests__/pull.test.js +69 -0
  155. package/lib/commands/theme/__tests__/push.test.js +63 -0
  156. package/lib/commands/theme/__tests__/serve.test.js +107 -0
  157. package/lib/commands/theme/delete.js +64 -0
  158. package/lib/commands/theme/init.js +51 -0
  159. package/lib/commands/theme/list.js +28 -0
  160. package/lib/commands/theme/package.js +37 -0
  161. package/lib/commands/theme/publish.js +56 -0
  162. package/lib/commands/theme/pull.js +62 -0
  163. package/lib/commands/theme/push.js +106 -0
  164. package/lib/commands/theme/serve.js +153 -0
  165. package/lib/commands/theme/share.js +20 -0
  166. package/lib/commands/version.js +6 -0
  167. package/lib/config.js +5 -0
  168. package/lib/db/__mocks__/index.js +9 -0
  169. package/lib/db/__tests__/analytics.test.js +19 -0
  170. package/lib/db/__tests__/user.test.js +20 -0
  171. package/lib/db/analytics.js +48 -0
  172. package/lib/db/index.js +9 -0
  173. package/lib/db/user.js +68 -0
  174. package/lib/log.js +13 -0
  175. package/lib/openAPI/__mocks__/index.js +20 -0
  176. package/lib/openAPI/api.js +76 -0
  177. package/lib/openAPI/index.js +46 -0
  178. package/lib/report.js +37 -0
  179. package/lib/tracing.js +50 -0
  180. package/lib/utils.js +48 -0
  181. package/package.json +54 -0
@@ -0,0 +1,163 @@
1
+ {% use 'search.css' %}
2
+ <div class="container container-gap search">
3
+ {% comment %} 搜索标题 {% endcomment %}
4
+ <div class="row">
5
+ <div class="search__title col-12 text-center dj_skin_title_font">{{ 'i18n.search.title' | t }}</div>
6
+ </div>
7
+ {% comment %} 搜索输入框 {% endcomment %}
8
+ <form action="/search" method="get">
9
+ <div class="row d-flex align-items-center justify-content-center">
10
+ <div class="col-sm-12 col-md-6">
11
+ <input name="q" maxlength="1024" class="form-control search__input " value="{{ search.terms | url_decode }}" placeholder="{{ 'i18n.search.input_to_search' | t }}" />
12
+ </div>
13
+ <div class="col-sm-12 col-md-auto">
14
+ <button type="submit" class="btn btn-primary dj_skin_title_font search__btn">{{ 'i18n.search.search_button' | t }}</button>
15
+ </div>
16
+ </div>
17
+ </form>
18
+ {% comment %} 搜索为空 {% endcomment %}
19
+ {% assign key = search.terms %}
20
+ {% assign count = search.results.products_count %}
21
+ {% assign limit = 12 %}
22
+ <style>
23
+ .search__count{
24
+ padding:0 10px;
25
+ color: {{ settings.skin_primary_btn_bg_color }} !important;
26
+ }
27
+ .search__key {
28
+ color: {{ settings.skin_primary_btn_bg_color }} !important;
29
+ padding:0 10px;
30
+ }
31
+ .search__result{
32
+ line-height:30px;
33
+ }
34
+ </style>
35
+ <div class="row">
36
+ <div class="search__result col-12 text-center">
37
+ {% if key %}
38
+ {% if count == 0 %}
39
+ <div class="search__result_empty">{{ 'i18n.search.no_results' | t: key: key }}</div>
40
+ {% else %}
41
+ <div class="search__result_not-empty">{{ 'i18n.search.results_tips' | t: key: key, count: count }}</div>
42
+ {% endif %}
43
+ {% endif %}
44
+ </div>
45
+ </div>
46
+ <div class="row common__product-row">
47
+ {% comment %} 渲染C端节点 {% endcomment %}
48
+ {% for block in search.results.products limit: limit %}
49
+ {% if block.published %}
50
+ <div class="col-6 col-sm-6 col-md-3 common__product-gap">
51
+ {% include 'product', product: block, is_compare_at_price_show: true %}
52
+ </div>
53
+ {% endif %}
54
+ {% endfor %}
55
+ </div>
56
+ {% if count > limit %}
57
+ {% comment %}
58
+ Description: 加载更多
59
+ Author: Pang
60
+ Params:
61
+ {% endcomment %}
62
+ <div class="row">
63
+ <div class="col-12 d-flex justify-content-center text-center">
64
+ <span class="common__load-more-btn">click load more</span>
65
+ <div class="sep-loading__content common__load-more-loading" style="display: none;"></div>
66
+ </div>
67
+ </div>
68
+ {% javascript %}
69
+ $(function () {
70
+ var $loadMore = $('[data-section-id={{section.id}}] .common__load-more-btn');
71
+ var $loading = $('[data-section-id={{section.id}}] .common__load-more-loading');
72
+
73
+ // 点击loadmore
74
+ $loadMore.click(function () {
75
+ $(document).trigger('dj.common.load_more.is_click', {
76
+ sectionId: '{{section.id}}'
77
+ })
78
+ })
79
+
80
+ // 监听隐藏
81
+ $(document).on('dj.common.load_more.hide', function(e, data) {
82
+ if (data.sectionId == {{section.id}}) {
83
+ $loadMore.hide();
84
+ $loading.hide();
85
+ }
86
+ })
87
+
88
+ // 加载中
89
+ $(document).on('dj.common.load_more.loading.start', function(e, data) {
90
+ if (data.sectionId == {{section.id}}) {
91
+ $loadMore.hide();
92
+ $loading.show();
93
+ }
94
+ })
95
+ // 加载结束
96
+ $(document).on('dj.common.load_more.loading.end', function(e, data) {
97
+ if (data.sectionId == {{section.id}}) {
98
+ $loadMore.show();
99
+ $loading.hide();
100
+ }
101
+ })
102
+ })
103
+ {% endjavascript %}
104
+ {% endif %}
105
+
106
+ {% comment %} 定义前端模板 {% endcomment %}
107
+ <script id="search-art-tpl" type="text/html">
108
+ <% for(var i = 0; i < products.length; i++) { %>
109
+ <div class="col-6 col-sm-6 col-md-3 common__product-gap">
110
+ <% include ('product_art_tpl', {product: products[i], is_compare_at_price_show: is_compare_at_price_show}) %>
111
+ </div>
112
+ <% } %>
113
+ </script>
114
+ </div>
115
+
116
+
117
+
118
+ {% javascript %}
119
+ $(function () {
120
+ var keyword = '{{search.terms | url_decode}}';
121
+ $.search_card && $.search_card({
122
+ id: '{{section.id}}',
123
+ env: '{{shop.env}}',
124
+ style: '{{section.settings.style}}',
125
+ keyword: '{{ search.terms }}',
126
+ search_result: "{{ 'i18n.search.results_tips' | t: key: keyword, count: search.results.products_count }}"
127
+ });
128
+ // 触发自定义事件(sa)
129
+ setTimeout(function() {
130
+ ($.params() && JSON.stringify($.params()) !== '{}') && $(document.body).trigger('productSearch', {
131
+ keyWord: '{{search.terms | url_encode}}',
132
+ hasResult: '{{search.results.products_count}}' > 0
133
+ });
134
+ }, 50);
135
+ })
136
+ {% endjavascript %}
137
+
138
+ {% schema %}
139
+ {
140
+ "name": "search",
141
+ "templates": ["search"],
142
+ "limit": 1,
143
+ "settings": [],
144
+ "presets": [
145
+ {
146
+ "name": "search",
147
+ "cname": {
148
+ "en-US": "Search results",
149
+ "zh-CN": "搜索结果"
150
+ },
151
+ "category": {
152
+ "zh-CN": "基础",
153
+ "en-US": "Basic"
154
+ },
155
+ "ccategory": {
156
+ "zh-CN": "基础",
157
+ "en-US": "Basic"
158
+ },
159
+ "display": true
160
+ }
161
+ ]
162
+ }
163
+ {% endschema %}