Merge branch 'develop' into feature/my-order
Showing
21 changed files
with
309 additions
and
264 deletions
@@ -5,205 +5,53 @@ | @@ -5,205 +5,53 @@ | ||
5 | */ | 5 | */ |
6 | 6 | ||
7 | 'use strict'; | 7 | 'use strict'; |
8 | - | 8 | +const brand = require('../models/brand'); |
9 | 9 | ||
10 | const index = (req, res) => { | 10 | const index = (req, res) => { |
11 | - res.display('index', { | ||
12 | - module: 'brand', | ||
13 | - page: 'index', | ||
14 | - title: '品牌', | ||
15 | - brand: { | ||
16 | - nav: [ | ||
17 | - { | ||
18 | - link: '//guang.yohobuy.com/index/index?type=0', | ||
19 | - pathTitle: '首页', | ||
20 | - name: 'MEN首页' | ||
21 | - }, | ||
22 | - { | ||
23 | - link: '/', | ||
24 | - pathTitle: '品牌', | ||
25 | - name: 'Brand品牌' | ||
26 | - } | ||
27 | - ], | ||
28 | - tabs: [ | ||
29 | - { | ||
30 | - url: '#', | ||
31 | - name: '', | ||
32 | - src: '#' | ||
33 | - }, | ||
34 | - { | ||
35 | - url: '#', | ||
36 | - name: '', | ||
37 | - src: '#' | ||
38 | - }, | ||
39 | - { | ||
40 | - url: '#', | ||
41 | - name: '', | ||
42 | - src: '#' | ||
43 | - } | ||
44 | - ], | ||
45 | - navigation: [ | ||
46 | - { | ||
47 | - name: 'A' | ||
48 | - }, | ||
49 | - { | ||
50 | - name: 'B' | ||
51 | - }, | ||
52 | - { | ||
53 | - name: 'C' | ||
54 | - }, | ||
55 | - { | ||
56 | - name: 'D' | ||
57 | - }, | ||
58 | - { | ||
59 | - name: 'E' | ||
60 | - }, | ||
61 | - { | ||
62 | - name: 'F' | ||
63 | - }, | ||
64 | - { | ||
65 | - name: 'G' | ||
66 | - } | ||
67 | - ], | ||
68 | - category: [ | ||
69 | - { | ||
70 | - key: 'A', | ||
71 | - brandList: [ | ||
72 | - { | ||
73 | - key: 'A', | ||
74 | - href: '#', | ||
75 | - name: 'edhwke' | ||
76 | - }, | ||
77 | - { | ||
78 | - key: 'A', | ||
79 | - href: '#', | ||
80 | - name: 'edhwke' | ||
81 | - }, | ||
82 | - { | ||
83 | - key: 'A', | ||
84 | - href: '#', | ||
85 | - name: 'edhwke' | ||
86 | - }, | ||
87 | - { | ||
88 | - key: 'A', | ||
89 | - href: '#', | ||
90 | - name: 'edhwke' | ||
91 | - }, | ||
92 | - { | ||
93 | - key: 'A', | ||
94 | - href: '#', | ||
95 | - name: 'edhwke' | ||
96 | - }, | ||
97 | - { | ||
98 | - key: 'A', | ||
99 | - href: '#', | ||
100 | - name: 'edhwke' | ||
101 | - } | ||
102 | - ] | ||
103 | - }, | ||
104 | - { | ||
105 | - key: 'B', | ||
106 | - brandList: [ | ||
107 | - { | ||
108 | - key: 'A', | ||
109 | - href: '#', | ||
110 | - name: 'edhwke' | ||
111 | - }, | ||
112 | - { | ||
113 | - key: 'A', | ||
114 | - href: '#', | ||
115 | - name: 'edhwke' | ||
116 | - }, | ||
117 | - { | ||
118 | - key: 'A', | ||
119 | - href: '#', | ||
120 | - name: 'edhwke' | ||
121 | - }, | ||
122 | - { | ||
123 | - key: 'A', | ||
124 | - href: '#', | ||
125 | - name: 'edhwke' | ||
126 | - }, | ||
127 | - { | ||
128 | - key: 'A', | ||
129 | - href: '#', | ||
130 | - name: 'edhwke' | ||
131 | - }, | ||
132 | - { | ||
133 | - key: 'A', | ||
134 | - href: '#', | ||
135 | - name: 'edhwke' | ||
136 | - } | ||
137 | - ] | ||
138 | - }, | ||
139 | - { | ||
140 | - key: 'C', | ||
141 | - brandList: [ | ||
142 | - { | ||
143 | - key: 'A', | ||
144 | - href: '#', | ||
145 | - name: 'edhwke' | ||
146 | - }, | ||
147 | - { | ||
148 | - key: 'A', | ||
149 | - href: '#', | ||
150 | - name: 'edhwke' | ||
151 | - }, | ||
152 | - { | ||
153 | - key: 'A', | ||
154 | - href: '#', | ||
155 | - name: 'edhwke' | ||
156 | - }, | ||
157 | - { | ||
158 | - key: 'A', | ||
159 | - href: '#', | ||
160 | - name: 'edhwke' | ||
161 | - }, | ||
162 | - { | ||
163 | - key: 'A', | ||
164 | - href: '#', | ||
165 | - name: 'edhwke' | ||
166 | - }, | ||
167 | - { | ||
168 | - key: 'A', | ||
169 | - href: '#', | ||
170 | - name: 'edhwke' | ||
171 | - } | ||
172 | - ] | ||
173 | - }, | ||
174 | - { | ||
175 | - key: 'D', | ||
176 | - brandList: [ | ||
177 | - { | ||
178 | - key: 'A', | ||
179 | - href: '#', | ||
180 | - name: 'edhwke' | ||
181 | - }, | ||
182 | - { | ||
183 | - key: 'A', | ||
184 | - href: '#', | ||
185 | - name: 'edhwke' | ||
186 | - }, | ||
187 | - { | ||
188 | - key: 'A', | ||
189 | - href: '#', | ||
190 | - name: 'edhwke' | ||
191 | - }, | ||
192 | - { | ||
193 | - key: 'A', | ||
194 | - href: '#', | ||
195 | - name: 'edhwke' | ||
196 | - } | ||
197 | - ] | ||
198 | - } | ||
199 | - ] | ||
200 | 11 | ||
201 | - }, | 12 | + brand.getListData().then((result) => { |
13 | + res.display('index', { | ||
14 | + module: 'brand', | ||
15 | + page: 'index', | ||
16 | + title: '品牌', | ||
17 | + brand: { | ||
18 | + nav: [ | ||
19 | + { | ||
20 | + link: '//guang.yohobuy.com/index/index?type=0', | ||
21 | + pathTitle: '首页', | ||
22 | + name: 'MEN首页' | ||
23 | + }, | ||
24 | + { | ||
25 | + link: '/', | ||
26 | + pathTitle: '品牌', | ||
27 | + name: 'Brand品牌' | ||
28 | + } | ||
29 | + ], | ||
30 | + tabs: [ | ||
31 | + { | ||
32 | + url: '#', | ||
33 | + name: '', | ||
34 | + src: '//img10.static.yhbimg.com/yhb-img01/2016/07/06/17/01932e57d2dcd5c74afeaffd2525da5834.jpg' | ||
35 | + }, | ||
36 | + { | ||
37 | + url: '#', | ||
38 | + name: '', | ||
39 | + src: '//img10.static.yhbimg.com/yhb-img01/2016/07/06/17/01932e57d2dcd5c74afeaffd2525da5834.jpg' | ||
40 | + }, | ||
41 | + { | ||
42 | + url: '#', | ||
43 | + name: '', | ||
44 | + src: '//img10.static.yhbimg.com/yhb-img01/2016/07/06/17/01932e57d2dcd5c74afeaffd2525da5834.jpg' | ||
45 | + } | ||
46 | + ], | ||
47 | + category: result.category | ||
48 | + }, | ||
202 | 49 | ||
203 | - helpers: { | ||
204 | - // import component, path depends on your project | ||
205 | - pagination: require('../../../doraemon/components/pagination/pagination').createPagination | ||
206 | - } | 50 | + helpers: { |
51 | + // import component, path depends on your project | ||
52 | + pagination: require('../../../doraemon/components/pagination/pagination').createPagination | ||
53 | + } | ||
54 | + }); | ||
207 | }); | 55 | }); |
208 | }; | 56 | }; |
209 | 57 |
1 | 'use strict'; | 1 | 'use strict'; |
2 | + | ||
3 | +// const serviceAPI = global.yoho.ServiceAPI; | ||
4 | +const api = global.yoho.API; | ||
5 | +const camelCase = global.yoho.camelCase; | ||
6 | +const _ = require('lodash'); | ||
7 | +const logger = global.yoho.logger; | ||
8 | + | ||
9 | +const _processListData = (list) => { | ||
10 | + // let category = { | ||
11 | + // key: '', | ||
12 | + // brands: [] | ||
13 | + // }; | ||
14 | + | ||
15 | + let listData = []; | ||
16 | + | ||
17 | + list = list || []; | ||
18 | + list = camelCase(list); | ||
19 | + | ||
20 | + _.forEach(list.data.allList, function(value, index) { | ||
21 | + | ||
22 | + if (index === '0~9') { | ||
23 | + index = '0-9'; | ||
24 | + } | ||
25 | + | ||
26 | + listData.push( | ||
27 | + { | ||
28 | + key: index, | ||
29 | + brands: value | ||
30 | + } | ||
31 | + ); | ||
32 | + }); | ||
33 | + | ||
34 | + return listData; | ||
35 | +}; | ||
36 | + | ||
37 | +const _processTabData = (list) => { | ||
38 | + list = list || []; | ||
39 | + list = camelCase(list); | ||
40 | + | ||
41 | +}; | ||
42 | + | ||
43 | +const _getResources = () => { | ||
44 | + return api.get('', { | ||
45 | + | ||
46 | + // method: 'web.brand.series' | ||
47 | + }).then((result) => { | ||
48 | + if (result && result.code === 200) { | ||
49 | + return _processTabData(result.data); | ||
50 | + } else { | ||
51 | + | ||
52 | + // logger.error('品牌页Tab数据返回 code 不是 200'); | ||
53 | + // return {}; | ||
54 | + } | ||
55 | + }); | ||
56 | +}; | ||
57 | + | ||
58 | +const _getBreakingSort = () => { | ||
59 | + return api.get('', { | ||
60 | + method: 'app.brand.newBrandList' | ||
61 | + }).then((result) => { | ||
62 | + if (result && result.code === 200) { | ||
63 | + return _processListData(result); | ||
64 | + } else { | ||
65 | + logger.error('品牌页数据返回 code 不是 200'); | ||
66 | + return {}; | ||
67 | + } | ||
68 | + }); | ||
69 | +}; | ||
70 | + | ||
71 | +const getListData = () => { | ||
72 | + return Promise.all([_getResources(), _getBreakingSort()]) | ||
73 | + .then((result) => { | ||
74 | + | ||
75 | + return { | ||
76 | + tabs: result[0], | ||
77 | + category: result[1] | ||
78 | + }; | ||
79 | + }); | ||
80 | +}; | ||
81 | + | ||
82 | +module.exports = { | ||
83 | + getListData: getListData | ||
84 | +}; |
@@ -9,7 +9,7 @@ | @@ -9,7 +9,7 @@ | ||
9 | <a href="{{url}}" target="_blank"> | 9 | <a href="{{url}}" target="_blank"> |
10 | <div class="g-mask"></div> | 10 | <div class="g-mask"></div> |
11 | <p class="tips">{{name}}</p> | 11 | <p class="tips">{{name}}</p> |
12 | - <img class="lazy" data-original="{{src}}"/> | 12 | + <img class="lazy" data-original="{{image src 370 304}}"/> |
13 | </a> | 13 | </a> |
14 | </li> | 14 | </li> |
15 | {{/each}} | 15 | {{/each}} |
@@ -18,8 +18,8 @@ | @@ -18,8 +18,8 @@ | ||
18 | 18 | ||
19 | <div class="brands-category"> | 19 | <div class="brands-category"> |
20 | <div class="category-nav"> | 20 | <div class="category-nav"> |
21 | - {{#each navigation}} | ||
22 | - <a href="#{{name}}">{{name}}</a> | 21 | + {{#each category}} |
22 | + <a href="#{{key}}">{{key}}</a> | ||
23 | {{/each}} | 23 | {{/each}} |
24 | </div> | 24 | </div> |
25 | </div> | 25 | </div> |
@@ -3,11 +3,11 @@ | @@ -3,11 +3,11 @@ | ||
3 | <dt>{{key}}</dt> | 3 | <dt>{{key}}</dt> |
4 | <dd> | 4 | <dd> |
5 | <ul class="clearfix"> | 5 | <ul class="clearfix"> |
6 | - {{#each brandList}} | 6 | + {{#each brands}} |
7 | <li> | 7 | <li> |
8 | <a data-key="{{key}}" href="{{href}}" target="_blank"> | 8 | <a data-key="{{key}}" href="{{href}}" target="_blank"> |
9 | - <img class="lazy" data-original="{{href}}"> | ||
10 | - <span>{{name}}</span> | 9 | + <img class="lazy" data-original="{{image brandIco 270 190}}"> |
10 | + <span>{{brandName}}</span> | ||
11 | </a> | 11 | </a> |
12 | </li> | 12 | </li> |
13 | {{/each}} | 13 | {{/each}} |
@@ -28,11 +28,6 @@ const index = (req, res, next) => { | @@ -28,11 +28,6 @@ const index = (req, res, next) => { | ||
28 | link: '/editorial?type=1', | 28 | link: '/editorial?type=1', |
29 | pathTitle: '资讯', | 29 | pathTitle: '资讯', |
30 | name: '资讯' | 30 | name: '资讯' |
31 | - }, | ||
32 | - { | ||
33 | - link: '/', | ||
34 | - pathTitle: '资讯', | ||
35 | - name: '资讯' | ||
36 | } | 31 | } |
37 | ], | 32 | ], |
38 | msgTypes: result.msgTypes, | 33 | msgTypes: result.msgTypes, |
@@ -34,7 +34,7 @@ const _processListData = (list) => { | @@ -34,7 +34,7 @@ const _processListData = (list) => { | ||
34 | 34 | ||
35 | // let data = moment('2016年06月02日 15:56', 'YYYY年MM月DD日 HH:mm').format('YYYY/MM/DD HH:mm'); | 35 | // let data = moment('2016年06月02日 15:56', 'YYYY年MM月DD日 HH:mm').format('YYYY/MM/DD HH:mm'); |
36 | 36 | ||
37 | - let artList = list.list.artList.map(data =>{ | 37 | + let artList = list.list.artList.map(data => { |
38 | 38 | ||
39 | data.publishTime = data.publishTime.replace(/年|月/g, '/'); | 39 | data.publishTime = data.publishTime.replace(/年|月/g, '/'); |
40 | data.publishTime = data.publishTime.replace(/日/g, ''); | 40 | data.publishTime = data.publishTime.replace(/日/g, ''); |
@@ -90,10 +90,33 @@ const setDefaultAddress = (req, res) => { | @@ -90,10 +90,33 @@ const setDefaultAddress = (req, res) => { | ||
90 | }); | 90 | }); |
91 | }; | 91 | }; |
92 | 92 | ||
93 | +/** | ||
94 | + * 获取地址信息 | ||
95 | + * @function getAddressData | ||
96 | + * @return { Object } | ||
97 | + */ | ||
98 | +const getAddressData = (req, res) => { | ||
99 | + addressModel.getAddressData(req.params.areaId).then(result => { | ||
100 | + if (result.code === 200) { | ||
101 | + result.data = result.data.map((item) => { | ||
102 | + return { | ||
103 | + is_support: item.is_support_express, | ||
104 | + text: item.caption, | ||
105 | + value: item.id | ||
106 | + }; | ||
107 | + }); | ||
108 | + res.json(result); | ||
109 | + } else { | ||
110 | + res.json(result); | ||
111 | + } | ||
112 | + }); | ||
113 | +}; | ||
114 | + | ||
93 | module.exports = { | 115 | module.exports = { |
94 | index, | 116 | index, |
95 | addAddressData, | 117 | addAddressData, |
96 | updateAddressData, | 118 | updateAddressData, |
97 | delAddressData, | 119 | delAddressData, |
98 | - setDefaultAddress | 120 | + setDefaultAddress, |
121 | + getAddressData | ||
99 | }; | 122 | }; |
@@ -119,10 +119,28 @@ const setDefaultAddress = (id, uid) => { | @@ -119,10 +119,28 @@ const setDefaultAddress = (id, uid) => { | ||
119 | }); | 119 | }); |
120 | }; | 120 | }; |
121 | 121 | ||
122 | +/** | ||
123 | + * 获取地址信息 | ||
124 | + * @function getAddressData | ||
125 | + * @return { Array } [返回带有areaId的地址数组] | ||
126 | + * @param id | ||
127 | + * @param caption | ||
128 | + * @param is_support_express | ||
129 | + */ | ||
130 | +const getAddressData = (areaId) => { | ||
131 | + return api.get('', { | ||
132 | + method: 'app.address.provinces', | ||
133 | + id: areaId || 0 | ||
134 | + }).then(result => { | ||
135 | + return result; | ||
136 | + }); | ||
137 | +}; | ||
138 | + | ||
122 | module.exports = { | 139 | module.exports = { |
123 | getAddressDataAsync: getAddressDataAsync, | 140 | getAddressDataAsync: getAddressDataAsync, |
124 | addAddressData: addAddressData, | 141 | addAddressData: addAddressData, |
125 | updateAddressData: updateAddressData, | 142 | updateAddressData: updateAddressData, |
126 | delAddressData: delAddressData, | 143 | delAddressData: delAddressData, |
127 | - setDefaultAddress: setDefaultAddress | 144 | + setDefaultAddress: setDefaultAddress, |
145 | + getAddressData | ||
128 | }; | 146 | }; |
@@ -28,5 +28,6 @@ router.post('/address/add', address.addAddressData); | @@ -28,5 +28,6 @@ router.post('/address/add', address.addAddressData); | ||
28 | router.post('/address/update', address.updateAddressData); | 28 | router.post('/address/update', address.updateAddressData); |
29 | router.post('/address/del', address.delAddressData); | 29 | router.post('/address/del', address.delAddressData); |
30 | router.post('/address/default', address.setDefaultAddress); | 30 | router.post('/address/default', address.setDefaultAddress); |
31 | +router.get('/address/areas/:areaId', address.getAddressData); | ||
31 | 32 | ||
32 | module.exports = router; | 33 | module.exports = router; |
@@ -16,5 +16,5 @@ module.exports = app => { | @@ -16,5 +16,5 @@ module.exports = app => { | ||
16 | app.use('/me', require('./apps/me')); // 个人中心 | 16 | app.use('/me', require('./apps/me')); // 个人中心 |
17 | app.use('/editorial', require('./apps/editorial')); // 资讯 | 17 | app.use('/editorial', require('./apps/editorial')); // 资讯 |
18 | app.use('/product', require('./apps/product')); | 18 | app.use('/product', require('./apps/product')); |
19 | - app.use('/brand', require('./apps/brand')); // 资讯 | 19 | + app.use('/brand', require('./apps/brand')); // 品牌 |
20 | }; | 20 | }; |
No preview for this file type
@@ -2,11 +2,7 @@ | @@ -2,11 +2,7 @@ | ||
2 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > | 2 | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > |
3 | <svg xmlns="http://www.w3.org/2000/svg"> | 3 | <svg xmlns="http://www.w3.org/2000/svg"> |
4 | <metadata> | 4 | <metadata> |
5 | -<<<<<<< HEAD | ||
6 | -Created by FontForge 20120731 at Thu Jul 7 17:43:49 2016 | ||
7 | -======= | ||
8 | -Created by FontForge 20120731 at Fri Jul 8 14:37:44 2016 | ||
9 | ->>>>>>> feature/product | 5 | +Created by FontForge 20120731 at Wed Jul 13 11:11:58 2016 |
10 | By admin | 6 | By admin |
11 | </metadata> | 7 | </metadata> |
12 | <defs> | 8 | <defs> |
@@ -23,11 +19,7 @@ Created by FontForge 20120731 at Fri Jul 8 14:37:44 2016 | @@ -23,11 +19,7 @@ Created by FontForge 20120731 at Fri Jul 8 14:37:44 2016 | ||
23 | bbox="0 -224 1303 896.303" | 19 | bbox="0 -224 1303 896.303" |
24 | underline-thickness="50" | 20 | underline-thickness="50" |
25 | underline-position="-100" | 21 | underline-position="-100" |
26 | -<<<<<<< HEAD | ||
27 | - unicode-range="U+0078-E638" | ||
28 | -======= | ||
29 | - unicode-range="U+0078-E63B" | ||
30 | ->>>>>>> feature/product | 22 | + unicode-range="U+0078-E642" |
31 | /> | 23 | /> |
32 | <missing-glyph horiz-adv-x="374" | 24 | <missing-glyph horiz-adv-x="374" |
33 | d="M34 0v682h272v-682h-272zM68 34h204v614h-204v-614z" /> | 25 | d="M34 0v682h272v-682h-272zM68 34h204v614h-204v-614z" /> |
@@ -138,11 +130,8 @@ d="M361 194q45 -63 81 -152h143q42 68 75 152l82 -29q-32 -69 -70 -123h202v-71h-724 | @@ -138,11 +130,8 @@ d="M361 194q45 -63 81 -152h143q42 68 75 152l82 -29q-32 -69 -70 -123h202v-71h-724 | ||
138 | <glyph glyph-name="uniE624" unicode="" | 130 | <glyph glyph-name="uniE624" unicode="" |
139 | d="M897 -212h-770q-44 0 -71 34.5t-21 82.5l89 598q3 31 30 52.5t61 21.5h51q4 111 73 173t171.5 62t171 -62t73.5 -173h54q34 0 61 -21.5t30 -52.5l89 -598q6 -48 -21 -82.5t-71 -34.5zM230 406q0 -25 18 -43t43 -18t42.5 18t17.5 43t-17.5 42.5t-42.5 17.5t-43 -17.5 | 131 | d="M897 -212h-770q-44 0 -71 34.5t-21 82.5l89 598q3 31 30 52.5t61 21.5h51q4 111 73 173t171.5 62t171 -62t73.5 -173h54q34 0 61 -21.5t30 -52.5l89 -598q6 -48 -21 -82.5t-71 -34.5zM230 406q0 -25 18 -43t43 -18t42.5 18t17.5 43t-17.5 42.5t-42.5 17.5t-43 -17.5 |
140 | t-18 -42.5zM510 767q-87 0 -144.5 -49t-61.5 -141h412q-4 92 -61.5 141t-144.5 49zM736 466q-25 0 -42.5 -17.5t-17.5 -42.5t17.5 -43t42.5 -18t43 18t18 43t-18 42.5t-43 17.5z" /> | 132 | t-18 -42.5zM510 767q-87 0 -144.5 -49t-61.5 -141h412q-4 92 -61.5 141t-144.5 49zM736 466q-25 0 -42.5 -17.5t-17.5 -42.5t17.5 -43t42.5 -18t43 18t18 43t-18 42.5t-43 17.5z" /> |
141 | -<<<<<<< HEAD | ||
142 | -======= | ||
143 | <glyph glyph-name="uniE625" unicode="" | 133 | <glyph glyph-name="uniE625" unicode="" |
144 | d="M43 0h938l-469 811zM555 128h-86v85h86v-85zM555 299h-86v170h86v-170z" /> | 134 | d="M43 0h938l-469 811zM555 128h-86v85h86v-85zM555 299h-86v170h86v-170z" /> |
145 | ->>>>>>> feature/product | ||
146 | <glyph glyph-name="uniE626" unicode="" | 135 | <glyph glyph-name="uniE626" unicode="" |
147 | d="M139 233q-24 -59 -27.5 -108t15.5 -60q13 -7 32.5 7.5t38.5 45.5q16 -66 72 -116q-29 -11 -45.5 -28.5t-16.5 -37.5q0 -34 43.5 -57.5t105.5 -23.5q56 0 97.5 19.5t50.5 48.5h18q8 -29 50 -48.5t98 -19.5q62 0 105.5 23.5t43.5 57.5q0 20 -16.5 37.5t-45.5 28.5 | 136 | d="M139 233q-24 -59 -27.5 -108t15.5 -60q13 -7 32.5 7.5t38.5 45.5q16 -66 72 -116q-29 -11 -45.5 -28.5t-16.5 -37.5q0 -34 43.5 -57.5t105.5 -23.5q56 0 97.5 19.5t50.5 48.5h18q8 -29 50 -48.5t98 -19.5q62 0 105.5 23.5t43.5 57.5q0 20 -16.5 37.5t-45.5 28.5 |
148 | q56 50 71 116q20 -31 39 -45.5t32 -7.5q19 11 16 60t-27 108q-19 46 -42 78t-43 40q1 7 1 12q0 35 -17 64v4q0 16 -7 30q-5 125 -77.5 207t-190 82t-189.5 -82t-77 -207q-7 -14 -7 -30v-4q-17 -29 -17 -64q0 -5 1 -12q-20 -8 -43.5 -40t-41.5 -78z" /> | 137 | q56 50 71 116q20 -31 39 -45.5t32 -7.5q19 11 16 60t-27 108q-19 46 -42 78t-43 40q1 7 1 12q0 35 -17 64v4q0 16 -7 30q-5 125 -77.5 207t-190 82t-189.5 -82t-77 -207q-7 -14 -7 -30v-4q-17 -29 -17 -64q0 -5 1 -12q-20 -8 -43.5 -40t-41.5 -78z" /> |
@@ -178,16 +167,16 @@ q18 2 30 7q5 0 16.5 1.5t31 -3.5t39 -12.5t40.5 -25t35 -41.5q25 -57 10 -109q-6 -17 | @@ -178,16 +167,16 @@ q18 2 30 7q5 0 16.5 1.5t31 -3.5t39 -12.5t40.5 -25t35 -41.5q25 -57 10 -109q-6 -17 | ||
178 | <glyph glyph-name="uniE62F" unicode="" | 167 | <glyph glyph-name="uniE62F" unicode="" |
179 | d="M756 -133h-488q-21 0 -36.5 13t-15.5 32v780q0 19 15.5 32t36.5 13h488q21 0 36.5 -13t15.5 -32v-780q0 -19 -15.5 -32t-36.5 -13zM512 -88q14 0 24.5 9t10.5 21t-10.5 21t-24.5 9t-24.5 -9t-10.5 -21t10.5 -21t24.5 -9zM756 647h-488v-630h488v630z" /> | 168 | d="M756 -133h-488q-21 0 -36.5 13t-15.5 32v780q0 19 15.5 32t36.5 13h488q21 0 36.5 -13t15.5 -32v-780q0 -19 -15.5 -32t-36.5 -13zM512 -88q14 0 24.5 9t10.5 21t-10.5 21t-24.5 9t-24.5 -9t-10.5 -21t10.5 -21t24.5 -9zM756 647h-488v-630h488v630z" /> |
180 | <glyph glyph-name="uniE630" unicode="" | 169 | <glyph glyph-name="uniE630" unicode="" |
181 | -d="M513 857q98 0 184.5 -37t151 -102t102 -151.5t37.5 -185.5t-37.5 -185t-102 -151t-151 -102t-184.5 -37q-100 0 -186.5 37t-151 102t-102 151t-37.5 185t37.5 185.5t102 151.5t151 102t186.5 37zM784 316q28 0 47.5 20t19.5 48t-19.5 47t-47.5 19h-202v203q0 28 -20 48 | ||
182 | -t-48 20t-47.5 -20t-19.5 -48v-203h-203q-28 0 -47.5 -19t-19.5 -47t19.5 -48t47.5 -20h203v-202q0 -28 19.5 -48t47.5 -20t48 20t20 48v202h202z" /> | 170 | +d="M512 812q-139 0 -257 -68.5t-186.5 -186.5t-68.5 -257t68.5 -257t186.5 -186.5t257 -68.5t257 68.5t186.5 186.5t68.5 257t-68.5 257t-186.5 186.5t-257 68.5zM768 215h-512v170h512v-170z" /> |
183 | <glyph glyph-name="uniE631" unicode="" | 171 | <glyph glyph-name="uniE631" unicode="" |
184 | d="M831 612q-2 12 -11 20t-21 8h-160v32q0 66 -47 113t-113 47t-112.5 -47t-46.5 -113v-32h-160q-12 0 -21.5 -8t-10.5 -20l-64 -576q-1 -15 8.5 -25.5t23.5 -10.5h767q14 0 23.5 10.5t7.5 25.5zM351.5 448q-13.5 0 -23 9.5t-9.5 22.5t9.5 22.5t23 9.5t22.5 -9.5t9 -22.5 | 172 | d="M831 612q-2 12 -11 20t-21 8h-160v32q0 66 -47 113t-113 47t-112.5 -47t-46.5 -113v-32h-160q-12 0 -21.5 -8t-10.5 -20l-64 -576q-1 -15 8.5 -25.5t23.5 -10.5h767q14 0 23.5 10.5t7.5 25.5zM351.5 448q-13.5 0 -23 9.5t-9.5 22.5t9.5 22.5t23 9.5t22.5 -9.5t9 -22.5 |
185 | t-9 -22.5t-22.5 -9.5zM575 640h-192v32q0 40 28.5 68t68 28t67.5 -28t28 -68v-32zM607.5 448q-13.5 0 -23 9.5t-9.5 22.5t9.5 22.5t23 9.5t22.5 -9.5t9 -22.5t-9 -22.5t-22.5 -9.5z" /> | 173 | t-9 -22.5t-22.5 -9.5zM575 640h-192v32q0 40 28.5 68t68 28t67.5 -28t28 -68v-32zM607.5 448q-13.5 0 -23 9.5t-9.5 22.5t9.5 22.5t23 9.5t22.5 -9.5t9 -22.5t-9 -22.5t-22.5 -9.5z" /> |
186 | <glyph glyph-name="uniE632" unicode="" | 174 | <glyph glyph-name="uniE632" unicode="" |
187 | d="M684 670q-23 96 -68.5 153t-103.5 57t-103.5 -57t-68.5 -153h-178l-69 -798h838l-69 798h-178zM406 670q18 67 47 107t59 40t59 -40t47 -107h-212z" /> | 175 | d="M684 670q-23 96 -68.5 153t-103.5 57t-103.5 -57t-68.5 -153h-178l-69 -798h838l-69 798h-178zM406 670q18 67 47 107t59 40t59 -40t47 -107h-212z" /> |
188 | <glyph glyph-name="uniE633" unicode="" | 176 | <glyph glyph-name="uniE633" unicode="" |
189 | -d="M512 764q-94 0 -180 -36.5t-148.5 -99t-99 -148.5t-36.5 -180t36.5 -180t99 -148.5t148.5 -99t180 -36.5t180 36.5t148.5 99t99 148.5t36.5 180t-36.5 180t-99 148.5t-148.5 99t-180 36.5zM724 244h-424q-23 0 -39.5 16.5t-16.5 39.5t16.5 39.5t39.5 16.5h424 | ||
190 | -q23 0 39 -16.5t16 -39.5t-16 -39.5t-39 -16.5z" /> | 177 | +d="M512 832q-122 0 -225 -60t-163 -163t-60 -225t60 -225t163 -163t225 -60t225 60t163 163t60 225t-60 225t-163 163t-225 60zM512 24q-149 0 -254.5 105.5t-105.5 254.5t105.5 254.5t254.5 105.5t254.5 -105.5t105.5 -254.5t-105.5 -254.5t-254.5 -105.5zM635 409 |
178 | +q-25 17 -53 27t-53 20.5t-41 25.5q-16 14 -16 39q0 17 10 31t32 14q19 0 28.5 -16t9.5 -38v-11h126q0 75 -32.5 111.5t-105.5 43.5v42h-66v-42q-133 -22 -133 -157q0 -44 15.5 -71.5t39 -44.5t51.5 -28q27 -10 51 -21q24 -10 39.5 -24.5t15.5 -39.5q0 -20 -11 -33 | ||
179 | +q-12 -14 -33 -14q-20 0 -32.5 12t-12.5 45v14h-130v-20q0 -69 35.5 -100t104.5 -39v-65h67v65q74 8 113 44q38 35 38 109q0 47 -16 75q-17 29 -41 46z" /> | ||
191 | <glyph glyph-name="uniE634" unicode="" | 180 | <glyph glyph-name="uniE634" unicode="" |
192 | d="M500 775l-348 -298q-16 -14 -16 -35v-386q0 -25 17.5 -42.5t42.5 -17.5h197v257h238v-257h197q25 0 42.5 17.5t17.5 42.5v386q0 21 -16 35l-348 298q-12 10 -24 0z" /> | 181 | d="M500 775l-348 -298q-16 -14 -16 -35v-386q0 -25 17.5 -42.5t42.5 -17.5h197v257h238v-257h197q25 0 42.5 17.5t17.5 42.5v386q0 21 -16 35l-348 298q-12 10 -24 0z" /> |
193 | <glyph glyph-name="uniE635" unicode="" | 182 | <glyph glyph-name="uniE635" unicode="" |
@@ -199,12 +188,47 @@ d="M512 -212q-104 0 -199 40.5t-163.5 109t-109 163.5t-40.5 199t40.5 199t109 163.5 | @@ -199,12 +188,47 @@ d="M512 -212q-104 0 -199 40.5t-163.5 109t-109 163.5t-40.5 199t40.5 199t109 163.5 | ||
199 | t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5z" /> | 188 | t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5z" /> |
200 | <glyph glyph-name="uniE638" unicode="" | 189 | <glyph glyph-name="uniE638" unicode="" |
201 | d="M511 833q-91 0 -174 -35.5t-143 -95.5t-95.5 -143t-35.5 -174t35.5 -174t95.5 -143t143 -95t174 -35t174 35t143 95t95.5 143t35.5 174t-35.5 174t-95.5 143t-143 95.5t-174 35.5z" /> | 190 | d="M511 833q-91 0 -174 -35.5t-143 -95.5t-95.5 -143t-35.5 -174t35.5 -174t95.5 -143t143 -95t174 -35t174 35t143 95t95.5 143t35.5 174t-35.5 174t-95.5 143t-143 95.5t-174 35.5z" /> |
202 | -<<<<<<< HEAD | ||
203 | -======= | 191 | + <glyph glyph-name="uniE639" unicode="" |
192 | +d="M512 -212q-139 0 -257 68.5t-186.5 186.5t-68.5 257t68.5 257t186.5 186.5t257 68.5t257 -68.5t186.5 -186.5t68.5 -257t-68.5 -257t-186.5 -186.5t-257 -68.5zM585 373v293h-146v-293h-293v-146h293v-293h146v293h293v146h-293z" /> | ||
204 | <glyph glyph-name="uniE63A" unicode="" | 193 | <glyph glyph-name="uniE63A" unicode="" |
205 | d="M963 564l-117 -190h92v-43h-107v-58h107v-42h-107v-85h-55v85h-112v42h112v58h-112v43h95l-115 190h62q81 -142 98 -180h1q6 16 33 63l66 117h59z" /> | 194 | d="M963 564l-117 -190h92v-43h-107v-58h107v-42h-107v-85h-55v85h-112v42h112v58h-112v43h95l-115 190h62q81 -142 98 -180h1q6 16 33 63l66 117h59z" /> |
206 | <glyph glyph-name="uniE63B" unicode="" | 195 | <glyph glyph-name="uniE63B" unicode="" |
207 | d="M0 -128h1024v1024zM826 301l-250 -282l-122 122q-9 9 -9 22t9.5 22.5t22.5 9.5t22 -9l77 -77l198 230q10 10 23 10t22 -10q10 -5 13 -16.5t-6 -21.5z" /> | 196 | d="M0 -128h1024v1024zM826 301l-250 -282l-122 122q-9 9 -9 22t9.5 22.5t22.5 9.5t22 -9l77 -77l198 230q10 10 23 10t22 -10q10 -5 13 -16.5t-6 -21.5z" /> |
208 | ->>>>>>> feature/product | 197 | + <glyph glyph-name="uniE63C" unicode="" |
198 | +d="M956 596q-50 -51 -622 -616q-5 -6 -13 -8.5t-26.5 -8t-43 -13.5t-51.5 -16.5t-53.5 -17t-47 -15.5t-34.5 -11l-14 -4q-4 -2 -9 -2q-13 0 -23 9q-13 14 -8 32q71 232 83 275q2 8 8 14q601 602 619 620q53 53 121 53q60 0 112 -50q58 -56 59 -118q1 -63 -57 -123zM86 -39 | ||
199 | +q32 10 105.5 35t93.5 31q-14 45 -47 79q-42 42 -90 54q-7 -24 -30.5 -97t-31.5 -102zM282 151q35 -34 54 -80q389 385 518 513q-10 53 -51 94q-43 44 -92 56q-185 -186 -520 -521q50 -20 91 -62zM910 791q-33 32 -68 32q-42 0 -77 -35q0 -1 -1 -2l-3 -3q48 -20 87 -59 | ||
200 | +q37 -38 57 -89l6 6q39 41 39 77q-1 35 -40 73z" /> | ||
201 | + <glyph glyph-name="uniE63D" unicode="" | ||
202 | +d="M799 456l127 127v313h-830v-609l421 -413l409 404v181l-414 -401l-288 284v426h575v-312zM671 518l-107 22l-53 100l-52 -100l-108 -22l75 -83l-14 -114l99 49l99 -49l-14 114z" /> | ||
203 | + <glyph glyph-name="uniE63E" unicode="" | ||
204 | +d="M898 225q-224 69 -271 86q46 79 69 173h-170v58h209v36h-209v96h-80q-7 0 -11 -3.5t-5 -6.5l-1 -3v-83h-196v-36h196v-58h-160v-32h325q-18 -61 -47 -114q-8 3 -29 10l-28 10q-8 2 -25 7t-27.5 7.5t-27 6t-32.5 5.5t-35 4q-49 4 -87.5 -3t-61 -21t-38 -34.5t-21.5 -38.5 | ||
205 | +t-8 -38q-7 -66 45.5 -112t137.5 -46q83 0 145 35.5t121 106.5q94 -45 320 -143zM298 150q-43 0 -73.5 12t-43 30.5t-17 35.5t-1.5 31q5 28 34 51t75 23q107 0 232 -61q-94 -122 -206 -122z" /> | ||
206 | + <glyph glyph-name="uniE63F" unicode="" | ||
207 | +d="M647 284q29 54 52 113t31 91l8 32h-12h-104h-109v85h267v37h-267v127h-121v-127h-242v-37h242v-85h-206v-36h418q0 -6 -6 -12q0 -43 -54 -152q-45 18 -86.5 31t-74 21t-63 12t-52.5 5t-43.5 -1t-34.5 -4t-27 -7t-20 -7.5t-14.5 -7.5t-9.5 -5q-42 -30 -65 -64t-26.5 -65 | ||
208 | +t3 -61t22 -54t32 -42t31.5 -27.5t21 -8.5q272 -60 455 158q6 -6 18 -6q30 -16 127 -63t179 -86l82 -39v182q-7 0 -19.5 2t-30 6.5t-34 8.5t-41.5 12t-42.5 13.5t-47.5 15t-45.5 15t-47.5 16.5zM489 229q-43 -54 -93.5 -87t-91 -43t-82 -8.5t-61.5 6.5t-36 11 | ||
209 | +q-26 7 -43.5 32.5t-21 55.5t11.5 60.5t47 45.5q54 17 108.5 19t105 -10.5t87.5 -27t81 -35.5zM489 229z" /> | ||
210 | + <glyph glyph-name="uniE640" unicode="" | ||
211 | +d="M-57 853zM743 324q-16 4 -21 10.5t-2 11.5l3 6q2 1 3 3.5t4 9.5t5 14t3 17.5t-0.5 20t-6.5 20.5t-14 20q-16 15 -40.5 19.5t-49.5 0.5t-47 -10t-36 -11l-15 -7q-11 -3 -18 -4t-11 0.5t-6 3t-1.5 7.5t1 10.5t2.5 14t3 15.5q0 13 -1.5 24.5t-7 26t-16 23t-26.5 14 | ||
212 | +t-41.5 3.5t-57.5 -13q-38 -13 -78 -39t-69 -54.5t-53.5 -54.5t-37.5 -43l-12 -18q-36 -47 -54 -94.5t-17 -71.5v-23q7 -53 33 -95t62 -68t84.5 -44.5t93 -26.5t94.5 -11q81 -7 169 12.5t163.5 66.5t106.5 114q19 38 19.5 72.5t-12 56t-31.5 38t-36 24t-31 9.5zM407 -19 | ||
213 | +q-119 -5 -202.5 46.5t-83.5 131.5q0 78 83 135t203 62.5t203 -40t83 -123.5q0 -79 -84.5 -142.5t-201.5 -69.5zM375 287q-32 -3 -57.5 -15t-40 -26.5t-24.5 -32t-13.5 -34t-4.5 -30t-1 -21.5l1 -9v-4q0 -3 2 -13t6 -18.5t12.5 -18.5t21.5 -16q72 -36 135 -22t102 64 | ||
214 | +q15 18 20 46t-2 56t-24.5 51t-52.5 35.5t-80 7.5zM335 78q-7 -1 -13 -0.5t-11 2.5t-9.5 4t-8 6t-6.5 7.5t-4.5 9t-1.5 10.5q0 12 6.5 23.5t18 20t26.5 9.5q10 1 19.5 -0.5t16 -5.5t11.5 -9t7 -11.5t2 -14.5q0 -12 -7 -23t-19.5 -18.5t-26.5 -9.5zM429 158q-8 -6 -16 -5.5 | ||
215 | +t-12 7.5l-2 4q-1 3 -1 5v4q0 4 1 6l2 4q1 2 4 3l3 5q9 7 17 5.5t12 -8.5q3 -5 2.5 -10.5t-3.5 -10.5t-7 -9zM821 388q6 0 11.5 3.5t9 8.5t4.5 10q1 2 1 4q13 126 -88 143q-30 6 -55 1q-8 0 -13.5 -3.5t-9.5 -10t-4 -12.5q0 -11 8 -19t19 -8q86 20 92 -55q2 -19 -2 -35 | ||
216 | +q0 -11 8 -19t19 -8zM802 700q-49 11 -130 -5q-1 0 -3 -1l-1 -2l-1 -1q-12 -4 -19.5 -14.5t-7.5 -22.5q0 -16 11 -27t26 -11h3q2 0 5.5 1t8 1.5t9.5 2t9 3.5t15 2t27 -2t35 -8.5t38.5 -16.5t39 -27.5t33.5 -40.5q29 -65 11 -126q0 -1 -0.5 -2t-1.5 -5.5t-2 -8.5l-3 -10 | ||
217 | +q-1 -6 -1 -10q0 -10 5.5 -17t14 -9.5t19.5 -2.5q31 0 36 37q14 43 15.5 82.5t-5.5 69t-21.5 55.5t-33.5 44.5t-42 33t-44.5 23.5t-44.5 15z" /> | ||
218 | + <glyph glyph-name="uniE641" unicode="" | ||
219 | +d="M971 143l-2 18l-3 17l-3 9l-2 9l-3 9l-4 10l-3 10l-4 9l-8 16l-6 14l-7 13l-5 11l-7 11l-5 9l-10 15l-12 19l-3 5l-1 2v1l2 7l3 6l2 11l2 6v6v5v5v6l-1 4l-2 10l-2 9l-3 8l-3 8l-4 7l-3 7l-3 6l-6 9l-2 3v2l-3 18l-1 11l-2 14l-3 15l-4 17l-3 9l-2 8l-3 9l-3 10l-3 9 | ||
220 | +l-4 10l-8 19l-5 9l-6 10l-5 9l-6 10l-7 10l-7 8l-8 10l-8 8l-8 8l-9 9l-5 3l-5 4l-11 7l-12 8l-12 7l-13 7l-13 6l-13 6l-14 4l-15 4l-13 4l-15 3l-13 4l-15 1l-14 2l-15 2h-15h-14h-14l-14 -1l-14 -2l-14 -2l-13 -2l-14 -3l-13 -3l-13 -4l-12 -4l-12 -4l-12 -6l-12 -5 | ||
221 | +l-10 -6l-10 -6l-10 -7l-10 -8l-8 -7l-12 -12l-10 -10l-10 -11l-9 -11l-9 -11l-7 -10l-7 -11l-4 -5l-3 -6l-7 -10l-5 -10l-5 -10l-4 -10l-4 -9l-3 -9l-3 -9l-4 -8l-4 -16l-3 -15l-1 -12l-2 -11v-8v-7v-6l-3 -3l-3 -4l-2 -4l-2 -4l-2 -9l-3 -9v-7l-1 -6v-6l-6 -8l-4 -9l-3 -8 | ||
222 | +l-2 -7l-2 -7l-2 -6v-6v-6v-5l1 -4l2 -7l1 -6l-3 -3l-9 -6l-12 -11l-7 -7l-7 -6l-5 -5l-4 -5l-9 -9l-8 -10l-7 -8l-8 -11l-7 -11l-7 -12l-7 -11l-5 -11l-5 -11l-4 -10l-4 -11l-3 -11l-3 -11l-3 -10l-2 -10l-1 -9l-2 -10l-1 -18v-17v-7l1 -7l2 -13l1 -6l2 -5l2 -6l1 -3l3 -7 | ||
223 | +l2 -2l2 -3h1h1h1h7l7 2l7 3l6 4l6 4l5 5l6 5l5 6l5 6l4 6l4 4l2 6l5 8l2 4l1 2v3l1 2h1l2 1h1v-1h1h1l3 -12l2 -10l4 -10l4 -9l4 -9l5 -8l4 -9l4 -7l5 -7l3 -6l10 -12l9 -11l8 -8l8 -7l7 -6l11 -10l4 -2l2 -2v-1l-1 -1h-1h-2l-8 -1l-7 -1l-6 -1l-7 -1l-5 -2l-6 -2l-5 -2 | ||
224 | +l-4 -3l-5 -1l-3 -3l-3 -2l-4 -3l-4 -5l-2 -3l-2 -2l-3 -6l-2 -5l-1 -5l-1 -4v-6v-3l-1 -4v-4l-1 -4v-3l1 -4l1 -4l2 -7l2 -3l2 -3l2 -3l3 -3l3 -3l2 -3l7 -5l8 -4l8 -5l9 -3l9 -4l11 -2l10 -4l11 -2l12 -2l11 -2l12 -1l24 -3h24h23h10h10h11l9 1l9 1l8 1l13 2l9 3l9 2l17 7 | ||
225 | +l8 3l7 3l12 7l10 6l8 5l6 5l9 -1l7 -1l14 -1h6h6l4 -1l4 -1l7 -3l8 -2l14 -5l15 -5l14 -4l14 -3l15 -4l15 -2l15 -2l14 -2l14 -1l15 -1h13h14h13l13 1l13 1l12 2l11 3l11 2l11 3l5 1l5 2l9 3l8 4l8 4l8 4l6 5l3 3l3 4l4 4l4 6l1 3l1 3l2 3l1 3v4l1 3l-1 5l-1 4l-2 5l-1 4 | ||
226 | +l-3 5l-3 5l-3 3l-4 4l-9 7l-10 8l-10 5l-10 6l-23 12l-6 3l-2 2l-1 1l12 11l5 6l4 5l8 12l7 11l6 11l6 10l8 20l7 16l4 12l2 4l2 3l2 2h1h1l6 -12l5 -12l4 -7l4 -5l4 -7l5 -7l4 -5l3 -2l2 -3l2 -1l3 -2l4 -2l3 -1h2h2l2 1l4 1l3 2l3 2l3 3l3 4l2 3l3 5l2 3l2 6l2 4l3 11 | ||
227 | +l2 12l2 14l1 8v6v7v9z" /> | ||
228 | + <glyph glyph-name="uniE642" unicode="" horiz-adv-x="1220" | ||
229 | +d="M1068 -101l33 -111l-119 67q-86 -22 -129 -22q-101 0 -185.5 43t-133 117.5t-48.5 162t48.5 162t133 117.5t185.5 43q96 0 180.5 -43t135 -118t50.5 -162q0 -71 -40.5 -136.5t-110.5 -119.5zM734 300q-16 0 -29.5 -14t-13.5 -30.5t13.5 -30.5t29.5 -14q23 0 38.5 13.5 | ||
230 | +t15.5 31t-15.5 31t-38.5 13.5zM971 300q-16 0 -29.5 -14t-13.5 -30.5t13.5 -30.5t29.5 -14q24 0 39 13.5t15 31t-15 31t-39 13.5zM459 150q0 -46 13 -93q-22 -2 -40 -2q-16 0 -30.5 1t-32 4t-27 4.5t-32 6.5t-30.5 6l-150 -78l43 134q-173 125 -173 301q0 104 58 191 | ||
231 | +t157.5 137t216.5 50q159 0 283 -89t152 -223q-23 2 -42 2q-100 0 -184.5 -47t-133 -128t-48.5 -177zM291 623q-25 0 -45 -16t-20 -40t20 -39.5t45 -15.5t39.5 15t14.5 40t-14.5 40.5t-39.5 15.5zM593 623q-25 0 -44.5 -16t-19.5 -40t19.5 -39.5t44.5 -15.5t39.5 15t14.5 40 | ||
232 | +t-14.5 40.5t-39.5 15.5z" /> | ||
209 | </font> | 233 | </font> |
210 | </defs></svg> | 234 | </defs></svg> |
No preview for this file type
No preview for this file type
@@ -16,7 +16,7 @@ var $list = $('.brands-list'), | @@ -16,7 +16,7 @@ var $list = $('.brands-list'), | ||
16 | require('../common/header'); | 16 | require('../common/header'); |
17 | require('../common/return-top'); | 17 | require('../common/return-top'); |
18 | 18 | ||
19 | -lazyLoad($('.brands-list img.lazy')); | 19 | +lazyLoad($('.brand-page img.lazy')); |
20 | 20 | ||
21 | // 品牌类别滚动事件 | 21 | // 品牌类别滚动事件 |
22 | $(window).scroll(function() { | 22 | $(window).scroll(function() { |
@@ -10,7 +10,7 @@ var $ = require('yoho-jquery'), | @@ -10,7 +10,7 @@ var $ = require('yoho-jquery'), | ||
10 | require('../common/header'); | 10 | require('../common/header'); |
11 | require('../common/return-top'); | 11 | require('../common/return-top'); |
12 | 12 | ||
13 | -lazyLoad($('#msg-list img.lazy')); | 13 | +lazyLoad($('.content-msg img.lazy')); |
14 | 14 | ||
15 | $('.editorial-index-page').on('click', '.like-icon', function() { | 15 | $('.editorial-index-page').on('click', '.like-icon', function() { |
16 | var $this = $(this), | 16 | var $this = $(this), |
1 | var $ = require('yoho-jquery'), | 1 | var $ = require('yoho-jquery'), |
2 | lazyLoad = require('yoho-jquery-lazyload'), | 2 | lazyLoad = require('yoho-jquery-lazyload'), |
3 | + common = require('../common'), | ||
3 | dialog = require('../plugins/dialog'); | 4 | dialog = require('../plugins/dialog'); |
4 | 5 | ||
5 | var _dialog = dialog.Dialog, | 6 | var _dialog = dialog.Dialog, |
@@ -95,11 +96,8 @@ $(function() { | @@ -95,11 +96,8 @@ $(function() { | ||
95 | // 运行此demo | 96 | // 运行此demo |
96 | // 1. 安装 npm i -g json-server | 97 | // 1. 安装 npm i -g json-server |
97 | // 2. json-server --watch mock/address.json | 98 | // 2. json-server --watch mock/address.json |
98 | - window.add = cascadingAddress({ | ||
99 | - el: '#address', | ||
100 | - url: 'http://localhost:3000/areas/0', | ||
101 | - resource: 'areas' | ||
102 | - }); | 99 | + common.setCookie('uid', '8050484'); |
100 | + window.add = cascadingAddress({el: '#address'}); | ||
103 | }); | 101 | }); |
104 | 102 | ||
105 | $('.weixin').click(function() { | 103 | $('.weixin').click(function() { |
@@ -17,7 +17,7 @@ var $ = require('yoho-jquery'); | @@ -17,7 +17,7 @@ var $ = require('yoho-jquery'); | ||
17 | 17 | ||
18 | // 默认配置 | 18 | // 默认配置 |
19 | var settings = { | 19 | var settings = { |
20 | - url: '', | 20 | + url: '/me/address/areas/0', |
21 | containerClass: 'cascading-address', | 21 | containerClass: 'cascading-address', |
22 | levels: 3, | 22 | levels: 3, |
23 | resources: 'areas', | 23 | resources: 'areas', |
@@ -191,6 +191,27 @@ function fetchInitialData(evt, config, level) { | @@ -191,6 +191,27 @@ function fetchInitialData(evt, config, level) { | ||
191 | }); | 191 | }); |
192 | } | 192 | } |
193 | 193 | ||
194 | +// 设置地址: 省,市,区县 | ||
195 | +function renderDistrict(distIds, currentLevels, config) { | ||
196 | + // 标识需要渲染几级 | ||
197 | + var distLen = distIds.sort().length, | ||
198 | + cursor = distLen, // 游标 | ||
199 | + areaId, // 请求areaId | ||
200 | + defaultId, // 设置areaId | ||
201 | + $el = $(config.el); | ||
202 | + | ||
203 | + // 最后一个level是0 | ||
204 | + while (distLen > 1) { | ||
205 | + // 请求从array[0], 判断值从array[1] | ||
206 | + areaId = distIds[cursor - distLen]; | ||
207 | + defaultId = distIds[cursor - distLen + 1]; | ||
208 | + config.url = setRequestUrl(config, areaId); | ||
209 | + $el.trigger('ca.setAddr', [config, currentLevels - 1, defaultId]); | ||
210 | + distLen--; | ||
211 | + currentLevels--; | ||
212 | + } | ||
213 | +} | ||
214 | + | ||
194 | // 设置地址 | 215 | // 设置地址 |
195 | function setAddress(evt, config, level, areaId) { | 216 | function setAddress(evt, config, level, areaId) { |
196 | var ajaxSettings = $.extend({}, config.ajaxSettings, { | 217 | var ajaxSettings = $.extend({}, config.ajaxSettings, { |
@@ -405,13 +426,8 @@ CascadingAddress.prototype.getAreaIds = function() { | @@ -405,13 +426,8 @@ CascadingAddress.prototype.getAreaIds = function() { | ||
405 | CascadingAddress.prototype.setAddress = function(targetAddr) { | 426 | CascadingAddress.prototype.setAddress = function(targetAddr) { |
406 | var key, | 427 | var key, |
407 | distIds = ['0'], // 省份请求areaId=0 | 428 | distIds = ['0'], // 省份请求areaId=0 |
408 | - distLen, | ||
409 | - cursor, // 游标 | ||
410 | currentLevels = $('.items-indicator>li').length, // 目前存在几级 | 429 | currentLevels = $('.items-indicator>li').length, // 目前存在几级 |
411 | - areaId, // 请求areaId | ||
412 | - defaultId, // 设置areaId | ||
413 | - config = this.config, | ||
414 | - $el = $(config.el); | 430 | + config = this.config; |
415 | 431 | ||
416 | if (typeof targetAddr === 'object') { | 432 | if (typeof targetAddr === 'object') { |
417 | for (key in targetAddr) { | 433 | for (key in targetAddr) { |
@@ -419,23 +435,12 @@ CascadingAddress.prototype.setAddress = function(targetAddr) { | @@ -419,23 +435,12 @@ CascadingAddress.prototype.setAddress = function(targetAddr) { | ||
419 | distIds.push(targetAddr[key]); | 435 | distIds.push(targetAddr[key]); |
420 | } | 436 | } |
421 | } | 437 | } |
422 | - | ||
423 | - // 标识需要渲染几级 | ||
424 | - distLen = distIds.sort().length; | ||
425 | - cursor = distLen; | ||
426 | - | ||
427 | - // 最后一个level是0 | ||
428 | - while (distLen > 1) { | ||
429 | - // 请求从array[0], 判断值从array[1] | ||
430 | - areaId = distIds[cursor - distLen]; | ||
431 | - defaultId = distIds[cursor - distLen + 1]; | ||
432 | - config.url = setRequestUrl(config, areaId); | ||
433 | - $el.trigger('ca.setAddr', [config, currentLevels - 1, defaultId]); | ||
434 | - distLen--; | ||
435 | - currentLevels--; | ||
436 | - } | 438 | + renderDistrict(distIds, currentLevels, config); |
439 | + } else if (typeof targetAddr === 'string' && targetAddr.length === 6) { | ||
440 | + distIds = [0, targetAddr.substr(0, 2), targetAddr.substr(0, 4), targetAddr.substr(0, 6)]; | ||
441 | + renderDistrict(distIds, currentLevels, config); | ||
437 | } else { | 442 | } else { |
438 | - console.error('target address must be a json object'); | 443 | + console.error('target address must be a json object or areaId string'); |
439 | } | 444 | } |
440 | }; | 445 | }; |
441 | 446 |
public/js/product/index.page.js
0 → 100644
1 | +/** | ||
2 | + * 品牌页 | ||
3 | + * @author: zxr<xiaoru.zhang@yoho.cn> | ||
4 | + * @date: 2016/07/09 | ||
5 | + */ | ||
6 | + | ||
7 | +var $ = require('yoho-jquery'), | ||
8 | + lazyLoad = require('yoho-jquery-lazyload'); | ||
9 | + | ||
10 | +var $list = $('.brands-list'), | ||
11 | + $gory = $('.brands-category'), | ||
12 | + $category = $gory.find('a'), | ||
13 | + categoryHeight = $category.height(), | ||
14 | + categoryTop = $category.offset() ? $category.offset().top : 0; | ||
15 | + | ||
16 | +require('../common/header'); | ||
17 | +require('../common/return-top'); | ||
18 | + | ||
19 | +lazyLoad($('.brands-list img.lazy')); | ||
20 | + | ||
21 | +// 品牌类别滚动事件 | ||
22 | +$(window).scroll(function() { | ||
23 | + if ($(this).scrollTop() >= categoryTop) { | ||
24 | + $gory.addClass('category-fix'); | ||
25 | + } else { | ||
26 | + $gory.removeClass('category-fix'); | ||
27 | + } | ||
28 | +}); | ||
29 | + | ||
30 | + | ||
31 | +// 点击字母,页面滚动到相关区域 | ||
32 | +$category.click(function() { | ||
33 | + var name = $(this).attr('href').split('#')[1], | ||
34 | + targetTop = $list.find('[name=' + name + ']').offset().top - categoryHeight; | ||
35 | + | ||
36 | + $('.category-nav').find('a').css('color', '#222'); | ||
37 | + $(this).css('color', '#379ed6'); | ||
38 | + | ||
39 | + if (!$gory.hasClass('category-fix')) { | ||
40 | + targetTop -= categoryHeight; | ||
41 | + } | ||
42 | + | ||
43 | + $('html,body').animate({ | ||
44 | + scrollTop: targetTop | ||
45 | + }, 200); | ||
46 | + return false; | ||
47 | +}); |
@@ -4,6 +4,7 @@ | @@ -4,6 +4,7 @@ | ||
4 | .brands-tabs { | 4 | .brands-tabs { |
5 | position: relative; | 5 | position: relative; |
6 | margin-bottom: 20px; | 6 | margin-bottom: 20px; |
7 | + overflow: hidden; | ||
7 | 8 | ||
8 | a { | 9 | a { |
9 | display: block; | 10 | display: block; |
@@ -60,8 +61,7 @@ | @@ -60,8 +61,7 @@ | ||
60 | .category-nav { | 61 | .category-nav { |
61 | border-top: 1px solid #eee; | 62 | border-top: 1px solid #eee; |
62 | border-bottom: 1px solid #eee; | 63 | border-bottom: 1px solid #eee; |
63 | - padding-left: 16px; | ||
64 | - width: 100%; | 64 | + width: 1150px; |
65 | height: 44px; | 65 | height: 44px; |
66 | line-height: 44px; | 66 | line-height: 44px; |
67 | font-size: 12px; | 67 | font-size: 12px; |
@@ -72,7 +72,7 @@ | @@ -72,7 +72,7 @@ | ||
72 | 72 | ||
73 | a { | 73 | a { |
74 | display: inline-block; | 74 | display: inline-block; |
75 | - padding: 0 7px; | 75 | + padding-left: 29px; |
76 | text-align: center; | 76 | text-align: center; |
77 | color: #222; | 77 | color: #222; |
78 | cursor: pointer; | 78 | cursor: pointer; |
@@ -80,7 +80,6 @@ | @@ -80,7 +80,6 @@ | ||
80 | } | 80 | } |
81 | 81 | ||
82 | .brands-list { | 82 | .brands-list { |
83 | - | ||
84 | dt { | 83 | dt { |
85 | height: 70px; | 84 | height: 70px; |
86 | line-height: 70px; | 85 | line-height: 70px; |
-
Please register or login to post a comment