Commit c41ff77d35e97e39ae279b956ffc966eede5e888
1 parent
a2408fc3f7
Exists in
master
首页页面搭建
Showing
58 changed files
with
3517 additions
and
154 deletions
Show diff stats
common/data.js
File was created | 1 | // 数据格式,数据中只需要包含以下字段和数据格式,可以添加字段,比如id等等,不影响组件显示, | |
2 | // 组件的返回结果是有菜单数组下标形式返回, | ||
3 | // 如果传入数据中有value,也会返回value,开发者可根据返回的下标获取所选中的菜单 | ||
4 | /* | ||
5 | [ | ||
6 | { | ||
7 | "name":"", //字符串类型 选填项 菜单名称,如不填,则取第一个子菜单的name值,filter和radio类型则将设置为"筛选" | ||
8 | "type":"" //字符串类型 必填项 可取值 hierarchy/filter/radio hierarchy单/多层级菜单(最多三级); filter筛选多选菜单; radio筛选单选菜单 | ||
9 | "submenu":[ //对象数组类型 必填项 子菜单数据 | ||
10 | { | ||
11 | "name":"", //字符串类型 必填项 菜单名称 | ||
12 | "value":"", //字符串类型 选填项 自定义内容,比如id等等,如果填写了,confirm返回的结果中将返回对应选中的value,若菜单无value字段则返回null,filter类型此字段无效果 | ||
13 | "submenu":[ //对象数组类型 必填项 子菜单数据 | ||
14 | { | ||
15 | "name":"", //字符串类型 必填项 菜单名称 | ||
16 | "value":"", //字符串类型 选填项 自定义内容,比如id等等,如果填写了,confirm返回的结果中将返回对应选中的value,若菜单无value字段则返回null | ||
17 | "submenu":[ //对象数组类型 必填项 子菜单数据 filter类型无效 | ||
18 | { | ||
19 | "name":"", //字符串类型 必填项 菜单名称 hierarchy类型层级最多到此 | ||
20 | "value":"", //字符串类型 选填项 自定义内容,比如id等等,如果填写了,confirm返回的结果中将返回对应选中的value,若菜单无value字段则返回null | ||
21 | } | ||
22 | ] | ||
23 | } | ||
24 | ] | ||
25 | } | ||
26 | ] | ||
27 | } | ||
28 | ] | ||
29 | */ | ||
30 | |||
31 | //0.0.4版本起 返回结果将有两部分组成: | ||
32 | /* | ||
33 | { | ||
34 | index:[], //旧版本的下标数组形式 | ||
35 | value:[] //菜单中的valve,结构和下标结果数组一样,只是把下标替换成了value而已 | ||
36 | } | ||
37 | */ | ||
38 | // 以下演示数据中,我故意把value设置成跟name一样,只是为了方便演示,使示例更加易懂,实际使用时候value应该是一个标识,给后台识别所用的. | ||
39 | // 数据较长,请仔细查看。 | ||
40 | export default [ | ||
41 | { | ||
42 | "name":'综合', | ||
43 | "type": 'filter', | ||
44 | "submenu": [{ | ||
45 | "submenu": [ | ||
46 | |||
47 | ] | ||
48 | }, | ||
49 | ], | ||
50 | }, | ||
51 | { | ||
52 | name:'品牌', | ||
53 | "type": 'filter', | ||
54 | "submenu": [{ | ||
55 | "name": '品牌', | ||
56 | "value": "品牌", | ||
57 | "submenu": [{ | ||
58 | "name": "帕森", | ||
59 | "value": "帕森", | ||
60 | }, | ||
61 | { | ||
62 | "name": "海伦凯勒", | ||
63 | "value": "海伦凯勒", | ||
64 | }, | ||
65 | ] | ||
66 | }, | ||
67 | ] | ||
68 | }, | ||
69 | { | ||
70 | "name":'功能', | ||
71 | "type": 'filter', | ||
72 | "submenu": [{ | ||
73 | "name": "智能排序", | ||
74 | "value": "智能排序" | ||
75 | }, | ||
76 | { | ||
77 | "name": "离我最近", | ||
78 | "value": "离我最近" | ||
79 | }, | ||
80 | { | ||
81 | "name": "人均从高到低", | ||
82 | "value": "人均从高到低" | ||
83 | }, | ||
84 | { | ||
85 | "name": "人均从低到高", | ||
86 | "value": "人均从低到高" | ||
87 | } | ||
88 | ] | ||
89 | }, | ||
90 | { | ||
91 | "name":'材质', | ||
92 | "type": 'filter', | ||
93 | "submenu": [{ | ||
94 | "submenu": [{ | ||
95 | "name": "满减活动", | ||
96 | "value": "满减活动" | ||
97 | }, | ||
98 | { | ||
99 | "name": "打折优惠", | ||
100 | "value": "打折优惠" | ||
101 | }, | ||
102 | { | ||
103 | "name": "会员专享", | ||
104 | "value": "会员专享" | ||
105 | } | ||
106 | ] | ||
107 | } | ||
108 | ] | ||
109 | }, | ||
110 | { | ||
111 | "name":'折扣', | ||
112 | "type": 'filter', | ||
113 | "submenu": [{ | ||
114 | "name": "折扣(多选)", | ||
115 | "submenu": [{ | ||
116 | "name": "满减活动", | ||
117 | "value": "满减活动" | ||
118 | }, | ||
119 | { | ||
120 | "name": "打折优惠", | ||
121 | "value": "打折优惠" | ||
122 | }, | ||
123 | { | ||
124 | "name": "会员专享", | ||
125 | "value": "会员专享" | ||
126 | } | ||
127 | ] | ||
128 | } | ||
129 | ] | ||
130 | } | ||
131 | ] | ||
132 | |||
133 |
components/HM-filterDropdown/HM-filterDropdown.vue
File was created | 1 | <template> | |
2 | <view class="HMfilterDropdown" @touchmove.stop.prevent="discard" @tap.stop="discard"> | ||
3 | <view class="nav"> | ||
4 | <block v-for="(item,index) in menu" :key="index"> | ||
5 | <view class="first-menu" :class="{'on':showPage==index}" @tap="togglePage(index)"> | ||
6 | <text class="name">{{item.name}}</text> | ||
7 | <text class="iconfont triangle" :style="'transform:rotate('+triangleDeg[index]+'deg);'"></text> | ||
8 | </view> | ||
9 | </block> | ||
10 | </view> | ||
11 | <view class="mask" :class="{'show':isShowMask,'hide':maskVisibility!=true}" @tap="togglePage(showPage)"></view> | ||
12 | <block v-for="(page,page_index) in subData" :key="page_index"> | ||
13 | <view class="sub-menu-class" :class="{'show':showPage==page_index,'hide':pageState[page_index]!=true}"> | ||
14 | <block v-if="page.type=='hierarchy'&& page.submenu.length>0"> | ||
15 | <scroll-view class="sub-menu-list" :class="[activeMenuArr[page_index].length>1?'first':'alone']" | ||
16 | :scroll-y="true" :scroll-into-view="'first_id'+firstScrollInto"> | ||
17 | <block v-for="(sub,index) in page.submenu" :key="index"> | ||
18 | <view class="sub-menu" :id="'first_id'+index" :class="{'on':activeMenuArr[page_index][0]==index}" @tap="selectHierarchyMenu(page_index,index,null,null)"> | ||
19 | <view class="menu-name"> | ||
20 | <text>{{sub.name}}</text> | ||
21 | <text class="iconfont selected"></text> | ||
22 | </view> | ||
23 | </view> | ||
24 | </block> | ||
25 | </scroll-view> | ||
26 | <block v-for="(sub,index) in page.submenu" :key="index"> | ||
27 | <scroll-view class="sub-menu-list not-first" :scroll-y="true" v-if="activeMenuArr[page_index][0]==index&&sub.submenu.length>0" | ||
28 | :scroll-into-view="'second_id'+secondScrollInto"> | ||
29 | <block v-for="(sub_second,second_index) in sub.submenu" :key="second_index"> | ||
30 | <view class="sub-menu" :id="'second_id'+second_index" :class="{'on':activeMenuArr[page_index][1]==second_index}"> | ||
31 | <view class="menu-name" @tap="selectHierarchyMenu(page_index,activeMenuArr[page_index][0],second_index,null)"> | ||
32 | <text>{{sub_second.name}}</text> | ||
33 | <text class="iconfont selected"></text> | ||
34 | </view> | ||
35 | <view class="more-sub-menu" v-if="sub_second.submenu&&sub.submenu.length>0&&sub_second.submenu.length>0"> | ||
36 | <block v-for="(sub2,sub2_index) in sub_second.submenu" :key="sub2_index"> | ||
37 | <text v-if="sub_second.showAllSub || (sub2_index<8)" :class="{'on':activeMenuArr[page_index][1]==second_index&&activeMenuArr[page_index][2]==sub2_index}" | ||
38 | @tap="selectHierarchyMenu(page_index,activeMenuArr[page_index][0],second_index,sub2_index)">{{sub2.name}}</text> | ||
39 | <text v-if="sub_second.showAllSub!=true && sub2_index==8 && sub_second.submenu.length>9" @tap="showMoreSub(second_index)">更多<text | ||
40 | class="iconfont triangle"></text></text> | ||
41 | </block> | ||
42 | </view> | ||
43 | </view> | ||
44 | </block> | ||
45 | </scroll-view> | ||
46 | </block> | ||
47 | </block> | ||
48 | <block v-if="page.type=='filter'"> | ||
49 | <view class="filter"> | ||
50 | <scroll-view class="menu-box" :scroll-y="true"> | ||
51 | <view class="box" v-for="(box,box_index) in page.submenu" :key="box_index"> | ||
52 | <view class="title">{{box.name}}</view> | ||
53 | <view class="labels"> | ||
54 | <view v-for="(label,label_index) in box.submenu" :key="label_index" @tap="selectFilterLabel(page_index,box_index,label_index)" | ||
55 | :class="{'on':label.selected}">{{label.name}}</view> | ||
56 | </view> | ||
57 | </view> | ||
58 | </scroll-view> | ||
59 | <view class="btn-box"> | ||
60 | <view class="reset" @tap="resetFilterData(page_index)">重置</view> | ||
61 | <view class="submit" @tap="setFilterData(page_index)">确定</view> | ||
62 | </view> | ||
63 | </view> | ||
64 | </block> | ||
65 | <block v-if="page.type=='radio'"> | ||
66 | <view class="filter"> | ||
67 | <scroll-view class="menu-box" :scroll-y="true"> | ||
68 | <view class="box" v-for="(box,box_index) in page.submenu" :key="box_index"> | ||
69 | <view class="title">{{box.name}}</view> | ||
70 | <view class="labels"> | ||
71 | <view v-for="(label,label_index) in box.submenu" :key="label_index" @tap="selectRadioLabel(page_index,box_index,label_index)" | ||
72 | :class="{'on':label.selected}">{{label.name}}</view> | ||
73 | </view> | ||
74 | </view> | ||
75 | </scroll-view> | ||
76 | <view class="btn-box"> | ||
77 | <view class="reset" @tap="resetFilterData(page_index)">重置</view> | ||
78 | <view class="submit" @tap="setFilterData(page_index)">确定</view> | ||
79 | </view> | ||
80 | </view> | ||
81 | </block> | ||
82 | </view> | ||
83 | </block> | ||
84 | </view> | ||
85 | </template> | ||
86 | <script> | ||
87 | export default { | ||
88 | data() { | ||
89 | return { | ||
90 | subData: [], //菜单数据 | ||
91 | menu: [], //顶部横条数据 | ||
92 | showPage: -1, //菜单页面显示/隐藏动画控制 | ||
93 | pageState: [], //页面的状态 | ||
94 | activeMenuArr: [], //UI状态 | ||
95 | shadowActiveMenuArr: [], //记录选中 | ||
96 | defaultActive:[], | ||
97 | triangleDeg: [], //小三角形的翻转动画控制 | ||
98 | isShowMask: false, //遮罩层显示/隐藏动画控制 | ||
99 | maskVisibility: false, //遮罩层显示/隐藏状态 | ||
100 | //滚动区域定位 | ||
101 | firstScrollInto: 0, | ||
102 | secondScrollInto: 0, | ||
103 | componentTop:0 ,//组件top | ||
104 | isReadNewSelect:false | ||
105 | } | ||
106 | }, | ||
107 | props: { | ||
108 | filterData: { | ||
109 | value: Array, | ||
110 | default: [] | ||
111 | }, | ||
112 | defaultSelected:{ | ||
113 | value: Array, | ||
114 | default: [] | ||
115 | }, | ||
116 | updateMenuName:{ | ||
117 | value: Boolean, | ||
118 | default: true | ||
119 | }, | ||
120 | dataFormat:{ | ||
121 | value: String, | ||
122 | default: 'Array' | ||
123 | } | ||
124 | }, | ||
125 | watch: { | ||
126 | filterData: { | ||
127 | handler() { | ||
128 | this.initMenu(); //filterData重新赋值初始化菜单 | ||
129 | }, | ||
130 | immediate: true | ||
131 | }, | ||
132 | defaultSelected(newVal) { | ||
133 | if(newVal.length==0){ | ||
134 | return; | ||
135 | } | ||
136 | this.defaultActive = JSON.parse(JSON.stringify(newVal)); | ||
137 | this.activeMenuArr = JSON.parse(JSON.stringify(newVal)); | ||
138 | this.shadowActiveMenuArr = JSON.parse(JSON.stringify(newVal)); | ||
139 | if(this.updateMenuName){ | ||
140 | this.setMenuName(); | ||
141 | } | ||
142 | } | ||
143 | }, | ||
144 | methods: { | ||
145 | initMenu() { | ||
146 | let tmpMenuActiveArr=[]; | ||
147 | let tmpMenu=[]; | ||
148 | for (let i = 0; i < this.filterData.length; i++) { | ||
149 | let tmpitem = this.filterData[i]; | ||
150 | tmpMenu.push({ | ||
151 | //如果没有设置name,则取第一个菜单作为menu.name,filter类型则将"筛选"作为menu.name | ||
152 | name: tmpitem.name || (tmpitem.type == "filter" ? "筛选" : tmpitem.submenu[0].name), | ||
153 | type: tmpitem.type | ||
154 | }); | ||
155 | //初始化选中项数组-ui状态 | ||
156 | tmpMenuActiveArr.push(this.processActive(tmpitem)); | ||
157 | //初始化角度数组 | ||
158 | this.triangleDeg.push(0); | ||
159 | //初始化控制显示状态数组 | ||
160 | this.pageState.push(false); | ||
161 | //递归处理子菜单数据 | ||
162 | tmpitem = this.processSubMenu(tmpitem); | ||
163 | this.filterData[i] = tmpitem; | ||
164 | } | ||
165 | this.menu = tmpMenu; | ||
166 | //初始化选中项数组 | ||
167 | tmpMenuActiveArr = this.defaultActive.length>0?this.defaultActive:this.activeMenuArr.length>0?this.activeMenuArr:tmpMenuActiveArr; | ||
168 | this.defaultActive = []; | ||
169 | this.activeMenuArr = JSON.parse(JSON.stringify(tmpMenuActiveArr)); | ||
170 | this.shadowActiveMenuArr = JSON.parse(JSON.stringify(tmpMenuActiveArr)); | ||
171 | //加载菜单数据 | ||
172 | this.subData = this.filterData; | ||
173 | //设定顶部菜单名字 | ||
174 | if(this.updateMenuName){ | ||
175 | this.setMenuName(); | ||
176 | } | ||
177 | }, | ||
178 | setMenuName(){ | ||
179 | for(var i=0;i<this.activeMenuArr.length;i++){ | ||
180 | let row = this.activeMenuArr[i]; | ||
181 | if (typeof(row[0]) != 'object'){ | ||
182 | var tmpsub = false; | ||
183 | if(row.length>0 && row[0]!=null){ | ||
184 | tmpsub = this.subData[i].submenu[row[0]]; | ||
185 | if(row.length>1 && row[1]!=null){ | ||
186 | tmpsub = tmpsub.submenu[row[1]]; | ||
187 | if(row.length>2 && row[2]!=null){ | ||
188 | tmpsub = tmpsub.submenu[row[2]]; | ||
189 | } | ||
190 | } | ||
191 | }else{ | ||
192 | tmpsub = false; | ||
193 | } | ||
194 | if(tmpsub){ | ||
195 | this.menu[i].name = tmpsub.name; | ||
196 | } | ||
197 | } | ||
198 | } | ||
199 | }, | ||
200 | //展开更多 | ||
201 | showMoreSub(index) { | ||
202 | this.subData[this.showPage].submenu[this.activeMenuArr[this.showPage][0]].submenu[index].showAllSub = true; | ||
203 | this.$forceUpdate(); | ||
204 | }, | ||
205 | //选中 | ||
206 | selectHierarchyMenu(page_index, level1_index, level2_index, level3_index) { | ||
207 | //读取记录 | ||
208 | if (level1_index != null && level2_index == null && level3_index == null && this.shadowActiveMenuArr[page_index][0] == | ||
209 | level1_index) { | ||
210 | this.activeMenuArr.splice(page_index, 1, JSON.parse(JSON.stringify(this.shadowActiveMenuArr[page_index]))); | ||
211 | } else { | ||
212 | this.activeMenuArr[page_index].splice(0, 1, level1_index); | ||
213 | (level2_index!=null||this.activeMenuArr[page_index].length>=2)&&this.activeMenuArr[page_index].splice(1, 1, level2_index) || this.activeMenuArr[page_index].splice(1, 1); | ||
214 | (level3_index!=null||this.activeMenuArr[page_index].length>=3)&&this.activeMenuArr[page_index].splice(2, 1, level3_index) || this.activeMenuArr[page_index].splice(2, 1); | ||
215 | } | ||
216 | //写入结果 | ||
217 | if (level3_index != null || level2_index != null || (level1_index != null && this.subData[page_index].submenu[level1_index].submenu.length == 0) | ||
218 | ) { | ||
219 | let sub = this.subData[page_index].submenu[level1_index].submenu[level2_index]; | ||
220 | if(this.updateMenuName){ | ||
221 | this.menu[page_index].name = (level3_index != null && sub.submenu[level3_index].name) || (level2_index != null && sub.name) || this.subData[page_index].submenu[level1_index].name; | ||
222 | } | ||
223 | this.shadowActiveMenuArr[page_index] = JSON.parse(JSON.stringify(this.activeMenuArr[page_index])); | ||
224 | this.togglePage(this.showPage); | ||
225 | } | ||
226 | }, | ||
227 | //写入结果,筛选 | ||
228 | setFilterData(page_index) { | ||
229 | this.shadowActiveMenuArr[page_index] = JSON.parse(JSON.stringify(this.activeMenuArr[page_index])); | ||
230 | this.togglePage(this.showPage); | ||
231 | }, | ||
232 | //重置结果和ui,筛选 | ||
233 | resetFilterData(page_index) { | ||
234 | let tmpArr = []; | ||
235 | let level = this.shadowActiveMenuArr[page_index].length; | ||
236 | while (level > 0) { | ||
237 | tmpArr.push([]); | ||
238 | let box = this.subData[page_index].submenu[level - 1].submenu; | ||
239 | for (let i = 0; i < box.length; i++) { | ||
240 | this.subData[page_index].submenu[level - 1].submenu[i].selected = false; | ||
241 | } | ||
242 | level--; | ||
243 | } | ||
244 | this.activeMenuArr[page_index] = JSON.parse(JSON.stringify(tmpArr)); | ||
245 | this.$forceUpdate(); | ||
246 | }, | ||
247 | //选中筛选类label-UI状态 | ||
248 | selectFilterLabel(page_index, box_index, label_index) { | ||
249 | let find_index = this.activeMenuArr[page_index][box_index].indexOf(label_index); | ||
250 | if (find_index > -1) { | ||
251 | this.activeMenuArr[page_index][box_index].splice(find_index, 1); | ||
252 | this.subData[page_index].submenu[box_index].submenu[label_index].selected = false; | ||
253 | } else { | ||
254 | this.activeMenuArr[page_index][box_index].push(label_index); | ||
255 | this.subData[page_index].submenu[box_index].submenu[label_index].selected = true; | ||
256 | } | ||
257 | this.$forceUpdate(); | ||
258 | }, | ||
259 | //选中单选类label-UI状态 | ||
260 | selectRadioLabel(page_index, box_index, label_index) { | ||
261 | |||
262 | let activeIndex = this.activeMenuArr[page_index][box_index][0]; | ||
263 | if(activeIndex == label_index){ | ||
264 | this.subData[page_index].submenu[box_index].submenu[activeIndex].selected = false; | ||
265 | this.activeMenuArr[page_index][box_index][0] = null; | ||
266 | }else{ | ||
267 | if(activeIndex!=null && activeIndex<this.subData[page_index].submenu[box_index].submenu.length){ | ||
268 | this.subData[page_index].submenu[box_index].submenu[activeIndex].selected = false; | ||
269 | } | ||
270 | |||
271 | this.subData[page_index].submenu[box_index].submenu[label_index].selected = true; | ||
272 | this.activeMenuArr[page_index][box_index][0] = label_index; | ||
273 | } | ||
274 | this.$forceUpdate(); | ||
275 | }, | ||
276 | //菜单开关 | ||
277 | togglePage(index) { | ||
278 | if (index == this.showPage) { | ||
279 | this.hidePageLayer(true); | ||
280 | this.hideMask(); | ||
281 | this.showPage = -1; | ||
282 | } else { | ||
283 | if (this.showPage > -1) { | ||
284 | this.hidePageLayer(false); | ||
285 | } | ||
286 | this.showPageLayer(index); | ||
287 | this.showMask(); | ||
288 | } | ||
289 | }, | ||
290 | //hide遮罩层 | ||
291 | hideMask() { | ||
292 | this.isShowMask = false; | ||
293 | setTimeout(() => { | ||
294 | this.maskVisibility = false; | ||
295 | }, 200); | ||
296 | }, | ||
297 | //show遮罩层 | ||
298 | showMask() { | ||
299 | this.maskVisibility = true; | ||
300 | this.$nextTick(() => { | ||
301 | setTimeout(() => { | ||
302 | this.isShowMask = true; | ||
303 | }, 0); | ||
304 | }) | ||
305 | }, | ||
306 | //hide菜单页 | ||
307 | hidePageLayer(isAnimation) { | ||
308 | this.triangleDeg[this.showPage] = 0; | ||
309 | let tmpIndex = this.showPage; | ||
310 | if (isAnimation) { | ||
311 | setTimeout(() => { | ||
312 | this.pageState.splice(tmpIndex, 1, false); | ||
313 | }, 200); | ||
314 | this.confirm(); | ||
315 | } else { | ||
316 | this.pageState.splice(tmpIndex, 1, false) | ||
317 | } | ||
318 | this.firstScrollInto = null; | ||
319 | this.secondScrollInto = null; | ||
320 | }, | ||
321 | confirm() { | ||
322 | let index = JSON.parse(JSON.stringify(this.shadowActiveMenuArr)); | ||
323 | let value = JSON.parse(JSON.stringify(this.shadowActiveMenuArr)); | ||
324 | |||
325 | //对结果做一下处理 | ||
326 | index.forEach((item, i) => { | ||
327 | if (typeof(item[0]) == 'object') { | ||
328 | //针对筛选结果过一个排序 | ||
329 | item.forEach((s, j) => { | ||
330 | if(s!=null){ | ||
331 | s.sort((val1, val2) => { | ||
332 | return val1 - val2; | ||
333 | }); | ||
334 | item[j] = s; | ||
335 | s.forEach((v, k) => { | ||
336 | value[i][j][k] = (v==null||v>=this.subData[i].submenu[j].submenu.length)?null:this.subData[i].submenu[j].submenu[v].value; | ||
337 | if(this.subData[i].type == 'radio' && value[i][j][k] == null){ | ||
338 | value[i][j] = []; | ||
339 | index[i][j] = []; | ||
340 | } | ||
341 | }); | ||
342 | } | ||
343 | }); | ||
344 | }else{ | ||
345 | let submenu = this.subData[i].submenu[item[0]]; | ||
346 | value[i][0] = submenu.value; | ||
347 | if(value[i].length>=2 && item[1]!=null){ | ||
348 | if(submenu.submenu.length>0){ | ||
349 | submenu = submenu.submenu[item[1]]; | ||
350 | value[i][1] = submenu.hasOwnProperty('value')?submenu.value:null; | ||
351 | }else{ | ||
352 | value[i][1] = null | ||
353 | } | ||
354 | if(value[i].length>=3 && item[2]!=null){ | ||
355 | if(submenu.submenu.length>0){ | ||
356 | submenu = submenu.submenu[item[2]]; | ||
357 | value[i][2] = submenu.hasOwnProperty('value')?submenu.value:null; | ||
358 | }else{ | ||
359 | value[i][2] = null; | ||
360 | } | ||
361 | } | ||
362 | } | ||
363 | } | ||
364 | index[i] = item; | ||
365 | |||
366 | }); | ||
367 | // 输出 | ||
368 | this.$emit('confirm', { | ||
369 | index: index, | ||
370 | value: value | ||
371 | }); | ||
372 | }, | ||
373 | //show菜单页 | ||
374 | showPageLayer(index) { | ||
375 | this.processPage(index); | ||
376 | this.pageState.splice(index, 1, true); | ||
377 | this.$nextTick(() => { | ||
378 | setTimeout(() => { | ||
379 | this.showPage = index; | ||
380 | }, 0); | ||
381 | }) | ||
382 | this.triangleDeg[index] = 180; | ||
383 | }, | ||
384 | reloadActiveMenuArr(){ | ||
385 | for (let i = 0; i < this.filterData.length; i++) { | ||
386 | let tmpitem = this.filterData[i]; | ||
387 | let tmpArr = this.processActive(tmpitem); | ||
388 | tmpitem = this.processSubMenu(tmpitem); | ||
389 | if(this.activeMenuArr[i].length!=tmpArr.length){ | ||
390 | this.filterData[i] = tmpitem; | ||
391 | this.activeMenuArr.splice(i, 1, JSON.parse(JSON.stringify(tmpArr))); | ||
392 | this.shadowActiveMenuArr.splice(i, 1, JSON.parse(JSON.stringify(tmpArr))); | ||
393 | } | ||
394 | } | ||
395 | this.subData = this.filterData; | ||
396 | this.$forceUpdate(); | ||
397 | }, | ||
398 | processPage(index) { | ||
399 | //check UI控制数组,结果数组,防止传入数据层级和UI控制数组不同步 | ||
400 | this.reloadActiveMenuArr(); | ||
401 | //重置UI控制数组 | ||
402 | this.activeMenuArr.splice(index, 1, JSON.parse(JSON.stringify(this.shadowActiveMenuArr[index]))); | ||
403 | if (this.menu[index].type == 'filter') { | ||
404 | //重载筛选页选中状态 | ||
405 | let level = this.shadowActiveMenuArr[index].length; | ||
406 | for (let i = 0; i < level; i++) { | ||
407 | let box = this.subData[index].submenu[i].submenu; | ||
408 | for (let j = 0; j < box.length; j++) { | ||
409 | if (this.shadowActiveMenuArr[index][i].indexOf(j) > -1) { | ||
410 | this.subData[index].submenu[i].submenu[j].selected = true; | ||
411 | } else { | ||
412 | this.subData[index].submenu[i].submenu[j].selected = false; | ||
413 | } | ||
414 | } | ||
415 | } | ||
416 | } else if (this.menu[index].type == 'hierarchy') { | ||
417 | this.$nextTick(() => { | ||
418 | setTimeout(() => { | ||
419 | //滚动到选中项 | ||
420 | this.firstScrollInto = parseInt(this.activeMenuArr[index][0]); | ||
421 | this.secondScrollInto = parseInt(this.activeMenuArr[index][1]); | ||
422 | }, 0); | ||
423 | }) | ||
424 | } else if (this.menu[index].type == 'radio') { | ||
425 | //重载筛选页选中状态 | ||
426 | let level = this.shadowActiveMenuArr[index].length; | ||
427 | for (let i = 0; i < level; i++) { | ||
428 | let box = this.subData[index].submenu[i].submenu; | ||
429 | for (let j = 0; j < box.length; j++) { | ||
430 | if (this.shadowActiveMenuArr[index][i].indexOf(j) > -1) { | ||
431 | this.subData[index].submenu[i].submenu[j].selected = true; | ||
432 | } else { | ||
433 | this.subData[index].submenu[i].submenu[j].selected = false; | ||
434 | } | ||
435 | } | ||
436 | } | ||
437 | } | ||
438 | }, | ||
439 | processActive(tmpitem) { | ||
440 | let tmpArr = [] | ||
441 | if (tmpitem.type == 'hierarchy'&&tmpitem.hasOwnProperty('submenu')&&tmpitem.submenu.length>0) { | ||
442 | let level = this.getMaxFloor(tmpitem.submenu); | ||
443 | while (level > 0) { | ||
444 | tmpArr.push(0); | ||
445 | level--; | ||
446 | } | ||
447 | } else if (tmpitem.type == 'filter') { | ||
448 | let level = tmpitem.submenu.length; | ||
449 | while (level > 0) { | ||
450 | tmpArr.push([]); | ||
451 | level--; | ||
452 | } | ||
453 | } else if (tmpitem.type == 'radio') { | ||
454 | let level = tmpitem.submenu.length; | ||
455 | while (level > 0) { | ||
456 | tmpArr.push([]); | ||
457 | level--; | ||
458 | } | ||
459 | } | ||
460 | return tmpArr; | ||
461 | }, | ||
462 | processSubMenu(menu) { | ||
463 | if (menu.hasOwnProperty('submenu') && menu.submenu.length > 0) { | ||
464 | for (let i = 0; i < menu.submenu.length; i++) { | ||
465 | menu.submenu[i] = this.processSubMenu(menu.submenu[i]); | ||
466 | } | ||
467 | } else { | ||
468 | menu.submenu = []; | ||
469 | } | ||
470 | return menu; | ||
471 | }, | ||
472 | //计算菜单层级 | ||
473 | getMaxFloor(treeData) { | ||
474 | let floor = 0 | ||
475 | let max = 0 | ||
476 | function each(data, floor) { | ||
477 | data.forEach(e => { | ||
478 | max = floor > max ? floor : max; | ||
479 | if (e.hasOwnProperty('submenu') && e.submenu.length > 0) { | ||
480 | each(e.submenu, floor + 1) | ||
481 | } | ||
482 | }) | ||
483 | } | ||
484 | each(treeData, 1) | ||
485 | return max; | ||
486 | }, | ||
487 | discard() { | ||
488 | |||
489 | } | ||
490 | } | ||
491 | } | ||
492 | </script> | ||
493 | <style lang="scss"> | ||
494 | .HMfilterDropdown { | ||
495 | flex-shrink: 0; | ||
496 | width: 100%; | ||
497 | height: 44px; | ||
498 | position: fixed; | ||
499 | z-index: 997; | ||
500 | flex-wrap: nowrap; | ||
501 | display: flex; | ||
502 | flex-direction: row; | ||
503 | top: var(--window-top); | ||
504 | left:0; | ||
505 | view { | ||
506 | display: flex; | ||
507 | flex-wrap: nowrap; | ||
508 | } | ||
509 | } | ||
510 | .region { | ||
511 | flex: 1; | ||
512 | height: 44px; | ||
513 | } | ||
514 | .nav { | ||
515 | width: 100%; | ||
516 | height: 44px; | ||
517 | border-bottom: solid 1rpx #eee; | ||
518 | z-index: 12; | ||
519 | background-color: #ffffff; | ||
520 | flex-direction: row; | ||
521 | .first-menu { | ||
522 | width: 100%; | ||
523 | font-size: 13px; | ||
524 | color: #757575; | ||
525 | flex-direction: row; | ||
526 | align-items: center; | ||
527 | justify-content: center; | ||
528 | transition: color .2s linear; | ||
529 | |||
530 | &.on { | ||
531 | color: #ec652b; | ||
532 | |||
533 | .iconfont { | ||
534 | color: #ec652b; | ||
535 | } | ||
536 | } | ||
537 | .name { | ||
538 | height: 20px; | ||
539 | text-align: center; | ||
540 | text-overflow: clip; | ||
541 | overflow: hidden; | ||
542 | } | ||
543 | .iconfont { | ||
544 | width: 13px; | ||
545 | height: 13px; | ||
546 | align-items: center; | ||
547 | justify-content: center; | ||
548 | transition: transform .2s linear, color .2s linear; | ||
549 | } | ||
550 | } | ||
551 | } | ||
552 | .sub-menu-class { | ||
553 | width: 100%; | ||
554 | position: absolute; | ||
555 | left: 0; | ||
556 | transform: translate3d(0, - 100%, 0); | ||
557 | max-height: 345px; | ||
558 | background-color: #ffffff; | ||
559 | z-index: 11; | ||
560 | box-shadow: 0 5px 5px rgba(0, 0, 0, .1); | ||
561 | overflow: hidden; | ||
562 | flex-direction: row; | ||
563 | transition: transform .15s linear; | ||
564 | &.hide { | ||
565 | display: none; | ||
566 | } | ||
567 | |||
568 | &.show { | ||
569 | transform: translate3d(0, calc(44px + 1rpx), 0); | ||
570 | } | ||
571 | } | ||
572 | .sub-menu-list { | ||
573 | width: 100%; | ||
574 | height: 345px; | ||
575 | flex-direction: column; | ||
576 | .sub-menu { | ||
577 | min-height: 44px; | ||
578 | font-size: 13px; | ||
579 | flex-direction: column; | ||
580 | padding-right: 15px; | ||
581 | >.menu-name { | ||
582 | height: 44px; | ||
583 | flex-direction: row; | ||
584 | align-items: center; | ||
585 | justify-content: space-between; | ||
586 | >.iconfont { | ||
587 | display: none; | ||
588 | font-size: 18px; | ||
589 | color: #ec652b; | ||
590 | } | ||
591 | } | ||
592 | } | ||
593 | &.first { | ||
594 | flex-shrink: 0; | ||
595 | width: 236rpx; | ||
596 | background-color: #f0f0f0; | ||
597 | .sub-menu { | ||
598 | padding-left: 15px; | ||
599 | |||
600 | &.on { | ||
601 | background-color: #fff; | ||
602 | } | ||
603 | } | ||
604 | } | ||
605 | &.alone { | ||
606 | max-height: 345px; | ||
607 | min-height: 170px; | ||
608 | height: auto; | ||
609 | .sub-menu { | ||
610 | min-height: calc(44px - 1rpx); | ||
611 | margin-left: 15px; | ||
612 | border-bottom: solid 1rpx #e5e5e5; | ||
613 | |||
614 | &.on { | ||
615 | color: #ec652b; | ||
616 | |||
617 | >.menu-name { | ||
618 | >.iconfont { | ||
619 | display: block; | ||
620 | } | ||
621 | } | ||
622 | } | ||
623 | } | ||
624 | } | ||
625 | &.not-first { | ||
626 | .sub-menu { | ||
627 | min-height: calc(44px - 1rpx); | ||
628 | margin-left: 15px; | ||
629 | border-bottom: solid 1rpx #e5e5e5; | ||
630 | >.menu-name { | ||
631 | height: calc(44px - 1rpx); | ||
632 | >.iconfont { | ||
633 | display: none; | ||
634 | font-size: 18px; | ||
635 | color: #ec652b; | ||
636 | } | ||
637 | } | ||
638 | &.on { | ||
639 | color: #ec652b; | ||
640 | >.menu-name { | ||
641 | >.iconfont { | ||
642 | display: block; | ||
643 | } | ||
644 | } | ||
645 | } | ||
646 | .more-sub-menu { | ||
647 | flex-direction: row; | ||
648 | flex-wrap: wrap; | ||
649 | padding-bottom: 9px; | ||
650 | >text { | ||
651 | height: 30px; | ||
652 | border-radius: 3px; | ||
653 | background-color: #f5f5f5; | ||
654 | color: #9b9b9b; | ||
655 | margin-bottom: 6px; | ||
656 | margin-right: 6px; | ||
657 | text-align: center; | ||
658 | line-height: 30px; | ||
659 | border: solid #f5f5f5 1rpx; | ||
660 | flex: 0 0 calc(33.33% - 6px); | ||
661 | overflow: hidden; | ||
662 | font-size: 12px; | ||
663 | &:nth-child(3n) { | ||
664 | margin-right: 0; | ||
665 | } | ||
666 | &.on { | ||
667 | border-color: #f6c8ac; | ||
668 | color: #ec652b; | ||
669 | } | ||
670 | .iconfont { | ||
671 | color: #9b9b9b; | ||
672 | } | ||
673 | } | ||
674 | } | ||
675 | } | ||
676 | } | ||
677 | } | ||
678 | .filter { | ||
679 | width: 100%; | ||
680 | height: 345px; | ||
681 | display: flex; | ||
682 | flex-direction: column; | ||
683 | justify-content: space-between; | ||
684 | align-items: center; | ||
685 | .menu-box { | ||
686 | width: 698rpx; | ||
687 | height: calc(345px - 75px); | ||
688 | flex-shrink: 1; | ||
689 | .box { | ||
690 | width: 100%; | ||
691 | margin-top: 16px; | ||
692 | flex-direction: column; | ||
693 | .title { | ||
694 | width: 100%; | ||
695 | font-size: 13px; | ||
696 | color: #888; | ||
697 | } | ||
698 | .labels { | ||
699 | flex-direction: row; | ||
700 | flex-wrap: wrap; | ||
701 | .on { | ||
702 | border-color: #ec652b; | ||
703 | background-color: #ec652b; | ||
704 | color: #fff; | ||
705 | } | ||
706 | >view { | ||
707 | width: 148rpx; | ||
708 | height: 30px; | ||
709 | border: solid 1rpx #adadad; | ||
710 | border-radius: 2px; | ||
711 | margin-right: 15px; | ||
712 | margin-top: 8px; | ||
713 | font-size: 12px; | ||
714 | flex-direction: row; | ||
715 | justify-content: center; | ||
716 | align-items: center; | ||
717 | &:nth-child(4n) { | ||
718 | margin-right: 0; | ||
719 | } | ||
720 | } | ||
721 | } | ||
722 | } | ||
723 | } | ||
724 | .btn-box { | ||
725 | flex-shrink: 0; | ||
726 | width: 698rpx; | ||
727 | height: 75px; | ||
728 | flex-direction: row !important; | ||
729 | align-items: center; | ||
730 | justify-content: space-between; | ||
731 | >view { | ||
732 | width: 320rpx; | ||
733 | height: 40px; | ||
734 | border-radius: 40px; | ||
735 | border: solid 1rpx #ec652b; | ||
736 | align-items: center; | ||
737 | justify-content: center; | ||
738 | } | ||
739 | .reset { | ||
740 | color: #ec652b; | ||
741 | } | ||
742 | .submit { | ||
743 | color: #fff; | ||
744 | background-color: #ec652b; | ||
745 | } | ||
746 | } | ||
747 | } | ||
748 | .mask { | ||
749 | z-index: 10; | ||
750 | position: fixed; | ||
751 | top: 0; | ||
752 | left: 0; | ||
753 | right: 0; | ||
754 | bottom: 0; | ||
755 | background-color: rgba(0, 0, 0, 0); | ||
756 | transition: background-color .15s linear; | ||
757 | &.show { | ||
758 | background-color: rgba(0, 0, 0, 0.5); | ||
759 | } | ||
760 | &.hide { | ||
761 | display: none; | ||
762 | } | ||
763 | } | ||
764 | /* 字体图标 */ | ||
765 | @font-face { | ||
766 | font-family: "HM-FD-font"; | ||
767 | src: url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAALAAAsAAAAABpQAAAJzAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgp4gQIBNgIkAwwLCAAEIAWEbQc5G8sFERWMIbIfCbbzqA4hp7InSBibVsYGb4J42o82b3e/nJlHMw/NHbGOlwKJRCRpwzPtpAECCOZubdqxjYpQLMlVg+70/08edrgQOtx2ukpVyApZn+dyehPoQObHo3O85rYx9vOjXoBxQIHugW2yIkqIW2QXcScu4jwE8CSWbKSmrqUHFwOaJoCsLM5P4haSGIxRcRHshrUGucLCVcfqI3AZfV/+USguKCwNmtsxVztDxU/n55C+3W0Z4QQpEOTNFqCBbMCAjDUWB9CIwWk87aa70cYgqLkyd3dEmm+18R8eKATEBrV7A5CulBT8dKiWOYZk412XNcDdKSEKSGODnyKIDl+dmVt9/Dx4pu/xyeutkMlHISGPTsPCnoTNP9nOT6wTtDdlO6dPr47efvj942lkYuQzrhMKEjq9N6y98P3340gmlJ/RStUD6F31CAEEPtUW94/7rf+7XgaAz57X0ZHXAGsFFwVgw38yALuMb0IBbVyNamFYEw4oKMDTj3AHRQP5Pt4dci9VwSVkRNQh5r7CLskZadhsWHhRDBsXczk8ZYk3ewnCxmQeQKa3BOHvA8XXO2j+vqRhf7CE+sPmn4anvoL29JLa4qqaUQkmoK+QG2osCckq7txi2leK86aIPyJ3eQZ8xytXYmyQ51jQndJAxIJlqiGSLsOqImiZCjTiZCJt6Lq26U2OoXqwUo0hRaAE0K5AziANy/uLVeXzWyjVqyjcoeupjxDr5MMDn8MDkLG9Aenu5ZrOSSoghAUsRmogkkahSoWAtnlUARnCkY3It0Iu7mWhdmd9Z/19BwBP6GidEi0G56opckXTGZVSPxgAAAA='); | ||
768 | } | ||
769 | .iconfont { | ||
770 | font-family: "HM-FD-font" !important; | ||
771 | font-size: 13px; | ||
772 | font-style: normal; | ||
773 | color: #757575; | ||
774 | &.triangle { | ||
775 | &:before { | ||
776 | content: "\e65a"; | ||
777 | } | ||
778 | } | ||
779 | &.selected { | ||
780 | &:before { | ||
781 | content: "\e607"; | ||
782 | } | ||
783 | } | ||
784 | } | ||
785 | </style> | ||
786 |
components/card.vue
File was created | 1 | <template> | |
2 | <view> | ||
3 | |||
4 | </view> | ||
5 | </template> | ||
6 | |||
7 | <script> | ||
8 | export default { | ||
9 | data() { | ||
10 | return { | ||
11 | |||
12 | }; | ||
13 | } | ||
14 | } | ||
15 | </script> | ||
16 | |||
17 | <style lang="scss"> | ||
18 | |||
19 | </style> | ||
20 |
components/uni-drawer/uni-drawer.vue
File was created | 1 | <template> | |
2 | <view v-if="visibleSync" :class="{ 'uni-drawer--visible': showDrawer }" class="uni-drawer" @touchmove.stop.prevent="clear"> | ||
3 | <view class="uni-drawer__mask" :class="{ 'uni-drawer__mask--visible': showDrawer && mask }" @tap="close('mask')" /> | ||
4 | <view class="uni-drawer__content" :class="{'uni-drawer--right': rightMode,'uni-drawer--left': !rightMode, 'uni-drawer__content--visible': showDrawer}" :style="{width:drawerWidth+'px'}"> | ||
5 | <slot /> | ||
6 | </view> | ||
7 | </view> | ||
8 | </template> | ||
9 | |||
10 | <script> | ||
11 | /** | ||
12 | * Drawer 抽屉 | ||
13 | * @description 抽屉侧滑菜单 | ||
14 | * @tutorial https://ext.dcloud.net.cn/plugin?id=26 | ||
15 | * @property {Boolean} mask = [true | false] 是否显示遮罩 | ||
16 | * @property {Boolean} maskClick = [true | false] 点击遮罩是否关闭 | ||
17 | * @property {Boolean} mode = [left | right] Drawer 滑出位置 | ||
18 | * @value left 从左侧滑出 | ||
19 | * @value right 从右侧侧滑出 | ||
20 | * @property {Number} width 抽屉的宽度 ,仅 vue 页面生效 | ||
21 | * @event {Function} close 组件关闭时触发事件 | ||
22 | */ | ||
23 | export default { | ||
24 | name: 'UniDrawer', | ||
25 | props: { | ||
26 | /** | ||
27 | * 显示模式(左、右),只在初始化生效 | ||
28 | */ | ||
29 | mode: { | ||
30 | type: String, | ||
31 | default: '' | ||
32 | }, | ||
33 | /** | ||
34 | * 蒙层显示状态 | ||
35 | */ | ||
36 | mask: { | ||
37 | type: Boolean, | ||
38 | default: true | ||
39 | }, | ||
40 | /** | ||
41 | * 遮罩是否可点击关闭 | ||
42 | */ | ||
43 | maskClick:{ | ||
44 | type: Boolean, | ||
45 | default: true | ||
46 | }, | ||
47 | /** | ||
48 | * 抽屉宽度 | ||
49 | */ | ||
50 | width: { | ||
51 | type: Number, | ||
52 | default: 220 | ||
53 | } | ||
54 | }, | ||
55 | data() { | ||
56 | return { | ||
57 | visibleSync: false, | ||
58 | showDrawer: false, | ||
59 | rightMode: false, | ||
60 | watchTimer: null, | ||
61 | drawerWidth: 220 | ||
62 | } | ||
63 | }, | ||
64 | created() { | ||
65 | // #ifndef APP-NVUE | ||
66 | this.drawerWidth = this.width | ||
67 | // #endif | ||
68 | this.rightMode = this.mode === 'right' | ||
69 | }, | ||
70 | methods: { | ||
71 | clear(){}, | ||
72 | close(type) { | ||
73 | // fixed by mehaotian 抽屉尚未完全关闭或遮罩禁止点击时不触发以下逻辑 | ||
74 | if((type === 'mask' && !this.maskClick) || !this.visibleSync) return | ||
75 | this._change('showDrawer', 'visibleSync', false) | ||
76 | }, | ||
77 | open() { | ||
78 | // fixed by mehaotian 处理重复点击打开的事件 | ||
79 | if(this.visibleSync) return | ||
80 | this._change('visibleSync', 'showDrawer', true) | ||
81 | }, | ||
82 | _change(param1, param2, status) { | ||
83 | this[param1] = status | ||
84 | if (this.watchTimer) { | ||
85 | clearTimeout(this.watchTimer) | ||
86 | } | ||
87 | this.watchTimer = setTimeout(() => { | ||
88 | this[param2] = status | ||
89 | this.$emit('change',status) | ||
90 | }, status ? 50 : 300) | ||
91 | } | ||
92 | } | ||
93 | } | ||
94 | </script> | ||
95 | |||
96 | <style lang="scss" scoped> | ||
97 | // 抽屉宽度 | ||
98 | $drawer-width: 220px; | ||
99 | |||
100 | .uni-drawer { | ||
101 | /* #ifndef APP-NVUE */ | ||
102 | display: block; | ||
103 | /* #endif */ | ||
104 | position: fixed; | ||
105 | top: 0; | ||
106 | left: 0; | ||
107 | right: 0; | ||
108 | bottom: 0; | ||
109 | overflow: hidden; | ||
110 | z-index: 999; | ||
111 | } | ||
112 | |||
113 | .uni-drawer__content { | ||
114 | /* #ifndef APP-NVUE */ | ||
115 | display: block; | ||
116 | /* #endif */ | ||
117 | position: absolute; | ||
118 | top: 0; | ||
119 | width: $drawer-width; | ||
120 | bottom: 0; | ||
121 | background-color: $uni-bg-color; | ||
122 | transition: transform 0.3s ease; | ||
123 | } | ||
124 | |||
125 | .uni-drawer--left { | ||
126 | left: 0; | ||
127 | /* #ifdef APP-NVUE */ | ||
128 | transform: translateX(-$drawer-width); | ||
129 | /* #endif */ | ||
130 | /* #ifndef APP-NVUE */ | ||
131 | transform: translateX(-100%); | ||
132 | /* #endif */ | ||
133 | } | ||
134 | |||
135 | .uni-drawer--right { | ||
136 | right: 0; | ||
137 | /* #ifdef APP-NVUE */ | ||
138 | transform: translateX($drawer-width); | ||
139 | /* #endif */ | ||
140 | /* #ifndef APP-NVUE */ | ||
141 | transform: translateX(100%); | ||
142 | /* #endif */ | ||
143 | } | ||
144 | |||
145 | .uni-drawer__content--visible { | ||
146 | transform: translateX(0px); | ||
147 | } | ||
148 | |||
149 | |||
150 | .uni-drawer__mask { | ||
151 | /* #ifndef APP-NVUE */ | ||
152 | display: block; | ||
153 | /* #endif */ | ||
154 | opacity: 0; | ||
155 | position: absolute; | ||
156 | top: 0; | ||
157 | left: 0; | ||
158 | bottom: 0; | ||
159 | right: 0; | ||
160 | background-color: $uni-bg-color-mask; | ||
161 | transition: opacity 0.3s; | ||
162 | } | ||
163 | |||
164 | .uni-drawer__mask--visible { | ||
165 | /* #ifndef APP-NVUE */ | ||
166 | display: block; | ||
167 | /* #endif */ | ||
168 | opacity: 1; | ||
169 | } | ||
170 | </style> | ||
171 |
pages/index/index.vue
1 | <template> | 1 | <template> |
2 | <view class="content"> | 2 | <view class="content"> |
3 | <view class="searchBar"> | 3 | <view class="header"> |
4 | <icon class="searchIcon" type="search" size="21"></icon> | 4 | <!-- 搜索--> |
5 | <input class="searchIpt" placeholder="请输入搜索内容" confirm-type="search"/> | 5 | <view class="searchBar"> |
6 | <icon class="searchIcon" type="search" size="14"></icon> | ||
7 | <input class="searchIpt" placeholder="老花镜" confirm-type="search"/> | ||
8 | </view> | ||
9 | |||
10 | <!-- 筛选栏--> | ||
11 | <view class="screenBar"> | ||
12 | <view v-for="item in screenItems" :key="item.current" @click="onClickItem(item.current)" > | ||
13 | <view class="screenItem" v-bind:class="{ active: current === item.current }" v-if="item.current === 2" @click="dropDown"> | ||
14 | {{ item.text }}<icon type="info" size="14"></icon> | ||
15 | </view> | ||
16 | <view class="screenItem" v-bind:class="{ active: current === item.current }" v-if="item.current === 4" @click="showDrawer('showRight')"> | ||
17 | {{ item.text }}<icon type="info" size="14"></icon> | ||
18 | </view> | ||
19 | <view v-if="item.current !== 2&&item.current!==4"> | ||
20 | <view class="screenItem" v-bind:class="{ active: current === item.current }">{{ item.text }}</view> | ||
21 | </view> | ||
22 | </view> | ||
23 | </view> | ||
24 | </view> | ||
25 | <uni-drawer ref="showRight" mask="true" maskClick=true mode="right" :width="320" @change="change($event,'showRight')"> | ||
26 | <view class="close"> | ||
27 | <view @click="closeDrawer('showRight')"><text class="word-btn-white">关闭</text></view> | ||
28 | </view> | ||
29 | </uni-drawer> | ||
30 | |||
31 | |||
32 | |||
33 | <!-- 筛选菜单--> | ||
34 | <view class="content-wrap"> | ||
35 | <view> | ||
36 | <HMfilterDropdown :filterData="filterData" :defaultSelected ="filterDropdownValue" :updateMenuName="true" @confirm="confirm" dataFormat="Object"></HMfilterDropdown> | ||
37 | <!-- 占位 --> | ||
38 | <view class="place"></view> | ||
39 | <!-- 商品列表 --> | ||
40 | <view class="goods-list"> | ||
41 | <view class="product-list"> | ||
42 | <view class="product" v-for="(goods) in goodsList" :key="goods.goods_id" @tap="toGoods(goods)"> | ||
43 | <image mode="widthFix" :src="goods.img"></image> | ||
44 | <view class="name">{{goods.name}}</view> | ||
45 | <view class="info"> | ||
46 | <view class="price">{{goods.price}}</view> | ||
47 | <view class="slogan">{{goods.slogan}}</view> | ||
48 | </view> | ||
49 | </view> | ||
50 | </view> | ||
51 | <view class="loading-text">{{loadingText}}</view> | ||
52 | </view> | ||
53 | |||
54 | </view> | ||
6 | </view> | 55 | </view> |
7 | <view class="screenBar"></view> | ||
8 | <view class=""></view> | ||
9 | </view> | 56 | </view> |
10 | </template> | 57 | </template> |
11 | 58 | ||
12 | <script> | 59 | <script> |
60 | import uniDrawer from "@/components/uni-drawer/uni-drawer.vue"; | ||
61 | import HMfilterDropdown from "../../components/HM-filterDropdown/HM-filterDropdown.vue"; | ||
62 | import data from '@/common/data.js';//筛选菜单数据 | ||
13 | export default { | 63 | export default { |
64 | components: { | ||
65 | uniDrawer, | ||
66 | 'HMfilterDropdown':HMfilterDropdown | ||
67 | }, | ||
14 | data() { | 68 | data() { |
15 | return { | 69 | return { |
16 | title: 'Hello' | 70 | screenItems: [ |
71 | {current:0,text:'全部',hasIcon:false}, | ||
72 | {current:1,text:'销量',hasIcon:false}, | ||
73 | {current:2,text:'价格',hasIcon:true}, | ||
74 | {current:3,text:'折扣',hasIcon:false}, | ||
75 | {current:4,text:'筛选',hasIcon:true}, | ||
76 | ], | ||
77 | current: 0, | ||
78 | showRight: false, | ||
79 | indexArr:'', | ||
80 | valueArr:'', | ||
81 | //商品数据 | ||
82 | goodsList:[ | ||
83 | { goods_id: 0, img: '/static/img/goods/p1.jpg', name: '商品名称', price: '¥168', slogan:'1235人付款' }, | ||
84 | { goods_id: 1, img: '/static/img/goods/p2.jpg', name: '商品名称', price: '¥168', slogan:'1235人付款' }, | ||
85 | { goods_id: 2, img: '/static/img/goods/p3.jpg', name: '商品名称', price: '¥168', slogan:'1235人付款' }, | ||
86 | { goods_id: 3, img: '/static/img/goods/p4.jpg', name: '商品名称', price: '¥168', slogan:'1235人付款' }, | ||
87 | { goods_id: 4, img: '/static/img/goods/p5.jpg', name: '商品名称', price: '¥168', slogan:'1235人付款' }, | ||
88 | { goods_id: 5, img: '/static/img/goods/p6.jpg', name: '商品名称', price: '¥168', slogan:'1235人付款' }, | ||
89 | { goods_id: 6, img: '/static/img/goods/p7.jpg', name: '商品名称', price: '¥168', slogan:'1235人付款' }, | ||
90 | { goods_id: 7, img: '/static/img/goods/p8.jpg', name: '商品名称', price: '¥168', slogan:'1235人付款' }, | ||
91 | { goods_id: 8, img: '/static/img/goods/p9.jpg', name: '商品名称', price: '¥168', slogan:'1235人付款' }, | ||
92 | { goods_id: 9, img: '/static/img/goods/p10.jpg', name: '商品名称', price: '¥168', slogan:'1235人付款' } | ||
93 | ], | ||
94 | loadingText:"正在加载...", | ||
95 | filterDropdownValue:[], | ||
96 | filterData:[] | ||
17 | } | 97 | } |
18 | }, | 98 | }, |
19 | onLoad() { | 99 | filters: { |
20 | 100 | outData(value) { | |
101 | return JSON.stringify(value); | ||
102 | } | ||
103 | }, | ||
104 | onLoad: function () { | ||
105 | //定时器模拟ajax异步请求数据 | ||
106 | setTimeout(()=>{ | ||
107 | //传入defaultSelected的结构不能错,错了就报错运行异常。 不选中的项目传入null | ||
108 | this.filterDropdownValue = [ | ||
109 | [1,1,0], //第0个菜单选中 一级菜单的第1项,二级菜单的第1项,三级菜单的第3项 | ||
110 | [null,null], //第1个菜单选中 都不选中 | ||
111 | [1], //第2个菜单选中 一级菜单的第1项 | ||
112 | [[0],[1,2,7],[1,0]], //筛选菜单选中 第一个筛选的第0项,第二个筛选的第1,2,7项,第三个筛选的第1,0项 | ||
113 | [[0],[1],[1]], //单选菜单选中 第一个筛选的第0项,第二个筛选的第1项,第三个筛选的第1项 | ||
114 | ]; | ||
115 | this.filterData = data; | ||
116 | },100); | ||
117 | //模拟ajax请求子菜单数据。 | ||
118 | // setTimeout(()=>{ | ||
119 | //this.filterData[1].submenu[0].submenu = [{"name": "附近","value": "附近"},{"name": "1km","value": "1km"},{"name": "2km","value": "2km"},{"name": "3km","value": "3km"},{"name": "4km","value": "4km"},{"name": "5km","value": "5km"}]; | ||
120 | // },5000) | ||
21 | }, | 121 | }, |
22 | methods: { | 122 | methods: { |
23 | 123 | showDrawer(e) { | |
24 | } | 124 | this.$refs[e].open() |
125 | }, | ||
126 | closeDrawer(e) { | ||
127 | this.$refs[e].close() | ||
128 | }, | ||
129 | change(e, type) { | ||
130 | this[type] = e | ||
131 | }, | ||
132 | onClickItem(e) { | ||
133 | if (this.current !== e) { | ||
134 | this.current = e; | ||
135 | } | ||
136 | }, | ||
137 | dropDown(){ | ||
138 | console.log('下拉') | ||
139 | }, | ||
140 | //接收菜单结果 | ||
141 | confirm(e){ | ||
142 | this.indexArr = e.index; | ||
143 | this.valueArr = e.value; | ||
144 | return; | ||
145 | console.log('修改菜单'); | ||
146 | this.filterData[4].submenu[1] = { | ||
147 | "name": "项目2", | ||
148 | "submenu": [ | ||
149 | |||
150 | ] | ||
151 | } | ||
152 | } | ||
153 | }, | ||
154 | onNavigationBarButtonTap(e) { | ||
155 | this.showRight = !this.showRight | ||
156 | }, | ||
157 | //上拉加载, | ||
158 | onReachBottom(){ | ||
159 | console.log('到底加载') | ||
160 | let len = this.goodsList.length; | ||
161 | if(len>=30){ | ||
162 | this.loadingText="~~到底了~~"; | ||
163 | return false; | ||
164 | }else{ | ||
165 | this.loadingText="正在加载..."; | ||
166 | } | ||
167 | let end_goods_id = this.goodsList[len-1].goods_id; | ||
168 | for(let i=1;i<=10;i++){ | ||
169 | let goods_id = end_goods_id+i; | ||
170 | let p = { goods_id: goods_id, img: '/static/img/goods/p'+(goods_id%10==0?10:goods_id%10)+'.jpg', name: '商品名称', price: '¥168', slogan:'1235人付款' }; | ||
171 | this.goodsList.push(p); | ||
172 | } | ||
173 | }, | ||
25 | } | 174 | } |
26 | </script> | 175 | </script> |
27 | 176 | ||
28 | <style> | 177 | <style lang="scss"> |
29 | .content { | 178 | .content { |
30 | display: flex; | 179 | display: flex; |
31 | flex-direction: column; | 180 | flex-direction: column; |
32 | align-items: center; | 181 | align-items: center; |
33 | justify-content: center; | 182 | justify-content: center; |
183 | background-color: #F7F6F6; | ||
184 | } | ||
185 | .header{ | ||
186 | display: flex; | ||
187 | flex-direction: column; | ||
188 | align-items: center; | ||
189 | justify-content: center; | ||
190 | background-color: #F7F6F6; | ||
191 | height:178rpx ; | ||
192 | width: 100%; | ||
193 | z-index: 999; | ||
194 | position: fixed; | ||
195 | top: 0; | ||
34 | } | 196 | } |
35 | |||
36 | .searchBar { | 197 | .searchBar { |
37 | width: calc(100% - 16rpx * 2); | 198 | width: 670rpx; |
38 | display: flex; | 199 | display: flex; |
200 | position: fixed; | ||
201 | top: 0; | ||
39 | justify-content: center; | 202 | justify-content: center; |
40 | align-items: center; | 203 | align-items: center; |
41 | box-sizing: border-box; | 204 | box-sizing: border-box; |
42 | margin: 16rpx 16rpx; | ||
43 | padding: 0rpx 16rpx; | 205 | padding: 0rpx 16rpx; |
44 | background-color: #F8F8F8; | 206 | border: 1px solid #FF6B4A; |
207 | border-radius: 8rpx; | ||
208 | background-color: #ffffff; | ||
45 | } | 209 | } |
46 | 210 | ||
47 | .searchIpt { | 211 | .searchIpt { |
48 | height: 64rpx; | 212 | height: 68rpx; |
49 | width: 100%; | 213 | width: 670rpx; |
50 | padding: 16rpx; | 214 | padding: 16rpx; |
51 | font-size: 28rpx; | 215 | font-size: 28rpx; |
52 | box-sizing: border-box; | 216 | box-sizing: border-box; |
53 | } | 217 | } |
54 | 218 | .screenBar{ | |
219 | position: fixed; | ||
220 | top: 68rpx; | ||
221 | width: 670rpx; | ||
222 | height: 110rpx; | ||
223 | display: flex; | ||
224 | flex-direction: row; | ||
225 | justify-content: space-between; | ||
226 | align-items: center; | ||
227 | color: #333333; | ||
228 | font-size: 32rpx; | ||
229 | } | ||
230 | .active{ | ||
231 | color: #FF6B4A; | ||
232 | } | ||
233 | .screenItem{ | ||
234 | display: flex; | ||
235 | justify-content: center; | ||
236 | align-items: center; | ||
237 | } | ||
238 | .content-wrap{ | ||
239 | width: 100%; | ||
240 | background-color: #FFFFFF; | ||
241 | } | ||
242 | |||
243 | .HMfilterDropdown{ | ||
244 | position: fixed; | ||
245 | top: 178rpx !important; | ||
246 | } | ||
247 | .place{ | ||
248 | background-color: #ffffff; | ||
249 | height: 266rpx; | ||
250 | } | ||
251 | .goods-list{ | ||
252 | padding-top: 10px; | ||
253 | .loading-text{ | ||
254 | width: 100%; | ||
255 | display: flex; | ||
256 | justify-content: center; | ||
257 | align-items: center; | ||
258 | height: 30px; | ||
259 | color: #979797; | ||
260 | font-size: 12px; | ||
261 | } | ||
262 | .product-list{ | ||
263 | width: 92%; | ||
264 | padding: 0 4% 3vw 4%; | ||
265 | display: flex; | ||
266 | justify-content: space-between; | ||
267 | flex-wrap: wrap; | ||
268 | .product{ | ||
269 | width: 48%; | ||
270 | border-radius: 10px; | ||
271 | background-color: #fff; | ||
272 | margin: 0 0 7px 0; | ||
273 | box-shadow: 0 3px 12px rgba(0,0,0,0.1); | ||
274 | image{ | ||
275 | width: 100%; | ||
276 | border-radius: 10px 10px 0 0; | ||
277 | } | ||
278 | .name{ | ||
279 | width: 92%; | ||
280 | padding: 5px 4%; | ||
281 | display: -webkit-box; | ||
282 | -webkit-box-orient: vertical; | ||
283 | -webkit-line-clamp: 2; | ||
284 | text-align: justify; | ||
285 | overflow: hidden; | ||
286 | font-size: 15px; | ||
287 | } | ||
288 | .info{ | ||
289 | display: flex; | ||
290 | justify-content: space-between; | ||
291 | align-items: flex-end; | ||
292 | width: 92%; | ||
293 | padding: 5px 4% 5px 4%; | ||
294 | .price{ | ||
295 | color: #e65339; | ||
296 | font-size: 15px; | ||
297 | font-weight: 600; | ||
298 | } | ||
299 | .slogan{ | ||
300 | color: #807c87; | ||
301 | font-size: 12px; | ||
302 | } | ||
303 | } | ||
304 | } | ||
305 | } |
static/img/goods/p1.jpg
11.3 KB
static/img/goods/p10.jpg
22.6 KB
static/img/goods/p2.jpg
16.3 KB
static/img/goods/p3.jpg
15 KB
static/img/goods/p4.jpg
6.55 KB
static/img/goods/p5.jpg
29.6 KB
static/img/goods/p6.jpg
6.25 KB
static/img/goods/p7.jpg
20.1 KB
static/img/goods/p8.jpg
20.4 KB
static/img/goods/p9.jpg
24.1 KB
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
1 | {"version":3,"sources":["webpack:///C:/Users/Administrator/Desktop/gulu-vue/main.js","webpack:///C:/Users/Administrator/Desktop/gulu-vue/App.vue?888e","webpack:///C:/Users/Administrator/Desktop/gulu-vue/App.vue?3262","webpack:///C:/Users/Administrator/Desktop/gulu-vue/App.vue","webpack:///C:/Users/Administrator/Desktop/gulu-vue/App.vue?9752","webpack:///C:/Users/Administrator/Desktop/gulu-vue/App.vue?593a"],"names":["Vue","config","productionTip","App","mpType","app","$mount","onLaunch","console","log","onShow","onHide"],"mappings":";;;;;;;;;iDAAA,wCAAmB,iDAA4B;AAC/C,uE;;AAEAA,aAAIC,MAAJ,CAAWC,aAAX,GAA2B,KAA3B;;AAEAC,aAAIC,MAAJ,GAAa,KAAb;;AAEA,IAAMC,GAAG,GAAG,IAAIL,YAAJ;AACLG,YADK,EAAZ;;AAGA,UAAAE,GAAG,EAACC,MAAJ,G;;;;;;;;;;;;;;;;;;;;ACVA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACuD;AACL;AACa;;;AAG/D;AACqK;AACrK,gBAAgB,+KAAU;AAC1B,EAAE,yEAAM;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACe,gF;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAA6lB,CAAgB,unBAAG,EAAC,C;;;;;;;;;;;;ACClmB;AACdC,UAAQ,EAAE,oBAAW;AACpBC,WAAO,CAACC,GAAR,CAAY,YAAZ;AACA,GAHa;AAIdC,QAAM,EAAE,kBAAW;AAClBF,WAAO,CAACC,GAAR,CAAY,UAAZ;AACA,GANa;AAOdE,QAAM,EAAE,kBAAW;AAClBH,WAAO,CAACC,GAAR,CAAY,UAAZ;AACA,GATa,E;;;;;;;;;;;ACDf;AAAA;AAAA;AAAA;AAA+2B,CAAgB,g3BAAG,EAAC,C;;;;;;;;;;ACAn4B;AACA,OAAO,KAAU,EAAE,kBAKd","file":"common/main.js","sourcesContent":["import 'uni-pages';import '@dcloudio/uni-stat';import Vue from 'vue'\r\nimport App from './App'\r\n\r\nVue.config.productionTip = false\r\n\r\nApp.mpType = 'app'\r\n\r\nconst app = new Vue({\r\n ...App\r\n})\r\napp.$mount()","var render, staticRenderFns, recyclableRender, components\nvar renderjs\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"C:/Users/Administrator/Desktop/gulu-vue/App.vue\"\nexport default component.exports","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=script&lang=js&\"","\nexport default {\n\tonLaunch: function() {\n\t\tconsole.log('App Launch')\n\t},\n\tonShow: function() {\n\t\tconsole.log('App Show')\n\t},\n\tonHide: function() {\n\t\tconsole.log('App Hide')\n\t}\n}\n","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1587797864420\n var cssReload = require(\"D:/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""} |
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
1 | {"version":3,"sources":["webpack:///webpack/bootstrap"],"names":[],"mappings":";QAAA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA;QACA;QACA;QACA,gBAAgB,uBAAuB;QACvC;;;QAGA;QACA","file":"common/runtime.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"common/runtime\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = global[\"webpackJsonp\"] = global[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""} |
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
1 | {"version":3,"sources":["webpack:///./node_modules/@dcloudio/uni-mp-weixin/dist/index.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/@dcloudio/uni-stat/dist/index.js","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages.json","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js"],"names":["_toString","Object","prototype","toString","hasOwnProperty","isFn","fn","isStr","str","isPlainObject","obj","call","hasOwn","key","noop","cached","cache","create","cachedFn","hit","camelizeRE","camelize","replace","_","c","toUpperCase","HOOKS","globalInterceptors","scopedInterceptors","mergeHook","parentVal","childVal","res","concat","Array","isArray","dedupeHooks","hooks","i","length","indexOf","push","removeHook","hook","index","splice","mergeInterceptorHook","interceptor","option","keys","forEach","removeInterceptorHook","addInterceptor","method","removeInterceptor","wrapperHook","data","isPromise","then","queue","promise","Promise","resolve","callback","wrapperOptions","options","name","oldCallback","callbackInterceptor","wrapperReturnValue","returnValue","returnValueHooks","getApiInterceptorHooks","slice","scopedInterceptor","invokeApi","api","params","invoke","promiseInterceptor","catch","SYNC_API_RE","CONTEXT_API_RE","CONTEXT_API_RE_EXC","ASYNC_API","CALLBACK_API_RE","isContextApi","test","isSyncApi","isCallbackApi","handlePromise","err","shouldPromise","finally","constructor","value","reason","promisify","promiseApi","success","fail","complete","reject","assign","EPS","BASE_DEVICE_WIDTH","isIOS","deviceWidth","deviceDPR","checkDeviceWidth","wx","getSystemInfoSync","platform","pixelRatio","windowWidth","upx2px","number","newDeviceWidth","Number","result","Math","floor","interceptors","baseApi","freeze","__proto__","previewImage","args","fromArgs","currentIndex","parseInt","current","isNaN","urls","len","filter","item","indicator","loop","addSafeAreaInsets","safeArea","safeAreaInsets","top","left","right","bottom","windowHeight","protocols","getSystemInfo","todos","canIUses","CALLBACKS","processCallback","methodName","processReturnValue","processArgs","argsOption","keepFromArgs","toArgs","keyOption","console","warn","keepReturnValue","wrapper","protocol","error","arg1","arg2","apply","todoApis","TODOS","createTodoApi","todoApi","errMsg","providers","oauth","share","payment","getProvider","service","provider","extraApi","getEmitter","getUniEmitter","Emitter","Vue","ctx","$on","arguments","$off","$once","$emit","eventApi","MPPage","Page","MPComponent","Component","customizeRE","customize","initTriggerEvent","mpInstance","canIUse","oldTriggerEvent","triggerEvent","event","initHook","oldHook","PAGE_EVENT_HOOKS","initMocks","vm","mocks","$mp","mpType","mock","hasHook","vueOptions","default","extendOptions","super","mixins","find","mixin","initHooks","mpOptions","$vm","__call_hook","initVueComponent","VueComponent","extend","initSlots","vueSlots","$slots","slotName","$scopedSlots","initVueIds","vueIds","split","_$vueId","_$vuePid","initData","context","methods","e","process","VUE_APP_DEBUG","JSON","parse","stringify","__lifecycle_hooks__","PROP_TYPES","String","Boolean","createObserver","observer","newVal","oldVal","initBehaviors","initBehavior","vueBehaviors","behaviors","vueExtends","extends","vueMixins","vueProps","props","behavior","type","Date","properties","initProperties","vueMixin","parsePropType","defaultValue","file","isBehavior","vueId","setData","opts","wrapper$1","mp","stopPropagation","preventDefault","target","detail","markerId","getExtraValue","dataPathsArray","dataPathArray","dataPath","propPath","valuePath","vFor","__get_value","isInteger","vForItem","vForKey","processEventExtra","extra","extraObj","getObjByArray","arr","element","processEventArgs","isCustom","isCustomMPEvent","currentTarget","dataset","comType","__args__","ret","arg","ONCE","CUSTOM","isMatchEventType","eventType","optType","handleEvent","eventOpts","eventOpt","eventsArray","charAt","isOnce","eventArray","handlerCtx","$options","generic","$parent","handler","Error","once","parseBaseApp","initRefs","store","$store","mpHost","beforeCreate","$scope","appOptions","onLaunch","app","globalData","_isMounted","findVmByVueId","vuePid","$children","childVm","parentVm","Behavior","isPage","route","initRelation","defineProperty","get","$refs","components","selectAllComponents","component","ref","forComponents","handleLink","parent","parseApp","createApp","App","parseBaseComponent","vueComponentOptions","multipleSlots","addGlobalClass","componentOptions","__file","lifetimes","attached","propsData","$mount","ready","detached","$destroy","pageLifetimes","show","hide","resize","size","__l","__e","wxsCallMethods","callMethod","parseComponent","hooks$1","parseBasePage","vuePageOptions","pageOptions","onLoad","query","parsePage","createPage","createComponent","canIUseApi","apiName","uni","Proxy","set","uni$1","STAT_VERSION","version","STAT_URL","STAT_H5_URL","PAGE_PVER_TIME","APP_PVER_TIME","OPERATING_TIME","UUID_KEY","UUID_VALUE","getUuid","uuid","getPlatformName","plus","runtime","getDCloudId","getStorageSync","now","random","setStorageSync","getSgin","statData","sortArr","sort","sgin","sginStr","sign","substr","getSplicing","getTime","platformList","getPackName","packName","getAccountInfoSync","miniProgram","appId","getVersion","getChannel","platformName","channel","getScene","scene","getLaunchOptionsSync","First__Visit__Time__KEY","Last__Visit__Time__KEY","getFirstVisitTime","timeStorge","time","removeStorageSync","getLastVisitTime","PAGE_RESIDENCE_TIME","First_Page_residence_time","Last_Page_residence_time","setPageResidenceTime","getPageResidenceTime","TOTAL__VISIT__COUNT","getTotalVisitCount","count","GetEncodeURIComponentOptions","prop","encodeURIComponent","Set__First__Time","Set__Last__Time","getFirstTime","getLastTime","getResidenceTime","residenceTime","overtime","getRoute","pages","getCurrentPages","page","_self","is","getPageRoute","self","_query","getPageTypes","calibration","eventName","PagesJson","require","statConfig","resultOptions","Util","_retry","_platform","_navigationBarTitle","config","report","lt","_operatingTime","_reportingRequestData","__prevent_triggering","__licationHide","__licationShow","_lastPageRoute","ut","mpn","ak","appid","usv","v","ch","cn","pn","ct","t","tt","p","brand","md","model","sv","system","mpsdk","SDKVersion","mpv","lang","language","pr","ww","wh","sw","screenWidth","sh","screenHeight","path","sc","_sendReportRequest","_sendHideRequest","urlref","urlref_ts","routepath","titleNView","titleText","navigationBarTitleText","_sendPageRequest","url","_sendEventRequest","fvts","lvts","tvc","getProperty","getNetworkInfo","opt","request","e_n","e_v","getNetworkType","net","networkType","getLocation","wgtinfo","geocode","address","country","province","city","lat","latitude","lng","longitude","title","ttn","ttpj","ttc","requestData","uniStatData","firstArr","contentArr","lastArr","rd","elm","newData","optionsData","requests","imageRequest","setTimeout","_sendRequest","image","Image","src","Stat","instance","addInterceptorInit","interceptLogin","interceptShare","interceptRequestPayment","_login","_share","_payment","_pageShow","_applicationShow","_pageHide","_applicationHide","em","info","emVal","message","stack","stat","getInstance","isHide","lifecycle","onReady","load","onShareAppMessage","oldShareAppMessage","onShow","onHide","onUnload","onError","main"],"mappings":"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ACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA,sBAAsB,+BAA+B;AACrD,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,kDAAkD,iCAAiC,EAAE;AACrF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,cAAc;;AAE3C;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;;AAEvC;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,aAAoB;;AAErC;AACA;AACA;AACA,YAAY,aAAoB;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA,oCAAoC;AACpC;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA,iCAAiC;AACjC,uCAAuC,wBAAwB,EAAE;AACjE,0BAA0B;;AAE1B;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,YAAY;AACpC,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,wCAAwC,EAAE;AAC1C;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,+BAA+B,oBAAoB,EAAE;AACrD;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B,SAAS,qBAAqB;;AAExD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,uBAAuB;AACzD,iCAAiC,sBAAsB;AACvD;AACA,kBAAkB;AAClB,MAAM,IAAqC;AAC3C;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,aAAoB;AACtC;AACA;AACA,mBAAmB;AACnB;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,OAAO,UAAU,IAAqC;AACtD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,GAAG,UAAU,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,mBAAmB;AACtC,+BAA+B;AAC/B;AACA,GAAG;AACH;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B,WAAW;AACX;AACA,GAAG,UAAU,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,oCAAoC;AACpC;AACA,qCAAqC;AACrC;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAEQ;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,SAAS;AACtD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,qCAAqC,EAAE;AACpF;;AAEA;AACA;AACA;;AAEA,oCAAoC,yCAAyC,EAAE;AAC/E;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,kBAAkB;AAC3C;AACA;AACA,4BAA4B;AAC5B,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,sDAAsD,EAAE;AACtF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,yBAAyB;AAC1C,GAAG;AACH;AACA;AACA,iBAAiB,+BAA+B;AAChD;AACA;;AAEA;AACA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO,MAAM,EAEN;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,IAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,sBAAsB,mBAAmB;AACzC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC,uCAAuC;AACvC;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB,sCAAsC;AACtC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,OAAO;AACzC;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,4CAA4C,eAAe;AAC3D,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,kDAAkD;AAClD,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,KAAK,UAAU,KAAqC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,qCAAqC,gEAAgE;AACrG;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,4BAA4B,+BAA+B;AAC3D,4BAA4B,+BAA+B;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C,kDAAkD;AAClD;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sEAAsE;;AAEtE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,uFAAuF;AAC5F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C,iBAAiB,yBAAyB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,+BAA+B;AAClC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,oBAAoB;AACxC,sBAAsB,4BAA4B;AAClD;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,mBAAmB;AACnB,yBAAyB;AACzB;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,6CAA6C;AAC9E;AACA;AACA,6CAA6C,4CAA4C;;AAEzF;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG,MAAM,EAGN;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAK,2CAA2C,8BAA8B,EAAE;;AAEhF;AACA,wCAAwC,OAAO;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAqC;AACrD;AACA,oBAAoB,SAAI;AACxB;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;;AAE1B,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0BAA0B;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,oBAAoB,EAAE;;AAEpD;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,oBAAoB;AACpB;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,oBAAoB,KAAqC;AACzD;AACA,MAAM,SAAE;AACR;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C,qBAAqB,+BAA+B;AACpD;AACA;AACA,GAAG;AACH,yBAAyB;AACzB;AACA,sBAAsB,iCAAiC;AACvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK,MAAM,EAEN;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,UAAU,IAAqC;AACpD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,8BAA8B;AAC9B,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA,KAAK,MAAM,EAEN;AACL;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,sCAAsC;AACtC,8C;;AAEA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;;AAEA;AACA,QAAQ,KAAqC;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,YAAY,KAAqC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,0CAA0C,2BAA2B,EAAE;AACvE,KAAK;AACL;AACA,0CAA0C,4BAA4B,EAAE;AACxE,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY,gFAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,gCAAgC,EAAE;AAC5E;;AAEA;AACA;AACA;AACA;AACA,WAAW,gFAAW;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,gFAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,0CAA0C;;AAE1C;AACA;AACA;AACA,GAAG;AACH;AACA,sCAAsC;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA,KAAK;AACL;AACA;AACA,UAAU,gFAAW;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,qDAAqD,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;;;;;;sGCh3BW,EAAC,SAAQ,EAAC,qBAAoB,EAAC,0BAAyB,MAA1B,EAArB,EAAuD,mBAAkB,EAAC,0BAAyB,KAA1B,EAAzE,EAA0G,mBAAkB,EAAC,0BAAyB,IAA1B,EAA5H,EAAT,EAAsK,eAAc,EAAC,0BAAyB,OAA1B,EAAkC,0BAAyB,SAA3D,EAAqE,gCAA+B,SAApG,EAA8G,mBAAkB,SAAhI,EAApL,E;;;;;;;;;;;sGAAA,EAAC,SAAQ,EAAT,E;;;;;;;;;;;;;;;;ACAf;AAAA;AAAA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA","file":"common/vendor.js","sourcesContent":["import Vue from 'vue';\r\n\r\nconst _toString = Object.prototype.toString;\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\n\r\nfunction isFn (fn) {\r\n return typeof fn === 'function'\r\n}\r\n\r\nfunction isStr (str) {\r\n return typeof str === 'string'\r\n}\r\n\r\nfunction isPlainObject (obj) {\r\n return _toString.call(obj) === '[object Object]'\r\n}\r\n\r\nfunction hasOwn (obj, key) {\r\n return hasOwnProperty.call(obj, key)\r\n}\r\n\r\nfunction noop () {}\r\n\r\n/**\r\n * Create a cached version of a pure function.\r\n */\r\nfunction cached (fn) {\r\n const cache = Object.create(null);\r\n return function cachedFn (str) {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str))\r\n }\r\n}\r\n\r\n/**\r\n * Camelize a hyphen-delimited string.\r\n */\r\nconst camelizeRE = /-(\\w)/g;\r\nconst camelize = cached((str) => {\r\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\r\n});\r\n\r\nconst HOOKS = [\r\n 'invoke',\r\n 'success',\r\n 'fail',\r\n 'complete',\r\n 'returnValue'\r\n];\r\n\r\nconst globalInterceptors = {};\r\nconst scopedInterceptors = {};\r\n\r\nfunction mergeHook (parentVal, childVal) {\r\n const res = childVal\r\n ? parentVal\r\n ? parentVal.concat(childVal)\r\n : Array.isArray(childVal)\r\n ? childVal : [childVal]\r\n : parentVal;\r\n return res\r\n ? dedupeHooks(res)\r\n : res\r\n}\r\n\r\nfunction dedupeHooks (hooks) {\r\n const res = [];\r\n for (let i = 0; i < hooks.length; i++) {\r\n if (res.indexOf(hooks[i]) === -1) {\r\n res.push(hooks[i]);\r\n }\r\n }\r\n return res\r\n}\r\n\r\nfunction removeHook (hooks, hook) {\r\n const index = hooks.indexOf(hook);\r\n if (index !== -1) {\r\n hooks.splice(index, 1);\r\n }\r\n}\r\n\r\nfunction mergeInterceptorHook (interceptor, option) {\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n interceptor[hook] = mergeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction removeInterceptorHook (interceptor, option) {\r\n if (!interceptor || !option) {\r\n return\r\n }\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n removeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction addInterceptor (method, option) {\r\n if (typeof method === 'string' && isPlainObject(option)) {\r\n mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option);\r\n } else if (isPlainObject(method)) {\r\n mergeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction removeInterceptor (method, option) {\r\n if (typeof method === 'string') {\r\n if (isPlainObject(option)) {\r\n removeInterceptorHook(scopedInterceptors[method], option);\r\n } else {\r\n delete scopedInterceptors[method];\r\n }\r\n } else if (isPlainObject(method)) {\r\n removeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction wrapperHook (hook) {\r\n return function (data) {\r\n return hook(data) || data\r\n }\r\n}\r\n\r\nfunction isPromise (obj) {\r\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'\r\n}\r\n\r\nfunction queue (hooks, data) {\r\n let promise = false;\r\n for (let i = 0; i < hooks.length; i++) {\r\n const hook = hooks[i];\r\n if (promise) {\r\n promise = Promise.then(wrapperHook(hook));\r\n } else {\r\n const res = hook(data);\r\n if (isPromise(res)) {\r\n promise = Promise.resolve(res);\r\n }\r\n if (res === false) {\r\n return {\r\n then () {}\r\n }\r\n }\r\n }\r\n }\r\n return promise || {\r\n then (callback) {\r\n return callback(data)\r\n }\r\n }\r\n}\r\n\r\nfunction wrapperOptions (interceptor, options = {}) {\r\n ['success', 'fail', 'complete'].forEach(name => {\r\n if (Array.isArray(interceptor[name])) {\r\n const oldCallback = options[name];\r\n options[name] = function callbackInterceptor (res) {\r\n queue(interceptor[name], res).then((res) => {\r\n /* eslint-disable no-mixed-operators */\r\n return isFn(oldCallback) && oldCallback(res) || res\r\n });\r\n };\r\n }\r\n });\r\n return options\r\n}\r\n\r\nfunction wrapperReturnValue (method, returnValue) {\r\n const returnValueHooks = [];\r\n if (Array.isArray(globalInterceptors.returnValue)) {\r\n returnValueHooks.push(...globalInterceptors.returnValue);\r\n }\r\n const interceptor = scopedInterceptors[method];\r\n if (interceptor && Array.isArray(interceptor.returnValue)) {\r\n returnValueHooks.push(...interceptor.returnValue);\r\n }\r\n returnValueHooks.forEach(hook => {\r\n returnValue = hook(returnValue) || returnValue;\r\n });\r\n return returnValue\r\n}\r\n\r\nfunction getApiInterceptorHooks (method) {\r\n const interceptor = Object.create(null);\r\n Object.keys(globalInterceptors).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = globalInterceptors[hook].slice();\r\n }\r\n });\r\n const scopedInterceptor = scopedInterceptors[method];\r\n if (scopedInterceptor) {\r\n Object.keys(scopedInterceptor).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);\r\n }\r\n });\r\n }\r\n return interceptor\r\n}\r\n\r\nfunction invokeApi (method, api, options, ...params) {\r\n const interceptor = getApiInterceptorHooks(method);\r\n if (interceptor && Object.keys(interceptor).length) {\r\n if (Array.isArray(interceptor.invoke)) {\r\n const res = queue(interceptor.invoke, options);\r\n return res.then((options) => {\r\n return api(wrapperOptions(interceptor, options), ...params)\r\n })\r\n } else {\r\n return api(wrapperOptions(interceptor, options), ...params)\r\n }\r\n }\r\n return api(options, ...params)\r\n}\r\n\r\nconst promiseInterceptor = {\r\n returnValue (res) {\r\n if (!isPromise(res)) {\r\n return res\r\n }\r\n return res.then(res => {\r\n return res[1]\r\n }).catch(res => {\r\n return res[0]\r\n })\r\n }\r\n};\r\n\r\nconst SYNC_API_RE =\r\n /^\\$|sendNativeEvent|restoreGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64/;\r\n\r\nconst CONTEXT_API_RE = /^create|Manager$/;\r\n\r\n// Context例外情况\r\nconst CONTEXT_API_RE_EXC = ['createBLEConnection'];\r\n\r\n// 同步例外情况\r\nconst ASYNC_API = ['createBLEConnection'];\r\n\r\nconst CALLBACK_API_RE = /^on|^off/;\r\n\r\nfunction isContextApi (name) {\r\n return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1\r\n}\r\nfunction isSyncApi (name) {\r\n return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1\r\n}\r\n\r\nfunction isCallbackApi (name) {\r\n return CALLBACK_API_RE.test(name) && name !== 'onPush'\r\n}\r\n\r\nfunction handlePromise (promise) {\r\n return promise.then(data => {\r\n return [null, data]\r\n })\r\n .catch(err => [err])\r\n}\r\n\r\nfunction shouldPromise (name) {\r\n if (\r\n isContextApi(name) ||\r\n isSyncApi(name) ||\r\n isCallbackApi(name)\r\n ) {\r\n return false\r\n }\r\n return true\r\n}\r\n\r\n/* eslint-disable no-extend-native */\r\nif (!Promise.prototype.finally) {\r\n Promise.prototype.finally = function (callback) {\r\n const promise = this.constructor;\r\n return this.then(\r\n value => promise.resolve(callback()).then(() => value),\r\n reason => promise.resolve(callback()).then(() => {\r\n throw reason\r\n })\r\n )\r\n };\r\n}\r\n\r\nfunction promisify (name, api) {\r\n if (!shouldPromise(name)) {\r\n return api\r\n }\r\n return function promiseApi (options = {}, ...params) {\r\n if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) {\r\n return wrapperReturnValue(name, invokeApi(name, api, options, ...params))\r\n }\r\n return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {\r\n invokeApi(name, api, Object.assign({}, options, {\r\n success: resolve,\r\n fail: reject\r\n }), ...params);\r\n })))\r\n }\r\n}\r\n\r\nconst EPS = 1e-4;\r\nconst BASE_DEVICE_WIDTH = 750;\r\nlet isIOS = false;\r\nlet deviceWidth = 0;\r\nlet deviceDPR = 0;\r\n\r\nfunction checkDeviceWidth () {\r\n const {\r\n platform,\r\n pixelRatio,\r\n windowWidth\r\n } = wx.getSystemInfoSync(); // uni=>wx runtime 编译目标是 uni 对象,内部不允许直接使用 uni\r\n\r\n deviceWidth = windowWidth;\r\n deviceDPR = pixelRatio;\r\n isIOS = platform === 'ios';\r\n}\r\n\r\nfunction upx2px (number, newDeviceWidth) {\r\n if (deviceWidth === 0) {\r\n checkDeviceWidth();\r\n }\r\n\r\n number = Number(number);\r\n if (number === 0) {\r\n return 0\r\n }\r\n let result = (number / BASE_DEVICE_WIDTH) * (newDeviceWidth || deviceWidth);\r\n if (result < 0) {\r\n result = -result;\r\n }\r\n result = Math.floor(result + EPS);\r\n if (result === 0) {\r\n if (deviceDPR === 1 || !isIOS) {\r\n return 1\r\n } else {\r\n return 0.5\r\n }\r\n }\r\n return number < 0 ? -result : result\r\n}\r\n\r\nconst interceptors = {\r\n promiseInterceptor\r\n};\r\n\r\nvar baseApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n upx2px: upx2px,\r\n addInterceptor: addInterceptor,\r\n removeInterceptor: removeInterceptor,\r\n interceptors: interceptors\r\n});\r\n\r\nvar previewImage = {\r\n args (fromArgs) {\r\n let currentIndex = parseInt(fromArgs.current);\r\n if (isNaN(currentIndex)) {\r\n return\r\n }\r\n const urls = fromArgs.urls;\r\n if (!Array.isArray(urls)) {\r\n return\r\n }\r\n const len = urls.length;\r\n if (!len) {\r\n return\r\n }\r\n if (currentIndex < 0) {\r\n currentIndex = 0;\r\n } else if (currentIndex >= len) {\r\n currentIndex = len - 1;\r\n }\r\n if (currentIndex > 0) {\r\n fromArgs.current = urls[currentIndex];\r\n fromArgs.urls = urls.filter(\r\n (item, index) => index < currentIndex ? item !== urls[currentIndex] : true\r\n );\r\n } else {\r\n fromArgs.current = urls[0];\r\n }\r\n return {\r\n indicator: false,\r\n loop: false\r\n }\r\n }\r\n};\r\n\r\nfunction addSafeAreaInsets (result) {\r\n if (result.safeArea) {\r\n const safeArea = result.safeArea;\r\n result.safeAreaInsets = {\r\n top: safeArea.top,\r\n left: safeArea.left,\r\n right: result.windowWidth - safeArea.right,\r\n bottom: result.windowHeight - safeArea.bottom\r\n };\r\n }\r\n}\r\nconst protocols = {\r\n previewImage,\r\n getSystemInfo: {\r\n returnValue: addSafeAreaInsets\r\n },\r\n getSystemInfoSync: {\r\n returnValue: addSafeAreaInsets\r\n }\r\n};\r\nconst todos = [\r\n 'vibrate'\r\n];\r\nconst canIUses = [];\r\n\r\nconst CALLBACKS = ['success', 'fail', 'cancel', 'complete'];\r\n\r\nfunction processCallback (methodName, method, returnValue) {\r\n return function (res) {\r\n return method(processReturnValue(methodName, res, returnValue))\r\n }\r\n}\r\n\r\nfunction processArgs (methodName, fromArgs, argsOption = {}, returnValue = {}, keepFromArgs = false) {\r\n if (isPlainObject(fromArgs)) { // 一般 api 的参数解析\r\n const toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值\r\n if (isFn(argsOption)) {\r\n argsOption = argsOption(fromArgs, toArgs) || {};\r\n }\r\n for (const key in fromArgs) {\r\n if (hasOwn(argsOption, key)) {\r\n let keyOption = argsOption[key];\r\n if (isFn(keyOption)) {\r\n keyOption = keyOption(fromArgs[key], fromArgs, toArgs);\r\n }\r\n if (!keyOption) { // 不支持的参数\r\n console.warn(`微信小程序 ${methodName}暂不支持${key}`);\r\n } else if (isStr(keyOption)) { // 重写参数 key\r\n toArgs[keyOption] = fromArgs[key];\r\n } else if (isPlainObject(keyOption)) { // {name:newName,value:value}可重新指定参数 key:value\r\n toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;\r\n }\r\n } else if (CALLBACKS.indexOf(key) !== -1) {\r\n toArgs[key] = processCallback(methodName, fromArgs[key], returnValue);\r\n } else {\r\n if (!keepFromArgs) {\r\n toArgs[key] = fromArgs[key];\r\n }\r\n }\r\n }\r\n return toArgs\r\n } else if (isFn(fromArgs)) {\r\n fromArgs = processCallback(methodName, fromArgs, returnValue);\r\n }\r\n return fromArgs\r\n}\r\n\r\nfunction processReturnValue (methodName, res, returnValue, keepReturnValue = false) {\r\n if (isFn(protocols.returnValue)) { // 处理通用 returnValue\r\n res = protocols.returnValue(methodName, res);\r\n }\r\n return processArgs(methodName, res, returnValue, {}, keepReturnValue)\r\n}\r\n\r\nfunction wrapper (methodName, method) {\r\n if (hasOwn(protocols, methodName)) {\r\n const protocol = protocols[methodName];\r\n if (!protocol) { // 暂不支持的 api\r\n return function () {\r\n console.error(`微信小程序 暂不支持${methodName}`);\r\n }\r\n }\r\n return function (arg1, arg2) { // 目前 api 最多两个参数\r\n let options = protocol;\r\n if (isFn(protocol)) {\r\n options = protocol(arg1);\r\n }\r\n\r\n arg1 = processArgs(methodName, arg1, options.args, options.returnValue);\r\n\r\n const args = [arg1];\r\n if (typeof arg2 !== 'undefined') {\r\n args.push(arg2);\r\n }\r\n const returnValue = wx[options.name || methodName].apply(wx, args);\r\n if (isSyncApi(methodName)) { // 同步 api\r\n return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName))\r\n }\r\n return returnValue\r\n }\r\n }\r\n return method\r\n}\r\n\r\nconst todoApis = Object.create(null);\r\n\r\nconst TODOS = [\r\n 'onTabBarMidButtonTap',\r\n 'subscribePush',\r\n 'unsubscribePush',\r\n 'onPush',\r\n 'offPush',\r\n 'share'\r\n];\r\n\r\nfunction createTodoApi (name) {\r\n return function todoApi ({\r\n fail,\r\n complete\r\n }) {\r\n const res = {\r\n errMsg: `${name}:fail:暂不支持 ${name} 方法`\r\n };\r\n isFn(fail) && fail(res);\r\n isFn(complete) && complete(res);\r\n }\r\n}\r\n\r\nTODOS.forEach(function (name) {\r\n todoApis[name] = createTodoApi(name);\r\n});\r\n\r\nvar providers = {\r\n oauth: ['weixin'],\r\n share: ['weixin'],\r\n payment: ['wxpay'],\r\n push: ['weixin']\r\n};\r\n\r\nfunction getProvider ({\r\n service,\r\n success,\r\n fail,\r\n complete\r\n}) {\r\n let res = false;\r\n if (providers[service]) {\r\n res = {\r\n errMsg: 'getProvider:ok',\r\n service,\r\n provider: providers[service]\r\n };\r\n isFn(success) && success(res);\r\n } else {\r\n res = {\r\n errMsg: 'getProvider:fail:服务[' + service + ']不存在'\r\n };\r\n isFn(fail) && fail(res);\r\n }\r\n isFn(complete) && complete(res);\r\n}\r\n\r\nvar extraApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n getProvider: getProvider\r\n});\r\n\r\nconst getEmitter = (function () {\r\n if (typeof getUniEmitter === 'function') {\r\n /* eslint-disable no-undef */\r\n return getUniEmitter\r\n }\r\n let Emitter;\r\n return function getUniEmitter () {\r\n if (!Emitter) {\r\n Emitter = new Vue();\r\n }\r\n return Emitter\r\n }\r\n})();\r\n\r\nfunction apply (ctx, method, args) {\r\n return ctx[method].apply(ctx, args)\r\n}\r\n\r\nfunction $on () {\r\n return apply(getEmitter(), '$on', [...arguments])\r\n}\r\nfunction $off () {\r\n return apply(getEmitter(), '$off', [...arguments])\r\n}\r\nfunction $once () {\r\n return apply(getEmitter(), '$once', [...arguments])\r\n}\r\nfunction $emit () {\r\n return apply(getEmitter(), '$emit', [...arguments])\r\n}\r\n\r\nvar eventApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n $on: $on,\r\n $off: $off,\r\n $once: $once,\r\n $emit: $emit\r\n});\r\n\r\nvar api = /*#__PURE__*/Object.freeze({\r\n __proto__: null\r\n});\r\n\r\nconst MPPage = Page;\r\nconst MPComponent = Component;\r\n\r\nconst customizeRE = /:/g;\r\n\r\nconst customize = cached((str) => {\r\n return camelize(str.replace(customizeRE, '-'))\r\n});\r\n\r\nfunction initTriggerEvent (mpInstance) {\r\n {\r\n if (!wx.canIUse('nextTick')) {\r\n return\r\n }\r\n }\r\n const oldTriggerEvent = mpInstance.triggerEvent;\r\n mpInstance.triggerEvent = function (event, ...args) {\r\n return oldTriggerEvent.apply(mpInstance, [customize(event), ...args])\r\n };\r\n}\r\n\r\nfunction initHook (name, options) {\r\n const oldHook = options[name];\r\n if (!oldHook) {\r\n options[name] = function () {\r\n initTriggerEvent(this);\r\n };\r\n } else {\r\n options[name] = function (...args) {\r\n initTriggerEvent(this);\r\n return oldHook.apply(this, args)\r\n };\r\n }\r\n}\r\n\r\nPage = function (options = {}) {\r\n initHook('onLoad', options);\r\n return MPPage(options)\r\n};\r\n\r\nComponent = function (options = {}) {\r\n initHook('created', options);\r\n return MPComponent(options)\r\n};\r\n\r\nconst PAGE_EVENT_HOOKS = [\r\n 'onPullDownRefresh',\r\n 'onReachBottom',\r\n 'onShareAppMessage',\r\n 'onPageScroll',\r\n 'onResize',\r\n 'onTabItemTap'\r\n];\r\n\r\nfunction initMocks (vm, mocks) {\r\n const mpInstance = vm.$mp[vm.mpType];\r\n mocks.forEach(mock => {\r\n if (hasOwn(mpInstance, mock)) {\r\n vm[mock] = mpInstance[mock];\r\n }\r\n });\r\n}\r\n\r\nfunction hasHook (hook, vueOptions) {\r\n if (!vueOptions) {\r\n return true\r\n }\r\n\r\n if (Vue.options && Array.isArray(Vue.options[hook])) {\r\n return true\r\n }\r\n\r\n vueOptions = vueOptions.default || vueOptions;\r\n\r\n if (isFn(vueOptions)) {\r\n if (isFn(vueOptions.extendOptions[hook])) {\r\n return true\r\n }\r\n if (vueOptions.super &&\r\n vueOptions.super.options &&\r\n Array.isArray(vueOptions.super.options[hook])) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n if (isFn(vueOptions[hook])) {\r\n return true\r\n }\r\n const mixins = vueOptions.mixins;\r\n if (Array.isArray(mixins)) {\r\n return !!mixins.find(mixin => hasHook(hook, mixin))\r\n }\r\n}\r\n\r\nfunction initHooks (mpOptions, hooks, vueOptions) {\r\n hooks.forEach(hook => {\r\n if (hasHook(hook, vueOptions)) {\r\n mpOptions[hook] = function (args) {\r\n return this.$vm && this.$vm.__call_hook(hook, args)\r\n };\r\n }\r\n });\r\n}\r\n\r\nfunction initVueComponent (Vue, vueOptions) {\r\n vueOptions = vueOptions.default || vueOptions;\r\n let VueComponent;\r\n if (isFn(vueOptions)) {\r\n VueComponent = vueOptions;\r\n vueOptions = VueComponent.extendOptions;\r\n } else {\r\n VueComponent = Vue.extend(vueOptions);\r\n }\r\n return [VueComponent, vueOptions]\r\n}\r\n\r\nfunction initSlots (vm, vueSlots) {\r\n if (Array.isArray(vueSlots) && vueSlots.length) {\r\n const $slots = Object.create(null);\r\n vueSlots.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n vm.$scopedSlots = vm.$slots = $slots;\r\n }\r\n}\r\n\r\nfunction initVueIds (vueIds, mpInstance) {\r\n vueIds = (vueIds || '').split(',');\r\n const len = vueIds.length;\r\n\r\n if (len === 1) {\r\n mpInstance._$vueId = vueIds[0];\r\n } else if (len === 2) {\r\n mpInstance._$vueId = vueIds[0];\r\n mpInstance._$vuePid = vueIds[1];\r\n }\r\n}\r\n\r\nfunction initData (vueOptions, context) {\r\n let data = vueOptions.data || {};\r\n const methods = vueOptions.methods || {};\r\n\r\n if (typeof data === 'function') {\r\n try {\r\n data = data.call(context); // 支持 Vue.prototype 上挂的数据\r\n } catch (e) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);\r\n }\r\n }\r\n } else {\r\n try {\r\n // 对 data 格式化\r\n data = JSON.parse(JSON.stringify(data));\r\n } catch (e) {}\r\n }\r\n\r\n if (!isPlainObject(data)) {\r\n data = {};\r\n }\r\n\r\n Object.keys(methods).forEach(methodName => {\r\n if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) {\r\n data[methodName] = methods[methodName];\r\n }\r\n });\r\n\r\n return data\r\n}\r\n\r\nconst PROP_TYPES = [String, Number, Boolean, Object, Array, null];\r\n\r\nfunction createObserver (name) {\r\n return function observer (newVal, oldVal) {\r\n if (this.$vm) {\r\n this.$vm[name] = newVal; // 为了触发其他非 render watcher\r\n }\r\n }\r\n}\r\n\r\nfunction initBehaviors (vueOptions, initBehavior) {\r\n const vueBehaviors = vueOptions.behaviors;\r\n const vueExtends = vueOptions.extends;\r\n const vueMixins = vueOptions.mixins;\r\n\r\n let vueProps = vueOptions.props;\r\n\r\n if (!vueProps) {\r\n vueOptions.props = vueProps = [];\r\n }\r\n\r\n const behaviors = [];\r\n if (Array.isArray(vueBehaviors)) {\r\n vueBehaviors.forEach(behavior => {\r\n behaviors.push(behavior.replace('uni://', `${\"wx\"}://`));\r\n if (behavior === 'uni://form-field') {\r\n if (Array.isArray(vueProps)) {\r\n vueProps.push('name');\r\n vueProps.push('value');\r\n } else {\r\n vueProps.name = {\r\n type: String,\r\n default: ''\r\n };\r\n vueProps.value = {\r\n type: [String, Number, Boolean, Array, Object, Date],\r\n default: ''\r\n };\r\n }\r\n }\r\n });\r\n }\r\n if (isPlainObject(vueExtends) && vueExtends.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueExtends.props, true)\r\n })\r\n );\r\n }\r\n if (Array.isArray(vueMixins)) {\r\n vueMixins.forEach(vueMixin => {\r\n if (isPlainObject(vueMixin) && vueMixin.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueMixin.props, true)\r\n })\r\n );\r\n }\r\n });\r\n }\r\n return behaviors\r\n}\r\n\r\nfunction parsePropType (key, type, defaultValue, file) {\r\n // [String]=>String\r\n if (Array.isArray(type) && type.length === 1) {\r\n return type[0]\r\n }\r\n return type\r\n}\r\n\r\nfunction initProperties (props, isBehavior = false, file = '') {\r\n const properties = {};\r\n if (!isBehavior) {\r\n properties.vueId = {\r\n type: String,\r\n value: ''\r\n };\r\n properties.vueSlots = { // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots\r\n type: null,\r\n value: [],\r\n observer: function (newVal, oldVal) {\r\n const $slots = Object.create(null);\r\n newVal.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n this.setData({\r\n $slots\r\n });\r\n }\r\n };\r\n }\r\n if (Array.isArray(props)) { // ['title']\r\n props.forEach(key => {\r\n properties[key] = {\r\n type: null,\r\n observer: createObserver(key)\r\n };\r\n });\r\n } else if (isPlainObject(props)) { // {title:{type:String,default:''},content:String}\r\n Object.keys(props).forEach(key => {\r\n const opts = props[key];\r\n if (isPlainObject(opts)) { // title:{type:String,default:''}\r\n let value = opts.default;\r\n if (isFn(value)) {\r\n value = value();\r\n }\r\n\r\n opts.type = parsePropType(key, opts.type);\r\n\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null,\r\n value,\r\n observer: createObserver(key)\r\n };\r\n } else { // content:String\r\n const type = parsePropType(key, opts);\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(type) !== -1 ? type : null,\r\n observer: createObserver(key)\r\n };\r\n }\r\n });\r\n }\r\n return properties\r\n}\r\n\r\nfunction wrapper$1 (event) {\r\n // TODO 又得兼容 mpvue 的 mp 对象\r\n try {\r\n event.mp = JSON.parse(JSON.stringify(event));\r\n } catch (e) {}\r\n\r\n event.stopPropagation = noop;\r\n event.preventDefault = noop;\r\n\r\n event.target = event.target || {};\r\n\r\n if (!hasOwn(event, 'detail') || !event.detail) {\r\n event.detail = {};\r\n }\r\n\r\n if (!('markerId' in event.detail) && 'markerId' in event) {\r\n event.detail.markerId = event.markerId;\r\n }\r\n\r\n if (isPlainObject(event.detail)) {\r\n event.target = Object.assign({}, event.target, event.detail);\r\n }\r\n\r\n return event\r\n}\r\n\r\nfunction getExtraValue (vm, dataPathsArray) {\r\n let context = vm;\r\n dataPathsArray.forEach(dataPathArray => {\r\n const dataPath = dataPathArray[0];\r\n const value = dataPathArray[2];\r\n if (dataPath || typeof value !== 'undefined') { // ['','',index,'disable']\r\n const propPath = dataPathArray[1];\r\n const valuePath = dataPathArray[3];\r\n\r\n const vFor = dataPath ? vm.__get_value(dataPath, context) : context;\r\n\r\n if (Number.isInteger(vFor)) {\r\n context = value;\r\n } else if (!propPath) {\r\n context = vFor[value];\r\n } else {\r\n if (Array.isArray(vFor)) {\r\n context = vFor.find(vForItem => {\r\n return vm.__get_value(propPath, vForItem) === value\r\n });\r\n } else if (isPlainObject(vFor)) {\r\n context = Object.keys(vFor).find(vForKey => {\r\n return vm.__get_value(propPath, vFor[vForKey]) === value\r\n });\r\n } else {\r\n console.error('v-for 暂不支持循环数据:', vFor);\r\n }\r\n }\r\n\r\n if (valuePath) {\r\n context = vm.__get_value(valuePath, context);\r\n }\r\n }\r\n });\r\n return context\r\n}\r\n\r\nfunction processEventExtra (vm, extra, event) {\r\n const extraObj = {};\r\n\r\n if (Array.isArray(extra) && extra.length) {\r\n /**\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *'test'\r\n */\r\n extra.forEach((dataPath, index) => {\r\n if (typeof dataPath === 'string') {\r\n if (!dataPath) { // model,prop.sync\r\n extraObj['$' + index] = vm;\r\n } else {\r\n if (dataPath === '$event') { // $event\r\n extraObj['$' + index] = event;\r\n } else if (dataPath.indexOf('$event.') === 0) { // $event.target.value\r\n extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event);\r\n } else {\r\n extraObj['$' + index] = vm.__get_value(dataPath);\r\n }\r\n }\r\n } else {\r\n extraObj['$' + index] = getExtraValue(vm, dataPath);\r\n }\r\n });\r\n }\r\n\r\n return extraObj\r\n}\r\n\r\nfunction getObjByArray (arr) {\r\n const obj = {};\r\n for (let i = 1; i < arr.length; i++) {\r\n const element = arr[i];\r\n obj[element[0]] = element[1];\r\n }\r\n return obj\r\n}\r\n\r\nfunction processEventArgs (vm, event, args = [], extra = [], isCustom, methodName) {\r\n let isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象\r\n if (isCustom) { // 自定义事件\r\n isCustomMPEvent = event.currentTarget &&\r\n event.currentTarget.dataset &&\r\n event.currentTarget.dataset.comType === 'wx';\r\n if (!args.length) { // 无参数,直接传入 event 或 detail 数组\r\n if (isCustomMPEvent) {\r\n return [event]\r\n }\r\n return event.detail.__args__ || event.detail\r\n }\r\n }\r\n\r\n const extraObj = processEventExtra(vm, extra, event);\r\n\r\n const ret = [];\r\n args.forEach(arg => {\r\n if (arg === '$event') {\r\n if (methodName === '__set_model' && !isCustom) { // input v-model value\r\n ret.push(event.target.value);\r\n } else {\r\n if (isCustom && !isCustomMPEvent) {\r\n ret.push(event.detail.__args__[0]);\r\n } else { // wxcomponent 组件或内置组件\r\n ret.push(event);\r\n }\r\n }\r\n } else {\r\n if (Array.isArray(arg) && arg[0] === 'o') {\r\n ret.push(getObjByArray(arg));\r\n } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) {\r\n ret.push(extraObj[arg]);\r\n } else {\r\n ret.push(arg);\r\n }\r\n }\r\n });\r\n\r\n return ret\r\n}\r\n\r\nconst ONCE = '~';\r\nconst CUSTOM = '^';\r\n\r\nfunction isMatchEventType (eventType, optType) {\r\n return (eventType === optType) ||\r\n (\r\n optType === 'regionchange' &&\r\n (\r\n eventType === 'begin' ||\r\n eventType === 'end'\r\n )\r\n )\r\n}\r\n\r\nfunction handleEvent (event) {\r\n event = wrapper$1(event);\r\n\r\n // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]\r\n const dataset = (event.currentTarget || event.target).dataset;\r\n if (!dataset) {\r\n return console.warn('事件信息不存在')\r\n }\r\n const eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰\r\n if (!eventOpts) {\r\n return console.warn('事件信息不存在')\r\n }\r\n\r\n // [['handle',[1,2,a]],['handle1',[1,2,a]]]\r\n const eventType = event.type;\r\n\r\n const ret = [];\r\n\r\n eventOpts.forEach(eventOpt => {\r\n let type = eventOpt[0];\r\n const eventsArray = eventOpt[1];\r\n\r\n const isCustom = type.charAt(0) === CUSTOM;\r\n type = isCustom ? type.slice(1) : type;\r\n const isOnce = type.charAt(0) === ONCE;\r\n type = isOnce ? type.slice(1) : type;\r\n\r\n if (eventsArray && isMatchEventType(eventType, type)) {\r\n eventsArray.forEach(eventArray => {\r\n const methodName = eventArray[0];\r\n if (methodName) {\r\n let handlerCtx = this.$vm;\r\n if (\r\n handlerCtx.$options.generic &&\r\n handlerCtx.$parent &&\r\n handlerCtx.$parent.$parent\r\n ) { // mp-weixin,mp-toutiao 抽象节点模拟 scoped slots\r\n handlerCtx = handlerCtx.$parent.$parent;\r\n }\r\n if (methodName === '$emit') {\r\n handlerCtx.$emit.apply(handlerCtx,\r\n processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n ));\r\n return\r\n }\r\n const handler = handlerCtx[methodName];\r\n if (!isFn(handler)) {\r\n throw new Error(` _vm.${methodName} is not a function`)\r\n }\r\n if (isOnce) {\r\n if (handler.once) {\r\n return\r\n }\r\n handler.once = true;\r\n }\r\n ret.push(handler.apply(handlerCtx, processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n )));\r\n }\r\n });\r\n }\r\n });\r\n\r\n if (\r\n eventType === 'input' &&\r\n ret.length === 1 &&\r\n typeof ret[0] !== 'undefined'\r\n ) {\r\n return ret[0]\r\n }\r\n}\r\n\r\nconst hooks = [\r\n 'onShow',\r\n 'onHide',\r\n 'onError',\r\n 'onPageNotFound'\r\n];\r\n\r\nfunction parseBaseApp (vm, {\r\n mocks,\r\n initRefs\r\n}) {\r\n if (vm.$options.store) {\r\n Vue.prototype.$store = vm.$options.store;\r\n }\r\n\r\n Vue.prototype.mpHost = \"mp-weixin\";\r\n\r\n Vue.mixin({\r\n beforeCreate () {\r\n if (!this.$options.mpType) {\r\n return\r\n }\r\n\r\n this.mpType = this.$options.mpType;\r\n\r\n this.$mp = {\r\n data: {},\r\n [this.mpType]: this.$options.mpInstance\r\n };\r\n\r\n this.$scope = this.$options.mpInstance;\r\n\r\n delete this.$options.mpType;\r\n delete this.$options.mpInstance;\r\n\r\n if (this.mpType !== 'app') {\r\n initRefs(this);\r\n initMocks(this, mocks);\r\n }\r\n }\r\n });\r\n\r\n const appOptions = {\r\n onLaunch (args) {\r\n if (this.$vm) { // 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前\r\n return\r\n }\r\n {\r\n if (!wx.canIUse('nextTick')) { // 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断\r\n console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上');\r\n }\r\n }\r\n\r\n this.$vm = vm;\r\n\r\n this.$vm.$mp = {\r\n app: this\r\n };\r\n\r\n this.$vm.$scope = this;\r\n // vm 上也挂载 globalData\r\n this.$vm.globalData = this.globalData;\r\n\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted', args);\r\n\r\n this.$vm.__call_hook('onLaunch', args);\r\n }\r\n };\r\n\r\n // 兼容旧版本 globalData\r\n appOptions.globalData = vm.$options.globalData || {};\r\n // 将 methods 中的方法挂在 getApp() 中\r\n const methods = vm.$options.methods;\r\n if (methods) {\r\n Object.keys(methods).forEach(name => {\r\n appOptions[name] = methods[name];\r\n });\r\n }\r\n\r\n initHooks(appOptions, hooks);\r\n\r\n return appOptions\r\n}\r\n\r\nconst mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];\r\n\r\nfunction findVmByVueId (vm, vuePid) {\r\n const $children = vm.$children;\r\n // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200)\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n const childVm = $children[i];\r\n if (childVm.$scope._$vueId === vuePid) {\r\n return childVm\r\n }\r\n }\r\n // 反向递归查找\r\n let parentVm;\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n parentVm = findVmByVueId($children[i], vuePid);\r\n if (parentVm) {\r\n return parentVm\r\n }\r\n }\r\n}\r\n\r\nfunction initBehavior (options) {\r\n return Behavior(options)\r\n}\r\n\r\nfunction isPage () {\r\n return !!this.route\r\n}\r\n\r\nfunction initRelation (detail) {\r\n this.triggerEvent('__l', detail);\r\n}\r\n\r\nfunction initRefs (vm) {\r\n const mpInstance = vm.$scope;\r\n Object.defineProperty(vm, '$refs', {\r\n get () {\r\n const $refs = {};\r\n const components = mpInstance.selectAllComponents('.vue-ref');\r\n components.forEach(component => {\r\n const ref = component.dataset.ref;\r\n $refs[ref] = component.$vm || component;\r\n });\r\n const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for');\r\n forComponents.forEach(component => {\r\n const ref = component.dataset.ref;\r\n if (!$refs[ref]) {\r\n $refs[ref] = [];\r\n }\r\n $refs[ref].push(component.$vm || component);\r\n });\r\n return $refs\r\n }\r\n });\r\n}\r\n\r\nfunction handleLink (event) {\r\n const {\r\n vuePid,\r\n vueOptions\r\n } = event.detail || event.value; // detail 是微信,value 是百度(dipatch)\r\n\r\n let parentVm;\r\n\r\n if (vuePid) {\r\n parentVm = findVmByVueId(this.$vm, vuePid);\r\n }\r\n\r\n if (!parentVm) {\r\n parentVm = this.$vm;\r\n }\r\n\r\n vueOptions.parent = parentVm;\r\n}\r\n\r\nfunction parseApp (vm) {\r\n return parseBaseApp(vm, {\r\n mocks,\r\n initRefs\r\n })\r\n}\r\n\r\nfunction createApp (vm) {\r\n App(parseApp(vm));\r\n return vm\r\n}\r\n\r\nfunction parseBaseComponent (vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n} = {}) {\r\n const [VueComponent, vueOptions] = initVueComponent(Vue, vueComponentOptions);\r\n\r\n const options = {\r\n multipleSlots: true,\r\n addGlobalClass: true,\r\n ...(vueOptions.options || {})\r\n };\r\n\r\n {\r\n // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项\r\n if (vueOptions['mp-weixin'] && vueOptions['mp-weixin'].options) {\r\n Object.assign(options, vueOptions['mp-weixin'].options);\r\n }\r\n }\r\n\r\n const componentOptions = {\r\n options,\r\n data: initData(vueOptions, Vue.prototype),\r\n behaviors: initBehaviors(vueOptions, initBehavior),\r\n properties: initProperties(vueOptions.props, false, vueOptions.__file),\r\n lifetimes: {\r\n attached () {\r\n const properties = this.properties;\r\n\r\n const options = {\r\n mpType: isPage.call(this) ? 'page' : 'component',\r\n mpInstance: this,\r\n propsData: properties\r\n };\r\n\r\n initVueIds(properties.vueId, this);\r\n\r\n // 处理父子关系\r\n initRelation.call(this, {\r\n vuePid: this._$vuePid,\r\n vueOptions: options\r\n });\r\n\r\n // 初始化 vue 实例\r\n this.$vm = new VueComponent(options);\r\n\r\n // 处理$slots,$scopedSlots(暂不支持动态变化$slots)\r\n initSlots(this.$vm, properties.vueSlots);\r\n\r\n // 触发首次 setData\r\n this.$vm.$mount();\r\n },\r\n ready () {\r\n // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发\r\n // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800\r\n if (this.$vm) {\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted');\r\n this.$vm.__call_hook('onReady');\r\n }\r\n },\r\n detached () {\r\n this.$vm && this.$vm.$destroy();\r\n }\r\n },\r\n pageLifetimes: {\r\n show (args) {\r\n this.$vm && this.$vm.__call_hook('onPageShow', args);\r\n },\r\n hide () {\r\n this.$vm && this.$vm.__call_hook('onPageHide');\r\n },\r\n resize (size) {\r\n this.$vm && this.$vm.__call_hook('onPageResize', size);\r\n }\r\n },\r\n methods: {\r\n __l: handleLink,\r\n __e: handleEvent\r\n }\r\n };\r\n\r\n if (Array.isArray(vueOptions.wxsCallMethods)) {\r\n vueOptions.wxsCallMethods.forEach(callMethod => {\r\n componentOptions.methods[callMethod] = function (args) {\r\n return this.$vm[callMethod](args)\r\n };\r\n });\r\n }\r\n\r\n if (isPage) {\r\n return componentOptions\r\n }\r\n return [componentOptions, VueComponent]\r\n}\r\n\r\nfunction parseComponent (vueComponentOptions) {\r\n return parseBaseComponent(vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n })\r\n}\r\n\r\nconst hooks$1 = [\r\n 'onShow',\r\n 'onHide',\r\n 'onUnload'\r\n];\r\n\r\nhooks$1.push(...PAGE_EVENT_HOOKS);\r\n\r\nfunction parseBasePage (vuePageOptions, {\r\n isPage,\r\n initRelation\r\n}) {\r\n const pageOptions = parseComponent(vuePageOptions);\r\n\r\n initHooks(pageOptions.methods, hooks$1, vuePageOptions);\r\n\r\n pageOptions.methods.onLoad = function (args) {\r\n this.$vm.$mp.query = args; // 兼容 mpvue\r\n this.$vm.__call_hook('onLoad', args);\r\n };\r\n\r\n return pageOptions\r\n}\r\n\r\nfunction parsePage (vuePageOptions) {\r\n return parseBasePage(vuePageOptions, {\r\n isPage,\r\n initRelation\r\n })\r\n}\r\n\r\nfunction createPage (vuePageOptions) {\r\n {\r\n return Component(parsePage(vuePageOptions))\r\n }\r\n}\r\n\r\nfunction createComponent (vueOptions) {\r\n {\r\n return Component(parseComponent(vueOptions))\r\n }\r\n}\r\n\r\ntodos.forEach(todoApi => {\r\n protocols[todoApi] = false;\r\n});\r\n\r\ncanIUses.forEach(canIUseApi => {\r\n const apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name\r\n : canIUseApi;\r\n if (!wx.canIUse(apiName)) {\r\n protocols[canIUseApi] = false;\r\n }\r\n});\r\n\r\nlet uni = {};\r\n\r\nif (typeof Proxy !== 'undefined' && \"mp-weixin\" !== 'app-plus') {\r\n uni = new Proxy({}, {\r\n get (target, name) {\r\n if (target[name]) {\r\n return target[name]\r\n }\r\n if (baseApi[name]) {\r\n return baseApi[name]\r\n }\r\n if (api[name]) {\r\n return promisify(name, api[name])\r\n }\r\n {\r\n if (extraApi[name]) {\r\n return promisify(name, extraApi[name])\r\n }\r\n if (todoApis[name]) {\r\n return promisify(name, todoApis[name])\r\n }\r\n }\r\n if (eventApi[name]) {\r\n return eventApi[name]\r\n }\r\n if (!hasOwn(wx, name) && !hasOwn(protocols, name)) {\r\n return\r\n }\r\n return promisify(name, wrapper(name, wx[name]))\r\n },\r\n set (target, name, value) {\r\n target[name] = value;\r\n return true\r\n }\r\n });\r\n} else {\r\n Object.keys(baseApi).forEach(name => {\r\n uni[name] = baseApi[name];\r\n });\r\n\r\n {\r\n Object.keys(todoApis).forEach(name => {\r\n uni[name] = promisify(name, todoApis[name]);\r\n });\r\n Object.keys(extraApi).forEach(name => {\r\n uni[name] = promisify(name, todoApis[name]);\r\n });\r\n }\r\n\r\n Object.keys(eventApi).forEach(name => {\r\n uni[name] = eventApi[name];\r\n });\r\n\r\n Object.keys(api).forEach(name => {\r\n uni[name] = promisify(name, api[name]);\r\n });\r\n\r\n Object.keys(wx).forEach(name => {\r\n if (hasOwn(wx, name) || hasOwn(protocols, name)) {\r\n uni[name] = promisify(name, wrapper(name, wx[name]));\r\n }\r\n });\r\n}\r\n\r\nwx.createApp = createApp;\r\nwx.createPage = createPage;\r\nwx.createComponent = createComponent;\r\n\r\nvar uni$1 = uni;\r\n\r\nexport default uni$1;\r\nexport { createApp, createComponent, createPage };\r\n","/*!\n * Vue.js v2.6.11\n * (c) 2014-2020 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n {\n if(vm.$scope && vm.$scope.is){\n return vm.$scope.is\n }\n }\n if (vm.$root === vm) {\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n // fixed by xxxxxx (nvue vuex)\n /* eslint-disable no-undef */\n if(typeof SharedObject !== 'undefined'){\n this.id = SharedObject.uid++;\n } else {\n this.id = uid++;\n }\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.SharedObject.target) {\n Dep.SharedObject.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\n// fixed by xxxxxx (nvue shared vuex)\n/* eslint-disable no-undef */\nDep.SharedObject = typeof SharedObject !== 'undefined' ? SharedObject : {};\nDep.SharedObject.target = null;\nDep.SharedObject.targetStack = [];\n\nfunction pushTarget (target) {\n Dep.SharedObject.targetStack.push(target);\n Dep.SharedObject.target = target;\n}\n\nfunction popTarget () {\n Dep.SharedObject.targetStack.pop();\n Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑\n if(value.push !== value.__proto__.push){\n copyAugment(value, arrayMethods, arrayKeys);\n } else {\n protoAugment(value, arrayMethods);\n }\n }\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.SharedObject.target) { // fixed by xxxxxx\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\n/* */\n\n// fixed by xxxxxx (mp properties)\r\nfunction extractPropertiesFromVNodeData(data, Ctor, res, context) {\r\n var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties;\r\n if (isUndef(propOptions)) {\r\n return res\r\n }\n var externalClasses = Ctor.options.mpOptions.externalClasses || [];\r\n var attrs = data.attrs;\n var props = data.props;\r\n if (isDef(attrs) || isDef(props)) {\r\n for (var key in propOptions) {\r\n var altKey = hyphenate(key);\n var result = checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n // externalClass\n if (\n result &&\n res[key] &&\n externalClasses.indexOf(altKey) !== -1 &&\n context[camelize(res[key])]\n ) {\n // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串)\n res[key] = context[camelize(res[key])];\n }\r\n }\r\n }\r\n return res\r\n}\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag,\n context// fixed by xxxxxx\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, {}, context)\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, res, context)\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive$$1(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n // fixed by xxxxxx 临时 hack 掉 uni-app 中的异步 name slot page\n if(child.asyncMeta && child.asyncMeta.data && child.asyncMeta.data.slot === 'page'){\n (slots['page'] || (slots['page'] = [])).push(child);\n }else{\n (slots.default || (slots.default = [])).push(child);\n }\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n return res && (\n res.length === 0 ||\n (res.length === 1 && res[0].isComment) // #9658\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i, i, i); // fixed by xxxxxx\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i, i, i); // fixed by xxxxxx\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length, i++, i)); // fixed by xxxxxx\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i, i); // fixed by xxxxxx\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n // fixed by xxxxxx app-plus scopedSlot\n nodes = scopedSlotFn(props, this, props._i) || fallback;\n } else {\n nodes = this.$slots[name] || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a special value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n callHook(componentInstance, 'onServiceCreated');\n callHook(componentInstance, 'onServiceAttached');\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag, context); // fixed by xxxxxx\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent // activeInstance in lifecycle state\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn)) {\n warn(\n (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n context\n );\n }\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack because all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n \n // fixed by xxxxxx update properties(mp runtime)\n vm._$updateProperties && vm._$updateProperties(vm);\n \n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n {\n if(vm.mpHost === 'mp-baidu'){//百度 observer 在 setData callback 之后触发,直接忽略该 warn\n return\n }\n //fixed by xxxxxx __next_tick_pending,uni://form-field 时不告警\n if(\n key === 'value' && \n Array.isArray(vm.$options.behaviors) &&\n vm.$options.behaviors.indexOf('uni://form-field') !== -1\n ){\n return\n }\n if(vm._getFormData){\n return\n }\n var $parent = vm.$parent;\n while($parent){\n if($parent.__next_tick_pending){\n return \n }\n $parent = $parent.$parent;\n }\n }\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive$$1(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.SharedObject.target) {// fixed by xxxxxx\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n try {\n cb.call(vm, watcher.value);\n } catch (error) {\n handleError(error, vm, (\"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\"));\n }\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n !vm._$fallback && initInjections(vm); // resolve injections before data/props \n initState(vm);\n !vm._$fallback && initProvide(vm); // resolve provide after data/props\n !vm._$fallback && callHook(vm, 'created'); \n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.11';\n\n/**\n * https://raw.githubusercontent.com/Tencent/westore/master/packages/westore/utils/diff.js\n */\nvar ARRAYTYPE = '[object Array]';\nvar OBJECTTYPE = '[object Object]';\n// const FUNCTIONTYPE = '[object Function]'\n\nfunction diff(current, pre) {\n var result = {};\n syncKeys(current, pre);\n _diff(current, pre, '', result);\n return result\n}\n\nfunction syncKeys(current, pre) {\n if (current === pre) { return }\n var rootCurrentType = type(current);\n var rootPreType = type(pre);\n if (rootCurrentType == OBJECTTYPE && rootPreType == OBJECTTYPE) {\n if(Object.keys(current).length >= Object.keys(pre).length){\n for (var key in pre) {\n var currentValue = current[key];\n if (currentValue === undefined) {\n current[key] = null;\n } else {\n syncKeys(currentValue, pre[key]);\n }\n }\n }\n } else if (rootCurrentType == ARRAYTYPE && rootPreType == ARRAYTYPE) {\n if (current.length >= pre.length) {\n pre.forEach(function (item, index) {\n syncKeys(current[index], item);\n });\n }\n }\n}\n\nfunction _diff(current, pre, path, result) {\n if (current === pre) { return }\n var rootCurrentType = type(current);\n var rootPreType = type(pre);\n if (rootCurrentType == OBJECTTYPE) {\n if (rootPreType != OBJECTTYPE || Object.keys(current).length < Object.keys(pre).length) {\n setResult(result, path, current);\n } else {\n var loop = function ( key ) {\n var currentValue = current[key];\n var preValue = pre[key];\n var currentType = type(currentValue);\n var preType = type(preValue);\n if (currentType != ARRAYTYPE && currentType != OBJECTTYPE) {\n if (currentValue != pre[key]) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n }\n } else if (currentType == ARRAYTYPE) {\n if (preType != ARRAYTYPE) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n if (currentValue.length < preValue.length) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n currentValue.forEach(function (item, index) {\n _diff(item, preValue[index], (path == '' ? '' : path + \".\") + key + '[' + index + ']', result);\n });\n }\n }\n } else if (currentType == OBJECTTYPE) {\n if (preType != OBJECTTYPE || Object.keys(currentValue).length < Object.keys(preValue).length) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n for (var subKey in currentValue) {\n _diff(currentValue[subKey], preValue[subKey], (path == '' ? '' : path + \".\") + key + '.' + subKey, result);\n }\n }\n }\n };\n\n for (var key in current) loop( key );\n }\n } else if (rootCurrentType == ARRAYTYPE) {\n if (rootPreType != ARRAYTYPE) {\n setResult(result, path, current);\n } else {\n if (current.length < pre.length) {\n setResult(result, path, current);\n } else {\n current.forEach(function (item, index) {\n _diff(item, pre[index], path + '[' + index + ']', result);\n });\n }\n }\n } else {\n setResult(result, path, current);\n }\n}\n\nfunction setResult(result, k, v) {\n // if (type(v) != FUNCTIONTYPE) {\n result[k] = v;\n // }\n}\n\nfunction type(obj) {\n return Object.prototype.toString.call(obj)\n}\n\n/* */\r\n\r\nfunction flushCallbacks$1(vm) {\r\n if (vm.__next_tick_callbacks && vm.__next_tick_callbacks.length) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n var mpInstance = vm.$scope;\r\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +\r\n ']:flushCallbacks[' + vm.__next_tick_callbacks.length + ']');\r\n }\r\n var copies = vm.__next_tick_callbacks.slice(0);\r\n vm.__next_tick_callbacks.length = 0;\r\n for (var i = 0; i < copies.length; i++) {\r\n copies[i]();\r\n }\r\n }\r\n}\r\n\r\nfunction hasRenderWatcher(vm) {\r\n return queue.find(function (watcher) { return vm._watcher === watcher; })\r\n}\r\n\r\nfunction nextTick$1(vm, cb) {\r\n //1.nextTick 之前 已 setData 且 setData 还未回调完成\r\n //2.nextTick 之前存在 render watcher\r\n if (!vm.__next_tick_pending && !hasRenderWatcher(vm)) {\n if(process.env.VUE_APP_DEBUG){\n var mpInstance = vm.$scope;\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +\n ']:nextVueTick');\n }\r\n return nextTick(cb, vm)\r\n }else{\n if(process.env.VUE_APP_DEBUG){\n var mpInstance$1 = vm.$scope;\n console.log('[' + (+new Date) + '][' + (mpInstance$1.is || mpInstance$1.route) + '][' + vm._uid +\n ']:nextMPTick');\n }\n }\r\n var _resolve;\r\n if (!vm.__next_tick_callbacks) {\r\n vm.__next_tick_callbacks = [];\r\n }\r\n vm.__next_tick_callbacks.push(function () {\r\n if (cb) {\r\n try {\r\n cb.call(vm);\r\n } catch (e) {\r\n handleError(e, vm, 'nextTick');\r\n }\r\n } else if (_resolve) {\r\n _resolve(vm);\r\n }\r\n });\r\n // $flow-disable-line\r\n if (!cb && typeof Promise !== 'undefined') {\r\n return new Promise(function (resolve) {\r\n _resolve = resolve;\r\n })\r\n }\r\n}\n\n/* */\r\n\r\nfunction cloneWithData(vm) {\r\n // 确保当前 vm 所有数据被同步\r\n var ret = Object.create(null);\r\n var dataKeys = [].concat(\r\n Object.keys(vm._data || {}),\r\n Object.keys(vm._computedWatchers || {}));\r\n\r\n dataKeys.reduce(function(ret, key) {\r\n ret[key] = vm[key];\r\n return ret\r\n }, ret);\r\n //TODO 需要把无用数据处理掉,比如 list=>l0 则 list 需要移除,否则多传输一份数据\r\n Object.assign(ret, vm.$mp.data || {});\r\n if (\r\n Array.isArray(vm.$options.behaviors) &&\r\n vm.$options.behaviors.indexOf('uni://form-field') !== -1\r\n ) { //form-field\r\n ret['name'] = vm.name;\r\n ret['value'] = vm.value;\r\n }\r\n\r\n return JSON.parse(JSON.stringify(ret))\r\n}\r\n\r\nvar patch = function(oldVnode, vnode) {\n var this$1 = this;\n\r\n if (vnode === null) { //destroy\r\n return\r\n }\r\n if (this.mpType === 'page' || this.mpType === 'component') {\r\n var mpInstance = this.$scope;\r\n var data = Object.create(null);\r\n try {\r\n data = cloneWithData(this);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n data.__webviewId__ = mpInstance.data.__webviewId__;\r\n var mpData = Object.create(null);\r\n Object.keys(data).forEach(function (key) { //仅同步 data 中有的数据\r\n mpData[key] = mpInstance.data[key];\r\n });\r\n var diffData = this.$shouldDiffData === false ? data : diff(data, mpData);\r\n if (Object.keys(diffData).length) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid +\r\n ']差量更新',\r\n JSON.stringify(diffData));\r\n }\r\n this.__next_tick_pending = true;\r\n mpInstance.setData(diffData, function () {\r\n this$1.__next_tick_pending = false;\r\n flushCallbacks$1(this$1);\r\n });\r\n } else {\r\n flushCallbacks$1(this);\r\n }\r\n }\r\n};\n\n/* */\n\nfunction createEmptyRender() {\n\n}\n\nfunction mountComponent$1(\n vm,\n el,\n hydrating\n) {\n if (!vm.mpType) {//main.js 中的 new Vue\n return vm\n }\n if (vm.mpType === 'app') {\n vm.$options.render = createEmptyRender;\n }\n if (!vm.$options.render) {\n vm.$options.render = createEmptyRender;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n \n !vm._$fallback && callHook(vm, 'beforeMount');\n\n var updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before() {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n return vm\n}\n\n/* */\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/* */\r\n\r\nvar MP_METHODS = ['createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', 'selectComponent'];\r\n\r\nfunction getTarget(obj, path) {\r\n var parts = path.split('.');\r\n var key = parts[0];\r\n if (key.indexOf('__$n') === 0) { //number index\r\n key = parseInt(key.replace('__$n', ''));\r\n }\r\n if (parts.length === 1) {\r\n return obj[key]\r\n }\r\n return getTarget(obj[key], parts.slice(1).join('.'))\r\n}\r\n\r\nfunction internalMixin(Vue) {\r\n\r\n Vue.config.errorHandler = function(err) {\n console.error(err);\n /* eslint-disable no-undef */\r\n var app = getApp();\r\n if (app && app.onError) {\r\n app.onError(err);\r\n }\r\n };\r\n\r\n var oldEmit = Vue.prototype.$emit;\r\n\r\n Vue.prototype.$emit = function(event) {\r\n if (this.$scope && event) {\r\n this.$scope['triggerEvent'](event, {\r\n __args__: toArray(arguments, 1)\r\n });\r\n }\r\n return oldEmit.apply(this, arguments)\r\n };\r\n\r\n Vue.prototype.$nextTick = function(fn) {\r\n return nextTick$1(this, fn)\r\n };\r\n\r\n MP_METHODS.forEach(function (method) {\r\n Vue.prototype[method] = function(args) {\r\n if (this.$scope && this.$scope[method]) {\r\n return this.$scope[method](args)\r\n }\r\n // mp-alipay\r\n if (typeof my === 'undefined') {\r\n return\r\n }\r\n if (method === 'createSelectorQuery') {\r\n /* eslint-disable no-undef */\r\n return my.createSelectorQuery(args)\r\n } else if (method === 'createIntersectionObserver') {\r\n /* eslint-disable no-undef */\r\n return my.createIntersectionObserver(args)\r\n }\r\n // TODO mp-alipay 暂不支持 selectAllComponents,selectComponent\r\n };\r\n });\r\n\r\n Vue.prototype.__init_provide = initProvide;\r\n\r\n Vue.prototype.__init_injections = initInjections;\r\n\r\n Vue.prototype.__call_hook = function(hook, args) {\r\n var vm = this;\r\n // #7573 disable dep collection when invoking lifecycle hooks\r\n pushTarget();\r\n var handlers = vm.$options[hook];\r\n var info = hook + \" hook\";\r\n var ret;\r\n if (handlers) {\r\n for (var i = 0, j = handlers.length; i < j; i++) {\r\n ret = invokeWithErrorHandling(handlers[i], vm, args ? [args] : null, vm, info);\r\n }\r\n }\r\n if (vm._hasHookEvent) {\r\n vm.$emit('hook:' + hook, args);\r\n }\r\n popTarget();\r\n return ret\r\n };\r\n\r\n Vue.prototype.__set_model = function(target, key, value, modifiers) {\r\n if (Array.isArray(modifiers)) {\r\n if (modifiers.indexOf('trim') !== -1) {\r\n value = value.trim();\r\n }\r\n if (modifiers.indexOf('number') !== -1) {\r\n value = this._n(value);\r\n }\r\n }\r\n if (!target) {\r\n target = this;\r\n }\r\n target[key] = value;\r\n };\r\n\r\n Vue.prototype.__set_sync = function(target, key, value) {\r\n if (!target) {\r\n target = this;\r\n }\r\n target[key] = value;\r\n };\r\n\r\n Vue.prototype.__get_orig = function(item) {\r\n if (isPlainObject(item)) {\r\n return item['$orig'] || item\r\n }\r\n return item\r\n };\r\n\r\n Vue.prototype.__get_value = function(dataPath, target) {\r\n return getTarget(target || this, dataPath)\r\n };\r\n\r\n\r\n Vue.prototype.__get_class = function(dynamicClass, staticClass) {\r\n return renderClass(staticClass, dynamicClass)\r\n };\r\n\r\n Vue.prototype.__get_style = function(dynamicStyle, staticStyle) {\r\n if (!dynamicStyle && !staticStyle) {\r\n return ''\r\n }\r\n var dynamicStyleObj = normalizeStyleBinding(dynamicStyle);\r\n var styleObj = staticStyle ? extend(staticStyle, dynamicStyleObj) : dynamicStyleObj;\r\n return Object.keys(styleObj).map(function (name) { return ((hyphenate(name)) + \":\" + (styleObj[name])); }).join(';')\r\n };\r\n\r\n Vue.prototype.__map = function(val, iteratee) {\r\n //TODO 暂不考虑 string,number\r\n var ret, i, l, keys, key;\r\n if (Array.isArray(val)) {\r\n ret = new Array(val.length);\r\n for (i = 0, l = val.length; i < l; i++) {\r\n ret[i] = iteratee(val[i], i);\r\n }\r\n return ret\r\n } else if (isObject(val)) {\r\n keys = Object.keys(val);\r\n ret = Object.create(null);\r\n for (i = 0, l = keys.length; i < l; i++) {\r\n key = keys[i];\r\n ret[key] = iteratee(val[key], key, i);\r\n }\r\n return ret\r\n }\r\n return []\r\n };\r\n\r\n}\n\n/* */\r\n\r\nvar LIFECYCLE_HOOKS$1 = [\r\n //App\r\n 'onLaunch',\r\n 'onShow',\r\n 'onHide',\r\n 'onUniNViewMessage',\n 'onError',\r\n //Page\r\n 'onLoad',\r\n // 'onShow',\r\n 'onReady',\r\n // 'onHide',\r\n 'onUnload',\r\n 'onPullDownRefresh',\r\n 'onReachBottom',\r\n 'onTabItemTap',\r\n 'onShareAppMessage',\n 'onResize',\r\n 'onPageScroll',\r\n 'onNavigationBarButtonTap',\r\n 'onBackPress',\r\n 'onNavigationBarSearchInputChanged',\r\n 'onNavigationBarSearchInputConfirmed',\r\n 'onNavigationBarSearchInputClicked',\r\n //Component\r\n // 'onReady', // 兼容旧版本,应该移除该事件\r\n 'onPageShow',\r\n 'onPageHide',\r\n 'onPageResize'\r\n];\r\nfunction lifecycleMixin$1(Vue) {\r\n\r\n //fixed vue-class-component\r\n var oldExtend = Vue.extend;\r\n Vue.extend = function(extendOptions) {\r\n extendOptions = extendOptions || {};\r\n\r\n var methods = extendOptions.methods;\r\n if (methods) {\r\n Object.keys(methods).forEach(function (methodName) {\r\n if (LIFECYCLE_HOOKS$1.indexOf(methodName)!==-1) {\r\n extendOptions[methodName] = methods[methodName];\r\n delete methods[methodName];\r\n }\r\n });\r\n }\r\n\r\n return oldExtend.call(this, extendOptions)\r\n };\r\n\r\n var strategies = Vue.config.optionMergeStrategies;\r\n var mergeHook = strategies.created;\r\n LIFECYCLE_HOOKS$1.forEach(function (hook) {\r\n strategies[hook] = mergeHook;\r\n });\r\n\r\n Vue.prototype.__lifecycle_hooks__ = LIFECYCLE_HOOKS$1;\r\n}\n\n/* */\r\n\n// install platform patch function\r\nVue.prototype.__patch__ = patch;\r\n\r\n// public mount method\r\nVue.prototype.$mount = function(\r\n el ,\r\n hydrating \r\n) {\r\n return mountComponent$1(this, el, hydrating)\r\n};\r\n\r\nlifecycleMixin$1(Vue);\r\ninternalMixin(Vue);\n\n/* */\n\nexport default Vue;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import { version } from '../package.json';\r\n\r\nconst STAT_VERSION = version;\r\nconst STAT_URL = 'https://tongji.dcloud.io/uni/stat';\r\nconst STAT_H5_URL = 'https://tongji.dcloud.io/uni/stat.gif'; \r\nconst PAGE_PVER_TIME = 1800;\r\nconst APP_PVER_TIME = 300;\r\nconst OPERATING_TIME = 10;\r\n\r\nconst UUID_KEY = '__DC_STAT_UUID';\r\nconst UUID_VALUE = '__DC_UUID_VALUE';\r\n\r\nfunction getUuid() {\r\n let uuid = '';\r\n if (getPlatformName() === 'n') {\r\n try {\r\n uuid = plus.runtime.getDCloudId();\r\n } catch (e) {\r\n uuid = '';\r\n }\r\n return uuid\r\n }\r\n\r\n try {\r\n uuid = uni.getStorageSync(UUID_KEY);\r\n } catch (e) {\r\n uuid = UUID_VALUE;\r\n }\r\n\r\n if (!uuid) {\r\n uuid = Date.now() + '' + Math.floor(Math.random() * 1e7);\r\n try {\r\n uni.setStorageSync(UUID_KEY, uuid);\r\n } catch (e) {\r\n uni.setStorageSync(UUID_KEY, UUID_VALUE);\r\n }\r\n }\r\n return uuid;\r\n}\r\n\r\nconst getSgin = (statData) => {\r\n let arr = Object.keys(statData);\r\n let sortArr = arr.sort();\r\n let sgin = {};\r\n let sginStr = '';\r\n for (var i in sortArr) {\r\n sgin[sortArr[i]] = statData[sortArr[i]];\r\n sginStr += sortArr[i] + '=' + statData[sortArr[i]] + '&';\r\n }\r\n // const options = sginStr.substr(0, sginStr.length - 1)\r\n // sginStr = sginStr.substr(0, sginStr.length - 1) + '&key=' + STAT_KEY;\r\n // const si = crypto.createHash('md5').update(sginStr).digest('hex');\r\n return {\r\n sign: '',\r\n options: sginStr.substr(0, sginStr.length - 1)\r\n };\r\n};\r\n\r\nconst getSplicing = (data) => {\r\n let str = '';\r\n for (var i in data) {\r\n str += i + '=' + data[i] + '&';\r\n }\r\n return str.substr(0, str.length - 1)\r\n};\r\n\r\nconst getTime = () => {\r\n return parseInt(new Date().getTime() / 1000);\r\n};\r\n\r\nconst getPlatformName = () => {\r\n const platformList = {\r\n 'app-plus': 'n',\r\n 'h5': 'h5',\r\n 'mp-weixin': 'wx',\r\n 'mp-alipay': 'ali',\r\n 'mp-baidu': 'bd',\r\n 'mp-toutiao': 'tt',\r\n 'mp-qq': 'qq'\r\n };\r\n return platformList[process.env.VUE_APP_PLATFORM];\r\n};\r\n\r\nconst getPackName = () => {\r\n let packName = '';\r\n if (getPlatformName() === 'wx' || getPlatformName() === 'qq') {\r\n // 兼容微信小程序低版本基础库\r\n if(uni.canIUse('getAccountInfoSync')){\r\n packName = uni.getAccountInfoSync().miniProgram.appId || '';\r\n }\r\n }\r\n return packName\r\n};\r\n\r\nconst getVersion = () => {\r\n return getPlatformName() === 'n' ? plus.runtime.version : '';\r\n};\r\n\r\nconst getChannel = () => {\r\n const platformName = getPlatformName();\r\n let channel = '';\r\n if (platformName === 'n') {\r\n channel = plus.runtime.channel;\r\n }\r\n return channel;\r\n};\r\n\r\nconst getScene = (options) => {\r\n const platformName = getPlatformName();\r\n let scene = '';\r\n if (options) {\r\n return options;\r\n }\r\n if (platformName === 'wx') {\r\n scene = uni.getLaunchOptionsSync().scene;\r\n }\r\n return scene;\r\n};\r\nconst First__Visit__Time__KEY = 'First__Visit__Time';\r\nconst Last__Visit__Time__KEY = 'Last__Visit__Time';\r\n\r\nconst getFirstVisitTime = () => {\r\n const timeStorge = uni.getStorageSync(First__Visit__Time__KEY);\r\n let time = 0;\r\n if (timeStorge) {\r\n time = timeStorge;\r\n } else {\r\n time = getTime();\r\n uni.setStorageSync(First__Visit__Time__KEY, time);\r\n uni.removeStorageSync(Last__Visit__Time__KEY);\r\n }\r\n return time;\r\n};\r\n\r\nconst getLastVisitTime = () => {\r\n const timeStorge = uni.getStorageSync(Last__Visit__Time__KEY);\r\n let time = 0;\r\n if (timeStorge) {\r\n time = timeStorge;\r\n } else {\r\n time = '';\r\n }\r\n uni.setStorageSync(Last__Visit__Time__KEY, getTime());\r\n return time;\r\n};\r\n\r\n\r\nconst PAGE_RESIDENCE_TIME = '__page__residence__time';\r\nlet First_Page_residence_time = 0;\r\nlet Last_Page_residence_time = 0;\r\n\r\n\r\nconst setPageResidenceTime = () => {\r\n First_Page_residence_time = getTime();\r\n if (getPlatformName() === 'n') {\r\n uni.setStorageSync(PAGE_RESIDENCE_TIME, getTime());\r\n }\r\n return First_Page_residence_time\r\n};\r\n\r\nconst getPageResidenceTime = () => {\r\n Last_Page_residence_time = getTime();\r\n if (getPlatformName() === 'n') {\r\n First_Page_residence_time = uni.getStorageSync(PAGE_RESIDENCE_TIME);\r\n }\r\n return Last_Page_residence_time - First_Page_residence_time\r\n};\r\nconst TOTAL__VISIT__COUNT = 'Total__Visit__Count';\r\nconst getTotalVisitCount = () => {\r\n const timeStorge = uni.getStorageSync(TOTAL__VISIT__COUNT);\r\n let count = 1;\r\n if (timeStorge) {\r\n count = timeStorge;\r\n count++;\r\n }\r\n uni.setStorageSync(TOTAL__VISIT__COUNT, count);\r\n return count;\r\n};\r\n\r\nconst GetEncodeURIComponentOptions = (statData) => {\r\n let data = {};\r\n for (let prop in statData) {\r\n data[prop] = encodeURIComponent(statData[prop]);\r\n }\r\n return data;\r\n};\r\n\r\nlet Set__First__Time = 0;\r\nlet Set__Last__Time = 0;\r\n\r\nconst getFirstTime = () => {\r\n let time = new Date().getTime();\r\n Set__First__Time = time;\r\n Set__Last__Time = 0;\r\n return time;\r\n};\r\n\r\n\r\nconst getLastTime = () => {\r\n let time = new Date().getTime();\r\n Set__Last__Time = time;\r\n return time;\r\n};\r\n\r\n\r\nconst getResidenceTime = (type) => {\r\n let residenceTime = 0;\r\n if (Set__First__Time !== 0) {\r\n residenceTime = Set__Last__Time - Set__First__Time;\r\n }\r\n\r\n residenceTime = parseInt(residenceTime / 1000);\r\n residenceTime = residenceTime < 1 ? 1 : residenceTime;\r\n if (type === 'app') {\r\n let overtime = residenceTime > APP_PVER_TIME ? true : false;\r\n return {\r\n residenceTime,\r\n overtime\r\n };\r\n }\r\n if (type === 'page') {\r\n let overtime = residenceTime > PAGE_PVER_TIME ? true : false;\r\n return {\r\n residenceTime,\r\n overtime\r\n };\r\n }\r\n\r\n return {\r\n residenceTime\r\n };\r\n\r\n};\r\n\r\nconst getRoute = () => {\r\n var pages = getCurrentPages();\r\n var page = pages[pages.length - 1];\r\n let _self = page.$vm;\r\n\r\n if (getPlatformName() === 'bd') {\r\n return _self.$mp && _self.$mp.page.is;\r\n } else {\r\n return (_self.$scope && _self.$scope.route) || (_self.$mp && _self.$mp.page.route);\r\n }\r\n};\r\n\r\nconst getPageRoute = (self) => {\r\n var pages = getCurrentPages();\r\n var page = pages[pages.length - 1];\r\n let _self = page.$vm;\r\n let query = self._query;\r\n let str = query && JSON.stringify(query) !== '{}' ? '?' + JSON.stringify(query) : '';\r\n // clear\r\n self._query = '';\r\n if (getPlatformName() === 'bd') {\r\n return _self.$mp && _self.$mp.page.is + str;\r\n } else {\r\n return (_self.$scope && _self.$scope.route + str )|| (_self.$mp && _self.$mp.page.route + str);\r\n }\r\n};\r\n\r\nconst getPageTypes = (self) => {\r\n if (self.mpType === 'page' || (self.$mp && self.$mp.mpType === 'page') || self.$options.mpType === 'page') {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nconst calibration = (eventName, options) => {\r\n // login 、 share 、pay_success 、pay_fail 、register 、title\r\n if(!eventName){\r\n console.error(`uni.report 缺少 [eventName] 参数`);\r\n return true\r\n }\r\n if (typeof eventName !== 'string') {\r\n console.error(`uni.report [eventName] 参数类型错误,只能为 String 类型`);\r\n return true\r\n }\r\n if (eventName.length > 255) {\r\n console.error(`uni.report [eventName] 参数长度不能大于 255`);\r\n return true\r\n }\r\n\r\n if (typeof options !== 'string' && typeof options !== 'object') {\r\n console.error(`uni.report [options] 参数类型错误,只能为 String 或 Object 类型`);\r\n return true\r\n }\r\n\r\n if (typeof options === 'string' && options.length > 255) {\r\n console.error(`uni.report [options] 参数长度不能大于 255`);\r\n return true\r\n }\r\n\r\n if (eventName === 'title' && typeof options !== 'string') {\r\n console.error('uni.report [eventName] 参数为 title 时,[options] 参数只能为 String 类型');\r\n return true\r\n }\r\n};\r\n\r\nconst PagesJson = require('uni-pages?{\"type\":\"style\"}').default;\r\nconst statConfig = require('uni-stat-config').default || require('uni-stat-config');\r\n\r\nconst resultOptions = uni.getSystemInfoSync();\r\n\r\nclass Util {\r\n constructor() {\r\n this.self = '';\r\n this._retry = 0;\r\n this._platform = '';\r\n this._query = {};\r\n this._navigationBarTitle = {\r\n config: '',\r\n page: '',\r\n report: '',\r\n lt: ''\r\n };\r\n this._operatingTime = 0;\r\n this._reportingRequestData = {\r\n '1': [],\r\n '11': []\r\n };\r\n this.__prevent_triggering = false;\r\n\r\n this.__licationHide = false;\r\n this.__licationShow = false;\r\n this._lastPageRoute = '';\r\n this.statData = {\r\n uuid: getUuid(),\r\n ut: getPlatformName(),\r\n mpn: getPackName(),\r\n ak: statConfig.appid,\r\n usv: STAT_VERSION,\r\n v: getVersion(),\r\n ch: getChannel(),\r\n cn: '',\r\n pn: '',\r\n ct: '',\r\n t: getTime(),\r\n tt: '',\r\n p: resultOptions.platform === 'android' ? 'a' : 'i',\r\n brand: resultOptions.brand || '',\r\n md: resultOptions.model,\r\n sv: resultOptions.system.replace(/(Android|iOS)\\s/, ''),\r\n mpsdk: resultOptions.SDKVersion || '',\r\n mpv: resultOptions.version || '',\r\n lang: resultOptions.language,\r\n pr: resultOptions.pixelRatio,\r\n ww: resultOptions.windowWidth,\r\n wh: resultOptions.windowHeight,\r\n sw: resultOptions.screenWidth,\r\n sh: resultOptions.screenHeight\r\n };\r\n\r\n }\r\n\r\n _applicationShow() {\r\n if (this.__licationHide) {\r\n getLastTime();\r\n const time = getResidenceTime('app');\r\n if (time.overtime) {\r\n let options = {\r\n path: this._lastPageRoute,\r\n scene: this.statData.sc\r\n };\r\n this._sendReportRequest(options);\r\n }\r\n this.__licationHide = false;\r\n }\r\n }\r\n\r\n _applicationHide(self, type) {\r\n\r\n this.__licationHide = true;\r\n getLastTime();\r\n const time = getResidenceTime();\r\n getFirstTime();\r\n const route = getPageRoute(this);\r\n this._sendHideRequest({\r\n urlref: route,\r\n urlref_ts: time.residenceTime\r\n }, type);\r\n }\r\n\r\n _pageShow() {\r\n const route = getPageRoute(this);\r\n const routepath = getRoute();\r\n this._navigationBarTitle.config = PagesJson &&\r\n PagesJson.pages[routepath] &&\r\n PagesJson.pages[routepath].titleNView &&\r\n PagesJson.pages[routepath].titleNView.titleText ||\r\n PagesJson &&\r\n PagesJson.pages[routepath] &&\r\n PagesJson.pages[routepath].navigationBarTitleText || '';\r\n\r\n if (this.__licationShow) {\r\n getFirstTime();\r\n this.__licationShow = false;\r\n // console.log('这是 onLauch 之后执行的第一次 pageShow ,为下次记录时间做准备');\r\n this._lastPageRoute = route;\r\n return;\r\n }\r\n\r\n getLastTime();\r\n this._lastPageRoute = route;\r\n const time = getResidenceTime('page');\r\n if (time.overtime) {\r\n let options = {\r\n path: this._lastPageRoute,\r\n scene: this.statData.sc\r\n };\r\n this._sendReportRequest(options);\r\n }\r\n getFirstTime();\r\n }\r\n\r\n _pageHide() {\r\n if (!this.__licationHide) {\r\n getLastTime();\r\n const time = getResidenceTime('page');\r\n this._sendPageRequest({\r\n url: this._lastPageRoute,\r\n urlref: this._lastPageRoute,\r\n urlref_ts: time.residenceTime\r\n });\r\n this._navigationBarTitle = {\r\n config: '',\r\n page: '',\r\n report: '',\r\n lt: ''\r\n };\r\n return;\r\n }\r\n }\r\n\r\n _login() {\r\n this._sendEventRequest({\r\n key: 'login'\r\n }, 0);\r\n }\r\n\r\n _share() {\r\n this._sendEventRequest({\r\n key: 'share'\r\n }, 0);\r\n }\r\n _payment(key) {\r\n this._sendEventRequest({\r\n key\r\n }, 0);\r\n }\r\n _sendReportRequest(options) {\r\n\r\n this._navigationBarTitle.lt = '1';\r\n let query = options.query && JSON.stringify(options.query) !== '{}' ? '?' + JSON.stringify(options.query) : '';\r\n this.statData.lt = '1';\r\n this.statData.url = (options.path + query) || '';\r\n this.statData.t = getTime();\r\n this.statData.sc = getScene(options.scene);\r\n this.statData.fvts = getFirstVisitTime();\r\n this.statData.lvts = getLastVisitTime();\r\n this.statData.tvc = getTotalVisitCount();\r\n if (getPlatformName() === 'n') {\r\n this.getProperty();\r\n } else {\r\n this.getNetworkInfo();\r\n }\r\n }\r\n\r\n _sendPageRequest(opt) {\r\n let {\r\n url,\r\n urlref,\r\n urlref_ts\r\n } = opt;\r\n this._navigationBarTitle.lt = '11';\r\n let options = {\r\n ak: this.statData.ak,\r\n uuid: this.statData.uuid,\r\n lt: '11',\r\n ut: this.statData.ut,\r\n url,\r\n tt: this.statData.tt,\r\n urlref,\r\n urlref_ts,\r\n ch: this.statData.ch,\r\n usv: this.statData.usv,\r\n t: getTime(),\r\n p: this.statData.p\r\n };\r\n this.request(options);\r\n }\r\n\r\n _sendHideRequest(opt, type) {\r\n let {\r\n urlref,\r\n urlref_ts\r\n } = opt;\r\n let options = {\r\n ak: this.statData.ak,\r\n uuid: this.statData.uuid,\r\n lt: '3',\r\n ut: this.statData.ut,\r\n urlref,\r\n urlref_ts,\r\n ch: this.statData.ch,\r\n usv: this.statData.usv,\r\n t: getTime(),\r\n p: this.statData.p\r\n };\r\n this.request(options, type);\r\n }\r\n _sendEventRequest({\r\n key = '',\r\n value = \"\"\r\n } = {}) {\r\n const route = this._lastPageRoute;\r\n let options = {\r\n ak: this.statData.ak,\r\n uuid: this.statData.uuid,\r\n lt: '21',\r\n ut: this.statData.ut,\r\n url: route,\r\n ch: this.statData.ch,\r\n e_n: key,\r\n e_v: typeof(value) === 'object' ? JSON.stringify(value) : value.toString(),\r\n usv: this.statData.usv,\r\n t: getTime(),\r\n p: this.statData.p\r\n };\r\n this.request(options);\r\n }\r\n\r\n getNetworkInfo() {\r\n uni.getNetworkType({\r\n success: (result) => {\r\n this.statData.net = result.networkType;\r\n this.getLocation();\r\n }\r\n });\r\n }\r\n\r\n getProperty() {\r\n plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {\r\n this.statData.v = wgtinfo.version || '';\r\n this.getNetworkInfo();\r\n });\r\n }\r\n\r\n getLocation() {\r\n if (statConfig.getLocation) {\r\n uni.getLocation({\r\n type: 'wgs84',\r\n geocode: true,\r\n success: (result) => {\r\n if (result.address) {\r\n this.statData.cn = result.address.country;\r\n this.statData.pn = result.address.province;\r\n this.statData.ct = result.address.city;\r\n }\r\n\r\n this.statData.lat = result.latitude;\r\n this.statData.lng = result.longitude;\r\n this.request(this.statData);\r\n }\r\n });\r\n } else {\r\n this.statData.lat = 0;\r\n this.statData.lng = 0;\r\n this.request(this.statData);\r\n }\r\n }\r\n\r\n request(data, type) {\r\n let time = getTime();\r\n const title = this._navigationBarTitle;\r\n data.ttn = title.page;\r\n data.ttpj = title.config;\r\n data.ttc = title.report;\r\n\r\n let requestData = this._reportingRequestData;\r\n if (getPlatformName() === 'n') {\r\n requestData = uni.getStorageSync('__UNI__STAT__DATA') || {};\r\n }\r\n if (!requestData[data.lt]) {\r\n requestData[data.lt] = [];\r\n }\r\n requestData[data.lt].push(data);\r\n\r\n if (getPlatformName() === 'n') {\r\n uni.setStorageSync('__UNI__STAT__DATA', requestData);\r\n }\r\n if (getPageResidenceTime() < OPERATING_TIME && !type) {\r\n return\r\n }\r\n let uniStatData = this._reportingRequestData;\r\n if (getPlatformName() === 'n') {\r\n uniStatData = uni.getStorageSync('__UNI__STAT__DATA');\r\n }\r\n // 时间超过,重新获取时间戳\r\n setPageResidenceTime();\r\n let firstArr = [];\r\n let contentArr = [];\r\n let lastArr = [];\r\n\r\n for (let i in uniStatData) {\r\n const rd = uniStatData[i];\r\n rd.forEach((elm) => {\r\n const newData = getSplicing(elm);\r\n if (i === 0) {\r\n firstArr.push(newData);\r\n } else if (i === 3) {\r\n lastArr.push(newData);\r\n } else {\r\n contentArr.push(newData);\r\n }\r\n });\r\n }\r\n\r\n firstArr.push(...contentArr, ...lastArr);\r\n let optionsData = {\r\n usv: STAT_VERSION, //统计 SDK 版本号\r\n t: time, //发送请求时的时间戮\r\n requests: JSON.stringify(firstArr),\r\n };\r\n\r\n this._reportingRequestData = {};\r\n if (getPlatformName() === 'n') {\r\n uni.removeStorageSync('__UNI__STAT__DATA');\r\n }\r\n\r\n if (data.ut === 'h5') {\r\n this.imageRequest(optionsData);\r\n return\r\n }\r\n\r\n if (getPlatformName() === 'n' && this.statData.p === 'a') {\r\n setTimeout(() => {\r\n this._sendRequest(optionsData);\r\n }, 200);\r\n return\r\n }\r\n this._sendRequest(optionsData);\r\n }\r\n _sendRequest(optionsData) {\r\n uni.request({\r\n url: STAT_URL,\r\n method: 'POST',\r\n // header: {\r\n // 'content-type': 'application/json' // 默认值\r\n // },\r\n data: optionsData,\r\n success: () => {\r\n // if (process.env.NODE_ENV === 'development') {\r\n // console.log('stat request success');\r\n // }\r\n },\r\n fail: (e) => {\r\n if (++this._retry < 3) {\r\n setTimeout(() => {\r\n this._sendRequest(optionsData);\r\n }, 1000);\r\n }\r\n }\r\n });\r\n }\r\n /**\r\n * h5 请求\r\n */\r\n imageRequest(data) {\r\n let image = new Image();\r\n let options = getSgin(GetEncodeURIComponentOptions(data)).options;\r\n image.src = STAT_H5_URL + '?' + options;\r\n }\r\n\r\n sendEvent(key, value) {\r\n // 校验 type 参数\r\n if (calibration(key, value)) return\r\n\r\n if (key === 'title') {\r\n this._navigationBarTitle.report = value;\r\n return\r\n }\r\n this._sendEventRequest({\r\n key,\r\n value: typeof(value) === 'object' ? JSON.stringify(value) : value\r\n }, 1);\r\n }\r\n}\r\n\r\n\r\nclass Stat extends Util {\r\n static getInstance() {\r\n if (!this.instance) {\r\n this.instance = new Stat();\r\n }\r\n return this.instance;\r\n }\r\n constructor() {\r\n super();\r\n this.instance = null;\r\n // 注册拦截器\r\n if (typeof uni.addInterceptor === 'function' && process.env.NODE_ENV !== 'development') {\r\n this.addInterceptorInit();\r\n this.interceptLogin();\r\n this.interceptShare(true);\r\n this.interceptRequestPayment();\r\n }\r\n }\r\n\r\n addInterceptorInit() {\r\n let self = this;\r\n uni.addInterceptor('setNavigationBarTitle', {\r\n invoke(args) {\r\n self._navigationBarTitle.page = args.title;\r\n }\r\n });\r\n }\r\n\r\n interceptLogin() {\r\n let self = this;\r\n uni.addInterceptor('login', {\r\n complete() {\r\n self._login();\r\n }\r\n });\r\n }\r\n\r\n interceptShare(type) {\r\n let self = this;\r\n if (!type) {\r\n self._share();\r\n return\r\n }\r\n uni.addInterceptor('share', {\r\n success() {\r\n self._share();\r\n },\r\n fail() {\r\n self._share();\r\n }\r\n });\r\n }\r\n\r\n interceptRequestPayment() {\r\n let self = this;\r\n uni.addInterceptor('requestPayment', {\r\n success() {\r\n self._payment('pay_success');\r\n },\r\n fail() {\r\n self._payment('pay_fail');\r\n }\r\n });\r\n }\r\n\r\n report(options, self) {\r\n this.self = self;\r\n // if (process.env.NODE_ENV === 'development') {\r\n // console.log('report init');\r\n // }\r\n setPageResidenceTime();\r\n this.__licationShow = true;\r\n this._sendReportRequest(options, true);\r\n }\r\n\r\n load(options, self) {\r\n if (!self.$scope && !self.$mp) {\r\n const page = getCurrentPages();\r\n self.$scope = page[page.length - 1];\r\n }\r\n this.self = self;\r\n this._query = options;\r\n }\r\n\r\n show(self) {\r\n this.self = self;\r\n if (getPageTypes(self)) {\r\n this._pageShow(self);\r\n } else {\r\n this._applicationShow(self);\r\n }\r\n }\r\n\r\n ready(self) {\r\n // this.self = self;\r\n // if (getPageTypes(self)) {\r\n // this._pageShow(self);\r\n // }\r\n }\r\n hide(self) {\r\n this.self = self;\r\n if (getPageTypes(self)) {\r\n this._pageHide(self);\r\n } else {\r\n this._applicationHide(self, true);\r\n }\r\n }\r\n error(em) {\r\n if (this._platform === 'devtools') {\r\n if (process.env.NODE_ENV === 'development') {\r\n console.info('当前运行环境为开发者工具,不上报数据。');\r\n }\r\n // return;\r\n }\r\n let emVal = '';\r\n if (!em.message) {\r\n emVal = JSON.stringify(em);\r\n } else {\r\n emVal = em.stack;\r\n }\r\n let options = {\r\n ak: this.statData.ak,\r\n uuid: this.statData.uuid,\r\n lt: '31',\r\n ut: this.statData.ut,\r\n ch: this.statData.ch,\r\n mpsdk: this.statData.mpsdk,\r\n mpv: this.statData.mpv,\r\n v: this.statData.v,\r\n em: emVal,\r\n usv: this.statData.usv,\r\n t: getTime(),\r\n p: this.statData.p\r\n };\r\n this.request(options);\r\n }\r\n}\r\n\r\nconst stat = Stat.getInstance();\r\nlet isHide = false;\r\nconst lifecycle = {\r\n onLaunch(options) {\r\n stat.report(options, this);\r\n },\r\n onReady() {\r\n stat.ready(this);\r\n },\r\n onLoad(options) {\r\n stat.load(options, this);\r\n // 重写分享,获取分享上报事件\r\n if (this.$scope && this.$scope.onShareAppMessage) {\r\n let oldShareAppMessage = this.$scope.onShareAppMessage;\r\n this.$scope.onShareAppMessage = function(options) {\r\n stat.interceptShare(false);\r\n return oldShareAppMessage.call(this, options)\r\n };\r\n }\r\n },\r\n onShow() {\r\n isHide = false;\r\n stat.show(this);\r\n },\r\n onHide() {\r\n isHide = true;\r\n stat.hide(this);\r\n },\r\n onUnload() {\r\n if (isHide) {\r\n isHide = false;\r\n return\r\n }\r\n stat.hide(this);\r\n },\r\n onError(e) {\r\n stat.error(e);\r\n }\r\n};\r\n\r\nfunction main() {\r\n if (process.env.NODE_ENV === 'development') {\r\n uni.report = function(type, options) {};\r\n }else{\r\n const Vue = require('vue');\r\n (Vue.default || Vue).mixin(lifecycle);\r\n uni.report = function(type, options) {\r\n stat.sendEvent(type, options);\r\n };\r\n }\r\n}\r\n\r\nmain();\r\n","export default {\"appid\":\"\"}","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode, /* vue-cli only */\n components, // fixed by xxxxxx auto components\n renderjs // fixed by xxxxxx renderjs\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // fixed by xxxxxx auto components\n if (components) {\n if (!options.components) {\n options.components = {}\n }\n var hasOwn = Object.prototype.hasOwnProperty\n for (var name in components) {\n if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) {\n options.components[name] = components[name]\n }\n }\n }\n // fixed by xxxxxx renderjs\n if (renderjs) {\n (renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() {\n this[renderjs.__module] = this\n });\n (options.mixins || (options.mixins = [])).push(renderjs)\n }\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n"],"sourceRoot":""} |
unpackage/dist/dev/.sourcemap/mp-weixin/components/HM-filterDropdown/HM-filterDropdown.js.map
File was created | 1 | {"version":3,"sources":["webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/HM-filterDropdown/HM-filterDropdown.vue?4d4c","webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/HM-filterDropdown/HM-filterDropdown.vue?201c","webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/HM-filterDropdown/HM-filterDropdown.vue?d406","webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/HM-filterDropdown/HM-filterDropdown.vue?a0c0","webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/HM-filterDropdown/HM-filterDropdown.vue","webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/HM-filterDropdown/HM-filterDropdown.vue?0ba7","webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/HM-filterDropdown/HM-filterDropdown.vue?1b71"],"names":["data","subData","menu","showPage","pageState","activeMenuArr","shadowActiveMenuArr","defaultActive","triangleDeg","isShowMask","maskVisibility","firstScrollInto","secondScrollInto","componentTop","isReadNewSelect","props","filterData","value","Array","default","defaultSelected","updateMenuName","Boolean","dataFormat","String","watch","handler","initMenu","immediate","newVal","length","JSON","parse","stringify","setMenuName","methods","tmpMenuActiveArr","tmpMenu","i","tmpitem","push","name","type","submenu","processActive","processSubMenu","row","tmpsub","showMoreSub","index","showAllSub","$forceUpdate","selectHierarchyMenu","page_index","level1_index","level2_index","level3_index","splice","sub","togglePage","setFilterData","resetFilterData","tmpArr","level","box","selected","selectFilterLabel","box_index","label_index","find_index","indexOf","selectRadioLabel","activeIndex","hidePageLayer","hideMask","showPageLayer","showMask","setTimeout","$nextTick","isAnimation","tmpIndex","confirm","forEach","item","s","j","sort","val1","val2","v","k","hasOwnProperty","$emit","processPage","reloadActiveMenuArr","parseInt","getMaxFloor","treeData","floor","max","each","e","discard"],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8H;AAC9H;AACqE;AACL;AACc;;;AAG9E;AACqK;AACrK,gBAAgB,+KAAU;AAC1B,EAAE,uFAAM;AACR,EAAE,4FAAM;AACR,EAAE,qGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,gGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAA2mB,CAAgB,qoBAAG,EAAC,C;;;;;;;;;;;;wFCA/nB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACdA,MADc,kBACP;AACN,WAAO;AACNC,aAAO,EAAE,EADH,EACO;AACbC,UAAI,EAAE,EAFA,EAEI;AACVC,cAAQ,EAAE,CAAC,CAHL,EAGQ;AACdC,eAAS,EAAE,EAJL,EAIS;AACfC,mBAAa,EAAE,EALT,EAKa;AACnBC,yBAAmB,EAAE,EANf,EAMmB;AACzBC,mBAAa,EAAC,EAPR;AAQNC,iBAAW,EAAE,EARP,EAQW;AACjBC,gBAAU,EAAE,KATN,EASa;AACnBC,oBAAc,EAAE,KAVV,EAUiB;AACvB;AACAC,qBAAe,EAAE,CAZX;AAaNC,s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","file":"components/HM-filterDropdown/HM-filterDropdown.js","sourcesContent":["import { render, staticRenderFns, recyclableRender, components } from \"./HM-filterDropdown.vue?vue&type=template&id=b17dcada&\"\nvar renderjs\nimport script from \"./HM-filterDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./HM-filterDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HM-filterDropdown.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"C:/Users/Administrator/Desktop/gulu-vue/components/HM-filterDropdown/HM-filterDropdown.vue\"\nexport default component.exports","export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--16-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./HM-filterDropdown.vue?vue&type=template&id=b17dcada&\"","var components\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./HM-filterDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./HM-filterDropdown.vue?vue&type=script&lang=js&\"","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tsubData: [], //菜单数据\n\t\t\tmenu: [], //顶部横条数据\n\t\t\tshowPage: -1, //菜单页面显示/隐藏动画控制\n\t\t\tpageState: [], //页面的状态\n\t\t\tactiveMenuArr: [], //UI状态\n\t\t\tshadowActiveMenuArr: [], //记录选中\n\t\t\tdefaultActive:[],\n\t\t\ttriangleDeg: [], //小三角形的翻转动画控制\n\t\t\tisShowMask: false, //遮罩层显示/隐藏动画控制\n\t\t\tmaskVisibility: false, //遮罩层显示/隐藏状态\n\t\t\t//滚动区域定位\n\t\t\tfirstScrollInto: 0,\n\t\t\tsecondScrollInto: 0,\n\t\t\tcomponentTop:0\t,//组件top\n\t\t\tisReadNewSelect:false\n\t\t}\n\t},\n\tprops: {\n\t\tfilterData: {\n\t\t\tvalue: Array,\n\t\t\tdefault: []\n\t\t},\n\t\tdefaultSelected:{\n\t\t\tvalue: Array,\n\t\t\tdefault: []\n\t\t},\n\t\tupdateMenuName:{\n\t\t\tvalue: Boolean,\n\t\t\tdefault: true\n\t\t},\n\t\tdataFormat:{\n\t\t\tvalue: String,\n\t\t\tdefault: 'Array'\n\t\t}\n\t},\n\twatch: {\n\t\tfilterData: {\n\t\t\thandler() {\n\t\t\t\tthis.initMenu(); //filterData重新赋值初始化菜单\n\t\t\t},\n\t\t\timmediate: true\n\t\t},\n\t\tdefaultSelected(newVal) {\n\t\t\tif(newVal.length==0){\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.defaultActive = JSON.parse(JSON.stringify(newVal));\n\t\t\tthis.activeMenuArr = JSON.parse(JSON.stringify(newVal));\n\t\t\tthis.shadowActiveMenuArr = JSON.parse(JSON.stringify(newVal));\n\t\t\tif(this.updateMenuName){\n\t\t\t\tthis.setMenuName();\n\t\t\t}\n\t\t}\n\t},\n\tmethods: {\n\t\tinitMenu() {\n\t\t\tlet tmpMenuActiveArr=[];\n\t\t\tlet tmpMenu=[];\n\t\t\tfor (let i = 0; i < this.filterData.length; i++) {\n\t\t\t\tlet tmpitem = this.filterData[i];\n\t\t\t\ttmpMenu.push({\n\t\t\t\t\t//如果没有设置name,则取第一个菜单作为menu.name,filter类型则将\"筛选\"作为menu.name\n\t\t\t\t\tname: tmpitem.name || (tmpitem.type == \"filter\" ? \"筛选\" : tmpitem.submenu[0].name),\n\t\t\t\t\ttype: tmpitem.type\n\t\t\t\t});\n\t\t\t\t//初始化选中项数组-ui状态\n\t\t\t\ttmpMenuActiveArr.push(this.processActive(tmpitem));\n\t\t\t\t//初始化角度数组\n\t\t\t\tthis.triangleDeg.push(0);\n\t\t\t\t//初始化控制显示状态数组\n\t\t\t\tthis.pageState.push(false);\n\t\t\t\t//递归处理子菜单数据\n\t\t\t\ttmpitem = this.processSubMenu(tmpitem);\n\t\t\t\tthis.filterData[i] = tmpitem;\n\t\t\t}\n\t\t\tthis.menu = tmpMenu;\n\t\t\t//初始化选中项数组\n\t\t\ttmpMenuActiveArr = this.defaultActive.length>0?this.defaultActive:this.activeMenuArr.length>0?this.activeMenuArr:tmpMenuActiveArr;\n\t\t\tthis.defaultActive = [];\n\t\t\tthis.activeMenuArr = JSON.parse(JSON.stringify(tmpMenuActiveArr));\n\t\t\tthis.shadowActiveMenuArr = JSON.parse(JSON.stringify(tmpMenuActiveArr));\n\t\t\t//加载菜单数据\n\t\t\tthis.subData = this.filterData;\n\t\t\t//设定顶部菜单名字\n\t\t\tif(this.updateMenuName){\n\t\t\t\tthis.setMenuName();\n\t\t\t}\n\t\t},\n\t\tsetMenuName(){\n\t\t\tfor(var i=0;i<this.activeMenuArr.length;i++){\n\t\t\t\tlet row = this.activeMenuArr[i];\n\t\t\t\tif (typeof(row[0]) != 'object'){\n\t\t\t\t\tvar tmpsub = false;\n\t\t\t\t\tif(row.length>0 && row[0]!=null){\n\t\t\t\t\t\ttmpsub = this.subData[i].submenu[row[0]];\n\t\t\t\t\t\tif(row.length>1 && row[1]!=null){\n\t\t\t\t\t\t\ttmpsub = tmpsub.submenu[row[1]];\n\t\t\t\t\t\t\tif(row.length>2 && row[2]!=null){\n\t\t\t\t\t\t\t\ttmpsub = tmpsub.submenu[row[2]];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}else{\n\t\t\t\t\t\ttmpsub = false;\n\t\t\t\t\t}\n\t\t\t\t\tif(tmpsub){\n\t\t\t\t\t\tthis.menu[i].name = tmpsub.name;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t//展开更多\n\t\tshowMoreSub(index) {\n\t\t\tthis.subData[this.showPage].submenu[this.activeMenuArr[this.showPage][0]].submenu[index].showAllSub = true;\n\t\t\tthis.$forceUpdate();\n\t\t},\n\t\t//选中\n\t\tselectHierarchyMenu(page_index, level1_index, level2_index, level3_index) {\n\t\t\t//读取记录\n\t\t\tif (level1_index != null && level2_index == null && level3_index == null && this.shadowActiveMenuArr[page_index][0] ==\n\t\t\t\tlevel1_index) {\n\t\t\t\tthis.activeMenuArr.splice(page_index, 1, JSON.parse(JSON.stringify(this.shadowActiveMenuArr[page_index])));\n\t\t\t} else {\n\t\t\t\tthis.activeMenuArr[page_index].splice(0, 1, level1_index);\n\t\t\t\t(level2_index!=null||this.activeMenuArr[page_index].length>=2)&&this.activeMenuArr[page_index].splice(1, 1, level2_index) || this.activeMenuArr[page_index].splice(1, 1);\n\t\t\t\t(level3_index!=null||this.activeMenuArr[page_index].length>=3)&&this.activeMenuArr[page_index].splice(2, 1, level3_index) || this.activeMenuArr[page_index].splice(2, 1);\n\t\t\t}\n\t\t\t//写入结果\n\t\t\tif (level3_index != null || level2_index != null || (level1_index != null && this.subData[page_index].submenu[level1_index].submenu.length == 0)\n\t\t\t) {\n\t\t\t\tlet sub = this.subData[page_index].submenu[level1_index].submenu[level2_index];\n\t\t\t\tif(this.updateMenuName){\n\t\t\t\t\tthis.menu[page_index].name = (level3_index != null && sub.submenu[level3_index].name) || (level2_index != null && sub.name) || this.subData[page_index].submenu[level1_index].name;\n\t\t\t\t}\n\t\t\t\tthis.shadowActiveMenuArr[page_index] = JSON.parse(JSON.stringify(this.activeMenuArr[page_index]));\n\t\t\t\tthis.togglePage(this.showPage);\n\t\t\t}\n\t\t},\n\t\t//写入结果,筛选\n\t\tsetFilterData(page_index) {\n\t\t\tthis.shadowActiveMenuArr[page_index] = JSON.parse(JSON.stringify(this.activeMenuArr[page_index]));\n\t\t\tthis.togglePage(this.showPage);\n\t\t},\n\t\t//重置结果和ui,筛选\n\t\tresetFilterData(page_index) {\n\t\t\tlet tmpArr = [];\n\t\t\tlet level = this.shadowActiveMenuArr[page_index].length;\n\t\t\twhile (level > 0) {\n\t\t\t\ttmpArr.push([]);\n\t\t\t\tlet box = this.subData[page_index].submenu[level - 1].submenu;\n\t\t\t\tfor (let i = 0; i < box.length; i++) {\n\t\t\t\t\tthis.subData[page_index].submenu[level - 1].submenu[i].selected = false;\n\t\t\t\t}\n\t\t\t\tlevel--;\n\t\t\t}\n\t\t\tthis.activeMenuArr[page_index] = JSON.parse(JSON.stringify(tmpArr));\n\t\t\tthis.$forceUpdate();\n\t\t},\n\t\t//选中筛选类label-UI状态\n\t\tselectFilterLabel(page_index, box_index, label_index) {\n\t\t\tlet find_index = this.activeMenuArr[page_index][box_index].indexOf(label_index);\n\t\t\tif (find_index > -1) {\n\t\t\t\tthis.activeMenuArr[page_index][box_index].splice(find_index, 1);\n\t\t\t\tthis.subData[page_index].submenu[box_index].submenu[label_index].selected = false;\n\t\t\t} else {\n\t\t\t\tthis.activeMenuArr[page_index][box_index].push(label_index);\n\t\t\t\tthis.subData[page_index].submenu[box_index].submenu[label_index].selected = true;\n\t\t\t}\n\t\t\tthis.$forceUpdate();\n\t\t},\n\t\t//选中单选类label-UI状态\n\t\tselectRadioLabel(page_index, box_index, label_index) {\n\t\t\t\n\t\t\tlet activeIndex = this.activeMenuArr[page_index][box_index][0];\n\t\t\tif(activeIndex == label_index){\n\t\t\t\tthis.subData[page_index].submenu[box_index].submenu[activeIndex].selected = false;\n\t\t\t\tthis.activeMenuArr[page_index][box_index][0] = null;\n\t\t\t}else{\n\t\t\t\tif(activeIndex!=null && activeIndex<this.subData[page_index].submenu[box_index].submenu.length){\n\t\t\t\t\tthis.subData[page_index].submenu[box_index].submenu[activeIndex].selected = false;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.subData[page_index].submenu[box_index].submenu[label_index].selected = true;\n\t\t\t\tthis.activeMenuArr[page_index][box_index][0] = label_index;\n\t\t\t}\n\t\t\tthis.$forceUpdate();\n\t\t},\n\t\t//菜单开关\n\t\ttogglePage(index) {\n\t\t\tif (index == this.showPage) {\n\t\t\t\tthis.hidePageLayer(true);\n\t\t\t\tthis.hideMask();\n\t\t\t\tthis.showPage = -1;\n\t\t\t} else {\n\t\t\t\tif (this.showPage > -1) {\n\t\t\t\t\tthis.hidePageLayer(false);\n\t\t\t\t}\n\t\t\t\tthis.showPageLayer(index);\n\t\t\t\tthis.showMask();\n\t\t\t}\n\t\t},\n\t\t//hide遮罩层\n\t\thideMask() {\n\t\t\tthis.isShowMask = false;\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.maskVisibility = false;\n\t\t\t}, 200);\n\t\t},\n\t\t//show遮罩层\n\t\tshowMask() {\n\t\t\tthis.maskVisibility = true;\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.isShowMask = true;\n\t\t\t\t}, 0);\n\t\t\t})\n\t\t},\n\t\t//hide菜单页\n\t\thidePageLayer(isAnimation) {\n\t\t\tthis.triangleDeg[this.showPage] = 0;\n\t\t\tlet tmpIndex = this.showPage;\n\t\t\tif (isAnimation) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.pageState.splice(tmpIndex, 1, false);\n\t\t\t\t}, 200);\n\t\t\t\tthis.confirm();\n\t\t\t} else {\n\t\t\t\tthis.pageState.splice(tmpIndex, 1, false)\n\t\t\t}\n\t\t\tthis.firstScrollInto = null;\n\t\t\tthis.secondScrollInto = null;\n\t\t},\n\t\tconfirm() {\n\t\t\tlet index = JSON.parse(JSON.stringify(this.shadowActiveMenuArr));\n\t\t\tlet value = JSON.parse(JSON.stringify(this.shadowActiveMenuArr));\n\t\t\t\n\t\t\t//对结果做一下处理\n\t\t\tindex.forEach((item, i) => {\n\t\t\t\tif (typeof(item[0]) == 'object') {\n\t\t\t\t\t//针对筛选结果过一个排序\n\t\t\t\t\titem.forEach((s, j) => {\n\t\t\t\t\t\tif(s!=null){\n\t\t\t\t\t\t\ts.sort((val1, val2) => {\n\t\t\t\t\t\t\t\treturn val1 - val2;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\titem[j] = s;\n\t\t\t\t\t\t\ts.forEach((v, k) => {\n\t\t\t\t\t\t\t\tvalue[i][j][k] = (v==null||v>=this.subData[i].submenu[j].submenu.length)?null:this.subData[i].submenu[j].submenu[v].value;\n\t\t\t\t\t\t\t\tif(this.subData[i].type == 'radio' && value[i][j][k] == null){\n\t\t\t\t\t\t\t\t\tvalue[i][j] = [];\n\t\t\t\t\t\t\t\t\tindex[i][j] = [];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}else{\n\t\t\t\t\tlet submenu = this.subData[i].submenu[item[0]];\n\t\t\t\t\tvalue[i][0] = submenu.value;\n\t\t\t\t\tif(value[i].length>=2 && item[1]!=null){\n\t\t\t\t\t\tif(submenu.submenu.length>0){\n\t\t\t\t\t\t\tsubmenu = submenu.submenu[item[1]];\n\t\t\t\t\t\t\tvalue[i][1] = submenu.hasOwnProperty('value')?submenu.value:null;\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\tvalue[i][1] = null\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(value[i].length>=3 && item[2]!=null){\n\t\t\t\t\t\t\tif(submenu.submenu.length>0){\n\t\t\t\t\t\t\t\tsubmenu = submenu.submenu[item[2]];\n\t\t\t\t\t\t\t\tvalue[i][2] = submenu.hasOwnProperty('value')?submenu.value:null;\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\tvalue[i][2] = null;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tindex[i] = item;\n\t\t\t\t\n\t\t\t});\n\t\t\t// 输出\n\t\t\tthis.$emit('confirm', {\n\t\t\t\tindex: index,\n\t\t\t\tvalue: value\n\t\t\t});\n\t\t},\n\t\t//show菜单页\n\t\tshowPageLayer(index) {\n\t\t\tthis.processPage(index);\n\t\t\tthis.pageState.splice(index, 1, true);\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.showPage = index;\n\t\t\t\t}, 0);\n\t\t\t})\n\t\t\tthis.triangleDeg[index] = 180;\n\t\t},\n\t\treloadActiveMenuArr(){\n\t\t\tfor (let i = 0; i < this.filterData.length; i++) {\n\t\t\t\tlet tmpitem = this.filterData[i];\n\t\t\t\tlet tmpArr = this.processActive(tmpitem);\n\t\t\t\ttmpitem = this.processSubMenu(tmpitem);\n\t\t\t\tif(this.activeMenuArr[i].length!=tmpArr.length){\n\t\t\t\t\tthis.filterData[i] = tmpitem;\n\t\t\t\t\tthis.activeMenuArr.splice(i, 1, JSON.parse(JSON.stringify(tmpArr)));\n\t\t\t\t\tthis.shadowActiveMenuArr.splice(i, 1, JSON.parse(JSON.stringify(tmpArr)));\n\t\t\t\t}\n\t\t\t} \n\t\t\tthis.subData = this.filterData;\n\t\t\tthis.$forceUpdate();\n\t\t},\n\t\tprocessPage(index) {\n\t\t\t//check UI控制数组,结果数组,防止传入数据层级和UI控制数组不同步\n\t\t\tthis.reloadActiveMenuArr();\n\t\t\t//重置UI控制数组\n\t\t\tthis.activeMenuArr.splice(index, 1, JSON.parse(JSON.stringify(this.shadowActiveMenuArr[index])));\n\t\t\tif (this.menu[index].type == 'filter') {\n\t\t\t\t//重载筛选页选中状态\n\t\t\t\tlet level = this.shadowActiveMenuArr[index].length;\n\t\t\t\tfor (let i = 0; i < level; i++) {\n\t\t\t\t\tlet box = this.subData[index].submenu[i].submenu;\n\t\t\t\t\tfor (let j = 0; j < box.length; j++) {\n\t\t\t\t\t\tif (this.shadowActiveMenuArr[index][i].indexOf(j) > -1) {\n\t\t\t\t\t\t\tthis.subData[index].submenu[i].submenu[j].selected = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.subData[index].submenu[i].submenu[j].selected = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (this.menu[index].type == 'hierarchy') {\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t//滚动到选中项\n\t\t\t\t\t\tthis.firstScrollInto = parseInt(this.activeMenuArr[index][0]);\n\t\t\t\t\t\tthis.secondScrollInto = parseInt(this.activeMenuArr[index][1]);\n\t\t\t\t\t}, 0);\n\t\t\t\t})\n\t\t\t} else if (this.menu[index].type == 'radio') {\n\t\t\t\t//重载筛选页选中状态\n\t\t\t\tlet level = this.shadowActiveMenuArr[index].length;\n\t\t\t\tfor (let i = 0; i < level; i++) {\n\t\t\t\t\tlet box = this.subData[index].submenu[i].submenu;\n\t\t\t\t\tfor (let j = 0; j < box.length; j++) {\n\t\t\t\t\t\tif (this.shadowActiveMenuArr[index][i].indexOf(j) > -1) {\n\t\t\t\t\t\t\tthis.subData[index].submenu[i].submenu[j].selected = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.subData[index].submenu[i].submenu[j].selected = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} \n\t\t},\n\t\tprocessActive(tmpitem) {\n\t\t\tlet tmpArr = []\n\t\t\tif (tmpitem.type == 'hierarchy'&&tmpitem.hasOwnProperty('submenu')&&tmpitem.submenu.length>0) {\n\t\t\t\tlet level = this.getMaxFloor(tmpitem.submenu);\n\t\t\t\twhile (level > 0) {\n\t\t\t\t\ttmpArr.push(0);\n\t\t\t\t\tlevel--;\n\t\t\t\t}\n\t\t\t} else if (tmpitem.type == 'filter') {\n\t\t\t\tlet level = tmpitem.submenu.length;\n\t\t\t\twhile (level > 0) {\n\t\t\t\t\ttmpArr.push([]);\n\t\t\t\t\tlevel--;\n\t\t\t\t}\n\t\t\t} else if (tmpitem.type == 'radio') {\n\t\t\t\tlet level = tmpitem.submenu.length;\n\t\t\t\twhile (level > 0) {\n\t\t\t\t\ttmpArr.push([]);\n\t\t\t\t\tlevel--;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn tmpArr;\n\t\t},\n\t\tprocessSubMenu(menu) {\n\t\t\tif (menu.hasOwnProperty('submenu') && menu.submenu.length > 0) {\n\t\t\t\tfor (let i = 0; i < menu.submenu.length; i++) {\n\t\t\t\t\tmenu.submenu[i] = this.processSubMenu(menu.submenu[i]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmenu.submenu = [];\n\t\t\t}\n\t\t\treturn menu;\n\t\t},\n\t\t//计算菜单层级\n\t\tgetMaxFloor(treeData) {\n\t\t\tlet floor = 0\n\t\t\tlet max = 0\n\t\t\tfunction each(data, floor) {\n\t\t\t\tdata.forEach(e => {\n\t\t\t\t\tmax = floor > max ? floor : max;\n\t\t\t\t\tif (e.hasOwnProperty('submenu') && e.submenu.length > 0) {\n\t\t\t\t\t\teach(e.submenu, floor + 1)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\teach(treeData, 1)\n\t\t\treturn max;\n\t\t},\n\t\tdiscard() {\n\n\t\t}\n\t}\n}\n","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./HM-filterDropdown.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./HM-filterDropdown.vue?vue&type=style&index=0&lang=scss&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1588056462553\n var cssReload = require(\"D:/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""} |
unpackage/dist/dev/.sourcemap/mp-weixin/components/uni-drawer/uni-drawer.js.map
File was created | 1 | {"version":3,"sources":["webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/uni-drawer/uni-drawer.vue?175e","webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/uni-drawer/uni-drawer.vue?ab7b","webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/uni-drawer/uni-drawer.vue?625a","webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/uni-drawer/uni-drawer.vue?32a4","webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/uni-drawer/uni-drawer.vue","webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/uni-drawer/uni-drawer.vue?53a5","webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/uni-drawer/uni-drawer.vue?e538"],"names":["name","props","mode","type","String","default","mask","Boolean","maskClick","width","Number","data","visibleSync","showDrawer","rightMode","watchTimer","drawerWidth","created","methods","clear","close","_change","open","param1","param2","status","clearTimeout","setTimeout","$emit"],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmI;AACnI;AAC8D;AACL;AACsC;;;AAG/F;AACqK;AACrK,gBAAgB,+KAAU;AAC1B,EAAE,gFAAM;AACR,EAAE,iGAAM;AACR,EAAE,0GAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,qGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAAomB,CAAgB,8nBAAG,EAAC,C;;;;;;;;;;;;wFCAxnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AAYe;AACdA,MAAI,EAAE,WADQ;AAEdC,OAAK,EAAE;AACN;;;AAGAC,QAAI,EAAE;AACLC,UAAI,EAAEC,MADD;AAELC,aAAO,EAAE,EAFJ,EAJA;;AAQN;;;AAGAC,QAAI,EAAE;AACLH,UAAI,EAAEI,OADD;AAELF,aAAO,EAAE,IAFJ,EAXA;;AAeN;;;AAGAG,aAAS,EAAC;AACTL,UAAI,EAAEI,OADG;AAETF,aAAO,EAAE,IAFA,EAlBJ;;AAsBN;;;AAGAI,SAAK,EAAE;AACNN,UAAI,EAAEO,MADA;AAENL,aAAO,EAAE,GAFH,EAzBD,EAFO;;;AAgCdM,MAhCc,kBAgCP;AACN,WAAO;AACNC,iBAAW,EAAE,KADP;AAENC,gBAAU,EAAE,KAFN;AAGNC,eAAS,EAAE,KAHL;AAINC,gBAAU,EAAE,IAJN;AAKNC,iBAAW,EAAE,GALP,EAAP;;AAOA,GAxCa;AAyCdC,SAzCc,qBAyCJ;;AAET,SAAKD,WAAL,GAAmB,KAAKP,KAAxB;;AAEA,SAAKK,SAAL,GAAiB,KAAKZ,IAAL,KAAc,OAA/B;AACA,GA9Ca;AA+CdgB,SAAO,EAAE;AACRC,SADQ,mBACD,CAAE,CADD;AAERC,SAFQ,iBAEFjB,IAFE,EAEI;AACX;AACA,UAAIA,IAAI,KAAK,MAAT,IAAmB,CAAC,KAAKK,SAA1B,IAAwC,CAAC,KAAKI,WAAjD,EAA8D;AAC9D,WAAKS,OAAL,CAAa,YAAb,EAA2B,aAA3B,EAA0C,KAA1C;AACA,KANO;AAORC,QAPQ,kBAOD;AACN;AACA,UAAG,KAAKV,WAAR,EAAqB;AACrB,WAAKS,OAAL,CAAa,aAAb,EAA4B,YAA5B,EAA0C,IAA1C;AACA,KAXO;AAYRA,WAZQ,mBAYAE,MAZA,EAYQC,MAZR,EAYgBC,MAZhB,EAYwB;AAC/B,WAAKF,MAAL,IAAeE,MAAf;AACA,UAAI,KAAKV,UAAT,EAAqB;AACpBW,oBAAY,CAAC,KAAKX,UAAN,CAAZ;AACA;AACD,WAAKA,UAAL,GAAkBY,UAAU,CAAC,YAAM;AAClC,aAAI,CAACH,MAAD,CAAJ,GAAeC,MAAf;AACA,aAAI,CAACG,KAAL,CAAW,QAAX,EAAoBH,MAApB;AACA,OAH2B,EAGzBA,MAAM,GAAG,EAAH,GAAQ,GAHW,CAA5B;AAIA,KArBO,EA/CK,E;;;;;;;;;;;;ACtBf;AAAA;AAAA;AAAA;AAA8nC,CAAgB,wmCAAG,EAAC,C;;;;;;;;;;;ACAlpC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"components/uni-drawer/uni-drawer.js","sourcesContent":["import { render, staticRenderFns, recyclableRender, components } from \"./uni-drawer.vue?vue&type=template&id=66ce0222&scoped=true&\"\nvar renderjs\nimport script from \"./uni-drawer.vue?vue&type=script&lang=js&\"\nexport * from \"./uni-drawer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./uni-drawer.vue?vue&type=style&index=0&id=66ce0222&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"66ce0222\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"C:/Users/Administrator/Desktop/gulu-vue/components/uni-drawer/uni-drawer.vue\"\nexport default component.exports","export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--16-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./uni-drawer.vue?vue&type=template&id=66ce0222&scoped=true&\"","var components\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./uni-drawer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./uni-drawer.vue?vue&type=script&lang=js&\"","//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/**\n * Drawer 抽屉\n * @description 抽屉侧滑菜单\n * @tutorial https://ext.dcloud.net.cn/plugin?id=26\n * @property {Boolean} mask = [true | false] 是否显示遮罩\n * @property {Boolean} maskClick = [true | false] 点击遮罩是否关闭\n * @property {Boolean} mode = [left | right] Drawer 滑出位置\n * \t@value left 从左侧滑出\n * \t@value right 从右侧侧滑出\n * @property {Number} width 抽屉的宽度 ,仅 vue 页面生效\n * @event {Function} close 组件关闭时触发事件\n */\nexport default {\n\tname: 'UniDrawer',\n\tprops: {\n\t\t/**\n\t\t * 显示模式(左、右),只在初始化生效\n\t\t */\n\t\tmode: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * 蒙层显示状态\n\t\t */\n\t\tmask: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true\n\t\t},\n\t\t/**\n\t\t * 遮罩是否可点击关闭\n\t\t */\n\t\tmaskClick:{\n\t\t\ttype: Boolean,\n\t\t\tdefault: true\n\t\t},\n\t\t/**\n\t\t * 抽屉宽度\n\t\t */\n\t\twidth: {\n\t\t\ttype: Number,\n\t\t\tdefault: 220\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tvisibleSync: false,\n\t\t\tshowDrawer: false,\n\t\t\trightMode: false,\n\t\t\twatchTimer: null,\n\t\t\tdrawerWidth: 220\n\t\t}\n\t},\n\tcreated() {\n\n\t\tthis.drawerWidth = this.width\n\n\t\tthis.rightMode = this.mode === 'right'\n\t},\n\tmethods: {\n\t\tclear(){},\n\t\tclose(type) {\n\t\t\t// fixed by mehaotian 抽屉尚未完全关闭或遮罩禁止点击时不触发以下逻辑\n\t\t\tif((type === 'mask' && !this.maskClick) || !this.visibleSync) return\n\t\t\tthis._change('showDrawer', 'visibleSync', false)\n\t\t},\n\t\topen() {\n\t\t\t// fixed by mehaotian 处理重复点击打开的事件\n\t\t\tif(this.visibleSync) return\n\t\t\tthis._change('visibleSync', 'showDrawer', true)\n\t\t},\n\t\t_change(param1, param2, status) {\n\t\t\tthis[param1] = status\n\t\t\tif (this.watchTimer) {\n\t\t\t\tclearTimeout(this.watchTimer)\n\t\t\t}\n\t\t\tthis.watchTimer = setTimeout(() => {\n\t\t\t\tthis[param2] = status\n\t\t\t\tthis.$emit('change',status)\n\t\t\t}, status ? 50 : 300)\n\t\t}\n\t}\n}\n","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./uni-drawer.vue?vue&type=style&index=0&id=66ce0222&lang=scss&scoped=true&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./uni-drawer.vue?vue&type=style&index=0&id=66ce0222&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1588056462478\n var cssReload = require(\"D:/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""} |
unpackage/dist/dev/.sourcemap/mp-weixin/components/uni-segmented-control/uni-segmented-control.js.map
File was created | 1 | {"version":3,"sources":["webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/uni-segmented-control/uni-segmented-control.vue?7ef4","webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/uni-segmented-control/uni-segmented-control.vue?3523","webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/uni-segmented-control/uni-segmented-control.vue?f269","webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/uni-segmented-control/uni-segmented-control.vue?410a","webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/uni-segmented-control/uni-segmented-control.vue","webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/uni-segmented-control/uni-segmented-control.vue?52bc","webpack:///C:/Users/Administrator/Desktop/gulu-vue/components/uni-segmented-control/uni-segmented-control.vue?2b78"],"names":["name","props","current","type","Number","default","values","Array","activeColor","String","styleType","data","currentIndex","watch","val","created","methods","_onClick","index","$emit"],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8I;AAC9I;AACyE;AACL;AACsC;;;AAG1G;AACqK;AACrK,gBAAgB,+KAAU;AAC1B,EAAE,2FAAM;AACR,EAAE,4GAAM;AACR,EAAE,qHAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,gHAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAA+mB,CAAgB,yoBAAG,EAAC,C;;;;;;;;;;;;wFCAnoB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACdA,MAAI,EAAE,qBADQ;AAEdC,OAAK,EAAE;AACNC,WAAO,EAAE;AACRC,UAAI,EAAEC,MADE;AAERC,aAAO,EAAE,CAFD,EADH;;AAKNC,UAAM,EAAE;AACPH,UAAI,EAAEI,KADC;AAEPF,aAFO,sBAEI;AACV,eAAO,EAAP;AACA,OAJM,EALF;;AAWNG,eAAW,EAAE;AACZL,UAAI,EAAEM,MADM;AAEZJ,aAAO,EAAE,SAFG,EAXP;;AAeNK,aAAS,EAAE;AACVP,UAAI,EAAEM,MADI;AAEVJ,aAAO,EAAE,QAFC,EAfL,EAFO;;;AAsBdM,MAtBc,kBAsBP;AACN,WAAO;AACNC,kBAAY,EAAE,CADR,EAAP;;AAGA,GA1Ba;AA2BdC,OAAK,EAAE;AACNX,WADM,mBACEY,GADF,EACO;AACZ,UAAIA,GAAG,KAAK,KAAKF,YAAjB,EAA+B;AAC9B,aAAKA,YAAL,GAAoBE,GAApB;AACA;AACD,KALK,EA3BO;;AAkCdC,SAlCc,qBAkCJ;AACT,SAAKH,YAAL,GAAoB,KAAKV,OAAzB;AACA,GApCa;AAqCdc,SAAO,EAAE;AACRC,YADQ,oBACCC,KADD,EACQ;AACf,UAAI,KAAKN,YAAL,KAAsBM,KAA1B,EAAiC;AAChC,aAAKN,YAAL,GAAoBM,KAApB;AACA,aAAKC,KAAL,CAAW,WAAX,EAAwB,EAACP,YAAY,EAACM,KAAd,EAAxB;AACA;AACD,KANO,EArCK,E;;;;;;;;;;;;ACtBf;AAAA;AAAA;AAAA;AAAyoC,CAAgB,mnCAAG,EAAC,C;;;;;;;;;;;ACA7pC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"components/uni-segmented-control/uni-segmented-control.js","sourcesContent":["import { render, staticRenderFns, recyclableRender, components } from \"./uni-segmented-control.vue?vue&type=template&id=5ba11fbb&scoped=true&\"\nvar renderjs\nimport script from \"./uni-segmented-control.vue?vue&type=script&lang=js&\"\nexport * from \"./uni-segmented-control.vue?vue&type=script&lang=js&\"\nimport style0 from \"./uni-segmented-control.vue?vue&type=style&index=0&id=5ba11fbb&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5ba11fbb\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"C:/Users/Administrator/Desktop/gulu-vue/components/uni-segmented-control/uni-segmented-control.vue\"\nexport default component.exports","export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--16-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./uni-segmented-control.vue?vue&type=template&id=5ba11fbb&scoped=true&\"","var components\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./uni-segmented-control.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./uni-segmented-control.vue?vue&type=script&lang=js&\"","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n\tname: 'UniSegmentedControl',\n\tprops: {\n\t\tcurrent: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0\n\t\t},\n\t\tvalues: {\n\t\t\ttype: Array,\n\t\t\tdefault () {\n\t\t\t\treturn []\n\t\t\t}\n\t\t},\n\t\tactiveColor: {\n\t\t\ttype: String,\n\t\t\tdefault: '#007aff'\n\t\t},\n\t\tstyleType: {\n\t\t\ttype: String,\n\t\t\tdefault: 'button'\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tcurrentIndex: 0\n\t\t}\n\t},\n\twatch: {\n\t\tcurrent(val) {\n\t\t\tif (val !== this.currentIndex) {\n\t\t\t\tthis.currentIndex = val\n\t\t\t}\n\t\t}\n\t},\n\tcreated() {\n\t\tthis.currentIndex = this.current\n\t},\n\tmethods: {\n\t\t_onClick(index) {\n\t\t\tif (this.currentIndex !== index) {\n\t\t\t\tthis.currentIndex = index\n\t\t\t\tthis.$emit('clickItem', {currentIndex:index})\n\t\t\t}\n\t\t}\n\t}\n}\n","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./uni-segmented-control.vue?vue&type=style&index=0&id=5ba11fbb&lang=scss&scoped=true&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--8-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--8-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\sass-loader\\\\dist\\\\cjs.js??ref--8-oneOf-1-4!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--8-oneOf-1-5!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./uni-segmented-control.vue?vue&type=style&index=0&id=5ba11fbb&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1587966441257\n var cssReload = require(\"D:/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""} |
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cart/cart.js.map
1 | {"version":3,"sources":["webpack:///C:/Users/Administrator/Desktop/gulu-vue/main.js","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue?f7b9","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue?b2d1","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue?13ac","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue?fa41","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue?0969","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue?8f1f"],"names":["createPage","Page","data","title","onLoad","methods"],"mappings":";;;;;;;;;;kDAAA,wCAAmB;AACnB;AACA,yF;AACAA,UAAU,CAACC,aAAD,CAAV,C;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiH;AACjH;AACwD;AACL;AACa;;;AAGhE;AACqK;AACrK,gBAAgB,+KAAU;AAC1B,EAAE,0EAAM;AACR,EAAE,+EAAM;AACR,EAAE,wFAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,mFAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAA8lB,CAAgB,wnBAAG,EAAC,C;;;;;;;;;;;;wFCAlnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACdC,MADc,kBACP;AACN,WAAO;AACNC,WAAK,EAAE,OADD,EAAP;;AAGA,GALa;AAMdC,QANc,oBAML;;AAER,GARa;AASdC,SAAO,EAAE,EATK,E;;;;;;;;;;;;ACVf;AAAA;AAAA;AAAA;AAAg3B,CAAgB,i3BAAG,EAAC,C;;;;;;;;;;;ACAp4B;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/cart/cart.js","sourcesContent":["import 'uni-pages';import '@dcloudio/uni-stat';\nimport Vue from 'vue'\nimport Page from './pages/cart/cart.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./cart.vue?vue&type=template&id=2e8f6dbb&\"\nvar renderjs\nimport script from \"./cart.vue?vue&type=script&lang=js&\"\nexport * from \"./cart.vue?vue&type=script&lang=js&\"\nimport style0 from \"./cart.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue\"\nexport default component.exports","export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--16-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./cart.vue?vue&type=template&id=2e8f6dbb&\"","var components\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./cart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./cart.vue?vue&type=script&lang=js&\"","//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttitle: 'Hello'\n\t\t}\n\t},\n\tonLoad() {\n\n\t},\n\tmethods: {\n\n\t}\n}\n","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./cart.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./cart.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1587797864423\n var cssReload = require(\"D:/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""} |
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
1 | {"version":3,"sources":["webpack:///C:/Users/Administrator/Desktop/gulu-vue/main.js","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue?d486","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue?527c","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue?fc76","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue?bfc3","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue?9173","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue?e11c"],"names":["createPage","Page","data","title","onLoad","methods"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;kDAAA,wCAAmB;AACnB;AACA,4F;AACAA,UAAU,CAACC,cAAD,CAAV,C;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkH;AAClH;AACyD;AACL;AACa;;;AAGjE;AACqK;AACrK,gBAAgB,+KAAU;AAC1B,EAAE,2EAAM;AACR,EAAE,gFAAM;AACR,EAAE,yFAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,oFAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAA+lB,CAAgB,ynBAAG,EAAC,C;;;;;;;;;;;wFCAnnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACdC,MADc,kBACP;AACN,WAAO;AACNC,WAAK,EAAE,OADD,EAAP;;AAGA,GALa;AAMdC,QANc,oBAML;;AAER,GARa;AASdC,SAAO,EAAE,EATK,E;;;;;;;;;;;ACZf;AAAA;AAAA;AAAA;AAAi3B,CAAgB,k3BAAG,EAAC,C;;;;;;;;;;ACAr4B;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/index/index.js","sourcesContent":["import 'uni-pages';import '@dcloudio/uni-stat';\nimport Vue from 'vue'\nimport Page from './pages/index/index.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./index.vue?vue&type=template&id=74c52b3e&\"\nvar renderjs\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue\"\nexport default component.exports","export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--16-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./index.vue?vue&type=template&id=74c52b3e&\"","var components\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./index.vue?vue&type=script&lang=js&\"","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttitle: 'Hello'\n\t\t}\n\t},\n\tonLoad() {\n\n\t},\n\tmethods: {\n\n\t}\n}\n","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./index.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./index.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1587797864412\n var cssReload = require(\"D:/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""} |
unpackage/dist/dev/.sourcemap/mp-weixin/pages/user/user.js.map
1 | {"version":3,"sources":["webpack:///C:/Users/Administrator/Desktop/gulu-vue/main.js","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue?effd","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue?94bd","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue?36f8","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue?b440","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue?97d3","webpack:///C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue?17b1"],"names":["createPage","Page","data","title","onLoad","methods"],"mappings":";;;;;;;;;;kDAAA,wCAAmB;AACnB;AACA,yF;AACAA,UAAU,CAACC,aAAD,CAAV,C;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiH;AACjH;AACwD;AACL;AACa;;;AAGhE;AACqK;AACrK,gBAAgB,+KAAU;AAC1B,EAAE,0EAAM;AACR,EAAE,+EAAM;AACR,EAAE,wFAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,mFAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAA8lB,CAAgB,wnBAAG,EAAC,C;;;;;;;;;;;;wFCAlnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACdC,MADc,kBACP;AACN,WAAO;AACNC,WAAK,EAAE,OADD,EAAP;;AAGA,GALa;AAMdC,QANc,oBAML;;AAER,GARa;AASdC,SAAO,EAAE,EATK,E;;;;;;;;;;;;ACVf;AAAA;AAAA;AAAA;AAAg3B,CAAgB,i3BAAG,EAAC,C;;;;;;;;;;;ACAp4B;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/user/user.js","sourcesContent":["import 'uni-pages';import '@dcloudio/uni-stat';\nimport Vue from 'vue'\nimport Page from './pages/user/user.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./user.vue?vue&type=template&id=14649eca&\"\nvar renderjs\nimport script from \"./user.vue?vue&type=script&lang=js&\"\nexport * from \"./user.vue?vue&type=script&lang=js&\"\nimport style0 from \"./user.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue\"\nexport default component.exports","export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\templateLoader.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--16-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\template.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-uni-app-loader\\\\page-meta.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./user.vue?vue&type=template&id=14649eca&\"","var components\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./user.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./user.vue?vue&type=script&lang=js&\"","//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttitle: 'Hello'\n\t\t}\n\t},\n\tonLoad() {\n\n\t},\n\tmethods: {\n\n\t}\n}\n","import mod from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./user.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./user.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1587797864426\n var cssReload = require(\"D:/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""} |
unpackage/dist/dev/mp-weixin/app.json
1 | { | 1 | { |
2 | "pages": [ | 2 | "pages": [ |
3 | "pages/index/index", | 3 | "pages/index/index", |
4 | "pages/cart/cart", | 4 | "pages/cart/cart", |
5 | "pages/user/user" | 5 | "pages/user/user" |
6 | ], | 6 | ], |
7 | "subPackages": [], | 7 | "subPackages": [], |
8 | "window": { | 8 | "window": { |
9 | "navigationBarTextStyle": "black", | 9 | "navigationBarTextStyle": "black", |
10 | "navigationBarTitleText": "uni-app", | 10 | "navigationBarTitleText": "uni-app", |
11 | "navigationBarBackgroundColor": "#F8F8F8", | 11 | "navigationBarBackgroundColor": "#F8F8F8", |
12 | "backgroundColor": "#F8F8F8" | 12 | "backgroundColor": "#F8F8F8" |
13 | }, | 13 | }, |
14 | "tabBar": { | 14 | "tabBar": { |
15 | "color": "#C0C4CC", | 15 | "color": "#C0C4CC", |
16 | "selectedColor": "#fa436a", | 16 | "selectedColor": "#fa436a", |
17 | "borderStyle": "black", | 17 | "borderStyle": "black", |
18 | "backgroundColor": "#ffffff", | 18 | "backgroundColor": "#ffffff", |
19 | "list": [ | 19 | "list": [ |
20 | { | 20 | { |
21 | "pagePath": "pages/index/index", | 21 | "pagePath": "pages/index/index", |
22 | "iconPath": "static/tab-home.png", | 22 | "iconPath": "static/tab-home.png", |
23 | "selectedIconPath": "static/tab-home-current.png", | 23 | "selectedIconPath": "static/tab-home-current.png", |
24 | "text": "首页" | 24 | "text": "首页" |
25 | }, | 25 | }, |
26 | { | 26 | { |
27 | "pagePath": "pages/cart/cart", | 27 | "pagePath": "pages/cart/cart", |
28 | "iconPath": "static/tab-cart.png", | 28 | "iconPath": "static/tab-cart.png", |
29 | "selectedIconPath": "static/tab-cart-current.png", | 29 | "selectedIconPath": "static/tab-cart-current.png", |
30 | "text": "购物车" | 30 | "text": "购物车" |
31 | }, | 31 | }, |
32 | { | 32 | { |
33 | "pagePath": "pages/user/user", | 33 | "pagePath": "pages/user/user", |
34 | "iconPath": "static/tab-my.png", | 34 | "iconPath": "static/tab-my.png", |
35 | "selectedIconPath": "static/tab-my-current.png", | 35 | "selectedIconPath": "static/tab-my-current.png", |
36 | "text": "我的" | 36 | "text": "我的" |
37 | } | 37 | } |
38 | ] | 38 | ] |
39 | }, | 39 | }, |
40 | "usingComponents": {}, | 40 | "usingComponents": {}, |
41 | "sitemapLocation": "sitemap7.json" | 41 | "sitemapLocation": "sitemap80.json" |
42 | } | 42 | } |
unpackage/dist/dev/mp-weixin/common/runtime.js
1 | 1 | ||
2 | !function(){try{var a=Function("return this")();a&&!a.Math&&(Object.assign(a,{isFinite:isFinite,Array:Array,Date:Date,Error:Error,Function:Function,Math:Math,Object:Object,RegExp:RegExp,String:String,TypeError:TypeError,setTimeout:setTimeout,clearTimeout:clearTimeout,setInterval:setInterval,clearInterval:clearInterval}),"undefined"!=typeof Reflect&&(a.Reflect=Reflect))}catch(a){}}(); | 2 | !function(){try{var a=Function("return this")();a&&!a.Math&&(Object.assign(a,{isFinite:isFinite,Array:Array,Date:Date,Error:Error,Function:Function,Math:Math,Object:Object,RegExp:RegExp,String:String,TypeError:TypeError,setTimeout:setTimeout,clearTimeout:clearTimeout,setInterval:setInterval,clearInterval:clearInterval}),"undefined"!=typeof Reflect&&(a.Reflect=Reflect))}catch(a){}}(); |
3 | /******/ (function(modules) { // webpackBootstrap | 3 | /******/ (function(modules) { // webpackBootstrap |
4 | /******/ // install a JSONP callback for chunk loading | 4 | /******/ // install a JSONP callback for chunk loading |
5 | /******/ function webpackJsonpCallback(data) { | 5 | /******/ function webpackJsonpCallback(data) { |
6 | /******/ var chunkIds = data[0]; | 6 | /******/ var chunkIds = data[0]; |
7 | /******/ var moreModules = data[1]; | 7 | /******/ var moreModules = data[1]; |
8 | /******/ var executeModules = data[2]; | 8 | /******/ var executeModules = data[2]; |
9 | /******/ | 9 | /******/ |
10 | /******/ // add "moreModules" to the modules object, | 10 | /******/ // add "moreModules" to the modules object, |
11 | /******/ // then flag all "chunkIds" as loaded and fire callback | 11 | /******/ // then flag all "chunkIds" as loaded and fire callback |
12 | /******/ var moduleId, chunkId, i = 0, resolves = []; | 12 | /******/ var moduleId, chunkId, i = 0, resolves = []; |
13 | /******/ for(;i < chunkIds.length; i++) { | 13 | /******/ for(;i < chunkIds.length; i++) { |
14 | /******/ chunkId = chunkIds[i]; | 14 | /******/ chunkId = chunkIds[i]; |
15 | /******/ if(installedChunks[chunkId]) { | 15 | /******/ if(installedChunks[chunkId]) { |
16 | /******/ resolves.push(installedChunks[chunkId][0]); | 16 | /******/ resolves.push(installedChunks[chunkId][0]); |
17 | /******/ } | 17 | /******/ } |
18 | /******/ installedChunks[chunkId] = 0; | 18 | /******/ installedChunks[chunkId] = 0; |
19 | /******/ } | 19 | /******/ } |
20 | /******/ for(moduleId in moreModules) { | 20 | /******/ for(moduleId in moreModules) { |
21 | /******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { | 21 | /******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { |
22 | /******/ modules[moduleId] = moreModules[moduleId]; | 22 | /******/ modules[moduleId] = moreModules[moduleId]; |
23 | /******/ } | 23 | /******/ } |
24 | /******/ } | 24 | /******/ } |
25 | /******/ if(parentJsonpFunction) parentJsonpFunction(data); | 25 | /******/ if(parentJsonpFunction) parentJsonpFunction(data); |
26 | /******/ | 26 | /******/ |
27 | /******/ while(resolves.length) { | 27 | /******/ while(resolves.length) { |
28 | /******/ resolves.shift()(); | 28 | /******/ resolves.shift()(); |
29 | /******/ } | 29 | /******/ } |
30 | /******/ | 30 | /******/ |
31 | /******/ // add entry modules from loaded chunk to deferred list | 31 | /******/ // add entry modules from loaded chunk to deferred list |
32 | /******/ deferredModules.push.apply(deferredModules, executeModules || []); | 32 | /******/ deferredModules.push.apply(deferredModules, executeModules || []); |
33 | /******/ | 33 | /******/ |
34 | /******/ // run deferred modules when all chunks ready | 34 | /******/ // run deferred modules when all chunks ready |
35 | /******/ return checkDeferredModules(); | 35 | /******/ return checkDeferredModules(); |
36 | /******/ }; | 36 | /******/ }; |
37 | /******/ function checkDeferredModules() { | 37 | /******/ function checkDeferredModules() { |
38 | /******/ var result; | 38 | /******/ var result; |
39 | /******/ for(var i = 0; i < deferredModules.length; i++) { | 39 | /******/ for(var i = 0; i < deferredModules.length; i++) { |
40 | /******/ var deferredModule = deferredModules[i]; | 40 | /******/ var deferredModule = deferredModules[i]; |
41 | /******/ var fulfilled = true; | 41 | /******/ var fulfilled = true; |
42 | /******/ for(var j = 1; j < deferredModule.length; j++) { | 42 | /******/ for(var j = 1; j < deferredModule.length; j++) { |
43 | /******/ var depId = deferredModule[j]; | 43 | /******/ var depId = deferredModule[j]; |
44 | /******/ if(installedChunks[depId] !== 0) fulfilled = false; | 44 | /******/ if(installedChunks[depId] !== 0) fulfilled = false; |
45 | /******/ } | 45 | /******/ } |
46 | /******/ if(fulfilled) { | 46 | /******/ if(fulfilled) { |
47 | /******/ deferredModules.splice(i--, 1); | 47 | /******/ deferredModules.splice(i--, 1); |
48 | /******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]); | 48 | /******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]); |
49 | /******/ } | 49 | /******/ } |
50 | /******/ } | 50 | /******/ } |
51 | /******/ return result; | 51 | /******/ return result; |
52 | /******/ } | 52 | /******/ } |
53 | /******/ | 53 | /******/ |
54 | /******/ // The module cache | 54 | /******/ // The module cache |
55 | /******/ var installedModules = {}; | 55 | /******/ var installedModules = {}; |
56 | /******/ | 56 | /******/ |
57 | /******/ // object to store loaded CSS chunks | ||
58 | /******/ var installedCssChunks = { | ||
59 | /******/ "common/runtime": 0 | ||
60 | /******/ } | ||
61 | /******/ | ||
57 | /******/ // object to store loaded and loading chunks | 62 | /******/ // object to store loaded and loading chunks |
58 | /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched | 63 | /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched |
59 | /******/ // Promise = chunk loading, 0 = chunk loaded | 64 | /******/ // Promise = chunk loading, 0 = chunk loaded |
60 | /******/ var installedChunks = { | 65 | /******/ var installedChunks = { |
61 | /******/ "common/runtime": 0 | 66 | /******/ "common/runtime": 0 |
62 | /******/ }; | 67 | /******/ }; |
63 | /******/ | 68 | /******/ |
64 | /******/ var deferredModules = []; | 69 | /******/ var deferredModules = []; |
65 | /******/ | 70 | /******/ |
71 | /******/ // script path function | ||
72 | /******/ function jsonpScriptSrc(chunkId) { | ||
73 | /******/ return __webpack_require__.p + "" + chunkId + ".js" | ||
74 | /******/ } | ||
75 | /******/ | ||
66 | /******/ // The require function | 76 | /******/ // The require function |
67 | /******/ function __webpack_require__(moduleId) { | 77 | /******/ function __webpack_require__(moduleId) { |
68 | /******/ | 78 | /******/ |
69 | /******/ // Check if module is in cache | 79 | /******/ // Check if module is in cache |
70 | /******/ if(installedModules[moduleId]) { | 80 | /******/ if(installedModules[moduleId]) { |
71 | /******/ return installedModules[moduleId].exports; | 81 | /******/ return installedModules[moduleId].exports; |
72 | /******/ } | 82 | /******/ } |
73 | /******/ // Create a new module (and put it into the cache) | 83 | /******/ // Create a new module (and put it into the cache) |
74 | /******/ var module = installedModules[moduleId] = { | 84 | /******/ var module = installedModules[moduleId] = { |
75 | /******/ i: moduleId, | 85 | /******/ i: moduleId, |
76 | /******/ l: false, | 86 | /******/ l: false, |
77 | /******/ exports: {} | 87 | /******/ exports: {} |
78 | /******/ }; | 88 | /******/ }; |
79 | /******/ | 89 | /******/ |
80 | /******/ // Execute the module function | 90 | /******/ // Execute the module function |
81 | /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); | 91 | /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); |
82 | /******/ | 92 | /******/ |
83 | /******/ // Flag the module as loaded | 93 | /******/ // Flag the module as loaded |
84 | /******/ module.l = true; | 94 | /******/ module.l = true; |
85 | /******/ | 95 | /******/ |
86 | /******/ // Return the exports of the module | 96 | /******/ // Return the exports of the module |
87 | /******/ return module.exports; | 97 | /******/ return module.exports; |
88 | /******/ } | 98 | /******/ } |
89 | /******/ | 99 | /******/ |
100 | /******/ // This file contains only the entry chunk. | ||
101 | /******/ // The chunk loading function for additional chunks | ||
102 | /******/ __webpack_require__.e = function requireEnsure(chunkId) { | ||
103 | /******/ var promises = []; | ||
104 | /******/ | ||
105 | /******/ | ||
106 | /******/ // mini-css-extract-plugin CSS loading | ||
107 | /******/ var cssChunks = {"components/HM-filterDropdown/HM-filterDropdown":1,"components/uni-drawer/uni-drawer":1}; | ||
108 | /******/ if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]); | ||
109 | /******/ else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) { | ||
110 | /******/ promises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) { | ||
111 | /******/ var href = "" + ({"components/HM-filterDropdown/HM-filterDropdown":"components/HM-filterDropdown/HM-filterDropdown","components/uni-drawer/uni-drawer":"components/uni-drawer/uni-drawer"}[chunkId]||chunkId) + ".wxss"; | ||
112 | /******/ var fullhref = __webpack_require__.p + href; | ||
113 | /******/ var existingLinkTags = document.getElementsByTagName("link"); | ||
114 | /******/ for(var i = 0; i < existingLinkTags.length; i++) { | ||
115 | /******/ var tag = existingLinkTags[i]; | ||
116 | /******/ var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href"); | ||
117 | /******/ if(tag.rel === "stylesheet" && (dataHref === href || dataHref === fullhref)) return resolve(); | ||
118 | /******/ } | ||
119 | /******/ var existingStyleTags = document.getElementsByTagName("style"); | ||
120 | /******/ for(var i = 0; i < existingStyleTags.length; i++) { | ||
121 | /******/ var tag = existingStyleTags[i]; | ||
122 | /******/ var dataHref = tag.getAttribute("data-href"); | ||
123 | /******/ if(dataHref === href || dataHref === fullhref) return resolve(); | ||
124 | /******/ } | ||
125 | /******/ var linkTag = document.createElement("link"); | ||
126 | /******/ linkTag.rel = "stylesheet"; | ||
127 | /******/ linkTag.type = "text/css"; | ||
128 | /******/ linkTag.onload = resolve; | ||
129 | /******/ linkTag.onerror = function(event) { | ||
130 | /******/ var request = event && event.target && event.target.src || fullhref; | ||
131 | /******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")"); | ||
132 | /******/ err.code = "CSS_CHUNK_LOAD_FAILED"; | ||
133 | /******/ err.request = request; | ||
134 | /******/ delete installedCssChunks[chunkId] | ||
135 | /******/ linkTag.parentNode.removeChild(linkTag) | ||
136 | /******/ reject(err); | ||
137 | /******/ }; | ||
138 | /******/ linkTag.href = fullhref; | ||
139 | /******/ | ||
140 | /******/ var head = document.getElementsByTagName("head")[0]; | ||
141 | /******/ head.appendChild(linkTag); | ||
142 | /******/ }).then(function() { | ||
143 | /******/ installedCssChunks[chunkId] = 0; | ||
144 | /******/ })); | ||
145 | /******/ } | ||
146 | /******/ | ||
147 | /******/ // JSONP chunk loading for javascript | ||
148 | /******/ | ||
149 | /******/ var installedChunkData = installedChunks[chunkId]; | ||
150 | /******/ if(installedChunkData !== 0) { // 0 means "already installed". | ||
151 | /******/ | ||
152 | /******/ // a Promise means "currently loading". | ||
153 | /******/ if(installedChunkData) { | ||
154 | /******/ promises.push(installedChunkData[2]); | ||
155 | /******/ } else { | ||
156 | /******/ // setup Promise in chunk cache | ||
157 | /******/ var promise = new Promise(function(resolve, reject) { | ||
158 | /******/ installedChunkData = installedChunks[chunkId] = [resolve, reject]; | ||
159 | /******/ }); | ||
160 | /******/ promises.push(installedChunkData[2] = promise); | ||
161 | /******/ | ||
162 | /******/ // start chunk loading | ||
163 | /******/ var script = document.createElement('script'); | ||
164 | /******/ var onScriptComplete; | ||
165 | /******/ | ||
166 | /******/ script.charset = 'utf-8'; | ||
167 | /******/ script.timeout = 120; | ||
168 | /******/ if (__webpack_require__.nc) { | ||
169 | /******/ script.setAttribute("nonce", __webpack_require__.nc); | ||
170 | /******/ } | ||
171 | /******/ script.src = jsonpScriptSrc(chunkId); | ||
172 | /******/ | ||
173 | /******/ onScriptComplete = function (event) { | ||
174 | /******/ // avoid mem leaks in IE. | ||
175 | /******/ script.onerror = script.onload = null; | ||
176 | /******/ clearTimeout(timeout); | ||
177 | /******/ var chunk = installedChunks[chunkId]; | ||
178 | /******/ if(chunk !== 0) { | ||
179 | /******/ if(chunk) { | ||
180 | /******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); | ||
181 | /******/ var realSrc = event && event.target && event.target.src; | ||
182 | /******/ var error = new Error('Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'); | ||
183 | /******/ error.type = errorType; | ||
184 | /******/ error.request = realSrc; | ||
185 | /******/ chunk[1](error); | ||
186 | /******/ } | ||
187 | /******/ installedChunks[chunkId] = undefined; | ||
188 | /******/ } | ||
189 | /******/ }; | ||
190 | /******/ var timeout = setTimeout(function(){ | ||
191 | /******/ onScriptComplete({ type: 'timeout', target: script }); | ||
192 | /******/ }, 120000); | ||
193 | /******/ script.onerror = script.onload = onScriptComplete; | ||
194 | /******/ document.head.appendChild(script); | ||
195 | /******/ } | ||
196 | /******/ } | ||
197 | /******/ return Promise.all(promises); | ||
198 | /******/ }; | ||
90 | /******/ | 199 | /******/ |
91 | /******/ // expose the modules object (__webpack_modules__) | 200 | /******/ // expose the modules object (__webpack_modules__) |
92 | /******/ __webpack_require__.m = modules; | 201 | /******/ __webpack_require__.m = modules; |
93 | /******/ | 202 | /******/ |
94 | /******/ // expose the module cache | 203 | /******/ // expose the module cache |
95 | /******/ __webpack_require__.c = installedModules; | 204 | /******/ __webpack_require__.c = installedModules; |
96 | /******/ | 205 | /******/ |
97 | /******/ // define getter function for harmony exports | 206 | /******/ // define getter function for harmony exports |
98 | /******/ __webpack_require__.d = function(exports, name, getter) { | 207 | /******/ __webpack_require__.d = function(exports, name, getter) { |
99 | /******/ if(!__webpack_require__.o(exports, name)) { | 208 | /******/ if(!__webpack_require__.o(exports, name)) { |
100 | /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); | 209 | /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); |
101 | /******/ } | 210 | /******/ } |
102 | /******/ }; | 211 | /******/ }; |
103 | /******/ | 212 | /******/ |
104 | /******/ // define __esModule on exports | 213 | /******/ // define __esModule on exports |
105 | /******/ __webpack_require__.r = function(exports) { | 214 | /******/ __webpack_require__.r = function(exports) { |
106 | /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | 215 | /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { |
107 | /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | 216 | /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); |
108 | /******/ } | 217 | /******/ } |
109 | /******/ Object.defineProperty(exports, '__esModule', { value: true }); | 218 | /******/ Object.defineProperty(exports, '__esModule', { value: true }); |
110 | /******/ }; | 219 | /******/ }; |
111 | /******/ | 220 | /******/ |
112 | /******/ // create a fake namespace object | 221 | /******/ // create a fake namespace object |
113 | /******/ // mode & 1: value is a module id, require it | 222 | /******/ // mode & 1: value is a module id, require it |
114 | /******/ // mode & 2: merge all properties of value into the ns | 223 | /******/ // mode & 2: merge all properties of value into the ns |
115 | /******/ // mode & 4: return value when already ns object | 224 | /******/ // mode & 4: return value when already ns object |
116 | /******/ // mode & 8|1: behave like require | 225 | /******/ // mode & 8|1: behave like require |
117 | /******/ __webpack_require__.t = function(value, mode) { | 226 | /******/ __webpack_require__.t = function(value, mode) { |
118 | /******/ if(mode & 1) value = __webpack_require__(value); | 227 | /******/ if(mode & 1) value = __webpack_require__(value); |
119 | /******/ if(mode & 8) return value; | 228 | /******/ if(mode & 8) return value; |
120 | /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; | 229 | /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; |
121 | /******/ var ns = Object.create(null); | 230 | /******/ var ns = Object.create(null); |
122 | /******/ __webpack_require__.r(ns); | 231 | /******/ __webpack_require__.r(ns); |
123 | /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); | 232 | /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); |
124 | /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); | 233 | /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); |
125 | /******/ return ns; | 234 | /******/ return ns; |
126 | /******/ }; | 235 | /******/ }; |
127 | /******/ | 236 | /******/ |
128 | /******/ // getDefaultExport function for compatibility with non-harmony modules | 237 | /******/ // getDefaultExport function for compatibility with non-harmony modules |
129 | /******/ __webpack_require__.n = function(module) { | 238 | /******/ __webpack_require__.n = function(module) { |
130 | /******/ var getter = module && module.__esModule ? | 239 | /******/ var getter = module && module.__esModule ? |
131 | /******/ function getDefault() { return module['default']; } : | 240 | /******/ function getDefault() { return module['default']; } : |
132 | /******/ function getModuleExports() { return module; }; | 241 | /******/ function getModuleExports() { return module; }; |
133 | /******/ __webpack_require__.d(getter, 'a', getter); | 242 | /******/ __webpack_require__.d(getter, 'a', getter); |
134 | /******/ return getter; | 243 | /******/ return getter; |
135 | /******/ }; | 244 | /******/ }; |
136 | /******/ | 245 | /******/ |
137 | /******/ // Object.prototype.hasOwnProperty.call | 246 | /******/ // Object.prototype.hasOwnProperty.call |
138 | /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; | 247 | /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; |
139 | /******/ | 248 | /******/ |
140 | /******/ // __webpack_public_path__ | 249 | /******/ // __webpack_public_path__ |
141 | /******/ __webpack_require__.p = "/"; | 250 | /******/ __webpack_require__.p = "/"; |
142 | /******/ | 251 | /******/ |
252 | /******/ // on error function for async loading | ||
253 | /******/ __webpack_require__.oe = function(err) { console.error(err); throw err; }; | ||
254 | /******/ | ||
143 | /******/ var jsonpArray = global["webpackJsonp"] = global["webpackJsonp"] || []; | 255 | /******/ var jsonpArray = global["webpackJsonp"] = global["webpackJsonp"] || []; |
144 | /******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); | 256 | /******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); |
145 | /******/ jsonpArray.push = webpackJsonpCallback; | 257 | /******/ jsonpArray.push = webpackJsonpCallback; |
146 | /******/ jsonpArray = jsonpArray.slice(); | 258 | /******/ jsonpArray = jsonpArray.slice(); |
147 | /******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); | 259 | /******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); |
148 | /******/ var parentJsonpFunction = oldJsonpFunction; | 260 | /******/ var parentJsonpFunction = oldJsonpFunction; |
149 | /******/ | 261 | /******/ |
150 | /******/ | 262 | /******/ |
151 | /******/ // run deferred modules from other chunks | 263 | /******/ // run deferred modules from other chunks |
152 | /******/ checkDeferredModules(); | 264 | /******/ checkDeferredModules(); |
153 | /******/ }) | 265 | /******/ }) |
154 | /************************************************************************/ | 266 | /************************************************************************/ |
155 | /******/ ([]); | 267 | /******/ ([]); |
156 | //# sourceMappingURL=../../.sourcemap/mp-weixin/common/runtime.js.map | 268 | //# sourceMappingURL=../../.sourcemap/mp-weixin/common/runtime.js.map |
157 | 269 |
unpackage/dist/dev/mp-weixin/common/vendor.js
1 | (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["common/vendor"],[ | 1 | (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["common/vendor"],[ |
2 | /* 0 */, | 2 | /* 0 */, |
3 | /* 1 */ | 3 | /* 1 */ |
4 | /*!************************************************************!*\ | 4 | /*!************************************************************!*\ |
5 | !*** ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js ***! | 5 | !*** ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js ***! |
6 | \************************************************************/ | 6 | \************************************************************/ |
7 | /*! no static exports found */ | 7 | /*! no static exports found */ |
8 | /***/ (function(module, exports, __webpack_require__) { | 8 | /***/ (function(module, exports, __webpack_require__) { |
9 | 9 | ||
10 | "use strict"; | 10 | "use strict"; |
11 | Object.defineProperty(exports, "__esModule", { value: true });exports.createApp = createApp;exports.createComponent = createComponent;exports.createPage = createPage;exports.default = void 0;var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 2));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function ownKeys(object, enumerableOnly) {var keys = Object.keys(object);if (Object.getOwnPropertySymbols) {var symbols = Object.getOwnPropertySymbols(object);if (enumerableOnly) symbols = symbols.filter(function (sym) {return Object.getOwnPropertyDescriptor(object, sym).enumerable;});keys.push.apply(keys, symbols);}return keys;}function _objectSpread(target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i] != null ? arguments[i] : {};if (i % 2) {ownKeys(Object(source), true).forEach(function (key) {_defineProperty(target, key, source[key]);});} else if (Object.getOwnPropertyDescriptors) {Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));} else {ownKeys(Object(source)).forEach(function (key) {Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));});}}return target;}function _slicedToArray(arr, i) {return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArrayLimit(arr, i) {if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;var _arr = [];var _n = true;var _d = false;var _e = undefined;try {for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {_arr.push(_s.value);if (i && _arr.length === i) break;}} catch (err) {_d = true;_e = err;} finally {try {if (!_n && _i["return"] != null) _i["return"]();} finally {if (_d) throw _e;}}return _arr;}function _arrayWithHoles(arr) {if (Array.isArray(arr)) return arr;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}function _toConsumableArray(arr) {return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();}function _nonIterableSpread() {throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o, minLen) {if (!o) return;if (typeof o === "string") return _arrayLikeToArray(o, minLen);var n = Object.prototype.toString.call(o).slice(8, -1);if (n === "Object" && o.constructor) n = o.constructor.name;if (n === "Map" || n === "Set") return Array.from(n);if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);}function _iterableToArray(iter) {if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);}function _arrayWithoutHoles(arr) {if (Array.isArray(arr)) return _arrayLikeToArray(arr);}function _arrayLikeToArray(arr, len) {if (len == null || len > arr.length) len = arr.length;for (var i = 0, arr2 = new Array(len); i < len; i++) {arr2[i] = arr[i];}return arr2;} | 11 | Object.defineProperty(exports, "__esModule", { value: true });exports.createApp = createApp;exports.createComponent = createComponent;exports.createPage = createPage;exports.default = void 0;var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 2));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function ownKeys(object, enumerableOnly) {var keys = Object.keys(object);if (Object.getOwnPropertySymbols) {var symbols = Object.getOwnPropertySymbols(object);if (enumerableOnly) symbols = symbols.filter(function (sym) {return Object.getOwnPropertyDescriptor(object, sym).enumerable;});keys.push.apply(keys, symbols);}return keys;}function _objectSpread(target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i] != null ? arguments[i] : {};if (i % 2) {ownKeys(Object(source), true).forEach(function (key) {_defineProperty(target, key, source[key]);});} else if (Object.getOwnPropertyDescriptors) {Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));} else {ownKeys(Object(source)).forEach(function (key) {Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));});}}return target;}function _slicedToArray(arr, i) {return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArrayLimit(arr, i) {if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;var _arr = [];var _n = true;var _d = false;var _e = undefined;try {for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {_arr.push(_s.value);if (i && _arr.length === i) break;}} catch (err) {_d = true;_e = err;} finally {try {if (!_n && _i["return"] != null) _i["return"]();} finally {if (_d) throw _e;}}return _arr;}function _arrayWithHoles(arr) {if (Array.isArray(arr)) return arr;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}function _toConsumableArray(arr) {return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();}function _nonIterableSpread() {throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o, minLen) {if (!o) return;if (typeof o === "string") return _arrayLikeToArray(o, minLen);var n = Object.prototype.toString.call(o).slice(8, -1);if (n === "Object" && o.constructor) n = o.constructor.name;if (n === "Map" || n === "Set") return Array.from(n);if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);}function _iterableToArray(iter) {if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);}function _arrayWithoutHoles(arr) {if (Array.isArray(arr)) return _arrayLikeToArray(arr);}function _arrayLikeToArray(arr, len) {if (len == null || len > arr.length) len = arr.length;for (var i = 0, arr2 = new Array(len); i < len; i++) {arr2[i] = arr[i];}return arr2;} |
12 | 12 | ||
13 | var _toString = Object.prototype.toString; | 13 | var _toString = Object.prototype.toString; |
14 | var hasOwnProperty = Object.prototype.hasOwnProperty; | 14 | var hasOwnProperty = Object.prototype.hasOwnProperty; |
15 | 15 | ||
16 | function isFn(fn) { | 16 | function isFn(fn) { |
17 | return typeof fn === 'function'; | 17 | return typeof fn === 'function'; |
18 | } | 18 | } |
19 | 19 | ||
20 | function isStr(str) { | 20 | function isStr(str) { |
21 | return typeof str === 'string'; | 21 | return typeof str === 'string'; |
22 | } | 22 | } |
23 | 23 | ||
24 | function isPlainObject(obj) { | 24 | function isPlainObject(obj) { |
25 | return _toString.call(obj) === '[object Object]'; | 25 | return _toString.call(obj) === '[object Object]'; |
26 | } | 26 | } |
27 | 27 | ||
28 | function hasOwn(obj, key) { | 28 | function hasOwn(obj, key) { |
29 | return hasOwnProperty.call(obj, key); | 29 | return hasOwnProperty.call(obj, key); |
30 | } | 30 | } |
31 | 31 | ||
32 | function noop() {} | 32 | function noop() {} |
33 | 33 | ||
34 | /** | 34 | /** |
35 | * Create a cached version of a pure function. | 35 | * Create a cached version of a pure function. |
36 | */ | 36 | */ |
37 | function cached(fn) { | 37 | function cached(fn) { |
38 | var cache = Object.create(null); | 38 | var cache = Object.create(null); |
39 | return function cachedFn(str) { | 39 | return function cachedFn(str) { |
40 | var hit = cache[str]; | 40 | var hit = cache[str]; |
41 | return hit || (cache[str] = fn(str)); | 41 | return hit || (cache[str] = fn(str)); |
42 | }; | 42 | }; |
43 | } | 43 | } |
44 | 44 | ||
45 | /** | 45 | /** |
46 | * Camelize a hyphen-delimited string. | 46 | * Camelize a hyphen-delimited string. |
47 | */ | 47 | */ |
48 | var camelizeRE = /-(\w)/g; | 48 | var camelizeRE = /-(\w)/g; |
49 | var camelize = cached(function (str) { | 49 | var camelize = cached(function (str) { |
50 | return str.replace(camelizeRE, function (_, c) {return c ? c.toUpperCase() : '';}); | 50 | return str.replace(camelizeRE, function (_, c) {return c ? c.toUpperCase() : '';}); |
51 | }); | 51 | }); |
52 | 52 | ||
53 | var HOOKS = [ | 53 | var HOOKS = [ |
54 | 'invoke', | 54 | 'invoke', |
55 | 'success', | 55 | 'success', |
56 | 'fail', | 56 | 'fail', |
57 | 'complete', | 57 | 'complete', |
58 | 'returnValue']; | 58 | 'returnValue']; |
59 | 59 | ||
60 | 60 | ||
61 | var globalInterceptors = {}; | 61 | var globalInterceptors = {}; |
62 | var scopedInterceptors = {}; | 62 | var scopedInterceptors = {}; |
63 | 63 | ||
64 | function mergeHook(parentVal, childVal) { | 64 | function mergeHook(parentVal, childVal) { |
65 | var res = childVal ? | 65 | var res = childVal ? |
66 | parentVal ? | 66 | parentVal ? |
67 | parentVal.concat(childVal) : | 67 | parentVal.concat(childVal) : |
68 | Array.isArray(childVal) ? | 68 | Array.isArray(childVal) ? |
69 | childVal : [childVal] : | 69 | childVal : [childVal] : |
70 | parentVal; | 70 | parentVal; |
71 | return res ? | 71 | return res ? |
72 | dedupeHooks(res) : | 72 | dedupeHooks(res) : |
73 | res; | 73 | res; |
74 | } | 74 | } |
75 | 75 | ||
76 | function dedupeHooks(hooks) { | 76 | function dedupeHooks(hooks) { |
77 | var res = []; | 77 | var res = []; |
78 | for (var i = 0; i < hooks.length; i++) { | 78 | for (var i = 0; i < hooks.length; i++) { |
79 | if (res.indexOf(hooks[i]) === -1) { | 79 | if (res.indexOf(hooks[i]) === -1) { |
80 | res.push(hooks[i]); | 80 | res.push(hooks[i]); |
81 | } | 81 | } |
82 | } | 82 | } |
83 | return res; | 83 | return res; |
84 | } | 84 | } |
85 | 85 | ||
86 | function removeHook(hooks, hook) { | 86 | function removeHook(hooks, hook) { |
87 | var index = hooks.indexOf(hook); | 87 | var index = hooks.indexOf(hook); |
88 | if (index !== -1) { | 88 | if (index !== -1) { |
89 | hooks.splice(index, 1); | 89 | hooks.splice(index, 1); |
90 | } | 90 | } |
91 | } | 91 | } |
92 | 92 | ||
93 | function mergeInterceptorHook(interceptor, option) { | 93 | function mergeInterceptorHook(interceptor, option) { |
94 | Object.keys(option).forEach(function (hook) { | 94 | Object.keys(option).forEach(function (hook) { |
95 | if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) { | 95 | if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) { |
96 | interceptor[hook] = mergeHook(interceptor[hook], option[hook]); | 96 | interceptor[hook] = mergeHook(interceptor[hook], option[hook]); |
97 | } | 97 | } |
98 | }); | 98 | }); |
99 | } | 99 | } |
100 | 100 | ||
101 | function removeInterceptorHook(interceptor, option) { | 101 | function removeInterceptorHook(interceptor, option) { |
102 | if (!interceptor || !option) { | 102 | if (!interceptor || !option) { |
103 | return; | 103 | return; |
104 | } | 104 | } |
105 | Object.keys(option).forEach(function (hook) { | 105 | Object.keys(option).forEach(function (hook) { |
106 | if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) { | 106 | if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) { |
107 | removeHook(interceptor[hook], option[hook]); | 107 | removeHook(interceptor[hook], option[hook]); |
108 | } | 108 | } |
109 | }); | 109 | }); |
110 | } | 110 | } |
111 | 111 | ||
112 | function addInterceptor(method, option) { | 112 | function addInterceptor(method, option) { |
113 | if (typeof method === 'string' && isPlainObject(option)) { | 113 | if (typeof method === 'string' && isPlainObject(option)) { |
114 | mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option); | 114 | mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option); |
115 | } else if (isPlainObject(method)) { | 115 | } else if (isPlainObject(method)) { |
116 | mergeInterceptorHook(globalInterceptors, method); | 116 | mergeInterceptorHook(globalInterceptors, method); |
117 | } | 117 | } |
118 | } | 118 | } |
119 | 119 | ||
120 | function removeInterceptor(method, option) { | 120 | function removeInterceptor(method, option) { |
121 | if (typeof method === 'string') { | 121 | if (typeof method === 'string') { |
122 | if (isPlainObject(option)) { | 122 | if (isPlainObject(option)) { |
123 | removeInterceptorHook(scopedInterceptors[method], option); | 123 | removeInterceptorHook(scopedInterceptors[method], option); |
124 | } else { | 124 | } else { |
125 | delete scopedInterceptors[method]; | 125 | delete scopedInterceptors[method]; |
126 | } | 126 | } |
127 | } else if (isPlainObject(method)) { | 127 | } else if (isPlainObject(method)) { |
128 | removeInterceptorHook(globalInterceptors, method); | 128 | removeInterceptorHook(globalInterceptors, method); |
129 | } | 129 | } |
130 | } | 130 | } |
131 | 131 | ||
132 | function wrapperHook(hook) { | 132 | function wrapperHook(hook) { |
133 | return function (data) { | 133 | return function (data) { |
134 | return hook(data) || data; | 134 | return hook(data) || data; |
135 | }; | 135 | }; |
136 | } | 136 | } |
137 | 137 | ||
138 | function isPromise(obj) { | 138 | function isPromise(obj) { |
139 | return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'; | 139 | return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'; |
140 | } | 140 | } |
141 | 141 | ||
142 | function queue(hooks, data) { | 142 | function queue(hooks, data) { |
143 | var promise = false; | 143 | var promise = false; |
144 | for (var i = 0; i < hooks.length; i++) { | 144 | for (var i = 0; i < hooks.length; i++) { |
145 | var hook = hooks[i]; | 145 | var hook = hooks[i]; |
146 | if (promise) { | 146 | if (promise) { |
147 | promise = Promise.then(wrapperHook(hook)); | 147 | promise = Promise.then(wrapperHook(hook)); |
148 | } else { | 148 | } else { |
149 | var res = hook(data); | 149 | var res = hook(data); |
150 | if (isPromise(res)) { | 150 | if (isPromise(res)) { |
151 | promise = Promise.resolve(res); | 151 | promise = Promise.resolve(res); |
152 | } | 152 | } |
153 | if (res === false) { | 153 | if (res === false) { |
154 | return { | 154 | return { |
155 | then: function then() {} }; | 155 | then: function then() {} }; |
156 | 156 | ||
157 | } | 157 | } |
158 | } | 158 | } |
159 | } | 159 | } |
160 | return promise || { | 160 | return promise || { |
161 | then: function then(callback) { | 161 | then: function then(callback) { |
162 | return callback(data); | 162 | return callback(data); |
163 | } }; | 163 | } }; |
164 | 164 | ||
165 | } | 165 | } |
166 | 166 | ||
167 | function wrapperOptions(interceptor) {var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | 167 | function wrapperOptions(interceptor) {var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; |
168 | ['success', 'fail', 'complete'].forEach(function (name) { | 168 | ['success', 'fail', 'complete'].forEach(function (name) { |
169 | if (Array.isArray(interceptor[name])) { | 169 | if (Array.isArray(interceptor[name])) { |
170 | var oldCallback = options[name]; | 170 | var oldCallback = options[name]; |
171 | options[name] = function callbackInterceptor(res) { | 171 | options[name] = function callbackInterceptor(res) { |
172 | queue(interceptor[name], res).then(function (res) { | 172 | queue(interceptor[name], res).then(function (res) { |
173 | /* eslint-disable no-mixed-operators */ | 173 | /* eslint-disable no-mixed-operators */ |
174 | return isFn(oldCallback) && oldCallback(res) || res; | 174 | return isFn(oldCallback) && oldCallback(res) || res; |
175 | }); | 175 | }); |
176 | }; | 176 | }; |
177 | } | 177 | } |
178 | }); | 178 | }); |
179 | return options; | 179 | return options; |
180 | } | 180 | } |
181 | 181 | ||
182 | function wrapperReturnValue(method, returnValue) { | 182 | function wrapperReturnValue(method, returnValue) { |
183 | var returnValueHooks = []; | 183 | var returnValueHooks = []; |
184 | if (Array.isArray(globalInterceptors.returnValue)) { | 184 | if (Array.isArray(globalInterceptors.returnValue)) { |
185 | returnValueHooks.push.apply(returnValueHooks, _toConsumableArray(globalInterceptors.returnValue)); | 185 | returnValueHooks.push.apply(returnValueHooks, _toConsumableArray(globalInterceptors.returnValue)); |
186 | } | 186 | } |
187 | var interceptor = scopedInterceptors[method]; | 187 | var interceptor = scopedInterceptors[method]; |
188 | if (interceptor && Array.isArray(interceptor.returnValue)) { | 188 | if (interceptor && Array.isArray(interceptor.returnValue)) { |
189 | returnValueHooks.push.apply(returnValueHooks, _toConsumableArray(interceptor.returnValue)); | 189 | returnValueHooks.push.apply(returnValueHooks, _toConsumableArray(interceptor.returnValue)); |
190 | } | 190 | } |
191 | returnValueHooks.forEach(function (hook) { | 191 | returnValueHooks.forEach(function (hook) { |
192 | returnValue = hook(returnValue) || returnValue; | 192 | returnValue = hook(returnValue) || returnValue; |
193 | }); | 193 | }); |
194 | return returnValue; | 194 | return returnValue; |
195 | } | 195 | } |
196 | 196 | ||
197 | function getApiInterceptorHooks(method) { | 197 | function getApiInterceptorHooks(method) { |
198 | var interceptor = Object.create(null); | 198 | var interceptor = Object.create(null); |
199 | Object.keys(globalInterceptors).forEach(function (hook) { | 199 | Object.keys(globalInterceptors).forEach(function (hook) { |
200 | if (hook !== 'returnValue') { | 200 | if (hook !== 'returnValue') { |
201 | interceptor[hook] = globalInterceptors[hook].slice(); | 201 | interceptor[hook] = globalInterceptors[hook].slice(); |
202 | } | 202 | } |
203 | }); | 203 | }); |
204 | var scopedInterceptor = scopedInterceptors[method]; | 204 | var scopedInterceptor = scopedInterceptors[method]; |
205 | if (scopedInterceptor) { | 205 | if (scopedInterceptor) { |
206 | Object.keys(scopedInterceptor).forEach(function (hook) { | 206 | Object.keys(scopedInterceptor).forEach(function (hook) { |
207 | if (hook !== 'returnValue') { | 207 | if (hook !== 'returnValue') { |
208 | interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]); | 208 | interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]); |
209 | } | 209 | } |
210 | }); | 210 | }); |
211 | } | 211 | } |
212 | return interceptor; | 212 | return interceptor; |
213 | } | 213 | } |
214 | 214 | ||
215 | function invokeApi(method, api, options) {for (var _len = arguments.length, params = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {params[_key - 3] = arguments[_key];} | 215 | function invokeApi(method, api, options) {for (var _len = arguments.length, params = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {params[_key - 3] = arguments[_key];} |
216 | var interceptor = getApiInterceptorHooks(method); | 216 | var interceptor = getApiInterceptorHooks(method); |
217 | if (interceptor && Object.keys(interceptor).length) { | 217 | if (interceptor && Object.keys(interceptor).length) { |
218 | if (Array.isArray(interceptor.invoke)) { | 218 | if (Array.isArray(interceptor.invoke)) { |
219 | var res = queue(interceptor.invoke, options); | 219 | var res = queue(interceptor.invoke, options); |
220 | return res.then(function (options) { | 220 | return res.then(function (options) { |
221 | return api.apply(void 0, [wrapperOptions(interceptor, options)].concat(params)); | 221 | return api.apply(void 0, [wrapperOptions(interceptor, options)].concat(params)); |
222 | }); | 222 | }); |
223 | } else { | 223 | } else { |
224 | return api.apply(void 0, [wrapperOptions(interceptor, options)].concat(params)); | 224 | return api.apply(void 0, [wrapperOptions(interceptor, options)].concat(params)); |
225 | } | 225 | } |
226 | } | 226 | } |
227 | return api.apply(void 0, [options].concat(params)); | 227 | return api.apply(void 0, [options].concat(params)); |
228 | } | 228 | } |
229 | 229 | ||
230 | var promiseInterceptor = { | 230 | var promiseInterceptor = { |
231 | returnValue: function returnValue(res) { | 231 | returnValue: function returnValue(res) { |
232 | if (!isPromise(res)) { | 232 | if (!isPromise(res)) { |
233 | return res; | 233 | return res; |
234 | } | 234 | } |
235 | return res.then(function (res) { | 235 | return res.then(function (res) { |
236 | return res[1]; | 236 | return res[1]; |
237 | }).catch(function (res) { | 237 | }).catch(function (res) { |
238 | return res[0]; | 238 | return res[0]; |
239 | }); | 239 | }); |
240 | } }; | 240 | } }; |
241 | 241 | ||
242 | 242 | ||
243 | var SYNC_API_RE = | 243 | var SYNC_API_RE = |
244 | /^\$|sendNativeEvent|restoreGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64/; | 244 | /^\$|sendNativeEvent|restoreGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64/; |
245 | 245 | ||
246 | var CONTEXT_API_RE = /^create|Manager$/; | 246 | var CONTEXT_API_RE = /^create|Manager$/; |
247 | 247 | ||
248 | // Context例外情况 | 248 | // Context例外情况 |
249 | var CONTEXT_API_RE_EXC = ['createBLEConnection']; | 249 | var CONTEXT_API_RE_EXC = ['createBLEConnection']; |
250 | 250 | ||
251 | // 同步例外情况 | 251 | // 同步例外情况 |
252 | var ASYNC_API = ['createBLEConnection']; | 252 | var ASYNC_API = ['createBLEConnection']; |
253 | 253 | ||
254 | var CALLBACK_API_RE = /^on|^off/; | 254 | var CALLBACK_API_RE = /^on|^off/; |
255 | 255 | ||
256 | function isContextApi(name) { | 256 | function isContextApi(name) { |
257 | return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1; | 257 | return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1; |
258 | } | 258 | } |
259 | function isSyncApi(name) { | 259 | function isSyncApi(name) { |
260 | return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1; | 260 | return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1; |
261 | } | 261 | } |
262 | 262 | ||
263 | function isCallbackApi(name) { | 263 | function isCallbackApi(name) { |
264 | return CALLBACK_API_RE.test(name) && name !== 'onPush'; | 264 | return CALLBACK_API_RE.test(name) && name !== 'onPush'; |
265 | } | 265 | } |
266 | 266 | ||
267 | function handlePromise(promise) { | 267 | function handlePromise(promise) { |
268 | return promise.then(function (data) { | 268 | return promise.then(function (data) { |
269 | return [null, data]; | 269 | return [null, data]; |
270 | }). | 270 | }). |
271 | catch(function (err) {return [err];}); | 271 | catch(function (err) {return [err];}); |
272 | } | 272 | } |
273 | 273 | ||
274 | function shouldPromise(name) { | 274 | function shouldPromise(name) { |
275 | if ( | 275 | if ( |
276 | isContextApi(name) || | 276 | isContextApi(name) || |
277 | isSyncApi(name) || | 277 | isSyncApi(name) || |
278 | isCallbackApi(name)) | 278 | isCallbackApi(name)) |
279 | { | 279 | { |
280 | return false; | 280 | return false; |
281 | } | 281 | } |
282 | return true; | 282 | return true; |
283 | } | 283 | } |
284 | 284 | ||
285 | /* eslint-disable no-extend-native */ | 285 | /* eslint-disable no-extend-native */ |
286 | if (!Promise.prototype.finally) { | 286 | if (!Promise.prototype.finally) { |
287 | Promise.prototype.finally = function (callback) { | 287 | Promise.prototype.finally = function (callback) { |
288 | var promise = this.constructor; | 288 | var promise = this.constructor; |
289 | return this.then( | 289 | return this.then( |
290 | function (value) {return promise.resolve(callback()).then(function () {return value;});}, | 290 | function (value) {return promise.resolve(callback()).then(function () {return value;});}, |
291 | function (reason) {return promise.resolve(callback()).then(function () { | 291 | function (reason) {return promise.resolve(callback()).then(function () { |
292 | throw reason; | 292 | throw reason; |
293 | });}); | 293 | });}); |
294 | 294 | ||
295 | }; | 295 | }; |
296 | } | 296 | } |
297 | 297 | ||
298 | function promisify(name, api) { | 298 | function promisify(name, api) { |
299 | if (!shouldPromise(name)) { | 299 | if (!shouldPromise(name)) { |
300 | return api; | 300 | return api; |
301 | } | 301 | } |
302 | return function promiseApi() {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {params[_key2 - 1] = arguments[_key2];} | 302 | return function promiseApi() {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {params[_key2 - 1] = arguments[_key2];} |
303 | if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) { | 303 | if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) { |
304 | return wrapperReturnValue(name, invokeApi.apply(void 0, [name, api, options].concat(params))); | 304 | return wrapperReturnValue(name, invokeApi.apply(void 0, [name, api, options].concat(params))); |
305 | } | 305 | } |
306 | return wrapperReturnValue(name, handlePromise(new Promise(function (resolve, reject) { | 306 | return wrapperReturnValue(name, handlePromise(new Promise(function (resolve, reject) { |
307 | invokeApi.apply(void 0, [name, api, Object.assign({}, options, { | 307 | invokeApi.apply(void 0, [name, api, Object.assign({}, options, { |
308 | success: resolve, | 308 | success: resolve, |
309 | fail: reject })].concat( | 309 | fail: reject })].concat( |
310 | params)); | 310 | params)); |
311 | }))); | 311 | }))); |
312 | }; | 312 | }; |
313 | } | 313 | } |
314 | 314 | ||
315 | var EPS = 1e-4; | 315 | var EPS = 1e-4; |
316 | var BASE_DEVICE_WIDTH = 750; | 316 | var BASE_DEVICE_WIDTH = 750; |
317 | var isIOS = false; | 317 | var isIOS = false; |
318 | var deviceWidth = 0; | 318 | var deviceWidth = 0; |
319 | var deviceDPR = 0; | 319 | var deviceDPR = 0; |
320 | 320 | ||
321 | function checkDeviceWidth() {var _wx$getSystemInfoSync = | 321 | function checkDeviceWidth() {var _wx$getSystemInfoSync = |
322 | 322 | ||
323 | 323 | ||
324 | 324 | ||
325 | 325 | ||
326 | wx.getSystemInfoSync(),platform = _wx$getSystemInfoSync.platform,pixelRatio = _wx$getSystemInfoSync.pixelRatio,windowWidth = _wx$getSystemInfoSync.windowWidth; // uni=>wx runtime 编译目标是 uni 对象,内部不允许直接使用 uni | 326 | wx.getSystemInfoSync(),platform = _wx$getSystemInfoSync.platform,pixelRatio = _wx$getSystemInfoSync.pixelRatio,windowWidth = _wx$getSystemInfoSync.windowWidth; // uni=>wx runtime 编译目标是 uni 对象,内部不允许直接使用 uni |
327 | 327 | ||
328 | deviceWidth = windowWidth; | 328 | deviceWidth = windowWidth; |
329 | deviceDPR = pixelRatio; | 329 | deviceDPR = pixelRatio; |
330 | isIOS = platform === 'ios'; | 330 | isIOS = platform === 'ios'; |
331 | } | 331 | } |
332 | 332 | ||
333 | function upx2px(number, newDeviceWidth) { | 333 | function upx2px(number, newDeviceWidth) { |
334 | if (deviceWidth === 0) { | 334 | if (deviceWidth === 0) { |
335 | checkDeviceWidth(); | 335 | checkDeviceWidth(); |
336 | } | 336 | } |
337 | 337 | ||
338 | number = Number(number); | 338 | number = Number(number); |
339 | if (number === 0) { | 339 | if (number === 0) { |
340 | return 0; | 340 | return 0; |
341 | } | 341 | } |
342 | var result = number / BASE_DEVICE_WIDTH * (newDeviceWidth || deviceWidth); | 342 | var result = number / BASE_DEVICE_WIDTH * (newDeviceWidth || deviceWidth); |
343 | if (result < 0) { | 343 | if (result < 0) { |
344 | result = -result; | 344 | result = -result; |
345 | } | 345 | } |
346 | result = Math.floor(result + EPS); | 346 | result = Math.floor(result + EPS); |
347 | if (result === 0) { | 347 | if (result === 0) { |
348 | if (deviceDPR === 1 || !isIOS) { | 348 | if (deviceDPR === 1 || !isIOS) { |
349 | return 1; | 349 | return 1; |
350 | } else { | 350 | } else { |
351 | return 0.5; | 351 | return 0.5; |
352 | } | 352 | } |
353 | } | 353 | } |
354 | return number < 0 ? -result : result; | 354 | return number < 0 ? -result : result; |
355 | } | 355 | } |
356 | 356 | ||
357 | var interceptors = { | 357 | var interceptors = { |
358 | promiseInterceptor: promiseInterceptor }; | 358 | promiseInterceptor: promiseInterceptor }; |
359 | 359 | ||
360 | 360 | ||
361 | var baseApi = /*#__PURE__*/Object.freeze({ | 361 | var baseApi = /*#__PURE__*/Object.freeze({ |
362 | __proto__: null, | 362 | __proto__: null, |
363 | upx2px: upx2px, | 363 | upx2px: upx2px, |
364 | addInterceptor: addInterceptor, | 364 | addInterceptor: addInterceptor, |
365 | removeInterceptor: removeInterceptor, | 365 | removeInterceptor: removeInterceptor, |
366 | interceptors: interceptors }); | 366 | interceptors: interceptors }); |
367 | 367 | ||
368 | 368 | ||
369 | var previewImage = { | 369 | var previewImage = { |
370 | args: function args(fromArgs) { | 370 | args: function args(fromArgs) { |
371 | var currentIndex = parseInt(fromArgs.current); | 371 | var currentIndex = parseInt(fromArgs.current); |
372 | if (isNaN(currentIndex)) { | 372 | if (isNaN(currentIndex)) { |
373 | return; | 373 | return; |
374 | } | 374 | } |
375 | var urls = fromArgs.urls; | 375 | var urls = fromArgs.urls; |
376 | if (!Array.isArray(urls)) { | 376 | if (!Array.isArray(urls)) { |
377 | return; | 377 | return; |
378 | } | 378 | } |
379 | var len = urls.length; | 379 | var len = urls.length; |
380 | if (!len) { | 380 | if (!len) { |
381 | return; | 381 | return; |
382 | } | 382 | } |
383 | if (currentIndex < 0) { | 383 | if (currentIndex < 0) { |
384 | currentIndex = 0; | 384 | currentIndex = 0; |
385 | } else if (currentIndex >= len) { | 385 | } else if (currentIndex >= len) { |
386 | currentIndex = len - 1; | 386 | currentIndex = len - 1; |
387 | } | 387 | } |
388 | if (currentIndex > 0) { | 388 | if (currentIndex > 0) { |
389 | fromArgs.current = urls[currentIndex]; | 389 | fromArgs.current = urls[currentIndex]; |
390 | fromArgs.urls = urls.filter( | 390 | fromArgs.urls = urls.filter( |
391 | function (item, index) {return index < currentIndex ? item !== urls[currentIndex] : true;}); | 391 | function (item, index) {return index < currentIndex ? item !== urls[currentIndex] : true;}); |
392 | 392 | ||
393 | } else { | 393 | } else { |
394 | fromArgs.current = urls[0]; | 394 | fromArgs.current = urls[0]; |
395 | } | 395 | } |
396 | return { | 396 | return { |
397 | indicator: false, | 397 | indicator: false, |
398 | loop: false }; | 398 | loop: false }; |
399 | 399 | ||
400 | } }; | 400 | } }; |
401 | 401 | ||
402 | 402 | ||
403 | function addSafeAreaInsets(result) { | 403 | function addSafeAreaInsets(result) { |
404 | if (result.safeArea) { | 404 | if (result.safeArea) { |
405 | var safeArea = result.safeArea; | 405 | var safeArea = result.safeArea; |
406 | result.safeAreaInsets = { | 406 | result.safeAreaInsets = { |
407 | top: safeArea.top, | 407 | top: safeArea.top, |
408 | left: safeArea.left, | 408 | left: safeArea.left, |
409 | right: result.windowWidth - safeArea.right, | 409 | right: result.windowWidth - safeArea.right, |
410 | bottom: result.windowHeight - safeArea.bottom }; | 410 | bottom: result.windowHeight - safeArea.bottom }; |
411 | 411 | ||
412 | } | 412 | } |
413 | } | 413 | } |
414 | var protocols = { | 414 | var protocols = { |
415 | previewImage: previewImage, | 415 | previewImage: previewImage, |
416 | getSystemInfo: { | 416 | getSystemInfo: { |
417 | returnValue: addSafeAreaInsets }, | 417 | returnValue: addSafeAreaInsets }, |
418 | 418 | ||
419 | getSystemInfoSync: { | 419 | getSystemInfoSync: { |
420 | returnValue: addSafeAreaInsets } }; | 420 | returnValue: addSafeAreaInsets } }; |
421 | 421 | ||
422 | 422 | ||
423 | var todos = [ | 423 | var todos = [ |
424 | 'vibrate']; | 424 | 'vibrate']; |
425 | 425 | ||
426 | var canIUses = []; | 426 | var canIUses = []; |
427 | 427 | ||
428 | var CALLBACKS = ['success', 'fail', 'cancel', 'complete']; | 428 | var CALLBACKS = ['success', 'fail', 'cancel', 'complete']; |
429 | 429 | ||
430 | function processCallback(methodName, method, returnValue) { | 430 | function processCallback(methodName, method, returnValue) { |
431 | return function (res) { | 431 | return function (res) { |
432 | return method(processReturnValue(methodName, res, returnValue)); | 432 | return method(processReturnValue(methodName, res, returnValue)); |
433 | }; | 433 | }; |
434 | } | 434 | } |
435 | 435 | ||
436 | function processArgs(methodName, fromArgs) {var argsOption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};var returnValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};var keepFromArgs = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; | 436 | function processArgs(methodName, fromArgs) {var argsOption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};var returnValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};var keepFromArgs = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; |
437 | if (isPlainObject(fromArgs)) {// 一般 api 的参数解析 | 437 | if (isPlainObject(fromArgs)) {// 一般 api 的参数解析 |
438 | var toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值 | 438 | var toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值 |
439 | if (isFn(argsOption)) { | 439 | if (isFn(argsOption)) { |
440 | argsOption = argsOption(fromArgs, toArgs) || {}; | 440 | argsOption = argsOption(fromArgs, toArgs) || {}; |
441 | } | 441 | } |
442 | for (var key in fromArgs) { | 442 | for (var key in fromArgs) { |
443 | if (hasOwn(argsOption, key)) { | 443 | if (hasOwn(argsOption, key)) { |
444 | var keyOption = argsOption[key]; | 444 | var keyOption = argsOption[key]; |
445 | if (isFn(keyOption)) { | 445 | if (isFn(keyOption)) { |
446 | keyOption = keyOption(fromArgs[key], fromArgs, toArgs); | 446 | keyOption = keyOption(fromArgs[key], fromArgs, toArgs); |
447 | } | 447 | } |
448 | if (!keyOption) {// 不支持的参数 | 448 | if (!keyOption) {// 不支持的参数 |
449 | console.warn("\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F ".concat(methodName, "\u6682\u4E0D\u652F\u6301").concat(key)); | 449 | console.warn("\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F ".concat(methodName, "\u6682\u4E0D\u652F\u6301").concat(key)); |
450 | } else if (isStr(keyOption)) {// 重写参数 key | 450 | } else if (isStr(keyOption)) {// 重写参数 key |
451 | toArgs[keyOption] = fromArgs[key]; | 451 | toArgs[keyOption] = fromArgs[key]; |
452 | } else if (isPlainObject(keyOption)) {// {name:newName,value:value}可重新指定参数 key:value | 452 | } else if (isPlainObject(keyOption)) {// {name:newName,value:value}可重新指定参数 key:value |
453 | toArgs[keyOption.name ? keyOption.name : key] = keyOption.value; | 453 | toArgs[keyOption.name ? keyOption.name : key] = keyOption.value; |
454 | } | 454 | } |
455 | } else if (CALLBACKS.indexOf(key) !== -1) { | 455 | } else if (CALLBACKS.indexOf(key) !== -1) { |
456 | toArgs[key] = processCallback(methodName, fromArgs[key], returnValue); | 456 | toArgs[key] = processCallback(methodName, fromArgs[key], returnValue); |
457 | } else { | 457 | } else { |
458 | if (!keepFromArgs) { | 458 | if (!keepFromArgs) { |
459 | toArgs[key] = fromArgs[key]; | 459 | toArgs[key] = fromArgs[key]; |
460 | } | 460 | } |
461 | } | 461 | } |
462 | } | 462 | } |
463 | return toArgs; | 463 | return toArgs; |
464 | } else if (isFn(fromArgs)) { | 464 | } else if (isFn(fromArgs)) { |
465 | fromArgs = processCallback(methodName, fromArgs, returnValue); | 465 | fromArgs = processCallback(methodName, fromArgs, returnValue); |
466 | } | 466 | } |
467 | return fromArgs; | 467 | return fromArgs; |
468 | } | 468 | } |
469 | 469 | ||
470 | function processReturnValue(methodName, res, returnValue) {var keepReturnValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; | 470 | function processReturnValue(methodName, res, returnValue) {var keepReturnValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; |
471 | if (isFn(protocols.returnValue)) {// 处理通用 returnValue | 471 | if (isFn(protocols.returnValue)) {// 处理通用 returnValue |
472 | res = protocols.returnValue(methodName, res); | 472 | res = protocols.returnValue(methodName, res); |
473 | } | 473 | } |
474 | return processArgs(methodName, res, returnValue, {}, keepReturnValue); | 474 | return processArgs(methodName, res, returnValue, {}, keepReturnValue); |
475 | } | 475 | } |
476 | 476 | ||
477 | function wrapper(methodName, method) { | 477 | function wrapper(methodName, method) { |
478 | if (hasOwn(protocols, methodName)) { | 478 | if (hasOwn(protocols, methodName)) { |
479 | var protocol = protocols[methodName]; | 479 | var protocol = protocols[methodName]; |
480 | if (!protocol) {// 暂不支持的 api | 480 | if (!protocol) {// 暂不支持的 api |
481 | return function () { | 481 | return function () { |
482 | console.error("\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F \u6682\u4E0D\u652F\u6301".concat(methodName)); | 482 | console.error("\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F \u6682\u4E0D\u652F\u6301".concat(methodName)); |
483 | }; | 483 | }; |
484 | } | 484 | } |
485 | return function (arg1, arg2) {// 目前 api 最多两个参数 | 485 | return function (arg1, arg2) {// 目前 api 最多两个参数 |
486 | var options = protocol; | 486 | var options = protocol; |
487 | if (isFn(protocol)) { | 487 | if (isFn(protocol)) { |
488 | options = protocol(arg1); | 488 | options = protocol(arg1); |
489 | } | 489 | } |
490 | 490 | ||
491 | arg1 = processArgs(methodName, arg1, options.args, options.returnValue); | 491 | arg1 = processArgs(methodName, arg1, options.args, options.returnValue); |
492 | 492 | ||
493 | var args = [arg1]; | 493 | var args = [arg1]; |
494 | if (typeof arg2 !== 'undefined') { | 494 | if (typeof arg2 !== 'undefined') { |
495 | args.push(arg2); | 495 | args.push(arg2); |
496 | } | 496 | } |
497 | var returnValue = wx[options.name || methodName].apply(wx, args); | 497 | var returnValue = wx[options.name || methodName].apply(wx, args); |
498 | if (isSyncApi(methodName)) {// 同步 api | 498 | if (isSyncApi(methodName)) {// 同步 api |
499 | return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName)); | 499 | return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName)); |
500 | } | 500 | } |
501 | return returnValue; | 501 | return returnValue; |
502 | }; | 502 | }; |
503 | } | 503 | } |
504 | return method; | 504 | return method; |
505 | } | 505 | } |
506 | 506 | ||
507 | var todoApis = Object.create(null); | 507 | var todoApis = Object.create(null); |
508 | 508 | ||
509 | var TODOS = [ | 509 | var TODOS = [ |
510 | 'onTabBarMidButtonTap', | 510 | 'onTabBarMidButtonTap', |
511 | 'subscribePush', | 511 | 'subscribePush', |
512 | 'unsubscribePush', | 512 | 'unsubscribePush', |
513 | 'onPush', | 513 | 'onPush', |
514 | 'offPush', | 514 | 'offPush', |
515 | 'share']; | 515 | 'share']; |
516 | 516 | ||
517 | 517 | ||
518 | function createTodoApi(name) { | 518 | function createTodoApi(name) { |
519 | return function todoApi(_ref) | 519 | return function todoApi(_ref) |
520 | 520 | ||
521 | 521 | ||
522 | {var fail = _ref.fail,complete = _ref.complete; | 522 | {var fail = _ref.fail,complete = _ref.complete; |
523 | var res = { | 523 | var res = { |
524 | errMsg: "".concat(name, ":fail:\u6682\u4E0D\u652F\u6301 ").concat(name, " \u65B9\u6CD5") }; | 524 | errMsg: "".concat(name, ":fail:\u6682\u4E0D\u652F\u6301 ").concat(name, " \u65B9\u6CD5") }; |
525 | 525 | ||
526 | isFn(fail) && fail(res); | 526 | isFn(fail) && fail(res); |
527 | isFn(complete) && complete(res); | 527 | isFn(complete) && complete(res); |
528 | }; | 528 | }; |
529 | } | 529 | } |
530 | 530 | ||
531 | TODOS.forEach(function (name) { | 531 | TODOS.forEach(function (name) { |
532 | todoApis[name] = createTodoApi(name); | 532 | todoApis[name] = createTodoApi(name); |
533 | }); | 533 | }); |
534 | 534 | ||
535 | var providers = { | 535 | var providers = { |
536 | oauth: ['weixin'], | 536 | oauth: ['weixin'], |
537 | share: ['weixin'], | 537 | share: ['weixin'], |
538 | payment: ['wxpay'], | 538 | payment: ['wxpay'], |
539 | push: ['weixin'] }; | 539 | push: ['weixin'] }; |
540 | 540 | ||
541 | 541 | ||
542 | function getProvider(_ref2) | 542 | function getProvider(_ref2) |
543 | 543 | ||
544 | 544 | ||
545 | 545 | ||
546 | 546 | ||
547 | {var service = _ref2.service,success = _ref2.success,fail = _ref2.fail,complete = _ref2.complete; | 547 | {var service = _ref2.service,success = _ref2.success,fail = _ref2.fail,complete = _ref2.complete; |
548 | var res = false; | 548 | var res = false; |
549 | if (providers[service]) { | 549 | if (providers[service]) { |
550 | res = { | 550 | res = { |
551 | errMsg: 'getProvider:ok', | 551 | errMsg: 'getProvider:ok', |
552 | service: service, | 552 | service: service, |
553 | provider: providers[service] }; | 553 | provider: providers[service] }; |
554 | 554 | ||
555 | isFn(success) && success(res); | 555 | isFn(success) && success(res); |
556 | } else { | 556 | } else { |
557 | res = { | 557 | res = { |
558 | errMsg: 'getProvider:fail:服务[' + service + ']不存在' }; | 558 | errMsg: 'getProvider:fail:服务[' + service + ']不存在' }; |
559 | 559 | ||
560 | isFn(fail) && fail(res); | 560 | isFn(fail) && fail(res); |
561 | } | 561 | } |
562 | isFn(complete) && complete(res); | 562 | isFn(complete) && complete(res); |
563 | } | 563 | } |
564 | 564 | ||
565 | var extraApi = /*#__PURE__*/Object.freeze({ | 565 | var extraApi = /*#__PURE__*/Object.freeze({ |
566 | __proto__: null, | 566 | __proto__: null, |
567 | getProvider: getProvider }); | 567 | getProvider: getProvider }); |
568 | 568 | ||
569 | 569 | ||
570 | var getEmitter = function () { | 570 | var getEmitter = function () { |
571 | if (typeof getUniEmitter === 'function') { | 571 | if (typeof getUniEmitter === 'function') { |
572 | /* eslint-disable no-undef */ | 572 | /* eslint-disable no-undef */ |
573 | return getUniEmitter; | 573 | return getUniEmitter; |
574 | } | 574 | } |
575 | var Emitter; | 575 | var Emitter; |
576 | return function getUniEmitter() { | 576 | return function getUniEmitter() { |
577 | if (!Emitter) { | 577 | if (!Emitter) { |
578 | Emitter = new _vue.default(); | 578 | Emitter = new _vue.default(); |
579 | } | 579 | } |
580 | return Emitter; | 580 | return Emitter; |
581 | }; | 581 | }; |
582 | }(); | 582 | }(); |
583 | 583 | ||
584 | function apply(ctx, method, args) { | 584 | function apply(ctx, method, args) { |
585 | return ctx[method].apply(ctx, args); | 585 | return ctx[method].apply(ctx, args); |
586 | } | 586 | } |
587 | 587 | ||
588 | function $on() { | 588 | function $on() { |
589 | return apply(getEmitter(), '$on', Array.prototype.slice.call(arguments)); | 589 | return apply(getEmitter(), '$on', Array.prototype.slice.call(arguments)); |
590 | } | 590 | } |
591 | function $off() { | 591 | function $off() { |
592 | return apply(getEmitter(), '$off', Array.prototype.slice.call(arguments)); | 592 | return apply(getEmitter(), '$off', Array.prototype.slice.call(arguments)); |
593 | } | 593 | } |
594 | function $once() { | 594 | function $once() { |
595 | return apply(getEmitter(), '$once', Array.prototype.slice.call(arguments)); | 595 | return apply(getEmitter(), '$once', Array.prototype.slice.call(arguments)); |
596 | } | 596 | } |
597 | function $emit() { | 597 | function $emit() { |
598 | return apply(getEmitter(), '$emit', Array.prototype.slice.call(arguments)); | 598 | return apply(getEmitter(), '$emit', Array.prototype.slice.call(arguments)); |
599 | } | 599 | } |
600 | 600 | ||
601 | var eventApi = /*#__PURE__*/Object.freeze({ | 601 | var eventApi = /*#__PURE__*/Object.freeze({ |
602 | __proto__: null, | 602 | __proto__: null, |
603 | $on: $on, | 603 | $on: $on, |
604 | $off: $off, | 604 | $off: $off, |
605 | $once: $once, | 605 | $once: $once, |
606 | $emit: $emit }); | 606 | $emit: $emit }); |
607 | 607 | ||
608 | 608 | ||
609 | var api = /*#__PURE__*/Object.freeze({ | 609 | var api = /*#__PURE__*/Object.freeze({ |
610 | __proto__: null }); | 610 | __proto__: null }); |
611 | 611 | ||
612 | 612 | ||
613 | var MPPage = Page; | 613 | var MPPage = Page; |
614 | var MPComponent = Component; | 614 | var MPComponent = Component; |
615 | 615 | ||
616 | var customizeRE = /:/g; | 616 | var customizeRE = /:/g; |
617 | 617 | ||
618 | var customize = cached(function (str) { | 618 | var customize = cached(function (str) { |
619 | return camelize(str.replace(customizeRE, '-')); | 619 | return camelize(str.replace(customizeRE, '-')); |
620 | }); | 620 | }); |
621 | 621 | ||
622 | function initTriggerEvent(mpInstance) { | 622 | function initTriggerEvent(mpInstance) { |
623 | { | 623 | { |
624 | if (!wx.canIUse('nextTick')) { | 624 | if (!wx.canIUse('nextTick')) { |
625 | return; | 625 | return; |
626 | } | 626 | } |
627 | } | 627 | } |
628 | var oldTriggerEvent = mpInstance.triggerEvent; | 628 | var oldTriggerEvent = mpInstance.triggerEvent; |
629 | mpInstance.triggerEvent = function (event) {for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {args[_key3 - 1] = arguments[_key3];} | 629 | mpInstance.triggerEvent = function (event) {for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {args[_key3 - 1] = arguments[_key3];} |
630 | return oldTriggerEvent.apply(mpInstance, [customize(event)].concat(args)); | 630 | return oldTriggerEvent.apply(mpInstance, [customize(event)].concat(args)); |
631 | }; | 631 | }; |
632 | } | 632 | } |
633 | 633 | ||
634 | function initHook(name, options) { | 634 | function initHook(name, options) { |
635 | var oldHook = options[name]; | 635 | var oldHook = options[name]; |
636 | if (!oldHook) { | 636 | if (!oldHook) { |
637 | options[name] = function () { | 637 | options[name] = function () { |
638 | initTriggerEvent(this); | 638 | initTriggerEvent(this); |
639 | }; | 639 | }; |
640 | } else { | 640 | } else { |
641 | options[name] = function () { | 641 | options[name] = function () { |
642 | initTriggerEvent(this);for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {args[_key4] = arguments[_key4];} | 642 | initTriggerEvent(this);for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {args[_key4] = arguments[_key4];} |
643 | return oldHook.apply(this, args); | 643 | return oldHook.apply(this, args); |
644 | }; | 644 | }; |
645 | } | 645 | } |
646 | } | 646 | } |
647 | 647 | ||
648 | Page = function Page() {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | 648 | Page = function Page() {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; |
649 | initHook('onLoad', options); | 649 | initHook('onLoad', options); |
650 | return MPPage(options); | 650 | return MPPage(options); |
651 | }; | 651 | }; |
652 | 652 | ||
653 | Component = function Component() {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | 653 | Component = function Component() {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; |
654 | initHook('created', options); | 654 | initHook('created', options); |
655 | return MPComponent(options); | 655 | return MPComponent(options); |
656 | }; | 656 | }; |
657 | 657 | ||
658 | var PAGE_EVENT_HOOKS = [ | 658 | var PAGE_EVENT_HOOKS = [ |
659 | 'onPullDownRefresh', | 659 | 'onPullDownRefresh', |
660 | 'onReachBottom', | 660 | 'onReachBottom', |
661 | 'onShareAppMessage', | 661 | 'onShareAppMessage', |
662 | 'onPageScroll', | 662 | 'onPageScroll', |
663 | 'onResize', | 663 | 'onResize', |
664 | 'onTabItemTap']; | 664 | 'onTabItemTap']; |
665 | 665 | ||
666 | 666 | ||
667 | function initMocks(vm, mocks) { | 667 | function initMocks(vm, mocks) { |
668 | var mpInstance = vm.$mp[vm.mpType]; | 668 | var mpInstance = vm.$mp[vm.mpType]; |
669 | mocks.forEach(function (mock) { | 669 | mocks.forEach(function (mock) { |
670 | if (hasOwn(mpInstance, mock)) { | 670 | if (hasOwn(mpInstance, mock)) { |
671 | vm[mock] = mpInstance[mock]; | 671 | vm[mock] = mpInstance[mock]; |
672 | } | 672 | } |
673 | }); | 673 | }); |
674 | } | 674 | } |
675 | 675 | ||
676 | function hasHook(hook, vueOptions) { | 676 | function hasHook(hook, vueOptions) { |
677 | if (!vueOptions) { | 677 | if (!vueOptions) { |
678 | return true; | 678 | return true; |
679 | } | 679 | } |
680 | 680 | ||
681 | if (_vue.default.options && Array.isArray(_vue.default.options[hook])) { | 681 | if (_vue.default.options && Array.isArray(_vue.default.options[hook])) { |
682 | return true; | 682 | return true; |
683 | } | 683 | } |
684 | 684 | ||
685 | vueOptions = vueOptions.default || vueOptions; | 685 | vueOptions = vueOptions.default || vueOptions; |
686 | 686 | ||
687 | if (isFn(vueOptions)) { | 687 | if (isFn(vueOptions)) { |
688 | if (isFn(vueOptions.extendOptions[hook])) { | 688 | if (isFn(vueOptions.extendOptions[hook])) { |
689 | return true; | 689 | return true; |
690 | } | 690 | } |
691 | if (vueOptions.super && | 691 | if (vueOptions.super && |
692 | vueOptions.super.options && | 692 | vueOptions.super.options && |
693 | Array.isArray(vueOptions.super.options[hook])) { | 693 | Array.isArray(vueOptions.super.options[hook])) { |
694 | return true; | 694 | return true; |
695 | } | 695 | } |
696 | return false; | 696 | return false; |
697 | } | 697 | } |
698 | 698 | ||
699 | if (isFn(vueOptions[hook])) { | 699 | if (isFn(vueOptions[hook])) { |
700 | return true; | 700 | return true; |
701 | } | 701 | } |
702 | var mixins = vueOptions.mixins; | 702 | var mixins = vueOptions.mixins; |
703 | if (Array.isArray(mixins)) { | 703 | if (Array.isArray(mixins)) { |
704 | return !!mixins.find(function (mixin) {return hasHook(hook, mixin);}); | 704 | return !!mixins.find(function (mixin) {return hasHook(hook, mixin);}); |
705 | } | 705 | } |
706 | } | 706 | } |
707 | 707 | ||
708 | function initHooks(mpOptions, hooks, vueOptions) { | 708 | function initHooks(mpOptions, hooks, vueOptions) { |
709 | hooks.forEach(function (hook) { | 709 | hooks.forEach(function (hook) { |
710 | if (hasHook(hook, vueOptions)) { | 710 | if (hasHook(hook, vueOptions)) { |
711 | mpOptions[hook] = function (args) { | 711 | mpOptions[hook] = function (args) { |
712 | return this.$vm && this.$vm.__call_hook(hook, args); | 712 | return this.$vm && this.$vm.__call_hook(hook, args); |
713 | }; | 713 | }; |
714 | } | 714 | } |
715 | }); | 715 | }); |
716 | } | 716 | } |
717 | 717 | ||
718 | function initVueComponent(Vue, vueOptions) { | 718 | function initVueComponent(Vue, vueOptions) { |
719 | vueOptions = vueOptions.default || vueOptions; | 719 | vueOptions = vueOptions.default || vueOptions; |
720 | var VueComponent; | 720 | var VueComponent; |
721 | if (isFn(vueOptions)) { | 721 | if (isFn(vueOptions)) { |
722 | VueComponent = vueOptions; | 722 | VueComponent = vueOptions; |
723 | vueOptions = VueComponent.extendOptions; | 723 | vueOptions = VueComponent.extendOptions; |
724 | } else { | 724 | } else { |
725 | VueComponent = Vue.extend(vueOptions); | 725 | VueComponent = Vue.extend(vueOptions); |
726 | } | 726 | } |
727 | return [VueComponent, vueOptions]; | 727 | return [VueComponent, vueOptions]; |
728 | } | 728 | } |
729 | 729 | ||
730 | function initSlots(vm, vueSlots) { | 730 | function initSlots(vm, vueSlots) { |
731 | if (Array.isArray(vueSlots) && vueSlots.length) { | 731 | if (Array.isArray(vueSlots) && vueSlots.length) { |
732 | var $slots = Object.create(null); | 732 | var $slots = Object.create(null); |
733 | vueSlots.forEach(function (slotName) { | 733 | vueSlots.forEach(function (slotName) { |
734 | $slots[slotName] = true; | 734 | $slots[slotName] = true; |
735 | }); | 735 | }); |
736 | vm.$scopedSlots = vm.$slots = $slots; | 736 | vm.$scopedSlots = vm.$slots = $slots; |
737 | } | 737 | } |
738 | } | 738 | } |
739 | 739 | ||
740 | function initVueIds(vueIds, mpInstance) { | 740 | function initVueIds(vueIds, mpInstance) { |
741 | vueIds = (vueIds || '').split(','); | 741 | vueIds = (vueIds || '').split(','); |
742 | var len = vueIds.length; | 742 | var len = vueIds.length; |
743 | 743 | ||
744 | if (len === 1) { | 744 | if (len === 1) { |
745 | mpInstance._$vueId = vueIds[0]; | 745 | mpInstance._$vueId = vueIds[0]; |
746 | } else if (len === 2) { | 746 | } else if (len === 2) { |
747 | mpInstance._$vueId = vueIds[0]; | 747 | mpInstance._$vueId = vueIds[0]; |
748 | mpInstance._$vuePid = vueIds[1]; | 748 | mpInstance._$vuePid = vueIds[1]; |
749 | } | 749 | } |
750 | } | 750 | } |
751 | 751 | ||
752 | function initData(vueOptions, context) { | 752 | function initData(vueOptions, context) { |
753 | var data = vueOptions.data || {}; | 753 | var data = vueOptions.data || {}; |
754 | var methods = vueOptions.methods || {}; | 754 | var methods = vueOptions.methods || {}; |
755 | 755 | ||
756 | if (typeof data === 'function') { | 756 | if (typeof data === 'function') { |
757 | try { | 757 | try { |
758 | data = data.call(context); // 支持 Vue.prototype 上挂的数据 | 758 | data = data.call(context); // 支持 Vue.prototype 上挂的数据 |
759 | } catch (e) { | 759 | } catch (e) { |
760 | if (Object({"VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG) { | 760 | if (Object({"VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG) { |
761 | console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data); | 761 | console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data); |
762 | } | 762 | } |
763 | } | 763 | } |
764 | } else { | 764 | } else { |
765 | try { | 765 | try { |
766 | // 对 data 格式化 | 766 | // 对 data 格式化 |
767 | data = JSON.parse(JSON.stringify(data)); | 767 | data = JSON.parse(JSON.stringify(data)); |
768 | } catch (e) {} | 768 | } catch (e) {} |
769 | } | 769 | } |
770 | 770 | ||
771 | if (!isPlainObject(data)) { | 771 | if (!isPlainObject(data)) { |
772 | data = {}; | 772 | data = {}; |
773 | } | 773 | } |
774 | 774 | ||
775 | Object.keys(methods).forEach(function (methodName) { | 775 | Object.keys(methods).forEach(function (methodName) { |
776 | if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) { | 776 | if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) { |
777 | data[methodName] = methods[methodName]; | 777 | data[methodName] = methods[methodName]; |
778 | } | 778 | } |
779 | }); | 779 | }); |
780 | 780 | ||
781 | return data; | 781 | return data; |
782 | } | 782 | } |
783 | 783 | ||
784 | var PROP_TYPES = [String, Number, Boolean, Object, Array, null]; | 784 | var PROP_TYPES = [String, Number, Boolean, Object, Array, null]; |
785 | 785 | ||
786 | function createObserver(name) { | 786 | function createObserver(name) { |
787 | return function observer(newVal, oldVal) { | 787 | return function observer(newVal, oldVal) { |
788 | if (this.$vm) { | 788 | if (this.$vm) { |
789 | this.$vm[name] = newVal; // 为了触发其他非 render watcher | 789 | this.$vm[name] = newVal; // 为了触发其他非 render watcher |
790 | } | 790 | } |
791 | }; | 791 | }; |
792 | } | 792 | } |
793 | 793 | ||
794 | function initBehaviors(vueOptions, initBehavior) { | 794 | function initBehaviors(vueOptions, initBehavior) { |
795 | var vueBehaviors = vueOptions.behaviors; | 795 | var vueBehaviors = vueOptions.behaviors; |
796 | var vueExtends = vueOptions.extends; | 796 | var vueExtends = vueOptions.extends; |
797 | var vueMixins = vueOptions.mixins; | 797 | var vueMixins = vueOptions.mixins; |
798 | 798 | ||
799 | var vueProps = vueOptions.props; | 799 | var vueProps = vueOptions.props; |
800 | 800 | ||
801 | if (!vueProps) { | 801 | if (!vueProps) { |
802 | vueOptions.props = vueProps = []; | 802 | vueOptions.props = vueProps = []; |
803 | } | 803 | } |
804 | 804 | ||
805 | var behaviors = []; | 805 | var behaviors = []; |
806 | if (Array.isArray(vueBehaviors)) { | 806 | if (Array.isArray(vueBehaviors)) { |
807 | vueBehaviors.forEach(function (behavior) { | 807 | vueBehaviors.forEach(function (behavior) { |
808 | behaviors.push(behavior.replace('uni://', "wx".concat("://"))); | 808 | behaviors.push(behavior.replace('uni://', "wx".concat("://"))); |
809 | if (behavior === 'uni://form-field') { | 809 | if (behavior === 'uni://form-field') { |
810 | if (Array.isArray(vueProps)) { | 810 | if (Array.isArray(vueProps)) { |
811 | vueProps.push('name'); | 811 | vueProps.push('name'); |
812 | vueProps.push('value'); | 812 | vueProps.push('value'); |
813 | } else { | 813 | } else { |
814 | vueProps.name = { | 814 | vueProps.name = { |
815 | type: String, | 815 | type: String, |
816 | default: '' }; | 816 | default: '' }; |
817 | 817 | ||
818 | vueProps.value = { | 818 | vueProps.value = { |
819 | type: [String, Number, Boolean, Array, Object, Date], | 819 | type: [String, Number, Boolean, Array, Object, Date], |
820 | default: '' }; | 820 | default: '' }; |
821 | 821 | ||
822 | } | 822 | } |
823 | } | 823 | } |
824 | }); | 824 | }); |
825 | } | 825 | } |
826 | if (isPlainObject(vueExtends) && vueExtends.props) { | 826 | if (isPlainObject(vueExtends) && vueExtends.props) { |
827 | behaviors.push( | 827 | behaviors.push( |
828 | initBehavior({ | 828 | initBehavior({ |
829 | properties: initProperties(vueExtends.props, true) })); | 829 | properties: initProperties(vueExtends.props, true) })); |
830 | 830 | ||
831 | 831 | ||
832 | } | 832 | } |
833 | if (Array.isArray(vueMixins)) { | 833 | if (Array.isArray(vueMixins)) { |
834 | vueMixins.forEach(function (vueMixin) { | 834 | vueMixins.forEach(function (vueMixin) { |
835 | if (isPlainObject(vueMixin) && vueMixin.props) { | 835 | if (isPlainObject(vueMixin) && vueMixin.props) { |
836 | behaviors.push( | 836 | behaviors.push( |
837 | initBehavior({ | 837 | initBehavior({ |
838 | properties: initProperties(vueMixin.props, true) })); | 838 | properties: initProperties(vueMixin.props, true) })); |
839 | 839 | ||
840 | 840 | ||
841 | } | 841 | } |
842 | }); | 842 | }); |
843 | } | 843 | } |
844 | return behaviors; | 844 | return behaviors; |
845 | } | 845 | } |
846 | 846 | ||
847 | function parsePropType(key, type, defaultValue, file) { | 847 | function parsePropType(key, type, defaultValue, file) { |
848 | // [String]=>String | 848 | // [String]=>String |
849 | if (Array.isArray(type) && type.length === 1) { | 849 | if (Array.isArray(type) && type.length === 1) { |
850 | return type[0]; | 850 | return type[0]; |
851 | } | 851 | } |
852 | return type; | 852 | return type; |
853 | } | 853 | } |
854 | 854 | ||
855 | function initProperties(props) {var isBehavior = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;var file = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; | 855 | function initProperties(props) {var isBehavior = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;var file = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; |
856 | var properties = {}; | 856 | var properties = {}; |
857 | if (!isBehavior) { | 857 | if (!isBehavior) { |
858 | properties.vueId = { | 858 | properties.vueId = { |
859 | type: String, | 859 | type: String, |
860 | value: '' }; | 860 | value: '' }; |
861 | 861 | ||
862 | properties.vueSlots = { // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots | 862 | properties.vueSlots = { // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots |
863 | type: null, | 863 | type: null, |
864 | value: [], | 864 | value: [], |
865 | observer: function observer(newVal, oldVal) { | 865 | observer: function observer(newVal, oldVal) { |
866 | var $slots = Object.create(null); | 866 | var $slots = Object.create(null); |
867 | newVal.forEach(function (slotName) { | 867 | newVal.forEach(function (slotName) { |
868 | $slots[slotName] = true; | 868 | $slots[slotName] = true; |
869 | }); | 869 | }); |
870 | this.setData({ | 870 | this.setData({ |
871 | $slots: $slots }); | 871 | $slots: $slots }); |
872 | 872 | ||
873 | } }; | 873 | } }; |
874 | 874 | ||
875 | } | 875 | } |
876 | if (Array.isArray(props)) {// ['title'] | 876 | if (Array.isArray(props)) {// ['title'] |
877 | props.forEach(function (key) { | 877 | props.forEach(function (key) { |
878 | properties[key] = { | 878 | properties[key] = { |
879 | type: null, | 879 | type: null, |
880 | observer: createObserver(key) }; | 880 | observer: createObserver(key) }; |
881 | 881 | ||
882 | }); | 882 | }); |
883 | } else if (isPlainObject(props)) {// {title:{type:String,default:''},content:String} | 883 | } else if (isPlainObject(props)) {// {title:{type:String,default:''},content:String} |
884 | Object.keys(props).forEach(function (key) { | 884 | Object.keys(props).forEach(function (key) { |
885 | var opts = props[key]; | 885 | var opts = props[key]; |
886 | if (isPlainObject(opts)) {// title:{type:String,default:''} | 886 | if (isPlainObject(opts)) {// title:{type:String,default:''} |
887 | var value = opts.default; | 887 | var value = opts.default; |
888 | if (isFn(value)) { | 888 | if (isFn(value)) { |
889 | value = value(); | 889 | value = value(); |
890 | } | 890 | } |
891 | 891 | ||
892 | opts.type = parsePropType(key, opts.type); | 892 | opts.type = parsePropType(key, opts.type); |
893 | 893 | ||
894 | properties[key] = { | 894 | properties[key] = { |
895 | type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null, | 895 | type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null, |
896 | value: value, | 896 | value: value, |
897 | observer: createObserver(key) }; | 897 | observer: createObserver(key) }; |
898 | 898 | ||
899 | } else {// content:String | 899 | } else {// content:String |
900 | var type = parsePropType(key, opts); | 900 | var type = parsePropType(key, opts); |
901 | properties[key] = { | 901 | properties[key] = { |
902 | type: PROP_TYPES.indexOf(type) !== -1 ? type : null, | 902 | type: PROP_TYPES.indexOf(type) !== -1 ? type : null, |
903 | observer: createObserver(key) }; | 903 | observer: createObserver(key) }; |
904 | 904 | ||
905 | } | 905 | } |
906 | }); | 906 | }); |
907 | } | 907 | } |
908 | return properties; | 908 | return properties; |
909 | } | 909 | } |
910 | 910 | ||
911 | function wrapper$1(event) { | 911 | function wrapper$1(event) { |
912 | // TODO 又得兼容 mpvue 的 mp 对象 | 912 | // TODO 又得兼容 mpvue 的 mp 对象 |
913 | try { | 913 | try { |
914 | event.mp = JSON.parse(JSON.stringify(event)); | 914 | event.mp = JSON.parse(JSON.stringify(event)); |
915 | } catch (e) {} | 915 | } catch (e) {} |
916 | 916 | ||
917 | event.stopPropagation = noop; | 917 | event.stopPropagation = noop; |
918 | event.preventDefault = noop; | 918 | event.preventDefault = noop; |
919 | 919 | ||
920 | event.target = event.target || {}; | 920 | event.target = event.target || {}; |
921 | 921 | ||
922 | if (!hasOwn(event, 'detail') || !event.detail) { | 922 | if (!hasOwn(event, 'detail')) { |
923 | event.detail = {}; | 923 | event.detail = {}; |
924 | } | 924 | } |
925 | 925 | ||
926 | if (!('markerId' in event.detail) && 'markerId' in event) { | 926 | if (hasOwn(event, 'markerId')) { |
927 | event.detail = typeof event.detail === 'object' ? event.detail : {}; | ||
927 | event.detail.markerId = event.markerId; | 928 | event.detail.markerId = event.markerId; |
928 | } | 929 | } |
929 | 930 | ||
930 | if (isPlainObject(event.detail)) { | 931 | if (isPlainObject(event.detail)) { |
931 | event.target = Object.assign({}, event.target, event.detail); | 932 | event.target = Object.assign({}, event.target, event.detail); |
932 | } | 933 | } |
933 | 934 | ||
934 | return event; | 935 | return event; |
935 | } | 936 | } |
936 | 937 | ||
937 | function getExtraValue(vm, dataPathsArray) { | 938 | function getExtraValue(vm, dataPathsArray) { |
938 | var context = vm; | 939 | var context = vm; |
939 | dataPathsArray.forEach(function (dataPathArray) { | 940 | dataPathsArray.forEach(function (dataPathArray) { |
940 | var dataPath = dataPathArray[0]; | 941 | var dataPath = dataPathArray[0]; |
941 | var value = dataPathArray[2]; | 942 | var value = dataPathArray[2]; |
942 | if (dataPath || typeof value !== 'undefined') {// ['','',index,'disable'] | 943 | if (dataPath || typeof value !== 'undefined') {// ['','',index,'disable'] |
943 | var propPath = dataPathArray[1]; | 944 | var propPath = dataPathArray[1]; |
944 | var valuePath = dataPathArray[3]; | 945 | var valuePath = dataPathArray[3]; |
945 | 946 | ||
946 | var vFor = dataPath ? vm.__get_value(dataPath, context) : context; | 947 | var vFor = dataPath ? vm.__get_value(dataPath, context) : context; |
947 | 948 | ||
948 | if (Number.isInteger(vFor)) { | 949 | if (Number.isInteger(vFor)) { |
949 | context = value; | 950 | context = value; |
950 | } else if (!propPath) { | 951 | } else if (!propPath) { |
951 | context = vFor[value]; | 952 | context = vFor[value]; |
952 | } else { | 953 | } else { |
953 | if (Array.isArray(vFor)) { | 954 | if (Array.isArray(vFor)) { |
954 | context = vFor.find(function (vForItem) { | 955 | context = vFor.find(function (vForItem) { |
955 | return vm.__get_value(propPath, vForItem) === value; | 956 | return vm.__get_value(propPath, vForItem) === value; |
956 | }); | 957 | }); |
957 | } else if (isPlainObject(vFor)) { | 958 | } else if (isPlainObject(vFor)) { |
958 | context = Object.keys(vFor).find(function (vForKey) { | 959 | context = Object.keys(vFor).find(function (vForKey) { |
959 | return vm.__get_value(propPath, vFor[vForKey]) === value; | 960 | return vm.__get_value(propPath, vFor[vForKey]) === value; |
960 | }); | 961 | }); |
961 | } else { | 962 | } else { |
962 | console.error('v-for 暂不支持循环数据:', vFor); | 963 | console.error('v-for 暂不支持循环数据:', vFor); |
963 | } | 964 | } |
964 | } | 965 | } |
965 | 966 | ||
966 | if (valuePath) { | 967 | if (valuePath) { |
967 | context = vm.__get_value(valuePath, context); | 968 | context = vm.__get_value(valuePath, context); |
968 | } | 969 | } |
969 | } | 970 | } |
970 | }); | 971 | }); |
971 | return context; | 972 | return context; |
972 | } | 973 | } |
973 | 974 | ||
974 | function processEventExtra(vm, extra, event) { | 975 | function processEventExtra(vm, extra, event) { |
975 | var extraObj = {}; | 976 | var extraObj = {}; |
976 | 977 | ||
977 | if (Array.isArray(extra) && extra.length) { | 978 | if (Array.isArray(extra) && extra.length) { |
978 | /** | 979 | /** |
979 | *[ | 980 | *[ |
980 | * ['data.items', 'data.id', item.data.id], | 981 | * ['data.items', 'data.id', item.data.id], |
981 | * ['metas', 'id', meta.id] | 982 | * ['metas', 'id', meta.id] |
982 | *], | 983 | *], |
983 | *[ | 984 | *[ |
984 | * ['data.items', 'data.id', item.data.id], | 985 | * ['data.items', 'data.id', item.data.id], |
985 | * ['metas', 'id', meta.id] | 986 | * ['metas', 'id', meta.id] |
986 | *], | 987 | *], |
987 | *'test' | 988 | *'test' |
988 | */ | 989 | */ |
989 | extra.forEach(function (dataPath, index) { | 990 | extra.forEach(function (dataPath, index) { |
990 | if (typeof dataPath === 'string') { | 991 | if (typeof dataPath === 'string') { |
991 | if (!dataPath) {// model,prop.sync | 992 | if (!dataPath) {// model,prop.sync |
992 | extraObj['$' + index] = vm; | 993 | extraObj['$' + index] = vm; |
993 | } else { | 994 | } else { |
994 | if (dataPath === '$event') {// $event | 995 | if (dataPath === '$event') {// $event |
995 | extraObj['$' + index] = event; | 996 | extraObj['$' + index] = event; |
996 | } else if (dataPath.indexOf('$event.') === 0) {// $event.target.value | 997 | } else if (dataPath.indexOf('$event.') === 0) {// $event.target.value |
997 | extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event); | 998 | extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event); |
998 | } else { | 999 | } else { |
999 | extraObj['$' + index] = vm.__get_value(dataPath); | 1000 | extraObj['$' + index] = vm.__get_value(dataPath); |
1000 | } | 1001 | } |
1001 | } | 1002 | } |
1002 | } else { | 1003 | } else { |
1003 | extraObj['$' + index] = getExtraValue(vm, dataPath); | 1004 | extraObj['$' + index] = getExtraValue(vm, dataPath); |
1004 | } | 1005 | } |
1005 | }); | 1006 | }); |
1006 | } | 1007 | } |
1007 | 1008 | ||
1008 | return extraObj; | 1009 | return extraObj; |
1009 | } | 1010 | } |
1010 | 1011 | ||
1011 | function getObjByArray(arr) { | 1012 | function getObjByArray(arr) { |
1012 | var obj = {}; | 1013 | var obj = {}; |
1013 | for (var i = 1; i < arr.length; i++) { | 1014 | for (var i = 1; i < arr.length; i++) { |
1014 | var element = arr[i]; | 1015 | var element = arr[i]; |
1015 | obj[element[0]] = element[1]; | 1016 | obj[element[0]] = element[1]; |
1016 | } | 1017 | } |
1017 | return obj; | 1018 | return obj; |
1018 | } | 1019 | } |
1019 | 1020 | ||
1020 | function processEventArgs(vm, event) {var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];var extra = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];var isCustom = arguments.length > 4 ? arguments[4] : undefined;var methodName = arguments.length > 5 ? arguments[5] : undefined; | 1021 | function processEventArgs(vm, event) {var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];var extra = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];var isCustom = arguments.length > 4 ? arguments[4] : undefined;var methodName = arguments.length > 5 ? arguments[5] : undefined; |
1021 | var isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象 | 1022 | var isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象 |
1022 | if (isCustom) {// 自定义事件 | 1023 | if (isCustom) {// 自定义事件 |
1023 | isCustomMPEvent = event.currentTarget && | 1024 | isCustomMPEvent = event.currentTarget && |
1024 | event.currentTarget.dataset && | 1025 | event.currentTarget.dataset && |
1025 | event.currentTarget.dataset.comType === 'wx'; | 1026 | event.currentTarget.dataset.comType === 'wx'; |
1026 | if (!args.length) {// 无参数,直接传入 event 或 detail 数组 | 1027 | if (!args.length) {// 无参数,直接传入 event 或 detail 数组 |
1027 | if (isCustomMPEvent) { | 1028 | if (isCustomMPEvent) { |
1028 | return [event]; | 1029 | return [event]; |
1029 | } | 1030 | } |
1030 | return event.detail.__args__ || event.detail; | 1031 | return event.detail.__args__ || event.detail; |
1031 | } | 1032 | } |
1032 | } | 1033 | } |
1033 | 1034 | ||
1034 | var extraObj = processEventExtra(vm, extra, event); | 1035 | var extraObj = processEventExtra(vm, extra, event); |
1035 | 1036 | ||
1036 | var ret = []; | 1037 | var ret = []; |
1037 | args.forEach(function (arg) { | 1038 | args.forEach(function (arg) { |
1038 | if (arg === '$event') { | 1039 | if (arg === '$event') { |
1039 | if (methodName === '__set_model' && !isCustom) {// input v-model value | 1040 | if (methodName === '__set_model' && !isCustom) {// input v-model value |
1040 | ret.push(event.target.value); | 1041 | ret.push(event.target.value); |
1041 | } else { | 1042 | } else { |
1042 | if (isCustom && !isCustomMPEvent) { | 1043 | if (isCustom && !isCustomMPEvent) { |
1043 | ret.push(event.detail.__args__[0]); | 1044 | ret.push(event.detail.__args__[0]); |
1044 | } else {// wxcomponent 组件或内置组件 | 1045 | } else {// wxcomponent 组件或内置组件 |
1045 | ret.push(event); | 1046 | ret.push(event); |
1046 | } | 1047 | } |
1047 | } | 1048 | } |
1048 | } else { | 1049 | } else { |
1049 | if (Array.isArray(arg) && arg[0] === 'o') { | 1050 | if (Array.isArray(arg) && arg[0] === 'o') { |
1050 | ret.push(getObjByArray(arg)); | 1051 | ret.push(getObjByArray(arg)); |
1051 | } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) { | 1052 | } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) { |
1052 | ret.push(extraObj[arg]); | 1053 | ret.push(extraObj[arg]); |
1053 | } else { | 1054 | } else { |
1054 | ret.push(arg); | 1055 | ret.push(arg); |
1055 | } | 1056 | } |
1056 | } | 1057 | } |
1057 | }); | 1058 | }); |
1058 | 1059 | ||
1059 | return ret; | 1060 | return ret; |
1060 | } | 1061 | } |
1061 | 1062 | ||
1062 | var ONCE = '~'; | 1063 | var ONCE = '~'; |
1063 | var CUSTOM = '^'; | 1064 | var CUSTOM = '^'; |
1064 | 1065 | ||
1065 | function isMatchEventType(eventType, optType) { | 1066 | function isMatchEventType(eventType, optType) { |
1066 | return eventType === optType || | 1067 | return eventType === optType || |
1067 | 1068 | ||
1068 | optType === 'regionchange' && ( | 1069 | optType === 'regionchange' && ( |
1069 | 1070 | ||
1070 | eventType === 'begin' || | 1071 | eventType === 'begin' || |
1071 | eventType === 'end'); | 1072 | eventType === 'end'); |
1072 | 1073 | ||
1073 | 1074 | ||
1074 | } | 1075 | } |
1075 | 1076 | ||
1076 | function handleEvent(event) {var _this = this; | 1077 | function handleEvent(event) {var _this = this; |
1077 | event = wrapper$1(event); | 1078 | event = wrapper$1(event); |
1078 | 1079 | ||
1079 | // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]] | 1080 | // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]] |
1080 | var dataset = (event.currentTarget || event.target).dataset; | 1081 | var dataset = (event.currentTarget || event.target).dataset; |
1081 | if (!dataset) { | 1082 | if (!dataset) { |
1082 | return console.warn('事件信息不存在'); | 1083 | return console.warn('事件信息不存在'); |
1083 | } | 1084 | } |
1084 | var eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰 | 1085 | var eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰 |
1085 | if (!eventOpts) { | 1086 | if (!eventOpts) { |
1086 | return console.warn('事件信息不存在'); | 1087 | return console.warn('事件信息不存在'); |
1087 | } | 1088 | } |
1088 | 1089 | ||
1089 | // [['handle',[1,2,a]],['handle1',[1,2,a]]] | 1090 | // [['handle',[1,2,a]],['handle1',[1,2,a]]] |
1090 | var eventType = event.type; | 1091 | var eventType = event.type; |
1091 | 1092 | ||
1092 | var ret = []; | 1093 | var ret = []; |
1093 | 1094 | ||
1094 | eventOpts.forEach(function (eventOpt) { | 1095 | eventOpts.forEach(function (eventOpt) { |
1095 | var type = eventOpt[0]; | 1096 | var type = eventOpt[0]; |
1096 | var eventsArray = eventOpt[1]; | 1097 | var eventsArray = eventOpt[1]; |
1097 | 1098 | ||
1098 | var isCustom = type.charAt(0) === CUSTOM; | 1099 | var isCustom = type.charAt(0) === CUSTOM; |
1099 | type = isCustom ? type.slice(1) : type; | 1100 | type = isCustom ? type.slice(1) : type; |
1100 | var isOnce = type.charAt(0) === ONCE; | 1101 | var isOnce = type.charAt(0) === ONCE; |
1101 | type = isOnce ? type.slice(1) : type; | 1102 | type = isOnce ? type.slice(1) : type; |
1102 | 1103 | ||
1103 | if (eventsArray && isMatchEventType(eventType, type)) { | 1104 | if (eventsArray && isMatchEventType(eventType, type)) { |
1104 | eventsArray.forEach(function (eventArray) { | 1105 | eventsArray.forEach(function (eventArray) { |
1105 | var methodName = eventArray[0]; | 1106 | var methodName = eventArray[0]; |
1106 | if (methodName) { | 1107 | if (methodName) { |
1107 | var handlerCtx = _this.$vm; | 1108 | var handlerCtx = _this.$vm; |
1108 | if ( | 1109 | if ( |
1109 | handlerCtx.$options.generic && | 1110 | handlerCtx.$options.generic && |
1110 | handlerCtx.$parent && | 1111 | handlerCtx.$parent && |
1111 | handlerCtx.$parent.$parent) | 1112 | handlerCtx.$parent.$parent) |
1112 | {// mp-weixin,mp-toutiao 抽象节点模拟 scoped slots | 1113 | {// mp-weixin,mp-toutiao 抽象节点模拟 scoped slots |
1113 | handlerCtx = handlerCtx.$parent.$parent; | 1114 | handlerCtx = handlerCtx.$parent.$parent; |
1114 | } | 1115 | } |
1115 | if (methodName === '$emit') { | 1116 | if (methodName === '$emit') { |
1116 | handlerCtx.$emit.apply(handlerCtx, | 1117 | handlerCtx.$emit.apply(handlerCtx, |
1117 | processEventArgs( | 1118 | processEventArgs( |
1118 | _this.$vm, | 1119 | _this.$vm, |
1119 | event, | 1120 | event, |
1120 | eventArray[1], | 1121 | eventArray[1], |
1121 | eventArray[2], | 1122 | eventArray[2], |
1122 | isCustom, | 1123 | isCustom, |
1123 | methodName)); | 1124 | methodName)); |
1124 | 1125 | ||
1125 | return; | 1126 | return; |
1126 | } | 1127 | } |
1127 | var handler = handlerCtx[methodName]; | 1128 | var handler = handlerCtx[methodName]; |
1128 | if (!isFn(handler)) { | 1129 | if (!isFn(handler)) { |
1129 | throw new Error(" _vm.".concat(methodName, " is not a function")); | 1130 | throw new Error(" _vm.".concat(methodName, " is not a function")); |
1130 | } | 1131 | } |
1131 | if (isOnce) { | 1132 | if (isOnce) { |
1132 | if (handler.once) { | 1133 | if (handler.once) { |
1133 | return; | 1134 | return; |
1134 | } | 1135 | } |
1135 | handler.once = true; | 1136 | handler.once = true; |
1136 | } | 1137 | } |
1137 | ret.push(handler.apply(handlerCtx, processEventArgs( | 1138 | ret.push(handler.apply(handlerCtx, processEventArgs( |
1138 | _this.$vm, | 1139 | _this.$vm, |
1139 | event, | 1140 | event, |
1140 | eventArray[1], | 1141 | eventArray[1], |
1141 | eventArray[2], | 1142 | eventArray[2], |
1142 | isCustom, | 1143 | isCustom, |
1143 | methodName))); | 1144 | methodName))); |
1144 | 1145 | ||
1145 | } | 1146 | } |
1146 | }); | 1147 | }); |
1147 | } | 1148 | } |
1148 | }); | 1149 | }); |
1149 | 1150 | ||
1150 | if ( | 1151 | if ( |
1151 | eventType === 'input' && | 1152 | eventType === 'input' && |
1152 | ret.length === 1 && | 1153 | ret.length === 1 && |
1153 | typeof ret[0] !== 'undefined') | 1154 | typeof ret[0] !== 'undefined') |
1154 | { | 1155 | { |
1155 | return ret[0]; | 1156 | return ret[0]; |
1156 | } | 1157 | } |
1157 | } | 1158 | } |
1158 | 1159 | ||
1159 | var hooks = [ | 1160 | var hooks = [ |
1160 | 'onShow', | 1161 | 'onShow', |
1161 | 'onHide', | 1162 | 'onHide', |
1162 | 'onError', | 1163 | 'onError', |
1163 | 'onPageNotFound']; | 1164 | 'onPageNotFound']; |
1164 | 1165 | ||
1165 | 1166 | ||
1166 | function parseBaseApp(vm, _ref3) | 1167 | function parseBaseApp(vm, _ref3) |
1167 | 1168 | ||
1168 | 1169 | ||
1169 | {var mocks = _ref3.mocks,initRefs = _ref3.initRefs; | 1170 | {var mocks = _ref3.mocks,initRefs = _ref3.initRefs; |
1170 | if (vm.$options.store) { | 1171 | if (vm.$options.store) { |
1171 | _vue.default.prototype.$store = vm.$options.store; | 1172 | _vue.default.prototype.$store = vm.$options.store; |
1172 | } | 1173 | } |
1173 | 1174 | ||
1174 | _vue.default.prototype.mpHost = "mp-weixin"; | 1175 | _vue.default.prototype.mpHost = "mp-weixin"; |
1175 | 1176 | ||
1176 | _vue.default.mixin({ | 1177 | _vue.default.mixin({ |
1177 | beforeCreate: function beforeCreate() { | 1178 | beforeCreate: function beforeCreate() { |
1178 | if (!this.$options.mpType) { | 1179 | if (!this.$options.mpType) { |
1179 | return; | 1180 | return; |
1180 | } | 1181 | } |
1181 | 1182 | ||
1182 | this.mpType = this.$options.mpType; | 1183 | this.mpType = this.$options.mpType; |
1183 | 1184 | ||
1184 | this.$mp = _defineProperty({ | 1185 | this.$mp = _defineProperty({ |
1185 | data: {} }, | 1186 | data: {} }, |
1186 | this.mpType, this.$options.mpInstance); | 1187 | this.mpType, this.$options.mpInstance); |
1187 | 1188 | ||
1188 | 1189 | ||
1189 | this.$scope = this.$options.mpInstance; | 1190 | this.$scope = this.$options.mpInstance; |
1190 | 1191 | ||
1191 | delete this.$options.mpType; | 1192 | delete this.$options.mpType; |
1192 | delete this.$options.mpInstance; | 1193 | delete this.$options.mpInstance; |
1193 | 1194 | ||
1194 | if (this.mpType !== 'app') { | 1195 | if (this.mpType !== 'app') { |
1195 | initRefs(this); | 1196 | initRefs(this); |
1196 | initMocks(this, mocks); | 1197 | initMocks(this, mocks); |
1197 | } | 1198 | } |
1198 | } }); | 1199 | } }); |
1199 | 1200 | ||
1200 | 1201 | ||
1201 | var appOptions = { | 1202 | var appOptions = { |
1202 | onLaunch: function onLaunch(args) { | 1203 | onLaunch: function onLaunch(args) { |
1203 | if (this.$vm) {// 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前 | 1204 | if (this.$vm) {// 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前 |
1204 | return; | 1205 | return; |
1205 | } | 1206 | } |
1206 | { | 1207 | { |
1207 | if (!wx.canIUse('nextTick')) {// 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断 | 1208 | if (!wx.canIUse('nextTick')) {// 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断 |
1208 | console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上'); | 1209 | console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上'); |
1209 | } | 1210 | } |
1210 | } | 1211 | } |
1211 | 1212 | ||
1212 | this.$vm = vm; | 1213 | this.$vm = vm; |
1213 | 1214 | ||
1214 | this.$vm.$mp = { | 1215 | this.$vm.$mp = { |
1215 | app: this }; | 1216 | app: this }; |
1216 | 1217 | ||
1217 | 1218 | ||
1218 | this.$vm.$scope = this; | 1219 | this.$vm.$scope = this; |
1219 | // vm 上也挂载 globalData | 1220 | // vm 上也挂载 globalData |
1220 | this.$vm.globalData = this.globalData; | 1221 | this.$vm.globalData = this.globalData; |
1221 | 1222 | ||
1222 | this.$vm._isMounted = true; | 1223 | this.$vm._isMounted = true; |
1223 | this.$vm.__call_hook('mounted', args); | 1224 | this.$vm.__call_hook('mounted', args); |
1224 | 1225 | ||
1225 | this.$vm.__call_hook('onLaunch', args); | 1226 | this.$vm.__call_hook('onLaunch', args); |
1226 | } }; | 1227 | } }; |
1227 | 1228 | ||
1228 | 1229 | ||
1229 | // 兼容旧版本 globalData | 1230 | // 兼容旧版本 globalData |
1230 | appOptions.globalData = vm.$options.globalData || {}; | 1231 | appOptions.globalData = vm.$options.globalData || {}; |
1231 | // 将 methods 中的方法挂在 getApp() 中 | 1232 | // 将 methods 中的方法挂在 getApp() 中 |
1232 | var methods = vm.$options.methods; | 1233 | var methods = vm.$options.methods; |
1233 | if (methods) { | 1234 | if (methods) { |
1234 | Object.keys(methods).forEach(function (name) { | 1235 | Object.keys(methods).forEach(function (name) { |
1235 | appOptions[name] = methods[name]; | 1236 | appOptions[name] = methods[name]; |
1236 | }); | 1237 | }); |
1237 | } | 1238 | } |
1238 | 1239 | ||
1239 | initHooks(appOptions, hooks); | 1240 | initHooks(appOptions, hooks); |
1240 | 1241 | ||
1241 | return appOptions; | 1242 | return appOptions; |
1242 | } | 1243 | } |
1243 | 1244 | ||
1244 | var mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__']; | 1245 | var mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__']; |
1245 | 1246 | ||
1246 | function findVmByVueId(vm, vuePid) { | 1247 | function findVmByVueId(vm, vuePid) { |
1247 | var $children = vm.$children; | 1248 | var $children = vm.$children; |
1248 | // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200) | 1249 | // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200) |
1249 | for (var i = $children.length - 1; i >= 0; i--) { | 1250 | for (var i = $children.length - 1; i >= 0; i--) { |
1250 | var childVm = $children[i]; | 1251 | var childVm = $children[i]; |
1251 | if (childVm.$scope._$vueId === vuePid) { | 1252 | if (childVm.$scope._$vueId === vuePid) { |
1252 | return childVm; | 1253 | return childVm; |
1253 | } | 1254 | } |
1254 | } | 1255 | } |
1255 | // 反向递归查找 | 1256 | // 反向递归查找 |
1256 | var parentVm; | 1257 | var parentVm; |
1257 | for (var _i = $children.length - 1; _i >= 0; _i--) { | 1258 | for (var _i = $children.length - 1; _i >= 0; _i--) { |
1258 | parentVm = findVmByVueId($children[_i], vuePid); | 1259 | parentVm = findVmByVueId($children[_i], vuePid); |
1259 | if (parentVm) { | 1260 | if (parentVm) { |
1260 | return parentVm; | 1261 | return parentVm; |
1261 | } | 1262 | } |
1262 | } | 1263 | } |
1263 | } | 1264 | } |
1264 | 1265 | ||
1265 | function initBehavior(options) { | 1266 | function initBehavior(options) { |
1266 | return Behavior(options); | 1267 | return Behavior(options); |
1267 | } | 1268 | } |
1268 | 1269 | ||
1269 | function isPage() { | 1270 | function isPage() { |
1270 | return !!this.route; | 1271 | return !!this.route; |
1271 | } | 1272 | } |
1272 | 1273 | ||
1273 | function initRelation(detail) { | 1274 | function initRelation(detail) { |
1274 | this.triggerEvent('__l', detail); | 1275 | this.triggerEvent('__l', detail); |
1275 | } | 1276 | } |
1276 | 1277 | ||
1277 | function initRefs(vm) { | 1278 | function initRefs(vm) { |
1278 | var mpInstance = vm.$scope; | 1279 | var mpInstance = vm.$scope; |
1279 | Object.defineProperty(vm, '$refs', { | 1280 | Object.defineProperty(vm, '$refs', { |
1280 | get: function get() { | 1281 | get: function get() { |
1281 | var $refs = {}; | 1282 | var $refs = {}; |
1282 | var components = mpInstance.selectAllComponents('.vue-ref'); | 1283 | var components = mpInstance.selectAllComponents('.vue-ref'); |
1283 | components.forEach(function (component) { | 1284 | components.forEach(function (component) { |
1284 | var ref = component.dataset.ref; | 1285 | var ref = component.dataset.ref; |
1285 | $refs[ref] = component.$vm || component; | 1286 | $refs[ref] = component.$vm || component; |
1286 | }); | 1287 | }); |
1287 | var forComponents = mpInstance.selectAllComponents('.vue-ref-in-for'); | 1288 | var forComponents = mpInstance.selectAllComponents('.vue-ref-in-for'); |
1288 | forComponents.forEach(function (component) { | 1289 | forComponents.forEach(function (component) { |
1289 | var ref = component.dataset.ref; | 1290 | var ref = component.dataset.ref; |
1290 | if (!$refs[ref]) { | 1291 | if (!$refs[ref]) { |
1291 | $refs[ref] = []; | 1292 | $refs[ref] = []; |
1292 | } | 1293 | } |
1293 | $refs[ref].push(component.$vm || component); | 1294 | $refs[ref].push(component.$vm || component); |
1294 | }); | 1295 | }); |
1295 | return $refs; | 1296 | return $refs; |
1296 | } }); | 1297 | } }); |
1297 | 1298 | ||
1298 | } | 1299 | } |
1299 | 1300 | ||
1300 | function handleLink(event) {var _ref4 = | 1301 | function handleLink(event) {var _ref4 = |
1301 | 1302 | ||
1302 | 1303 | ||
1303 | 1304 | ||
1304 | event.detail || event.value,vuePid = _ref4.vuePid,vueOptions = _ref4.vueOptions; // detail 是微信,value 是百度(dipatch) | 1305 | event.detail || event.value,vuePid = _ref4.vuePid,vueOptions = _ref4.vueOptions; // detail 是微信,value 是百度(dipatch) |
1305 | 1306 | ||
1306 | var parentVm; | 1307 | var parentVm; |
1307 | 1308 | ||
1308 | if (vuePid) { | 1309 | if (vuePid) { |
1309 | parentVm = findVmByVueId(this.$vm, vuePid); | 1310 | parentVm = findVmByVueId(this.$vm, vuePid); |
1310 | } | 1311 | } |
1311 | 1312 | ||
1312 | if (!parentVm) { | 1313 | if (!parentVm) { |
1313 | parentVm = this.$vm; | 1314 | parentVm = this.$vm; |
1314 | } | 1315 | } |
1315 | 1316 | ||
1316 | vueOptions.parent = parentVm; | 1317 | vueOptions.parent = parentVm; |
1317 | } | 1318 | } |
1318 | 1319 | ||
1319 | function parseApp(vm) { | 1320 | function parseApp(vm) { |
1320 | return parseBaseApp(vm, { | 1321 | return parseBaseApp(vm, { |
1321 | mocks: mocks, | 1322 | mocks: mocks, |
1322 | initRefs: initRefs }); | 1323 | initRefs: initRefs }); |
1323 | 1324 | ||
1324 | } | 1325 | } |
1325 | 1326 | ||
1326 | function createApp(vm) { | 1327 | function createApp(vm) { |
1327 | App(parseApp(vm)); | 1328 | App(parseApp(vm)); |
1328 | return vm; | 1329 | return vm; |
1329 | } | 1330 | } |
1330 | 1331 | ||
1331 | function parseBaseComponent(vueComponentOptions) | 1332 | function parseBaseComponent(vueComponentOptions) |
1332 | 1333 | ||
1333 | 1334 | ||
1334 | {var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},isPage = _ref5.isPage,initRelation = _ref5.initRelation;var _initVueComponent = | 1335 | {var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},isPage = _ref5.isPage,initRelation = _ref5.initRelation;var _initVueComponent = |
1335 | initVueComponent(_vue.default, vueComponentOptions),_initVueComponent2 = _slicedToArray(_initVueComponent, 2),VueComponent = _initVueComponent2[0],vueOptions = _initVueComponent2[1]; | 1336 | initVueComponent(_vue.default, vueComponentOptions),_initVueComponent2 = _slicedToArray(_initVueComponent, 2),VueComponent = _initVueComponent2[0],vueOptions = _initVueComponent2[1]; |
1336 | 1337 | ||
1337 | var options = _objectSpread({ | 1338 | var options = _objectSpread({ |
1338 | multipleSlots: true, | 1339 | multipleSlots: true, |
1339 | addGlobalClass: true }, | 1340 | addGlobalClass: true }, |
1340 | vueOptions.options || {}); | 1341 | vueOptions.options || {}); |
1341 | 1342 | ||
1342 | 1343 | ||
1343 | { | 1344 | { |
1344 | // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项 | 1345 | // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项 |
1345 | if (vueOptions['mp-weixin'] && vueOptions['mp-weixin'].options) { | 1346 | if (vueOptions['mp-weixin'] && vueOptions['mp-weixin'].options) { |
1346 | Object.assign(options, vueOptions['mp-weixin'].options); | 1347 | Object.assign(options, vueOptions['mp-weixin'].options); |
1347 | } | 1348 | } |
1348 | } | 1349 | } |
1349 | 1350 | ||
1350 | var componentOptions = { | 1351 | var componentOptions = { |
1351 | options: options, | 1352 | options: options, |
1352 | data: initData(vueOptions, _vue.default.prototype), | 1353 | data: initData(vueOptions, _vue.default.prototype), |
1353 | behaviors: initBehaviors(vueOptions, initBehavior), | 1354 | behaviors: initBehaviors(vueOptions, initBehavior), |
1354 | properties: initProperties(vueOptions.props, false, vueOptions.__file), | 1355 | properties: initProperties(vueOptions.props, false, vueOptions.__file), |
1355 | lifetimes: { | 1356 | lifetimes: { |
1356 | attached: function attached() { | 1357 | attached: function attached() { |
1357 | var properties = this.properties; | 1358 | var properties = this.properties; |
1358 | 1359 | ||
1359 | var options = { | 1360 | var options = { |
1360 | mpType: isPage.call(this) ? 'page' : 'component', | 1361 | mpType: isPage.call(this) ? 'page' : 'component', |
1361 | mpInstance: this, | 1362 | mpInstance: this, |
1362 | propsData: properties }; | 1363 | propsData: properties }; |
1363 | 1364 | ||
1364 | 1365 | ||
1365 | initVueIds(properties.vueId, this); | 1366 | initVueIds(properties.vueId, this); |
1366 | 1367 | ||
1367 | // 处理父子关系 | 1368 | // 处理父子关系 |
1368 | initRelation.call(this, { | 1369 | initRelation.call(this, { |
1369 | vuePid: this._$vuePid, | 1370 | vuePid: this._$vuePid, |
1370 | vueOptions: options }); | 1371 | vueOptions: options }); |
1371 | 1372 | ||
1372 | 1373 | ||
1373 | // 初始化 vue 实例 | 1374 | // 初始化 vue 实例 |
1374 | this.$vm = new VueComponent(options); | 1375 | this.$vm = new VueComponent(options); |
1375 | 1376 | ||
1376 | // 处理$slots,$scopedSlots(暂不支持动态变化$slots) | 1377 | // 处理$slots,$scopedSlots(暂不支持动态变化$slots) |
1377 | initSlots(this.$vm, properties.vueSlots); | 1378 | initSlots(this.$vm, properties.vueSlots); |
1378 | 1379 | ||
1379 | // 触发首次 setData | 1380 | // 触发首次 setData |
1380 | this.$vm.$mount(); | 1381 | this.$vm.$mount(); |
1381 | }, | 1382 | }, |
1382 | ready: function ready() { | 1383 | ready: function ready() { |
1383 | // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发 | 1384 | // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发 |
1384 | // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800 | 1385 | // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800 |
1385 | if (this.$vm) { | 1386 | if (this.$vm) { |
1386 | this.$vm._isMounted = true; | 1387 | this.$vm._isMounted = true; |
1387 | this.$vm.__call_hook('mounted'); | 1388 | this.$vm.__call_hook('mounted'); |
1388 | this.$vm.__call_hook('onReady'); | 1389 | this.$vm.__call_hook('onReady'); |
1389 | } | 1390 | } |
1390 | }, | 1391 | }, |
1391 | detached: function detached() { | 1392 | detached: function detached() { |
1392 | this.$vm && this.$vm.$destroy(); | 1393 | this.$vm && this.$vm.$destroy(); |
1393 | } }, | 1394 | } }, |
1394 | 1395 | ||
1395 | pageLifetimes: { | 1396 | pageLifetimes: { |
1396 | show: function show(args) { | 1397 | show: function show(args) { |
1397 | this.$vm && this.$vm.__call_hook('onPageShow', args); | 1398 | this.$vm && this.$vm.__call_hook('onPageShow', args); |
1398 | }, | 1399 | }, |
1399 | hide: function hide() { | 1400 | hide: function hide() { |
1400 | this.$vm && this.$vm.__call_hook('onPageHide'); | 1401 | this.$vm && this.$vm.__call_hook('onPageHide'); |
1401 | }, | 1402 | }, |
1402 | resize: function resize(size) { | 1403 | resize: function resize(size) { |
1403 | this.$vm && this.$vm.__call_hook('onPageResize', size); | 1404 | this.$vm && this.$vm.__call_hook('onPageResize', size); |
1404 | } }, | 1405 | } }, |
1405 | 1406 | ||
1406 | methods: { | 1407 | methods: { |
1407 | __l: handleLink, | 1408 | __l: handleLink, |
1408 | __e: handleEvent } }; | 1409 | __e: handleEvent } }; |
1409 | 1410 | ||
1410 | 1411 | ||
1411 | 1412 | ||
1412 | if (Array.isArray(vueOptions.wxsCallMethods)) { | 1413 | if (Array.isArray(vueOptions.wxsCallMethods)) { |
1413 | vueOptions.wxsCallMethods.forEach(function (callMethod) { | 1414 | vueOptions.wxsCallMethods.forEach(function (callMethod) { |
1414 | componentOptions.methods[callMethod] = function (args) { | 1415 | componentOptions.methods[callMethod] = function (args) { |
1415 | return this.$vm[callMethod](args); | 1416 | return this.$vm[callMethod](args); |
1416 | }; | 1417 | }; |
1417 | }); | 1418 | }); |
1418 | } | 1419 | } |
1419 | 1420 | ||
1420 | if (isPage) { | 1421 | if (isPage) { |
1421 | return componentOptions; | 1422 | return componentOptions; |
1422 | } | 1423 | } |
1423 | return [componentOptions, VueComponent]; | 1424 | return [componentOptions, VueComponent]; |
1424 | } | 1425 | } |
1425 | 1426 | ||
1426 | function parseComponent(vueComponentOptions) { | 1427 | function parseComponent(vueComponentOptions) { |
1427 | return parseBaseComponent(vueComponentOptions, { | 1428 | return parseBaseComponent(vueComponentOptions, { |
1428 | isPage: isPage, | 1429 | isPage: isPage, |
1429 | initRelation: initRelation }); | 1430 | initRelation: initRelation }); |
1430 | 1431 | ||
1431 | } | 1432 | } |
1432 | 1433 | ||
1433 | var hooks$1 = [ | 1434 | var hooks$1 = [ |
1434 | 'onShow', | 1435 | 'onShow', |
1435 | 'onHide', | 1436 | 'onHide', |
1436 | 'onUnload']; | 1437 | 'onUnload']; |
1437 | 1438 | ||
1438 | 1439 | ||
1439 | hooks$1.push.apply(hooks$1, PAGE_EVENT_HOOKS); | 1440 | hooks$1.push.apply(hooks$1, PAGE_EVENT_HOOKS); |
1440 | 1441 | ||
1441 | function parseBasePage(vuePageOptions, _ref6) | 1442 | function parseBasePage(vuePageOptions, _ref6) |
1442 | 1443 | ||
1443 | 1444 | ||
1444 | {var isPage = _ref6.isPage,initRelation = _ref6.initRelation; | 1445 | {var isPage = _ref6.isPage,initRelation = _ref6.initRelation; |
1445 | var pageOptions = parseComponent(vuePageOptions); | 1446 | var pageOptions = parseComponent(vuePageOptions); |
1446 | 1447 | ||
1447 | initHooks(pageOptions.methods, hooks$1, vuePageOptions); | 1448 | initHooks(pageOptions.methods, hooks$1, vuePageOptions); |
1448 | 1449 | ||
1449 | pageOptions.methods.onLoad = function (args) { | 1450 | pageOptions.methods.onLoad = function (args) { |
1450 | this.$vm.$mp.query = args; // 兼容 mpvue | 1451 | this.$vm.$mp.query = args; // 兼容 mpvue |
1451 | this.$vm.__call_hook('onLoad', args); | 1452 | this.$vm.__call_hook('onLoad', args); |
1452 | }; | 1453 | }; |
1453 | 1454 | ||
1454 | return pageOptions; | 1455 | return pageOptions; |
1455 | } | 1456 | } |
1456 | 1457 | ||
1457 | function parsePage(vuePageOptions) { | 1458 | function parsePage(vuePageOptions) { |
1458 | return parseBasePage(vuePageOptions, { | 1459 | return parseBasePage(vuePageOptions, { |
1459 | isPage: isPage, | 1460 | isPage: isPage, |
1460 | initRelation: initRelation }); | 1461 | initRelation: initRelation }); |
1461 | 1462 | ||
1462 | } | 1463 | } |
1463 | 1464 | ||
1464 | function createPage(vuePageOptions) { | 1465 | function createPage(vuePageOptions) { |
1465 | { | 1466 | { |
1466 | return Component(parsePage(vuePageOptions)); | 1467 | return Component(parsePage(vuePageOptions)); |
1467 | } | 1468 | } |
1468 | } | 1469 | } |
1469 | 1470 | ||
1470 | function createComponent(vueOptions) { | 1471 | function createComponent(vueOptions) { |
1471 | { | 1472 | { |
1472 | return Component(parseComponent(vueOptions)); | 1473 | return Component(parseComponent(vueOptions)); |
1473 | } | 1474 | } |
1474 | } | 1475 | } |
1475 | 1476 | ||
1476 | todos.forEach(function (todoApi) { | 1477 | todos.forEach(function (todoApi) { |
1477 | protocols[todoApi] = false; | 1478 | protocols[todoApi] = false; |
1478 | }); | 1479 | }); |
1479 | 1480 | ||
1480 | canIUses.forEach(function (canIUseApi) { | 1481 | canIUses.forEach(function (canIUseApi) { |
1481 | var apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name : | 1482 | var apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name : |
1482 | canIUseApi; | 1483 | canIUseApi; |
1483 | if (!wx.canIUse(apiName)) { | 1484 | if (!wx.canIUse(apiName)) { |
1484 | protocols[canIUseApi] = false; | 1485 | protocols[canIUseApi] = false; |
1485 | } | 1486 | } |
1486 | }); | 1487 | }); |
1487 | 1488 | ||
1488 | var uni = {}; | 1489 | var uni = {}; |
1489 | 1490 | ||
1490 | if (typeof Proxy !== 'undefined' && "mp-weixin" !== 'app-plus') { | 1491 | if (typeof Proxy !== 'undefined' && "mp-weixin" !== 'app-plus') { |
1491 | uni = new Proxy({}, { | 1492 | uni = new Proxy({}, { |
1492 | get: function get(target, name) { | 1493 | get: function get(target, name) { |
1493 | if (target[name]) { | 1494 | if (target[name]) { |
1494 | return target[name]; | 1495 | return target[name]; |
1495 | } | 1496 | } |
1496 | if (baseApi[name]) { | 1497 | if (baseApi[name]) { |
1497 | return baseApi[name]; | 1498 | return baseApi[name]; |
1498 | } | 1499 | } |
1499 | if (api[name]) { | 1500 | if (api[name]) { |
1500 | return promisify(name, api[name]); | 1501 | return promisify(name, api[name]); |
1501 | } | 1502 | } |
1502 | { | 1503 | { |
1503 | if (extraApi[name]) { | 1504 | if (extraApi[name]) { |
1504 | return promisify(name, extraApi[name]); | 1505 | return promisify(name, extraApi[name]); |
1505 | } | 1506 | } |
1506 | if (todoApis[name]) { | 1507 | if (todoApis[name]) { |
1507 | return promisify(name, todoApis[name]); | 1508 | return promisify(name, todoApis[name]); |
1508 | } | 1509 | } |
1509 | } | 1510 | } |
1510 | if (eventApi[name]) { | 1511 | if (eventApi[name]) { |
1511 | return eventApi[name]; | 1512 | return eventApi[name]; |
1512 | } | 1513 | } |
1513 | if (!hasOwn(wx, name) && !hasOwn(protocols, name)) { | 1514 | if (!hasOwn(wx, name) && !hasOwn(protocols, name)) { |
1514 | return; | 1515 | return; |
1515 | } | 1516 | } |
1516 | return promisify(name, wrapper(name, wx[name])); | 1517 | return promisify(name, wrapper(name, wx[name])); |
1517 | }, | 1518 | }, |
1518 | set: function set(target, name, value) { | 1519 | set: function set(target, name, value) { |
1519 | target[name] = value; | 1520 | target[name] = value; |
1520 | return true; | 1521 | return true; |
1521 | } }); | 1522 | } }); |
1522 | 1523 | ||
1523 | } else { | 1524 | } else { |
1524 | Object.keys(baseApi).forEach(function (name) { | 1525 | Object.keys(baseApi).forEach(function (name) { |
1525 | uni[name] = baseApi[name]; | 1526 | uni[name] = baseApi[name]; |
1526 | }); | 1527 | }); |
1527 | 1528 | ||
1528 | { | 1529 | { |
1529 | Object.keys(todoApis).forEach(function (name) { | 1530 | Object.keys(todoApis).forEach(function (name) { |
1530 | uni[name] = promisify(name, todoApis[name]); | 1531 | uni[name] = promisify(name, todoApis[name]); |
1531 | }); | 1532 | }); |
1532 | Object.keys(extraApi).forEach(function (name) { | 1533 | Object.keys(extraApi).forEach(function (name) { |
1533 | uni[name] = promisify(name, todoApis[name]); | 1534 | uni[name] = promisify(name, todoApis[name]); |
1534 | }); | 1535 | }); |
1535 | } | 1536 | } |
1536 | 1537 | ||
1537 | Object.keys(eventApi).forEach(function (name) { | 1538 | Object.keys(eventApi).forEach(function (name) { |
1538 | uni[name] = eventApi[name]; | 1539 | uni[name] = eventApi[name]; |
1539 | }); | 1540 | }); |
1540 | 1541 | ||
1541 | Object.keys(api).forEach(function (name) { | 1542 | Object.keys(api).forEach(function (name) { |
1542 | uni[name] = promisify(name, api[name]); | 1543 | uni[name] = promisify(name, api[name]); |
1543 | }); | 1544 | }); |
1544 | 1545 | ||
1545 | Object.keys(wx).forEach(function (name) { | 1546 | Object.keys(wx).forEach(function (name) { |
1546 | if (hasOwn(wx, name) || hasOwn(protocols, name)) { | 1547 | if (hasOwn(wx, name) || hasOwn(protocols, name)) { |
1547 | uni[name] = promisify(name, wrapper(name, wx[name])); | 1548 | uni[name] = promisify(name, wrapper(name, wx[name])); |
1548 | } | 1549 | } |
1549 | }); | 1550 | }); |
1550 | } | 1551 | } |
1551 | 1552 | ||
1552 | wx.createApp = createApp; | 1553 | wx.createApp = createApp; |
1553 | wx.createPage = createPage; | 1554 | wx.createPage = createPage; |
1554 | wx.createComponent = createComponent; | 1555 | wx.createComponent = createComponent; |
1555 | 1556 | ||
1556 | var uni$1 = uni;var _default = | 1557 | var uni$1 = uni;var _default = |
1557 | 1558 | ||
1558 | uni$1;exports.default = _default; | 1559 | uni$1;exports.default = _default; |
1559 | 1560 | ||
1560 | /***/ }), | 1561 | /***/ }), |
1561 | /* 2 */ | 1562 | /* 2 */ |
1562 | /*!******************************************************************************************!*\ | 1563 | /*!******************************************************************************************!*\ |
1563 | !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js ***! | 1564 | !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js ***! |
1564 | \******************************************************************************************/ | 1565 | \******************************************************************************************/ |
1565 | /*! exports provided: default */ | 1566 | /*! exports provided: default */ |
1566 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | 1567 | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
1567 | 1568 | ||
1568 | "use strict"; | 1569 | "use strict"; |
1569 | __webpack_require__.r(__webpack_exports__); | 1570 | __webpack_require__.r(__webpack_exports__); |
1570 | /* WEBPACK VAR INJECTION */(function(global) {/*! | 1571 | /* WEBPACK VAR INJECTION */(function(global) {/*! |
1571 | * Vue.js v2.6.11 | 1572 | * Vue.js v2.6.11 |
1572 | * (c) 2014-2020 Evan You | 1573 | * (c) 2014-2020 Evan You |
1573 | * Released under the MIT License. | 1574 | * Released under the MIT License. |
1574 | */ | 1575 | */ |
1575 | /* */ | 1576 | /* */ |
1576 | 1577 | ||
1577 | var emptyObject = Object.freeze({}); | 1578 | var emptyObject = Object.freeze({}); |
1578 | 1579 | ||
1579 | // These helpers produce better VM code in JS engines due to their | 1580 | // These helpers produce better VM code in JS engines due to their |
1580 | // explicitness and function inlining. | 1581 | // explicitness and function inlining. |
1581 | function isUndef (v) { | 1582 | function isUndef (v) { |
1582 | return v === undefined || v === null | 1583 | return v === undefined || v === null |
1583 | } | 1584 | } |
1584 | 1585 | ||
1585 | function isDef (v) { | 1586 | function isDef (v) { |
1586 | return v !== undefined && v !== null | 1587 | return v !== undefined && v !== null |
1587 | } | 1588 | } |
1588 | 1589 | ||
1589 | function isTrue (v) { | 1590 | function isTrue (v) { |
1590 | return v === true | 1591 | return v === true |
1591 | } | 1592 | } |
1592 | 1593 | ||
1593 | function isFalse (v) { | 1594 | function isFalse (v) { |
1594 | return v === false | 1595 | return v === false |
1595 | } | 1596 | } |
1596 | 1597 | ||
1597 | /** | 1598 | /** |
1598 | * Check if value is primitive. | 1599 | * Check if value is primitive. |
1599 | */ | 1600 | */ |
1600 | function isPrimitive (value) { | 1601 | function isPrimitive (value) { |
1601 | return ( | 1602 | return ( |
1602 | typeof value === 'string' || | 1603 | typeof value === 'string' || |
1603 | typeof value === 'number' || | 1604 | typeof value === 'number' || |
1604 | // $flow-disable-line | 1605 | // $flow-disable-line |
1605 | typeof value === 'symbol' || | 1606 | typeof value === 'symbol' || |
1606 | typeof value === 'boolean' | 1607 | typeof value === 'boolean' |
1607 | ) | 1608 | ) |
1608 | } | 1609 | } |
1609 | 1610 | ||
1610 | /** | 1611 | /** |
1611 | * Quick object check - this is primarily used to tell | 1612 | * Quick object check - this is primarily used to tell |
1612 | * Objects from primitive values when we know the value | 1613 | * Objects from primitive values when we know the value |
1613 | * is a JSON-compliant type. | 1614 | * is a JSON-compliant type. |
1614 | */ | 1615 | */ |
1615 | function isObject (obj) { | 1616 | function isObject (obj) { |
1616 | return obj !== null && typeof obj === 'object' | 1617 | return obj !== null && typeof obj === 'object' |
1617 | } | 1618 | } |
1618 | 1619 | ||
1619 | /** | 1620 | /** |
1620 | * Get the raw type string of a value, e.g., [object Object]. | 1621 | * Get the raw type string of a value, e.g., [object Object]. |
1621 | */ | 1622 | */ |
1622 | var _toString = Object.prototype.toString; | 1623 | var _toString = Object.prototype.toString; |
1623 | 1624 | ||
1624 | function toRawType (value) { | 1625 | function toRawType (value) { |
1625 | return _toString.call(value).slice(8, -1) | 1626 | return _toString.call(value).slice(8, -1) |
1626 | } | 1627 | } |
1627 | 1628 | ||
1628 | /** | 1629 | /** |
1629 | * Strict object type check. Only returns true | 1630 | * Strict object type check. Only returns true |
1630 | * for plain JavaScript objects. | 1631 | * for plain JavaScript objects. |
1631 | */ | 1632 | */ |
1632 | function isPlainObject (obj) { | 1633 | function isPlainObject (obj) { |
1633 | return _toString.call(obj) === '[object Object]' | 1634 | return _toString.call(obj) === '[object Object]' |
1634 | } | 1635 | } |
1635 | 1636 | ||
1636 | function isRegExp (v) { | 1637 | function isRegExp (v) { |
1637 | return _toString.call(v) === '[object RegExp]' | 1638 | return _toString.call(v) === '[object RegExp]' |
1638 | } | 1639 | } |
1639 | 1640 | ||
1640 | /** | 1641 | /** |
1641 | * Check if val is a valid array index. | 1642 | * Check if val is a valid array index. |
1642 | */ | 1643 | */ |
1643 | function isValidArrayIndex (val) { | 1644 | function isValidArrayIndex (val) { |
1644 | var n = parseFloat(String(val)); | 1645 | var n = parseFloat(String(val)); |
1645 | return n >= 0 && Math.floor(n) === n && isFinite(val) | 1646 | return n >= 0 && Math.floor(n) === n && isFinite(val) |
1646 | } | 1647 | } |
1647 | 1648 | ||
1648 | function isPromise (val) { | 1649 | function isPromise (val) { |
1649 | return ( | 1650 | return ( |
1650 | isDef(val) && | 1651 | isDef(val) && |
1651 | typeof val.then === 'function' && | 1652 | typeof val.then === 'function' && |
1652 | typeof val.catch === 'function' | 1653 | typeof val.catch === 'function' |
1653 | ) | 1654 | ) |
1654 | } | 1655 | } |
1655 | 1656 | ||
1656 | /** | 1657 | /** |
1657 | * Convert a value to a string that is actually rendered. | 1658 | * Convert a value to a string that is actually rendered. |
1658 | */ | 1659 | */ |
1659 | function toString (val) { | 1660 | function toString (val) { |
1660 | return val == null | 1661 | return val == null |
1661 | ? '' | 1662 | ? '' |
1662 | : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) | 1663 | : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) |
1663 | ? JSON.stringify(val, null, 2) | 1664 | ? JSON.stringify(val, null, 2) |
1664 | : String(val) | 1665 | : String(val) |
1665 | } | 1666 | } |
1666 | 1667 | ||
1667 | /** | 1668 | /** |
1668 | * Convert an input value to a number for persistence. | 1669 | * Convert an input value to a number for persistence. |
1669 | * If the conversion fails, return original string. | 1670 | * If the conversion fails, return original string. |
1670 | */ | 1671 | */ |
1671 | function toNumber (val) { | 1672 | function toNumber (val) { |
1672 | var n = parseFloat(val); | 1673 | var n = parseFloat(val); |
1673 | return isNaN(n) ? val : n | 1674 | return isNaN(n) ? val : n |
1674 | } | 1675 | } |
1675 | 1676 | ||
1676 | /** | 1677 | /** |
1677 | * Make a map and return a function for checking if a key | 1678 | * Make a map and return a function for checking if a key |
1678 | * is in that map. | 1679 | * is in that map. |
1679 | */ | 1680 | */ |
1680 | function makeMap ( | 1681 | function makeMap ( |
1681 | str, | 1682 | str, |
1682 | expectsLowerCase | 1683 | expectsLowerCase |
1683 | ) { | 1684 | ) { |
1684 | var map = Object.create(null); | 1685 | var map = Object.create(null); |
1685 | var list = str.split(','); | 1686 | var list = str.split(','); |
1686 | for (var i = 0; i < list.length; i++) { | 1687 | for (var i = 0; i < list.length; i++) { |
1687 | map[list[i]] = true; | 1688 | map[list[i]] = true; |
1688 | } | 1689 | } |
1689 | return expectsLowerCase | 1690 | return expectsLowerCase |
1690 | ? function (val) { return map[val.toLowerCase()]; } | 1691 | ? function (val) { return map[val.toLowerCase()]; } |
1691 | : function (val) { return map[val]; } | 1692 | : function (val) { return map[val]; } |
1692 | } | 1693 | } |
1693 | 1694 | ||
1694 | /** | 1695 | /** |
1695 | * Check if a tag is a built-in tag. | 1696 | * Check if a tag is a built-in tag. |
1696 | */ | 1697 | */ |
1697 | var isBuiltInTag = makeMap('slot,component', true); | 1698 | var isBuiltInTag = makeMap('slot,component', true); |
1698 | 1699 | ||
1699 | /** | 1700 | /** |
1700 | * Check if an attribute is a reserved attribute. | 1701 | * Check if an attribute is a reserved attribute. |
1701 | */ | 1702 | */ |
1702 | var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is'); | 1703 | var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is'); |
1703 | 1704 | ||
1704 | /** | 1705 | /** |
1705 | * Remove an item from an array. | 1706 | * Remove an item from an array. |
1706 | */ | 1707 | */ |
1707 | function remove (arr, item) { | 1708 | function remove (arr, item) { |
1708 | if (arr.length) { | 1709 | if (arr.length) { |
1709 | var index = arr.indexOf(item); | 1710 | var index = arr.indexOf(item); |
1710 | if (index > -1) { | 1711 | if (index > -1) { |
1711 | return arr.splice(index, 1) | 1712 | return arr.splice(index, 1) |
1712 | } | 1713 | } |
1713 | } | 1714 | } |
1714 | } | 1715 | } |
1715 | 1716 | ||
1716 | /** | 1717 | /** |
1717 | * Check whether an object has the property. | 1718 | * Check whether an object has the property. |
1718 | */ | 1719 | */ |
1719 | var hasOwnProperty = Object.prototype.hasOwnProperty; | 1720 | var hasOwnProperty = Object.prototype.hasOwnProperty; |
1720 | function hasOwn (obj, key) { | 1721 | function hasOwn (obj, key) { |
1721 | return hasOwnProperty.call(obj, key) | 1722 | return hasOwnProperty.call(obj, key) |
1722 | } | 1723 | } |
1723 | 1724 | ||
1724 | /** | 1725 | /** |
1725 | * Create a cached version of a pure function. | 1726 | * Create a cached version of a pure function. |
1726 | */ | 1727 | */ |
1727 | function cached (fn) { | 1728 | function cached (fn) { |
1728 | var cache = Object.create(null); | 1729 | var cache = Object.create(null); |
1729 | return (function cachedFn (str) { | 1730 | return (function cachedFn (str) { |
1730 | var hit = cache[str]; | 1731 | var hit = cache[str]; |
1731 | return hit || (cache[str] = fn(str)) | 1732 | return hit || (cache[str] = fn(str)) |
1732 | }) | 1733 | }) |
1733 | } | 1734 | } |
1734 | 1735 | ||
1735 | /** | 1736 | /** |
1736 | * Camelize a hyphen-delimited string. | 1737 | * Camelize a hyphen-delimited string. |
1737 | */ | 1738 | */ |
1738 | var camelizeRE = /-(\w)/g; | 1739 | var camelizeRE = /-(\w)/g; |
1739 | var camelize = cached(function (str) { | 1740 | var camelize = cached(function (str) { |
1740 | return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; }) | 1741 | return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; }) |
1741 | }); | 1742 | }); |
1742 | 1743 | ||
1743 | /** | 1744 | /** |
1744 | * Capitalize a string. | 1745 | * Capitalize a string. |
1745 | */ | 1746 | */ |
1746 | var capitalize = cached(function (str) { | 1747 | var capitalize = cached(function (str) { |
1747 | return str.charAt(0).toUpperCase() + str.slice(1) | 1748 | return str.charAt(0).toUpperCase() + str.slice(1) |
1748 | }); | 1749 | }); |
1749 | 1750 | ||
1750 | /** | 1751 | /** |
1751 | * Hyphenate a camelCase string. | 1752 | * Hyphenate a camelCase string. |
1752 | */ | 1753 | */ |
1753 | var hyphenateRE = /\B([A-Z])/g; | 1754 | var hyphenateRE = /\B([A-Z])/g; |
1754 | var hyphenate = cached(function (str) { | 1755 | var hyphenate = cached(function (str) { |
1755 | return str.replace(hyphenateRE, '-$1').toLowerCase() | 1756 | return str.replace(hyphenateRE, '-$1').toLowerCase() |
1756 | }); | 1757 | }); |
1757 | 1758 | ||
1758 | /** | 1759 | /** |
1759 | * Simple bind polyfill for environments that do not support it, | 1760 | * Simple bind polyfill for environments that do not support it, |
1760 | * e.g., PhantomJS 1.x. Technically, we don't need this anymore | 1761 | * e.g., PhantomJS 1.x. Technically, we don't need this anymore |
1761 | * since native bind is now performant enough in most browsers. | 1762 | * since native bind is now performant enough in most browsers. |
1762 | * But removing it would mean breaking code that was able to run in | 1763 | * But removing it would mean breaking code that was able to run in |
1763 | * PhantomJS 1.x, so this must be kept for backward compatibility. | 1764 | * PhantomJS 1.x, so this must be kept for backward compatibility. |
1764 | */ | 1765 | */ |
1765 | 1766 | ||
1766 | /* istanbul ignore next */ | 1767 | /* istanbul ignore next */ |
1767 | function polyfillBind (fn, ctx) { | 1768 | function polyfillBind (fn, ctx) { |
1768 | function boundFn (a) { | 1769 | function boundFn (a) { |
1769 | var l = arguments.length; | 1770 | var l = arguments.length; |
1770 | return l | 1771 | return l |
1771 | ? l > 1 | 1772 | ? l > 1 |
1772 | ? fn.apply(ctx, arguments) | 1773 | ? fn.apply(ctx, arguments) |
1773 | : fn.call(ctx, a) | 1774 | : fn.call(ctx, a) |
1774 | : fn.call(ctx) | 1775 | : fn.call(ctx) |
1775 | } | 1776 | } |
1776 | 1777 | ||
1777 | boundFn._length = fn.length; | 1778 | boundFn._length = fn.length; |
1778 | return boundFn | 1779 | return boundFn |
1779 | } | 1780 | } |
1780 | 1781 | ||
1781 | function nativeBind (fn, ctx) { | 1782 | function nativeBind (fn, ctx) { |
1782 | return fn.bind(ctx) | 1783 | return fn.bind(ctx) |
1783 | } | 1784 | } |
1784 | 1785 | ||
1785 | var bind = Function.prototype.bind | 1786 | var bind = Function.prototype.bind |
1786 | ? nativeBind | 1787 | ? nativeBind |
1787 | : polyfillBind; | 1788 | : polyfillBind; |
1788 | 1789 | ||
1789 | /** | 1790 | /** |
1790 | * Convert an Array-like object to a real Array. | 1791 | * Convert an Array-like object to a real Array. |
1791 | */ | 1792 | */ |
1792 | function toArray (list, start) { | 1793 | function toArray (list, start) { |
1793 | start = start || 0; | 1794 | start = start || 0; |
1794 | var i = list.length - start; | 1795 | var i = list.length - start; |
1795 | var ret = new Array(i); | 1796 | var ret = new Array(i); |
1796 | while (i--) { | 1797 | while (i--) { |
1797 | ret[i] = list[i + start]; | 1798 | ret[i] = list[i + start]; |
1798 | } | 1799 | } |
1799 | return ret | 1800 | return ret |
1800 | } | 1801 | } |
1801 | 1802 | ||
1802 | /** | 1803 | /** |
1803 | * Mix properties into target object. | 1804 | * Mix properties into target object. |
1804 | */ | 1805 | */ |
1805 | function extend (to, _from) { | 1806 | function extend (to, _from) { |
1806 | for (var key in _from) { | 1807 | for (var key in _from) { |
1807 | to[key] = _from[key]; | 1808 | to[key] = _from[key]; |
1808 | } | 1809 | } |
1809 | return to | 1810 | return to |
1810 | } | 1811 | } |
1811 | 1812 | ||
1812 | /** | 1813 | /** |
1813 | * Merge an Array of Objects into a single Object. | 1814 | * Merge an Array of Objects into a single Object. |
1814 | */ | 1815 | */ |
1815 | function toObject (arr) { | 1816 | function toObject (arr) { |
1816 | var res = {}; | 1817 | var res = {}; |
1817 | for (var i = 0; i < arr.length; i++) { | 1818 | for (var i = 0; i < arr.length; i++) { |
1818 | if (arr[i]) { | 1819 | if (arr[i]) { |
1819 | extend(res, arr[i]); | 1820 | extend(res, arr[i]); |
1820 | } | 1821 | } |
1821 | } | 1822 | } |
1822 | return res | 1823 | return res |
1823 | } | 1824 | } |
1824 | 1825 | ||
1825 | /* eslint-disable no-unused-vars */ | 1826 | /* eslint-disable no-unused-vars */ |
1826 | 1827 | ||
1827 | /** | 1828 | /** |
1828 | * Perform no operation. | 1829 | * Perform no operation. |
1829 | * Stubbing args to make Flow happy without leaving useless transpiled code | 1830 | * Stubbing args to make Flow happy without leaving useless transpiled code |
1830 | * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/). | 1831 | * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/). |
1831 | */ | 1832 | */ |
1832 | function noop (a, b, c) {} | 1833 | function noop (a, b, c) {} |
1833 | 1834 | ||
1834 | /** | 1835 | /** |
1835 | * Always return false. | 1836 | * Always return false. |
1836 | */ | 1837 | */ |
1837 | var no = function (a, b, c) { return false; }; | 1838 | var no = function (a, b, c) { return false; }; |
1838 | 1839 | ||
1839 | /* eslint-enable no-unused-vars */ | 1840 | /* eslint-enable no-unused-vars */ |
1840 | 1841 | ||
1841 | /** | 1842 | /** |
1842 | * Return the same value. | 1843 | * Return the same value. |
1843 | */ | 1844 | */ |
1844 | var identity = function (_) { return _; }; | 1845 | var identity = function (_) { return _; }; |
1845 | 1846 | ||
1846 | /** | 1847 | /** |
1847 | * Check if two values are loosely equal - that is, | 1848 | * Check if two values are loosely equal - that is, |
1848 | * if they are plain objects, do they have the same shape? | 1849 | * if they are plain objects, do they have the same shape? |
1849 | */ | 1850 | */ |
1850 | function looseEqual (a, b) { | 1851 | function looseEqual (a, b) { |
1851 | if (a === b) { return true } | 1852 | if (a === b) { return true } |
1852 | var isObjectA = isObject(a); | 1853 | var isObjectA = isObject(a); |
1853 | var isObjectB = isObject(b); | 1854 | var isObjectB = isObject(b); |
1854 | if (isObjectA && isObjectB) { | 1855 | if (isObjectA && isObjectB) { |
1855 | try { | 1856 | try { |
1856 | var isArrayA = Array.isArray(a); | 1857 | var isArrayA = Array.isArray(a); |
1857 | var isArrayB = Array.isArray(b); | 1858 | var isArrayB = Array.isArray(b); |
1858 | if (isArrayA && isArrayB) { | 1859 | if (isArrayA && isArrayB) { |
1859 | return a.length === b.length && a.every(function (e, i) { | 1860 | return a.length === b.length && a.every(function (e, i) { |
1860 | return looseEqual(e, b[i]) | 1861 | return looseEqual(e, b[i]) |
1861 | }) | 1862 | }) |
1862 | } else if (a instanceof Date && b instanceof Date) { | 1863 | } else if (a instanceof Date && b instanceof Date) { |
1863 | return a.getTime() === b.getTime() | 1864 | return a.getTime() === b.getTime() |
1864 | } else if (!isArrayA && !isArrayB) { | 1865 | } else if (!isArrayA && !isArrayB) { |
1865 | var keysA = Object.keys(a); | 1866 | var keysA = Object.keys(a); |
1866 | var keysB = Object.keys(b); | 1867 | var keysB = Object.keys(b); |
1867 | return keysA.length === keysB.length && keysA.every(function (key) { | 1868 | return keysA.length === keysB.length && keysA.every(function (key) { |
1868 | return looseEqual(a[key], b[key]) | 1869 | return looseEqual(a[key], b[key]) |
1869 | }) | 1870 | }) |
1870 | } else { | 1871 | } else { |
1871 | /* istanbul ignore next */ | 1872 | /* istanbul ignore next */ |
1872 | return false | 1873 | return false |
1873 | } | 1874 | } |
1874 | } catch (e) { | 1875 | } catch (e) { |
1875 | /* istanbul ignore next */ | 1876 | /* istanbul ignore next */ |
1876 | return false | 1877 | return false |
1877 | } | 1878 | } |
1878 | } else if (!isObjectA && !isObjectB) { | 1879 | } else if (!isObjectA && !isObjectB) { |
1879 | return String(a) === String(b) | 1880 | return String(a) === String(b) |
1880 | } else { | 1881 | } else { |
1881 | return false | 1882 | return false |
1882 | } | 1883 | } |
1883 | } | 1884 | } |
1884 | 1885 | ||
1885 | /** | 1886 | /** |
1886 | * Return the first index at which a loosely equal value can be | 1887 | * Return the first index at which a loosely equal value can be |
1887 | * found in the array (if value is a plain object, the array must | 1888 | * found in the array (if value is a plain object, the array must |
1888 | * contain an object of the same shape), or -1 if it is not present. | 1889 | * contain an object of the same shape), or -1 if it is not present. |
1889 | */ | 1890 | */ |
1890 | function looseIndexOf (arr, val) { | 1891 | function looseIndexOf (arr, val) { |
1891 | for (var i = 0; i < arr.length; i++) { | 1892 | for (var i = 0; i < arr.length; i++) { |
1892 | if (looseEqual(arr[i], val)) { return i } | 1893 | if (looseEqual(arr[i], val)) { return i } |
1893 | } | 1894 | } |
1894 | return -1 | 1895 | return -1 |
1895 | } | 1896 | } |
1896 | 1897 | ||
1897 | /** | 1898 | /** |
1898 | * Ensure a function is called only once. | 1899 | * Ensure a function is called only once. |
1899 | */ | 1900 | */ |
1900 | function once (fn) { | 1901 | function once (fn) { |
1901 | var called = false; | 1902 | var called = false; |
1902 | return function () { | 1903 | return function () { |
1903 | if (!called) { | 1904 | if (!called) { |
1904 | called = true; | 1905 | called = true; |
1905 | fn.apply(this, arguments); | 1906 | fn.apply(this, arguments); |
1906 | } | 1907 | } |
1907 | } | 1908 | } |
1908 | } | 1909 | } |
1909 | 1910 | ||
1910 | var ASSET_TYPES = [ | 1911 | var ASSET_TYPES = [ |
1911 | 'component', | 1912 | 'component', |
1912 | 'directive', | 1913 | 'directive', |
1913 | 'filter' | 1914 | 'filter' |
1914 | ]; | 1915 | ]; |
1915 | 1916 | ||
1916 | var LIFECYCLE_HOOKS = [ | 1917 | var LIFECYCLE_HOOKS = [ |
1917 | 'beforeCreate', | 1918 | 'beforeCreate', |
1918 | 'created', | 1919 | 'created', |
1919 | 'beforeMount', | 1920 | 'beforeMount', |
1920 | 'mounted', | 1921 | 'mounted', |
1921 | 'beforeUpdate', | 1922 | 'beforeUpdate', |
1922 | 'updated', | 1923 | 'updated', |
1923 | 'beforeDestroy', | 1924 | 'beforeDestroy', |
1924 | 'destroyed', | 1925 | 'destroyed', |
1925 | 'activated', | 1926 | 'activated', |
1926 | 'deactivated', | 1927 | 'deactivated', |
1927 | 'errorCaptured', | 1928 | 'errorCaptured', |
1928 | 'serverPrefetch' | 1929 | 'serverPrefetch' |
1929 | ]; | 1930 | ]; |
1930 | 1931 | ||
1931 | /* */ | 1932 | /* */ |
1932 | 1933 | ||
1933 | 1934 | ||
1934 | 1935 | ||
1935 | var config = ({ | 1936 | var config = ({ |
1936 | /** | 1937 | /** |
1937 | * Option merge strategies (used in core/util/options) | 1938 | * Option merge strategies (used in core/util/options) |
1938 | */ | 1939 | */ |
1939 | // $flow-disable-line | 1940 | // $flow-disable-line |
1940 | optionMergeStrategies: Object.create(null), | 1941 | optionMergeStrategies: Object.create(null), |
1941 | 1942 | ||
1942 | /** | 1943 | /** |
1943 | * Whether to suppress warnings. | 1944 | * Whether to suppress warnings. |
1944 | */ | 1945 | */ |
1945 | silent: false, | 1946 | silent: false, |
1946 | 1947 | ||
1947 | /** | 1948 | /** |
1948 | * Show production mode tip message on boot? | 1949 | * Show production mode tip message on boot? |
1949 | */ | 1950 | */ |
1950 | productionTip: "development" !== 'production', | 1951 | productionTip: "development" !== 'production', |
1951 | 1952 | ||
1952 | /** | 1953 | /** |
1953 | * Whether to enable devtools | 1954 | * Whether to enable devtools |
1954 | */ | 1955 | */ |
1955 | devtools: "development" !== 'production', | 1956 | devtools: "development" !== 'production', |
1956 | 1957 | ||
1957 | /** | 1958 | /** |
1958 | * Whether to record perf | 1959 | * Whether to record perf |
1959 | */ | 1960 | */ |
1960 | performance: false, | 1961 | performance: false, |
1961 | 1962 | ||
1962 | /** | 1963 | /** |
1963 | * Error handler for watcher errors | 1964 | * Error handler for watcher errors |
1964 | */ | 1965 | */ |
1965 | errorHandler: null, | 1966 | errorHandler: null, |
1966 | 1967 | ||
1967 | /** | 1968 | /** |
1968 | * Warn handler for watcher warns | 1969 | * Warn handler for watcher warns |
1969 | */ | 1970 | */ |
1970 | warnHandler: null, | 1971 | warnHandler: null, |
1971 | 1972 | ||
1972 | /** | 1973 | /** |
1973 | * Ignore certain custom elements | 1974 | * Ignore certain custom elements |
1974 | */ | 1975 | */ |
1975 | ignoredElements: [], | 1976 | ignoredElements: [], |
1976 | 1977 | ||
1977 | /** | 1978 | /** |
1978 | * Custom user key aliases for v-on | 1979 | * Custom user key aliases for v-on |
1979 | */ | 1980 | */ |
1980 | // $flow-disable-line | 1981 | // $flow-disable-line |
1981 | keyCodes: Object.create(null), | 1982 | keyCodes: Object.create(null), |
1982 | 1983 | ||
1983 | /** | 1984 | /** |
1984 | * Check if a tag is reserved so that it cannot be registered as a | 1985 | * Check if a tag is reserved so that it cannot be registered as a |
1985 | * component. This is platform-dependent and may be overwritten. | 1986 | * component. This is platform-dependent and may be overwritten. |
1986 | */ | 1987 | */ |
1987 | isReservedTag: no, | 1988 | isReservedTag: no, |
1988 | 1989 | ||
1989 | /** | 1990 | /** |
1990 | * Check if an attribute is reserved so that it cannot be used as a component | 1991 | * Check if an attribute is reserved so that it cannot be used as a component |
1991 | * prop. This is platform-dependent and may be overwritten. | 1992 | * prop. This is platform-dependent and may be overwritten. |
1992 | */ | 1993 | */ |
1993 | isReservedAttr: no, | 1994 | isReservedAttr: no, |
1994 | 1995 | ||
1995 | /** | 1996 | /** |
1996 | * Check if a tag is an unknown element. | 1997 | * Check if a tag is an unknown element. |
1997 | * Platform-dependent. | 1998 | * Platform-dependent. |
1998 | */ | 1999 | */ |
1999 | isUnknownElement: no, | 2000 | isUnknownElement: no, |
2000 | 2001 | ||
2001 | /** | 2002 | /** |
2002 | * Get the namespace of an element | 2003 | * Get the namespace of an element |
2003 | */ | 2004 | */ |
2004 | getTagNamespace: noop, | 2005 | getTagNamespace: noop, |
2005 | 2006 | ||
2006 | /** | 2007 | /** |
2007 | * Parse the real tag name for the specific platform. | 2008 | * Parse the real tag name for the specific platform. |
2008 | */ | 2009 | */ |
2009 | parsePlatformTagName: identity, | 2010 | parsePlatformTagName: identity, |
2010 | 2011 | ||
2011 | /** | 2012 | /** |
2012 | * Check if an attribute must be bound using property, e.g. value | 2013 | * Check if an attribute must be bound using property, e.g. value |
2013 | * Platform-dependent. | 2014 | * Platform-dependent. |
2014 | */ | 2015 | */ |
2015 | mustUseProp: no, | 2016 | mustUseProp: no, |
2016 | 2017 | ||
2017 | /** | 2018 | /** |
2018 | * Perform updates asynchronously. Intended to be used by Vue Test Utils | 2019 | * Perform updates asynchronously. Intended to be used by Vue Test Utils |
2019 | * This will significantly reduce performance if set to false. | 2020 | * This will significantly reduce performance if set to false. |
2020 | */ | 2021 | */ |
2021 | async: true, | 2022 | async: true, |
2022 | 2023 | ||
2023 | /** | 2024 | /** |
2024 | * Exposed for legacy reasons | 2025 | * Exposed for legacy reasons |
2025 | */ | 2026 | */ |
2026 | _lifecycleHooks: LIFECYCLE_HOOKS | 2027 | _lifecycleHooks: LIFECYCLE_HOOKS |
2027 | }); | 2028 | }); |
2028 | 2029 | ||
2029 | /* */ | 2030 | /* */ |
2030 | 2031 | ||
2031 | /** | 2032 | /** |
2032 | * unicode letters used for parsing html tags, component names and property paths. | 2033 | * unicode letters used for parsing html tags, component names and property paths. |
2033 | * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname | 2034 | * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname |
2034 | * skipping \u10000-\uEFFFF due to it freezing up PhantomJS | 2035 | * skipping \u10000-\uEFFFF due to it freezing up PhantomJS |
2035 | */ | 2036 | */ |
2036 | var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/; | 2037 | var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/; |
2037 | 2038 | ||
2038 | /** | 2039 | /** |
2039 | * Check if a string starts with $ or _ | 2040 | * Check if a string starts with $ or _ |
2040 | */ | 2041 | */ |
2041 | function isReserved (str) { | 2042 | function isReserved (str) { |
2042 | var c = (str + '').charCodeAt(0); | 2043 | var c = (str + '').charCodeAt(0); |
2043 | return c === 0x24 || c === 0x5F | 2044 | return c === 0x24 || c === 0x5F |
2044 | } | 2045 | } |
2045 | 2046 | ||
2046 | /** | 2047 | /** |
2047 | * Define a property. | 2048 | * Define a property. |
2048 | */ | 2049 | */ |
2049 | function def (obj, key, val, enumerable) { | 2050 | function def (obj, key, val, enumerable) { |
2050 | Object.defineProperty(obj, key, { | 2051 | Object.defineProperty(obj, key, { |
2051 | value: val, | 2052 | value: val, |
2052 | enumerable: !!enumerable, | 2053 | enumerable: !!enumerable, |
2053 | writable: true, | 2054 | writable: true, |
2054 | configurable: true | 2055 | configurable: true |
2055 | }); | 2056 | }); |
2056 | } | 2057 | } |
2057 | 2058 | ||
2058 | /** | 2059 | /** |
2059 | * Parse simple path. | 2060 | * Parse simple path. |
2060 | */ | 2061 | */ |
2061 | var bailRE = new RegExp(("[^" + (unicodeRegExp.source) + ".$_\\d]")); | 2062 | var bailRE = new RegExp(("[^" + (unicodeRegExp.source) + ".$_\\d]")); |
2062 | function parsePath (path) { | 2063 | function parsePath (path) { |
2063 | if (bailRE.test(path)) { | 2064 | if (bailRE.test(path)) { |
2064 | return | 2065 | return |
2065 | } | 2066 | } |
2066 | var segments = path.split('.'); | 2067 | var segments = path.split('.'); |
2067 | return function (obj) { | 2068 | return function (obj) { |
2068 | for (var i = 0; i < segments.length; i++) { | 2069 | for (var i = 0; i < segments.length; i++) { |
2069 | if (!obj) { return } | 2070 | if (!obj) { return } |
2070 | obj = obj[segments[i]]; | 2071 | obj = obj[segments[i]]; |
2071 | } | 2072 | } |
2072 | return obj | 2073 | return obj |
2073 | } | 2074 | } |
2074 | } | 2075 | } |
2075 | 2076 | ||
2076 | /* */ | 2077 | /* */ |
2077 | 2078 | ||
2078 | // can we use __proto__? | 2079 | // can we use __proto__? |
2079 | var hasProto = '__proto__' in {}; | 2080 | var hasProto = '__proto__' in {}; |
2080 | 2081 | ||
2081 | // Browser environment sniffing | 2082 | // Browser environment sniffing |
2082 | var inBrowser = typeof window !== 'undefined'; | 2083 | var inBrowser = typeof window !== 'undefined'; |
2083 | var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform; | 2084 | var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform; |
2084 | var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase(); | 2085 | var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase(); |
2085 | var UA = inBrowser && window.navigator.userAgent.toLowerCase(); | 2086 | var UA = inBrowser && window.navigator.userAgent.toLowerCase(); |
2086 | var isIE = UA && /msie|trident/.test(UA); | 2087 | var isIE = UA && /msie|trident/.test(UA); |
2087 | var isIE9 = UA && UA.indexOf('msie 9.0') > 0; | 2088 | var isIE9 = UA && UA.indexOf('msie 9.0') > 0; |
2088 | var isEdge = UA && UA.indexOf('edge/') > 0; | 2089 | var isEdge = UA && UA.indexOf('edge/') > 0; |
2089 | var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android'); | 2090 | var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android'); |
2090 | var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios'); | 2091 | var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios'); |
2091 | var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge; | 2092 | var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge; |
2092 | var isPhantomJS = UA && /phantomjs/.test(UA); | 2093 | var isPhantomJS = UA && /phantomjs/.test(UA); |
2093 | var isFF = UA && UA.match(/firefox\/(\d+)/); | 2094 | var isFF = UA && UA.match(/firefox\/(\d+)/); |
2094 | 2095 | ||
2095 | // Firefox has a "watch" function on Object.prototype... | 2096 | // Firefox has a "watch" function on Object.prototype... |
2096 | var nativeWatch = ({}).watch; | 2097 | var nativeWatch = ({}).watch; |
2097 | if (inBrowser) { | 2098 | if (inBrowser) { |
2098 | try { | 2099 | try { |
2099 | var opts = {}; | 2100 | var opts = {}; |
2100 | Object.defineProperty(opts, 'passive', ({ | 2101 | Object.defineProperty(opts, 'passive', ({ |
2101 | get: function get () { | 2102 | get: function get () { |
2102 | } | 2103 | } |
2103 | })); // https://github.com/facebook/flow/issues/285 | 2104 | })); // https://github.com/facebook/flow/issues/285 |
2104 | window.addEventListener('test-passive', null, opts); | 2105 | window.addEventListener('test-passive', null, opts); |
2105 | } catch (e) {} | 2106 | } catch (e) {} |
2106 | } | 2107 | } |
2107 | 2108 | ||
2108 | // this needs to be lazy-evaled because vue may be required before | 2109 | // this needs to be lazy-evaled because vue may be required before |
2109 | // vue-server-renderer can set VUE_ENV | 2110 | // vue-server-renderer can set VUE_ENV |
2110 | var _isServer; | 2111 | var _isServer; |
2111 | var isServerRendering = function () { | 2112 | var isServerRendering = function () { |
2112 | if (_isServer === undefined) { | 2113 | if (_isServer === undefined) { |
2113 | /* istanbul ignore if */ | 2114 | /* istanbul ignore if */ |
2114 | if (!inBrowser && !inWeex && typeof global !== 'undefined') { | 2115 | if (!inBrowser && !inWeex && typeof global !== 'undefined') { |
2115 | // detect presence of vue-server-renderer and avoid | 2116 | // detect presence of vue-server-renderer and avoid |
2116 | // Webpack shimming the process | 2117 | // Webpack shimming the process |
2117 | _isServer = global['process'] && global['process'].env.VUE_ENV === 'server'; | 2118 | _isServer = global['process'] && global['process'].env.VUE_ENV === 'server'; |
2118 | } else { | 2119 | } else { |
2119 | _isServer = false; | 2120 | _isServer = false; |
2120 | } | 2121 | } |
2121 | } | 2122 | } |
2122 | return _isServer | 2123 | return _isServer |
2123 | }; | 2124 | }; |
2124 | 2125 | ||
2125 | // detect devtools | 2126 | // detect devtools |
2126 | var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; | 2127 | var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; |
2127 | 2128 | ||
2128 | /* istanbul ignore next */ | 2129 | /* istanbul ignore next */ |
2129 | function isNative (Ctor) { | 2130 | function isNative (Ctor) { |
2130 | return typeof Ctor === 'function' && /native code/.test(Ctor.toString()) | 2131 | return typeof Ctor === 'function' && /native code/.test(Ctor.toString()) |
2131 | } | 2132 | } |
2132 | 2133 | ||
2133 | var hasSymbol = | 2134 | var hasSymbol = |
2134 | typeof Symbol !== 'undefined' && isNative(Symbol) && | 2135 | typeof Symbol !== 'undefined' && isNative(Symbol) && |
2135 | typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys); | 2136 | typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys); |
2136 | 2137 | ||
2137 | var _Set; | 2138 | var _Set; |
2138 | /* istanbul ignore if */ // $flow-disable-line | 2139 | /* istanbul ignore if */ // $flow-disable-line |
2139 | if (typeof Set !== 'undefined' && isNative(Set)) { | 2140 | if (typeof Set !== 'undefined' && isNative(Set)) { |
2140 | // use native Set when available. | 2141 | // use native Set when available. |
2141 | _Set = Set; | 2142 | _Set = Set; |
2142 | } else { | 2143 | } else { |
2143 | // a non-standard Set polyfill that only works with primitive keys. | 2144 | // a non-standard Set polyfill that only works with primitive keys. |
2144 | _Set = /*@__PURE__*/(function () { | 2145 | _Set = /*@__PURE__*/(function () { |
2145 | function Set () { | 2146 | function Set () { |
2146 | this.set = Object.create(null); | 2147 | this.set = Object.create(null); |
2147 | } | 2148 | } |
2148 | Set.prototype.has = function has (key) { | 2149 | Set.prototype.has = function has (key) { |
2149 | return this.set[key] === true | 2150 | return this.set[key] === true |
2150 | }; | 2151 | }; |
2151 | Set.prototype.add = function add (key) { | 2152 | Set.prototype.add = function add (key) { |
2152 | this.set[key] = true; | 2153 | this.set[key] = true; |
2153 | }; | 2154 | }; |
2154 | Set.prototype.clear = function clear () { | 2155 | Set.prototype.clear = function clear () { |
2155 | this.set = Object.create(null); | 2156 | this.set = Object.create(null); |
2156 | }; | 2157 | }; |
2157 | 2158 | ||
2158 | return Set; | 2159 | return Set; |
2159 | }()); | 2160 | }()); |
2160 | } | 2161 | } |
2161 | 2162 | ||
2162 | /* */ | 2163 | /* */ |
2163 | 2164 | ||
2164 | var warn = noop; | 2165 | var warn = noop; |
2165 | var tip = noop; | 2166 | var tip = noop; |
2166 | var generateComponentTrace = (noop); // work around flow check | 2167 | var generateComponentTrace = (noop); // work around flow check |
2167 | var formatComponentName = (noop); | 2168 | var formatComponentName = (noop); |
2168 | 2169 | ||
2169 | if (true) { | 2170 | if (true) { |
2170 | var hasConsole = typeof console !== 'undefined'; | 2171 | var hasConsole = typeof console !== 'undefined'; |
2171 | var classifyRE = /(?:^|[-_])(\w)/g; | 2172 | var classifyRE = /(?:^|[-_])(\w)/g; |
2172 | var classify = function (str) { return str | 2173 | var classify = function (str) { return str |
2173 | .replace(classifyRE, function (c) { return c.toUpperCase(); }) | 2174 | .replace(classifyRE, function (c) { return c.toUpperCase(); }) |
2174 | .replace(/[-_]/g, ''); }; | 2175 | .replace(/[-_]/g, ''); }; |
2175 | 2176 | ||
2176 | warn = function (msg, vm) { | 2177 | warn = function (msg, vm) { |
2177 | var trace = vm ? generateComponentTrace(vm) : ''; | 2178 | var trace = vm ? generateComponentTrace(vm) : ''; |
2178 | 2179 | ||
2179 | if (config.warnHandler) { | 2180 | if (config.warnHandler) { |
2180 | config.warnHandler.call(null, msg, vm, trace); | 2181 | config.warnHandler.call(null, msg, vm, trace); |
2181 | } else if (hasConsole && (!config.silent)) { | 2182 | } else if (hasConsole && (!config.silent)) { |
2182 | console.error(("[Vue warn]: " + msg + trace)); | 2183 | console.error(("[Vue warn]: " + msg + trace)); |
2183 | } | 2184 | } |
2184 | }; | 2185 | }; |
2185 | 2186 | ||
2186 | tip = function (msg, vm) { | 2187 | tip = function (msg, vm) { |
2187 | if (hasConsole && (!config.silent)) { | 2188 | if (hasConsole && (!config.silent)) { |
2188 | console.warn("[Vue tip]: " + msg + ( | 2189 | console.warn("[Vue tip]: " + msg + ( |
2189 | vm ? generateComponentTrace(vm) : '' | 2190 | vm ? generateComponentTrace(vm) : '' |
2190 | )); | 2191 | )); |
2191 | } | 2192 | } |
2192 | }; | 2193 | }; |
2193 | 2194 | ||
2194 | formatComponentName = function (vm, includeFile) { | 2195 | formatComponentName = function (vm, includeFile) { |
2195 | { | 2196 | { |
2196 | if(vm.$scope && vm.$scope.is){ | 2197 | if(vm.$scope && vm.$scope.is){ |
2197 | return vm.$scope.is | 2198 | return vm.$scope.is |
2198 | } | 2199 | } |
2199 | } | 2200 | } |
2200 | if (vm.$root === vm) { | 2201 | if (vm.$root === vm) { |
2201 | return '<Root>' | 2202 | return '<Root>' |
2202 | } | 2203 | } |
2203 | var options = typeof vm === 'function' && vm.cid != null | 2204 | var options = typeof vm === 'function' && vm.cid != null |
2204 | ? vm.options | 2205 | ? vm.options |
2205 | : vm._isVue | 2206 | : vm._isVue |
2206 | ? vm.$options || vm.constructor.options | 2207 | ? vm.$options || vm.constructor.options |
2207 | : vm; | 2208 | : vm; |
2208 | var name = options.name || options._componentTag; | 2209 | var name = options.name || options._componentTag; |
2209 | var file = options.__file; | 2210 | var file = options.__file; |
2210 | if (!name && file) { | 2211 | if (!name && file) { |
2211 | var match = file.match(/([^/\\]+)\.vue$/); | 2212 | var match = file.match(/([^/\\]+)\.vue$/); |
2212 | name = match && match[1]; | 2213 | name = match && match[1]; |
2213 | } | 2214 | } |
2214 | 2215 | ||
2215 | return ( | 2216 | return ( |
2216 | (name ? ("<" + (classify(name)) + ">") : "<Anonymous>") + | 2217 | (name ? ("<" + (classify(name)) + ">") : "<Anonymous>") + |
2217 | (file && includeFile !== false ? (" at " + file) : '') | 2218 | (file && includeFile !== false ? (" at " + file) : '') |
2218 | ) | 2219 | ) |
2219 | }; | 2220 | }; |
2220 | 2221 | ||
2221 | var repeat = function (str, n) { | 2222 | var repeat = function (str, n) { |
2222 | var res = ''; | 2223 | var res = ''; |
2223 | while (n) { | 2224 | while (n) { |
2224 | if (n % 2 === 1) { res += str; } | 2225 | if (n % 2 === 1) { res += str; } |
2225 | if (n > 1) { str += str; } | 2226 | if (n > 1) { str += str; } |
2226 | n >>= 1; | 2227 | n >>= 1; |
2227 | } | 2228 | } |
2228 | return res | 2229 | return res |
2229 | }; | 2230 | }; |
2230 | 2231 | ||
2231 | generateComponentTrace = function (vm) { | 2232 | generateComponentTrace = function (vm) { |
2232 | if (vm._isVue && vm.$parent) { | 2233 | if (vm._isVue && vm.$parent) { |
2233 | var tree = []; | 2234 | var tree = []; |
2234 | var currentRecursiveSequence = 0; | 2235 | var currentRecursiveSequence = 0; |
2235 | while (vm) { | 2236 | while (vm) { |
2236 | if (tree.length > 0) { | 2237 | if (tree.length > 0) { |
2237 | var last = tree[tree.length - 1]; | 2238 | var last = tree[tree.length - 1]; |
2238 | if (last.constructor === vm.constructor) { | 2239 | if (last.constructor === vm.constructor) { |
2239 | currentRecursiveSequence++; | 2240 | currentRecursiveSequence++; |
2240 | vm = vm.$parent; | 2241 | vm = vm.$parent; |
2241 | continue | 2242 | continue |
2242 | } else if (currentRecursiveSequence > 0) { | 2243 | } else if (currentRecursiveSequence > 0) { |
2243 | tree[tree.length - 1] = [last, currentRecursiveSequence]; | 2244 | tree[tree.length - 1] = [last, currentRecursiveSequence]; |
2244 | currentRecursiveSequence = 0; | 2245 | currentRecursiveSequence = 0; |
2245 | } | 2246 | } |
2246 | } | 2247 | } |
2247 | tree.push(vm); | 2248 | tree.push(vm); |
2248 | vm = vm.$parent; | 2249 | vm = vm.$parent; |
2249 | } | 2250 | } |
2250 | return '\n\nfound in\n\n' + tree | 2251 | return '\n\nfound in\n\n' + tree |
2251 | .map(function (vm, i) { return ("" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm) | 2252 | .map(function (vm, i) { return ("" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm) |
2252 | ? ((formatComponentName(vm[0])) + "... (" + (vm[1]) + " recursive calls)") | 2253 | ? ((formatComponentName(vm[0])) + "... (" + (vm[1]) + " recursive calls)") |
2253 | : formatComponentName(vm))); }) | 2254 | : formatComponentName(vm))); }) |
2254 | .join('\n') | 2255 | .join('\n') |
2255 | } else { | 2256 | } else { |
2256 | return ("\n\n(found in " + (formatComponentName(vm)) + ")") | 2257 | return ("\n\n(found in " + (formatComponentName(vm)) + ")") |
2257 | } | 2258 | } |
2258 | }; | 2259 | }; |
2259 | } | 2260 | } |
2260 | 2261 | ||
2261 | /* */ | 2262 | /* */ |
2262 | 2263 | ||
2263 | var uid = 0; | 2264 | var uid = 0; |
2264 | 2265 | ||
2265 | /** | 2266 | /** |
2266 | * A dep is an observable that can have multiple | 2267 | * A dep is an observable that can have multiple |
2267 | * directives subscribing to it. | 2268 | * directives subscribing to it. |
2268 | */ | 2269 | */ |
2269 | var Dep = function Dep () { | 2270 | var Dep = function Dep () { |
2270 | // fixed by xxxxxx (nvue vuex) | 2271 | // fixed by xxxxxx (nvue vuex) |
2271 | /* eslint-disable no-undef */ | 2272 | /* eslint-disable no-undef */ |
2272 | if(typeof SharedObject !== 'undefined'){ | 2273 | if(typeof SharedObject !== 'undefined'){ |
2273 | this.id = SharedObject.uid++; | 2274 | this.id = SharedObject.uid++; |
2274 | } else { | 2275 | } else { |
2275 | this.id = uid++; | 2276 | this.id = uid++; |
2276 | } | 2277 | } |
2277 | this.subs = []; | 2278 | this.subs = []; |
2278 | }; | 2279 | }; |
2279 | 2280 | ||
2280 | Dep.prototype.addSub = function addSub (sub) { | 2281 | Dep.prototype.addSub = function addSub (sub) { |
2281 | this.subs.push(sub); | 2282 | this.subs.push(sub); |
2282 | }; | 2283 | }; |
2283 | 2284 | ||
2284 | Dep.prototype.removeSub = function removeSub (sub) { | 2285 | Dep.prototype.removeSub = function removeSub (sub) { |
2285 | remove(this.subs, sub); | 2286 | remove(this.subs, sub); |
2286 | }; | 2287 | }; |
2287 | 2288 | ||
2288 | Dep.prototype.depend = function depend () { | 2289 | Dep.prototype.depend = function depend () { |
2289 | if (Dep.SharedObject.target) { | 2290 | if (Dep.SharedObject.target) { |
2290 | Dep.SharedObject.target.addDep(this); | 2291 | Dep.SharedObject.target.addDep(this); |
2291 | } | 2292 | } |
2292 | }; | 2293 | }; |
2293 | 2294 | ||
2294 | Dep.prototype.notify = function notify () { | 2295 | Dep.prototype.notify = function notify () { |
2295 | // stabilize the subscriber list first | 2296 | // stabilize the subscriber list first |
2296 | var subs = this.subs.slice(); | 2297 | var subs = this.subs.slice(); |
2297 | if ( true && !config.async) { | 2298 | if ( true && !config.async) { |
2298 | // subs aren't sorted in scheduler if not running async | 2299 | // subs aren't sorted in scheduler if not running async |
2299 | // we need to sort them now to make sure they fire in correct | 2300 | // we need to sort them now to make sure they fire in correct |
2300 | // order | 2301 | // order |
2301 | subs.sort(function (a, b) { return a.id - b.id; }); | 2302 | subs.sort(function (a, b) { return a.id - b.id; }); |
2302 | } | 2303 | } |
2303 | for (var i = 0, l = subs.length; i < l; i++) { | 2304 | for (var i = 0, l = subs.length; i < l; i++) { |
2304 | subs[i].update(); | 2305 | subs[i].update(); |
2305 | } | 2306 | } |
2306 | }; | 2307 | }; |
2307 | 2308 | ||
2308 | // The current target watcher being evaluated. | 2309 | // The current target watcher being evaluated. |
2309 | // This is globally unique because only one watcher | 2310 | // This is globally unique because only one watcher |
2310 | // can be evaluated at a time. | 2311 | // can be evaluated at a time. |
2311 | // fixed by xxxxxx (nvue shared vuex) | 2312 | // fixed by xxxxxx (nvue shared vuex) |
2312 | /* eslint-disable no-undef */ | 2313 | /* eslint-disable no-undef */ |
2313 | Dep.SharedObject = typeof SharedObject !== 'undefined' ? SharedObject : {}; | 2314 | Dep.SharedObject = typeof SharedObject !== 'undefined' ? SharedObject : {}; |
2314 | Dep.SharedObject.target = null; | 2315 | Dep.SharedObject.target = null; |
2315 | Dep.SharedObject.targetStack = []; | 2316 | Dep.SharedObject.targetStack = []; |
2316 | 2317 | ||
2317 | function pushTarget (target) { | 2318 | function pushTarget (target) { |
2318 | Dep.SharedObject.targetStack.push(target); | 2319 | Dep.SharedObject.targetStack.push(target); |
2319 | Dep.SharedObject.target = target; | 2320 | Dep.SharedObject.target = target; |
2320 | } | 2321 | } |
2321 | 2322 | ||
2322 | function popTarget () { | 2323 | function popTarget () { |
2323 | Dep.SharedObject.targetStack.pop(); | 2324 | Dep.SharedObject.targetStack.pop(); |
2324 | Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1]; | 2325 | Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1]; |
2325 | } | 2326 | } |
2326 | 2327 | ||
2327 | /* */ | 2328 | /* */ |
2328 | 2329 | ||
2329 | var VNode = function VNode ( | 2330 | var VNode = function VNode ( |
2330 | tag, | 2331 | tag, |
2331 | data, | 2332 | data, |
2332 | children, | 2333 | children, |
2333 | text, | 2334 | text, |
2334 | elm, | 2335 | elm, |
2335 | context, | 2336 | context, |
2336 | componentOptions, | 2337 | componentOptions, |
2337 | asyncFactory | 2338 | asyncFactory |
2338 | ) { | 2339 | ) { |
2339 | this.tag = tag; | 2340 | this.tag = tag; |
2340 | this.data = data; | 2341 | this.data = data; |
2341 | this.children = children; | 2342 | this.children = children; |
2342 | this.text = text; | 2343 | this.text = text; |
2343 | this.elm = elm; | 2344 | this.elm = elm; |
2344 | this.ns = undefined; | 2345 | this.ns = undefined; |
2345 | this.context = context; | 2346 | this.context = context; |
2346 | this.fnContext = undefined; | 2347 | this.fnContext = undefined; |
2347 | this.fnOptions = undefined; | 2348 | this.fnOptions = undefined; |
2348 | this.fnScopeId = undefined; | 2349 | this.fnScopeId = undefined; |
2349 | this.key = data && data.key; | 2350 | this.key = data && data.key; |
2350 | this.componentOptions = componentOptions; | 2351 | this.componentOptions = componentOptions; |
2351 | this.componentInstance = undefined; | 2352 | this.componentInstance = undefined; |
2352 | this.parent = undefined; | 2353 | this.parent = undefined; |
2353 | this.raw = false; | 2354 | this.raw = false; |
2354 | this.isStatic = false; | 2355 | this.isStatic = false; |
2355 | this.isRootInsert = true; | 2356 | this.isRootInsert = true; |
2356 | this.isComment = false; | 2357 | this.isComment = false; |
2357 | this.isCloned = false; | 2358 | this.isCloned = false; |
2358 | this.isOnce = false; | 2359 | this.isOnce = false; |
2359 | this.asyncFactory = asyncFactory; | 2360 | this.asyncFactory = asyncFactory; |
2360 | this.asyncMeta = undefined; | 2361 | this.asyncMeta = undefined; |
2361 | this.isAsyncPlaceholder = false; | 2362 | this.isAsyncPlaceholder = false; |
2362 | }; | 2363 | }; |
2363 | 2364 | ||
2364 | var prototypeAccessors = { child: { configurable: true } }; | 2365 | var prototypeAccessors = { child: { configurable: true } }; |
2365 | 2366 | ||
2366 | // DEPRECATED: alias for componentInstance for backwards compat. | 2367 | // DEPRECATED: alias for componentInstance for backwards compat. |
2367 | /* istanbul ignore next */ | 2368 | /* istanbul ignore next */ |
2368 | prototypeAccessors.child.get = function () { | 2369 | prototypeAccessors.child.get = function () { |
2369 | return this.componentInstance | 2370 | return this.componentInstance |
2370 | }; | 2371 | }; |
2371 | 2372 | ||
2372 | Object.defineProperties( VNode.prototype, prototypeAccessors ); | 2373 | Object.defineProperties( VNode.prototype, prototypeAccessors ); |
2373 | 2374 | ||
2374 | var createEmptyVNode = function (text) { | 2375 | var createEmptyVNode = function (text) { |
2375 | if ( text === void 0 ) text = ''; | 2376 | if ( text === void 0 ) text = ''; |
2376 | 2377 | ||
2377 | var node = new VNode(); | 2378 | var node = new VNode(); |
2378 | node.text = text; | 2379 | node.text = text; |
2379 | node.isComment = true; | 2380 | node.isComment = true; |
2380 | return node | 2381 | return node |
2381 | }; | 2382 | }; |
2382 | 2383 | ||
2383 | function createTextVNode (val) { | 2384 | function createTextVNode (val) { |
2384 | return new VNode(undefined, undefined, undefined, String(val)) | 2385 | return new VNode(undefined, undefined, undefined, String(val)) |
2385 | } | 2386 | } |
2386 | 2387 | ||
2387 | // optimized shallow clone | 2388 | // optimized shallow clone |
2388 | // used for static nodes and slot nodes because they may be reused across | 2389 | // used for static nodes and slot nodes because they may be reused across |
2389 | // multiple renders, cloning them avoids errors when DOM manipulations rely | 2390 | // multiple renders, cloning them avoids errors when DOM manipulations rely |
2390 | // on their elm reference. | 2391 | // on their elm reference. |
2391 | function cloneVNode (vnode) { | 2392 | function cloneVNode (vnode) { |
2392 | var cloned = new VNode( | 2393 | var cloned = new VNode( |
2393 | vnode.tag, | 2394 | vnode.tag, |
2394 | vnode.data, | 2395 | vnode.data, |
2395 | // #7975 | 2396 | // #7975 |
2396 | // clone children array to avoid mutating original in case of cloning | 2397 | // clone children array to avoid mutating original in case of cloning |
2397 | // a child. | 2398 | // a child. |
2398 | vnode.children && vnode.children.slice(), | 2399 | vnode.children && vnode.children.slice(), |
2399 | vnode.text, | 2400 | vnode.text, |
2400 | vnode.elm, | 2401 | vnode.elm, |
2401 | vnode.context, | 2402 | vnode.context, |
2402 | vnode.componentOptions, | 2403 | vnode.componentOptions, |
2403 | vnode.asyncFactory | 2404 | vnode.asyncFactory |
2404 | ); | 2405 | ); |
2405 | cloned.ns = vnode.ns; | 2406 | cloned.ns = vnode.ns; |
2406 | cloned.isStatic = vnode.isStatic; | 2407 | cloned.isStatic = vnode.isStatic; |
2407 | cloned.key = vnode.key; | 2408 | cloned.key = vnode.key; |
2408 | cloned.isComment = vnode.isComment; | 2409 | cloned.isComment = vnode.isComment; |
2409 | cloned.fnContext = vnode.fnContext; | 2410 | cloned.fnContext = vnode.fnContext; |
2410 | cloned.fnOptions = vnode.fnOptions; | 2411 | cloned.fnOptions = vnode.fnOptions; |
2411 | cloned.fnScopeId = vnode.fnScopeId; | 2412 | cloned.fnScopeId = vnode.fnScopeId; |
2412 | cloned.asyncMeta = vnode.asyncMeta; | 2413 | cloned.asyncMeta = vnode.asyncMeta; |
2413 | cloned.isCloned = true; | 2414 | cloned.isCloned = true; |
2414 | return cloned | 2415 | return cloned |
2415 | } | 2416 | } |
2416 | 2417 | ||
2417 | /* | 2418 | /* |
2418 | * not type checking this file because flow doesn't play well with | 2419 | * not type checking this file because flow doesn't play well with |
2419 | * dynamically accessing methods on Array prototype | 2420 | * dynamically accessing methods on Array prototype |
2420 | */ | 2421 | */ |
2421 | 2422 | ||
2422 | var arrayProto = Array.prototype; | 2423 | var arrayProto = Array.prototype; |
2423 | var arrayMethods = Object.create(arrayProto); | 2424 | var arrayMethods = Object.create(arrayProto); |
2424 | 2425 | ||
2425 | var methodsToPatch = [ | 2426 | var methodsToPatch = [ |
2426 | 'push', | 2427 | 'push', |
2427 | 'pop', | 2428 | 'pop', |
2428 | 'shift', | 2429 | 'shift', |
2429 | 'unshift', | 2430 | 'unshift', |
2430 | 'splice', | 2431 | 'splice', |
2431 | 'sort', | 2432 | 'sort', |
2432 | 'reverse' | 2433 | 'reverse' |
2433 | ]; | 2434 | ]; |
2434 | 2435 | ||
2435 | /** | 2436 | /** |
2436 | * Intercept mutating methods and emit events | 2437 | * Intercept mutating methods and emit events |
2437 | */ | 2438 | */ |
2438 | methodsToPatch.forEach(function (method) { | 2439 | methodsToPatch.forEach(function (method) { |
2439 | // cache original method | 2440 | // cache original method |
2440 | var original = arrayProto[method]; | 2441 | var original = arrayProto[method]; |
2441 | def(arrayMethods, method, function mutator () { | 2442 | def(arrayMethods, method, function mutator () { |
2442 | var args = [], len = arguments.length; | 2443 | var args = [], len = arguments.length; |
2443 | while ( len-- ) args[ len ] = arguments[ len ]; | 2444 | while ( len-- ) args[ len ] = arguments[ len ]; |
2444 | 2445 | ||
2445 | var result = original.apply(this, args); | 2446 | var result = original.apply(this, args); |
2446 | var ob = this.__ob__; | 2447 | var ob = this.__ob__; |
2447 | var inserted; | 2448 | var inserted; |
2448 | switch (method) { | 2449 | switch (method) { |
2449 | case 'push': | 2450 | case 'push': |
2450 | case 'unshift': | 2451 | case 'unshift': |
2451 | inserted = args; | 2452 | inserted = args; |
2452 | break | 2453 | break |
2453 | case 'splice': | 2454 | case 'splice': |
2454 | inserted = args.slice(2); | 2455 | inserted = args.slice(2); |
2455 | break | 2456 | break |
2456 | } | 2457 | } |
2457 | if (inserted) { ob.observeArray(inserted); } | 2458 | if (inserted) { ob.observeArray(inserted); } |
2458 | // notify change | 2459 | // notify change |
2459 | ob.dep.notify(); | 2460 | ob.dep.notify(); |
2460 | return result | 2461 | return result |
2461 | }); | 2462 | }); |
2462 | }); | 2463 | }); |
2463 | 2464 | ||
2464 | /* */ | 2465 | /* */ |
2465 | 2466 | ||
2466 | var arrayKeys = Object.getOwnPropertyNames(arrayMethods); | 2467 | var arrayKeys = Object.getOwnPropertyNames(arrayMethods); |
2467 | 2468 | ||
2468 | /** | 2469 | /** |
2469 | * In some cases we may want to disable observation inside a component's | 2470 | * In some cases we may want to disable observation inside a component's |
2470 | * update computation. | 2471 | * update computation. |
2471 | */ | 2472 | */ |
2472 | var shouldObserve = true; | 2473 | var shouldObserve = true; |
2473 | 2474 | ||
2474 | function toggleObserving (value) { | 2475 | function toggleObserving (value) { |
2475 | shouldObserve = value; | 2476 | shouldObserve = value; |
2476 | } | 2477 | } |
2477 | 2478 | ||
2478 | /** | 2479 | /** |
2479 | * Observer class that is attached to each observed | 2480 | * Observer class that is attached to each observed |
2480 | * object. Once attached, the observer converts the target | 2481 | * object. Once attached, the observer converts the target |
2481 | * object's property keys into getter/setters that | 2482 | * object's property keys into getter/setters that |
2482 | * collect dependencies and dispatch updates. | 2483 | * collect dependencies and dispatch updates. |
2483 | */ | 2484 | */ |
2484 | var Observer = function Observer (value) { | 2485 | var Observer = function Observer (value) { |
2485 | this.value = value; | 2486 | this.value = value; |
2486 | this.dep = new Dep(); | 2487 | this.dep = new Dep(); |
2487 | this.vmCount = 0; | 2488 | this.vmCount = 0; |
2488 | def(value, '__ob__', this); | 2489 | def(value, '__ob__', this); |
2489 | if (Array.isArray(value)) { | 2490 | if (Array.isArray(value)) { |
2490 | if (hasProto) { | 2491 | if (hasProto) { |
2491 | {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑 | 2492 | {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑 |
2492 | if(value.push !== value.__proto__.push){ | 2493 | if(value.push !== value.__proto__.push){ |
2493 | copyAugment(value, arrayMethods, arrayKeys); | 2494 | copyAugment(value, arrayMethods, arrayKeys); |
2494 | } else { | 2495 | } else { |
2495 | protoAugment(value, arrayMethods); | 2496 | protoAugment(value, arrayMethods); |
2496 | } | 2497 | } |
2497 | } | 2498 | } |
2498 | } else { | 2499 | } else { |
2499 | copyAugment(value, arrayMethods, arrayKeys); | 2500 | copyAugment(value, arrayMethods, arrayKeys); |
2500 | } | 2501 | } |
2501 | this.observeArray(value); | 2502 | this.observeArray(value); |
2502 | } else { | 2503 | } else { |
2503 | this.walk(value); | 2504 | this.walk(value); |
2504 | } | 2505 | } |
2505 | }; | 2506 | }; |
2506 | 2507 | ||
2507 | /** | 2508 | /** |
2508 | * Walk through all properties and convert them into | 2509 | * Walk through all properties and convert them into |
2509 | * getter/setters. This method should only be called when | 2510 | * getter/setters. This method should only be called when |
2510 | * value type is Object. | 2511 | * value type is Object. |
2511 | */ | 2512 | */ |
2512 | Observer.prototype.walk = function walk (obj) { | 2513 | Observer.prototype.walk = function walk (obj) { |
2513 | var keys = Object.keys(obj); | 2514 | var keys = Object.keys(obj); |
2514 | for (var i = 0; i < keys.length; i++) { | 2515 | for (var i = 0; i < keys.length; i++) { |
2515 | defineReactive$$1(obj, keys[i]); | 2516 | defineReactive$$1(obj, keys[i]); |
2516 | } | 2517 | } |
2517 | }; | 2518 | }; |
2518 | 2519 | ||
2519 | /** | 2520 | /** |
2520 | * Observe a list of Array items. | 2521 | * Observe a list of Array items. |
2521 | */ | 2522 | */ |
2522 | Observer.prototype.observeArray = function observeArray (items) { | 2523 | Observer.prototype.observeArray = function observeArray (items) { |
2523 | for (var i = 0, l = items.length; i < l; i++) { | 2524 | for (var i = 0, l = items.length; i < l; i++) { |
2524 | observe(items[i]); | 2525 | observe(items[i]); |
2525 | } | 2526 | } |
2526 | }; | 2527 | }; |
2527 | 2528 | ||
2528 | // helpers | 2529 | // helpers |
2529 | 2530 | ||
2530 | /** | 2531 | /** |
2531 | * Augment a target Object or Array by intercepting | 2532 | * Augment a target Object or Array by intercepting |
2532 | * the prototype chain using __proto__ | 2533 | * the prototype chain using __proto__ |
2533 | */ | 2534 | */ |
2534 | function protoAugment (target, src) { | 2535 | function protoAugment (target, src) { |
2535 | /* eslint-disable no-proto */ | 2536 | /* eslint-disable no-proto */ |
2536 | target.__proto__ = src; | 2537 | target.__proto__ = src; |
2537 | /* eslint-enable no-proto */ | 2538 | /* eslint-enable no-proto */ |
2538 | } | 2539 | } |
2539 | 2540 | ||
2540 | /** | 2541 | /** |
2541 | * Augment a target Object or Array by defining | 2542 | * Augment a target Object or Array by defining |
2542 | * hidden properties. | 2543 | * hidden properties. |
2543 | */ | 2544 | */ |
2544 | /* istanbul ignore next */ | 2545 | /* istanbul ignore next */ |
2545 | function copyAugment (target, src, keys) { | 2546 | function copyAugment (target, src, keys) { |
2546 | for (var i = 0, l = keys.length; i < l; i++) { | 2547 | for (var i = 0, l = keys.length; i < l; i++) { |
2547 | var key = keys[i]; | 2548 | var key = keys[i]; |
2548 | def(target, key, src[key]); | 2549 | def(target, key, src[key]); |
2549 | } | 2550 | } |
2550 | } | 2551 | } |
2551 | 2552 | ||
2552 | /** | 2553 | /** |
2553 | * Attempt to create an observer instance for a value, | 2554 | * Attempt to create an observer instance for a value, |
2554 | * returns the new observer if successfully observed, | 2555 | * returns the new observer if successfully observed, |
2555 | * or the existing observer if the value already has one. | 2556 | * or the existing observer if the value already has one. |
2556 | */ | 2557 | */ |
2557 | function observe (value, asRootData) { | 2558 | function observe (value, asRootData) { |
2558 | if (!isObject(value) || value instanceof VNode) { | 2559 | if (!isObject(value) || value instanceof VNode) { |
2559 | return | 2560 | return |
2560 | } | 2561 | } |
2561 | var ob; | 2562 | var ob; |
2562 | if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) { | 2563 | if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) { |
2563 | ob = value.__ob__; | 2564 | ob = value.__ob__; |
2564 | } else if ( | 2565 | } else if ( |
2565 | shouldObserve && | 2566 | shouldObserve && |
2566 | !isServerRendering() && | 2567 | !isServerRendering() && |
2567 | (Array.isArray(value) || isPlainObject(value)) && | 2568 | (Array.isArray(value) || isPlainObject(value)) && |
2568 | Object.isExtensible(value) && | 2569 | Object.isExtensible(value) && |
2569 | !value._isVue | 2570 | !value._isVue |
2570 | ) { | 2571 | ) { |
2571 | ob = new Observer(value); | 2572 | ob = new Observer(value); |
2572 | } | 2573 | } |
2573 | if (asRootData && ob) { | 2574 | if (asRootData && ob) { |
2574 | ob.vmCount++; | 2575 | ob.vmCount++; |
2575 | } | 2576 | } |
2576 | return ob | 2577 | return ob |
2577 | } | 2578 | } |
2578 | 2579 | ||
2579 | /** | 2580 | /** |
2580 | * Define a reactive property on an Object. | 2581 | * Define a reactive property on an Object. |
2581 | */ | 2582 | */ |
2582 | function defineReactive$$1 ( | 2583 | function defineReactive$$1 ( |
2583 | obj, | 2584 | obj, |
2584 | key, | 2585 | key, |
2585 | val, | 2586 | val, |
2586 | customSetter, | 2587 | customSetter, |
2587 | shallow | 2588 | shallow |
2588 | ) { | 2589 | ) { |
2589 | var dep = new Dep(); | 2590 | var dep = new Dep(); |
2590 | 2591 | ||
2591 | var property = Object.getOwnPropertyDescriptor(obj, key); | 2592 | var property = Object.getOwnPropertyDescriptor(obj, key); |
2592 | if (property && property.configurable === false) { | 2593 | if (property && property.configurable === false) { |
2593 | return | 2594 | return |
2594 | } | 2595 | } |
2595 | 2596 | ||
2596 | // cater for pre-defined getter/setters | 2597 | // cater for pre-defined getter/setters |
2597 | var getter = property && property.get; | 2598 | var getter = property && property.get; |
2598 | var setter = property && property.set; | 2599 | var setter = property && property.set; |
2599 | if ((!getter || setter) && arguments.length === 2) { | 2600 | if ((!getter || setter) && arguments.length === 2) { |
2600 | val = obj[key]; | 2601 | val = obj[key]; |
2601 | } | 2602 | } |
2602 | 2603 | ||
2603 | var childOb = !shallow && observe(val); | 2604 | var childOb = !shallow && observe(val); |
2604 | Object.defineProperty(obj, key, { | 2605 | Object.defineProperty(obj, key, { |
2605 | enumerable: true, | 2606 | enumerable: true, |
2606 | configurable: true, | 2607 | configurable: true, |
2607 | get: function reactiveGetter () { | 2608 | get: function reactiveGetter () { |
2608 | var value = getter ? getter.call(obj) : val; | 2609 | var value = getter ? getter.call(obj) : val; |
2609 | if (Dep.SharedObject.target) { // fixed by xxxxxx | 2610 | if (Dep.SharedObject.target) { // fixed by xxxxxx |
2610 | dep.depend(); | 2611 | dep.depend(); |
2611 | if (childOb) { | 2612 | if (childOb) { |
2612 | childOb.dep.depend(); | 2613 | childOb.dep.depend(); |
2613 | if (Array.isArray(value)) { | 2614 | if (Array.isArray(value)) { |
2614 | dependArray(value); | 2615 | dependArray(value); |
2615 | } | 2616 | } |
2616 | } | 2617 | } |
2617 | } | 2618 | } |
2618 | return value | 2619 | return value |
2619 | }, | 2620 | }, |
2620 | set: function reactiveSetter (newVal) { | 2621 | set: function reactiveSetter (newVal) { |
2621 | var value = getter ? getter.call(obj) : val; | 2622 | var value = getter ? getter.call(obj) : val; |
2622 | /* eslint-disable no-self-compare */ | 2623 | /* eslint-disable no-self-compare */ |
2623 | if (newVal === value || (newVal !== newVal && value !== value)) { | 2624 | if (newVal === value || (newVal !== newVal && value !== value)) { |
2624 | return | 2625 | return |
2625 | } | 2626 | } |
2626 | /* eslint-enable no-self-compare */ | 2627 | /* eslint-enable no-self-compare */ |
2627 | if ( true && customSetter) { | 2628 | if ( true && customSetter) { |
2628 | customSetter(); | 2629 | customSetter(); |
2629 | } | 2630 | } |
2630 | // #7981: for accessor properties without setter | 2631 | // #7981: for accessor properties without setter |
2631 | if (getter && !setter) { return } | 2632 | if (getter && !setter) { return } |
2632 | if (setter) { | 2633 | if (setter) { |
2633 | setter.call(obj, newVal); | 2634 | setter.call(obj, newVal); |
2634 | } else { | 2635 | } else { |
2635 | val = newVal; | 2636 | val = newVal; |
2636 | } | 2637 | } |
2637 | childOb = !shallow && observe(newVal); | 2638 | childOb = !shallow && observe(newVal); |
2638 | dep.notify(); | 2639 | dep.notify(); |
2639 | } | 2640 | } |
2640 | }); | 2641 | }); |
2641 | } | 2642 | } |
2642 | 2643 | ||
2643 | /** | 2644 | /** |
2644 | * Set a property on an object. Adds the new property and | 2645 | * Set a property on an object. Adds the new property and |
2645 | * triggers change notification if the property doesn't | 2646 | * triggers change notification if the property doesn't |
2646 | * already exist. | 2647 | * already exist. |
2647 | */ | 2648 | */ |
2648 | function set (target, key, val) { | 2649 | function set (target, key, val) { |
2649 | if ( true && | 2650 | if ( true && |
2650 | (isUndef(target) || isPrimitive(target)) | 2651 | (isUndef(target) || isPrimitive(target)) |
2651 | ) { | 2652 | ) { |
2652 | warn(("Cannot set reactive property on undefined, null, or primitive value: " + ((target)))); | 2653 | warn(("Cannot set reactive property on undefined, null, or primitive value: " + ((target)))); |
2653 | } | 2654 | } |
2654 | if (Array.isArray(target) && isValidArrayIndex(key)) { | 2655 | if (Array.isArray(target) && isValidArrayIndex(key)) { |
2655 | target.length = Math.max(target.length, key); | 2656 | target.length = Math.max(target.length, key); |
2656 | target.splice(key, 1, val); | 2657 | target.splice(key, 1, val); |
2657 | return val | 2658 | return val |
2658 | } | 2659 | } |
2659 | if (key in target && !(key in Object.prototype)) { | 2660 | if (key in target && !(key in Object.prototype)) { |
2660 | target[key] = val; | 2661 | target[key] = val; |
2661 | return val | 2662 | return val |
2662 | } | 2663 | } |
2663 | var ob = (target).__ob__; | 2664 | var ob = (target).__ob__; |
2664 | if (target._isVue || (ob && ob.vmCount)) { | 2665 | if (target._isVue || (ob && ob.vmCount)) { |
2665 | true && warn( | 2666 | true && warn( |
2666 | 'Avoid adding reactive properties to a Vue instance or its root $data ' + | 2667 | 'Avoid adding reactive properties to a Vue instance or its root $data ' + |
2667 | 'at runtime - declare it upfront in the data option.' | 2668 | 'at runtime - declare it upfront in the data option.' |
2668 | ); | 2669 | ); |
2669 | return val | 2670 | return val |
2670 | } | 2671 | } |
2671 | if (!ob) { | 2672 | if (!ob) { |
2672 | target[key] = val; | 2673 | target[key] = val; |
2673 | return val | 2674 | return val |
2674 | } | 2675 | } |
2675 | defineReactive$$1(ob.value, key, val); | 2676 | defineReactive$$1(ob.value, key, val); |
2676 | ob.dep.notify(); | 2677 | ob.dep.notify(); |
2677 | return val | 2678 | return val |
2678 | } | 2679 | } |
2679 | 2680 | ||
2680 | /** | 2681 | /** |
2681 | * Delete a property and trigger change if necessary. | 2682 | * Delete a property and trigger change if necessary. |
2682 | */ | 2683 | */ |
2683 | function del (target, key) { | 2684 | function del (target, key) { |
2684 | if ( true && | 2685 | if ( true && |
2685 | (isUndef(target) || isPrimitive(target)) | 2686 | (isUndef(target) || isPrimitive(target)) |
2686 | ) { | 2687 | ) { |
2687 | warn(("Cannot delete reactive property on undefined, null, or primitive value: " + ((target)))); | 2688 | warn(("Cannot delete reactive property on undefined, null, or primitive value: " + ((target)))); |
2688 | } | 2689 | } |
2689 | if (Array.isArray(target) && isValidArrayIndex(key)) { | 2690 | if (Array.isArray(target) && isValidArrayIndex(key)) { |
2690 | target.splice(key, 1); | 2691 | target.splice(key, 1); |
2691 | return | 2692 | return |
2692 | } | 2693 | } |
2693 | var ob = (target).__ob__; | 2694 | var ob = (target).__ob__; |
2694 | if (target._isVue || (ob && ob.vmCount)) { | 2695 | if (target._isVue || (ob && ob.vmCount)) { |
2695 | true && warn( | 2696 | true && warn( |
2696 | 'Avoid deleting properties on a Vue instance or its root $data ' + | 2697 | 'Avoid deleting properties on a Vue instance or its root $data ' + |
2697 | '- just set it to null.' | 2698 | '- just set it to null.' |
2698 | ); | 2699 | ); |
2699 | return | 2700 | return |
2700 | } | 2701 | } |
2701 | if (!hasOwn(target, key)) { | 2702 | if (!hasOwn(target, key)) { |
2702 | return | 2703 | return |
2703 | } | 2704 | } |
2704 | delete target[key]; | 2705 | delete target[key]; |
2705 | if (!ob) { | 2706 | if (!ob) { |
2706 | return | 2707 | return |
2707 | } | 2708 | } |
2708 | ob.dep.notify(); | 2709 | ob.dep.notify(); |
2709 | } | 2710 | } |
2710 | 2711 | ||
2711 | /** | 2712 | /** |
2712 | * Collect dependencies on array elements when the array is touched, since | 2713 | * Collect dependencies on array elements when the array is touched, since |
2713 | * we cannot intercept array element access like property getters. | 2714 | * we cannot intercept array element access like property getters. |
2714 | */ | 2715 | */ |
2715 | function dependArray (value) { | 2716 | function dependArray (value) { |
2716 | for (var e = (void 0), i = 0, l = value.length; i < l; i++) { | 2717 | for (var e = (void 0), i = 0, l = value.length; i < l; i++) { |
2717 | e = value[i]; | 2718 | e = value[i]; |
2718 | e && e.__ob__ && e.__ob__.dep.depend(); | 2719 | e && e.__ob__ && e.__ob__.dep.depend(); |
2719 | if (Array.isArray(e)) { | 2720 | if (Array.isArray(e)) { |
2720 | dependArray(e); | 2721 | dependArray(e); |
2721 | } | 2722 | } |
2722 | } | 2723 | } |
2723 | } | 2724 | } |
2724 | 2725 | ||
2725 | /* */ | 2726 | /* */ |
2726 | 2727 | ||
2727 | /** | 2728 | /** |
2728 | * Option overwriting strategies are functions that handle | 2729 | * Option overwriting strategies are functions that handle |
2729 | * how to merge a parent option value and a child option | 2730 | * how to merge a parent option value and a child option |
2730 | * value into the final value. | 2731 | * value into the final value. |
2731 | */ | 2732 | */ |
2732 | var strats = config.optionMergeStrategies; | 2733 | var strats = config.optionMergeStrategies; |
2733 | 2734 | ||
2734 | /** | 2735 | /** |
2735 | * Options with restrictions | 2736 | * Options with restrictions |
2736 | */ | 2737 | */ |
2737 | if (true) { | 2738 | if (true) { |
2738 | strats.el = strats.propsData = function (parent, child, vm, key) { | 2739 | strats.el = strats.propsData = function (parent, child, vm, key) { |
2739 | if (!vm) { | 2740 | if (!vm) { |
2740 | warn( | 2741 | warn( |
2741 | "option \"" + key + "\" can only be used during instance " + | 2742 | "option \"" + key + "\" can only be used during instance " + |
2742 | 'creation with the `new` keyword.' | 2743 | 'creation with the `new` keyword.' |
2743 | ); | 2744 | ); |
2744 | } | 2745 | } |
2745 | return defaultStrat(parent, child) | 2746 | return defaultStrat(parent, child) |
2746 | }; | 2747 | }; |
2747 | } | 2748 | } |
2748 | 2749 | ||
2749 | /** | 2750 | /** |
2750 | * Helper that recursively merges two data objects together. | 2751 | * Helper that recursively merges two data objects together. |
2751 | */ | 2752 | */ |
2752 | function mergeData (to, from) { | 2753 | function mergeData (to, from) { |
2753 | if (!from) { return to } | 2754 | if (!from) { return to } |
2754 | var key, toVal, fromVal; | 2755 | var key, toVal, fromVal; |
2755 | 2756 | ||
2756 | var keys = hasSymbol | 2757 | var keys = hasSymbol |
2757 | ? Reflect.ownKeys(from) | 2758 | ? Reflect.ownKeys(from) |
2758 | : Object.keys(from); | 2759 | : Object.keys(from); |
2759 | 2760 | ||
2760 | for (var i = 0; i < keys.length; i++) { | 2761 | for (var i = 0; i < keys.length; i++) { |
2761 | key = keys[i]; | 2762 | key = keys[i]; |
2762 | // in case the object is already observed... | 2763 | // in case the object is already observed... |
2763 | if (key === '__ob__') { continue } | 2764 | if (key === '__ob__') { continue } |
2764 | toVal = to[key]; | 2765 | toVal = to[key]; |
2765 | fromVal = from[key]; | 2766 | fromVal = from[key]; |
2766 | if (!hasOwn(to, key)) { | 2767 | if (!hasOwn(to, key)) { |
2767 | set(to, key, fromVal); | 2768 | set(to, key, fromVal); |
2768 | } else if ( | 2769 | } else if ( |
2769 | toVal !== fromVal && | 2770 | toVal !== fromVal && |
2770 | isPlainObject(toVal) && | 2771 | isPlainObject(toVal) && |
2771 | isPlainObject(fromVal) | 2772 | isPlainObject(fromVal) |
2772 | ) { | 2773 | ) { |
2773 | mergeData(toVal, fromVal); | 2774 | mergeData(toVal, fromVal); |
2774 | } | 2775 | } |
2775 | } | 2776 | } |
2776 | return to | 2777 | return to |
2777 | } | 2778 | } |
2778 | 2779 | ||
2779 | /** | 2780 | /** |
2780 | * Data | 2781 | * Data |
2781 | */ | 2782 | */ |
2782 | function mergeDataOrFn ( | 2783 | function mergeDataOrFn ( |
2783 | parentVal, | 2784 | parentVal, |
2784 | childVal, | 2785 | childVal, |
2785 | vm | 2786 | vm |
2786 | ) { | 2787 | ) { |
2787 | if (!vm) { | 2788 | if (!vm) { |
2788 | // in a Vue.extend merge, both should be functions | 2789 | // in a Vue.extend merge, both should be functions |
2789 | if (!childVal) { | 2790 | if (!childVal) { |
2790 | return parentVal | 2791 | return parentVal |
2791 | } | 2792 | } |
2792 | if (!parentVal) { | 2793 | if (!parentVal) { |
2793 | return childVal | 2794 | return childVal |
2794 | } | 2795 | } |
2795 | // when parentVal & childVal are both present, | 2796 | // when parentVal & childVal are both present, |
2796 | // we need to return a function that returns the | 2797 | // we need to return a function that returns the |
2797 | // merged result of both functions... no need to | 2798 | // merged result of both functions... no need to |
2798 | // check if parentVal is a function here because | 2799 | // check if parentVal is a function here because |
2799 | // it has to be a function to pass previous merges. | 2800 | // it has to be a function to pass previous merges. |
2800 | return function mergedDataFn () { | 2801 | return function mergedDataFn () { |
2801 | return mergeData( | 2802 | return mergeData( |
2802 | typeof childVal === 'function' ? childVal.call(this, this) : childVal, | 2803 | typeof childVal === 'function' ? childVal.call(this, this) : childVal, |
2803 | typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal | 2804 | typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal |
2804 | ) | 2805 | ) |
2805 | } | 2806 | } |
2806 | } else { | 2807 | } else { |
2807 | return function mergedInstanceDataFn () { | 2808 | return function mergedInstanceDataFn () { |
2808 | // instance merge | 2809 | // instance merge |
2809 | var instanceData = typeof childVal === 'function' | 2810 | var instanceData = typeof childVal === 'function' |
2810 | ? childVal.call(vm, vm) | 2811 | ? childVal.call(vm, vm) |
2811 | : childVal; | 2812 | : childVal; |
2812 | var defaultData = typeof parentVal === 'function' | 2813 | var defaultData = typeof parentVal === 'function' |
2813 | ? parentVal.call(vm, vm) | 2814 | ? parentVal.call(vm, vm) |
2814 | : parentVal; | 2815 | : parentVal; |
2815 | if (instanceData) { | 2816 | if (instanceData) { |
2816 | return mergeData(instanceData, defaultData) | 2817 | return mergeData(instanceData, defaultData) |
2817 | } else { | 2818 | } else { |
2818 | return defaultData | 2819 | return defaultData |
2819 | } | 2820 | } |
2820 | } | 2821 | } |
2821 | } | 2822 | } |
2822 | } | 2823 | } |
2823 | 2824 | ||
2824 | strats.data = function ( | 2825 | strats.data = function ( |
2825 | parentVal, | 2826 | parentVal, |
2826 | childVal, | 2827 | childVal, |
2827 | vm | 2828 | vm |
2828 | ) { | 2829 | ) { |
2829 | if (!vm) { | 2830 | if (!vm) { |
2830 | if (childVal && typeof childVal !== 'function') { | 2831 | if (childVal && typeof childVal !== 'function') { |
2831 | true && warn( | 2832 | true && warn( |
2832 | 'The "data" option should be a function ' + | 2833 | 'The "data" option should be a function ' + |
2833 | 'that returns a per-instance value in component ' + | 2834 | 'that returns a per-instance value in component ' + |
2834 | 'definitions.', | 2835 | 'definitions.', |
2835 | vm | 2836 | vm |
2836 | ); | 2837 | ); |
2837 | 2838 | ||
2838 | return parentVal | 2839 | return parentVal |
2839 | } | 2840 | } |
2840 | return mergeDataOrFn(parentVal, childVal) | 2841 | return mergeDataOrFn(parentVal, childVal) |
2841 | } | 2842 | } |
2842 | 2843 | ||
2843 | return mergeDataOrFn(parentVal, childVal, vm) | 2844 | return mergeDataOrFn(parentVal, childVal, vm) |
2844 | }; | 2845 | }; |
2845 | 2846 | ||
2846 | /** | 2847 | /** |
2847 | * Hooks and props are merged as arrays. | 2848 | * Hooks and props are merged as arrays. |
2848 | */ | 2849 | */ |
2849 | function mergeHook ( | 2850 | function mergeHook ( |
2850 | parentVal, | 2851 | parentVal, |
2851 | childVal | 2852 | childVal |
2852 | ) { | 2853 | ) { |
2853 | var res = childVal | 2854 | var res = childVal |
2854 | ? parentVal | 2855 | ? parentVal |
2855 | ? parentVal.concat(childVal) | 2856 | ? parentVal.concat(childVal) |
2856 | : Array.isArray(childVal) | 2857 | : Array.isArray(childVal) |
2857 | ? childVal | 2858 | ? childVal |
2858 | : [childVal] | 2859 | : [childVal] |
2859 | : parentVal; | 2860 | : parentVal; |
2860 | return res | 2861 | return res |
2861 | ? dedupeHooks(res) | 2862 | ? dedupeHooks(res) |
2862 | : res | 2863 | : res |
2863 | } | 2864 | } |
2864 | 2865 | ||
2865 | function dedupeHooks (hooks) { | 2866 | function dedupeHooks (hooks) { |
2866 | var res = []; | 2867 | var res = []; |
2867 | for (var i = 0; i < hooks.length; i++) { | 2868 | for (var i = 0; i < hooks.length; i++) { |
2868 | if (res.indexOf(hooks[i]) === -1) { | 2869 | if (res.indexOf(hooks[i]) === -1) { |
2869 | res.push(hooks[i]); | 2870 | res.push(hooks[i]); |
2870 | } | 2871 | } |
2871 | } | 2872 | } |
2872 | return res | 2873 | return res |
2873 | } | 2874 | } |
2874 | 2875 | ||
2875 | LIFECYCLE_HOOKS.forEach(function (hook) { | 2876 | LIFECYCLE_HOOKS.forEach(function (hook) { |
2876 | strats[hook] = mergeHook; | 2877 | strats[hook] = mergeHook; |
2877 | }); | 2878 | }); |
2878 | 2879 | ||
2879 | /** | 2880 | /** |
2880 | * Assets | 2881 | * Assets |
2881 | * | 2882 | * |
2882 | * When a vm is present (instance creation), we need to do | 2883 | * When a vm is present (instance creation), we need to do |
2883 | * a three-way merge between constructor options, instance | 2884 | * a three-way merge between constructor options, instance |
2884 | * options and parent options. | 2885 | * options and parent options. |
2885 | */ | 2886 | */ |
2886 | function mergeAssets ( | 2887 | function mergeAssets ( |
2887 | parentVal, | 2888 | parentVal, |
2888 | childVal, | 2889 | childVal, |
2889 | vm, | 2890 | vm, |
2890 | key | 2891 | key |
2891 | ) { | 2892 | ) { |
2892 | var res = Object.create(parentVal || null); | 2893 | var res = Object.create(parentVal || null); |
2893 | if (childVal) { | 2894 | if (childVal) { |
2894 | true && assertObjectType(key, childVal, vm); | 2895 | true && assertObjectType(key, childVal, vm); |
2895 | return extend(res, childVal) | 2896 | return extend(res, childVal) |
2896 | } else { | 2897 | } else { |
2897 | return res | 2898 | return res |
2898 | } | 2899 | } |
2899 | } | 2900 | } |
2900 | 2901 | ||
2901 | ASSET_TYPES.forEach(function (type) { | 2902 | ASSET_TYPES.forEach(function (type) { |
2902 | strats[type + 's'] = mergeAssets; | 2903 | strats[type + 's'] = mergeAssets; |
2903 | }); | 2904 | }); |
2904 | 2905 | ||
2905 | /** | 2906 | /** |
2906 | * Watchers. | 2907 | * Watchers. |
2907 | * | 2908 | * |
2908 | * Watchers hashes should not overwrite one | 2909 | * Watchers hashes should not overwrite one |
2909 | * another, so we merge them as arrays. | 2910 | * another, so we merge them as arrays. |
2910 | */ | 2911 | */ |
2911 | strats.watch = function ( | 2912 | strats.watch = function ( |
2912 | parentVal, | 2913 | parentVal, |
2913 | childVal, | 2914 | childVal, |
2914 | vm, | 2915 | vm, |
2915 | key | 2916 | key |
2916 | ) { | 2917 | ) { |
2917 | // work around Firefox's Object.prototype.watch... | 2918 | // work around Firefox's Object.prototype.watch... |
2918 | if (parentVal === nativeWatch) { parentVal = undefined; } | 2919 | if (parentVal === nativeWatch) { parentVal = undefined; } |
2919 | if (childVal === nativeWatch) { childVal = undefined; } | 2920 | if (childVal === nativeWatch) { childVal = undefined; } |
2920 | /* istanbul ignore if */ | 2921 | /* istanbul ignore if */ |
2921 | if (!childVal) { return Object.create(parentVal || null) } | 2922 | if (!childVal) { return Object.create(parentVal || null) } |
2922 | if (true) { | 2923 | if (true) { |
2923 | assertObjectType(key, childVal, vm); | 2924 | assertObjectType(key, childVal, vm); |
2924 | } | 2925 | } |
2925 | if (!parentVal) { return childVal } | 2926 | if (!parentVal) { return childVal } |
2926 | var ret = {}; | 2927 | var ret = {}; |
2927 | extend(ret, parentVal); | 2928 | extend(ret, parentVal); |
2928 | for (var key$1 in childVal) { | 2929 | for (var key$1 in childVal) { |
2929 | var parent = ret[key$1]; | 2930 | var parent = ret[key$1]; |
2930 | var child = childVal[key$1]; | 2931 | var child = childVal[key$1]; |
2931 | if (parent && !Array.isArray(parent)) { | 2932 | if (parent && !Array.isArray(parent)) { |
2932 | parent = [parent]; | 2933 | parent = [parent]; |
2933 | } | 2934 | } |
2934 | ret[key$1] = parent | 2935 | ret[key$1] = parent |
2935 | ? parent.concat(child) | 2936 | ? parent.concat(child) |
2936 | : Array.isArray(child) ? child : [child]; | 2937 | : Array.isArray(child) ? child : [child]; |
2937 | } | 2938 | } |
2938 | return ret | 2939 | return ret |
2939 | }; | 2940 | }; |
2940 | 2941 | ||
2941 | /** | 2942 | /** |
2942 | * Other object hashes. | 2943 | * Other object hashes. |
2943 | */ | 2944 | */ |
2944 | strats.props = | 2945 | strats.props = |
2945 | strats.methods = | 2946 | strats.methods = |
2946 | strats.inject = | 2947 | strats.inject = |
2947 | strats.computed = function ( | 2948 | strats.computed = function ( |
2948 | parentVal, | 2949 | parentVal, |
2949 | childVal, | 2950 | childVal, |
2950 | vm, | 2951 | vm, |
2951 | key | 2952 | key |
2952 | ) { | 2953 | ) { |
2953 | if (childVal && "development" !== 'production') { | 2954 | if (childVal && "development" !== 'production') { |
2954 | assertObjectType(key, childVal, vm); | 2955 | assertObjectType(key, childVal, vm); |
2955 | } | 2956 | } |
2956 | if (!parentVal) { return childVal } | 2957 | if (!parentVal) { return childVal } |
2957 | var ret = Object.create(null); | 2958 | var ret = Object.create(null); |
2958 | extend(ret, parentVal); | 2959 | extend(ret, parentVal); |
2959 | if (childVal) { extend(ret, childVal); } | 2960 | if (childVal) { extend(ret, childVal); } |
2960 | return ret | 2961 | return ret |
2961 | }; | 2962 | }; |
2962 | strats.provide = mergeDataOrFn; | 2963 | strats.provide = mergeDataOrFn; |
2963 | 2964 | ||
2964 | /** | 2965 | /** |
2965 | * Default strategy. | 2966 | * Default strategy. |
2966 | */ | 2967 | */ |
2967 | var defaultStrat = function (parentVal, childVal) { | 2968 | var defaultStrat = function (parentVal, childVal) { |
2968 | return childVal === undefined | 2969 | return childVal === undefined |
2969 | ? parentVal | 2970 | ? parentVal |
2970 | : childVal | 2971 | : childVal |
2971 | }; | 2972 | }; |
2972 | 2973 | ||
2973 | /** | 2974 | /** |
2974 | * Validate component names | 2975 | * Validate component names |
2975 | */ | 2976 | */ |
2976 | function checkComponents (options) { | 2977 | function checkComponents (options) { |
2977 | for (var key in options.components) { | 2978 | for (var key in options.components) { |
2978 | validateComponentName(key); | 2979 | validateComponentName(key); |
2979 | } | 2980 | } |
2980 | } | 2981 | } |
2981 | 2982 | ||
2982 | function validateComponentName (name) { | 2983 | function validateComponentName (name) { |
2983 | if (!new RegExp(("^[a-zA-Z][\\-\\.0-9_" + (unicodeRegExp.source) + "]*$")).test(name)) { | 2984 | if (!new RegExp(("^[a-zA-Z][\\-\\.0-9_" + (unicodeRegExp.source) + "]*$")).test(name)) { |
2984 | warn( | 2985 | warn( |
2985 | 'Invalid component name: "' + name + '". Component names ' + | 2986 | 'Invalid component name: "' + name + '". Component names ' + |
2986 | 'should conform to valid custom element name in html5 specification.' | 2987 | 'should conform to valid custom element name in html5 specification.' |
2987 | ); | 2988 | ); |
2988 | } | 2989 | } |
2989 | if (isBuiltInTag(name) || config.isReservedTag(name)) { | 2990 | if (isBuiltInTag(name) || config.isReservedTag(name)) { |
2990 | warn( | 2991 | warn( |
2991 | 'Do not use built-in or reserved HTML elements as component ' + | 2992 | 'Do not use built-in or reserved HTML elements as component ' + |
2992 | 'id: ' + name | 2993 | 'id: ' + name |
2993 | ); | 2994 | ); |
2994 | } | 2995 | } |
2995 | } | 2996 | } |
2996 | 2997 | ||
2997 | /** | 2998 | /** |
2998 | * Ensure all props option syntax are normalized into the | 2999 | * Ensure all props option syntax are normalized into the |
2999 | * Object-based format. | 3000 | * Object-based format. |
3000 | */ | 3001 | */ |
3001 | function normalizeProps (options, vm) { | 3002 | function normalizeProps (options, vm) { |
3002 | var props = options.props; | 3003 | var props = options.props; |
3003 | if (!props) { return } | 3004 | if (!props) { return } |
3004 | var res = {}; | 3005 | var res = {}; |
3005 | var i, val, name; | 3006 | var i, val, name; |
3006 | if (Array.isArray(props)) { | 3007 | if (Array.isArray(props)) { |
3007 | i = props.length; | 3008 | i = props.length; |
3008 | while (i--) { | 3009 | while (i--) { |
3009 | val = props[i]; | 3010 | val = props[i]; |
3010 | if (typeof val === 'string') { | 3011 | if (typeof val === 'string') { |
3011 | name = camelize(val); | 3012 | name = camelize(val); |
3012 | res[name] = { type: null }; | 3013 | res[name] = { type: null }; |
3013 | } else if (true) { | 3014 | } else if (true) { |
3014 | warn('props must be strings when using array syntax.'); | 3015 | warn('props must be strings when using array syntax.'); |
3015 | } | 3016 | } |
3016 | } | 3017 | } |
3017 | } else if (isPlainObject(props)) { | 3018 | } else if (isPlainObject(props)) { |
3018 | for (var key in props) { | 3019 | for (var key in props) { |
3019 | val = props[key]; | 3020 | val = props[key]; |
3020 | name = camelize(key); | 3021 | name = camelize(key); |
3021 | res[name] = isPlainObject(val) | 3022 | res[name] = isPlainObject(val) |
3022 | ? val | 3023 | ? val |
3023 | : { type: val }; | 3024 | : { type: val }; |
3024 | } | 3025 | } |
3025 | } else if (true) { | 3026 | } else if (true) { |
3026 | warn( | 3027 | warn( |
3027 | "Invalid value for option \"props\": expected an Array or an Object, " + | 3028 | "Invalid value for option \"props\": expected an Array or an Object, " + |
3028 | "but got " + (toRawType(props)) + ".", | 3029 | "but got " + (toRawType(props)) + ".", |
3029 | vm | 3030 | vm |
3030 | ); | 3031 | ); |
3031 | } | 3032 | } |
3032 | options.props = res; | 3033 | options.props = res; |
3033 | } | 3034 | } |
3034 | 3035 | ||
3035 | /** | 3036 | /** |
3036 | * Normalize all injections into Object-based format | 3037 | * Normalize all injections into Object-based format |
3037 | */ | 3038 | */ |
3038 | function normalizeInject (options, vm) { | 3039 | function normalizeInject (options, vm) { |
3039 | var inject = options.inject; | 3040 | var inject = options.inject; |
3040 | if (!inject) { return } | 3041 | if (!inject) { return } |
3041 | var normalized = options.inject = {}; | 3042 | var normalized = options.inject = {}; |
3042 | if (Array.isArray(inject)) { | 3043 | if (Array.isArray(inject)) { |
3043 | for (var i = 0; i < inject.length; i++) { | 3044 | for (var i = 0; i < inject.length; i++) { |
3044 | normalized[inject[i]] = { from: inject[i] }; | 3045 | normalized[inject[i]] = { from: inject[i] }; |
3045 | } | 3046 | } |
3046 | } else if (isPlainObject(inject)) { | 3047 | } else if (isPlainObject(inject)) { |
3047 | for (var key in inject) { | 3048 | for (var key in inject) { |
3048 | var val = inject[key]; | 3049 | var val = inject[key]; |
3049 | normalized[key] = isPlainObject(val) | 3050 | normalized[key] = isPlainObject(val) |
3050 | ? extend({ from: key }, val) | 3051 | ? extend({ from: key }, val) |
3051 | : { from: val }; | 3052 | : { from: val }; |
3052 | } | 3053 | } |
3053 | } else if (true) { | 3054 | } else if (true) { |
3054 | warn( | 3055 | warn( |
3055 | "Invalid value for option \"inject\": expected an Array or an Object, " + | 3056 | "Invalid value for option \"inject\": expected an Array or an Object, " + |
3056 | "but got " + (toRawType(inject)) + ".", | 3057 | "but got " + (toRawType(inject)) + ".", |
3057 | vm | 3058 | vm |
3058 | ); | 3059 | ); |
3059 | } | 3060 | } |
3060 | } | 3061 | } |
3061 | 3062 | ||
3062 | /** | 3063 | /** |
3063 | * Normalize raw function directives into object format. | 3064 | * Normalize raw function directives into object format. |
3064 | */ | 3065 | */ |
3065 | function normalizeDirectives (options) { | 3066 | function normalizeDirectives (options) { |
3066 | var dirs = options.directives; | 3067 | var dirs = options.directives; |
3067 | if (dirs) { | 3068 | if (dirs) { |
3068 | for (var key in dirs) { | 3069 | for (var key in dirs) { |
3069 | var def$$1 = dirs[key]; | 3070 | var def$$1 = dirs[key]; |
3070 | if (typeof def$$1 === 'function') { | 3071 | if (typeof def$$1 === 'function') { |
3071 | dirs[key] = { bind: def$$1, update: def$$1 }; | 3072 | dirs[key] = { bind: def$$1, update: def$$1 }; |
3072 | } | 3073 | } |
3073 | } | 3074 | } |
3074 | } | 3075 | } |
3075 | } | 3076 | } |
3076 | 3077 | ||
3077 | function assertObjectType (name, value, vm) { | 3078 | function assertObjectType (name, value, vm) { |
3078 | if (!isPlainObject(value)) { | 3079 | if (!isPlainObject(value)) { |
3079 | warn( | 3080 | warn( |
3080 | "Invalid value for option \"" + name + "\": expected an Object, " + | 3081 | "Invalid value for option \"" + name + "\": expected an Object, " + |
3081 | "but got " + (toRawType(value)) + ".", | 3082 | "but got " + (toRawType(value)) + ".", |
3082 | vm | 3083 | vm |
3083 | ); | 3084 | ); |
3084 | } | 3085 | } |
3085 | } | 3086 | } |
3086 | 3087 | ||
3087 | /** | 3088 | /** |
3088 | * Merge two option objects into a new one. | 3089 | * Merge two option objects into a new one. |
3089 | * Core utility used in both instantiation and inheritance. | 3090 | * Core utility used in both instantiation and inheritance. |
3090 | */ | 3091 | */ |
3091 | function mergeOptions ( | 3092 | function mergeOptions ( |
3092 | parent, | 3093 | parent, |
3093 | child, | 3094 | child, |
3094 | vm | 3095 | vm |
3095 | ) { | 3096 | ) { |
3096 | if (true) { | 3097 | if (true) { |
3097 | checkComponents(child); | 3098 | checkComponents(child); |
3098 | } | 3099 | } |
3099 | 3100 | ||
3100 | if (typeof child === 'function') { | 3101 | if (typeof child === 'function') { |
3101 | child = child.options; | 3102 | child = child.options; |
3102 | } | 3103 | } |
3103 | 3104 | ||
3104 | normalizeProps(child, vm); | 3105 | normalizeProps(child, vm); |
3105 | normalizeInject(child, vm); | 3106 | normalizeInject(child, vm); |
3106 | normalizeDirectives(child); | 3107 | normalizeDirectives(child); |
3107 | 3108 | ||
3108 | // Apply extends and mixins on the child options, | 3109 | // Apply extends and mixins on the child options, |
3109 | // but only if it is a raw options object that isn't | 3110 | // but only if it is a raw options object that isn't |
3110 | // the result of another mergeOptions call. | 3111 | // the result of another mergeOptions call. |
3111 | // Only merged options has the _base property. | 3112 | // Only merged options has the _base property. |
3112 | if (!child._base) { | 3113 | if (!child._base) { |
3113 | if (child.extends) { | 3114 | if (child.extends) { |
3114 | parent = mergeOptions(parent, child.extends, vm); | 3115 | parent = mergeOptions(parent, child.extends, vm); |
3115 | } | 3116 | } |
3116 | if (child.mixins) { | 3117 | if (child.mixins) { |
3117 | for (var i = 0, l = child.mixins.length; i < l; i++) { | 3118 | for (var i = 0, l = child.mixins.length; i < l; i++) { |
3118 | parent = mergeOptions(parent, child.mixins[i], vm); | 3119 | parent = mergeOptions(parent, child.mixins[i], vm); |
3119 | } | 3120 | } |
3120 | } | 3121 | } |
3121 | } | 3122 | } |
3122 | 3123 | ||
3123 | var options = {}; | 3124 | var options = {}; |
3124 | var key; | 3125 | var key; |
3125 | for (key in parent) { | 3126 | for (key in parent) { |
3126 | mergeField(key); | 3127 | mergeField(key); |
3127 | } | 3128 | } |
3128 | for (key in child) { | 3129 | for (key in child) { |
3129 | if (!hasOwn(parent, key)) { | 3130 | if (!hasOwn(parent, key)) { |
3130 | mergeField(key); | 3131 | mergeField(key); |
3131 | } | 3132 | } |
3132 | } | 3133 | } |
3133 | function mergeField (key) { | 3134 | function mergeField (key) { |
3134 | var strat = strats[key] || defaultStrat; | 3135 | var strat = strats[key] || defaultStrat; |
3135 | options[key] = strat(parent[key], child[key], vm, key); | 3136 | options[key] = strat(parent[key], child[key], vm, key); |
3136 | } | 3137 | } |
3137 | return options | 3138 | return options |
3138 | } | 3139 | } |
3139 | 3140 | ||
3140 | /** | 3141 | /** |
3141 | * Resolve an asset. | 3142 | * Resolve an asset. |
3142 | * This function is used because child instances need access | 3143 | * This function is used because child instances need access |
3143 | * to assets defined in its ancestor chain. | 3144 | * to assets defined in its ancestor chain. |
3144 | */ | 3145 | */ |
3145 | function resolveAsset ( | 3146 | function resolveAsset ( |
3146 | options, | 3147 | options, |
3147 | type, | 3148 | type, |
3148 | id, | 3149 | id, |
3149 | warnMissing | 3150 | warnMissing |
3150 | ) { | 3151 | ) { |
3151 | /* istanbul ignore if */ | 3152 | /* istanbul ignore if */ |
3152 | if (typeof id !== 'string') { | 3153 | if (typeof id !== 'string') { |
3153 | return | 3154 | return |
3154 | } | 3155 | } |
3155 | var assets = options[type]; | 3156 | var assets = options[type]; |
3156 | // check local registration variations first | 3157 | // check local registration variations first |
3157 | if (hasOwn(assets, id)) { return assets[id] } | 3158 | if (hasOwn(assets, id)) { return assets[id] } |
3158 | var camelizedId = camelize(id); | 3159 | var camelizedId = camelize(id); |
3159 | if (hasOwn(assets, camelizedId)) { return assets[camelizedId] } | 3160 | if (hasOwn(assets, camelizedId)) { return assets[camelizedId] } |
3160 | var PascalCaseId = capitalize(camelizedId); | 3161 | var PascalCaseId = capitalize(camelizedId); |
3161 | if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] } | 3162 | if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] } |
3162 | // fallback to prototype chain | 3163 | // fallback to prototype chain |
3163 | var res = assets[id] || assets[camelizedId] || assets[PascalCaseId]; | 3164 | var res = assets[id] || assets[camelizedId] || assets[PascalCaseId]; |
3164 | if ( true && warnMissing && !res) { | 3165 | if ( true && warnMissing && !res) { |
3165 | warn( | 3166 | warn( |
3166 | 'Failed to resolve ' + type.slice(0, -1) + ': ' + id, | 3167 | 'Failed to resolve ' + type.slice(0, -1) + ': ' + id, |
3167 | options | 3168 | options |
3168 | ); | 3169 | ); |
3169 | } | 3170 | } |
3170 | return res | 3171 | return res |
3171 | } | 3172 | } |
3172 | 3173 | ||
3173 | /* */ | 3174 | /* */ |
3174 | 3175 | ||
3175 | 3176 | ||
3176 | 3177 | ||
3177 | function validateProp ( | 3178 | function validateProp ( |
3178 | key, | 3179 | key, |
3179 | propOptions, | 3180 | propOptions, |
3180 | propsData, | 3181 | propsData, |
3181 | vm | 3182 | vm |
3182 | ) { | 3183 | ) { |
3183 | var prop = propOptions[key]; | 3184 | var prop = propOptions[key]; |
3184 | var absent = !hasOwn(propsData, key); | 3185 | var absent = !hasOwn(propsData, key); |
3185 | var value = propsData[key]; | 3186 | var value = propsData[key]; |
3186 | // boolean casting | 3187 | // boolean casting |
3187 | var booleanIndex = getTypeIndex(Boolean, prop.type); | 3188 | var booleanIndex = getTypeIndex(Boolean, prop.type); |
3188 | if (booleanIndex > -1) { | 3189 | if (booleanIndex > -1) { |
3189 | if (absent && !hasOwn(prop, 'default')) { | 3190 | if (absent && !hasOwn(prop, 'default')) { |
3190 | value = false; | 3191 | value = false; |
3191 | } else if (value === '' || value === hyphenate(key)) { | 3192 | } else if (value === '' || value === hyphenate(key)) { |
3192 | // only cast empty string / same name to boolean if | 3193 | // only cast empty string / same name to boolean if |
3193 | // boolean has higher priority | 3194 | // boolean has higher priority |
3194 | var stringIndex = getTypeIndex(String, prop.type); | 3195 | var stringIndex = getTypeIndex(String, prop.type); |
3195 | if (stringIndex < 0 || booleanIndex < stringIndex) { | 3196 | if (stringIndex < 0 || booleanIndex < stringIndex) { |
3196 | value = true; | 3197 | value = true; |
3197 | } | 3198 | } |
3198 | } | 3199 | } |
3199 | } | 3200 | } |
3200 | // check default value | 3201 | // check default value |
3201 | if (value === undefined) { | 3202 | if (value === undefined) { |
3202 | value = getPropDefaultValue(vm, prop, key); | 3203 | value = getPropDefaultValue(vm, prop, key); |
3203 | // since the default value is a fresh copy, | 3204 | // since the default value is a fresh copy, |
3204 | // make sure to observe it. | 3205 | // make sure to observe it. |
3205 | var prevShouldObserve = shouldObserve; | 3206 | var prevShouldObserve = shouldObserve; |
3206 | toggleObserving(true); | 3207 | toggleObserving(true); |
3207 | observe(value); | 3208 | observe(value); |
3208 | toggleObserving(prevShouldObserve); | 3209 | toggleObserving(prevShouldObserve); |
3209 | } | 3210 | } |
3210 | if ( | 3211 | if ( |
3211 | true | 3212 | true |
3212 | ) { | 3213 | ) { |
3213 | assertProp(prop, key, value, vm, absent); | 3214 | assertProp(prop, key, value, vm, absent); |
3214 | } | 3215 | } |
3215 | return value | 3216 | return value |
3216 | } | 3217 | } |
3217 | 3218 | ||
3218 | /** | 3219 | /** |
3219 | * Get the default value of a prop. | 3220 | * Get the default value of a prop. |
3220 | */ | 3221 | */ |
3221 | function getPropDefaultValue (vm, prop, key) { | 3222 | function getPropDefaultValue (vm, prop, key) { |
3222 | // no default, return undefined | 3223 | // no default, return undefined |
3223 | if (!hasOwn(prop, 'default')) { | 3224 | if (!hasOwn(prop, 'default')) { |
3224 | return undefined | 3225 | return undefined |
3225 | } | 3226 | } |
3226 | var def = prop.default; | 3227 | var def = prop.default; |
3227 | // warn against non-factory defaults for Object & Array | 3228 | // warn against non-factory defaults for Object & Array |
3228 | if ( true && isObject(def)) { | 3229 | if ( true && isObject(def)) { |
3229 | warn( | 3230 | warn( |
3230 | 'Invalid default value for prop "' + key + '": ' + | 3231 | 'Invalid default value for prop "' + key + '": ' + |
3231 | 'Props with type Object/Array must use a factory function ' + | 3232 | 'Props with type Object/Array must use a factory function ' + |
3232 | 'to return the default value.', | 3233 | 'to return the default value.', |
3233 | vm | 3234 | vm |
3234 | ); | 3235 | ); |
3235 | } | 3236 | } |
3236 | // the raw prop value was also undefined from previous render, | 3237 | // the raw prop value was also undefined from previous render, |
3237 | // return previous default value to avoid unnecessary watcher trigger | 3238 | // return previous default value to avoid unnecessary watcher trigger |
3238 | if (vm && vm.$options.propsData && | 3239 | if (vm && vm.$options.propsData && |
3239 | vm.$options.propsData[key] === undefined && | 3240 | vm.$options.propsData[key] === undefined && |
3240 | vm._props[key] !== undefined | 3241 | vm._props[key] !== undefined |
3241 | ) { | 3242 | ) { |
3242 | return vm._props[key] | 3243 | return vm._props[key] |
3243 | } | 3244 | } |
3244 | // call factory function for non-Function types | 3245 | // call factory function for non-Function types |
3245 | // a value is Function if its prototype is function even across different execution context | 3246 | // a value is Function if its prototype is function even across different execution context |
3246 | return typeof def === 'function' && getType(prop.type) !== 'Function' | 3247 | return typeof def === 'function' && getType(prop.type) !== 'Function' |
3247 | ? def.call(vm) | 3248 | ? def.call(vm) |
3248 | : def | 3249 | : def |
3249 | } | 3250 | } |
3250 | 3251 | ||
3251 | /** | 3252 | /** |
3252 | * Assert whether a prop is valid. | 3253 | * Assert whether a prop is valid. |
3253 | */ | 3254 | */ |
3254 | function assertProp ( | 3255 | function assertProp ( |
3255 | prop, | 3256 | prop, |
3256 | name, | 3257 | name, |
3257 | value, | 3258 | value, |
3258 | vm, | 3259 | vm, |
3259 | absent | 3260 | absent |
3260 | ) { | 3261 | ) { |
3261 | if (prop.required && absent) { | 3262 | if (prop.required && absent) { |
3262 | warn( | 3263 | warn( |
3263 | 'Missing required prop: "' + name + '"', | 3264 | 'Missing required prop: "' + name + '"', |
3264 | vm | 3265 | vm |
3265 | ); | 3266 | ); |
3266 | return | 3267 | return |
3267 | } | 3268 | } |
3268 | if (value == null && !prop.required) { | 3269 | if (value == null && !prop.required) { |
3269 | return | 3270 | return |
3270 | } | 3271 | } |
3271 | var type = prop.type; | 3272 | var type = prop.type; |
3272 | var valid = !type || type === true; | 3273 | var valid = !type || type === true; |
3273 | var expectedTypes = []; | 3274 | var expectedTypes = []; |
3274 | if (type) { | 3275 | if (type) { |
3275 | if (!Array.isArray(type)) { | 3276 | if (!Array.isArray(type)) { |
3276 | type = [type]; | 3277 | type = [type]; |
3277 | } | 3278 | } |
3278 | for (var i = 0; i < type.length && !valid; i++) { | 3279 | for (var i = 0; i < type.length && !valid; i++) { |
3279 | var assertedType = assertType(value, type[i]); | 3280 | var assertedType = assertType(value, type[i]); |
3280 | expectedTypes.push(assertedType.expectedType || ''); | 3281 | expectedTypes.push(assertedType.expectedType || ''); |
3281 | valid = assertedType.valid; | 3282 | valid = assertedType.valid; |
3282 | } | 3283 | } |
3283 | } | 3284 | } |
3284 | 3285 | ||
3285 | if (!valid) { | 3286 | if (!valid) { |
3286 | warn( | 3287 | warn( |
3287 | getInvalidTypeMessage(name, value, expectedTypes), | 3288 | getInvalidTypeMessage(name, value, expectedTypes), |
3288 | vm | 3289 | vm |
3289 | ); | 3290 | ); |
3290 | return | 3291 | return |
3291 | } | 3292 | } |
3292 | var validator = prop.validator; | 3293 | var validator = prop.validator; |
3293 | if (validator) { | 3294 | if (validator) { |
3294 | if (!validator(value)) { | 3295 | if (!validator(value)) { |
3295 | warn( | 3296 | warn( |
3296 | 'Invalid prop: custom validator check failed for prop "' + name + '".', | 3297 | 'Invalid prop: custom validator check failed for prop "' + name + '".', |
3297 | vm | 3298 | vm |
3298 | ); | 3299 | ); |
3299 | } | 3300 | } |
3300 | } | 3301 | } |
3301 | } | 3302 | } |
3302 | 3303 | ||
3303 | var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/; | 3304 | var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/; |
3304 | 3305 | ||
3305 | function assertType (value, type) { | 3306 | function assertType (value, type) { |
3306 | var valid; | 3307 | var valid; |
3307 | var expectedType = getType(type); | 3308 | var expectedType = getType(type); |
3308 | if (simpleCheckRE.test(expectedType)) { | 3309 | if (simpleCheckRE.test(expectedType)) { |
3309 | var t = typeof value; | 3310 | var t = typeof value; |
3310 | valid = t === expectedType.toLowerCase(); | 3311 | valid = t === expectedType.toLowerCase(); |
3311 | // for primitive wrapper objects | 3312 | // for primitive wrapper objects |
3312 | if (!valid && t === 'object') { | 3313 | if (!valid && t === 'object') { |
3313 | valid = value instanceof type; | 3314 | valid = value instanceof type; |
3314 | } | 3315 | } |
3315 | } else if (expectedType === 'Object') { | 3316 | } else if (expectedType === 'Object') { |
3316 | valid = isPlainObject(value); | 3317 | valid = isPlainObject(value); |
3317 | } else if (expectedType === 'Array') { | 3318 | } else if (expectedType === 'Array') { |
3318 | valid = Array.isArray(value); | 3319 | valid = Array.isArray(value); |
3319 | } else { | 3320 | } else { |
3320 | valid = value instanceof type; | 3321 | valid = value instanceof type; |
3321 | } | 3322 | } |
3322 | return { | 3323 | return { |
3323 | valid: valid, | 3324 | valid: valid, |
3324 | expectedType: expectedType | 3325 | expectedType: expectedType |
3325 | } | 3326 | } |
3326 | } | 3327 | } |
3327 | 3328 | ||
3328 | /** | 3329 | /** |
3329 | * Use function string name to check built-in types, | 3330 | * Use function string name to check built-in types, |
3330 | * because a simple equality check will fail when running | 3331 | * because a simple equality check will fail when running |
3331 | * across different vms / iframes. | 3332 | * across different vms / iframes. |
3332 | */ | 3333 | */ |
3333 | function getType (fn) { | 3334 | function getType (fn) { |
3334 | var match = fn && fn.toString().match(/^\s*function (\w+)/); | 3335 | var match = fn && fn.toString().match(/^\s*function (\w+)/); |
3335 | return match ? match[1] : '' | 3336 | return match ? match[1] : '' |
3336 | } | 3337 | } |
3337 | 3338 | ||
3338 | function isSameType (a, b) { | 3339 | function isSameType (a, b) { |
3339 | return getType(a) === getType(b) | 3340 | return getType(a) === getType(b) |
3340 | } | 3341 | } |
3341 | 3342 | ||
3342 | function getTypeIndex (type, expectedTypes) { | 3343 | function getTypeIndex (type, expectedTypes) { |
3343 | if (!Array.isArray(expectedTypes)) { | 3344 | if (!Array.isArray(expectedTypes)) { |
3344 | return isSameType(expectedTypes, type) ? 0 : -1 | 3345 | return isSameType(expectedTypes, type) ? 0 : -1 |
3345 | } | 3346 | } |
3346 | for (var i = 0, len = expectedTypes.length; i < len; i++) { | 3347 | for (var i = 0, len = expectedTypes.length; i < len; i++) { |
3347 | if (isSameType(expectedTypes[i], type)) { | 3348 | if (isSameType(expectedTypes[i], type)) { |
3348 | return i | 3349 | return i |
3349 | } | 3350 | } |
3350 | } | 3351 | } |
3351 | return -1 | 3352 | return -1 |
3352 | } | 3353 | } |
3353 | 3354 | ||
3354 | function getInvalidTypeMessage (name, value, expectedTypes) { | 3355 | function getInvalidTypeMessage (name, value, expectedTypes) { |
3355 | var message = "Invalid prop: type check failed for prop \"" + name + "\"." + | 3356 | var message = "Invalid prop: type check failed for prop \"" + name + "\"." + |
3356 | " Expected " + (expectedTypes.map(capitalize).join(', ')); | 3357 | " Expected " + (expectedTypes.map(capitalize).join(', ')); |
3357 | var expectedType = expectedTypes[0]; | 3358 | var expectedType = expectedTypes[0]; |
3358 | var receivedType = toRawType(value); | 3359 | var receivedType = toRawType(value); |
3359 | var expectedValue = styleValue(value, expectedType); | 3360 | var expectedValue = styleValue(value, expectedType); |
3360 | var receivedValue = styleValue(value, receivedType); | 3361 | var receivedValue = styleValue(value, receivedType); |
3361 | // check if we need to specify expected value | 3362 | // check if we need to specify expected value |
3362 | if (expectedTypes.length === 1 && | 3363 | if (expectedTypes.length === 1 && |
3363 | isExplicable(expectedType) && | 3364 | isExplicable(expectedType) && |
3364 | !isBoolean(expectedType, receivedType)) { | 3365 | !isBoolean(expectedType, receivedType)) { |
3365 | message += " with value " + expectedValue; | 3366 | message += " with value " + expectedValue; |
3366 | } | 3367 | } |
3367 | message += ", got " + receivedType + " "; | 3368 | message += ", got " + receivedType + " "; |
3368 | // check if we need to specify received value | 3369 | // check if we need to specify received value |
3369 | if (isExplicable(receivedType)) { | 3370 | if (isExplicable(receivedType)) { |
3370 | message += "with value " + receivedValue + "."; | 3371 | message += "with value " + receivedValue + "."; |
3371 | } | 3372 | } |
3372 | return message | 3373 | return message |
3373 | } | 3374 | } |
3374 | 3375 | ||
3375 | function styleValue (value, type) { | 3376 | function styleValue (value, type) { |
3376 | if (type === 'String') { | 3377 | if (type === 'String') { |
3377 | return ("\"" + value + "\"") | 3378 | return ("\"" + value + "\"") |
3378 | } else if (type === 'Number') { | 3379 | } else if (type === 'Number') { |
3379 | return ("" + (Number(value))) | 3380 | return ("" + (Number(value))) |
3380 | } else { | 3381 | } else { |
3381 | return ("" + value) | 3382 | return ("" + value) |
3382 | } | 3383 | } |
3383 | } | 3384 | } |
3384 | 3385 | ||
3385 | function isExplicable (value) { | 3386 | function isExplicable (value) { |
3386 | var explicitTypes = ['string', 'number', 'boolean']; | 3387 | var explicitTypes = ['string', 'number', 'boolean']; |
3387 | return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; }) | 3388 | return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; }) |
3388 | } | 3389 | } |
3389 | 3390 | ||
3390 | function isBoolean () { | 3391 | function isBoolean () { |
3391 | var args = [], len = arguments.length; | 3392 | var args = [], len = arguments.length; |
3392 | while ( len-- ) args[ len ] = arguments[ len ]; | 3393 | while ( len-- ) args[ len ] = arguments[ len ]; |
3393 | 3394 | ||
3394 | return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; }) | 3395 | return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; }) |
3395 | } | 3396 | } |
3396 | 3397 | ||
3397 | /* */ | 3398 | /* */ |
3398 | 3399 | ||
3399 | function handleError (err, vm, info) { | 3400 | function handleError (err, vm, info) { |
3400 | // Deactivate deps tracking while processing error handler to avoid possible infinite rendering. | 3401 | // Deactivate deps tracking while processing error handler to avoid possible infinite rendering. |
3401 | // See: https://github.com/vuejs/vuex/issues/1505 | 3402 | // See: https://github.com/vuejs/vuex/issues/1505 |
3402 | pushTarget(); | 3403 | pushTarget(); |
3403 | try { | 3404 | try { |
3404 | if (vm) { | 3405 | if (vm) { |
3405 | var cur = vm; | 3406 | var cur = vm; |
3406 | while ((cur = cur.$parent)) { | 3407 | while ((cur = cur.$parent)) { |
3407 | var hooks = cur.$options.errorCaptured; | 3408 | var hooks = cur.$options.errorCaptured; |
3408 | if (hooks) { | 3409 | if (hooks) { |
3409 | for (var i = 0; i < hooks.length; i++) { | 3410 | for (var i = 0; i < hooks.length; i++) { |
3410 | try { | 3411 | try { |
3411 | var capture = hooks[i].call(cur, err, vm, info) === false; | 3412 | var capture = hooks[i].call(cur, err, vm, info) === false; |
3412 | if (capture) { return } | 3413 | if (capture) { return } |
3413 | } catch (e) { | 3414 | } catch (e) { |
3414 | globalHandleError(e, cur, 'errorCaptured hook'); | 3415 | globalHandleError(e, cur, 'errorCaptured hook'); |
3415 | } | 3416 | } |
3416 | } | 3417 | } |
3417 | } | 3418 | } |
3418 | } | 3419 | } |
3419 | } | 3420 | } |
3420 | globalHandleError(err, vm, info); | 3421 | globalHandleError(err, vm, info); |
3421 | } finally { | 3422 | } finally { |
3422 | popTarget(); | 3423 | popTarget(); |
3423 | } | 3424 | } |
3424 | } | 3425 | } |
3425 | 3426 | ||
3426 | function invokeWithErrorHandling ( | 3427 | function invokeWithErrorHandling ( |
3427 | handler, | 3428 | handler, |
3428 | context, | 3429 | context, |
3429 | args, | 3430 | args, |
3430 | vm, | 3431 | vm, |
3431 | info | 3432 | info |
3432 | ) { | 3433 | ) { |
3433 | var res; | 3434 | var res; |
3434 | try { | 3435 | try { |
3435 | res = args ? handler.apply(context, args) : handler.call(context); | 3436 | res = args ? handler.apply(context, args) : handler.call(context); |
3436 | if (res && !res._isVue && isPromise(res) && !res._handled) { | 3437 | if (res && !res._isVue && isPromise(res) && !res._handled) { |
3437 | res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); }); | 3438 | res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); }); |
3438 | // issue #9511 | 3439 | // issue #9511 |
3439 | // avoid catch triggering multiple times when nested calls | 3440 | // avoid catch triggering multiple times when nested calls |
3440 | res._handled = true; | 3441 | res._handled = true; |
3441 | } | 3442 | } |
3442 | } catch (e) { | 3443 | } catch (e) { |
3443 | handleError(e, vm, info); | 3444 | handleError(e, vm, info); |
3444 | } | 3445 | } |
3445 | return res | 3446 | return res |
3446 | } | 3447 | } |
3447 | 3448 | ||
3448 | function globalHandleError (err, vm, info) { | 3449 | function globalHandleError (err, vm, info) { |
3449 | if (config.errorHandler) { | 3450 | if (config.errorHandler) { |
3450 | try { | 3451 | try { |
3451 | return config.errorHandler.call(null, err, vm, info) | 3452 | return config.errorHandler.call(null, err, vm, info) |
3452 | } catch (e) { | 3453 | } catch (e) { |
3453 | // if the user intentionally throws the original error in the handler, | 3454 | // if the user intentionally throws the original error in the handler, |
3454 | // do not log it twice | 3455 | // do not log it twice |
3455 | if (e !== err) { | 3456 | if (e !== err) { |
3456 | logError(e, null, 'config.errorHandler'); | 3457 | logError(e, null, 'config.errorHandler'); |
3457 | } | 3458 | } |
3458 | } | 3459 | } |
3459 | } | 3460 | } |
3460 | logError(err, vm, info); | 3461 | logError(err, vm, info); |
3461 | } | 3462 | } |
3462 | 3463 | ||
3463 | function logError (err, vm, info) { | 3464 | function logError (err, vm, info) { |
3464 | if (true) { | 3465 | if (true) { |
3465 | warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm); | 3466 | warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm); |
3466 | } | 3467 | } |
3467 | /* istanbul ignore else */ | 3468 | /* istanbul ignore else */ |
3468 | if ((inBrowser || inWeex) && typeof console !== 'undefined') { | 3469 | if ((inBrowser || inWeex) && typeof console !== 'undefined') { |
3469 | console.error(err); | 3470 | console.error(err); |
3470 | } else { | 3471 | } else { |
3471 | throw err | 3472 | throw err |
3472 | } | 3473 | } |
3473 | } | 3474 | } |
3474 | 3475 | ||
3475 | /* */ | 3476 | /* */ |
3476 | 3477 | ||
3477 | var callbacks = []; | 3478 | var callbacks = []; |
3478 | var pending = false; | 3479 | var pending = false; |
3479 | 3480 | ||
3480 | function flushCallbacks () { | 3481 | function flushCallbacks () { |
3481 | pending = false; | 3482 | pending = false; |
3482 | var copies = callbacks.slice(0); | 3483 | var copies = callbacks.slice(0); |
3483 | callbacks.length = 0; | 3484 | callbacks.length = 0; |
3484 | for (var i = 0; i < copies.length; i++) { | 3485 | for (var i = 0; i < copies.length; i++) { |
3485 | copies[i](); | 3486 | copies[i](); |
3486 | } | 3487 | } |
3487 | } | 3488 | } |
3488 | 3489 | ||
3489 | // Here we have async deferring wrappers using microtasks. | 3490 | // Here we have async deferring wrappers using microtasks. |
3490 | // In 2.5 we used (macro) tasks (in combination with microtasks). | 3491 | // In 2.5 we used (macro) tasks (in combination with microtasks). |
3491 | // However, it has subtle problems when state is changed right before repaint | 3492 | // However, it has subtle problems when state is changed right before repaint |
3492 | // (e.g. #6813, out-in transitions). | 3493 | // (e.g. #6813, out-in transitions). |
3493 | // Also, using (macro) tasks in event handler would cause some weird behaviors | 3494 | // Also, using (macro) tasks in event handler would cause some weird behaviors |
3494 | // that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109). | 3495 | // that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109). |
3495 | // So we now use microtasks everywhere, again. | 3496 | // So we now use microtasks everywhere, again. |
3496 | // A major drawback of this tradeoff is that there are some scenarios | 3497 | // A major drawback of this tradeoff is that there are some scenarios |
3497 | // where microtasks have too high a priority and fire in between supposedly | 3498 | // where microtasks have too high a priority and fire in between supposedly |
3498 | // sequential events (e.g. #4521, #6690, which have workarounds) | 3499 | // sequential events (e.g. #4521, #6690, which have workarounds) |
3499 | // or even between bubbling of the same event (#6566). | 3500 | // or even between bubbling of the same event (#6566). |
3500 | var timerFunc; | 3501 | var timerFunc; |
3501 | 3502 | ||
3502 | // The nextTick behavior leverages the microtask queue, which can be accessed | 3503 | // The nextTick behavior leverages the microtask queue, which can be accessed |
3503 | // via either native Promise.then or MutationObserver. | 3504 | // via either native Promise.then or MutationObserver. |
3504 | // MutationObserver has wider support, however it is seriously bugged in | 3505 | // MutationObserver has wider support, however it is seriously bugged in |
3505 | // UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It | 3506 | // UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It |
3506 | // completely stops working after triggering a few times... so, if native | 3507 | // completely stops working after triggering a few times... so, if native |
3507 | // Promise is available, we will use it: | 3508 | // Promise is available, we will use it: |
3508 | /* istanbul ignore next, $flow-disable-line */ | 3509 | /* istanbul ignore next, $flow-disable-line */ |
3509 | if (typeof Promise !== 'undefined' && isNative(Promise)) { | 3510 | if (typeof Promise !== 'undefined' && isNative(Promise)) { |
3510 | var p = Promise.resolve(); | 3511 | var p = Promise.resolve(); |
3511 | timerFunc = function () { | 3512 | timerFunc = function () { |
3512 | p.then(flushCallbacks); | 3513 | p.then(flushCallbacks); |
3513 | // In problematic UIWebViews, Promise.then doesn't completely break, but | 3514 | // In problematic UIWebViews, Promise.then doesn't completely break, but |
3514 | // it can get stuck in a weird state where callbacks are pushed into the | 3515 | // it can get stuck in a weird state where callbacks are pushed into the |
3515 | // microtask queue but the queue isn't being flushed, until the browser | 3516 | // microtask queue but the queue isn't being flushed, until the browser |
3516 | // needs to do some other work, e.g. handle a timer. Therefore we can | 3517 | // needs to do some other work, e.g. handle a timer. Therefore we can |
3517 | // "force" the microtask queue to be flushed by adding an empty timer. | 3518 | // "force" the microtask queue to be flushed by adding an empty timer. |
3518 | if (isIOS) { setTimeout(noop); } | 3519 | if (isIOS) { setTimeout(noop); } |
3519 | }; | 3520 | }; |
3520 | } else if (!isIE && typeof MutationObserver !== 'undefined' && ( | 3521 | } else if (!isIE && typeof MutationObserver !== 'undefined' && ( |
3521 | isNative(MutationObserver) || | 3522 | isNative(MutationObserver) || |
3522 | // PhantomJS and iOS 7.x | 3523 | // PhantomJS and iOS 7.x |
3523 | MutationObserver.toString() === '[object MutationObserverConstructor]' | 3524 | MutationObserver.toString() === '[object MutationObserverConstructor]' |
3524 | )) { | 3525 | )) { |
3525 | // Use MutationObserver where native Promise is not available, | 3526 | // Use MutationObserver where native Promise is not available, |
3526 | // e.g. PhantomJS, iOS7, Android 4.4 | 3527 | // e.g. PhantomJS, iOS7, Android 4.4 |
3527 | // (#6466 MutationObserver is unreliable in IE11) | 3528 | // (#6466 MutationObserver is unreliable in IE11) |
3528 | var counter = 1; | 3529 | var counter = 1; |
3529 | var observer = new MutationObserver(flushCallbacks); | 3530 | var observer = new MutationObserver(flushCallbacks); |
3530 | var textNode = document.createTextNode(String(counter)); | 3531 | var textNode = document.createTextNode(String(counter)); |
3531 | observer.observe(textNode, { | 3532 | observer.observe(textNode, { |
3532 | characterData: true | 3533 | characterData: true |
3533 | }); | 3534 | }); |
3534 | timerFunc = function () { | 3535 | timerFunc = function () { |
3535 | counter = (counter + 1) % 2; | 3536 | counter = (counter + 1) % 2; |
3536 | textNode.data = String(counter); | 3537 | textNode.data = String(counter); |
3537 | }; | 3538 | }; |
3538 | } else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) { | 3539 | } else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) { |
3539 | // Fallback to setImmediate. | 3540 | // Fallback to setImmediate. |
3540 | // Technically it leverages the (macro) task queue, | 3541 | // Technically it leverages the (macro) task queue, |
3541 | // but it is still a better choice than setTimeout. | 3542 | // but it is still a better choice than setTimeout. |
3542 | timerFunc = function () { | 3543 | timerFunc = function () { |
3543 | setImmediate(flushCallbacks); | 3544 | setImmediate(flushCallbacks); |
3544 | }; | 3545 | }; |
3545 | } else { | 3546 | } else { |
3546 | // Fallback to setTimeout. | 3547 | // Fallback to setTimeout. |
3547 | timerFunc = function () { | 3548 | timerFunc = function () { |
3548 | setTimeout(flushCallbacks, 0); | 3549 | setTimeout(flushCallbacks, 0); |
3549 | }; | 3550 | }; |
3550 | } | 3551 | } |
3551 | 3552 | ||
3552 | function nextTick (cb, ctx) { | 3553 | function nextTick (cb, ctx) { |
3553 | var _resolve; | 3554 | var _resolve; |
3554 | callbacks.push(function () { | 3555 | callbacks.push(function () { |
3555 | if (cb) { | 3556 | if (cb) { |
3556 | try { | 3557 | try { |
3557 | cb.call(ctx); | 3558 | cb.call(ctx); |
3558 | } catch (e) { | 3559 | } catch (e) { |
3559 | handleError(e, ctx, 'nextTick'); | 3560 | handleError(e, ctx, 'nextTick'); |
3560 | } | 3561 | } |
3561 | } else if (_resolve) { | 3562 | } else if (_resolve) { |
3562 | _resolve(ctx); | 3563 | _resolve(ctx); |
3563 | } | 3564 | } |
3564 | }); | 3565 | }); |
3565 | if (!pending) { | 3566 | if (!pending) { |
3566 | pending = true; | 3567 | pending = true; |
3567 | timerFunc(); | 3568 | timerFunc(); |
3568 | } | 3569 | } |
3569 | // $flow-disable-line | 3570 | // $flow-disable-line |
3570 | if (!cb && typeof Promise !== 'undefined') { | 3571 | if (!cb && typeof Promise !== 'undefined') { |
3571 | return new Promise(function (resolve) { | 3572 | return new Promise(function (resolve) { |
3572 | _resolve = resolve; | 3573 | _resolve = resolve; |
3573 | }) | 3574 | }) |
3574 | } | 3575 | } |
3575 | } | 3576 | } |
3576 | 3577 | ||
3577 | /* */ | 3578 | /* */ |
3578 | 3579 | ||
3579 | /* not type checking this file because flow doesn't play well with Proxy */ | 3580 | /* not type checking this file because flow doesn't play well with Proxy */ |
3580 | 3581 | ||
3581 | var initProxy; | 3582 | var initProxy; |
3582 | 3583 | ||
3583 | if (true) { | 3584 | if (true) { |
3584 | var allowedGlobals = makeMap( | 3585 | var allowedGlobals = makeMap( |
3585 | 'Infinity,undefined,NaN,isFinite,isNaN,' + | 3586 | 'Infinity,undefined,NaN,isFinite,isNaN,' + |
3586 | 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + | 3587 | 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + |
3587 | 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' + | 3588 | 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' + |
3588 | 'require' // for Webpack/Browserify | 3589 | 'require' // for Webpack/Browserify |
3589 | ); | 3590 | ); |
3590 | 3591 | ||
3591 | var warnNonPresent = function (target, key) { | 3592 | var warnNonPresent = function (target, key) { |
3592 | warn( | 3593 | warn( |
3593 | "Property or method \"" + key + "\" is not defined on the instance but " + | 3594 | "Property or method \"" + key + "\" is not defined on the instance but " + |
3594 | 'referenced during render. Make sure that this property is reactive, ' + | 3595 | 'referenced during render. Make sure that this property is reactive, ' + |
3595 | 'either in the data option, or for class-based components, by ' + | 3596 | 'either in the data option, or for class-based components, by ' + |
3596 | 'initializing the property. ' + | 3597 | 'initializing the property. ' + |
3597 | 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', | 3598 | 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', |
3598 | target | 3599 | target |
3599 | ); | 3600 | ); |
3600 | }; | 3601 | }; |
3601 | 3602 | ||
3602 | var warnReservedPrefix = function (target, key) { | 3603 | var warnReservedPrefix = function (target, key) { |
3603 | warn( | 3604 | warn( |
3604 | "Property \"" + key + "\" must be accessed with \"$data." + key + "\" because " + | 3605 | "Property \"" + key + "\" must be accessed with \"$data." + key + "\" because " + |
3605 | 'properties starting with "$" or "_" are not proxied in the Vue instance to ' + | 3606 | 'properties starting with "$" or "_" are not proxied in the Vue instance to ' + |
3606 | 'prevent conflicts with Vue internals. ' + | 3607 | 'prevent conflicts with Vue internals. ' + |
3607 | 'See: https://vuejs.org/v2/api/#data', | 3608 | 'See: https://vuejs.org/v2/api/#data', |
3608 | target | 3609 | target |
3609 | ); | 3610 | ); |
3610 | }; | 3611 | }; |
3611 | 3612 | ||
3612 | var hasProxy = | 3613 | var hasProxy = |
3613 | typeof Proxy !== 'undefined' && isNative(Proxy); | 3614 | typeof Proxy !== 'undefined' && isNative(Proxy); |
3614 | 3615 | ||
3615 | if (hasProxy) { | 3616 | if (hasProxy) { |
3616 | var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact'); | 3617 | var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact'); |
3617 | config.keyCodes = new Proxy(config.keyCodes, { | 3618 | config.keyCodes = new Proxy(config.keyCodes, { |
3618 | set: function set (target, key, value) { | 3619 | set: function set (target, key, value) { |
3619 | if (isBuiltInModifier(key)) { | 3620 | if (isBuiltInModifier(key)) { |
3620 | warn(("Avoid overwriting built-in modifier in config.keyCodes: ." + key)); | 3621 | warn(("Avoid overwriting built-in modifier in config.keyCodes: ." + key)); |
3621 | return false | 3622 | return false |
3622 | } else { | 3623 | } else { |
3623 | target[key] = value; | 3624 | target[key] = value; |
3624 | return true | 3625 | return true |
3625 | } | 3626 | } |
3626 | } | 3627 | } |
3627 | }); | 3628 | }); |
3628 | } | 3629 | } |
3629 | 3630 | ||
3630 | var hasHandler = { | 3631 | var hasHandler = { |
3631 | has: function has (target, key) { | 3632 | has: function has (target, key) { |
3632 | var has = key in target; | 3633 | var has = key in target; |
3633 | var isAllowed = allowedGlobals(key) || | 3634 | var isAllowed = allowedGlobals(key) || |
3634 | (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data)); | 3635 | (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data)); |
3635 | if (!has && !isAllowed) { | 3636 | if (!has && !isAllowed) { |
3636 | if (key in target.$data) { warnReservedPrefix(target, key); } | 3637 | if (key in target.$data) { warnReservedPrefix(target, key); } |
3637 | else { warnNonPresent(target, key); } | 3638 | else { warnNonPresent(target, key); } |
3638 | } | 3639 | } |
3639 | return has || !isAllowed | 3640 | return has || !isAllowed |
3640 | } | 3641 | } |
3641 | }; | 3642 | }; |
3642 | 3643 | ||
3643 | var getHandler = { | 3644 | var getHandler = { |
3644 | get: function get (target, key) { | 3645 | get: function get (target, key) { |
3645 | if (typeof key === 'string' && !(key in target)) { | 3646 | if (typeof key === 'string' && !(key in target)) { |
3646 | if (key in target.$data) { warnReservedPrefix(target, key); } | 3647 | if (key in target.$data) { warnReservedPrefix(target, key); } |
3647 | else { warnNonPresent(target, key); } | 3648 | else { warnNonPresent(target, key); } |
3648 | } | 3649 | } |
3649 | return target[key] | 3650 | return target[key] |
3650 | } | 3651 | } |
3651 | }; | 3652 | }; |
3652 | 3653 | ||
3653 | initProxy = function initProxy (vm) { | 3654 | initProxy = function initProxy (vm) { |
3654 | if (hasProxy) { | 3655 | if (hasProxy) { |
3655 | // determine which proxy handler to use | 3656 | // determine which proxy handler to use |
3656 | var options = vm.$options; | 3657 | var options = vm.$options; |
3657 | var handlers = options.render && options.render._withStripped | 3658 | var handlers = options.render && options.render._withStripped |
3658 | ? getHandler | 3659 | ? getHandler |
3659 | : hasHandler; | 3660 | : hasHandler; |
3660 | vm._renderProxy = new Proxy(vm, handlers); | 3661 | vm._renderProxy = new Proxy(vm, handlers); |
3661 | } else { | 3662 | } else { |
3662 | vm._renderProxy = vm; | 3663 | vm._renderProxy = vm; |
3663 | } | 3664 | } |
3664 | }; | 3665 | }; |
3665 | } | 3666 | } |
3666 | 3667 | ||
3667 | /* */ | 3668 | /* */ |
3668 | 3669 | ||
3669 | var seenObjects = new _Set(); | 3670 | var seenObjects = new _Set(); |
3670 | 3671 | ||
3671 | /** | 3672 | /** |
3672 | * Recursively traverse an object to evoke all converted | 3673 | * Recursively traverse an object to evoke all converted |
3673 | * getters, so that every nested property inside the object | 3674 | * getters, so that every nested property inside the object |
3674 | * is collected as a "deep" dependency. | 3675 | * is collected as a "deep" dependency. |
3675 | */ | 3676 | */ |
3676 | function traverse (val) { | 3677 | function traverse (val) { |
3677 | _traverse(val, seenObjects); | 3678 | _traverse(val, seenObjects); |
3678 | seenObjects.clear(); | 3679 | seenObjects.clear(); |
3679 | } | 3680 | } |
3680 | 3681 | ||
3681 | function _traverse (val, seen) { | 3682 | function _traverse (val, seen) { |
3682 | var i, keys; | 3683 | var i, keys; |
3683 | var isA = Array.isArray(val); | 3684 | var isA = Array.isArray(val); |
3684 | if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) { | 3685 | if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) { |
3685 | return | 3686 | return |
3686 | } | 3687 | } |
3687 | if (val.__ob__) { | 3688 | if (val.__ob__) { |
3688 | var depId = val.__ob__.dep.id; | 3689 | var depId = val.__ob__.dep.id; |
3689 | if (seen.has(depId)) { | 3690 | if (seen.has(depId)) { |
3690 | return | 3691 | return |
3691 | } | 3692 | } |
3692 | seen.add(depId); | 3693 | seen.add(depId); |
3693 | } | 3694 | } |
3694 | if (isA) { | 3695 | if (isA) { |
3695 | i = val.length; | 3696 | i = val.length; |
3696 | while (i--) { _traverse(val[i], seen); } | 3697 | while (i--) { _traverse(val[i], seen); } |
3697 | } else { | 3698 | } else { |
3698 | keys = Object.keys(val); | 3699 | keys = Object.keys(val); |
3699 | i = keys.length; | 3700 | i = keys.length; |
3700 | while (i--) { _traverse(val[keys[i]], seen); } | 3701 | while (i--) { _traverse(val[keys[i]], seen); } |
3701 | } | 3702 | } |
3702 | } | 3703 | } |
3703 | 3704 | ||
3704 | var mark; | 3705 | var mark; |
3705 | var measure; | 3706 | var measure; |
3706 | 3707 | ||
3707 | if (true) { | 3708 | if (true) { |
3708 | var perf = inBrowser && window.performance; | 3709 | var perf = inBrowser && window.performance; |
3709 | /* istanbul ignore if */ | 3710 | /* istanbul ignore if */ |
3710 | if ( | 3711 | if ( |
3711 | perf && | 3712 | perf && |
3712 | perf.mark && | 3713 | perf.mark && |
3713 | perf.measure && | 3714 | perf.measure && |
3714 | perf.clearMarks && | 3715 | perf.clearMarks && |
3715 | perf.clearMeasures | 3716 | perf.clearMeasures |
3716 | ) { | 3717 | ) { |
3717 | mark = function (tag) { return perf.mark(tag); }; | 3718 | mark = function (tag) { return perf.mark(tag); }; |
3718 | measure = function (name, startTag, endTag) { | 3719 | measure = function (name, startTag, endTag) { |
3719 | perf.measure(name, startTag, endTag); | 3720 | perf.measure(name, startTag, endTag); |
3720 | perf.clearMarks(startTag); | 3721 | perf.clearMarks(startTag); |
3721 | perf.clearMarks(endTag); | 3722 | perf.clearMarks(endTag); |
3722 | // perf.clearMeasures(name) | 3723 | // perf.clearMeasures(name) |
3723 | }; | 3724 | }; |
3724 | } | 3725 | } |
3725 | } | 3726 | } |
3726 | 3727 | ||
3727 | /* */ | 3728 | /* */ |
3728 | 3729 | ||
3729 | var normalizeEvent = cached(function (name) { | 3730 | var normalizeEvent = cached(function (name) { |
3730 | var passive = name.charAt(0) === '&'; | 3731 | var passive = name.charAt(0) === '&'; |
3731 | name = passive ? name.slice(1) : name; | 3732 | name = passive ? name.slice(1) : name; |
3732 | var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first | 3733 | var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first |
3733 | name = once$$1 ? name.slice(1) : name; | 3734 | name = once$$1 ? name.slice(1) : name; |
3734 | var capture = name.charAt(0) === '!'; | 3735 | var capture = name.charAt(0) === '!'; |
3735 | name = capture ? name.slice(1) : name; | 3736 | name = capture ? name.slice(1) : name; |
3736 | return { | 3737 | return { |
3737 | name: name, | 3738 | name: name, |
3738 | once: once$$1, | 3739 | once: once$$1, |
3739 | capture: capture, | 3740 | capture: capture, |
3740 | passive: passive | 3741 | passive: passive |
3741 | } | 3742 | } |
3742 | }); | 3743 | }); |
3743 | 3744 | ||
3744 | function createFnInvoker (fns, vm) { | 3745 | function createFnInvoker (fns, vm) { |
3745 | function invoker () { | 3746 | function invoker () { |
3746 | var arguments$1 = arguments; | 3747 | var arguments$1 = arguments; |
3747 | 3748 | ||
3748 | var fns = invoker.fns; | 3749 | var fns = invoker.fns; |
3749 | if (Array.isArray(fns)) { | 3750 | if (Array.isArray(fns)) { |
3750 | var cloned = fns.slice(); | 3751 | var cloned = fns.slice(); |
3751 | for (var i = 0; i < cloned.length; i++) { | 3752 | for (var i = 0; i < cloned.length; i++) { |
3752 | invokeWithErrorHandling(cloned[i], null, arguments$1, vm, "v-on handler"); | 3753 | invokeWithErrorHandling(cloned[i], null, arguments$1, vm, "v-on handler"); |
3753 | } | 3754 | } |
3754 | } else { | 3755 | } else { |
3755 | // return handler return value for single handlers | 3756 | // return handler return value for single handlers |
3756 | return invokeWithErrorHandling(fns, null, arguments, vm, "v-on handler") | 3757 | return invokeWithErrorHandling(fns, null, arguments, vm, "v-on handler") |
3757 | } | 3758 | } |
3758 | } | 3759 | } |
3759 | invoker.fns = fns; | 3760 | invoker.fns = fns; |
3760 | return invoker | 3761 | return invoker |
3761 | } | 3762 | } |
3762 | 3763 | ||
3763 | function updateListeners ( | 3764 | function updateListeners ( |
3764 | on, | 3765 | on, |
3765 | oldOn, | 3766 | oldOn, |
3766 | add, | 3767 | add, |
3767 | remove$$1, | 3768 | remove$$1, |
3768 | createOnceHandler, | 3769 | createOnceHandler, |
3769 | vm | 3770 | vm |
3770 | ) { | 3771 | ) { |
3771 | var name, def$$1, cur, old, event; | 3772 | var name, def$$1, cur, old, event; |
3772 | for (name in on) { | 3773 | for (name in on) { |
3773 | def$$1 = cur = on[name]; | 3774 | def$$1 = cur = on[name]; |
3774 | old = oldOn[name]; | 3775 | old = oldOn[name]; |
3775 | event = normalizeEvent(name); | 3776 | event = normalizeEvent(name); |
3776 | if (isUndef(cur)) { | 3777 | if (isUndef(cur)) { |
3777 | true && warn( | 3778 | true && warn( |
3778 | "Invalid handler for event \"" + (event.name) + "\": got " + String(cur), | 3779 | "Invalid handler for event \"" + (event.name) + "\": got " + String(cur), |
3779 | vm | 3780 | vm |
3780 | ); | 3781 | ); |
3781 | } else if (isUndef(old)) { | 3782 | } else if (isUndef(old)) { |
3782 | if (isUndef(cur.fns)) { | 3783 | if (isUndef(cur.fns)) { |
3783 | cur = on[name] = createFnInvoker(cur, vm); | 3784 | cur = on[name] = createFnInvoker(cur, vm); |
3784 | } | 3785 | } |
3785 | if (isTrue(event.once)) { | 3786 | if (isTrue(event.once)) { |
3786 | cur = on[name] = createOnceHandler(event.name, cur, event.capture); | 3787 | cur = on[name] = createOnceHandler(event.name, cur, event.capture); |
3787 | } | 3788 | } |
3788 | add(event.name, cur, event.capture, event.passive, event.params); | 3789 | add(event.name, cur, event.capture, event.passive, event.params); |
3789 | } else if (cur !== old) { | 3790 | } else if (cur !== old) { |
3790 | old.fns = cur; | 3791 | old.fns = cur; |
3791 | on[name] = old; | 3792 | on[name] = old; |
3792 | } | 3793 | } |
3793 | } | 3794 | } |
3794 | for (name in oldOn) { | 3795 | for (name in oldOn) { |
3795 | if (isUndef(on[name])) { | 3796 | if (isUndef(on[name])) { |
3796 | event = normalizeEvent(name); | 3797 | event = normalizeEvent(name); |
3797 | remove$$1(event.name, oldOn[name], event.capture); | 3798 | remove$$1(event.name, oldOn[name], event.capture); |
3798 | } | 3799 | } |
3799 | } | 3800 | } |
3800 | } | 3801 | } |
3801 | 3802 | ||
3802 | /* */ | 3803 | /* */ |
3803 | 3804 | ||
3804 | /* */ | 3805 | /* */ |
3805 | 3806 | ||
3806 | // fixed by xxxxxx (mp properties) | 3807 | // fixed by xxxxxx (mp properties) |
3807 | function extractPropertiesFromVNodeData(data, Ctor, res, context) { | 3808 | function extractPropertiesFromVNodeData(data, Ctor, res, context) { |
3808 | var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties; | 3809 | var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties; |
3809 | if (isUndef(propOptions)) { | 3810 | if (isUndef(propOptions)) { |
3810 | return res | 3811 | return res |
3811 | } | 3812 | } |
3812 | var externalClasses = Ctor.options.mpOptions.externalClasses || []; | 3813 | var externalClasses = Ctor.options.mpOptions.externalClasses || []; |
3813 | var attrs = data.attrs; | 3814 | var attrs = data.attrs; |
3814 | var props = data.props; | 3815 | var props = data.props; |
3815 | if (isDef(attrs) || isDef(props)) { | 3816 | if (isDef(attrs) || isDef(props)) { |
3816 | for (var key in propOptions) { | 3817 | for (var key in propOptions) { |
3817 | var altKey = hyphenate(key); | 3818 | var altKey = hyphenate(key); |
3818 | var result = checkProp(res, props, key, altKey, true) || | 3819 | var result = checkProp(res, props, key, altKey, true) || |
3819 | checkProp(res, attrs, key, altKey, false); | 3820 | checkProp(res, attrs, key, altKey, false); |
3820 | // externalClass | 3821 | // externalClass |
3821 | if ( | 3822 | if ( |
3822 | result && | 3823 | result && |
3823 | res[key] && | 3824 | res[key] && |
3824 | externalClasses.indexOf(altKey) !== -1 && | 3825 | externalClasses.indexOf(altKey) !== -1 && |
3825 | context[camelize(res[key])] | 3826 | context[camelize(res[key])] |
3826 | ) { | 3827 | ) { |
3827 | // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串) | 3828 | // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串) |
3828 | res[key] = context[camelize(res[key])]; | 3829 | res[key] = context[camelize(res[key])]; |
3829 | } | 3830 | } |
3830 | } | 3831 | } |
3831 | } | 3832 | } |
3832 | return res | 3833 | return res |
3833 | } | 3834 | } |
3834 | 3835 | ||
3835 | function extractPropsFromVNodeData ( | 3836 | function extractPropsFromVNodeData ( |
3836 | data, | 3837 | data, |
3837 | Ctor, | 3838 | Ctor, |
3838 | tag, | 3839 | tag, |
3839 | context// fixed by xxxxxx | 3840 | context// fixed by xxxxxx |
3840 | ) { | 3841 | ) { |
3841 | // we are only extracting raw values here. | 3842 | // we are only extracting raw values here. |
3842 | // validation and default values are handled in the child | 3843 | // validation and default values are handled in the child |
3843 | // component itself. | 3844 | // component itself. |
3844 | var propOptions = Ctor.options.props; | 3845 | var propOptions = Ctor.options.props; |
3845 | if (isUndef(propOptions)) { | 3846 | if (isUndef(propOptions)) { |
3846 | // fixed by xxxxxx | 3847 | // fixed by xxxxxx |
3847 | return extractPropertiesFromVNodeData(data, Ctor, {}, context) | 3848 | return extractPropertiesFromVNodeData(data, Ctor, {}, context) |
3848 | } | 3849 | } |
3849 | var res = {}; | 3850 | var res = {}; |
3850 | var attrs = data.attrs; | 3851 | var attrs = data.attrs; |
3851 | var props = data.props; | 3852 | var props = data.props; |
3852 | if (isDef(attrs) || isDef(props)) { | 3853 | if (isDef(attrs) || isDef(props)) { |
3853 | for (var key in propOptions) { | 3854 | for (var key in propOptions) { |
3854 | var altKey = hyphenate(key); | 3855 | var altKey = hyphenate(key); |
3855 | if (true) { | 3856 | if (true) { |
3856 | var keyInLowerCase = key.toLowerCase(); | 3857 | var keyInLowerCase = key.toLowerCase(); |
3857 | if ( | 3858 | if ( |
3858 | key !== keyInLowerCase && | 3859 | key !== keyInLowerCase && |
3859 | attrs && hasOwn(attrs, keyInLowerCase) | 3860 | attrs && hasOwn(attrs, keyInLowerCase) |
3860 | ) { | 3861 | ) { |
3861 | tip( | 3862 | tip( |
3862 | "Prop \"" + keyInLowerCase + "\" is passed to component " + | 3863 | "Prop \"" + keyInLowerCase + "\" is passed to component " + |
3863 | (formatComponentName(tag || Ctor)) + ", but the declared prop name is" + | 3864 | (formatComponentName(tag || Ctor)) + ", but the declared prop name is" + |
3864 | " \"" + key + "\". " + | 3865 | " \"" + key + "\". " + |
3865 | "Note that HTML attributes are case-insensitive and camelCased " + | 3866 | "Note that HTML attributes are case-insensitive and camelCased " + |
3866 | "props need to use their kebab-case equivalents when using in-DOM " + | 3867 | "props need to use their kebab-case equivalents when using in-DOM " + |
3867 | "templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"." | 3868 | "templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"." |
3868 | ); | 3869 | ); |
3869 | } | 3870 | } |
3870 | } | 3871 | } |
3871 | checkProp(res, props, key, altKey, true) || | 3872 | checkProp(res, props, key, altKey, true) || |
3872 | checkProp(res, attrs, key, altKey, false); | 3873 | checkProp(res, attrs, key, altKey, false); |
3873 | } | 3874 | } |
3874 | } | 3875 | } |
3875 | // fixed by xxxxxx | 3876 | // fixed by xxxxxx |
3876 | return extractPropertiesFromVNodeData(data, Ctor, res, context) | 3877 | return extractPropertiesFromVNodeData(data, Ctor, res, context) |
3877 | } | 3878 | } |
3878 | 3879 | ||
3879 | function checkProp ( | 3880 | function checkProp ( |
3880 | res, | 3881 | res, |
3881 | hash, | 3882 | hash, |
3882 | key, | 3883 | key, |
3883 | altKey, | 3884 | altKey, |
3884 | preserve | 3885 | preserve |
3885 | ) { | 3886 | ) { |
3886 | if (isDef(hash)) { | 3887 | if (isDef(hash)) { |
3887 | if (hasOwn(hash, key)) { | 3888 | if (hasOwn(hash, key)) { |
3888 | res[key] = hash[key]; | 3889 | res[key] = hash[key]; |
3889 | if (!preserve) { | 3890 | if (!preserve) { |
3890 | delete hash[key]; | 3891 | delete hash[key]; |
3891 | } | 3892 | } |
3892 | return true | 3893 | return true |
3893 | } else if (hasOwn(hash, altKey)) { | 3894 | } else if (hasOwn(hash, altKey)) { |
3894 | res[key] = hash[altKey]; | 3895 | res[key] = hash[altKey]; |
3895 | if (!preserve) { | 3896 | if (!preserve) { |
3896 | delete hash[altKey]; | 3897 | delete hash[altKey]; |
3897 | } | 3898 | } |
3898 | return true | 3899 | return true |
3899 | } | 3900 | } |
3900 | } | 3901 | } |
3901 | return false | 3902 | return false |
3902 | } | 3903 | } |
3903 | 3904 | ||
3904 | /* */ | 3905 | /* */ |
3905 | 3906 | ||
3906 | // The template compiler attempts to minimize the need for normalization by | 3907 | // The template compiler attempts to minimize the need for normalization by |
3907 | // statically analyzing the template at compile time. | 3908 | // statically analyzing the template at compile time. |
3908 | // | 3909 | // |
3909 | // For plain HTML markup, normalization can be completely skipped because the | 3910 | // For plain HTML markup, normalization can be completely skipped because the |
3910 | // generated render function is guaranteed to return Array<VNode>. There are | 3911 | // generated render function is guaranteed to return Array<VNode>. There are |
3911 | // two cases where extra normalization is needed: | 3912 | // two cases where extra normalization is needed: |
3912 | 3913 | ||
3913 | // 1. When the children contains components - because a functional component | 3914 | // 1. When the children contains components - because a functional component |
3914 | // may return an Array instead of a single root. In this case, just a simple | 3915 | // may return an Array instead of a single root. In this case, just a simple |
3915 | // normalization is needed - if any child is an Array, we flatten the whole | 3916 | // normalization is needed - if any child is an Array, we flatten the whole |
3916 | // thing with Array.prototype.concat. It is guaranteed to be only 1-level deep | 3917 | // thing with Array.prototype.concat. It is guaranteed to be only 1-level deep |
3917 | // because functional components already normalize their own children. | 3918 | // because functional components already normalize their own children. |
3918 | function simpleNormalizeChildren (children) { | 3919 | function simpleNormalizeChildren (children) { |
3919 | for (var i = 0; i < children.length; i++) { | 3920 | for (var i = 0; i < children.length; i++) { |
3920 | if (Array.isArray(children[i])) { | 3921 | if (Array.isArray(children[i])) { |
3921 | return Array.prototype.concat.apply([], children) | 3922 | return Array.prototype.concat.apply([], children) |
3922 | } | 3923 | } |
3923 | } | 3924 | } |
3924 | return children | 3925 | return children |
3925 | } | 3926 | } |
3926 | 3927 | ||
3927 | // 2. When the children contains constructs that always generated nested Arrays, | 3928 | // 2. When the children contains constructs that always generated nested Arrays, |
3928 | // e.g. <template>, <slot>, v-for, or when the children is provided by user | 3929 | // e.g. <template>, <slot>, v-for, or when the children is provided by user |
3929 | // with hand-written render functions / JSX. In such cases a full normalization | 3930 | // with hand-written render functions / JSX. In such cases a full normalization |
3930 | // is needed to cater to all possible types of children values. | 3931 | // is needed to cater to all possible types of children values. |
3931 | function normalizeChildren (children) { | 3932 | function normalizeChildren (children) { |
3932 | return isPrimitive(children) | 3933 | return isPrimitive(children) |
3933 | ? [createTextVNode(children)] | 3934 | ? [createTextVNode(children)] |
3934 | : Array.isArray(children) | 3935 | : Array.isArray(children) |
3935 | ? normalizeArrayChildren(children) | 3936 | ? normalizeArrayChildren(children) |
3936 | : undefined | 3937 | : undefined |
3937 | } | 3938 | } |
3938 | 3939 | ||
3939 | function isTextNode (node) { | 3940 | function isTextNode (node) { |
3940 | return isDef(node) && isDef(node.text) && isFalse(node.isComment) | 3941 | return isDef(node) && isDef(node.text) && isFalse(node.isComment) |
3941 | } | 3942 | } |
3942 | 3943 | ||
3943 | function normalizeArrayChildren (children, nestedIndex) { | 3944 | function normalizeArrayChildren (children, nestedIndex) { |
3944 | var res = []; | 3945 | var res = []; |
3945 | var i, c, lastIndex, last; | 3946 | var i, c, lastIndex, last; |
3946 | for (i = 0; i < children.length; i++) { | 3947 | for (i = 0; i < children.length; i++) { |
3947 | c = children[i]; | 3948 | c = children[i]; |
3948 | if (isUndef(c) || typeof c === 'boolean') { continue } | 3949 | if (isUndef(c) || typeof c === 'boolean') { continue } |
3949 | lastIndex = res.length - 1; | 3950 | lastIndex = res.length - 1; |
3950 | last = res[lastIndex]; | 3951 | last = res[lastIndex]; |
3951 | // nested | 3952 | // nested |
3952 | if (Array.isArray(c)) { | 3953 | if (Array.isArray(c)) { |
3953 | if (c.length > 0) { | 3954 | if (c.length > 0) { |
3954 | c = normalizeArrayChildren(c, ((nestedIndex || '') + "_" + i)); | 3955 | c = normalizeArrayChildren(c, ((nestedIndex || '') + "_" + i)); |
3955 | // merge adjacent text nodes | 3956 | // merge adjacent text nodes |
3956 | if (isTextNode(c[0]) && isTextNode(last)) { | 3957 | if (isTextNode(c[0]) && isTextNode(last)) { |
3957 | res[lastIndex] = createTextVNode(last.text + (c[0]).text); | 3958 | res[lastIndex] = createTextVNode(last.text + (c[0]).text); |
3958 | c.shift(); | 3959 | c.shift(); |
3959 | } | 3960 | } |
3960 | res.push.apply(res, c); | 3961 | res.push.apply(res, c); |
3961 | } | 3962 | } |
3962 | } else if (isPrimitive(c)) { | 3963 | } else if (isPrimitive(c)) { |
3963 | if (isTextNode(last)) { | 3964 | if (isTextNode(last)) { |
3964 | // merge adjacent text nodes | 3965 | // merge adjacent text nodes |
3965 | // this is necessary for SSR hydration because text nodes are | 3966 | // this is necessary for SSR hydration because text nodes are |
3966 | // essentially merged when rendered to HTML strings | 3967 | // essentially merged when rendered to HTML strings |
3967 | res[lastIndex] = createTextVNode(last.text + c); | 3968 | res[lastIndex] = createTextVNode(last.text + c); |
3968 | } else if (c !== '') { | 3969 | } else if (c !== '') { |
3969 | // convert primitive to vnode | 3970 | // convert primitive to vnode |
3970 | res.push(createTextVNode(c)); | 3971 | res.push(createTextVNode(c)); |
3971 | } | 3972 | } |
3972 | } else { | 3973 | } else { |
3973 | if (isTextNode(c) && isTextNode(last)) { | 3974 | if (isTextNode(c) && isTextNode(last)) { |
3974 | // merge adjacent text nodes | 3975 | // merge adjacent text nodes |
3975 | res[lastIndex] = createTextVNode(last.text + c.text); | 3976 | res[lastIndex] = createTextVNode(last.text + c.text); |
3976 | } else { | 3977 | } else { |
3977 | // default key for nested array children (likely generated by v-for) | 3978 | // default key for nested array children (likely generated by v-for) |
3978 | if (isTrue(children._isVList) && | 3979 | if (isTrue(children._isVList) && |
3979 | isDef(c.tag) && | 3980 | isDef(c.tag) && |
3980 | isUndef(c.key) && | 3981 | isUndef(c.key) && |
3981 | isDef(nestedIndex)) { | 3982 | isDef(nestedIndex)) { |
3982 | c.key = "__vlist" + nestedIndex + "_" + i + "__"; | 3983 | c.key = "__vlist" + nestedIndex + "_" + i + "__"; |
3983 | } | 3984 | } |
3984 | res.push(c); | 3985 | res.push(c); |
3985 | } | 3986 | } |
3986 | } | 3987 | } |
3987 | } | 3988 | } |
3988 | return res | 3989 | return res |
3989 | } | 3990 | } |
3990 | 3991 | ||
3991 | /* */ | 3992 | /* */ |
3992 | 3993 | ||
3993 | function initProvide (vm) { | 3994 | function initProvide (vm) { |
3994 | var provide = vm.$options.provide; | 3995 | var provide = vm.$options.provide; |
3995 | if (provide) { | 3996 | if (provide) { |
3996 | vm._provided = typeof provide === 'function' | 3997 | vm._provided = typeof provide === 'function' |
3997 | ? provide.call(vm) | 3998 | ? provide.call(vm) |
3998 | : provide; | 3999 | : provide; |
3999 | } | 4000 | } |
4000 | } | 4001 | } |
4001 | 4002 | ||
4002 | function initInjections (vm) { | 4003 | function initInjections (vm) { |
4003 | var result = resolveInject(vm.$options.inject, vm); | 4004 | var result = resolveInject(vm.$options.inject, vm); |
4004 | if (result) { | 4005 | if (result) { |
4005 | toggleObserving(false); | 4006 | toggleObserving(false); |
4006 | Object.keys(result).forEach(function (key) { | 4007 | Object.keys(result).forEach(function (key) { |
4007 | /* istanbul ignore else */ | 4008 | /* istanbul ignore else */ |
4008 | if (true) { | 4009 | if (true) { |
4009 | defineReactive$$1(vm, key, result[key], function () { | 4010 | defineReactive$$1(vm, key, result[key], function () { |
4010 | warn( | 4011 | warn( |
4011 | "Avoid mutating an injected value directly since the changes will be " + | 4012 | "Avoid mutating an injected value directly since the changes will be " + |
4012 | "overwritten whenever the provided component re-renders. " + | 4013 | "overwritten whenever the provided component re-renders. " + |
4013 | "injection being mutated: \"" + key + "\"", | 4014 | "injection being mutated: \"" + key + "\"", |
4014 | vm | 4015 | vm |
4015 | ); | 4016 | ); |
4016 | }); | 4017 | }); |
4017 | } else {} | 4018 | } else {} |
4018 | }); | 4019 | }); |
4019 | toggleObserving(true); | 4020 | toggleObserving(true); |
4020 | } | 4021 | } |
4021 | } | 4022 | } |
4022 | 4023 | ||
4023 | function resolveInject (inject, vm) { | 4024 | function resolveInject (inject, vm) { |
4024 | if (inject) { | 4025 | if (inject) { |
4025 | // inject is :any because flow is not smart enough to figure out cached | 4026 | // inject is :any because flow is not smart enough to figure out cached |
4026 | var result = Object.create(null); | 4027 | var result = Object.create(null); |
4027 | var keys = hasSymbol | 4028 | var keys = hasSymbol |
4028 | ? Reflect.ownKeys(inject) | 4029 | ? Reflect.ownKeys(inject) |
4029 | : Object.keys(inject); | 4030 | : Object.keys(inject); |
4030 | 4031 | ||
4031 | for (var i = 0; i < keys.length; i++) { | 4032 | for (var i = 0; i < keys.length; i++) { |
4032 | var key = keys[i]; | 4033 | var key = keys[i]; |
4033 | // #6574 in case the inject object is observed... | 4034 | // #6574 in case the inject object is observed... |
4034 | if (key === '__ob__') { continue } | 4035 | if (key === '__ob__') { continue } |
4035 | var provideKey = inject[key].from; | 4036 | var provideKey = inject[key].from; |
4036 | var source = vm; | 4037 | var source = vm; |
4037 | while (source) { | 4038 | while (source) { |
4038 | if (source._provided && hasOwn(source._provided, provideKey)) { | 4039 | if (source._provided && hasOwn(source._provided, provideKey)) { |
4039 | result[key] = source._provided[provideKey]; | 4040 | result[key] = source._provided[provideKey]; |
4040 | break | 4041 | break |
4041 | } | 4042 | } |
4042 | source = source.$parent; | 4043 | source = source.$parent; |
4043 | } | 4044 | } |
4044 | if (!source) { | 4045 | if (!source) { |
4045 | if ('default' in inject[key]) { | 4046 | if ('default' in inject[key]) { |
4046 | var provideDefault = inject[key].default; | 4047 | var provideDefault = inject[key].default; |
4047 | result[key] = typeof provideDefault === 'function' | 4048 | result[key] = typeof provideDefault === 'function' |
4048 | ? provideDefault.call(vm) | 4049 | ? provideDefault.call(vm) |
4049 | : provideDefault; | 4050 | : provideDefault; |
4050 | } else if (true) { | 4051 | } else if (true) { |
4051 | warn(("Injection \"" + key + "\" not found"), vm); | 4052 | warn(("Injection \"" + key + "\" not found"), vm); |
4052 | } | 4053 | } |
4053 | } | 4054 | } |
4054 | } | 4055 | } |
4055 | return result | 4056 | return result |
4056 | } | 4057 | } |
4057 | } | 4058 | } |
4058 | 4059 | ||
4059 | /* */ | 4060 | /* */ |
4060 | 4061 | ||
4061 | 4062 | ||
4062 | 4063 | ||
4063 | /** | 4064 | /** |
4064 | * Runtime helper for resolving raw children VNodes into a slot object. | 4065 | * Runtime helper for resolving raw children VNodes into a slot object. |
4065 | */ | 4066 | */ |
4066 | function resolveSlots ( | 4067 | function resolveSlots ( |
4067 | children, | 4068 | children, |
4068 | context | 4069 | context |
4069 | ) { | 4070 | ) { |
4070 | if (!children || !children.length) { | 4071 | if (!children || !children.length) { |
4071 | return {} | 4072 | return {} |
4072 | } | 4073 | } |
4073 | var slots = {}; | 4074 | var slots = {}; |
4074 | for (var i = 0, l = children.length; i < l; i++) { | 4075 | for (var i = 0, l = children.length; i < l; i++) { |
4075 | var child = children[i]; | 4076 | var child = children[i]; |
4076 | var data = child.data; | 4077 | var data = child.data; |
4077 | // remove slot attribute if the node is resolved as a Vue slot node | 4078 | // remove slot attribute if the node is resolved as a Vue slot node |
4078 | if (data && data.attrs && data.attrs.slot) { | 4079 | if (data && data.attrs && data.attrs.slot) { |
4079 | delete data.attrs.slot; | 4080 | delete data.attrs.slot; |
4080 | } | 4081 | } |
4081 | // named slots should only be respected if the vnode was rendered in the | 4082 | // named slots should only be respected if the vnode was rendered in the |
4082 | // same context. | 4083 | // same context. |
4083 | if ((child.context === context || child.fnContext === context) && | 4084 | if ((child.context === context || child.fnContext === context) && |
4084 | data && data.slot != null | 4085 | data && data.slot != null |
4085 | ) { | 4086 | ) { |
4086 | var name = data.slot; | 4087 | var name = data.slot; |
4087 | var slot = (slots[name] || (slots[name] = [])); | 4088 | var slot = (slots[name] || (slots[name] = [])); |
4088 | if (child.tag === 'template') { | 4089 | if (child.tag === 'template') { |
4089 | slot.push.apply(slot, child.children || []); | 4090 | slot.push.apply(slot, child.children || []); |
4090 | } else { | 4091 | } else { |
4091 | slot.push(child); | 4092 | slot.push(child); |
4092 | } | 4093 | } |
4093 | } else { | 4094 | } else { |
4094 | // fixed by xxxxxx 临时 hack 掉 uni-app 中的异步 name slot page | 4095 | // fixed by xxxxxx 临时 hack 掉 uni-app 中的异步 name slot page |
4095 | if(child.asyncMeta && child.asyncMeta.data && child.asyncMeta.data.slot === 'page'){ | 4096 | if(child.asyncMeta && child.asyncMeta.data && child.asyncMeta.data.slot === 'page'){ |
4096 | (slots['page'] || (slots['page'] = [])).push(child); | 4097 | (slots['page'] || (slots['page'] = [])).push(child); |
4097 | }else{ | 4098 | }else{ |
4098 | (slots.default || (slots.default = [])).push(child); | 4099 | (slots.default || (slots.default = [])).push(child); |
4099 | } | 4100 | } |
4100 | } | 4101 | } |
4101 | } | 4102 | } |
4102 | // ignore slots that contains only whitespace | 4103 | // ignore slots that contains only whitespace |
4103 | for (var name$1 in slots) { | 4104 | for (var name$1 in slots) { |
4104 | if (slots[name$1].every(isWhitespace)) { | 4105 | if (slots[name$1].every(isWhitespace)) { |
4105 | delete slots[name$1]; | 4106 | delete slots[name$1]; |
4106 | } | 4107 | } |
4107 | } | 4108 | } |
4108 | return slots | 4109 | return slots |
4109 | } | 4110 | } |
4110 | 4111 | ||
4111 | function isWhitespace (node) { | 4112 | function isWhitespace (node) { |
4112 | return (node.isComment && !node.asyncFactory) || node.text === ' ' | 4113 | return (node.isComment && !node.asyncFactory) || node.text === ' ' |
4113 | } | 4114 | } |
4114 | 4115 | ||
4115 | /* */ | 4116 | /* */ |
4116 | 4117 | ||
4117 | function normalizeScopedSlots ( | 4118 | function normalizeScopedSlots ( |
4118 | slots, | 4119 | slots, |
4119 | normalSlots, | 4120 | normalSlots, |
4120 | prevSlots | 4121 | prevSlots |
4121 | ) { | 4122 | ) { |
4122 | var res; | 4123 | var res; |
4123 | var hasNormalSlots = Object.keys(normalSlots).length > 0; | 4124 | var hasNormalSlots = Object.keys(normalSlots).length > 0; |
4124 | var isStable = slots ? !!slots.$stable : !hasNormalSlots; | 4125 | var isStable = slots ? !!slots.$stable : !hasNormalSlots; |
4125 | var key = slots && slots.$key; | 4126 | var key = slots && slots.$key; |
4126 | if (!slots) { | 4127 | if (!slots) { |
4127 | res = {}; | 4128 | res = {}; |
4128 | } else if (slots._normalized) { | 4129 | } else if (slots._normalized) { |
4129 | // fast path 1: child component re-render only, parent did not change | 4130 | // fast path 1: child component re-render only, parent did not change |
4130 | return slots._normalized | 4131 | return slots._normalized |
4131 | } else if ( | 4132 | } else if ( |
4132 | isStable && | 4133 | isStable && |
4133 | prevSlots && | 4134 | prevSlots && |
4134 | prevSlots !== emptyObject && | 4135 | prevSlots !== emptyObject && |
4135 | key === prevSlots.$key && | 4136 | key === prevSlots.$key && |
4136 | !hasNormalSlots && | 4137 | !hasNormalSlots && |
4137 | !prevSlots.$hasNormal | 4138 | !prevSlots.$hasNormal |
4138 | ) { | 4139 | ) { |
4139 | // fast path 2: stable scoped slots w/ no normal slots to proxy, | 4140 | // fast path 2: stable scoped slots w/ no normal slots to proxy, |
4140 | // only need to normalize once | 4141 | // only need to normalize once |
4141 | return prevSlots | 4142 | return prevSlots |
4142 | } else { | 4143 | } else { |
4143 | res = {}; | 4144 | res = {}; |
4144 | for (var key$1 in slots) { | 4145 | for (var key$1 in slots) { |
4145 | if (slots[key$1] && key$1[0] !== '$') { | 4146 | if (slots[key$1] && key$1[0] !== '$') { |
4146 | res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]); | 4147 | res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]); |
4147 | } | 4148 | } |
4148 | } | 4149 | } |
4149 | } | 4150 | } |
4150 | // expose normal slots on scopedSlots | 4151 | // expose normal slots on scopedSlots |
4151 | for (var key$2 in normalSlots) { | 4152 | for (var key$2 in normalSlots) { |
4152 | if (!(key$2 in res)) { | 4153 | if (!(key$2 in res)) { |
4153 | res[key$2] = proxyNormalSlot(normalSlots, key$2); | 4154 | res[key$2] = proxyNormalSlot(normalSlots, key$2); |
4154 | } | 4155 | } |
4155 | } | 4156 | } |
4156 | // avoriaz seems to mock a non-extensible $scopedSlots object | 4157 | // avoriaz seems to mock a non-extensible $scopedSlots object |
4157 | // and when that is passed down this would cause an error | 4158 | // and when that is passed down this would cause an error |
4158 | if (slots && Object.isExtensible(slots)) { | 4159 | if (slots && Object.isExtensible(slots)) { |
4159 | (slots)._normalized = res; | 4160 | (slots)._normalized = res; |
4160 | } | 4161 | } |
4161 | def(res, '$stable', isStable); | 4162 | def(res, '$stable', isStable); |
4162 | def(res, '$key', key); | 4163 | def(res, '$key', key); |
4163 | def(res, '$hasNormal', hasNormalSlots); | 4164 | def(res, '$hasNormal', hasNormalSlots); |
4164 | return res | 4165 | return res |
4165 | } | 4166 | } |
4166 | 4167 | ||
4167 | function normalizeScopedSlot(normalSlots, key, fn) { | 4168 | function normalizeScopedSlot(normalSlots, key, fn) { |
4168 | var normalized = function () { | 4169 | var normalized = function () { |
4169 | var res = arguments.length ? fn.apply(null, arguments) : fn({}); | 4170 | var res = arguments.length ? fn.apply(null, arguments) : fn({}); |
4170 | res = res && typeof res === 'object' && !Array.isArray(res) | 4171 | res = res && typeof res === 'object' && !Array.isArray(res) |
4171 | ? [res] // single vnode | 4172 | ? [res] // single vnode |
4172 | : normalizeChildren(res); | 4173 | : normalizeChildren(res); |
4173 | return res && ( | 4174 | return res && ( |
4174 | res.length === 0 || | 4175 | res.length === 0 || |
4175 | (res.length === 1 && res[0].isComment) // #9658 | 4176 | (res.length === 1 && res[0].isComment) // #9658 |
4176 | ) ? undefined | 4177 | ) ? undefined |
4177 | : res | 4178 | : res |
4178 | }; | 4179 | }; |
4179 | // this is a slot using the new v-slot syntax without scope. although it is | 4180 | // this is a slot using the new v-slot syntax without scope. although it is |
4180 | // compiled as a scoped slot, render fn users would expect it to be present | 4181 | // compiled as a scoped slot, render fn users would expect it to be present |
4181 | // on this.$slots because the usage is semantically a normal slot. | 4182 | // on this.$slots because the usage is semantically a normal slot. |
4182 | if (fn.proxy) { | 4183 | if (fn.proxy) { |
4183 | Object.defineProperty(normalSlots, key, { | 4184 | Object.defineProperty(normalSlots, key, { |
4184 | get: normalized, | 4185 | get: normalized, |
4185 | enumerable: true, | 4186 | enumerable: true, |
4186 | configurable: true | 4187 | configurable: true |
4187 | }); | 4188 | }); |
4188 | } | 4189 | } |
4189 | return normalized | 4190 | return normalized |
4190 | } | 4191 | } |
4191 | 4192 | ||
4192 | function proxyNormalSlot(slots, key) { | 4193 | function proxyNormalSlot(slots, key) { |
4193 | return function () { return slots[key]; } | 4194 | return function () { return slots[key]; } |
4194 | } | 4195 | } |
4195 | 4196 | ||
4196 | /* */ | 4197 | /* */ |
4197 | 4198 | ||
4198 | /** | 4199 | /** |
4199 | * Runtime helper for rendering v-for lists. | 4200 | * Runtime helper for rendering v-for lists. |
4200 | */ | 4201 | */ |
4201 | function renderList ( | 4202 | function renderList ( |
4202 | val, | 4203 | val, |
4203 | render | 4204 | render |
4204 | ) { | 4205 | ) { |
4205 | var ret, i, l, keys, key; | 4206 | var ret, i, l, keys, key; |
4206 | if (Array.isArray(val) || typeof val === 'string') { | 4207 | if (Array.isArray(val) || typeof val === 'string') { |
4207 | ret = new Array(val.length); | 4208 | ret = new Array(val.length); |
4208 | for (i = 0, l = val.length; i < l; i++) { | 4209 | for (i = 0, l = val.length; i < l; i++) { |
4209 | ret[i] = render(val[i], i, i, i); // fixed by xxxxxx | 4210 | ret[i] = render(val[i], i, i, i); // fixed by xxxxxx |
4210 | } | 4211 | } |
4211 | } else if (typeof val === 'number') { | 4212 | } else if (typeof val === 'number') { |
4212 | ret = new Array(val); | 4213 | ret = new Array(val); |
4213 | for (i = 0; i < val; i++) { | 4214 | for (i = 0; i < val; i++) { |
4214 | ret[i] = render(i + 1, i, i, i); // fixed by xxxxxx | 4215 | ret[i] = render(i + 1, i, i, i); // fixed by xxxxxx |
4215 | } | 4216 | } |
4216 | } else if (isObject(val)) { | 4217 | } else if (isObject(val)) { |
4217 | if (hasSymbol && val[Symbol.iterator]) { | 4218 | if (hasSymbol && val[Symbol.iterator]) { |
4218 | ret = []; | 4219 | ret = []; |
4219 | var iterator = val[Symbol.iterator](); | 4220 | var iterator = val[Symbol.iterator](); |
4220 | var result = iterator.next(); | 4221 | var result = iterator.next(); |
4221 | while (!result.done) { | 4222 | while (!result.done) { |
4222 | ret.push(render(result.value, ret.length, i++, i)); // fixed by xxxxxx | 4223 | ret.push(render(result.value, ret.length, i++, i)); // fixed by xxxxxx |
4223 | result = iterator.next(); | 4224 | result = iterator.next(); |
4224 | } | 4225 | } |
4225 | } else { | 4226 | } else { |
4226 | keys = Object.keys(val); | 4227 | keys = Object.keys(val); |
4227 | ret = new Array(keys.length); | 4228 | ret = new Array(keys.length); |
4228 | for (i = 0, l = keys.length; i < l; i++) { | 4229 | for (i = 0, l = keys.length; i < l; i++) { |
4229 | key = keys[i]; | 4230 | key = keys[i]; |
4230 | ret[i] = render(val[key], key, i, i); // fixed by xxxxxx | 4231 | ret[i] = render(val[key], key, i, i); // fixed by xxxxxx |
4231 | } | 4232 | } |
4232 | } | 4233 | } |
4233 | } | 4234 | } |
4234 | if (!isDef(ret)) { | 4235 | if (!isDef(ret)) { |
4235 | ret = []; | 4236 | ret = []; |
4236 | } | 4237 | } |
4237 | (ret)._isVList = true; | 4238 | (ret)._isVList = true; |
4238 | return ret | 4239 | return ret |
4239 | } | 4240 | } |
4240 | 4241 | ||
4241 | /* */ | 4242 | /* */ |
4242 | 4243 | ||
4243 | /** | 4244 | /** |
4244 | * Runtime helper for rendering <slot> | 4245 | * Runtime helper for rendering <slot> |
4245 | */ | 4246 | */ |
4246 | function renderSlot ( | 4247 | function renderSlot ( |
4247 | name, | 4248 | name, |
4248 | fallback, | 4249 | fallback, |
4249 | props, | 4250 | props, |
4250 | bindObject | 4251 | bindObject |
4251 | ) { | 4252 | ) { |
4252 | var scopedSlotFn = this.$scopedSlots[name]; | 4253 | var scopedSlotFn = this.$scopedSlots[name]; |
4253 | var nodes; | 4254 | var nodes; |
4254 | if (scopedSlotFn) { // scoped slot | 4255 | if (scopedSlotFn) { // scoped slot |
4255 | props = props || {}; | 4256 | props = props || {}; |
4256 | if (bindObject) { | 4257 | if (bindObject) { |
4257 | if ( true && !isObject(bindObject)) { | 4258 | if ( true && !isObject(bindObject)) { |
4258 | warn( | 4259 | warn( |
4259 | 'slot v-bind without argument expects an Object', | 4260 | 'slot v-bind without argument expects an Object', |
4260 | this | 4261 | this |
4261 | ); | 4262 | ); |
4262 | } | 4263 | } |
4263 | props = extend(extend({}, bindObject), props); | 4264 | props = extend(extend({}, bindObject), props); |
4264 | } | 4265 | } |
4265 | // fixed by xxxxxx app-plus scopedSlot | 4266 | // fixed by xxxxxx app-plus scopedSlot |
4266 | nodes = scopedSlotFn(props, this, props._i) || fallback; | 4267 | nodes = scopedSlotFn(props, this, props._i) || fallback; |
4267 | } else { | 4268 | } else { |
4268 | nodes = this.$slots[name] || fallback; | 4269 | nodes = this.$slots[name] || fallback; |
4269 | } | 4270 | } |
4270 | 4271 | ||
4271 | var target = props && props.slot; | 4272 | var target = props && props.slot; |
4272 | if (target) { | 4273 | if (target) { |
4273 | return this.$createElement('template', { slot: target }, nodes) | 4274 | return this.$createElement('template', { slot: target }, nodes) |
4274 | } else { | 4275 | } else { |
4275 | return nodes | 4276 | return nodes |
4276 | } | 4277 | } |
4277 | } | 4278 | } |
4278 | 4279 | ||
4279 | /* */ | 4280 | /* */ |
4280 | 4281 | ||
4281 | /** | 4282 | /** |
4282 | * Runtime helper for resolving filters | 4283 | * Runtime helper for resolving filters |
4283 | */ | 4284 | */ |
4284 | function resolveFilter (id) { | 4285 | function resolveFilter (id) { |
4285 | return resolveAsset(this.$options, 'filters', id, true) || identity | 4286 | return resolveAsset(this.$options, 'filters', id, true) || identity |
4286 | } | 4287 | } |
4287 | 4288 | ||
4288 | /* */ | 4289 | /* */ |
4289 | 4290 | ||
4290 | function isKeyNotMatch (expect, actual) { | 4291 | function isKeyNotMatch (expect, actual) { |
4291 | if (Array.isArray(expect)) { | 4292 | if (Array.isArray(expect)) { |
4292 | return expect.indexOf(actual) === -1 | 4293 | return expect.indexOf(actual) === -1 |
4293 | } else { | 4294 | } else { |
4294 | return expect !== actual | 4295 | return expect !== actual |
4295 | } | 4296 | } |
4296 | } | 4297 | } |
4297 | 4298 | ||
4298 | /** | 4299 | /** |
4299 | * Runtime helper for checking keyCodes from config. | 4300 | * Runtime helper for checking keyCodes from config. |
4300 | * exposed as Vue.prototype._k | 4301 | * exposed as Vue.prototype._k |
4301 | * passing in eventKeyName as last argument separately for backwards compat | 4302 | * passing in eventKeyName as last argument separately for backwards compat |
4302 | */ | 4303 | */ |
4303 | function checkKeyCodes ( | 4304 | function checkKeyCodes ( |
4304 | eventKeyCode, | 4305 | eventKeyCode, |
4305 | key, | 4306 | key, |
4306 | builtInKeyCode, | 4307 | builtInKeyCode, |
4307 | eventKeyName, | 4308 | eventKeyName, |
4308 | builtInKeyName | 4309 | builtInKeyName |
4309 | ) { | 4310 | ) { |
4310 | var mappedKeyCode = config.keyCodes[key] || builtInKeyCode; | 4311 | var mappedKeyCode = config.keyCodes[key] || builtInKeyCode; |
4311 | if (builtInKeyName && eventKeyName && !config.keyCodes[key]) { | 4312 | if (builtInKeyName && eventKeyName && !config.keyCodes[key]) { |
4312 | return isKeyNotMatch(builtInKeyName, eventKeyName) | 4313 | return isKeyNotMatch(builtInKeyName, eventKeyName) |
4313 | } else if (mappedKeyCode) { | 4314 | } else if (mappedKeyCode) { |
4314 | return isKeyNotMatch(mappedKeyCode, eventKeyCode) | 4315 | return isKeyNotMatch(mappedKeyCode, eventKeyCode) |
4315 | } else if (eventKeyName) { | 4316 | } else if (eventKeyName) { |
4316 | return hyphenate(eventKeyName) !== key | 4317 | return hyphenate(eventKeyName) !== key |
4317 | } | 4318 | } |
4318 | } | 4319 | } |
4319 | 4320 | ||
4320 | /* */ | 4321 | /* */ |
4321 | 4322 | ||
4322 | /** | 4323 | /** |
4323 | * Runtime helper for merging v-bind="object" into a VNode's data. | 4324 | * Runtime helper for merging v-bind="object" into a VNode's data. |
4324 | */ | 4325 | */ |
4325 | function bindObjectProps ( | 4326 | function bindObjectProps ( |
4326 | data, | 4327 | data, |
4327 | tag, | 4328 | tag, |
4328 | value, | 4329 | value, |
4329 | asProp, | 4330 | asProp, |
4330 | isSync | 4331 | isSync |
4331 | ) { | 4332 | ) { |
4332 | if (value) { | 4333 | if (value) { |
4333 | if (!isObject(value)) { | 4334 | if (!isObject(value)) { |
4334 | true && warn( | 4335 | true && warn( |
4335 | 'v-bind without argument expects an Object or Array value', | 4336 | 'v-bind without argument expects an Object or Array value', |
4336 | this | 4337 | this |
4337 | ); | 4338 | ); |
4338 | } else { | 4339 | } else { |
4339 | if (Array.isArray(value)) { | 4340 | if (Array.isArray(value)) { |
4340 | value = toObject(value); | 4341 | value = toObject(value); |
4341 | } | 4342 | } |
4342 | var hash; | 4343 | var hash; |
4343 | var loop = function ( key ) { | 4344 | var loop = function ( key ) { |
4344 | if ( | 4345 | if ( |
4345 | key === 'class' || | 4346 | key === 'class' || |
4346 | key === 'style' || | 4347 | key === 'style' || |
4347 | isReservedAttribute(key) | 4348 | isReservedAttribute(key) |
4348 | ) { | 4349 | ) { |
4349 | hash = data; | 4350 | hash = data; |
4350 | } else { | 4351 | } else { |
4351 | var type = data.attrs && data.attrs.type; | 4352 | var type = data.attrs && data.attrs.type; |
4352 | hash = asProp || config.mustUseProp(tag, type, key) | 4353 | hash = asProp || config.mustUseProp(tag, type, key) |
4353 | ? data.domProps || (data.domProps = {}) | 4354 | ? data.domProps || (data.domProps = {}) |
4354 | : data.attrs || (data.attrs = {}); | 4355 | : data.attrs || (data.attrs = {}); |
4355 | } | 4356 | } |
4356 | var camelizedKey = camelize(key); | 4357 | var camelizedKey = camelize(key); |
4357 | var hyphenatedKey = hyphenate(key); | 4358 | var hyphenatedKey = hyphenate(key); |
4358 | if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) { | 4359 | if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) { |
4359 | hash[key] = value[key]; | 4360 | hash[key] = value[key]; |
4360 | 4361 | ||
4361 | if (isSync) { | 4362 | if (isSync) { |
4362 | var on = data.on || (data.on = {}); | 4363 | var on = data.on || (data.on = {}); |
4363 | on[("update:" + key)] = function ($event) { | 4364 | on[("update:" + key)] = function ($event) { |
4364 | value[key] = $event; | 4365 | value[key] = $event; |
4365 | }; | 4366 | }; |
4366 | } | 4367 | } |
4367 | } | 4368 | } |
4368 | }; | 4369 | }; |
4369 | 4370 | ||
4370 | for (var key in value) loop( key ); | 4371 | for (var key in value) loop( key ); |
4371 | } | 4372 | } |
4372 | } | 4373 | } |
4373 | return data | 4374 | return data |
4374 | } | 4375 | } |
4375 | 4376 | ||
4376 | /* */ | 4377 | /* */ |
4377 | 4378 | ||
4378 | /** | 4379 | /** |
4379 | * Runtime helper for rendering static trees. | 4380 | * Runtime helper for rendering static trees. |
4380 | */ | 4381 | */ |
4381 | function renderStatic ( | 4382 | function renderStatic ( |
4382 | index, | 4383 | index, |
4383 | isInFor | 4384 | isInFor |
4384 | ) { | 4385 | ) { |
4385 | var cached = this._staticTrees || (this._staticTrees = []); | 4386 | var cached = this._staticTrees || (this._staticTrees = []); |
4386 | var tree = cached[index]; | 4387 | var tree = cached[index]; |
4387 | // if has already-rendered static tree and not inside v-for, | 4388 | // if has already-rendered static tree and not inside v-for, |
4388 | // we can reuse the same tree. | 4389 | // we can reuse the same tree. |
4389 | if (tree && !isInFor) { | 4390 | if (tree && !isInFor) { |
4390 | return tree | 4391 | return tree |
4391 | } | 4392 | } |
4392 | // otherwise, render a fresh tree. | 4393 | // otherwise, render a fresh tree. |
4393 | tree = cached[index] = this.$options.staticRenderFns[index].call( | 4394 | tree = cached[index] = this.$options.staticRenderFns[index].call( |
4394 | this._renderProxy, | 4395 | this._renderProxy, |
4395 | null, | 4396 | null, |
4396 | this // for render fns generated for functional component templates | 4397 | this // for render fns generated for functional component templates |
4397 | ); | 4398 | ); |
4398 | markStatic(tree, ("__static__" + index), false); | 4399 | markStatic(tree, ("__static__" + index), false); |
4399 | return tree | 4400 | return tree |
4400 | } | 4401 | } |
4401 | 4402 | ||
4402 | /** | 4403 | /** |
4403 | * Runtime helper for v-once. | 4404 | * Runtime helper for v-once. |
4404 | * Effectively it means marking the node as static with a unique key. | 4405 | * Effectively it means marking the node as static with a unique key. |
4405 | */ | 4406 | */ |
4406 | function markOnce ( | 4407 | function markOnce ( |
4407 | tree, | 4408 | tree, |
4408 | index, | 4409 | index, |
4409 | key | 4410 | key |
4410 | ) { | 4411 | ) { |
4411 | markStatic(tree, ("__once__" + index + (key ? ("_" + key) : "")), true); | 4412 | markStatic(tree, ("__once__" + index + (key ? ("_" + key) : "")), true); |
4412 | return tree | 4413 | return tree |
4413 | } | 4414 | } |
4414 | 4415 | ||
4415 | function markStatic ( | 4416 | function markStatic ( |
4416 | tree, | 4417 | tree, |
4417 | key, | 4418 | key, |
4418 | isOnce | 4419 | isOnce |
4419 | ) { | 4420 | ) { |
4420 | if (Array.isArray(tree)) { | 4421 | if (Array.isArray(tree)) { |
4421 | for (var i = 0; i < tree.length; i++) { | 4422 | for (var i = 0; i < tree.length; i++) { |
4422 | if (tree[i] && typeof tree[i] !== 'string') { | 4423 | if (tree[i] && typeof tree[i] !== 'string') { |
4423 | markStaticNode(tree[i], (key + "_" + i), isOnce); | 4424 | markStaticNode(tree[i], (key + "_" + i), isOnce); |
4424 | } | 4425 | } |
4425 | } | 4426 | } |
4426 | } else { | 4427 | } else { |
4427 | markStaticNode(tree, key, isOnce); | 4428 | markStaticNode(tree, key, isOnce); |
4428 | } | 4429 | } |
4429 | } | 4430 | } |
4430 | 4431 | ||
4431 | function markStaticNode (node, key, isOnce) { | 4432 | function markStaticNode (node, key, isOnce) { |
4432 | node.isStatic = true; | 4433 | node.isStatic = true; |
4433 | node.key = key; | 4434 | node.key = key; |
4434 | node.isOnce = isOnce; | 4435 | node.isOnce = isOnce; |
4435 | } | 4436 | } |
4436 | 4437 | ||
4437 | /* */ | 4438 | /* */ |
4438 | 4439 | ||
4439 | function bindObjectListeners (data, value) { | 4440 | function bindObjectListeners (data, value) { |
4440 | if (value) { | 4441 | if (value) { |
4441 | if (!isPlainObject(value)) { | 4442 | if (!isPlainObject(value)) { |
4442 | true && warn( | 4443 | true && warn( |
4443 | 'v-on without argument expects an Object value', | 4444 | 'v-on without argument expects an Object value', |
4444 | this | 4445 | this |
4445 | ); | 4446 | ); |
4446 | } else { | 4447 | } else { |
4447 | var on = data.on = data.on ? extend({}, data.on) : {}; | 4448 | var on = data.on = data.on ? extend({}, data.on) : {}; |
4448 | for (var key in value) { | 4449 | for (var key in value) { |
4449 | var existing = on[key]; | 4450 | var existing = on[key]; |
4450 | var ours = value[key]; | 4451 | var ours = value[key]; |
4451 | on[key] = existing ? [].concat(existing, ours) : ours; | 4452 | on[key] = existing ? [].concat(existing, ours) : ours; |
4452 | } | 4453 | } |
4453 | } | 4454 | } |
4454 | } | 4455 | } |
4455 | return data | 4456 | return data |
4456 | } | 4457 | } |
4457 | 4458 | ||
4458 | /* */ | 4459 | /* */ |
4459 | 4460 | ||
4460 | function resolveScopedSlots ( | 4461 | function resolveScopedSlots ( |
4461 | fns, // see flow/vnode | 4462 | fns, // see flow/vnode |
4462 | res, | 4463 | res, |
4463 | // the following are added in 2.6 | 4464 | // the following are added in 2.6 |
4464 | hasDynamicKeys, | 4465 | hasDynamicKeys, |
4465 | contentHashKey | 4466 | contentHashKey |
4466 | ) { | 4467 | ) { |
4467 | res = res || { $stable: !hasDynamicKeys }; | 4468 | res = res || { $stable: !hasDynamicKeys }; |
4468 | for (var i = 0; i < fns.length; i++) { | 4469 | for (var i = 0; i < fns.length; i++) { |
4469 | var slot = fns[i]; | 4470 | var slot = fns[i]; |
4470 | if (Array.isArray(slot)) { | 4471 | if (Array.isArray(slot)) { |
4471 | resolveScopedSlots(slot, res, hasDynamicKeys); | 4472 | resolveScopedSlots(slot, res, hasDynamicKeys); |
4472 | } else if (slot) { | 4473 | } else if (slot) { |
4473 | // marker for reverse proxying v-slot without scope on this.$slots | 4474 | // marker for reverse proxying v-slot without scope on this.$slots |
4474 | if (slot.proxy) { | 4475 | if (slot.proxy) { |
4475 | slot.fn.proxy = true; | 4476 | slot.fn.proxy = true; |
4476 | } | 4477 | } |
4477 | res[slot.key] = slot.fn; | 4478 | res[slot.key] = slot.fn; |
4478 | } | 4479 | } |
4479 | } | 4480 | } |
4480 | if (contentHashKey) { | 4481 | if (contentHashKey) { |
4481 | (res).$key = contentHashKey; | 4482 | (res).$key = contentHashKey; |
4482 | } | 4483 | } |
4483 | return res | 4484 | return res |
4484 | } | 4485 | } |
4485 | 4486 | ||
4486 | /* */ | 4487 | /* */ |
4487 | 4488 | ||
4488 | function bindDynamicKeys (baseObj, values) { | 4489 | function bindDynamicKeys (baseObj, values) { |
4489 | for (var i = 0; i < values.length; i += 2) { | 4490 | for (var i = 0; i < values.length; i += 2) { |
4490 | var key = values[i]; | 4491 | var key = values[i]; |
4491 | if (typeof key === 'string' && key) { | 4492 | if (typeof key === 'string' && key) { |
4492 | baseObj[values[i]] = values[i + 1]; | 4493 | baseObj[values[i]] = values[i + 1]; |
4493 | } else if ( true && key !== '' && key !== null) { | 4494 | } else if ( true && key !== '' && key !== null) { |
4494 | // null is a special value for explicitly removing a binding | 4495 | // null is a special value for explicitly removing a binding |
4495 | warn( | 4496 | warn( |
4496 | ("Invalid value for dynamic directive argument (expected string or null): " + key), | 4497 | ("Invalid value for dynamic directive argument (expected string or null): " + key), |
4497 | this | 4498 | this |
4498 | ); | 4499 | ); |
4499 | } | 4500 | } |
4500 | } | 4501 | } |
4501 | return baseObj | 4502 | return baseObj |
4502 | } | 4503 | } |
4503 | 4504 | ||
4504 | // helper to dynamically append modifier runtime markers to event names. | 4505 | // helper to dynamically append modifier runtime markers to event names. |
4505 | // ensure only append when value is already string, otherwise it will be cast | 4506 | // ensure only append when value is already string, otherwise it will be cast |
4506 | // to string and cause the type check to miss. | 4507 | // to string and cause the type check to miss. |
4507 | function prependModifier (value, symbol) { | 4508 | function prependModifier (value, symbol) { |
4508 | return typeof value === 'string' ? symbol + value : value | 4509 | return typeof value === 'string' ? symbol + value : value |
4509 | } | 4510 | } |
4510 | 4511 | ||
4511 | /* */ | 4512 | /* */ |
4512 | 4513 | ||
4513 | function installRenderHelpers (target) { | 4514 | function installRenderHelpers (target) { |
4514 | target._o = markOnce; | 4515 | target._o = markOnce; |
4515 | target._n = toNumber; | 4516 | target._n = toNumber; |
4516 | target._s = toString; | 4517 | target._s = toString; |
4517 | target._l = renderList; | 4518 | target._l = renderList; |
4518 | target._t = renderSlot; | 4519 | target._t = renderSlot; |
4519 | target._q = looseEqual; | 4520 | target._q = looseEqual; |
4520 | target._i = looseIndexOf; | 4521 | target._i = looseIndexOf; |
4521 | target._m = renderStatic; | 4522 | target._m = renderStatic; |
4522 | target._f = resolveFilter; | 4523 | target._f = resolveFilter; |
4523 | target._k = checkKeyCodes; | 4524 | target._k = checkKeyCodes; |
4524 | target._b = bindObjectProps; | 4525 | target._b = bindObjectProps; |
4525 | target._v = createTextVNode; | 4526 | target._v = createTextVNode; |
4526 | target._e = createEmptyVNode; | 4527 | target._e = createEmptyVNode; |
4527 | target._u = resolveScopedSlots; | 4528 | target._u = resolveScopedSlots; |
4528 | target._g = bindObjectListeners; | 4529 | target._g = bindObjectListeners; |
4529 | target._d = bindDynamicKeys; | 4530 | target._d = bindDynamicKeys; |
4530 | target._p = prependModifier; | 4531 | target._p = prependModifier; |
4531 | } | 4532 | } |
4532 | 4533 | ||
4533 | /* */ | 4534 | /* */ |
4534 | 4535 | ||
4535 | function FunctionalRenderContext ( | 4536 | function FunctionalRenderContext ( |
4536 | data, | 4537 | data, |
4537 | props, | 4538 | props, |
4538 | children, | 4539 | children, |
4539 | parent, | 4540 | parent, |
4540 | Ctor | 4541 | Ctor |
4541 | ) { | 4542 | ) { |
4542 | var this$1 = this; | 4543 | var this$1 = this; |
4543 | 4544 | ||
4544 | var options = Ctor.options; | 4545 | var options = Ctor.options; |
4545 | // ensure the createElement function in functional components | 4546 | // ensure the createElement function in functional components |
4546 | // gets a unique context - this is necessary for correct named slot check | 4547 | // gets a unique context - this is necessary for correct named slot check |
4547 | var contextVm; | 4548 | var contextVm; |
4548 | if (hasOwn(parent, '_uid')) { | 4549 | if (hasOwn(parent, '_uid')) { |
4549 | contextVm = Object.create(parent); | 4550 | contextVm = Object.create(parent); |
4550 | // $flow-disable-line | 4551 | // $flow-disable-line |
4551 | contextVm._original = parent; | 4552 | contextVm._original = parent; |
4552 | } else { | 4553 | } else { |
4553 | // the context vm passed in is a functional context as well. | 4554 | // the context vm passed in is a functional context as well. |
4554 | // in this case we want to make sure we are able to get a hold to the | 4555 | // in this case we want to make sure we are able to get a hold to the |
4555 | // real context instance. | 4556 | // real context instance. |
4556 | contextVm = parent; | 4557 | contextVm = parent; |
4557 | // $flow-disable-line | 4558 | // $flow-disable-line |
4558 | parent = parent._original; | 4559 | parent = parent._original; |
4559 | } | 4560 | } |
4560 | var isCompiled = isTrue(options._compiled); | 4561 | var isCompiled = isTrue(options._compiled); |
4561 | var needNormalization = !isCompiled; | 4562 | var needNormalization = !isCompiled; |
4562 | 4563 | ||
4563 | this.data = data; | 4564 | this.data = data; |
4564 | this.props = props; | 4565 | this.props = props; |
4565 | this.children = children; | 4566 | this.children = children; |
4566 | this.parent = parent; | 4567 | this.parent = parent; |
4567 | this.listeners = data.on || emptyObject; | 4568 | this.listeners = data.on || emptyObject; |
4568 | this.injections = resolveInject(options.inject, parent); | 4569 | this.injections = resolveInject(options.inject, parent); |
4569 | this.slots = function () { | 4570 | this.slots = function () { |
4570 | if (!this$1.$slots) { | 4571 | if (!this$1.$slots) { |
4571 | normalizeScopedSlots( | 4572 | normalizeScopedSlots( |
4572 | data.scopedSlots, | 4573 | data.scopedSlots, |
4573 | this$1.$slots = resolveSlots(children, parent) | 4574 | this$1.$slots = resolveSlots(children, parent) |
4574 | ); | 4575 | ); |
4575 | } | 4576 | } |
4576 | return this$1.$slots | 4577 | return this$1.$slots |
4577 | }; | 4578 | }; |
4578 | 4579 | ||
4579 | Object.defineProperty(this, 'scopedSlots', ({ | 4580 | Object.defineProperty(this, 'scopedSlots', ({ |
4580 | enumerable: true, | 4581 | enumerable: true, |
4581 | get: function get () { | 4582 | get: function get () { |
4582 | return normalizeScopedSlots(data.scopedSlots, this.slots()) | 4583 | return normalizeScopedSlots(data.scopedSlots, this.slots()) |
4583 | } | 4584 | } |
4584 | })); | 4585 | })); |
4585 | 4586 | ||
4586 | // support for compiled functional template | 4587 | // support for compiled functional template |
4587 | if (isCompiled) { | 4588 | if (isCompiled) { |
4588 | // exposing $options for renderStatic() | 4589 | // exposing $options for renderStatic() |
4589 | this.$options = options; | 4590 | this.$options = options; |
4590 | // pre-resolve slots for renderSlot() | 4591 | // pre-resolve slots for renderSlot() |
4591 | this.$slots = this.slots(); | 4592 | this.$slots = this.slots(); |
4592 | this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots); | 4593 | this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots); |
4593 | } | 4594 | } |
4594 | 4595 | ||
4595 | if (options._scopeId) { | 4596 | if (options._scopeId) { |
4596 | this._c = function (a, b, c, d) { | 4597 | this._c = function (a, b, c, d) { |
4597 | var vnode = createElement(contextVm, a, b, c, d, needNormalization); | 4598 | var vnode = createElement(contextVm, a, b, c, d, needNormalization); |
4598 | if (vnode && !Array.isArray(vnode)) { | 4599 | if (vnode && !Array.isArray(vnode)) { |
4599 | vnode.fnScopeId = options._scopeId; | 4600 | vnode.fnScopeId = options._scopeId; |
4600 | vnode.fnContext = parent; | 4601 | vnode.fnContext = parent; |
4601 | } | 4602 | } |
4602 | return vnode | 4603 | return vnode |
4603 | }; | 4604 | }; |
4604 | } else { | 4605 | } else { |
4605 | this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); }; | 4606 | this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); }; |
4606 | } | 4607 | } |
4607 | } | 4608 | } |
4608 | 4609 | ||
4609 | installRenderHelpers(FunctionalRenderContext.prototype); | 4610 | installRenderHelpers(FunctionalRenderContext.prototype); |
4610 | 4611 | ||
4611 | function createFunctionalComponent ( | 4612 | function createFunctionalComponent ( |
4612 | Ctor, | 4613 | Ctor, |
4613 | propsData, | 4614 | propsData, |
4614 | data, | 4615 | data, |
4615 | contextVm, | 4616 | contextVm, |
4616 | children | 4617 | children |
4617 | ) { | 4618 | ) { |
4618 | var options = Ctor.options; | 4619 | var options = Ctor.options; |
4619 | var props = {}; | 4620 | var props = {}; |
4620 | var propOptions = options.props; | 4621 | var propOptions = options.props; |
4621 | if (isDef(propOptions)) { | 4622 | if (isDef(propOptions)) { |
4622 | for (var key in propOptions) { | 4623 | for (var key in propOptions) { |
4623 | props[key] = validateProp(key, propOptions, propsData || emptyObject); | 4624 | props[key] = validateProp(key, propOptions, propsData || emptyObject); |
4624 | } | 4625 | } |
4625 | } else { | 4626 | } else { |
4626 | if (isDef(data.attrs)) { mergeProps(props, data.attrs); } | 4627 | if (isDef(data.attrs)) { mergeProps(props, data.attrs); } |
4627 | if (isDef(data.props)) { mergeProps(props, data.props); } | 4628 | if (isDef(data.props)) { mergeProps(props, data.props); } |
4628 | } | 4629 | } |
4629 | 4630 | ||
4630 | var renderContext = new FunctionalRenderContext( | 4631 | var renderContext = new FunctionalRenderContext( |
4631 | data, | 4632 | data, |
4632 | props, | 4633 | props, |
4633 | children, | 4634 | children, |
4634 | contextVm, | 4635 | contextVm, |
4635 | Ctor | 4636 | Ctor |
4636 | ); | 4637 | ); |
4637 | 4638 | ||
4638 | var vnode = options.render.call(null, renderContext._c, renderContext); | 4639 | var vnode = options.render.call(null, renderContext._c, renderContext); |
4639 | 4640 | ||
4640 | if (vnode instanceof VNode) { | 4641 | if (vnode instanceof VNode) { |
4641 | return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext) | 4642 | return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext) |
4642 | } else if (Array.isArray(vnode)) { | 4643 | } else if (Array.isArray(vnode)) { |
4643 | var vnodes = normalizeChildren(vnode) || []; | 4644 | var vnodes = normalizeChildren(vnode) || []; |
4644 | var res = new Array(vnodes.length); | 4645 | var res = new Array(vnodes.length); |
4645 | for (var i = 0; i < vnodes.length; i++) { | 4646 | for (var i = 0; i < vnodes.length; i++) { |
4646 | res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext); | 4647 | res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext); |
4647 | } | 4648 | } |
4648 | return res | 4649 | return res |
4649 | } | 4650 | } |
4650 | } | 4651 | } |
4651 | 4652 | ||
4652 | function cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) { | 4653 | function cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) { |
4653 | // #7817 clone node before setting fnContext, otherwise if the node is reused | 4654 | // #7817 clone node before setting fnContext, otherwise if the node is reused |
4654 | // (e.g. it was from a cached normal slot) the fnContext causes named slots | 4655 | // (e.g. it was from a cached normal slot) the fnContext causes named slots |
4655 | // that should not be matched to match. | 4656 | // that should not be matched to match. |
4656 | var clone = cloneVNode(vnode); | 4657 | var clone = cloneVNode(vnode); |
4657 | clone.fnContext = contextVm; | 4658 | clone.fnContext = contextVm; |
4658 | clone.fnOptions = options; | 4659 | clone.fnOptions = options; |
4659 | if (true) { | 4660 | if (true) { |
4660 | (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext; | 4661 | (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext; |
4661 | } | 4662 | } |
4662 | if (data.slot) { | 4663 | if (data.slot) { |
4663 | (clone.data || (clone.data = {})).slot = data.slot; | 4664 | (clone.data || (clone.data = {})).slot = data.slot; |
4664 | } | 4665 | } |
4665 | return clone | 4666 | return clone |
4666 | } | 4667 | } |
4667 | 4668 | ||
4668 | function mergeProps (to, from) { | 4669 | function mergeProps (to, from) { |
4669 | for (var key in from) { | 4670 | for (var key in from) { |
4670 | to[camelize(key)] = from[key]; | 4671 | to[camelize(key)] = from[key]; |
4671 | } | 4672 | } |
4672 | } | 4673 | } |
4673 | 4674 | ||
4674 | /* */ | 4675 | /* */ |
4675 | 4676 | ||
4676 | /* */ | 4677 | /* */ |
4677 | 4678 | ||
4678 | /* */ | 4679 | /* */ |
4679 | 4680 | ||
4680 | /* */ | 4681 | /* */ |
4681 | 4682 | ||
4682 | // inline hooks to be invoked on component VNodes during patch | 4683 | // inline hooks to be invoked on component VNodes during patch |
4683 | var componentVNodeHooks = { | 4684 | var componentVNodeHooks = { |
4684 | init: function init (vnode, hydrating) { | 4685 | init: function init (vnode, hydrating) { |
4685 | if ( | 4686 | if ( |
4686 | vnode.componentInstance && | 4687 | vnode.componentInstance && |
4687 | !vnode.componentInstance._isDestroyed && | 4688 | !vnode.componentInstance._isDestroyed && |
4688 | vnode.data.keepAlive | 4689 | vnode.data.keepAlive |
4689 | ) { | 4690 | ) { |
4690 | // kept-alive components, treat as a patch | 4691 | // kept-alive components, treat as a patch |
4691 | var mountedNode = vnode; // work around flow | 4692 | var mountedNode = vnode; // work around flow |
4692 | componentVNodeHooks.prepatch(mountedNode, mountedNode); | 4693 | componentVNodeHooks.prepatch(mountedNode, mountedNode); |
4693 | } else { | 4694 | } else { |
4694 | var child = vnode.componentInstance = createComponentInstanceForVnode( | 4695 | var child = vnode.componentInstance = createComponentInstanceForVnode( |
4695 | vnode, | 4696 | vnode, |
4696 | activeInstance | 4697 | activeInstance |
4697 | ); | 4698 | ); |
4698 | child.$mount(hydrating ? vnode.elm : undefined, hydrating); | 4699 | child.$mount(hydrating ? vnode.elm : undefined, hydrating); |
4699 | } | 4700 | } |
4700 | }, | 4701 | }, |
4701 | 4702 | ||
4702 | prepatch: function prepatch (oldVnode, vnode) { | 4703 | prepatch: function prepatch (oldVnode, vnode) { |
4703 | var options = vnode.componentOptions; | 4704 | var options = vnode.componentOptions; |
4704 | var child = vnode.componentInstance = oldVnode.componentInstance; | 4705 | var child = vnode.componentInstance = oldVnode.componentInstance; |
4705 | updateChildComponent( | 4706 | updateChildComponent( |
4706 | child, | 4707 | child, |
4707 | options.propsData, // updated props | 4708 | options.propsData, // updated props |
4708 | options.listeners, // updated listeners | 4709 | options.listeners, // updated listeners |
4709 | vnode, // new parent vnode | 4710 | vnode, // new parent vnode |
4710 | options.children // new children | 4711 | options.children // new children |
4711 | ); | 4712 | ); |
4712 | }, | 4713 | }, |
4713 | 4714 | ||
4714 | insert: function insert (vnode) { | 4715 | insert: function insert (vnode) { |
4715 | var context = vnode.context; | 4716 | var context = vnode.context; |
4716 | var componentInstance = vnode.componentInstance; | 4717 | var componentInstance = vnode.componentInstance; |
4717 | if (!componentInstance._isMounted) { | 4718 | if (!componentInstance._isMounted) { |
4718 | callHook(componentInstance, 'onServiceCreated'); | 4719 | callHook(componentInstance, 'onServiceCreated'); |
4719 | callHook(componentInstance, 'onServiceAttached'); | 4720 | callHook(componentInstance, 'onServiceAttached'); |
4720 | componentInstance._isMounted = true; | 4721 | componentInstance._isMounted = true; |
4721 | callHook(componentInstance, 'mounted'); | 4722 | callHook(componentInstance, 'mounted'); |
4722 | } | 4723 | } |
4723 | if (vnode.data.keepAlive) { | 4724 | if (vnode.data.keepAlive) { |
4724 | if (context._isMounted) { | 4725 | if (context._isMounted) { |
4725 | // vue-router#1212 | 4726 | // vue-router#1212 |
4726 | // During updates, a kept-alive component's child components may | 4727 | // During updates, a kept-alive component's child components may |
4727 | // change, so directly walking the tree here may call activated hooks | 4728 | // change, so directly walking the tree here may call activated hooks |
4728 | // on incorrect children. Instead we push them into a queue which will | 4729 | // on incorrect children. Instead we push them into a queue which will |
4729 | // be processed after the whole patch process ended. | 4730 | // be processed after the whole patch process ended. |
4730 | queueActivatedComponent(componentInstance); | 4731 | queueActivatedComponent(componentInstance); |
4731 | } else { | 4732 | } else { |
4732 | activateChildComponent(componentInstance, true /* direct */); | 4733 | activateChildComponent(componentInstance, true /* direct */); |
4733 | } | 4734 | } |
4734 | } | 4735 | } |
4735 | }, | 4736 | }, |
4736 | 4737 | ||
4737 | destroy: function destroy (vnode) { | 4738 | destroy: function destroy (vnode) { |
4738 | var componentInstance = vnode.componentInstance; | 4739 | var componentInstance = vnode.componentInstance; |
4739 | if (!componentInstance._isDestroyed) { | 4740 | if (!componentInstance._isDestroyed) { |
4740 | if (!vnode.data.keepAlive) { | 4741 | if (!vnode.data.keepAlive) { |
4741 | componentInstance.$destroy(); | 4742 | componentInstance.$destroy(); |
4742 | } else { | 4743 | } else { |
4743 | deactivateChildComponent(componentInstance, true /* direct */); | 4744 | deactivateChildComponent(componentInstance, true /* direct */); |
4744 | } | 4745 | } |
4745 | } | 4746 | } |
4746 | } | 4747 | } |
4747 | }; | 4748 | }; |
4748 | 4749 | ||
4749 | var hooksToMerge = Object.keys(componentVNodeHooks); | 4750 | var hooksToMerge = Object.keys(componentVNodeHooks); |
4750 | 4751 | ||
4751 | function createComponent ( | 4752 | function createComponent ( |
4752 | Ctor, | 4753 | Ctor, |
4753 | data, | 4754 | data, |
4754 | context, | 4755 | context, |
4755 | children, | 4756 | children, |
4756 | tag | 4757 | tag |
4757 | ) { | 4758 | ) { |
4758 | if (isUndef(Ctor)) { | 4759 | if (isUndef(Ctor)) { |
4759 | return | 4760 | return |
4760 | } | 4761 | } |
4761 | 4762 | ||
4762 | var baseCtor = context.$options._base; | 4763 | var baseCtor = context.$options._base; |
4763 | 4764 | ||
4764 | // plain options object: turn it into a constructor | 4765 | // plain options object: turn it into a constructor |
4765 | if (isObject(Ctor)) { | 4766 | if (isObject(Ctor)) { |
4766 | Ctor = baseCtor.extend(Ctor); | 4767 | Ctor = baseCtor.extend(Ctor); |
4767 | } | 4768 | } |
4768 | 4769 | ||
4769 | // if at this stage it's not a constructor or an async component factory, | 4770 | // if at this stage it's not a constructor or an async component factory, |
4770 | // reject. | 4771 | // reject. |
4771 | if (typeof Ctor !== 'function') { | 4772 | if (typeof Ctor !== 'function') { |
4772 | if (true) { | 4773 | if (true) { |
4773 | warn(("Invalid Component definition: " + (String(Ctor))), context); | 4774 | warn(("Invalid Component definition: " + (String(Ctor))), context); |
4774 | } | 4775 | } |
4775 | return | 4776 | return |
4776 | } | 4777 | } |
4777 | 4778 | ||
4778 | // async component | 4779 | // async component |
4779 | var asyncFactory; | 4780 | var asyncFactory; |
4780 | if (isUndef(Ctor.cid)) { | 4781 | if (isUndef(Ctor.cid)) { |
4781 | asyncFactory = Ctor; | 4782 | asyncFactory = Ctor; |
4782 | Ctor = resolveAsyncComponent(asyncFactory, baseCtor); | 4783 | Ctor = resolveAsyncComponent(asyncFactory, baseCtor); |
4783 | if (Ctor === undefined) { | 4784 | if (Ctor === undefined) { |
4784 | // return a placeholder node for async component, which is rendered | 4785 | // return a placeholder node for async component, which is rendered |
4785 | // as a comment node but preserves all the raw information for the node. | 4786 | // as a comment node but preserves all the raw information for the node. |
4786 | // the information will be used for async server-rendering and hydration. | 4787 | // the information will be used for async server-rendering and hydration. |
4787 | return createAsyncPlaceholder( | 4788 | return createAsyncPlaceholder( |
4788 | asyncFactory, | 4789 | asyncFactory, |
4789 | data, | 4790 | data, |
4790 | context, | 4791 | context, |
4791 | children, | 4792 | children, |
4792 | tag | 4793 | tag |
4793 | ) | 4794 | ) |
4794 | } | 4795 | } |
4795 | } | 4796 | } |
4796 | 4797 | ||
4797 | data = data || {}; | 4798 | data = data || {}; |
4798 | 4799 | ||
4799 | // resolve constructor options in case global mixins are applied after | 4800 | // resolve constructor options in case global mixins are applied after |
4800 | // component constructor creation | 4801 | // component constructor creation |
4801 | resolveConstructorOptions(Ctor); | 4802 | resolveConstructorOptions(Ctor); |
4802 | 4803 | ||
4803 | // transform component v-model data into props & events | 4804 | // transform component v-model data into props & events |
4804 | if (isDef(data.model)) { | 4805 | if (isDef(data.model)) { |
4805 | transformModel(Ctor.options, data); | 4806 | transformModel(Ctor.options, data); |
4806 | } | 4807 | } |
4807 | 4808 | ||
4808 | // extract props | 4809 | // extract props |
4809 | var propsData = extractPropsFromVNodeData(data, Ctor, tag, context); // fixed by xxxxxx | 4810 | var propsData = extractPropsFromVNodeData(data, Ctor, tag, context); // fixed by xxxxxx |
4810 | 4811 | ||
4811 | // functional component | 4812 | // functional component |
4812 | if (isTrue(Ctor.options.functional)) { | 4813 | if (isTrue(Ctor.options.functional)) { |
4813 | return createFunctionalComponent(Ctor, propsData, data, context, children) | 4814 | return createFunctionalComponent(Ctor, propsData, data, context, children) |
4814 | } | 4815 | } |
4815 | 4816 | ||
4816 | // extract listeners, since these needs to be treated as | 4817 | // extract listeners, since these needs to be treated as |
4817 | // child component listeners instead of DOM listeners | 4818 | // child component listeners instead of DOM listeners |
4818 | var listeners = data.on; | 4819 | var listeners = data.on; |
4819 | // replace with listeners with .native modifier | 4820 | // replace with listeners with .native modifier |
4820 | // so it gets processed during parent component patch. | 4821 | // so it gets processed during parent component patch. |
4821 | data.on = data.nativeOn; | 4822 | data.on = data.nativeOn; |
4822 | 4823 | ||
4823 | if (isTrue(Ctor.options.abstract)) { | 4824 | if (isTrue(Ctor.options.abstract)) { |
4824 | // abstract components do not keep anything | 4825 | // abstract components do not keep anything |
4825 | // other than props & listeners & slot | 4826 | // other than props & listeners & slot |
4826 | 4827 | ||
4827 | // work around flow | 4828 | // work around flow |
4828 | var slot = data.slot; | 4829 | var slot = data.slot; |
4829 | data = {}; | 4830 | data = {}; |
4830 | if (slot) { | 4831 | if (slot) { |
4831 | data.slot = slot; | 4832 | data.slot = slot; |
4832 | } | 4833 | } |
4833 | } | 4834 | } |
4834 | 4835 | ||
4835 | // install component management hooks onto the placeholder node | 4836 | // install component management hooks onto the placeholder node |
4836 | installComponentHooks(data); | 4837 | installComponentHooks(data); |
4837 | 4838 | ||
4838 | // return a placeholder vnode | 4839 | // return a placeholder vnode |
4839 | var name = Ctor.options.name || tag; | 4840 | var name = Ctor.options.name || tag; |
4840 | var vnode = new VNode( | 4841 | var vnode = new VNode( |
4841 | ("vue-component-" + (Ctor.cid) + (name ? ("-" + name) : '')), | 4842 | ("vue-component-" + (Ctor.cid) + (name ? ("-" + name) : '')), |
4842 | data, undefined, undefined, undefined, context, | 4843 | data, undefined, undefined, undefined, context, |
4843 | { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children }, | 4844 | { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children }, |
4844 | asyncFactory | 4845 | asyncFactory |
4845 | ); | 4846 | ); |
4846 | 4847 | ||
4847 | return vnode | 4848 | return vnode |
4848 | } | 4849 | } |
4849 | 4850 | ||
4850 | function createComponentInstanceForVnode ( | 4851 | function createComponentInstanceForVnode ( |
4851 | vnode, // we know it's MountedComponentVNode but flow doesn't | 4852 | vnode, // we know it's MountedComponentVNode but flow doesn't |
4852 | parent // activeInstance in lifecycle state | 4853 | parent // activeInstance in lifecycle state |
4853 | ) { | 4854 | ) { |
4854 | var options = { | 4855 | var options = { |
4855 | _isComponent: true, | 4856 | _isComponent: true, |
4856 | _parentVnode: vnode, | 4857 | _parentVnode: vnode, |
4857 | parent: parent | 4858 | parent: parent |
4858 | }; | 4859 | }; |
4859 | // check inline-template render functions | 4860 | // check inline-template render functions |
4860 | var inlineTemplate = vnode.data.inlineTemplate; | 4861 | var inlineTemplate = vnode.data.inlineTemplate; |
4861 | if (isDef(inlineTemplate)) { | 4862 | if (isDef(inlineTemplate)) { |
4862 | options.render = inlineTemplate.render; | 4863 | options.render = inlineTemplate.render; |
4863 | options.staticRenderFns = inlineTemplate.staticRenderFns; | 4864 | options.staticRenderFns = inlineTemplate.staticRenderFns; |
4864 | } | 4865 | } |
4865 | return new vnode.componentOptions.Ctor(options) | 4866 | return new vnode.componentOptions.Ctor(options) |
4866 | } | 4867 | } |
4867 | 4868 | ||
4868 | function installComponentHooks (data) { | 4869 | function installComponentHooks (data) { |
4869 | var hooks = data.hook || (data.hook = {}); | 4870 | var hooks = data.hook || (data.hook = {}); |
4870 | for (var i = 0; i < hooksToMerge.length; i++) { | 4871 | for (var i = 0; i < hooksToMerge.length; i++) { |
4871 | var key = hooksToMerge[i]; | 4872 | var key = hooksToMerge[i]; |
4872 | var existing = hooks[key]; | 4873 | var existing = hooks[key]; |
4873 | var toMerge = componentVNodeHooks[key]; | 4874 | var toMerge = componentVNodeHooks[key]; |
4874 | if (existing !== toMerge && !(existing && existing._merged)) { | 4875 | if (existing !== toMerge && !(existing && existing._merged)) { |
4875 | hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge; | 4876 | hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge; |
4876 | } | 4877 | } |
4877 | } | 4878 | } |
4878 | } | 4879 | } |
4879 | 4880 | ||
4880 | function mergeHook$1 (f1, f2) { | 4881 | function mergeHook$1 (f1, f2) { |
4881 | var merged = function (a, b) { | 4882 | var merged = function (a, b) { |
4882 | // flow complains about extra args which is why we use any | 4883 | // flow complains about extra args which is why we use any |
4883 | f1(a, b); | 4884 | f1(a, b); |
4884 | f2(a, b); | 4885 | f2(a, b); |
4885 | }; | 4886 | }; |
4886 | merged._merged = true; | 4887 | merged._merged = true; |
4887 | return merged | 4888 | return merged |
4888 | } | 4889 | } |
4889 | 4890 | ||
4890 | // transform component v-model info (value and callback) into | 4891 | // transform component v-model info (value and callback) into |
4891 | // prop and event handler respectively. | 4892 | // prop and event handler respectively. |
4892 | function transformModel (options, data) { | 4893 | function transformModel (options, data) { |
4893 | var prop = (options.model && options.model.prop) || 'value'; | 4894 | var prop = (options.model && options.model.prop) || 'value'; |
4894 | var event = (options.model && options.model.event) || 'input' | 4895 | var event = (options.model && options.model.event) || 'input' |
4895 | ;(data.attrs || (data.attrs = {}))[prop] = data.model.value; | 4896 | ;(data.attrs || (data.attrs = {}))[prop] = data.model.value; |
4896 | var on = data.on || (data.on = {}); | 4897 | var on = data.on || (data.on = {}); |
4897 | var existing = on[event]; | 4898 | var existing = on[event]; |
4898 | var callback = data.model.callback; | 4899 | var callback = data.model.callback; |
4899 | if (isDef(existing)) { | 4900 | if (isDef(existing)) { |
4900 | if ( | 4901 | if ( |
4901 | Array.isArray(existing) | 4902 | Array.isArray(existing) |
4902 | ? existing.indexOf(callback) === -1 | 4903 | ? existing.indexOf(callback) === -1 |
4903 | : existing !== callback | 4904 | : existing !== callback |
4904 | ) { | 4905 | ) { |
4905 | on[event] = [callback].concat(existing); | 4906 | on[event] = [callback].concat(existing); |
4906 | } | 4907 | } |
4907 | } else { | 4908 | } else { |
4908 | on[event] = callback; | 4909 | on[event] = callback; |
4909 | } | 4910 | } |
4910 | } | 4911 | } |
4911 | 4912 | ||
4912 | /* */ | 4913 | /* */ |
4913 | 4914 | ||
4914 | var SIMPLE_NORMALIZE = 1; | 4915 | var SIMPLE_NORMALIZE = 1; |
4915 | var ALWAYS_NORMALIZE = 2; | 4916 | var ALWAYS_NORMALIZE = 2; |
4916 | 4917 | ||
4917 | // wrapper function for providing a more flexible interface | 4918 | // wrapper function for providing a more flexible interface |
4918 | // without getting yelled at by flow | 4919 | // without getting yelled at by flow |
4919 | function createElement ( | 4920 | function createElement ( |
4920 | context, | 4921 | context, |
4921 | tag, | 4922 | tag, |
4922 | data, | 4923 | data, |
4923 | children, | 4924 | children, |
4924 | normalizationType, | 4925 | normalizationType, |
4925 | alwaysNormalize | 4926 | alwaysNormalize |
4926 | ) { | 4927 | ) { |
4927 | if (Array.isArray(data) || isPrimitive(data)) { | 4928 | if (Array.isArray(data) || isPrimitive(data)) { |
4928 | normalizationType = children; | 4929 | normalizationType = children; |
4929 | children = data; | 4930 | children = data; |
4930 | data = undefined; | 4931 | data = undefined; |
4931 | } | 4932 | } |
4932 | if (isTrue(alwaysNormalize)) { | 4933 | if (isTrue(alwaysNormalize)) { |
4933 | normalizationType = ALWAYS_NORMALIZE; | 4934 | normalizationType = ALWAYS_NORMALIZE; |
4934 | } | 4935 | } |
4935 | return _createElement(context, tag, data, children, normalizationType) | 4936 | return _createElement(context, tag, data, children, normalizationType) |
4936 | } | 4937 | } |
4937 | 4938 | ||
4938 | function _createElement ( | 4939 | function _createElement ( |
4939 | context, | 4940 | context, |
4940 | tag, | 4941 | tag, |
4941 | data, | 4942 | data, |
4942 | children, | 4943 | children, |
4943 | normalizationType | 4944 | normalizationType |
4944 | ) { | 4945 | ) { |
4945 | if (isDef(data) && isDef((data).__ob__)) { | 4946 | if (isDef(data) && isDef((data).__ob__)) { |
4946 | true && warn( | 4947 | true && warn( |
4947 | "Avoid using observed data object as vnode data: " + (JSON.stringify(data)) + "\n" + | 4948 | "Avoid using observed data object as vnode data: " + (JSON.stringify(data)) + "\n" + |
4948 | 'Always create fresh vnode data objects in each render!', | 4949 | 'Always create fresh vnode data objects in each render!', |
4949 | context | 4950 | context |
4950 | ); | 4951 | ); |
4951 | return createEmptyVNode() | 4952 | return createEmptyVNode() |
4952 | } | 4953 | } |
4953 | // object syntax in v-bind | 4954 | // object syntax in v-bind |
4954 | if (isDef(data) && isDef(data.is)) { | 4955 | if (isDef(data) && isDef(data.is)) { |
4955 | tag = data.is; | 4956 | tag = data.is; |
4956 | } | 4957 | } |
4957 | if (!tag) { | 4958 | if (!tag) { |
4958 | // in case of component :is set to falsy value | 4959 | // in case of component :is set to falsy value |
4959 | return createEmptyVNode() | 4960 | return createEmptyVNode() |
4960 | } | 4961 | } |
4961 | // warn against non-primitive key | 4962 | // warn against non-primitive key |
4962 | if ( true && | 4963 | if ( true && |
4963 | isDef(data) && isDef(data.key) && !isPrimitive(data.key) | 4964 | isDef(data) && isDef(data.key) && !isPrimitive(data.key) |
4964 | ) { | 4965 | ) { |
4965 | { | 4966 | { |
4966 | warn( | 4967 | warn( |
4967 | 'Avoid using non-primitive value as key, ' + | 4968 | 'Avoid using non-primitive value as key, ' + |
4968 | 'use string/number value instead.', | 4969 | 'use string/number value instead.', |
4969 | context | 4970 | context |
4970 | ); | 4971 | ); |
4971 | } | 4972 | } |
4972 | } | 4973 | } |
4973 | // support single function children as default scoped slot | 4974 | // support single function children as default scoped slot |
4974 | if (Array.isArray(children) && | 4975 | if (Array.isArray(children) && |
4975 | typeof children[0] === 'function' | 4976 | typeof children[0] === 'function' |
4976 | ) { | 4977 | ) { |
4977 | data = data || {}; | 4978 | data = data || {}; |
4978 | data.scopedSlots = { default: children[0] }; | 4979 | data.scopedSlots = { default: children[0] }; |
4979 | children.length = 0; | 4980 | children.length = 0; |
4980 | } | 4981 | } |
4981 | if (normalizationType === ALWAYS_NORMALIZE) { | 4982 | if (normalizationType === ALWAYS_NORMALIZE) { |
4982 | children = normalizeChildren(children); | 4983 | children = normalizeChildren(children); |
4983 | } else if (normalizationType === SIMPLE_NORMALIZE) { | 4984 | } else if (normalizationType === SIMPLE_NORMALIZE) { |
4984 | children = simpleNormalizeChildren(children); | 4985 | children = simpleNormalizeChildren(children); |
4985 | } | 4986 | } |
4986 | var vnode, ns; | 4987 | var vnode, ns; |
4987 | if (typeof tag === 'string') { | 4988 | if (typeof tag === 'string') { |
4988 | var Ctor; | 4989 | var Ctor; |
4989 | ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag); | 4990 | ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag); |
4990 | if (config.isReservedTag(tag)) { | 4991 | if (config.isReservedTag(tag)) { |
4991 | // platform built-in elements | 4992 | // platform built-in elements |
4992 | if ( true && isDef(data) && isDef(data.nativeOn)) { | 4993 | if ( true && isDef(data) && isDef(data.nativeOn)) { |
4993 | warn( | 4994 | warn( |
4994 | ("The .native modifier for v-on is only valid on components but it was used on <" + tag + ">."), | 4995 | ("The .native modifier for v-on is only valid on components but it was used on <" + tag + ">."), |
4995 | context | 4996 | context |
4996 | ); | 4997 | ); |
4997 | } | 4998 | } |
4998 | vnode = new VNode( | 4999 | vnode = new VNode( |
4999 | config.parsePlatformTagName(tag), data, children, | 5000 | config.parsePlatformTagName(tag), data, children, |
5000 | undefined, undefined, context | 5001 | undefined, undefined, context |
5001 | ); | 5002 | ); |
5002 | } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) { | 5003 | } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) { |
5003 | // component | 5004 | // component |
5004 | vnode = createComponent(Ctor, data, context, children, tag); | 5005 | vnode = createComponent(Ctor, data, context, children, tag); |
5005 | } else { | 5006 | } else { |
5006 | // unknown or unlisted namespaced elements | 5007 | // unknown or unlisted namespaced elements |
5007 | // check at runtime because it may get assigned a namespace when its | 5008 | // check at runtime because it may get assigned a namespace when its |
5008 | // parent normalizes children | 5009 | // parent normalizes children |
5009 | vnode = new VNode( | 5010 | vnode = new VNode( |
5010 | tag, data, children, | 5011 | tag, data, children, |
5011 | undefined, undefined, context | 5012 | undefined, undefined, context |
5012 | ); | 5013 | ); |
5013 | } | 5014 | } |
5014 | } else { | 5015 | } else { |
5015 | // direct component options / constructor | 5016 | // direct component options / constructor |
5016 | vnode = createComponent(tag, data, context, children); | 5017 | vnode = createComponent(tag, data, context, children); |
5017 | } | 5018 | } |
5018 | if (Array.isArray(vnode)) { | 5019 | if (Array.isArray(vnode)) { |
5019 | return vnode | 5020 | return vnode |
5020 | } else if (isDef(vnode)) { | 5021 | } else if (isDef(vnode)) { |
5021 | if (isDef(ns)) { applyNS(vnode, ns); } | 5022 | if (isDef(ns)) { applyNS(vnode, ns); } |
5022 | if (isDef(data)) { registerDeepBindings(data); } | 5023 | if (isDef(data)) { registerDeepBindings(data); } |
5023 | return vnode | 5024 | return vnode |
5024 | } else { | 5025 | } else { |
5025 | return createEmptyVNode() | 5026 | return createEmptyVNode() |
5026 | } | 5027 | } |
5027 | } | 5028 | } |
5028 | 5029 | ||
5029 | function applyNS (vnode, ns, force) { | 5030 | function applyNS (vnode, ns, force) { |
5030 | vnode.ns = ns; | 5031 | vnode.ns = ns; |
5031 | if (vnode.tag === 'foreignObject') { | 5032 | if (vnode.tag === 'foreignObject') { |
5032 | // use default namespace inside foreignObject | 5033 | // use default namespace inside foreignObject |
5033 | ns = undefined; | 5034 | ns = undefined; |
5034 | force = true; | 5035 | force = true; |
5035 | } | 5036 | } |
5036 | if (isDef(vnode.children)) { | 5037 | if (isDef(vnode.children)) { |
5037 | for (var i = 0, l = vnode.children.length; i < l; i++) { | 5038 | for (var i = 0, l = vnode.children.length; i < l; i++) { |
5038 | var child = vnode.children[i]; | 5039 | var child = vnode.children[i]; |
5039 | if (isDef(child.tag) && ( | 5040 | if (isDef(child.tag) && ( |
5040 | isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) { | 5041 | isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) { |
5041 | applyNS(child, ns, force); | 5042 | applyNS(child, ns, force); |
5042 | } | 5043 | } |
5043 | } | 5044 | } |
5044 | } | 5045 | } |
5045 | } | 5046 | } |
5046 | 5047 | ||
5047 | // ref #5318 | 5048 | // ref #5318 |
5048 | // necessary to ensure parent re-render when deep bindings like :style and | 5049 | // necessary to ensure parent re-render when deep bindings like :style and |
5049 | // :class are used on slot nodes | 5050 | // :class are used on slot nodes |
5050 | function registerDeepBindings (data) { | 5051 | function registerDeepBindings (data) { |
5051 | if (isObject(data.style)) { | 5052 | if (isObject(data.style)) { |
5052 | traverse(data.style); | 5053 | traverse(data.style); |
5053 | } | 5054 | } |
5054 | if (isObject(data.class)) { | 5055 | if (isObject(data.class)) { |
5055 | traverse(data.class); | 5056 | traverse(data.class); |
5056 | } | 5057 | } |
5057 | } | 5058 | } |
5058 | 5059 | ||
5059 | /* */ | 5060 | /* */ |
5060 | 5061 | ||
5061 | function initRender (vm) { | 5062 | function initRender (vm) { |
5062 | vm._vnode = null; // the root of the child tree | 5063 | vm._vnode = null; // the root of the child tree |
5063 | vm._staticTrees = null; // v-once cached trees | 5064 | vm._staticTrees = null; // v-once cached trees |
5064 | var options = vm.$options; | 5065 | var options = vm.$options; |
5065 | var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree | 5066 | var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree |
5066 | var renderContext = parentVnode && parentVnode.context; | 5067 | var renderContext = parentVnode && parentVnode.context; |
5067 | vm.$slots = resolveSlots(options._renderChildren, renderContext); | 5068 | vm.$slots = resolveSlots(options._renderChildren, renderContext); |
5068 | vm.$scopedSlots = emptyObject; | 5069 | vm.$scopedSlots = emptyObject; |
5069 | // bind the createElement fn to this instance | 5070 | // bind the createElement fn to this instance |
5070 | // so that we get proper render context inside it. | 5071 | // so that we get proper render context inside it. |
5071 | // args order: tag, data, children, normalizationType, alwaysNormalize | 5072 | // args order: tag, data, children, normalizationType, alwaysNormalize |
5072 | // internal version is used by render functions compiled from templates | 5073 | // internal version is used by render functions compiled from templates |
5073 | vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); }; | 5074 | vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); }; |
5074 | // normalization is always applied for the public version, used in | 5075 | // normalization is always applied for the public version, used in |
5075 | // user-written render functions. | 5076 | // user-written render functions. |
5076 | vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); }; | 5077 | vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); }; |
5077 | 5078 | ||
5078 | // $attrs & $listeners are exposed for easier HOC creation. | 5079 | // $attrs & $listeners are exposed for easier HOC creation. |
5079 | // they need to be reactive so that HOCs using them are always updated | 5080 | // they need to be reactive so that HOCs using them are always updated |
5080 | var parentData = parentVnode && parentVnode.data; | 5081 | var parentData = parentVnode && parentVnode.data; |
5081 | 5082 | ||
5082 | /* istanbul ignore else */ | 5083 | /* istanbul ignore else */ |
5083 | if (true) { | 5084 | if (true) { |
5084 | defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () { | 5085 | defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () { |
5085 | !isUpdatingChildComponent && warn("$attrs is readonly.", vm); | 5086 | !isUpdatingChildComponent && warn("$attrs is readonly.", vm); |
5086 | }, true); | 5087 | }, true); |
5087 | defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () { | 5088 | defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () { |
5088 | !isUpdatingChildComponent && warn("$listeners is readonly.", vm); | 5089 | !isUpdatingChildComponent && warn("$listeners is readonly.", vm); |
5089 | }, true); | 5090 | }, true); |
5090 | } else {} | 5091 | } else {} |
5091 | } | 5092 | } |
5092 | 5093 | ||
5093 | var currentRenderingInstance = null; | 5094 | var currentRenderingInstance = null; |
5094 | 5095 | ||
5095 | function renderMixin (Vue) { | 5096 | function renderMixin (Vue) { |
5096 | // install runtime convenience helpers | 5097 | // install runtime convenience helpers |
5097 | installRenderHelpers(Vue.prototype); | 5098 | installRenderHelpers(Vue.prototype); |
5098 | 5099 | ||
5099 | Vue.prototype.$nextTick = function (fn) { | 5100 | Vue.prototype.$nextTick = function (fn) { |
5100 | return nextTick(fn, this) | 5101 | return nextTick(fn, this) |
5101 | }; | 5102 | }; |
5102 | 5103 | ||
5103 | Vue.prototype._render = function () { | 5104 | Vue.prototype._render = function () { |
5104 | var vm = this; | 5105 | var vm = this; |
5105 | var ref = vm.$options; | 5106 | var ref = vm.$options; |
5106 | var render = ref.render; | 5107 | var render = ref.render; |
5107 | var _parentVnode = ref._parentVnode; | 5108 | var _parentVnode = ref._parentVnode; |
5108 | 5109 | ||
5109 | if (_parentVnode) { | 5110 | if (_parentVnode) { |
5110 | vm.$scopedSlots = normalizeScopedSlots( | 5111 | vm.$scopedSlots = normalizeScopedSlots( |
5111 | _parentVnode.data.scopedSlots, | 5112 | _parentVnode.data.scopedSlots, |
5112 | vm.$slots, | 5113 | vm.$slots, |
5113 | vm.$scopedSlots | 5114 | vm.$scopedSlots |
5114 | ); | 5115 | ); |
5115 | } | 5116 | } |
5116 | 5117 | ||
5117 | // set parent vnode. this allows render functions to have access | 5118 | // set parent vnode. this allows render functions to have access |
5118 | // to the data on the placeholder node. | 5119 | // to the data on the placeholder node. |
5119 | vm.$vnode = _parentVnode; | 5120 | vm.$vnode = _parentVnode; |
5120 | // render self | 5121 | // render self |
5121 | var vnode; | 5122 | var vnode; |
5122 | try { | 5123 | try { |
5123 | // There's no need to maintain a stack because all render fns are called | 5124 | // There's no need to maintain a stack because all render fns are called |
5124 | // separately from one another. Nested component's render fns are called | 5125 | // separately from one another. Nested component's render fns are called |
5125 | // when parent component is patched. | 5126 | // when parent component is patched. |
5126 | currentRenderingInstance = vm; | 5127 | currentRenderingInstance = vm; |
5127 | vnode = render.call(vm._renderProxy, vm.$createElement); | 5128 | vnode = render.call(vm._renderProxy, vm.$createElement); |
5128 | } catch (e) { | 5129 | } catch (e) { |
5129 | handleError(e, vm, "render"); | 5130 | handleError(e, vm, "render"); |
5130 | // return error render result, | 5131 | // return error render result, |
5131 | // or previous vnode to prevent render error causing blank component | 5132 | // or previous vnode to prevent render error causing blank component |
5132 | /* istanbul ignore else */ | 5133 | /* istanbul ignore else */ |
5133 | if ( true && vm.$options.renderError) { | 5134 | if ( true && vm.$options.renderError) { |
5134 | try { | 5135 | try { |
5135 | vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e); | 5136 | vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e); |
5136 | } catch (e) { | 5137 | } catch (e) { |
5137 | handleError(e, vm, "renderError"); | 5138 | handleError(e, vm, "renderError"); |
5138 | vnode = vm._vnode; | 5139 | vnode = vm._vnode; |
5139 | } | 5140 | } |
5140 | } else { | 5141 | } else { |
5141 | vnode = vm._vnode; | 5142 | vnode = vm._vnode; |
5142 | } | 5143 | } |
5143 | } finally { | 5144 | } finally { |
5144 | currentRenderingInstance = null; | 5145 | currentRenderingInstance = null; |
5145 | } | 5146 | } |
5146 | // if the returned array contains only a single node, allow it | 5147 | // if the returned array contains only a single node, allow it |
5147 | if (Array.isArray(vnode) && vnode.length === 1) { | 5148 | if (Array.isArray(vnode) && vnode.length === 1) { |
5148 | vnode = vnode[0]; | 5149 | vnode = vnode[0]; |
5149 | } | 5150 | } |
5150 | // return empty vnode in case the render function errored out | 5151 | // return empty vnode in case the render function errored out |
5151 | if (!(vnode instanceof VNode)) { | 5152 | if (!(vnode instanceof VNode)) { |
5152 | if ( true && Array.isArray(vnode)) { | 5153 | if ( true && Array.isArray(vnode)) { |
5153 | warn( | 5154 | warn( |
5154 | 'Multiple root nodes returned from render function. Render function ' + | 5155 | 'Multiple root nodes returned from render function. Render function ' + |
5155 | 'should return a single root node.', | 5156 | 'should return a single root node.', |
5156 | vm | 5157 | vm |
5157 | ); | 5158 | ); |
5158 | } | 5159 | } |
5159 | vnode = createEmptyVNode(); | 5160 | vnode = createEmptyVNode(); |
5160 | } | 5161 | } |
5161 | // set parent | 5162 | // set parent |
5162 | vnode.parent = _parentVnode; | 5163 | vnode.parent = _parentVnode; |
5163 | return vnode | 5164 | return vnode |
5164 | }; | 5165 | }; |
5165 | } | 5166 | } |
5166 | 5167 | ||
5167 | /* */ | 5168 | /* */ |
5168 | 5169 | ||
5169 | function ensureCtor (comp, base) { | 5170 | function ensureCtor (comp, base) { |
5170 | if ( | 5171 | if ( |
5171 | comp.__esModule || | 5172 | comp.__esModule || |
5172 | (hasSymbol && comp[Symbol.toStringTag] === 'Module') | 5173 | (hasSymbol && comp[Symbol.toStringTag] === 'Module') |
5173 | ) { | 5174 | ) { |
5174 | comp = comp.default; | 5175 | comp = comp.default; |
5175 | } | 5176 | } |
5176 | return isObject(comp) | 5177 | return isObject(comp) |
5177 | ? base.extend(comp) | 5178 | ? base.extend(comp) |
5178 | : comp | 5179 | : comp |
5179 | } | 5180 | } |
5180 | 5181 | ||
5181 | function createAsyncPlaceholder ( | 5182 | function createAsyncPlaceholder ( |
5182 | factory, | 5183 | factory, |
5183 | data, | 5184 | data, |
5184 | context, | 5185 | context, |
5185 | children, | 5186 | children, |
5186 | tag | 5187 | tag |
5187 | ) { | 5188 | ) { |
5188 | var node = createEmptyVNode(); | 5189 | var node = createEmptyVNode(); |
5189 | node.asyncFactory = factory; | 5190 | node.asyncFactory = factory; |
5190 | node.asyncMeta = { data: data, context: context, children: children, tag: tag }; | 5191 | node.asyncMeta = { data: data, context: context, children: children, tag: tag }; |
5191 | return node | 5192 | return node |
5192 | } | 5193 | } |
5193 | 5194 | ||
5194 | function resolveAsyncComponent ( | 5195 | function resolveAsyncComponent ( |
5195 | factory, | 5196 | factory, |
5196 | baseCtor | 5197 | baseCtor |
5197 | ) { | 5198 | ) { |
5198 | if (isTrue(factory.error) && isDef(factory.errorComp)) { | 5199 | if (isTrue(factory.error) && isDef(factory.errorComp)) { |
5199 | return factory.errorComp | 5200 | return factory.errorComp |
5200 | } | 5201 | } |
5201 | 5202 | ||
5202 | if (isDef(factory.resolved)) { | 5203 | if (isDef(factory.resolved)) { |
5203 | return factory.resolved | 5204 | return factory.resolved |
5204 | } | 5205 | } |
5205 | 5206 | ||
5206 | var owner = currentRenderingInstance; | 5207 | var owner = currentRenderingInstance; |
5207 | if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) { | 5208 | if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) { |
5208 | // already pending | 5209 | // already pending |
5209 | factory.owners.push(owner); | 5210 | factory.owners.push(owner); |
5210 | } | 5211 | } |
5211 | 5212 | ||
5212 | if (isTrue(factory.loading) && isDef(factory.loadingComp)) { | 5213 | if (isTrue(factory.loading) && isDef(factory.loadingComp)) { |
5213 | return factory.loadingComp | 5214 | return factory.loadingComp |
5214 | } | 5215 | } |
5215 | 5216 | ||
5216 | if (owner && !isDef(factory.owners)) { | 5217 | if (owner && !isDef(factory.owners)) { |
5217 | var owners = factory.owners = [owner]; | 5218 | var owners = factory.owners = [owner]; |
5218 | var sync = true; | 5219 | var sync = true; |
5219 | var timerLoading = null; | 5220 | var timerLoading = null; |
5220 | var timerTimeout = null | 5221 | var timerTimeout = null |
5221 | 5222 | ||
5222 | ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); }); | 5223 | ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); }); |
5223 | 5224 | ||
5224 | var forceRender = function (renderCompleted) { | 5225 | var forceRender = function (renderCompleted) { |
5225 | for (var i = 0, l = owners.length; i < l; i++) { | 5226 | for (var i = 0, l = owners.length; i < l; i++) { |
5226 | (owners[i]).$forceUpdate(); | 5227 | (owners[i]).$forceUpdate(); |
5227 | } | 5228 | } |
5228 | 5229 | ||
5229 | if (renderCompleted) { | 5230 | if (renderCompleted) { |
5230 | owners.length = 0; | 5231 | owners.length = 0; |
5231 | if (timerLoading !== null) { | 5232 | if (timerLoading !== null) { |
5232 | clearTimeout(timerLoading); | 5233 | clearTimeout(timerLoading); |
5233 | timerLoading = null; | 5234 | timerLoading = null; |
5234 | } | 5235 | } |
5235 | if (timerTimeout !== null) { | 5236 | if (timerTimeout !== null) { |
5236 | clearTimeout(timerTimeout); | 5237 | clearTimeout(timerTimeout); |
5237 | timerTimeout = null; | 5238 | timerTimeout = null; |
5238 | } | 5239 | } |
5239 | } | 5240 | } |
5240 | }; | 5241 | }; |
5241 | 5242 | ||
5242 | var resolve = once(function (res) { | 5243 | var resolve = once(function (res) { |
5243 | // cache resolved | 5244 | // cache resolved |
5244 | factory.resolved = ensureCtor(res, baseCtor); | 5245 | factory.resolved = ensureCtor(res, baseCtor); |
5245 | // invoke callbacks only if this is not a synchronous resolve | 5246 | // invoke callbacks only if this is not a synchronous resolve |
5246 | // (async resolves are shimmed as synchronous during SSR) | 5247 | // (async resolves are shimmed as synchronous during SSR) |
5247 | if (!sync) { | 5248 | if (!sync) { |
5248 | forceRender(true); | 5249 | forceRender(true); |
5249 | } else { | 5250 | } else { |
5250 | owners.length = 0; | 5251 | owners.length = 0; |
5251 | } | 5252 | } |
5252 | }); | 5253 | }); |
5253 | 5254 | ||
5254 | var reject = once(function (reason) { | 5255 | var reject = once(function (reason) { |
5255 | true && warn( | 5256 | true && warn( |
5256 | "Failed to resolve async component: " + (String(factory)) + | 5257 | "Failed to resolve async component: " + (String(factory)) + |
5257 | (reason ? ("\nReason: " + reason) : '') | 5258 | (reason ? ("\nReason: " + reason) : '') |
5258 | ); | 5259 | ); |
5259 | if (isDef(factory.errorComp)) { | 5260 | if (isDef(factory.errorComp)) { |
5260 | factory.error = true; | 5261 | factory.error = true; |
5261 | forceRender(true); | 5262 | forceRender(true); |
5262 | } | 5263 | } |
5263 | }); | 5264 | }); |
5264 | 5265 | ||
5265 | var res = factory(resolve, reject); | 5266 | var res = factory(resolve, reject); |
5266 | 5267 | ||
5267 | if (isObject(res)) { | 5268 | if (isObject(res)) { |
5268 | if (isPromise(res)) { | 5269 | if (isPromise(res)) { |
5269 | // () => Promise | 5270 | // () => Promise |
5270 | if (isUndef(factory.resolved)) { | 5271 | if (isUndef(factory.resolved)) { |
5271 | res.then(resolve, reject); | 5272 | res.then(resolve, reject); |
5272 | } | 5273 | } |
5273 | } else if (isPromise(res.component)) { | 5274 | } else if (isPromise(res.component)) { |
5274 | res.component.then(resolve, reject); | 5275 | res.component.then(resolve, reject); |
5275 | 5276 | ||
5276 | if (isDef(res.error)) { | 5277 | if (isDef(res.error)) { |
5277 | factory.errorComp = ensureCtor(res.error, baseCtor); | 5278 | factory.errorComp = ensureCtor(res.error, baseCtor); |
5278 | } | 5279 | } |
5279 | 5280 | ||
5280 | if (isDef(res.loading)) { | 5281 | if (isDef(res.loading)) { |
5281 | factory.loadingComp = ensureCtor(res.loading, baseCtor); | 5282 | factory.loadingComp = ensureCtor(res.loading, baseCtor); |
5282 | if (res.delay === 0) { | 5283 | if (res.delay === 0) { |
5283 | factory.loading = true; | 5284 | factory.loading = true; |
5284 | } else { | 5285 | } else { |
5285 | timerLoading = setTimeout(function () { | 5286 | timerLoading = setTimeout(function () { |
5286 | timerLoading = null; | 5287 | timerLoading = null; |
5287 | if (isUndef(factory.resolved) && isUndef(factory.error)) { | 5288 | if (isUndef(factory.resolved) && isUndef(factory.error)) { |
5288 | factory.loading = true; | 5289 | factory.loading = true; |
5289 | forceRender(false); | 5290 | forceRender(false); |
5290 | } | 5291 | } |
5291 | }, res.delay || 200); | 5292 | }, res.delay || 200); |
5292 | } | 5293 | } |
5293 | } | 5294 | } |
5294 | 5295 | ||
5295 | if (isDef(res.timeout)) { | 5296 | if (isDef(res.timeout)) { |
5296 | timerTimeout = setTimeout(function () { | 5297 | timerTimeout = setTimeout(function () { |
5297 | timerTimeout = null; | 5298 | timerTimeout = null; |
5298 | if (isUndef(factory.resolved)) { | 5299 | if (isUndef(factory.resolved)) { |
5299 | reject( | 5300 | reject( |
5300 | true | 5301 | true |
5301 | ? ("timeout (" + (res.timeout) + "ms)") | 5302 | ? ("timeout (" + (res.timeout) + "ms)") |
5302 | : undefined | 5303 | : undefined |
5303 | ); | 5304 | ); |
5304 | } | 5305 | } |
5305 | }, res.timeout); | 5306 | }, res.timeout); |
5306 | } | 5307 | } |
5307 | } | 5308 | } |
5308 | } | 5309 | } |
5309 | 5310 | ||
5310 | sync = false; | 5311 | sync = false; |
5311 | // return in case resolved synchronously | 5312 | // return in case resolved synchronously |
5312 | return factory.loading | 5313 | return factory.loading |
5313 | ? factory.loadingComp | 5314 | ? factory.loadingComp |
5314 | : factory.resolved | 5315 | : factory.resolved |
5315 | } | 5316 | } |
5316 | } | 5317 | } |
5317 | 5318 | ||
5318 | /* */ | 5319 | /* */ |
5319 | 5320 | ||
5320 | function isAsyncPlaceholder (node) { | 5321 | function isAsyncPlaceholder (node) { |
5321 | return node.isComment && node.asyncFactory | 5322 | return node.isComment && node.asyncFactory |
5322 | } | 5323 | } |
5323 | 5324 | ||
5324 | /* */ | 5325 | /* */ |
5325 | 5326 | ||
5326 | function getFirstComponentChild (children) { | 5327 | function getFirstComponentChild (children) { |
5327 | if (Array.isArray(children)) { | 5328 | if (Array.isArray(children)) { |
5328 | for (var i = 0; i < children.length; i++) { | 5329 | for (var i = 0; i < children.length; i++) { |
5329 | var c = children[i]; | 5330 | var c = children[i]; |
5330 | if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) { | 5331 | if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) { |
5331 | return c | 5332 | return c |
5332 | } | 5333 | } |
5333 | } | 5334 | } |
5334 | } | 5335 | } |
5335 | } | 5336 | } |
5336 | 5337 | ||
5337 | /* */ | 5338 | /* */ |
5338 | 5339 | ||
5339 | /* */ | 5340 | /* */ |
5340 | 5341 | ||
5341 | function initEvents (vm) { | 5342 | function initEvents (vm) { |
5342 | vm._events = Object.create(null); | 5343 | vm._events = Object.create(null); |
5343 | vm._hasHookEvent = false; | 5344 | vm._hasHookEvent = false; |
5344 | // init parent attached events | 5345 | // init parent attached events |
5345 | var listeners = vm.$options._parentListeners; | 5346 | var listeners = vm.$options._parentListeners; |
5346 | if (listeners) { | 5347 | if (listeners) { |
5347 | updateComponentListeners(vm, listeners); | 5348 | updateComponentListeners(vm, listeners); |
5348 | } | 5349 | } |
5349 | } | 5350 | } |
5350 | 5351 | ||
5351 | var target; | 5352 | var target; |
5352 | 5353 | ||
5353 | function add (event, fn) { | 5354 | function add (event, fn) { |
5354 | target.$on(event, fn); | 5355 | target.$on(event, fn); |
5355 | } | 5356 | } |
5356 | 5357 | ||
5357 | function remove$1 (event, fn) { | 5358 | function remove$1 (event, fn) { |
5358 | target.$off(event, fn); | 5359 | target.$off(event, fn); |
5359 | } | 5360 | } |
5360 | 5361 | ||
5361 | function createOnceHandler (event, fn) { | 5362 | function createOnceHandler (event, fn) { |
5362 | var _target = target; | 5363 | var _target = target; |
5363 | return function onceHandler () { | 5364 | return function onceHandler () { |
5364 | var res = fn.apply(null, arguments); | 5365 | var res = fn.apply(null, arguments); |
5365 | if (res !== null) { | 5366 | if (res !== null) { |
5366 | _target.$off(event, onceHandler); | 5367 | _target.$off(event, onceHandler); |
5367 | } | 5368 | } |
5368 | } | 5369 | } |
5369 | } | 5370 | } |
5370 | 5371 | ||
5371 | function updateComponentListeners ( | 5372 | function updateComponentListeners ( |
5372 | vm, | 5373 | vm, |
5373 | listeners, | 5374 | listeners, |
5374 | oldListeners | 5375 | oldListeners |
5375 | ) { | 5376 | ) { |
5376 | target = vm; | 5377 | target = vm; |
5377 | updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm); | 5378 | updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm); |
5378 | target = undefined; | 5379 | target = undefined; |
5379 | } | 5380 | } |
5380 | 5381 | ||
5381 | function eventsMixin (Vue) { | 5382 | function eventsMixin (Vue) { |
5382 | var hookRE = /^hook:/; | 5383 | var hookRE = /^hook:/; |
5383 | Vue.prototype.$on = function (event, fn) { | 5384 | Vue.prototype.$on = function (event, fn) { |
5384 | var vm = this; | 5385 | var vm = this; |
5385 | if (Array.isArray(event)) { | 5386 | if (Array.isArray(event)) { |
5386 | for (var i = 0, l = event.length; i < l; i++) { | 5387 | for (var i = 0, l = event.length; i < l; i++) { |
5387 | vm.$on(event[i], fn); | 5388 | vm.$on(event[i], fn); |
5388 | } | 5389 | } |
5389 | } else { | 5390 | } else { |
5390 | (vm._events[event] || (vm._events[event] = [])).push(fn); | 5391 | (vm._events[event] || (vm._events[event] = [])).push(fn); |
5391 | // optimize hook:event cost by using a boolean flag marked at registration | 5392 | // optimize hook:event cost by using a boolean flag marked at registration |
5392 | // instead of a hash lookup | 5393 | // instead of a hash lookup |
5393 | if (hookRE.test(event)) { | 5394 | if (hookRE.test(event)) { |
5394 | vm._hasHookEvent = true; | 5395 | vm._hasHookEvent = true; |
5395 | } | 5396 | } |
5396 | } | 5397 | } |
5397 | return vm | 5398 | return vm |
5398 | }; | 5399 | }; |
5399 | 5400 | ||
5400 | Vue.prototype.$once = function (event, fn) { | 5401 | Vue.prototype.$once = function (event, fn) { |
5401 | var vm = this; | 5402 | var vm = this; |
5402 | function on () { | 5403 | function on () { |
5403 | vm.$off(event, on); | 5404 | vm.$off(event, on); |
5404 | fn.apply(vm, arguments); | 5405 | fn.apply(vm, arguments); |
5405 | } | 5406 | } |
5406 | on.fn = fn; | 5407 | on.fn = fn; |
5407 | vm.$on(event, on); | 5408 | vm.$on(event, on); |
5408 | return vm | 5409 | return vm |
5409 | }; | 5410 | }; |
5410 | 5411 | ||
5411 | Vue.prototype.$off = function (event, fn) { | 5412 | Vue.prototype.$off = function (event, fn) { |
5412 | var vm = this; | 5413 | var vm = this; |
5413 | // all | 5414 | // all |
5414 | if (!arguments.length) { | 5415 | if (!arguments.length) { |
5415 | vm._events = Object.create(null); | 5416 | vm._events = Object.create(null); |
5416 | return vm | 5417 | return vm |
5417 | } | 5418 | } |
5418 | // array of events | 5419 | // array of events |
5419 | if (Array.isArray(event)) { | 5420 | if (Array.isArray(event)) { |
5420 | for (var i$1 = 0, l = event.length; i$1 < l; i$1++) { | 5421 | for (var i$1 = 0, l = event.length; i$1 < l; i$1++) { |
5421 | vm.$off(event[i$1], fn); | 5422 | vm.$off(event[i$1], fn); |
5422 | } | 5423 | } |
5423 | return vm | 5424 | return vm |
5424 | } | 5425 | } |
5425 | // specific event | 5426 | // specific event |
5426 | var cbs = vm._events[event]; | 5427 | var cbs = vm._events[event]; |
5427 | if (!cbs) { | 5428 | if (!cbs) { |
5428 | return vm | 5429 | return vm |
5429 | } | 5430 | } |
5430 | if (!fn) { | 5431 | if (!fn) { |
5431 | vm._events[event] = null; | 5432 | vm._events[event] = null; |
5432 | return vm | 5433 | return vm |
5433 | } | 5434 | } |
5434 | // specific handler | 5435 | // specific handler |
5435 | var cb; | 5436 | var cb; |
5436 | var i = cbs.length; | 5437 | var i = cbs.length; |
5437 | while (i--) { | 5438 | while (i--) { |
5438 | cb = cbs[i]; | 5439 | cb = cbs[i]; |
5439 | if (cb === fn || cb.fn === fn) { | 5440 | if (cb === fn || cb.fn === fn) { |
5440 | cbs.splice(i, 1); | 5441 | cbs.splice(i, 1); |
5441 | break | 5442 | break |
5442 | } | 5443 | } |
5443 | } | 5444 | } |
5444 | return vm | 5445 | return vm |
5445 | }; | 5446 | }; |
5446 | 5447 | ||
5447 | Vue.prototype.$emit = function (event) { | 5448 | Vue.prototype.$emit = function (event) { |
5448 | var vm = this; | 5449 | var vm = this; |
5449 | if (true) { | 5450 | if (true) { |
5450 | var lowerCaseEvent = event.toLowerCase(); | 5451 | var lowerCaseEvent = event.toLowerCase(); |
5451 | if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) { | 5452 | if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) { |
5452 | tip( | 5453 | tip( |
5453 | "Event \"" + lowerCaseEvent + "\" is emitted in component " + | 5454 | "Event \"" + lowerCaseEvent + "\" is emitted in component " + |
5454 | (formatComponentName(vm)) + " but the handler is registered for \"" + event + "\". " + | 5455 | (formatComponentName(vm)) + " but the handler is registered for \"" + event + "\". " + |
5455 | "Note that HTML attributes are case-insensitive and you cannot use " + | 5456 | "Note that HTML attributes are case-insensitive and you cannot use " + |
5456 | "v-on to listen to camelCase events when using in-DOM templates. " + | 5457 | "v-on to listen to camelCase events when using in-DOM templates. " + |
5457 | "You should probably use \"" + (hyphenate(event)) + "\" instead of \"" + event + "\"." | 5458 | "You should probably use \"" + (hyphenate(event)) + "\" instead of \"" + event + "\"." |
5458 | ); | 5459 | ); |
5459 | } | 5460 | } |
5460 | } | 5461 | } |
5461 | var cbs = vm._events[event]; | 5462 | var cbs = vm._events[event]; |
5462 | if (cbs) { | 5463 | if (cbs) { |
5463 | cbs = cbs.length > 1 ? toArray(cbs) : cbs; | 5464 | cbs = cbs.length > 1 ? toArray(cbs) : cbs; |
5464 | var args = toArray(arguments, 1); | 5465 | var args = toArray(arguments, 1); |
5465 | var info = "event handler for \"" + event + "\""; | 5466 | var info = "event handler for \"" + event + "\""; |
5466 | for (var i = 0, l = cbs.length; i < l; i++) { | 5467 | for (var i = 0, l = cbs.length; i < l; i++) { |
5467 | invokeWithErrorHandling(cbs[i], vm, args, vm, info); | 5468 | invokeWithErrorHandling(cbs[i], vm, args, vm, info); |
5468 | } | 5469 | } |
5469 | } | 5470 | } |
5470 | return vm | 5471 | return vm |
5471 | }; | 5472 | }; |
5472 | } | 5473 | } |
5473 | 5474 | ||
5474 | /* */ | 5475 | /* */ |
5475 | 5476 | ||
5476 | var activeInstance = null; | 5477 | var activeInstance = null; |
5477 | var isUpdatingChildComponent = false; | 5478 | var isUpdatingChildComponent = false; |
5478 | 5479 | ||
5479 | function setActiveInstance(vm) { | 5480 | function setActiveInstance(vm) { |
5480 | var prevActiveInstance = activeInstance; | 5481 | var prevActiveInstance = activeInstance; |
5481 | activeInstance = vm; | 5482 | activeInstance = vm; |
5482 | return function () { | 5483 | return function () { |
5483 | activeInstance = prevActiveInstance; | 5484 | activeInstance = prevActiveInstance; |
5484 | } | 5485 | } |
5485 | } | 5486 | } |
5486 | 5487 | ||
5487 | function initLifecycle (vm) { | 5488 | function initLifecycle (vm) { |
5488 | var options = vm.$options; | 5489 | var options = vm.$options; |
5489 | 5490 | ||
5490 | // locate first non-abstract parent | 5491 | // locate first non-abstract parent |
5491 | var parent = options.parent; | 5492 | var parent = options.parent; |
5492 | if (parent && !options.abstract) { | 5493 | if (parent && !options.abstract) { |
5493 | while (parent.$options.abstract && parent.$parent) { | 5494 | while (parent.$options.abstract && parent.$parent) { |
5494 | parent = parent.$parent; | 5495 | parent = parent.$parent; |
5495 | } | 5496 | } |
5496 | parent.$children.push(vm); | 5497 | parent.$children.push(vm); |
5497 | } | 5498 | } |
5498 | 5499 | ||
5499 | vm.$parent = parent; | 5500 | vm.$parent = parent; |
5500 | vm.$root = parent ? parent.$root : vm; | 5501 | vm.$root = parent ? parent.$root : vm; |
5501 | 5502 | ||
5502 | vm.$children = []; | 5503 | vm.$children = []; |
5503 | vm.$refs = {}; | 5504 | vm.$refs = {}; |
5504 | 5505 | ||
5505 | vm._watcher = null; | 5506 | vm._watcher = null; |
5506 | vm._inactive = null; | 5507 | vm._inactive = null; |
5507 | vm._directInactive = false; | 5508 | vm._directInactive = false; |
5508 | vm._isMounted = false; | 5509 | vm._isMounted = false; |
5509 | vm._isDestroyed = false; | 5510 | vm._isDestroyed = false; |
5510 | vm._isBeingDestroyed = false; | 5511 | vm._isBeingDestroyed = false; |
5511 | } | 5512 | } |
5512 | 5513 | ||
5513 | function lifecycleMixin (Vue) { | 5514 | function lifecycleMixin (Vue) { |
5514 | Vue.prototype._update = function (vnode, hydrating) { | 5515 | Vue.prototype._update = function (vnode, hydrating) { |
5515 | var vm = this; | 5516 | var vm = this; |
5516 | var prevEl = vm.$el; | 5517 | var prevEl = vm.$el; |
5517 | var prevVnode = vm._vnode; | 5518 | var prevVnode = vm._vnode; |
5518 | var restoreActiveInstance = setActiveInstance(vm); | 5519 | var restoreActiveInstance = setActiveInstance(vm); |
5519 | vm._vnode = vnode; | 5520 | vm._vnode = vnode; |
5520 | // Vue.prototype.__patch__ is injected in entry points | 5521 | // Vue.prototype.__patch__ is injected in entry points |
5521 | // based on the rendering backend used. | 5522 | // based on the rendering backend used. |
5522 | if (!prevVnode) { | 5523 | if (!prevVnode) { |
5523 | // initial render | 5524 | // initial render |
5524 | vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */); | 5525 | vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */); |
5525 | } else { | 5526 | } else { |
5526 | // updates | 5527 | // updates |
5527 | vm.$el = vm.__patch__(prevVnode, vnode); | 5528 | vm.$el = vm.__patch__(prevVnode, vnode); |
5528 | } | 5529 | } |
5529 | restoreActiveInstance(); | 5530 | restoreActiveInstance(); |
5530 | // update __vue__ reference | 5531 | // update __vue__ reference |
5531 | if (prevEl) { | 5532 | if (prevEl) { |
5532 | prevEl.__vue__ = null; | 5533 | prevEl.__vue__ = null; |
5533 | } | 5534 | } |
5534 | if (vm.$el) { | 5535 | if (vm.$el) { |
5535 | vm.$el.__vue__ = vm; | 5536 | vm.$el.__vue__ = vm; |
5536 | } | 5537 | } |
5537 | // if parent is an HOC, update its $el as well | 5538 | // if parent is an HOC, update its $el as well |
5538 | if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) { | 5539 | if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) { |
5539 | vm.$parent.$el = vm.$el; | 5540 | vm.$parent.$el = vm.$el; |
5540 | } | 5541 | } |
5541 | // updated hook is called by the scheduler to ensure that children are | 5542 | // updated hook is called by the scheduler to ensure that children are |
5542 | // updated in a parent's updated hook. | 5543 | // updated in a parent's updated hook. |
5543 | }; | 5544 | }; |
5544 | 5545 | ||
5545 | Vue.prototype.$forceUpdate = function () { | 5546 | Vue.prototype.$forceUpdate = function () { |
5546 | var vm = this; | 5547 | var vm = this; |
5547 | if (vm._watcher) { | 5548 | if (vm._watcher) { |
5548 | vm._watcher.update(); | 5549 | vm._watcher.update(); |
5549 | } | 5550 | } |
5550 | }; | 5551 | }; |
5551 | 5552 | ||
5552 | Vue.prototype.$destroy = function () { | 5553 | Vue.prototype.$destroy = function () { |
5553 | var vm = this; | 5554 | var vm = this; |
5554 | if (vm._isBeingDestroyed) { | 5555 | if (vm._isBeingDestroyed) { |
5555 | return | 5556 | return |
5556 | } | 5557 | } |
5557 | callHook(vm, 'beforeDestroy'); | 5558 | callHook(vm, 'beforeDestroy'); |
5558 | vm._isBeingDestroyed = true; | 5559 | vm._isBeingDestroyed = true; |
5559 | // remove self from parent | 5560 | // remove self from parent |
5560 | var parent = vm.$parent; | 5561 | var parent = vm.$parent; |
5561 | if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) { | 5562 | if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) { |
5562 | remove(parent.$children, vm); | 5563 | remove(parent.$children, vm); |
5563 | } | 5564 | } |
5564 | // teardown watchers | 5565 | // teardown watchers |
5565 | if (vm._watcher) { | 5566 | if (vm._watcher) { |
5566 | vm._watcher.teardown(); | 5567 | vm._watcher.teardown(); |
5567 | } | 5568 | } |
5568 | var i = vm._watchers.length; | 5569 | var i = vm._watchers.length; |
5569 | while (i--) { | 5570 | while (i--) { |
5570 | vm._watchers[i].teardown(); | 5571 | vm._watchers[i].teardown(); |
5571 | } | 5572 | } |
5572 | // remove reference from data ob | 5573 | // remove reference from data ob |
5573 | // frozen object may not have observer. | 5574 | // frozen object may not have observer. |
5574 | if (vm._data.__ob__) { | 5575 | if (vm._data.__ob__) { |
5575 | vm._data.__ob__.vmCount--; | 5576 | vm._data.__ob__.vmCount--; |
5576 | } | 5577 | } |
5577 | // call the last hook... | 5578 | // call the last hook... |
5578 | vm._isDestroyed = true; | 5579 | vm._isDestroyed = true; |
5579 | // invoke destroy hooks on current rendered tree | 5580 | // invoke destroy hooks on current rendered tree |
5580 | vm.__patch__(vm._vnode, null); | 5581 | vm.__patch__(vm._vnode, null); |
5581 | // fire destroyed hook | 5582 | // fire destroyed hook |
5582 | callHook(vm, 'destroyed'); | 5583 | callHook(vm, 'destroyed'); |
5583 | // turn off all instance listeners. | 5584 | // turn off all instance listeners. |
5584 | vm.$off(); | 5585 | vm.$off(); |
5585 | // remove __vue__ reference | 5586 | // remove __vue__ reference |
5586 | if (vm.$el) { | 5587 | if (vm.$el) { |
5587 | vm.$el.__vue__ = null; | 5588 | vm.$el.__vue__ = null; |
5588 | } | 5589 | } |
5589 | // release circular reference (#6759) | 5590 | // release circular reference (#6759) |
5590 | if (vm.$vnode) { | 5591 | if (vm.$vnode) { |
5591 | vm.$vnode.parent = null; | 5592 | vm.$vnode.parent = null; |
5592 | } | 5593 | } |
5593 | }; | 5594 | }; |
5594 | } | 5595 | } |
5595 | 5596 | ||
5596 | function updateChildComponent ( | 5597 | function updateChildComponent ( |
5597 | vm, | 5598 | vm, |
5598 | propsData, | 5599 | propsData, |
5599 | listeners, | 5600 | listeners, |
5600 | parentVnode, | 5601 | parentVnode, |
5601 | renderChildren | 5602 | renderChildren |
5602 | ) { | 5603 | ) { |
5603 | if (true) { | 5604 | if (true) { |
5604 | isUpdatingChildComponent = true; | 5605 | isUpdatingChildComponent = true; |
5605 | } | 5606 | } |
5606 | 5607 | ||
5607 | // determine whether component has slot children | 5608 | // determine whether component has slot children |
5608 | // we need to do this before overwriting $options._renderChildren. | 5609 | // we need to do this before overwriting $options._renderChildren. |
5609 | 5610 | ||
5610 | // check if there are dynamic scopedSlots (hand-written or compiled but with | 5611 | // check if there are dynamic scopedSlots (hand-written or compiled but with |
5611 | // dynamic slot names). Static scoped slots compiled from template has the | 5612 | // dynamic slot names). Static scoped slots compiled from template has the |
5612 | // "$stable" marker. | 5613 | // "$stable" marker. |
5613 | var newScopedSlots = parentVnode.data.scopedSlots; | 5614 | var newScopedSlots = parentVnode.data.scopedSlots; |
5614 | var oldScopedSlots = vm.$scopedSlots; | 5615 | var oldScopedSlots = vm.$scopedSlots; |
5615 | var hasDynamicScopedSlot = !!( | 5616 | var hasDynamicScopedSlot = !!( |
5616 | (newScopedSlots && !newScopedSlots.$stable) || | 5617 | (newScopedSlots && !newScopedSlots.$stable) || |
5617 | (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) || | 5618 | (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) || |
5618 | (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) | 5619 | (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) |
5619 | ); | 5620 | ); |
5620 | 5621 | ||
5621 | // Any static slot children from the parent may have changed during parent's | 5622 | // Any static slot children from the parent may have changed during parent's |
5622 | // update. Dynamic scoped slots may also have changed. In such cases, a forced | 5623 | // update. Dynamic scoped slots may also have changed. In such cases, a forced |
5623 | // update is necessary to ensure correctness. | 5624 | // update is necessary to ensure correctness. |
5624 | var needsForceUpdate = !!( | 5625 | var needsForceUpdate = !!( |
5625 | renderChildren || // has new static slots | 5626 | renderChildren || // has new static slots |
5626 | vm.$options._renderChildren || // has old static slots | 5627 | vm.$options._renderChildren || // has old static slots |
5627 | hasDynamicScopedSlot | 5628 | hasDynamicScopedSlot |
5628 | ); | 5629 | ); |
5629 | 5630 | ||
5630 | vm.$options._parentVnode = parentVnode; | 5631 | vm.$options._parentVnode = parentVnode; |
5631 | vm.$vnode = parentVnode; // update vm's placeholder node without re-render | 5632 | vm.$vnode = parentVnode; // update vm's placeholder node without re-render |
5632 | 5633 | ||
5633 | if (vm._vnode) { // update child tree's parent | 5634 | if (vm._vnode) { // update child tree's parent |
5634 | vm._vnode.parent = parentVnode; | 5635 | vm._vnode.parent = parentVnode; |
5635 | } | 5636 | } |
5636 | vm.$options._renderChildren = renderChildren; | 5637 | vm.$options._renderChildren = renderChildren; |
5637 | 5638 | ||
5638 | // update $attrs and $listeners hash | 5639 | // update $attrs and $listeners hash |
5639 | // these are also reactive so they may trigger child update if the child | 5640 | // these are also reactive so they may trigger child update if the child |
5640 | // used them during render | 5641 | // used them during render |
5641 | vm.$attrs = parentVnode.data.attrs || emptyObject; | 5642 | vm.$attrs = parentVnode.data.attrs || emptyObject; |
5642 | vm.$listeners = listeners || emptyObject; | 5643 | vm.$listeners = listeners || emptyObject; |
5643 | 5644 | ||
5644 | // update props | 5645 | // update props |
5645 | if (propsData && vm.$options.props) { | 5646 | if (propsData && vm.$options.props) { |
5646 | toggleObserving(false); | 5647 | toggleObserving(false); |
5647 | var props = vm._props; | 5648 | var props = vm._props; |
5648 | var propKeys = vm.$options._propKeys || []; | 5649 | var propKeys = vm.$options._propKeys || []; |
5649 | for (var i = 0; i < propKeys.length; i++) { | 5650 | for (var i = 0; i < propKeys.length; i++) { |
5650 | var key = propKeys[i]; | 5651 | var key = propKeys[i]; |
5651 | var propOptions = vm.$options.props; // wtf flow? | 5652 | var propOptions = vm.$options.props; // wtf flow? |
5652 | props[key] = validateProp(key, propOptions, propsData, vm); | 5653 | props[key] = validateProp(key, propOptions, propsData, vm); |
5653 | } | 5654 | } |
5654 | toggleObserving(true); | 5655 | toggleObserving(true); |
5655 | // keep a copy of raw propsData | 5656 | // keep a copy of raw propsData |
5656 | vm.$options.propsData = propsData; | 5657 | vm.$options.propsData = propsData; |
5657 | } | 5658 | } |
5658 | 5659 | ||
5659 | // fixed by xxxxxx update properties(mp runtime) | 5660 | // fixed by xxxxxx update properties(mp runtime) |
5660 | vm._$updateProperties && vm._$updateProperties(vm); | 5661 | vm._$updateProperties && vm._$updateProperties(vm); |
5661 | 5662 | ||
5662 | // update listeners | 5663 | // update listeners |
5663 | listeners = listeners || emptyObject; | 5664 | listeners = listeners || emptyObject; |
5664 | var oldListeners = vm.$options._parentListeners; | 5665 | var oldListeners = vm.$options._parentListeners; |
5665 | vm.$options._parentListeners = listeners; | 5666 | vm.$options._parentListeners = listeners; |
5666 | updateComponentListeners(vm, listeners, oldListeners); | 5667 | updateComponentListeners(vm, listeners, oldListeners); |
5667 | 5668 | ||
5668 | // resolve slots + force update if has children | 5669 | // resolve slots + force update if has children |
5669 | if (needsForceUpdate) { | 5670 | if (needsForceUpdate) { |
5670 | vm.$slots = resolveSlots(renderChildren, parentVnode.context); | 5671 | vm.$slots = resolveSlots(renderChildren, parentVnode.context); |
5671 | vm.$forceUpdate(); | 5672 | vm.$forceUpdate(); |
5672 | } | 5673 | } |
5673 | 5674 | ||
5674 | if (true) { | 5675 | if (true) { |
5675 | isUpdatingChildComponent = false; | 5676 | isUpdatingChildComponent = false; |
5676 | } | 5677 | } |
5677 | } | 5678 | } |
5678 | 5679 | ||
5679 | function isInInactiveTree (vm) { | 5680 | function isInInactiveTree (vm) { |
5680 | while (vm && (vm = vm.$parent)) { | 5681 | while (vm && (vm = vm.$parent)) { |
5681 | if (vm._inactive) { return true } | 5682 | if (vm._inactive) { return true } |
5682 | } | 5683 | } |
5683 | return false | 5684 | return false |
5684 | } | 5685 | } |
5685 | 5686 | ||
5686 | function activateChildComponent (vm, direct) { | 5687 | function activateChildComponent (vm, direct) { |
5687 | if (direct) { | 5688 | if (direct) { |
5688 | vm._directInactive = false; | 5689 | vm._directInactive = false; |
5689 | if (isInInactiveTree(vm)) { | 5690 | if (isInInactiveTree(vm)) { |
5690 | return | 5691 | return |
5691 | } | 5692 | } |
5692 | } else if (vm._directInactive) { | 5693 | } else if (vm._directInactive) { |
5693 | return | 5694 | return |
5694 | } | 5695 | } |
5695 | if (vm._inactive || vm._inactive === null) { | 5696 | if (vm._inactive || vm._inactive === null) { |
5696 | vm._inactive = false; | 5697 | vm._inactive = false; |
5697 | for (var i = 0; i < vm.$children.length; i++) { | 5698 | for (var i = 0; i < vm.$children.length; i++) { |
5698 | activateChildComponent(vm.$children[i]); | 5699 | activateChildComponent(vm.$children[i]); |
5699 | } | 5700 | } |
5700 | callHook(vm, 'activated'); | 5701 | callHook(vm, 'activated'); |
5701 | } | 5702 | } |
5702 | } | 5703 | } |
5703 | 5704 | ||
5704 | function deactivateChildComponent (vm, direct) { | 5705 | function deactivateChildComponent (vm, direct) { |
5705 | if (direct) { | 5706 | if (direct) { |
5706 | vm._directInactive = true; | 5707 | vm._directInactive = true; |
5707 | if (isInInactiveTree(vm)) { | 5708 | if (isInInactiveTree(vm)) { |
5708 | return | 5709 | return |
5709 | } | 5710 | } |
5710 | } | 5711 | } |
5711 | if (!vm._inactive) { | 5712 | if (!vm._inactive) { |
5712 | vm._inactive = true; | 5713 | vm._inactive = true; |
5713 | for (var i = 0; i < vm.$children.length; i++) { | 5714 | for (var i = 0; i < vm.$children.length; i++) { |
5714 | deactivateChildComponent(vm.$children[i]); | 5715 | deactivateChildComponent(vm.$children[i]); |
5715 | } | 5716 | } |
5716 | callHook(vm, 'deactivated'); | 5717 | callHook(vm, 'deactivated'); |
5717 | } | 5718 | } |
5718 | } | 5719 | } |
5719 | 5720 | ||
5720 | function callHook (vm, hook) { | 5721 | function callHook (vm, hook) { |
5721 | // #7573 disable dep collection when invoking lifecycle hooks | 5722 | // #7573 disable dep collection when invoking lifecycle hooks |
5722 | pushTarget(); | 5723 | pushTarget(); |
5723 | var handlers = vm.$options[hook]; | 5724 | var handlers = vm.$options[hook]; |
5724 | var info = hook + " hook"; | 5725 | var info = hook + " hook"; |
5725 | if (handlers) { | 5726 | if (handlers) { |
5726 | for (var i = 0, j = handlers.length; i < j; i++) { | 5727 | for (var i = 0, j = handlers.length; i < j; i++) { |
5727 | invokeWithErrorHandling(handlers[i], vm, null, vm, info); | 5728 | invokeWithErrorHandling(handlers[i], vm, null, vm, info); |
5728 | } | 5729 | } |
5729 | } | 5730 | } |
5730 | if (vm._hasHookEvent) { | 5731 | if (vm._hasHookEvent) { |
5731 | vm.$emit('hook:' + hook); | 5732 | vm.$emit('hook:' + hook); |
5732 | } | 5733 | } |
5733 | popTarget(); | 5734 | popTarget(); |
5734 | } | 5735 | } |
5735 | 5736 | ||
5736 | /* */ | 5737 | /* */ |
5737 | 5738 | ||
5738 | var MAX_UPDATE_COUNT = 100; | 5739 | var MAX_UPDATE_COUNT = 100; |
5739 | 5740 | ||
5740 | var queue = []; | 5741 | var queue = []; |
5741 | var activatedChildren = []; | 5742 | var activatedChildren = []; |
5742 | var has = {}; | 5743 | var has = {}; |
5743 | var circular = {}; | 5744 | var circular = {}; |
5744 | var waiting = false; | 5745 | var waiting = false; |
5745 | var flushing = false; | 5746 | var flushing = false; |
5746 | var index = 0; | 5747 | var index = 0; |
5747 | 5748 | ||
5748 | /** | 5749 | /** |
5749 | * Reset the scheduler's state. | 5750 | * Reset the scheduler's state. |
5750 | */ | 5751 | */ |
5751 | function resetSchedulerState () { | 5752 | function resetSchedulerState () { |
5752 | index = queue.length = activatedChildren.length = 0; | 5753 | index = queue.length = activatedChildren.length = 0; |
5753 | has = {}; | 5754 | has = {}; |
5754 | if (true) { | 5755 | if (true) { |
5755 | circular = {}; | 5756 | circular = {}; |
5756 | } | 5757 | } |
5757 | waiting = flushing = false; | 5758 | waiting = flushing = false; |
5758 | } | 5759 | } |
5759 | 5760 | ||
5760 | // Async edge case #6566 requires saving the timestamp when event listeners are | 5761 | // Async edge case #6566 requires saving the timestamp when event listeners are |
5761 | // attached. However, calling performance.now() has a perf overhead especially | 5762 | // attached. However, calling performance.now() has a perf overhead especially |
5762 | // if the page has thousands of event listeners. Instead, we take a timestamp | 5763 | // if the page has thousands of event listeners. Instead, we take a timestamp |
5763 | // every time the scheduler flushes and use that for all event listeners | 5764 | // every time the scheduler flushes and use that for all event listeners |
5764 | // attached during that flush. | 5765 | // attached during that flush. |
5765 | var currentFlushTimestamp = 0; | 5766 | var currentFlushTimestamp = 0; |
5766 | 5767 | ||
5767 | // Async edge case fix requires storing an event listener's attach timestamp. | 5768 | // Async edge case fix requires storing an event listener's attach timestamp. |
5768 | var getNow = Date.now; | 5769 | var getNow = Date.now; |
5769 | 5770 | ||
5770 | // Determine what event timestamp the browser is using. Annoyingly, the | 5771 | // Determine what event timestamp the browser is using. Annoyingly, the |
5771 | // timestamp can either be hi-res (relative to page load) or low-res | 5772 | // timestamp can either be hi-res (relative to page load) or low-res |
5772 | // (relative to UNIX epoch), so in order to compare time we have to use the | 5773 | // (relative to UNIX epoch), so in order to compare time we have to use the |
5773 | // same timestamp type when saving the flush timestamp. | 5774 | // same timestamp type when saving the flush timestamp. |
5774 | // All IE versions use low-res event timestamps, and have problematic clock | 5775 | // All IE versions use low-res event timestamps, and have problematic clock |
5775 | // implementations (#9632) | 5776 | // implementations (#9632) |
5776 | if (inBrowser && !isIE) { | 5777 | if (inBrowser && !isIE) { |
5777 | var performance = window.performance; | 5778 | var performance = window.performance; |
5778 | if ( | 5779 | if ( |
5779 | performance && | 5780 | performance && |
5780 | typeof performance.now === 'function' && | 5781 | typeof performance.now === 'function' && |
5781 | getNow() > document.createEvent('Event').timeStamp | 5782 | getNow() > document.createEvent('Event').timeStamp |
5782 | ) { | 5783 | ) { |
5783 | // if the event timestamp, although evaluated AFTER the Date.now(), is | 5784 | // if the event timestamp, although evaluated AFTER the Date.now(), is |
5784 | // smaller than it, it means the event is using a hi-res timestamp, | 5785 | // smaller than it, it means the event is using a hi-res timestamp, |
5785 | // and we need to use the hi-res version for event listener timestamps as | 5786 | // and we need to use the hi-res version for event listener timestamps as |
5786 | // well. | 5787 | // well. |
5787 | getNow = function () { return performance.now(); }; | 5788 | getNow = function () { return performance.now(); }; |
5788 | } | 5789 | } |
5789 | } | 5790 | } |
5790 | 5791 | ||
5791 | /** | 5792 | /** |
5792 | * Flush both queues and run the watchers. | 5793 | * Flush both queues and run the watchers. |
5793 | */ | 5794 | */ |
5794 | function flushSchedulerQueue () { | 5795 | function flushSchedulerQueue () { |
5795 | currentFlushTimestamp = getNow(); | 5796 | currentFlushTimestamp = getNow(); |
5796 | flushing = true; | 5797 | flushing = true; |
5797 | var watcher, id; | 5798 | var watcher, id; |
5798 | 5799 | ||
5799 | // Sort queue before flush. | 5800 | // Sort queue before flush. |
5800 | // This ensures that: | 5801 | // This ensures that: |
5801 | // 1. Components are updated from parent to child. (because parent is always | 5802 | // 1. Components are updated from parent to child. (because parent is always |
5802 | // created before the child) | 5803 | // created before the child) |
5803 | // 2. A component's user watchers are run before its render watcher (because | 5804 | // 2. A component's user watchers are run before its render watcher (because |
5804 | // user watchers are created before the render watcher) | 5805 | // user watchers are created before the render watcher) |
5805 | // 3. If a component is destroyed during a parent component's watcher run, | 5806 | // 3. If a component is destroyed during a parent component's watcher run, |
5806 | // its watchers can be skipped. | 5807 | // its watchers can be skipped. |
5807 | queue.sort(function (a, b) { return a.id - b.id; }); | 5808 | queue.sort(function (a, b) { return a.id - b.id; }); |
5808 | 5809 | ||
5809 | // do not cache length because more watchers might be pushed | 5810 | // do not cache length because more watchers might be pushed |
5810 | // as we run existing watchers | 5811 | // as we run existing watchers |
5811 | for (index = 0; index < queue.length; index++) { | 5812 | for (index = 0; index < queue.length; index++) { |
5812 | watcher = queue[index]; | 5813 | watcher = queue[index]; |
5813 | if (watcher.before) { | 5814 | if (watcher.before) { |
5814 | watcher.before(); | 5815 | watcher.before(); |
5815 | } | 5816 | } |
5816 | id = watcher.id; | 5817 | id = watcher.id; |
5817 | has[id] = null; | 5818 | has[id] = null; |
5818 | watcher.run(); | 5819 | watcher.run(); |
5819 | // in dev build, check and stop circular updates. | 5820 | // in dev build, check and stop circular updates. |
5820 | if ( true && has[id] != null) { | 5821 | if ( true && has[id] != null) { |
5821 | circular[id] = (circular[id] || 0) + 1; | 5822 | circular[id] = (circular[id] || 0) + 1; |
5822 | if (circular[id] > MAX_UPDATE_COUNT) { | 5823 | if (circular[id] > MAX_UPDATE_COUNT) { |
5823 | warn( | 5824 | warn( |
5824 | 'You may have an infinite update loop ' + ( | 5825 | 'You may have an infinite update loop ' + ( |
5825 | watcher.user | 5826 | watcher.user |
5826 | ? ("in watcher with expression \"" + (watcher.expression) + "\"") | 5827 | ? ("in watcher with expression \"" + (watcher.expression) + "\"") |
5827 | : "in a component render function." | 5828 | : "in a component render function." |
5828 | ), | 5829 | ), |
5829 | watcher.vm | 5830 | watcher.vm |
5830 | ); | 5831 | ); |
5831 | break | 5832 | break |
5832 | } | 5833 | } |
5833 | } | 5834 | } |
5834 | } | 5835 | } |
5835 | 5836 | ||
5836 | // keep copies of post queues before resetting state | 5837 | // keep copies of post queues before resetting state |
5837 | var activatedQueue = activatedChildren.slice(); | 5838 | var activatedQueue = activatedChildren.slice(); |
5838 | var updatedQueue = queue.slice(); | 5839 | var updatedQueue = queue.slice(); |
5839 | 5840 | ||
5840 | resetSchedulerState(); | 5841 | resetSchedulerState(); |
5841 | 5842 | ||
5842 | // call component updated and activated hooks | 5843 | // call component updated and activated hooks |
5843 | callActivatedHooks(activatedQueue); | 5844 | callActivatedHooks(activatedQueue); |
5844 | callUpdatedHooks(updatedQueue); | 5845 | callUpdatedHooks(updatedQueue); |
5845 | 5846 | ||
5846 | // devtool hook | 5847 | // devtool hook |
5847 | /* istanbul ignore if */ | 5848 | /* istanbul ignore if */ |
5848 | if (devtools && config.devtools) { | 5849 | if (devtools && config.devtools) { |
5849 | devtools.emit('flush'); | 5850 | devtools.emit('flush'); |
5850 | } | 5851 | } |
5851 | } | 5852 | } |
5852 | 5853 | ||
5853 | function callUpdatedHooks (queue) { | 5854 | function callUpdatedHooks (queue) { |
5854 | var i = queue.length; | 5855 | var i = queue.length; |
5855 | while (i--) { | 5856 | while (i--) { |
5856 | var watcher = queue[i]; | 5857 | var watcher = queue[i]; |
5857 | var vm = watcher.vm; | 5858 | var vm = watcher.vm; |
5858 | if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) { | 5859 | if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) { |
5859 | callHook(vm, 'updated'); | 5860 | callHook(vm, 'updated'); |
5860 | } | 5861 | } |
5861 | } | 5862 | } |
5862 | } | 5863 | } |
5863 | 5864 | ||
5864 | /** | 5865 | /** |
5865 | * Queue a kept-alive component that was activated during patch. | 5866 | * Queue a kept-alive component that was activated during patch. |
5866 | * The queue will be processed after the entire tree has been patched. | 5867 | * The queue will be processed after the entire tree has been patched. |
5867 | */ | 5868 | */ |
5868 | function queueActivatedComponent (vm) { | 5869 | function queueActivatedComponent (vm) { |
5869 | // setting _inactive to false here so that a render function can | 5870 | // setting _inactive to false here so that a render function can |
5870 | // rely on checking whether it's in an inactive tree (e.g. router-view) | 5871 | // rely on checking whether it's in an inactive tree (e.g. router-view) |
5871 | vm._inactive = false; | 5872 | vm._inactive = false; |
5872 | activatedChildren.push(vm); | 5873 | activatedChildren.push(vm); |
5873 | } | 5874 | } |
5874 | 5875 | ||
5875 | function callActivatedHooks (queue) { | 5876 | function callActivatedHooks (queue) { |
5876 | for (var i = 0; i < queue.length; i++) { | 5877 | for (var i = 0; i < queue.length; i++) { |
5877 | queue[i]._inactive = true; | 5878 | queue[i]._inactive = true; |
5878 | activateChildComponent(queue[i], true /* true */); | 5879 | activateChildComponent(queue[i], true /* true */); |
5879 | } | 5880 | } |
5880 | } | 5881 | } |
5881 | 5882 | ||
5882 | /** | 5883 | /** |
5883 | * Push a watcher into the watcher queue. | 5884 | * Push a watcher into the watcher queue. |
5884 | * Jobs with duplicate IDs will be skipped unless it's | 5885 | * Jobs with duplicate IDs will be skipped unless it's |
5885 | * pushed when the queue is being flushed. | 5886 | * pushed when the queue is being flushed. |
5886 | */ | 5887 | */ |
5887 | function queueWatcher (watcher) { | 5888 | function queueWatcher (watcher) { |
5888 | var id = watcher.id; | 5889 | var id = watcher.id; |
5889 | if (has[id] == null) { | 5890 | if (has[id] == null) { |
5890 | has[id] = true; | 5891 | has[id] = true; |
5891 | if (!flushing) { | 5892 | if (!flushing) { |
5892 | queue.push(watcher); | 5893 | queue.push(watcher); |
5893 | } else { | 5894 | } else { |
5894 | // if already flushing, splice the watcher based on its id | 5895 | // if already flushing, splice the watcher based on its id |
5895 | // if already past its id, it will be run next immediately. | 5896 | // if already past its id, it will be run next immediately. |
5896 | var i = queue.length - 1; | 5897 | var i = queue.length - 1; |
5897 | while (i > index && queue[i].id > watcher.id) { | 5898 | while (i > index && queue[i].id > watcher.id) { |
5898 | i--; | 5899 | i--; |
5899 | } | 5900 | } |
5900 | queue.splice(i + 1, 0, watcher); | 5901 | queue.splice(i + 1, 0, watcher); |
5901 | } | 5902 | } |
5902 | // queue the flush | 5903 | // queue the flush |
5903 | if (!waiting) { | 5904 | if (!waiting) { |
5904 | waiting = true; | 5905 | waiting = true; |
5905 | 5906 | ||
5906 | if ( true && !config.async) { | 5907 | if ( true && !config.async) { |
5907 | flushSchedulerQueue(); | 5908 | flushSchedulerQueue(); |
5908 | return | 5909 | return |
5909 | } | 5910 | } |
5910 | nextTick(flushSchedulerQueue); | 5911 | nextTick(flushSchedulerQueue); |
5911 | } | 5912 | } |
5912 | } | 5913 | } |
5913 | } | 5914 | } |
5914 | 5915 | ||
5915 | /* */ | 5916 | /* */ |
5916 | 5917 | ||
5917 | 5918 | ||
5918 | 5919 | ||
5919 | var uid$2 = 0; | 5920 | var uid$2 = 0; |
5920 | 5921 | ||
5921 | /** | 5922 | /** |
5922 | * A watcher parses an expression, collects dependencies, | 5923 | * A watcher parses an expression, collects dependencies, |
5923 | * and fires callback when the expression value changes. | 5924 | * and fires callback when the expression value changes. |
5924 | * This is used for both the $watch() api and directives. | 5925 | * This is used for both the $watch() api and directives. |
5925 | */ | 5926 | */ |
5926 | var Watcher = function Watcher ( | 5927 | var Watcher = function Watcher ( |
5927 | vm, | 5928 | vm, |
5928 | expOrFn, | 5929 | expOrFn, |
5929 | cb, | 5930 | cb, |
5930 | options, | 5931 | options, |
5931 | isRenderWatcher | 5932 | isRenderWatcher |
5932 | ) { | 5933 | ) { |
5933 | this.vm = vm; | 5934 | this.vm = vm; |
5934 | if (isRenderWatcher) { | 5935 | if (isRenderWatcher) { |
5935 | vm._watcher = this; | 5936 | vm._watcher = this; |
5936 | } | 5937 | } |
5937 | vm._watchers.push(this); | 5938 | vm._watchers.push(this); |
5938 | // options | 5939 | // options |
5939 | if (options) { | 5940 | if (options) { |
5940 | this.deep = !!options.deep; | 5941 | this.deep = !!options.deep; |
5941 | this.user = !!options.user; | 5942 | this.user = !!options.user; |
5942 | this.lazy = !!options.lazy; | 5943 | this.lazy = !!options.lazy; |
5943 | this.sync = !!options.sync; | 5944 | this.sync = !!options.sync; |
5944 | this.before = options.before; | 5945 | this.before = options.before; |
5945 | } else { | 5946 | } else { |
5946 | this.deep = this.user = this.lazy = this.sync = false; | 5947 | this.deep = this.user = this.lazy = this.sync = false; |
5947 | } | 5948 | } |
5948 | this.cb = cb; | 5949 | this.cb = cb; |
5949 | this.id = ++uid$2; // uid for batching | 5950 | this.id = ++uid$2; // uid for batching |
5950 | this.active = true; | 5951 | this.active = true; |
5951 | this.dirty = this.lazy; // for lazy watchers | 5952 | this.dirty = this.lazy; // for lazy watchers |
5952 | this.deps = []; | 5953 | this.deps = []; |
5953 | this.newDeps = []; | 5954 | this.newDeps = []; |
5954 | this.depIds = new _Set(); | 5955 | this.depIds = new _Set(); |
5955 | this.newDepIds = new _Set(); | 5956 | this.newDepIds = new _Set(); |
5956 | this.expression = true | 5957 | this.expression = true |
5957 | ? expOrFn.toString() | 5958 | ? expOrFn.toString() |
5958 | : undefined; | 5959 | : undefined; |
5959 | // parse expression for getter | 5960 | // parse expression for getter |
5960 | if (typeof expOrFn === 'function') { | 5961 | if (typeof expOrFn === 'function') { |
5961 | this.getter = expOrFn; | 5962 | this.getter = expOrFn; |
5962 | } else { | 5963 | } else { |
5963 | this.getter = parsePath(expOrFn); | 5964 | this.getter = parsePath(expOrFn); |
5964 | if (!this.getter) { | 5965 | if (!this.getter) { |
5965 | this.getter = noop; | 5966 | this.getter = noop; |
5966 | true && warn( | 5967 | true && warn( |
5967 | "Failed watching path: \"" + expOrFn + "\" " + | 5968 | "Failed watching path: \"" + expOrFn + "\" " + |
5968 | 'Watcher only accepts simple dot-delimited paths. ' + | 5969 | 'Watcher only accepts simple dot-delimited paths. ' + |
5969 | 'For full control, use a function instead.', | 5970 | 'For full control, use a function instead.', |
5970 | vm | 5971 | vm |
5971 | ); | 5972 | ); |
5972 | } | 5973 | } |
5973 | } | 5974 | } |
5974 | this.value = this.lazy | 5975 | this.value = this.lazy |
5975 | ? undefined | 5976 | ? undefined |
5976 | : this.get(); | 5977 | : this.get(); |
5977 | }; | 5978 | }; |
5978 | 5979 | ||
5979 | /** | 5980 | /** |
5980 | * Evaluate the getter, and re-collect dependencies. | 5981 | * Evaluate the getter, and re-collect dependencies. |
5981 | */ | 5982 | */ |
5982 | Watcher.prototype.get = function get () { | 5983 | Watcher.prototype.get = function get () { |
5983 | pushTarget(this); | 5984 | pushTarget(this); |
5984 | var value; | 5985 | var value; |
5985 | var vm = this.vm; | 5986 | var vm = this.vm; |
5986 | try { | 5987 | try { |
5987 | value = this.getter.call(vm, vm); | 5988 | value = this.getter.call(vm, vm); |
5988 | } catch (e) { | 5989 | } catch (e) { |
5989 | if (this.user) { | 5990 | if (this.user) { |
5990 | handleError(e, vm, ("getter for watcher \"" + (this.expression) + "\"")); | 5991 | handleError(e, vm, ("getter for watcher \"" + (this.expression) + "\"")); |
5991 | } else { | 5992 | } else { |
5992 | throw e | 5993 | throw e |
5993 | } | 5994 | } |
5994 | } finally { | 5995 | } finally { |
5995 | // "touch" every property so they are all tracked as | 5996 | // "touch" every property so they are all tracked as |
5996 | // dependencies for deep watching | 5997 | // dependencies for deep watching |
5997 | if (this.deep) { | 5998 | if (this.deep) { |
5998 | traverse(value); | 5999 | traverse(value); |
5999 | } | 6000 | } |
6000 | popTarget(); | 6001 | popTarget(); |
6001 | this.cleanupDeps(); | 6002 | this.cleanupDeps(); |
6002 | } | 6003 | } |
6003 | return value | 6004 | return value |
6004 | }; | 6005 | }; |
6005 | 6006 | ||
6006 | /** | 6007 | /** |
6007 | * Add a dependency to this directive. | 6008 | * Add a dependency to this directive. |
6008 | */ | 6009 | */ |
6009 | Watcher.prototype.addDep = function addDep (dep) { | 6010 | Watcher.prototype.addDep = function addDep (dep) { |
6010 | var id = dep.id; | 6011 | var id = dep.id; |
6011 | if (!this.newDepIds.has(id)) { | 6012 | if (!this.newDepIds.has(id)) { |
6012 | this.newDepIds.add(id); | 6013 | this.newDepIds.add(id); |
6013 | this.newDeps.push(dep); | 6014 | this.newDeps.push(dep); |
6014 | if (!this.depIds.has(id)) { | 6015 | if (!this.depIds.has(id)) { |
6015 | dep.addSub(this); | 6016 | dep.addSub(this); |
6016 | } | 6017 | } |
6017 | } | 6018 | } |
6018 | }; | 6019 | }; |
6019 | 6020 | ||
6020 | /** | 6021 | /** |
6021 | * Clean up for dependency collection. | 6022 | * Clean up for dependency collection. |
6022 | */ | 6023 | */ |
6023 | Watcher.prototype.cleanupDeps = function cleanupDeps () { | 6024 | Watcher.prototype.cleanupDeps = function cleanupDeps () { |
6024 | var i = this.deps.length; | 6025 | var i = this.deps.length; |
6025 | while (i--) { | 6026 | while (i--) { |
6026 | var dep = this.deps[i]; | 6027 | var dep = this.deps[i]; |
6027 | if (!this.newDepIds.has(dep.id)) { | 6028 | if (!this.newDepIds.has(dep.id)) { |
6028 | dep.removeSub(this); | 6029 | dep.removeSub(this); |
6029 | } | 6030 | } |
6030 | } | 6031 | } |
6031 | var tmp = this.depIds; | 6032 | var tmp = this.depIds; |
6032 | this.depIds = this.newDepIds; | 6033 | this.depIds = this.newDepIds; |
6033 | this.newDepIds = tmp; | 6034 | this.newDepIds = tmp; |
6034 | this.newDepIds.clear(); | 6035 | this.newDepIds.clear(); |
6035 | tmp = this.deps; | 6036 | tmp = this.deps; |
6036 | this.deps = this.newDeps; | 6037 | this.deps = this.newDeps; |
6037 | this.newDeps = tmp; | 6038 | this.newDeps = tmp; |
6038 | this.newDeps.length = 0; | 6039 | this.newDeps.length = 0; |
6039 | }; | 6040 | }; |
6040 | 6041 | ||
6041 | /** | 6042 | /** |
6042 | * Subscriber interface. | 6043 | * Subscriber interface. |
6043 | * Will be called when a dependency changes. | 6044 | * Will be called when a dependency changes. |
6044 | */ | 6045 | */ |
6045 | Watcher.prototype.update = function update () { | 6046 | Watcher.prototype.update = function update () { |
6046 | /* istanbul ignore else */ | 6047 | /* istanbul ignore else */ |
6047 | if (this.lazy) { | 6048 | if (this.lazy) { |
6048 | this.dirty = true; | 6049 | this.dirty = true; |
6049 | } else if (this.sync) { | 6050 | } else if (this.sync) { |
6050 | this.run(); | 6051 | this.run(); |
6051 | } else { | 6052 | } else { |
6052 | queueWatcher(this); | 6053 | queueWatcher(this); |
6053 | } | 6054 | } |
6054 | }; | 6055 | }; |
6055 | 6056 | ||
6056 | /** | 6057 | /** |
6057 | * Scheduler job interface. | 6058 | * Scheduler job interface. |
6058 | * Will be called by the scheduler. | 6059 | * Will be called by the scheduler. |
6059 | */ | 6060 | */ |
6060 | Watcher.prototype.run = function run () { | 6061 | Watcher.prototype.run = function run () { |
6061 | if (this.active) { | 6062 | if (this.active) { |
6062 | var value = this.get(); | 6063 | var value = this.get(); |
6063 | if ( | 6064 | if ( |
6064 | value !== this.value || | 6065 | value !== this.value || |
6065 | // Deep watchers and watchers on Object/Arrays should fire even | 6066 | // Deep watchers and watchers on Object/Arrays should fire even |
6066 | // when the value is the same, because the value may | 6067 | // when the value is the same, because the value may |
6067 | // have mutated. | 6068 | // have mutated. |
6068 | isObject(value) || | 6069 | isObject(value) || |
6069 | this.deep | 6070 | this.deep |
6070 | ) { | 6071 | ) { |
6071 | // set new value | 6072 | // set new value |
6072 | var oldValue = this.value; | 6073 | var oldValue = this.value; |
6073 | this.value = value; | 6074 | this.value = value; |
6074 | if (this.user) { | 6075 | if (this.user) { |
6075 | try { | 6076 | try { |
6076 | this.cb.call(this.vm, value, oldValue); | 6077 | this.cb.call(this.vm, value, oldValue); |
6077 | } catch (e) { | 6078 | } catch (e) { |
6078 | handleError(e, this.vm, ("callback for watcher \"" + (this.expression) + "\"")); | 6079 | handleError(e, this.vm, ("callback for watcher \"" + (this.expression) + "\"")); |
6079 | } | 6080 | } |
6080 | } else { | 6081 | } else { |
6081 | this.cb.call(this.vm, value, oldValue); | 6082 | this.cb.call(this.vm, value, oldValue); |
6082 | } | 6083 | } |
6083 | } | 6084 | } |
6084 | } | 6085 | } |
6085 | }; | 6086 | }; |
6086 | 6087 | ||
6087 | /** | 6088 | /** |
6088 | * Evaluate the value of the watcher. | 6089 | * Evaluate the value of the watcher. |
6089 | * This only gets called for lazy watchers. | 6090 | * This only gets called for lazy watchers. |
6090 | */ | 6091 | */ |
6091 | Watcher.prototype.evaluate = function evaluate () { | 6092 | Watcher.prototype.evaluate = function evaluate () { |
6092 | this.value = this.get(); | 6093 | this.value = this.get(); |
6093 | this.dirty = false; | 6094 | this.dirty = false; |
6094 | }; | 6095 | }; |
6095 | 6096 | ||
6096 | /** | 6097 | /** |
6097 | * Depend on all deps collected by this watcher. | 6098 | * Depend on all deps collected by this watcher. |
6098 | */ | 6099 | */ |
6099 | Watcher.prototype.depend = function depend () { | 6100 | Watcher.prototype.depend = function depend () { |
6100 | var i = this.deps.length; | 6101 | var i = this.deps.length; |
6101 | while (i--) { | 6102 | while (i--) { |
6102 | this.deps[i].depend(); | 6103 | this.deps[i].depend(); |
6103 | } | 6104 | } |
6104 | }; | 6105 | }; |
6105 | 6106 | ||
6106 | /** | 6107 | /** |
6107 | * Remove self from all dependencies' subscriber list. | 6108 | * Remove self from all dependencies' subscriber list. |
6108 | */ | 6109 | */ |
6109 | Watcher.prototype.teardown = function teardown () { | 6110 | Watcher.prototype.teardown = function teardown () { |
6110 | if (this.active) { | 6111 | if (this.active) { |
6111 | // remove self from vm's watcher list | 6112 | // remove self from vm's watcher list |
6112 | // this is a somewhat expensive operation so we skip it | 6113 | // this is a somewhat expensive operation so we skip it |
6113 | // if the vm is being destroyed. | 6114 | // if the vm is being destroyed. |
6114 | if (!this.vm._isBeingDestroyed) { | 6115 | if (!this.vm._isBeingDestroyed) { |
6115 | remove(this.vm._watchers, this); | 6116 | remove(this.vm._watchers, this); |
6116 | } | 6117 | } |
6117 | var i = this.deps.length; | 6118 | var i = this.deps.length; |
6118 | while (i--) { | 6119 | while (i--) { |
6119 | this.deps[i].removeSub(this); | 6120 | this.deps[i].removeSub(this); |
6120 | } | 6121 | } |
6121 | this.active = false; | 6122 | this.active = false; |
6122 | } | 6123 | } |
6123 | }; | 6124 | }; |
6124 | 6125 | ||
6125 | /* */ | 6126 | /* */ |
6126 | 6127 | ||
6127 | var sharedPropertyDefinition = { | 6128 | var sharedPropertyDefinition = { |
6128 | enumerable: true, | 6129 | enumerable: true, |
6129 | configurable: true, | 6130 | configurable: true, |
6130 | get: noop, | 6131 | get: noop, |
6131 | set: noop | 6132 | set: noop |
6132 | }; | 6133 | }; |
6133 | 6134 | ||
6134 | function proxy (target, sourceKey, key) { | 6135 | function proxy (target, sourceKey, key) { |
6135 | sharedPropertyDefinition.get = function proxyGetter () { | 6136 | sharedPropertyDefinition.get = function proxyGetter () { |
6136 | return this[sourceKey][key] | 6137 | return this[sourceKey][key] |
6137 | }; | 6138 | }; |
6138 | sharedPropertyDefinition.set = function proxySetter (val) { | 6139 | sharedPropertyDefinition.set = function proxySetter (val) { |
6139 | this[sourceKey][key] = val; | 6140 | this[sourceKey][key] = val; |
6140 | }; | 6141 | }; |
6141 | Object.defineProperty(target, key, sharedPropertyDefinition); | 6142 | Object.defineProperty(target, key, sharedPropertyDefinition); |
6142 | } | 6143 | } |
6143 | 6144 | ||
6144 | function initState (vm) { | 6145 | function initState (vm) { |
6145 | vm._watchers = []; | 6146 | vm._watchers = []; |
6146 | var opts = vm.$options; | 6147 | var opts = vm.$options; |
6147 | if (opts.props) { initProps(vm, opts.props); } | 6148 | if (opts.props) { initProps(vm, opts.props); } |
6148 | if (opts.methods) { initMethods(vm, opts.methods); } | 6149 | if (opts.methods) { initMethods(vm, opts.methods); } |
6149 | if (opts.data) { | 6150 | if (opts.data) { |
6150 | initData(vm); | 6151 | initData(vm); |
6151 | } else { | 6152 | } else { |
6152 | observe(vm._data = {}, true /* asRootData */); | 6153 | observe(vm._data = {}, true /* asRootData */); |
6153 | } | 6154 | } |
6154 | if (opts.computed) { initComputed(vm, opts.computed); } | 6155 | if (opts.computed) { initComputed(vm, opts.computed); } |
6155 | if (opts.watch && opts.watch !== nativeWatch) { | 6156 | if (opts.watch && opts.watch !== nativeWatch) { |
6156 | initWatch(vm, opts.watch); | 6157 | initWatch(vm, opts.watch); |
6157 | } | 6158 | } |
6158 | } | 6159 | } |
6159 | 6160 | ||
6160 | function initProps (vm, propsOptions) { | 6161 | function initProps (vm, propsOptions) { |
6161 | var propsData = vm.$options.propsData || {}; | 6162 | var propsData = vm.$options.propsData || {}; |
6162 | var props = vm._props = {}; | 6163 | var props = vm._props = {}; |
6163 | // cache prop keys so that future props updates can iterate using Array | 6164 | // cache prop keys so that future props updates can iterate using Array |
6164 | // instead of dynamic object key enumeration. | 6165 | // instead of dynamic object key enumeration. |
6165 | var keys = vm.$options._propKeys = []; | 6166 | var keys = vm.$options._propKeys = []; |
6166 | var isRoot = !vm.$parent; | 6167 | var isRoot = !vm.$parent; |
6167 | // root instance props should be converted | 6168 | // root instance props should be converted |
6168 | if (!isRoot) { | 6169 | if (!isRoot) { |
6169 | toggleObserving(false); | 6170 | toggleObserving(false); |
6170 | } | 6171 | } |
6171 | var loop = function ( key ) { | 6172 | var loop = function ( key ) { |
6172 | keys.push(key); | 6173 | keys.push(key); |
6173 | var value = validateProp(key, propsOptions, propsData, vm); | 6174 | var value = validateProp(key, propsOptions, propsData, vm); |
6174 | /* istanbul ignore else */ | 6175 | /* istanbul ignore else */ |
6175 | if (true) { | 6176 | if (true) { |
6176 | var hyphenatedKey = hyphenate(key); | 6177 | var hyphenatedKey = hyphenate(key); |
6177 | if (isReservedAttribute(hyphenatedKey) || | 6178 | if (isReservedAttribute(hyphenatedKey) || |
6178 | config.isReservedAttr(hyphenatedKey)) { | 6179 | config.isReservedAttr(hyphenatedKey)) { |
6179 | warn( | 6180 | warn( |
6180 | ("\"" + hyphenatedKey + "\" is a reserved attribute and cannot be used as component prop."), | 6181 | ("\"" + hyphenatedKey + "\" is a reserved attribute and cannot be used as component prop."), |
6181 | vm | 6182 | vm |
6182 | ); | 6183 | ); |
6183 | } | 6184 | } |
6184 | defineReactive$$1(props, key, value, function () { | 6185 | defineReactive$$1(props, key, value, function () { |
6185 | if (!isRoot && !isUpdatingChildComponent) { | 6186 | if (!isRoot && !isUpdatingChildComponent) { |
6186 | { | 6187 | { |
6187 | if(vm.mpHost === 'mp-baidu'){//百度 observer 在 setData callback 之后触发,直接忽略该 warn | 6188 | if(vm.mpHost === 'mp-baidu'){//百度 observer 在 setData callback 之后触发,直接忽略该 warn |
6188 | return | 6189 | return |
6189 | } | 6190 | } |
6190 | //fixed by xxxxxx __next_tick_pending,uni://form-field 时不告警 | 6191 | //fixed by xxxxxx __next_tick_pending,uni://form-field 时不告警 |
6191 | if( | 6192 | if( |
6192 | key === 'value' && | 6193 | key === 'value' && |
6193 | Array.isArray(vm.$options.behaviors) && | 6194 | Array.isArray(vm.$options.behaviors) && |
6194 | vm.$options.behaviors.indexOf('uni://form-field') !== -1 | 6195 | vm.$options.behaviors.indexOf('uni://form-field') !== -1 |
6195 | ){ | 6196 | ){ |
6196 | return | 6197 | return |
6197 | } | 6198 | } |
6198 | if(vm._getFormData){ | 6199 | if(vm._getFormData){ |
6199 | return | 6200 | return |
6200 | } | 6201 | } |
6201 | var $parent = vm.$parent; | 6202 | var $parent = vm.$parent; |
6202 | while($parent){ | 6203 | while($parent){ |
6203 | if($parent.__next_tick_pending){ | 6204 | if($parent.__next_tick_pending){ |
6204 | return | 6205 | return |
6205 | } | 6206 | } |
6206 | $parent = $parent.$parent; | 6207 | $parent = $parent.$parent; |
6207 | } | 6208 | } |
6208 | } | 6209 | } |
6209 | warn( | 6210 | warn( |
6210 | "Avoid mutating a prop directly since the value will be " + | 6211 | "Avoid mutating a prop directly since the value will be " + |
6211 | "overwritten whenever the parent component re-renders. " + | 6212 | "overwritten whenever the parent component re-renders. " + |
6212 | "Instead, use a data or computed property based on the prop's " + | 6213 | "Instead, use a data or computed property based on the prop's " + |
6213 | "value. Prop being mutated: \"" + key + "\"", | 6214 | "value. Prop being mutated: \"" + key + "\"", |
6214 | vm | 6215 | vm |
6215 | ); | 6216 | ); |
6216 | } | 6217 | } |
6217 | }); | 6218 | }); |
6218 | } else {} | 6219 | } else {} |
6219 | // static props are already proxied on the component's prototype | 6220 | // static props are already proxied on the component's prototype |
6220 | // during Vue.extend(). We only need to proxy props defined at | 6221 | // during Vue.extend(). We only need to proxy props defined at |
6221 | // instantiation here. | 6222 | // instantiation here. |
6222 | if (!(key in vm)) { | 6223 | if (!(key in vm)) { |
6223 | proxy(vm, "_props", key); | 6224 | proxy(vm, "_props", key); |
6224 | } | 6225 | } |
6225 | }; | 6226 | }; |
6226 | 6227 | ||
6227 | for (var key in propsOptions) loop( key ); | 6228 | for (var key in propsOptions) loop( key ); |
6228 | toggleObserving(true); | 6229 | toggleObserving(true); |
6229 | } | 6230 | } |
6230 | 6231 | ||
6231 | function initData (vm) { | 6232 | function initData (vm) { |
6232 | var data = vm.$options.data; | 6233 | var data = vm.$options.data; |
6233 | data = vm._data = typeof data === 'function' | 6234 | data = vm._data = typeof data === 'function' |
6234 | ? getData(data, vm) | 6235 | ? getData(data, vm) |
6235 | : data || {}; | 6236 | : data || {}; |
6236 | if (!isPlainObject(data)) { | 6237 | if (!isPlainObject(data)) { |
6237 | data = {}; | 6238 | data = {}; |
6238 | true && warn( | 6239 | true && warn( |
6239 | 'data functions should return an object:\n' + | 6240 | 'data functions should return an object:\n' + |
6240 | 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function', | 6241 | 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function', |
6241 | vm | 6242 | vm |
6242 | ); | 6243 | ); |
6243 | } | 6244 | } |
6244 | // proxy data on instance | 6245 | // proxy data on instance |
6245 | var keys = Object.keys(data); | 6246 | var keys = Object.keys(data); |
6246 | var props = vm.$options.props; | 6247 | var props = vm.$options.props; |
6247 | var methods = vm.$options.methods; | 6248 | var methods = vm.$options.methods; |
6248 | var i = keys.length; | 6249 | var i = keys.length; |
6249 | while (i--) { | 6250 | while (i--) { |
6250 | var key = keys[i]; | 6251 | var key = keys[i]; |
6251 | if (true) { | 6252 | if (true) { |
6252 | if (methods && hasOwn(methods, key)) { | 6253 | if (methods && hasOwn(methods, key)) { |
6253 | warn( | 6254 | warn( |
6254 | ("Method \"" + key + "\" has already been defined as a data property."), | 6255 | ("Method \"" + key + "\" has already been defined as a data property."), |
6255 | vm | 6256 | vm |
6256 | ); | 6257 | ); |
6257 | } | 6258 | } |
6258 | } | 6259 | } |
6259 | if (props && hasOwn(props, key)) { | 6260 | if (props && hasOwn(props, key)) { |
6260 | true && warn( | 6261 | true && warn( |
6261 | "The data property \"" + key + "\" is already declared as a prop. " + | 6262 | "The data property \"" + key + "\" is already declared as a prop. " + |
6262 | "Use prop default value instead.", | 6263 | "Use prop default value instead.", |
6263 | vm | 6264 | vm |
6264 | ); | 6265 | ); |
6265 | } else if (!isReserved(key)) { | 6266 | } else if (!isReserved(key)) { |
6266 | proxy(vm, "_data", key); | 6267 | proxy(vm, "_data", key); |
6267 | } | 6268 | } |
6268 | } | 6269 | } |
6269 | // observe data | 6270 | // observe data |
6270 | observe(data, true /* asRootData */); | 6271 | observe(data, true /* asRootData */); |
6271 | } | 6272 | } |
6272 | 6273 | ||
6273 | function getData (data, vm) { | 6274 | function getData (data, vm) { |
6274 | // #7573 disable dep collection when invoking data getters | 6275 | // #7573 disable dep collection when invoking data getters |
6275 | pushTarget(); | 6276 | pushTarget(); |
6276 | try { | 6277 | try { |
6277 | return data.call(vm, vm) | 6278 | return data.call(vm, vm) |
6278 | } catch (e) { | 6279 | } catch (e) { |
6279 | handleError(e, vm, "data()"); | 6280 | handleError(e, vm, "data()"); |
6280 | return {} | 6281 | return {} |
6281 | } finally { | 6282 | } finally { |
6282 | popTarget(); | 6283 | popTarget(); |
6283 | } | 6284 | } |
6284 | } | 6285 | } |
6285 | 6286 | ||
6286 | var computedWatcherOptions = { lazy: true }; | 6287 | var computedWatcherOptions = { lazy: true }; |
6287 | 6288 | ||
6288 | function initComputed (vm, computed) { | 6289 | function initComputed (vm, computed) { |
6289 | // $flow-disable-line | 6290 | // $flow-disable-line |
6290 | var watchers = vm._computedWatchers = Object.create(null); | 6291 | var watchers = vm._computedWatchers = Object.create(null); |
6291 | // computed properties are just getters during SSR | 6292 | // computed properties are just getters during SSR |
6292 | var isSSR = isServerRendering(); | 6293 | var isSSR = isServerRendering(); |
6293 | 6294 | ||
6294 | for (var key in computed) { | 6295 | for (var key in computed) { |
6295 | var userDef = computed[key]; | 6296 | var userDef = computed[key]; |
6296 | var getter = typeof userDef === 'function' ? userDef : userDef.get; | 6297 | var getter = typeof userDef === 'function' ? userDef : userDef.get; |
6297 | if ( true && getter == null) { | 6298 | if ( true && getter == null) { |
6298 | warn( | 6299 | warn( |
6299 | ("Getter is missing for computed property \"" + key + "\"."), | 6300 | ("Getter is missing for computed property \"" + key + "\"."), |
6300 | vm | 6301 | vm |
6301 | ); | 6302 | ); |
6302 | } | 6303 | } |
6303 | 6304 | ||
6304 | if (!isSSR) { | 6305 | if (!isSSR) { |
6305 | // create internal watcher for the computed property. | 6306 | // create internal watcher for the computed property. |
6306 | watchers[key] = new Watcher( | 6307 | watchers[key] = new Watcher( |
6307 | vm, | 6308 | vm, |
6308 | getter || noop, | 6309 | getter || noop, |
6309 | noop, | 6310 | noop, |
6310 | computedWatcherOptions | 6311 | computedWatcherOptions |
6311 | ); | 6312 | ); |
6312 | } | 6313 | } |
6313 | 6314 | ||
6314 | // component-defined computed properties are already defined on the | 6315 | // component-defined computed properties are already defined on the |
6315 | // component prototype. We only need to define computed properties defined | 6316 | // component prototype. We only need to define computed properties defined |
6316 | // at instantiation here. | 6317 | // at instantiation here. |
6317 | if (!(key in vm)) { | 6318 | if (!(key in vm)) { |
6318 | defineComputed(vm, key, userDef); | 6319 | defineComputed(vm, key, userDef); |
6319 | } else if (true) { | 6320 | } else if (true) { |
6320 | if (key in vm.$data) { | 6321 | if (key in vm.$data) { |
6321 | warn(("The computed property \"" + key + "\" is already defined in data."), vm); | 6322 | warn(("The computed property \"" + key + "\" is already defined in data."), vm); |
6322 | } else if (vm.$options.props && key in vm.$options.props) { | 6323 | } else if (vm.$options.props && key in vm.$options.props) { |
6323 | warn(("The computed property \"" + key + "\" is already defined as a prop."), vm); | 6324 | warn(("The computed property \"" + key + "\" is already defined as a prop."), vm); |
6324 | } | 6325 | } |
6325 | } | 6326 | } |
6326 | } | 6327 | } |
6327 | } | 6328 | } |
6328 | 6329 | ||
6329 | function defineComputed ( | 6330 | function defineComputed ( |
6330 | target, | 6331 | target, |
6331 | key, | 6332 | key, |
6332 | userDef | 6333 | userDef |
6333 | ) { | 6334 | ) { |
6334 | var shouldCache = !isServerRendering(); | 6335 | var shouldCache = !isServerRendering(); |
6335 | if (typeof userDef === 'function') { | 6336 | if (typeof userDef === 'function') { |
6336 | sharedPropertyDefinition.get = shouldCache | 6337 | sharedPropertyDefinition.get = shouldCache |
6337 | ? createComputedGetter(key) | 6338 | ? createComputedGetter(key) |
6338 | : createGetterInvoker(userDef); | 6339 | : createGetterInvoker(userDef); |
6339 | sharedPropertyDefinition.set = noop; | 6340 | sharedPropertyDefinition.set = noop; |
6340 | } else { | 6341 | } else { |
6341 | sharedPropertyDefinition.get = userDef.get | 6342 | sharedPropertyDefinition.get = userDef.get |
6342 | ? shouldCache && userDef.cache !== false | 6343 | ? shouldCache && userDef.cache !== false |
6343 | ? createComputedGetter(key) | 6344 | ? createComputedGetter(key) |
6344 | : createGetterInvoker(userDef.get) | 6345 | : createGetterInvoker(userDef.get) |
6345 | : noop; | 6346 | : noop; |
6346 | sharedPropertyDefinition.set = userDef.set || noop; | 6347 | sharedPropertyDefinition.set = userDef.set || noop; |
6347 | } | 6348 | } |
6348 | if ( true && | 6349 | if ( true && |
6349 | sharedPropertyDefinition.set === noop) { | 6350 | sharedPropertyDefinition.set === noop) { |
6350 | sharedPropertyDefinition.set = function () { | 6351 | sharedPropertyDefinition.set = function () { |
6351 | warn( | 6352 | warn( |
6352 | ("Computed property \"" + key + "\" was assigned to but it has no setter."), | 6353 | ("Computed property \"" + key + "\" was assigned to but it has no setter."), |
6353 | this | 6354 | this |
6354 | ); | 6355 | ); |
6355 | }; | 6356 | }; |
6356 | } | 6357 | } |
6357 | Object.defineProperty(target, key, sharedPropertyDefinition); | 6358 | Object.defineProperty(target, key, sharedPropertyDefinition); |
6358 | } | 6359 | } |
6359 | 6360 | ||
6360 | function createComputedGetter (key) { | 6361 | function createComputedGetter (key) { |
6361 | return function computedGetter () { | 6362 | return function computedGetter () { |
6362 | var watcher = this._computedWatchers && this._computedWatchers[key]; | 6363 | var watcher = this._computedWatchers && this._computedWatchers[key]; |
6363 | if (watcher) { | 6364 | if (watcher) { |
6364 | if (watcher.dirty) { | 6365 | if (watcher.dirty) { |
6365 | watcher.evaluate(); | 6366 | watcher.evaluate(); |
6366 | } | 6367 | } |
6367 | if (Dep.SharedObject.target) {// fixed by xxxxxx | 6368 | if (Dep.SharedObject.target) {// fixed by xxxxxx |
6368 | watcher.depend(); | 6369 | watcher.depend(); |
6369 | } | 6370 | } |
6370 | return watcher.value | 6371 | return watcher.value |
6371 | } | 6372 | } |
6372 | } | 6373 | } |
6373 | } | 6374 | } |
6374 | 6375 | ||
6375 | function createGetterInvoker(fn) { | 6376 | function createGetterInvoker(fn) { |
6376 | return function computedGetter () { | 6377 | return function computedGetter () { |
6377 | return fn.call(this, this) | 6378 | return fn.call(this, this) |
6378 | } | 6379 | } |
6379 | } | 6380 | } |
6380 | 6381 | ||
6381 | function initMethods (vm, methods) { | 6382 | function initMethods (vm, methods) { |
6382 | var props = vm.$options.props; | 6383 | var props = vm.$options.props; |
6383 | for (var key in methods) { | 6384 | for (var key in methods) { |
6384 | if (true) { | 6385 | if (true) { |
6385 | if (typeof methods[key] !== 'function') { | 6386 | if (typeof methods[key] !== 'function') { |
6386 | warn( | 6387 | warn( |
6387 | "Method \"" + key + "\" has type \"" + (typeof methods[key]) + "\" in the component definition. " + | 6388 | "Method \"" + key + "\" has type \"" + (typeof methods[key]) + "\" in the component definition. " + |
6388 | "Did you reference the function correctly?", | 6389 | "Did you reference the function correctly?", |
6389 | vm | 6390 | vm |
6390 | ); | 6391 | ); |
6391 | } | 6392 | } |
6392 | if (props && hasOwn(props, key)) { | 6393 | if (props && hasOwn(props, key)) { |
6393 | warn( | 6394 | warn( |
6394 | ("Method \"" + key + "\" has already been defined as a prop."), | 6395 | ("Method \"" + key + "\" has already been defined as a prop."), |
6395 | vm | 6396 | vm |
6396 | ); | 6397 | ); |
6397 | } | 6398 | } |
6398 | if ((key in vm) && isReserved(key)) { | 6399 | if ((key in vm) && isReserved(key)) { |
6399 | warn( | 6400 | warn( |
6400 | "Method \"" + key + "\" conflicts with an existing Vue instance method. " + | 6401 | "Method \"" + key + "\" conflicts with an existing Vue instance method. " + |
6401 | "Avoid defining component methods that start with _ or $." | 6402 | "Avoid defining component methods that start with _ or $." |
6402 | ); | 6403 | ); |
6403 | } | 6404 | } |
6404 | } | 6405 | } |
6405 | vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm); | 6406 | vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm); |
6406 | } | 6407 | } |
6407 | } | 6408 | } |
6408 | 6409 | ||
6409 | function initWatch (vm, watch) { | 6410 | function initWatch (vm, watch) { |
6410 | for (var key in watch) { | 6411 | for (var key in watch) { |
6411 | var handler = watch[key]; | 6412 | var handler = watch[key]; |
6412 | if (Array.isArray(handler)) { | 6413 | if (Array.isArray(handler)) { |
6413 | for (var i = 0; i < handler.length; i++) { | 6414 | for (var i = 0; i < handler.length; i++) { |
6414 | createWatcher(vm, key, handler[i]); | 6415 | createWatcher(vm, key, handler[i]); |
6415 | } | 6416 | } |
6416 | } else { | 6417 | } else { |
6417 | createWatcher(vm, key, handler); | 6418 | createWatcher(vm, key, handler); |
6418 | } | 6419 | } |
6419 | } | 6420 | } |
6420 | } | 6421 | } |
6421 | 6422 | ||
6422 | function createWatcher ( | 6423 | function createWatcher ( |
6423 | vm, | 6424 | vm, |
6424 | expOrFn, | 6425 | expOrFn, |
6425 | handler, | 6426 | handler, |
6426 | options | 6427 | options |
6427 | ) { | 6428 | ) { |
6428 | if (isPlainObject(handler)) { | 6429 | if (isPlainObject(handler)) { |
6429 | options = handler; | 6430 | options = handler; |
6430 | handler = handler.handler; | 6431 | handler = handler.handler; |
6431 | } | 6432 | } |
6432 | if (typeof handler === 'string') { | 6433 | if (typeof handler === 'string') { |
6433 | handler = vm[handler]; | 6434 | handler = vm[handler]; |
6434 | } | 6435 | } |
6435 | return vm.$watch(expOrFn, handler, options) | 6436 | return vm.$watch(expOrFn, handler, options) |
6436 | } | 6437 | } |
6437 | 6438 | ||
6438 | function stateMixin (Vue) { | 6439 | function stateMixin (Vue) { |
6439 | // flow somehow has problems with directly declared definition object | 6440 | // flow somehow has problems with directly declared definition object |
6440 | // when using Object.defineProperty, so we have to procedurally build up | 6441 | // when using Object.defineProperty, so we have to procedurally build up |
6441 | // the object here. | 6442 | // the object here. |
6442 | var dataDef = {}; | 6443 | var dataDef = {}; |
6443 | dataDef.get = function () { return this._data }; | 6444 | dataDef.get = function () { return this._data }; |
6444 | var propsDef = {}; | 6445 | var propsDef = {}; |
6445 | propsDef.get = function () { return this._props }; | 6446 | propsDef.get = function () { return this._props }; |
6446 | if (true) { | 6447 | if (true) { |
6447 | dataDef.set = function () { | 6448 | dataDef.set = function () { |
6448 | warn( | 6449 | warn( |
6449 | 'Avoid replacing instance root $data. ' + | 6450 | 'Avoid replacing instance root $data. ' + |
6450 | 'Use nested data properties instead.', | 6451 | 'Use nested data properties instead.', |
6451 | this | 6452 | this |
6452 | ); | 6453 | ); |
6453 | }; | 6454 | }; |
6454 | propsDef.set = function () { | 6455 | propsDef.set = function () { |
6455 | warn("$props is readonly.", this); | 6456 | warn("$props is readonly.", this); |
6456 | }; | 6457 | }; |
6457 | } | 6458 | } |
6458 | Object.defineProperty(Vue.prototype, '$data', dataDef); | 6459 | Object.defineProperty(Vue.prototype, '$data', dataDef); |
6459 | Object.defineProperty(Vue.prototype, '$props', propsDef); | 6460 | Object.defineProperty(Vue.prototype, '$props', propsDef); |
6460 | 6461 | ||
6461 | Vue.prototype.$set = set; | 6462 | Vue.prototype.$set = set; |
6462 | Vue.prototype.$delete = del; | 6463 | Vue.prototype.$delete = del; |
6463 | 6464 | ||
6464 | Vue.prototype.$watch = function ( | 6465 | Vue.prototype.$watch = function ( |
6465 | expOrFn, | 6466 | expOrFn, |
6466 | cb, | 6467 | cb, |
6467 | options | 6468 | options |
6468 | ) { | 6469 | ) { |
6469 | var vm = this; | 6470 | var vm = this; |
6470 | if (isPlainObject(cb)) { | 6471 | if (isPlainObject(cb)) { |
6471 | return createWatcher(vm, expOrFn, cb, options) | 6472 | return createWatcher(vm, expOrFn, cb, options) |
6472 | } | 6473 | } |
6473 | options = options || {}; | 6474 | options = options || {}; |
6474 | options.user = true; | 6475 | options.user = true; |
6475 | var watcher = new Watcher(vm, expOrFn, cb, options); | 6476 | var watcher = new Watcher(vm, expOrFn, cb, options); |
6476 | if (options.immediate) { | 6477 | if (options.immediate) { |
6477 | try { | 6478 | try { |
6478 | cb.call(vm, watcher.value); | 6479 | cb.call(vm, watcher.value); |
6479 | } catch (error) { | 6480 | } catch (error) { |
6480 | handleError(error, vm, ("callback for immediate watcher \"" + (watcher.expression) + "\"")); | 6481 | handleError(error, vm, ("callback for immediate watcher \"" + (watcher.expression) + "\"")); |
6481 | } | 6482 | } |
6482 | } | 6483 | } |
6483 | return function unwatchFn () { | 6484 | return function unwatchFn () { |
6484 | watcher.teardown(); | 6485 | watcher.teardown(); |
6485 | } | 6486 | } |
6486 | }; | 6487 | }; |
6487 | } | 6488 | } |
6488 | 6489 | ||
6489 | /* */ | 6490 | /* */ |
6490 | 6491 | ||
6491 | var uid$3 = 0; | 6492 | var uid$3 = 0; |
6492 | 6493 | ||
6493 | function initMixin (Vue) { | 6494 | function initMixin (Vue) { |
6494 | Vue.prototype._init = function (options) { | 6495 | Vue.prototype._init = function (options) { |
6495 | var vm = this; | 6496 | var vm = this; |
6496 | // a uid | 6497 | // a uid |
6497 | vm._uid = uid$3++; | 6498 | vm._uid = uid$3++; |
6498 | 6499 | ||
6499 | var startTag, endTag; | 6500 | var startTag, endTag; |
6500 | /* istanbul ignore if */ | 6501 | /* istanbul ignore if */ |
6501 | if ( true && config.performance && mark) { | 6502 | if ( true && config.performance && mark) { |
6502 | startTag = "vue-perf-start:" + (vm._uid); | 6503 | startTag = "vue-perf-start:" + (vm._uid); |
6503 | endTag = "vue-perf-end:" + (vm._uid); | 6504 | endTag = "vue-perf-end:" + (vm._uid); |
6504 | mark(startTag); | 6505 | mark(startTag); |
6505 | } | 6506 | } |
6506 | 6507 | ||
6507 | // a flag to avoid this being observed | 6508 | // a flag to avoid this being observed |
6508 | vm._isVue = true; | 6509 | vm._isVue = true; |
6509 | // merge options | 6510 | // merge options |
6510 | if (options && options._isComponent) { | 6511 | if (options && options._isComponent) { |
6511 | // optimize internal component instantiation | 6512 | // optimize internal component instantiation |
6512 | // since dynamic options merging is pretty slow, and none of the | 6513 | // since dynamic options merging is pretty slow, and none of the |
6513 | // internal component options needs special treatment. | 6514 | // internal component options needs special treatment. |
6514 | initInternalComponent(vm, options); | 6515 | initInternalComponent(vm, options); |
6515 | } else { | 6516 | } else { |
6516 | vm.$options = mergeOptions( | 6517 | vm.$options = mergeOptions( |
6517 | resolveConstructorOptions(vm.constructor), | 6518 | resolveConstructorOptions(vm.constructor), |
6518 | options || {}, | 6519 | options || {}, |
6519 | vm | 6520 | vm |
6520 | ); | 6521 | ); |
6521 | } | 6522 | } |
6522 | /* istanbul ignore else */ | 6523 | /* istanbul ignore else */ |
6523 | if (true) { | 6524 | if (true) { |
6524 | initProxy(vm); | 6525 | initProxy(vm); |
6525 | } else {} | 6526 | } else {} |
6526 | // expose real self | 6527 | // expose real self |
6527 | vm._self = vm; | 6528 | vm._self = vm; |
6528 | initLifecycle(vm); | 6529 | initLifecycle(vm); |
6529 | initEvents(vm); | 6530 | initEvents(vm); |
6530 | initRender(vm); | 6531 | initRender(vm); |
6531 | callHook(vm, 'beforeCreate'); | 6532 | callHook(vm, 'beforeCreate'); |
6532 | !vm._$fallback && initInjections(vm); // resolve injections before data/props | 6533 | !vm._$fallback && initInjections(vm); // resolve injections before data/props |
6533 | initState(vm); | 6534 | initState(vm); |
6534 | !vm._$fallback && initProvide(vm); // resolve provide after data/props | 6535 | !vm._$fallback && initProvide(vm); // resolve provide after data/props |
6535 | !vm._$fallback && callHook(vm, 'created'); | 6536 | !vm._$fallback && callHook(vm, 'created'); |
6536 | 6537 | ||
6537 | /* istanbul ignore if */ | 6538 | /* istanbul ignore if */ |
6538 | if ( true && config.performance && mark) { | 6539 | if ( true && config.performance && mark) { |
6539 | vm._name = formatComponentName(vm, false); | 6540 | vm._name = formatComponentName(vm, false); |
6540 | mark(endTag); | 6541 | mark(endTag); |
6541 | measure(("vue " + (vm._name) + " init"), startTag, endTag); | 6542 | measure(("vue " + (vm._name) + " init"), startTag, endTag); |
6542 | } | 6543 | } |
6543 | 6544 | ||
6544 | if (vm.$options.el) { | 6545 | if (vm.$options.el) { |
6545 | vm.$mount(vm.$options.el); | 6546 | vm.$mount(vm.$options.el); |
6546 | } | 6547 | } |
6547 | }; | 6548 | }; |
6548 | } | 6549 | } |
6549 | 6550 | ||
6550 | function initInternalComponent (vm, options) { | 6551 | function initInternalComponent (vm, options) { |
6551 | var opts = vm.$options = Object.create(vm.constructor.options); | 6552 | var opts = vm.$options = Object.create(vm.constructor.options); |
6552 | // doing this because it's faster than dynamic enumeration. | 6553 | // doing this because it's faster than dynamic enumeration. |
6553 | var parentVnode = options._parentVnode; | 6554 | var parentVnode = options._parentVnode; |
6554 | opts.parent = options.parent; | 6555 | opts.parent = options.parent; |
6555 | opts._parentVnode = parentVnode; | 6556 | opts._parentVnode = parentVnode; |
6556 | 6557 | ||
6557 | var vnodeComponentOptions = parentVnode.componentOptions; | 6558 | var vnodeComponentOptions = parentVnode.componentOptions; |
6558 | opts.propsData = vnodeComponentOptions.propsData; | 6559 | opts.propsData = vnodeComponentOptions.propsData; |
6559 | opts._parentListeners = vnodeComponentOptions.listeners; | 6560 | opts._parentListeners = vnodeComponentOptions.listeners; |
6560 | opts._renderChildren = vnodeComponentOptions.children; | 6561 | opts._renderChildren = vnodeComponentOptions.children; |
6561 | opts._componentTag = vnodeComponentOptions.tag; | 6562 | opts._componentTag = vnodeComponentOptions.tag; |
6562 | 6563 | ||
6563 | if (options.render) { | 6564 | if (options.render) { |
6564 | opts.render = options.render; | 6565 | opts.render = options.render; |
6565 | opts.staticRenderFns = options.staticRenderFns; | 6566 | opts.staticRenderFns = options.staticRenderFns; |
6566 | } | 6567 | } |
6567 | } | 6568 | } |
6568 | 6569 | ||
6569 | function resolveConstructorOptions (Ctor) { | 6570 | function resolveConstructorOptions (Ctor) { |
6570 | var options = Ctor.options; | 6571 | var options = Ctor.options; |
6571 | if (Ctor.super) { | 6572 | if (Ctor.super) { |
6572 | var superOptions = resolveConstructorOptions(Ctor.super); | 6573 | var superOptions = resolveConstructorOptions(Ctor.super); |
6573 | var cachedSuperOptions = Ctor.superOptions; | 6574 | var cachedSuperOptions = Ctor.superOptions; |
6574 | if (superOptions !== cachedSuperOptions) { | 6575 | if (superOptions !== cachedSuperOptions) { |
6575 | // super option changed, | 6576 | // super option changed, |
6576 | // need to resolve new options. | 6577 | // need to resolve new options. |
6577 | Ctor.superOptions = superOptions; | 6578 | Ctor.superOptions = superOptions; |
6578 | // check if there are any late-modified/attached options (#4976) | 6579 | // check if there are any late-modified/attached options (#4976) |
6579 | var modifiedOptions = resolveModifiedOptions(Ctor); | 6580 | var modifiedOptions = resolveModifiedOptions(Ctor); |
6580 | // update base extend options | 6581 | // update base extend options |
6581 | if (modifiedOptions) { | 6582 | if (modifiedOptions) { |
6582 | extend(Ctor.extendOptions, modifiedOptions); | 6583 | extend(Ctor.extendOptions, modifiedOptions); |
6583 | } | 6584 | } |
6584 | options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions); | 6585 | options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions); |
6585 | if (options.name) { | 6586 | if (options.name) { |
6586 | options.components[options.name] = Ctor; | 6587 | options.components[options.name] = Ctor; |
6587 | } | 6588 | } |
6588 | } | 6589 | } |
6589 | } | 6590 | } |
6590 | return options | 6591 | return options |
6591 | } | 6592 | } |
6592 | 6593 | ||
6593 | function resolveModifiedOptions (Ctor) { | 6594 | function resolveModifiedOptions (Ctor) { |
6594 | var modified; | 6595 | var modified; |
6595 | var latest = Ctor.options; | 6596 | var latest = Ctor.options; |
6596 | var sealed = Ctor.sealedOptions; | 6597 | var sealed = Ctor.sealedOptions; |
6597 | for (var key in latest) { | 6598 | for (var key in latest) { |
6598 | if (latest[key] !== sealed[key]) { | 6599 | if (latest[key] !== sealed[key]) { |
6599 | if (!modified) { modified = {}; } | 6600 | if (!modified) { modified = {}; } |
6600 | modified[key] = latest[key]; | 6601 | modified[key] = latest[key]; |
6601 | } | 6602 | } |
6602 | } | 6603 | } |
6603 | return modified | 6604 | return modified |
6604 | } | 6605 | } |
6605 | 6606 | ||
6606 | function Vue (options) { | 6607 | function Vue (options) { |
6607 | if ( true && | 6608 | if ( true && |
6608 | !(this instanceof Vue) | 6609 | !(this instanceof Vue) |
6609 | ) { | 6610 | ) { |
6610 | warn('Vue is a constructor and should be called with the `new` keyword'); | 6611 | warn('Vue is a constructor and should be called with the `new` keyword'); |
6611 | } | 6612 | } |
6612 | this._init(options); | 6613 | this._init(options); |
6613 | } | 6614 | } |
6614 | 6615 | ||
6615 | initMixin(Vue); | 6616 | initMixin(Vue); |
6616 | stateMixin(Vue); | 6617 | stateMixin(Vue); |
6617 | eventsMixin(Vue); | 6618 | eventsMixin(Vue); |
6618 | lifecycleMixin(Vue); | 6619 | lifecycleMixin(Vue); |
6619 | renderMixin(Vue); | 6620 | renderMixin(Vue); |
6620 | 6621 | ||
6621 | /* */ | 6622 | /* */ |
6622 | 6623 | ||
6623 | function initUse (Vue) { | 6624 | function initUse (Vue) { |
6624 | Vue.use = function (plugin) { | 6625 | Vue.use = function (plugin) { |
6625 | var installedPlugins = (this._installedPlugins || (this._installedPlugins = [])); | 6626 | var installedPlugins = (this._installedPlugins || (this._installedPlugins = [])); |
6626 | if (installedPlugins.indexOf(plugin) > -1) { | 6627 | if (installedPlugins.indexOf(plugin) > -1) { |
6627 | return this | 6628 | return this |
6628 | } | 6629 | } |
6629 | 6630 | ||
6630 | // additional parameters | 6631 | // additional parameters |
6631 | var args = toArray(arguments, 1); | 6632 | var args = toArray(arguments, 1); |
6632 | args.unshift(this); | 6633 | args.unshift(this); |
6633 | if (typeof plugin.install === 'function') { | 6634 | if (typeof plugin.install === 'function') { |
6634 | plugin.install.apply(plugin, args); | 6635 | plugin.install.apply(plugin, args); |
6635 | } else if (typeof plugin === 'function') { | 6636 | } else if (typeof plugin === 'function') { |
6636 | plugin.apply(null, args); | 6637 | plugin.apply(null, args); |
6637 | } | 6638 | } |
6638 | installedPlugins.push(plugin); | 6639 | installedPlugins.push(plugin); |
6639 | return this | 6640 | return this |
6640 | }; | 6641 | }; |
6641 | } | 6642 | } |
6642 | 6643 | ||
6643 | /* */ | 6644 | /* */ |
6644 | 6645 | ||
6645 | function initMixin$1 (Vue) { | 6646 | function initMixin$1 (Vue) { |
6646 | Vue.mixin = function (mixin) { | 6647 | Vue.mixin = function (mixin) { |
6647 | this.options = mergeOptions(this.options, mixin); | 6648 | this.options = mergeOptions(this.options, mixin); |
6648 | return this | 6649 | return this |
6649 | }; | 6650 | }; |
6650 | } | 6651 | } |
6651 | 6652 | ||
6652 | /* */ | 6653 | /* */ |
6653 | 6654 | ||
6654 | function initExtend (Vue) { | 6655 | function initExtend (Vue) { |
6655 | /** | 6656 | /** |
6656 | * Each instance constructor, including Vue, has a unique | 6657 | * Each instance constructor, including Vue, has a unique |
6657 | * cid. This enables us to create wrapped "child | 6658 | * cid. This enables us to create wrapped "child |
6658 | * constructors" for prototypal inheritance and cache them. | 6659 | * constructors" for prototypal inheritance and cache them. |
6659 | */ | 6660 | */ |
6660 | Vue.cid = 0; | 6661 | Vue.cid = 0; |
6661 | var cid = 1; | 6662 | var cid = 1; |
6662 | 6663 | ||
6663 | /** | 6664 | /** |
6664 | * Class inheritance | 6665 | * Class inheritance |
6665 | */ | 6666 | */ |
6666 | Vue.extend = function (extendOptions) { | 6667 | Vue.extend = function (extendOptions) { |
6667 | extendOptions = extendOptions || {}; | 6668 | extendOptions = extendOptions || {}; |
6668 | var Super = this; | 6669 | var Super = this; |
6669 | var SuperId = Super.cid; | 6670 | var SuperId = Super.cid; |
6670 | var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {}); | 6671 | var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {}); |
6671 | if (cachedCtors[SuperId]) { | 6672 | if (cachedCtors[SuperId]) { |
6672 | return cachedCtors[SuperId] | 6673 | return cachedCtors[SuperId] |
6673 | } | 6674 | } |
6674 | 6675 | ||
6675 | var name = extendOptions.name || Super.options.name; | 6676 | var name = extendOptions.name || Super.options.name; |
6676 | if ( true && name) { | 6677 | if ( true && name) { |
6677 | validateComponentName(name); | 6678 | validateComponentName(name); |
6678 | } | 6679 | } |
6679 | 6680 | ||
6680 | var Sub = function VueComponent (options) { | 6681 | var Sub = function VueComponent (options) { |
6681 | this._init(options); | 6682 | this._init(options); |
6682 | }; | 6683 | }; |
6683 | Sub.prototype = Object.create(Super.prototype); | 6684 | Sub.prototype = Object.create(Super.prototype); |
6684 | Sub.prototype.constructor = Sub; | 6685 | Sub.prototype.constructor = Sub; |
6685 | Sub.cid = cid++; | 6686 | Sub.cid = cid++; |
6686 | Sub.options = mergeOptions( | 6687 | Sub.options = mergeOptions( |
6687 | Super.options, | 6688 | Super.options, |
6688 | extendOptions | 6689 | extendOptions |
6689 | ); | 6690 | ); |
6690 | Sub['super'] = Super; | 6691 | Sub['super'] = Super; |
6691 | 6692 | ||
6692 | // For props and computed properties, we define the proxy getters on | 6693 | // For props and computed properties, we define the proxy getters on |
6693 | // the Vue instances at extension time, on the extended prototype. This | 6694 | // the Vue instances at extension time, on the extended prototype. This |
6694 | // avoids Object.defineProperty calls for each instance created. | 6695 | // avoids Object.defineProperty calls for each instance created. |
6695 | if (Sub.options.props) { | 6696 | if (Sub.options.props) { |
6696 | initProps$1(Sub); | 6697 | initProps$1(Sub); |
6697 | } | 6698 | } |
6698 | if (Sub.options.computed) { | 6699 | if (Sub.options.computed) { |
6699 | initComputed$1(Sub); | 6700 | initComputed$1(Sub); |
6700 | } | 6701 | } |
6701 | 6702 | ||
6702 | // allow further extension/mixin/plugin usage | 6703 | // allow further extension/mixin/plugin usage |
6703 | Sub.extend = Super.extend; | 6704 | Sub.extend = Super.extend; |
6704 | Sub.mixin = Super.mixin; | 6705 | Sub.mixin = Super.mixin; |
6705 | Sub.use = Super.use; | 6706 | Sub.use = Super.use; |
6706 | 6707 | ||
6707 | // create asset registers, so extended classes | 6708 | // create asset registers, so extended classes |
6708 | // can have their private assets too. | 6709 | // can have their private assets too. |
6709 | ASSET_TYPES.forEach(function (type) { | 6710 | ASSET_TYPES.forEach(function (type) { |
6710 | Sub[type] = Super[type]; | 6711 | Sub[type] = Super[type]; |
6711 | }); | 6712 | }); |
6712 | // enable recursive self-lookup | 6713 | // enable recursive self-lookup |
6713 | if (name) { | 6714 | if (name) { |
6714 | Sub.options.components[name] = Sub; | 6715 | Sub.options.components[name] = Sub; |
6715 | } | 6716 | } |
6716 | 6717 | ||
6717 | // keep a reference to the super options at extension time. | 6718 | // keep a reference to the super options at extension time. |
6718 | // later at instantiation we can check if Super's options have | 6719 | // later at instantiation we can check if Super's options have |
6719 | // been updated. | 6720 | // been updated. |
6720 | Sub.superOptions = Super.options; | 6721 | Sub.superOptions = Super.options; |
6721 | Sub.extendOptions = extendOptions; | 6722 | Sub.extendOptions = extendOptions; |
6722 | Sub.sealedOptions = extend({}, Sub.options); | 6723 | Sub.sealedOptions = extend({}, Sub.options); |
6723 | 6724 | ||
6724 | // cache constructor | 6725 | // cache constructor |
6725 | cachedCtors[SuperId] = Sub; | 6726 | cachedCtors[SuperId] = Sub; |
6726 | return Sub | 6727 | return Sub |
6727 | }; | 6728 | }; |
6728 | } | 6729 | } |
6729 | 6730 | ||
6730 | function initProps$1 (Comp) { | 6731 | function initProps$1 (Comp) { |
6731 | var props = Comp.options.props; | 6732 | var props = Comp.options.props; |
6732 | for (var key in props) { | 6733 | for (var key in props) { |
6733 | proxy(Comp.prototype, "_props", key); | 6734 | proxy(Comp.prototype, "_props", key); |
6734 | } | 6735 | } |
6735 | } | 6736 | } |
6736 | 6737 | ||
6737 | function initComputed$1 (Comp) { | 6738 | function initComputed$1 (Comp) { |
6738 | var computed = Comp.options.computed; | 6739 | var computed = Comp.options.computed; |
6739 | for (var key in computed) { | 6740 | for (var key in computed) { |
6740 | defineComputed(Comp.prototype, key, computed[key]); | 6741 | defineComputed(Comp.prototype, key, computed[key]); |
6741 | } | 6742 | } |
6742 | } | 6743 | } |
6743 | 6744 | ||
6744 | /* */ | 6745 | /* */ |
6745 | 6746 | ||
6746 | function initAssetRegisters (Vue) { | 6747 | function initAssetRegisters (Vue) { |
6747 | /** | 6748 | /** |
6748 | * Create asset registration methods. | 6749 | * Create asset registration methods. |
6749 | */ | 6750 | */ |
6750 | ASSET_TYPES.forEach(function (type) { | 6751 | ASSET_TYPES.forEach(function (type) { |
6751 | Vue[type] = function ( | 6752 | Vue[type] = function ( |
6752 | id, | 6753 | id, |
6753 | definition | 6754 | definition |
6754 | ) { | 6755 | ) { |
6755 | if (!definition) { | 6756 | if (!definition) { |
6756 | return this.options[type + 's'][id] | 6757 | return this.options[type + 's'][id] |
6757 | } else { | 6758 | } else { |
6758 | /* istanbul ignore if */ | 6759 | /* istanbul ignore if */ |
6759 | if ( true && type === 'component') { | 6760 | if ( true && type === 'component') { |
6760 | validateComponentName(id); | 6761 | validateComponentName(id); |
6761 | } | 6762 | } |
6762 | if (type === 'component' && isPlainObject(definition)) { | 6763 | if (type === 'component' && isPlainObject(definition)) { |
6763 | definition.name = definition.name || id; | 6764 | definition.name = definition.name || id; |
6764 | definition = this.options._base.extend(definition); | 6765 | definition = this.options._base.extend(definition); |
6765 | } | 6766 | } |
6766 | if (type === 'directive' && typeof definition === 'function') { | 6767 | if (type === 'directive' && typeof definition === 'function') { |
6767 | definition = { bind: definition, update: definition }; | 6768 | definition = { bind: definition, update: definition }; |
6768 | } | 6769 | } |
6769 | this.options[type + 's'][id] = definition; | 6770 | this.options[type + 's'][id] = definition; |
6770 | return definition | 6771 | return definition |
6771 | } | 6772 | } |
6772 | }; | 6773 | }; |
6773 | }); | 6774 | }); |
6774 | } | 6775 | } |
6775 | 6776 | ||
6776 | /* */ | 6777 | /* */ |
6777 | 6778 | ||
6778 | 6779 | ||
6779 | 6780 | ||
6780 | function getComponentName (opts) { | 6781 | function getComponentName (opts) { |
6781 | return opts && (opts.Ctor.options.name || opts.tag) | 6782 | return opts && (opts.Ctor.options.name || opts.tag) |
6782 | } | 6783 | } |
6783 | 6784 | ||
6784 | function matches (pattern, name) { | 6785 | function matches (pattern, name) { |
6785 | if (Array.isArray(pattern)) { | 6786 | if (Array.isArray(pattern)) { |
6786 | return pattern.indexOf(name) > -1 | 6787 | return pattern.indexOf(name) > -1 |
6787 | } else if (typeof pattern === 'string') { | 6788 | } else if (typeof pattern === 'string') { |
6788 | return pattern.split(',').indexOf(name) > -1 | 6789 | return pattern.split(',').indexOf(name) > -1 |
6789 | } else if (isRegExp(pattern)) { | 6790 | } else if (isRegExp(pattern)) { |
6790 | return pattern.test(name) | 6791 | return pattern.test(name) |
6791 | } | 6792 | } |
6792 | /* istanbul ignore next */ | 6793 | /* istanbul ignore next */ |
6793 | return false | 6794 | return false |
6794 | } | 6795 | } |
6795 | 6796 | ||
6796 | function pruneCache (keepAliveInstance, filter) { | 6797 | function pruneCache (keepAliveInstance, filter) { |
6797 | var cache = keepAliveInstance.cache; | 6798 | var cache = keepAliveInstance.cache; |
6798 | var keys = keepAliveInstance.keys; | 6799 | var keys = keepAliveInstance.keys; |
6799 | var _vnode = keepAliveInstance._vnode; | 6800 | var _vnode = keepAliveInstance._vnode; |
6800 | for (var key in cache) { | 6801 | for (var key in cache) { |
6801 | var cachedNode = cache[key]; | 6802 | var cachedNode = cache[key]; |
6802 | if (cachedNode) { | 6803 | if (cachedNode) { |
6803 | var name = getComponentName(cachedNode.componentOptions); | 6804 | var name = getComponentName(cachedNode.componentOptions); |
6804 | if (name && !filter(name)) { | 6805 | if (name && !filter(name)) { |
6805 | pruneCacheEntry(cache, key, keys, _vnode); | 6806 | pruneCacheEntry(cache, key, keys, _vnode); |
6806 | } | 6807 | } |
6807 | } | 6808 | } |
6808 | } | 6809 | } |
6809 | } | 6810 | } |
6810 | 6811 | ||
6811 | function pruneCacheEntry ( | 6812 | function pruneCacheEntry ( |
6812 | cache, | 6813 | cache, |
6813 | key, | 6814 | key, |
6814 | keys, | 6815 | keys, |
6815 | current | 6816 | current |
6816 | ) { | 6817 | ) { |
6817 | var cached$$1 = cache[key]; | 6818 | var cached$$1 = cache[key]; |
6818 | if (cached$$1 && (!current || cached$$1.tag !== current.tag)) { | 6819 | if (cached$$1 && (!current || cached$$1.tag !== current.tag)) { |
6819 | cached$$1.componentInstance.$destroy(); | 6820 | cached$$1.componentInstance.$destroy(); |
6820 | } | 6821 | } |
6821 | cache[key] = null; | 6822 | cache[key] = null; |
6822 | remove(keys, key); | 6823 | remove(keys, key); |
6823 | } | 6824 | } |
6824 | 6825 | ||
6825 | var patternTypes = [String, RegExp, Array]; | 6826 | var patternTypes = [String, RegExp, Array]; |
6826 | 6827 | ||
6827 | var KeepAlive = { | 6828 | var KeepAlive = { |
6828 | name: 'keep-alive', | 6829 | name: 'keep-alive', |
6829 | abstract: true, | 6830 | abstract: true, |
6830 | 6831 | ||
6831 | props: { | 6832 | props: { |
6832 | include: patternTypes, | 6833 | include: patternTypes, |
6833 | exclude: patternTypes, | 6834 | exclude: patternTypes, |
6834 | max: [String, Number] | 6835 | max: [String, Number] |
6835 | }, | 6836 | }, |
6836 | 6837 | ||
6837 | created: function created () { | 6838 | created: function created () { |
6838 | this.cache = Object.create(null); | 6839 | this.cache = Object.create(null); |
6839 | this.keys = []; | 6840 | this.keys = []; |
6840 | }, | 6841 | }, |
6841 | 6842 | ||
6842 | destroyed: function destroyed () { | 6843 | destroyed: function destroyed () { |
6843 | for (var key in this.cache) { | 6844 | for (var key in this.cache) { |
6844 | pruneCacheEntry(this.cache, key, this.keys); | 6845 | pruneCacheEntry(this.cache, key, this.keys); |
6845 | } | 6846 | } |
6846 | }, | 6847 | }, |
6847 | 6848 | ||
6848 | mounted: function mounted () { | 6849 | mounted: function mounted () { |
6849 | var this$1 = this; | 6850 | var this$1 = this; |
6850 | 6851 | ||
6851 | this.$watch('include', function (val) { | 6852 | this.$watch('include', function (val) { |
6852 | pruneCache(this$1, function (name) { return matches(val, name); }); | 6853 | pruneCache(this$1, function (name) { return matches(val, name); }); |
6853 | }); | 6854 | }); |
6854 | this.$watch('exclude', function (val) { | 6855 | this.$watch('exclude', function (val) { |
6855 | pruneCache(this$1, function (name) { return !matches(val, name); }); | 6856 | pruneCache(this$1, function (name) { return !matches(val, name); }); |
6856 | }); | 6857 | }); |
6857 | }, | 6858 | }, |
6858 | 6859 | ||
6859 | render: function render () { | 6860 | render: function render () { |
6860 | var slot = this.$slots.default; | 6861 | var slot = this.$slots.default; |
6861 | var vnode = getFirstComponentChild(slot); | 6862 | var vnode = getFirstComponentChild(slot); |
6862 | var componentOptions = vnode && vnode.componentOptions; | 6863 | var componentOptions = vnode && vnode.componentOptions; |
6863 | if (componentOptions) { | 6864 | if (componentOptions) { |
6864 | // check pattern | 6865 | // check pattern |
6865 | var name = getComponentName(componentOptions); | 6866 | var name = getComponentName(componentOptions); |
6866 | var ref = this; | 6867 | var ref = this; |
6867 | var include = ref.include; | 6868 | var include = ref.include; |
6868 | var exclude = ref.exclude; | 6869 | var exclude = ref.exclude; |
6869 | if ( | 6870 | if ( |
6870 | // not included | 6871 | // not included |
6871 | (include && (!name || !matches(include, name))) || | 6872 | (include && (!name || !matches(include, name))) || |
6872 | // excluded | 6873 | // excluded |
6873 | (exclude && name && matches(exclude, name)) | 6874 | (exclude && name && matches(exclude, name)) |
6874 | ) { | 6875 | ) { |
6875 | return vnode | 6876 | return vnode |
6876 | } | 6877 | } |
6877 | 6878 | ||
6878 | var ref$1 = this; | 6879 | var ref$1 = this; |
6879 | var cache = ref$1.cache; | 6880 | var cache = ref$1.cache; |
6880 | var keys = ref$1.keys; | 6881 | var keys = ref$1.keys; |
6881 | var key = vnode.key == null | 6882 | var key = vnode.key == null |
6882 | // same constructor may get registered as different local components | 6883 | // same constructor may get registered as different local components |
6883 | // so cid alone is not enough (#3269) | 6884 | // so cid alone is not enough (#3269) |
6884 | ? componentOptions.Ctor.cid + (componentOptions.tag ? ("::" + (componentOptions.tag)) : '') | 6885 | ? componentOptions.Ctor.cid + (componentOptions.tag ? ("::" + (componentOptions.tag)) : '') |
6885 | : vnode.key; | 6886 | : vnode.key; |
6886 | if (cache[key]) { | 6887 | if (cache[key]) { |
6887 | vnode.componentInstance = cache[key].componentInstance; | 6888 | vnode.componentInstance = cache[key].componentInstance; |
6888 | // make current key freshest | 6889 | // make current key freshest |
6889 | remove(keys, key); | 6890 | remove(keys, key); |
6890 | keys.push(key); | 6891 | keys.push(key); |
6891 | } else { | 6892 | } else { |
6892 | cache[key] = vnode; | 6893 | cache[key] = vnode; |
6893 | keys.push(key); | 6894 | keys.push(key); |
6894 | // prune oldest entry | 6895 | // prune oldest entry |
6895 | if (this.max && keys.length > parseInt(this.max)) { | 6896 | if (this.max && keys.length > parseInt(this.max)) { |
6896 | pruneCacheEntry(cache, keys[0], keys, this._vnode); | 6897 | pruneCacheEntry(cache, keys[0], keys, this._vnode); |
6897 | } | 6898 | } |
6898 | } | 6899 | } |
6899 | 6900 | ||
6900 | vnode.data.keepAlive = true; | 6901 | vnode.data.keepAlive = true; |
6901 | } | 6902 | } |
6902 | return vnode || (slot && slot[0]) | 6903 | return vnode || (slot && slot[0]) |
6903 | } | 6904 | } |
6904 | }; | 6905 | }; |
6905 | 6906 | ||
6906 | var builtInComponents = { | 6907 | var builtInComponents = { |
6907 | KeepAlive: KeepAlive | 6908 | KeepAlive: KeepAlive |
6908 | }; | 6909 | }; |
6909 | 6910 | ||
6910 | /* */ | 6911 | /* */ |
6911 | 6912 | ||
6912 | function initGlobalAPI (Vue) { | 6913 | function initGlobalAPI (Vue) { |
6913 | // config | 6914 | // config |
6914 | var configDef = {}; | 6915 | var configDef = {}; |
6915 | configDef.get = function () { return config; }; | 6916 | configDef.get = function () { return config; }; |
6916 | if (true) { | 6917 | if (true) { |
6917 | configDef.set = function () { | 6918 | configDef.set = function () { |
6918 | warn( | 6919 | warn( |
6919 | 'Do not replace the Vue.config object, set individual fields instead.' | 6920 | 'Do not replace the Vue.config object, set individual fields instead.' |
6920 | ); | 6921 | ); |
6921 | }; | 6922 | }; |
6922 | } | 6923 | } |
6923 | Object.defineProperty(Vue, 'config', configDef); | 6924 | Object.defineProperty(Vue, 'config', configDef); |
6924 | 6925 | ||
6925 | // exposed util methods. | 6926 | // exposed util methods. |
6926 | // NOTE: these are not considered part of the public API - avoid relying on | 6927 | // NOTE: these are not considered part of the public API - avoid relying on |
6927 | // them unless you are aware of the risk. | 6928 | // them unless you are aware of the risk. |
6928 | Vue.util = { | 6929 | Vue.util = { |
6929 | warn: warn, | 6930 | warn: warn, |
6930 | extend: extend, | 6931 | extend: extend, |
6931 | mergeOptions: mergeOptions, | 6932 | mergeOptions: mergeOptions, |
6932 | defineReactive: defineReactive$$1 | 6933 | defineReactive: defineReactive$$1 |
6933 | }; | 6934 | }; |
6934 | 6935 | ||
6935 | Vue.set = set; | 6936 | Vue.set = set; |
6936 | Vue.delete = del; | 6937 | Vue.delete = del; |
6937 | Vue.nextTick = nextTick; | 6938 | Vue.nextTick = nextTick; |
6938 | 6939 | ||
6939 | // 2.6 explicit observable API | 6940 | // 2.6 explicit observable API |
6940 | Vue.observable = function (obj) { | 6941 | Vue.observable = function (obj) { |
6941 | observe(obj); | 6942 | observe(obj); |
6942 | return obj | 6943 | return obj |
6943 | }; | 6944 | }; |
6944 | 6945 | ||
6945 | Vue.options = Object.create(null); | 6946 | Vue.options = Object.create(null); |
6946 | ASSET_TYPES.forEach(function (type) { | 6947 | ASSET_TYPES.forEach(function (type) { |
6947 | Vue.options[type + 's'] = Object.create(null); | 6948 | Vue.options[type + 's'] = Object.create(null); |
6948 | }); | 6949 | }); |
6949 | 6950 | ||
6950 | // this is used to identify the "base" constructor to extend all plain-object | 6951 | // this is used to identify the "base" constructor to extend all plain-object |
6951 | // components with in Weex's multi-instance scenarios. | 6952 | // components with in Weex's multi-instance scenarios. |
6952 | Vue.options._base = Vue; | 6953 | Vue.options._base = Vue; |
6953 | 6954 | ||
6954 | extend(Vue.options.components, builtInComponents); | 6955 | extend(Vue.options.components, builtInComponents); |
6955 | 6956 | ||
6956 | initUse(Vue); | 6957 | initUse(Vue); |
6957 | initMixin$1(Vue); | 6958 | initMixin$1(Vue); |
6958 | initExtend(Vue); | 6959 | initExtend(Vue); |
6959 | initAssetRegisters(Vue); | 6960 | initAssetRegisters(Vue); |
6960 | } | 6961 | } |
6961 | 6962 | ||
6962 | initGlobalAPI(Vue); | 6963 | initGlobalAPI(Vue); |
6963 | 6964 | ||
6964 | Object.defineProperty(Vue.prototype, '$isServer', { | 6965 | Object.defineProperty(Vue.prototype, '$isServer', { |
6965 | get: isServerRendering | 6966 | get: isServerRendering |
6966 | }); | 6967 | }); |
6967 | 6968 | ||
6968 | Object.defineProperty(Vue.prototype, '$ssrContext', { | 6969 | Object.defineProperty(Vue.prototype, '$ssrContext', { |
6969 | get: function get () { | 6970 | get: function get () { |
6970 | /* istanbul ignore next */ | 6971 | /* istanbul ignore next */ |
6971 | return this.$vnode && this.$vnode.ssrContext | 6972 | return this.$vnode && this.$vnode.ssrContext |
6972 | } | 6973 | } |
6973 | }); | 6974 | }); |
6974 | 6975 | ||
6975 | // expose FunctionalRenderContext for ssr runtime helper installation | 6976 | // expose FunctionalRenderContext for ssr runtime helper installation |
6976 | Object.defineProperty(Vue, 'FunctionalRenderContext', { | 6977 | Object.defineProperty(Vue, 'FunctionalRenderContext', { |
6977 | value: FunctionalRenderContext | 6978 | value: FunctionalRenderContext |
6978 | }); | 6979 | }); |
6979 | 6980 | ||
6980 | Vue.version = '2.6.11'; | 6981 | Vue.version = '2.6.11'; |
6981 | 6982 | ||
6982 | /** | 6983 | /** |
6983 | * https://raw.githubusercontent.com/Tencent/westore/master/packages/westore/utils/diff.js | 6984 | * https://raw.githubusercontent.com/Tencent/westore/master/packages/westore/utils/diff.js |
6984 | */ | 6985 | */ |
6985 | var ARRAYTYPE = '[object Array]'; | 6986 | var ARRAYTYPE = '[object Array]'; |
6986 | var OBJECTTYPE = '[object Object]'; | 6987 | var OBJECTTYPE = '[object Object]'; |
6987 | // const FUNCTIONTYPE = '[object Function]' | 6988 | // const FUNCTIONTYPE = '[object Function]' |
6988 | 6989 | ||
6989 | function diff(current, pre) { | 6990 | function diff(current, pre) { |
6990 | var result = {}; | 6991 | var result = {}; |
6991 | syncKeys(current, pre); | 6992 | syncKeys(current, pre); |
6992 | _diff(current, pre, '', result); | 6993 | _diff(current, pre, '', result); |
6993 | return result | 6994 | return result |
6994 | } | 6995 | } |
6995 | 6996 | ||
6996 | function syncKeys(current, pre) { | 6997 | function syncKeys(current, pre) { |
6997 | if (current === pre) { return } | 6998 | if (current === pre) { return } |
6998 | var rootCurrentType = type(current); | 6999 | var rootCurrentType = type(current); |
6999 | var rootPreType = type(pre); | 7000 | var rootPreType = type(pre); |
7000 | if (rootCurrentType == OBJECTTYPE && rootPreType == OBJECTTYPE) { | 7001 | if (rootCurrentType == OBJECTTYPE && rootPreType == OBJECTTYPE) { |
7001 | if(Object.keys(current).length >= Object.keys(pre).length){ | 7002 | if(Object.keys(current).length >= Object.keys(pre).length){ |
7002 | for (var key in pre) { | 7003 | for (var key in pre) { |
7003 | var currentValue = current[key]; | 7004 | var currentValue = current[key]; |
7004 | if (currentValue === undefined) { | 7005 | if (currentValue === undefined) { |
7005 | current[key] = null; | 7006 | current[key] = null; |
7006 | } else { | 7007 | } else { |
7007 | syncKeys(currentValue, pre[key]); | 7008 | syncKeys(currentValue, pre[key]); |
7008 | } | 7009 | } |
7009 | } | 7010 | } |
7010 | } | 7011 | } |
7011 | } else if (rootCurrentType == ARRAYTYPE && rootPreType == ARRAYTYPE) { | 7012 | } else if (rootCurrentType == ARRAYTYPE && rootPreType == ARRAYTYPE) { |
7012 | if (current.length >= pre.length) { | 7013 | if (current.length >= pre.length) { |
7013 | pre.forEach(function (item, index) { | 7014 | pre.forEach(function (item, index) { |
7014 | syncKeys(current[index], item); | 7015 | syncKeys(current[index], item); |
7015 | }); | 7016 | }); |
7016 | } | 7017 | } |
7017 | } | 7018 | } |
7018 | } | 7019 | } |
7019 | 7020 | ||
7020 | function _diff(current, pre, path, result) { | 7021 | function _diff(current, pre, path, result) { |
7021 | if (current === pre) { return } | 7022 | if (current === pre) { return } |
7022 | var rootCurrentType = type(current); | 7023 | var rootCurrentType = type(current); |
7023 | var rootPreType = type(pre); | 7024 | var rootPreType = type(pre); |
7024 | if (rootCurrentType == OBJECTTYPE) { | 7025 | if (rootCurrentType == OBJECTTYPE) { |
7025 | if (rootPreType != OBJECTTYPE || Object.keys(current).length < Object.keys(pre).length) { | 7026 | if (rootPreType != OBJECTTYPE || Object.keys(current).length < Object.keys(pre).length) { |
7026 | setResult(result, path, current); | 7027 | setResult(result, path, current); |
7027 | } else { | 7028 | } else { |
7028 | var loop = function ( key ) { | 7029 | var loop = function ( key ) { |
7029 | var currentValue = current[key]; | 7030 | var currentValue = current[key]; |
7030 | var preValue = pre[key]; | 7031 | var preValue = pre[key]; |
7031 | var currentType = type(currentValue); | 7032 | var currentType = type(currentValue); |
7032 | var preType = type(preValue); | 7033 | var preType = type(preValue); |
7033 | if (currentType != ARRAYTYPE && currentType != OBJECTTYPE) { | 7034 | if (currentType != ARRAYTYPE && currentType != OBJECTTYPE) { |
7034 | if (currentValue != pre[key]) { | 7035 | if (currentValue != pre[key]) { |
7035 | setResult(result, (path == '' ? '' : path + ".") + key, currentValue); | 7036 | setResult(result, (path == '' ? '' : path + ".") + key, currentValue); |
7036 | } | 7037 | } |
7037 | } else if (currentType == ARRAYTYPE) { | 7038 | } else if (currentType == ARRAYTYPE) { |
7038 | if (preType != ARRAYTYPE) { | 7039 | if (preType != ARRAYTYPE) { |
7039 | setResult(result, (path == '' ? '' : path + ".") + key, currentValue); | 7040 | setResult(result, (path == '' ? '' : path + ".") + key, currentValue); |
7040 | } else { | 7041 | } else { |
7041 | if (currentValue.length < preValue.length) { | 7042 | if (currentValue.length < preValue.length) { |
7042 | setResult(result, (path == '' ? '' : path + ".") + key, currentValue); | 7043 | setResult(result, (path == '' ? '' : path + ".") + key, currentValue); |
7043 | } else { | 7044 | } else { |
7044 | currentValue.forEach(function (item, index) { | 7045 | currentValue.forEach(function (item, index) { |
7045 | _diff(item, preValue[index], (path == '' ? '' : path + ".") + key + '[' + index + ']', result); | 7046 | _diff(item, preValue[index], (path == '' ? '' : path + ".") + key + '[' + index + ']', result); |
7046 | }); | 7047 | }); |
7047 | } | 7048 | } |
7048 | } | 7049 | } |
7049 | } else if (currentType == OBJECTTYPE) { | 7050 | } else if (currentType == OBJECTTYPE) { |
7050 | if (preType != OBJECTTYPE || Object.keys(currentValue).length < Object.keys(preValue).length) { | 7051 | if (preType != OBJECTTYPE || Object.keys(currentValue).length < Object.keys(preValue).length) { |
7051 | setResult(result, (path == '' ? '' : path + ".") + key, currentValue); | 7052 | setResult(result, (path == '' ? '' : path + ".") + key, currentValue); |
7052 | } else { | 7053 | } else { |
7053 | for (var subKey in currentValue) { | 7054 | for (var subKey in currentValue) { |
7054 | _diff(currentValue[subKey], preValue[subKey], (path == '' ? '' : path + ".") + key + '.' + subKey, result); | 7055 | _diff(currentValue[subKey], preValue[subKey], (path == '' ? '' : path + ".") + key + '.' + subKey, result); |
7055 | } | 7056 | } |
7056 | } | 7057 | } |
7057 | } | 7058 | } |
7058 | }; | 7059 | }; |
7059 | 7060 | ||
7060 | for (var key in current) loop( key ); | 7061 | for (var key in current) loop( key ); |
7061 | } | 7062 | } |
7062 | } else if (rootCurrentType == ARRAYTYPE) { | 7063 | } else if (rootCurrentType == ARRAYTYPE) { |
7063 | if (rootPreType != ARRAYTYPE) { | 7064 | if (rootPreType != ARRAYTYPE) { |
7064 | setResult(result, path, current); | 7065 | setResult(result, path, current); |
7065 | } else { | 7066 | } else { |
7066 | if (current.length < pre.length) { | 7067 | if (current.length < pre.length) { |
7067 | setResult(result, path, current); | 7068 | setResult(result, path, current); |
7068 | } else { | 7069 | } else { |
7069 | current.forEach(function (item, index) { | 7070 | current.forEach(function (item, index) { |
7070 | _diff(item, pre[index], path + '[' + index + ']', result); | 7071 | _diff(item, pre[index], path + '[' + index + ']', result); |
7071 | }); | 7072 | }); |
7072 | } | 7073 | } |
7073 | } | 7074 | } |
7074 | } else { | 7075 | } else { |
7075 | setResult(result, path, current); | 7076 | setResult(result, path, current); |
7076 | } | 7077 | } |
7077 | } | 7078 | } |
7078 | 7079 | ||
7079 | function setResult(result, k, v) { | 7080 | function setResult(result, k, v) { |
7080 | // if (type(v) != FUNCTIONTYPE) { | 7081 | // if (type(v) != FUNCTIONTYPE) { |
7081 | result[k] = v; | 7082 | result[k] = v; |
7082 | // } | 7083 | // } |
7083 | } | 7084 | } |
7084 | 7085 | ||
7085 | function type(obj) { | 7086 | function type(obj) { |
7086 | return Object.prototype.toString.call(obj) | 7087 | return Object.prototype.toString.call(obj) |
7087 | } | 7088 | } |
7088 | 7089 | ||
7089 | /* */ | 7090 | /* */ |
7090 | 7091 | ||
7091 | function flushCallbacks$1(vm) { | 7092 | function flushCallbacks$1(vm) { |
7092 | if (vm.__next_tick_callbacks && vm.__next_tick_callbacks.length) { | 7093 | if (vm.__next_tick_callbacks && vm.__next_tick_callbacks.length) { |
7093 | if (Object({"VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG) { | 7094 | if (Object({"VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG) { |
7094 | var mpInstance = vm.$scope; | 7095 | var mpInstance = vm.$scope; |
7095 | console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid + | 7096 | console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid + |
7096 | ']:flushCallbacks[' + vm.__next_tick_callbacks.length + ']'); | 7097 | ']:flushCallbacks[' + vm.__next_tick_callbacks.length + ']'); |
7097 | } | 7098 | } |
7098 | var copies = vm.__next_tick_callbacks.slice(0); | 7099 | var copies = vm.__next_tick_callbacks.slice(0); |
7099 | vm.__next_tick_callbacks.length = 0; | 7100 | vm.__next_tick_callbacks.length = 0; |
7100 | for (var i = 0; i < copies.length; i++) { | 7101 | for (var i = 0; i < copies.length; i++) { |
7101 | copies[i](); | 7102 | copies[i](); |
7102 | } | 7103 | } |
7103 | } | 7104 | } |
7104 | } | 7105 | } |
7105 | 7106 | ||
7106 | function hasRenderWatcher(vm) { | 7107 | function hasRenderWatcher(vm) { |
7107 | return queue.find(function (watcher) { return vm._watcher === watcher; }) | 7108 | return queue.find(function (watcher) { return vm._watcher === watcher; }) |
7108 | } | 7109 | } |
7109 | 7110 | ||
7110 | function nextTick$1(vm, cb) { | 7111 | function nextTick$1(vm, cb) { |
7111 | //1.nextTick 之前 已 setData 且 setData 还未回调完成 | 7112 | //1.nextTick 之前 已 setData 且 setData 还未回调完成 |
7112 | //2.nextTick 之前存在 render watcher | 7113 | //2.nextTick 之前存在 render watcher |
7113 | if (!vm.__next_tick_pending && !hasRenderWatcher(vm)) { | 7114 | if (!vm.__next_tick_pending && !hasRenderWatcher(vm)) { |
7114 | if(Object({"VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG){ | 7115 | if(Object({"VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG){ |
7115 | var mpInstance = vm.$scope; | 7116 | var mpInstance = vm.$scope; |
7116 | console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid + | 7117 | console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid + |
7117 | ']:nextVueTick'); | 7118 | ']:nextVueTick'); |
7118 | } | 7119 | } |
7119 | return nextTick(cb, vm) | 7120 | return nextTick(cb, vm) |
7120 | }else{ | 7121 | }else{ |
7121 | if(Object({"VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG){ | 7122 | if(Object({"VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG){ |
7122 | var mpInstance$1 = vm.$scope; | 7123 | var mpInstance$1 = vm.$scope; |
7123 | console.log('[' + (+new Date) + '][' + (mpInstance$1.is || mpInstance$1.route) + '][' + vm._uid + | 7124 | console.log('[' + (+new Date) + '][' + (mpInstance$1.is || mpInstance$1.route) + '][' + vm._uid + |
7124 | ']:nextMPTick'); | 7125 | ']:nextMPTick'); |
7125 | } | 7126 | } |
7126 | } | 7127 | } |
7127 | var _resolve; | 7128 | var _resolve; |
7128 | if (!vm.__next_tick_callbacks) { | 7129 | if (!vm.__next_tick_callbacks) { |
7129 | vm.__next_tick_callbacks = []; | 7130 | vm.__next_tick_callbacks = []; |
7130 | } | 7131 | } |
7131 | vm.__next_tick_callbacks.push(function () { | 7132 | vm.__next_tick_callbacks.push(function () { |
7132 | if (cb) { | 7133 | if (cb) { |
7133 | try { | 7134 | try { |
7134 | cb.call(vm); | 7135 | cb.call(vm); |
7135 | } catch (e) { | 7136 | } catch (e) { |
7136 | handleError(e, vm, 'nextTick'); | 7137 | handleError(e, vm, 'nextTick'); |
7137 | } | 7138 | } |
7138 | } else if (_resolve) { | 7139 | } else if (_resolve) { |
7139 | _resolve(vm); | 7140 | _resolve(vm); |
7140 | } | 7141 | } |
7141 | }); | 7142 | }); |
7142 | // $flow-disable-line | 7143 | // $flow-disable-line |
7143 | if (!cb && typeof Promise !== 'undefined') { | 7144 | if (!cb && typeof Promise !== 'undefined') { |
7144 | return new Promise(function (resolve) { | 7145 | return new Promise(function (resolve) { |
7145 | _resolve = resolve; | 7146 | _resolve = resolve; |
7146 | }) | 7147 | }) |
7147 | } | 7148 | } |
7148 | } | 7149 | } |
7149 | 7150 | ||
7150 | /* */ | 7151 | /* */ |
7151 | 7152 | ||
7152 | function cloneWithData(vm) { | 7153 | function cloneWithData(vm) { |
7153 | // 确保当前 vm 所有数据被同步 | 7154 | // 确保当前 vm 所有数据被同步 |
7154 | var ret = Object.create(null); | 7155 | var ret = Object.create(null); |
7155 | var dataKeys = [].concat( | 7156 | var dataKeys = [].concat( |
7156 | Object.keys(vm._data || {}), | 7157 | Object.keys(vm._data || {}), |
7157 | Object.keys(vm._computedWatchers || {})); | 7158 | Object.keys(vm._computedWatchers || {})); |
7158 | 7159 | ||
7159 | dataKeys.reduce(function(ret, key) { | 7160 | dataKeys.reduce(function(ret, key) { |
7160 | ret[key] = vm[key]; | 7161 | ret[key] = vm[key]; |
7161 | return ret | 7162 | return ret |
7162 | }, ret); | 7163 | }, ret); |
7163 | //TODO 需要把无用数据处理掉,比如 list=>l0 则 list 需要移除,否则多传输一份数据 | 7164 | //TODO 需要把无用数据处理掉,比如 list=>l0 则 list 需要移除,否则多传输一份数据 |
7164 | Object.assign(ret, vm.$mp.data || {}); | 7165 | Object.assign(ret, vm.$mp.data || {}); |
7165 | if ( | 7166 | if ( |
7166 | Array.isArray(vm.$options.behaviors) && | 7167 | Array.isArray(vm.$options.behaviors) && |
7167 | vm.$options.behaviors.indexOf('uni://form-field') !== -1 | 7168 | vm.$options.behaviors.indexOf('uni://form-field') !== -1 |
7168 | ) { //form-field | 7169 | ) { //form-field |
7169 | ret['name'] = vm.name; | 7170 | ret['name'] = vm.name; |
7170 | ret['value'] = vm.value; | 7171 | ret['value'] = vm.value; |
7171 | } | 7172 | } |
7172 | 7173 | ||
7173 | return JSON.parse(JSON.stringify(ret)) | 7174 | return JSON.parse(JSON.stringify(ret)) |
7174 | } | 7175 | } |
7175 | 7176 | ||
7176 | var patch = function(oldVnode, vnode) { | 7177 | var patch = function(oldVnode, vnode) { |
7177 | var this$1 = this; | 7178 | var this$1 = this; |
7178 | 7179 | ||
7179 | if (vnode === null) { //destroy | 7180 | if (vnode === null) { //destroy |
7180 | return | 7181 | return |
7181 | } | 7182 | } |
7182 | if (this.mpType === 'page' || this.mpType === 'component') { | 7183 | if (this.mpType === 'page' || this.mpType === 'component') { |
7183 | var mpInstance = this.$scope; | 7184 | var mpInstance = this.$scope; |
7184 | var data = Object.create(null); | 7185 | var data = Object.create(null); |
7185 | try { | 7186 | try { |
7186 | data = cloneWithData(this); | 7187 | data = cloneWithData(this); |
7187 | } catch (err) { | 7188 | } catch (err) { |
7188 | console.error(err); | 7189 | console.error(err); |
7189 | } | 7190 | } |
7190 | data.__webviewId__ = mpInstance.data.__webviewId__; | 7191 | data.__webviewId__ = mpInstance.data.__webviewId__; |
7191 | var mpData = Object.create(null); | 7192 | var mpData = Object.create(null); |
7192 | Object.keys(data).forEach(function (key) { //仅同步 data 中有的数据 | 7193 | Object.keys(data).forEach(function (key) { //仅同步 data 中有的数据 |
7193 | mpData[key] = mpInstance.data[key]; | 7194 | mpData[key] = mpInstance.data[key]; |
7194 | }); | 7195 | }); |
7195 | var diffData = this.$shouldDiffData === false ? data : diff(data, mpData); | 7196 | var diffData = this.$shouldDiffData === false ? data : diff(data, mpData); |
7196 | if (Object.keys(diffData).length) { | 7197 | if (Object.keys(diffData).length) { |
7197 | if (Object({"VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG) { | 7198 | if (Object({"VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG) { |
7198 | console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid + | 7199 | console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid + |
7199 | ']差量更新', | 7200 | ']差量更新', |
7200 | JSON.stringify(diffData)); | 7201 | JSON.stringify(diffData)); |
7201 | } | 7202 | } |
7202 | this.__next_tick_pending = true; | 7203 | this.__next_tick_pending = true; |
7203 | mpInstance.setData(diffData, function () { | 7204 | mpInstance.setData(diffData, function () { |
7204 | this$1.__next_tick_pending = false; | 7205 | this$1.__next_tick_pending = false; |
7205 | flushCallbacks$1(this$1); | 7206 | flushCallbacks$1(this$1); |
7206 | }); | 7207 | }); |
7207 | } else { | 7208 | } else { |
7208 | flushCallbacks$1(this); | 7209 | flushCallbacks$1(this); |
7209 | } | 7210 | } |
7210 | } | 7211 | } |
7211 | }; | 7212 | }; |
7212 | 7213 | ||
7213 | /* */ | 7214 | /* */ |
7214 | 7215 | ||
7215 | function createEmptyRender() { | 7216 | function createEmptyRender() { |
7216 | 7217 | ||
7217 | } | 7218 | } |
7218 | 7219 | ||
7219 | function mountComponent$1( | 7220 | function mountComponent$1( |
7220 | vm, | 7221 | vm, |
7221 | el, | 7222 | el, |
7222 | hydrating | 7223 | hydrating |
7223 | ) { | 7224 | ) { |
7224 | if (!vm.mpType) {//main.js 中的 new Vue | 7225 | if (!vm.mpType) {//main.js 中的 new Vue |
7225 | return vm | 7226 | return vm |
7226 | } | 7227 | } |
7227 | if (vm.mpType === 'app') { | 7228 | if (vm.mpType === 'app') { |
7228 | vm.$options.render = createEmptyRender; | 7229 | vm.$options.render = createEmptyRender; |
7229 | } | 7230 | } |
7230 | if (!vm.$options.render) { | 7231 | if (!vm.$options.render) { |
7231 | vm.$options.render = createEmptyRender; | 7232 | vm.$options.render = createEmptyRender; |
7232 | if (true) { | 7233 | if (true) { |
7233 | /* istanbul ignore if */ | 7234 | /* istanbul ignore if */ |
7234 | if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') || | 7235 | if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') || |
7235 | vm.$options.el || el) { | 7236 | vm.$options.el || el) { |
7236 | warn( | 7237 | warn( |
7237 | 'You are using the runtime-only build of Vue where the template ' + | 7238 | 'You are using the runtime-only build of Vue where the template ' + |
7238 | 'compiler is not available. Either pre-compile the templates into ' + | 7239 | 'compiler is not available. Either pre-compile the templates into ' + |
7239 | 'render functions, or use the compiler-included build.', | 7240 | 'render functions, or use the compiler-included build.', |
7240 | vm | 7241 | vm |
7241 | ); | 7242 | ); |
7242 | } else { | 7243 | } else { |
7243 | warn( | 7244 | warn( |
7244 | 'Failed to mount component: template or render function not defined.', | 7245 | 'Failed to mount component: template or render function not defined.', |
7245 | vm | 7246 | vm |
7246 | ); | 7247 | ); |
7247 | } | 7248 | } |
7248 | } | 7249 | } |
7249 | } | 7250 | } |
7250 | 7251 | ||
7251 | !vm._$fallback && callHook(vm, 'beforeMount'); | 7252 | !vm._$fallback && callHook(vm, 'beforeMount'); |
7252 | 7253 | ||
7253 | var updateComponent = function () { | 7254 | var updateComponent = function () { |
7254 | vm._update(vm._render(), hydrating); | 7255 | vm._update(vm._render(), hydrating); |
7255 | }; | 7256 | }; |
7256 | 7257 | ||
7257 | // we set this to vm._watcher inside the watcher's constructor | 7258 | // we set this to vm._watcher inside the watcher's constructor |
7258 | // since the watcher's initial patch may call $forceUpdate (e.g. inside child | 7259 | // since the watcher's initial patch may call $forceUpdate (e.g. inside child |
7259 | // component's mounted hook), which relies on vm._watcher being already defined | 7260 | // component's mounted hook), which relies on vm._watcher being already defined |
7260 | new Watcher(vm, updateComponent, noop, { | 7261 | new Watcher(vm, updateComponent, noop, { |
7261 | before: function before() { | 7262 | before: function before() { |
7262 | if (vm._isMounted && !vm._isDestroyed) { | 7263 | if (vm._isMounted && !vm._isDestroyed) { |
7263 | callHook(vm, 'beforeUpdate'); | 7264 | callHook(vm, 'beforeUpdate'); |
7264 | } | 7265 | } |
7265 | } | 7266 | } |
7266 | }, true /* isRenderWatcher */); | 7267 | }, true /* isRenderWatcher */); |
7267 | hydrating = false; | 7268 | hydrating = false; |
7268 | return vm | 7269 | return vm |
7269 | } | 7270 | } |
7270 | 7271 | ||
7271 | /* */ | 7272 | /* */ |
7272 | 7273 | ||
7273 | function renderClass ( | 7274 | function renderClass ( |
7274 | staticClass, | 7275 | staticClass, |
7275 | dynamicClass | 7276 | dynamicClass |
7276 | ) { | 7277 | ) { |
7277 | if (isDef(staticClass) || isDef(dynamicClass)) { | 7278 | if (isDef(staticClass) || isDef(dynamicClass)) { |
7278 | return concat(staticClass, stringifyClass(dynamicClass)) | 7279 | return concat(staticClass, stringifyClass(dynamicClass)) |
7279 | } | 7280 | } |
7280 | /* istanbul ignore next */ | 7281 | /* istanbul ignore next */ |
7281 | return '' | 7282 | return '' |
7282 | } | 7283 | } |
7283 | 7284 | ||
7284 | function concat (a, b) { | 7285 | function concat (a, b) { |
7285 | return a ? b ? (a + ' ' + b) : a : (b || '') | 7286 | return a ? b ? (a + ' ' + b) : a : (b || '') |
7286 | } | 7287 | } |
7287 | 7288 | ||
7288 | function stringifyClass (value) { | 7289 | function stringifyClass (value) { |
7289 | if (Array.isArray(value)) { | 7290 | if (Array.isArray(value)) { |
7290 | return stringifyArray(value) | 7291 | return stringifyArray(value) |
7291 | } | 7292 | } |
7292 | if (isObject(value)) { | 7293 | if (isObject(value)) { |
7293 | return stringifyObject(value) | 7294 | return stringifyObject(value) |
7294 | } | 7295 | } |
7295 | if (typeof value === 'string') { | 7296 | if (typeof value === 'string') { |
7296 | return value | 7297 | return value |
7297 | } | 7298 | } |
7298 | /* istanbul ignore next */ | 7299 | /* istanbul ignore next */ |
7299 | return '' | 7300 | return '' |
7300 | } | 7301 | } |
7301 | 7302 | ||
7302 | function stringifyArray (value) { | 7303 | function stringifyArray (value) { |
7303 | var res = ''; | 7304 | var res = ''; |
7304 | var stringified; | 7305 | var stringified; |
7305 | for (var i = 0, l = value.length; i < l; i++) { | 7306 | for (var i = 0, l = value.length; i < l; i++) { |
7306 | if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') { | 7307 | if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') { |
7307 | if (res) { res += ' '; } | 7308 | if (res) { res += ' '; } |
7308 | res += stringified; | 7309 | res += stringified; |
7309 | } | 7310 | } |
7310 | } | 7311 | } |
7311 | return res | 7312 | return res |
7312 | } | 7313 | } |
7313 | 7314 | ||
7314 | function stringifyObject (value) { | 7315 | function stringifyObject (value) { |
7315 | var res = ''; | 7316 | var res = ''; |
7316 | for (var key in value) { | 7317 | for (var key in value) { |
7317 | if (value[key]) { | 7318 | if (value[key]) { |
7318 | if (res) { res += ' '; } | 7319 | if (res) { res += ' '; } |
7319 | res += key; | 7320 | res += key; |
7320 | } | 7321 | } |
7321 | } | 7322 | } |
7322 | return res | 7323 | return res |
7323 | } | 7324 | } |
7324 | 7325 | ||
7325 | /* */ | 7326 | /* */ |
7326 | 7327 | ||
7327 | var parseStyleText = cached(function (cssText) { | 7328 | var parseStyleText = cached(function (cssText) { |
7328 | var res = {}; | 7329 | var res = {}; |
7329 | var listDelimiter = /;(?![^(]*\))/g; | 7330 | var listDelimiter = /;(?![^(]*\))/g; |
7330 | var propertyDelimiter = /:(.+)/; | 7331 | var propertyDelimiter = /:(.+)/; |
7331 | cssText.split(listDelimiter).forEach(function (item) { | 7332 | cssText.split(listDelimiter).forEach(function (item) { |
7332 | if (item) { | 7333 | if (item) { |
7333 | var tmp = item.split(propertyDelimiter); | 7334 | var tmp = item.split(propertyDelimiter); |
7334 | tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim()); | 7335 | tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim()); |
7335 | } | 7336 | } |
7336 | }); | 7337 | }); |
7337 | return res | 7338 | return res |
7338 | }); | 7339 | }); |
7339 | 7340 | ||
7340 | // normalize possible array / string values into Object | 7341 | // normalize possible array / string values into Object |
7341 | function normalizeStyleBinding (bindingStyle) { | 7342 | function normalizeStyleBinding (bindingStyle) { |
7342 | if (Array.isArray(bindingStyle)) { | 7343 | if (Array.isArray(bindingStyle)) { |
7343 | return toObject(bindingStyle) | 7344 | return toObject(bindingStyle) |
7344 | } | 7345 | } |
7345 | if (typeof bindingStyle === 'string') { | 7346 | if (typeof bindingStyle === 'string') { |
7346 | return parseStyleText(bindingStyle) | 7347 | return parseStyleText(bindingStyle) |
7347 | } | 7348 | } |
7348 | return bindingStyle | 7349 | return bindingStyle |
7349 | } | 7350 | } |
7350 | 7351 | ||
7351 | /* */ | 7352 | /* */ |
7352 | 7353 | ||
7353 | var MP_METHODS = ['createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', 'selectComponent']; | 7354 | var MP_METHODS = ['createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', 'selectComponent']; |
7354 | 7355 | ||
7355 | function getTarget(obj, path) { | 7356 | function getTarget(obj, path) { |
7356 | var parts = path.split('.'); | 7357 | var parts = path.split('.'); |
7357 | var key = parts[0]; | 7358 | var key = parts[0]; |
7358 | if (key.indexOf('__$n') === 0) { //number index | 7359 | if (key.indexOf('__$n') === 0) { //number index |
7359 | key = parseInt(key.replace('__$n', '')); | 7360 | key = parseInt(key.replace('__$n', '')); |
7360 | } | 7361 | } |
7361 | if (parts.length === 1) { | 7362 | if (parts.length === 1) { |
7362 | return obj[key] | 7363 | return obj[key] |
7363 | } | 7364 | } |
7364 | return getTarget(obj[key], parts.slice(1).join('.')) | 7365 | return getTarget(obj[key], parts.slice(1).join('.')) |
7365 | } | 7366 | } |
7366 | 7367 | ||
7367 | function internalMixin(Vue) { | 7368 | function internalMixin(Vue) { |
7368 | 7369 | ||
7369 | Vue.config.errorHandler = function(err) { | 7370 | Vue.config.errorHandler = function(err) { |
7370 | console.error(err); | 7371 | console.error(err); |
7371 | /* eslint-disable no-undef */ | 7372 | /* eslint-disable no-undef */ |
7372 | var app = getApp(); | 7373 | var app = getApp(); |
7373 | if (app && app.onError) { | 7374 | if (app && app.onError) { |
7374 | app.onError(err); | 7375 | app.onError(err); |
7375 | } | 7376 | } |
7376 | }; | 7377 | }; |
7377 | 7378 | ||
7378 | var oldEmit = Vue.prototype.$emit; | 7379 | var oldEmit = Vue.prototype.$emit; |
7379 | 7380 | ||
7380 | Vue.prototype.$emit = function(event) { | 7381 | Vue.prototype.$emit = function(event) { |
7381 | if (this.$scope && event) { | 7382 | if (this.$scope && event) { |
7382 | this.$scope['triggerEvent'](event, { | 7383 | this.$scope['triggerEvent'](event, { |
7383 | __args__: toArray(arguments, 1) | 7384 | __args__: toArray(arguments, 1) |
7384 | }); | 7385 | }); |
7385 | } | 7386 | } |
7386 | return oldEmit.apply(this, arguments) | 7387 | return oldEmit.apply(this, arguments) |
7387 | }; | 7388 | }; |
7388 | 7389 | ||
7389 | Vue.prototype.$nextTick = function(fn) { | 7390 | Vue.prototype.$nextTick = function(fn) { |
7390 | return nextTick$1(this, fn) | 7391 | return nextTick$1(this, fn) |
7391 | }; | 7392 | }; |
7392 | 7393 | ||
7393 | MP_METHODS.forEach(function (method) { | 7394 | MP_METHODS.forEach(function (method) { |
7394 | Vue.prototype[method] = function(args) { | 7395 | Vue.prototype[method] = function(args) { |
7395 | if (this.$scope && this.$scope[method]) { | 7396 | if (this.$scope && this.$scope[method]) { |
7396 | return this.$scope[method](args) | 7397 | return this.$scope[method](args) |
7397 | } | 7398 | } |
7398 | // mp-alipay | 7399 | // mp-alipay |
7399 | if (typeof my === 'undefined') { | 7400 | if (typeof my === 'undefined') { |
7400 | return | 7401 | return |
7401 | } | 7402 | } |
7402 | if (method === 'createSelectorQuery') { | 7403 | if (method === 'createSelectorQuery') { |
7403 | /* eslint-disable no-undef */ | 7404 | /* eslint-disable no-undef */ |
7404 | return my.createSelectorQuery(args) | 7405 | return my.createSelectorQuery(args) |
7405 | } else if (method === 'createIntersectionObserver') { | 7406 | } else if (method === 'createIntersectionObserver') { |
7406 | /* eslint-disable no-undef */ | 7407 | /* eslint-disable no-undef */ |
7407 | return my.createIntersectionObserver(args) | 7408 | return my.createIntersectionObserver(args) |
7408 | } | 7409 | } |
7409 | // TODO mp-alipay 暂不支持 selectAllComponents,selectComponent | 7410 | // TODO mp-alipay 暂不支持 selectAllComponents,selectComponent |
7410 | }; | 7411 | }; |
7411 | }); | 7412 | }); |
7412 | 7413 | ||
7413 | Vue.prototype.__init_provide = initProvide; | 7414 | Vue.prototype.__init_provide = initProvide; |
7414 | 7415 | ||
7415 | Vue.prototype.__init_injections = initInjections; | 7416 | Vue.prototype.__init_injections = initInjections; |
7416 | 7417 | ||
7417 | Vue.prototype.__call_hook = function(hook, args) { | 7418 | Vue.prototype.__call_hook = function(hook, args) { |
7418 | var vm = this; | 7419 | var vm = this; |
7419 | // #7573 disable dep collection when invoking lifecycle hooks | 7420 | // #7573 disable dep collection when invoking lifecycle hooks |
7420 | pushTarget(); | 7421 | pushTarget(); |
7421 | var handlers = vm.$options[hook]; | 7422 | var handlers = vm.$options[hook]; |
7422 | var info = hook + " hook"; | 7423 | var info = hook + " hook"; |
7423 | var ret; | 7424 | var ret; |
7424 | if (handlers) { | 7425 | if (handlers) { |
7425 | for (var i = 0, j = handlers.length; i < j; i++) { | 7426 | for (var i = 0, j = handlers.length; i < j; i++) { |
7426 | ret = invokeWithErrorHandling(handlers[i], vm, args ? [args] : null, vm, info); | 7427 | ret = invokeWithErrorHandling(handlers[i], vm, args ? [args] : null, vm, info); |
7427 | } | 7428 | } |
7428 | } | 7429 | } |
7429 | if (vm._hasHookEvent) { | 7430 | if (vm._hasHookEvent) { |
7430 | vm.$emit('hook:' + hook, args); | 7431 | vm.$emit('hook:' + hook, args); |
7431 | } | 7432 | } |
7432 | popTarget(); | 7433 | popTarget(); |
7433 | return ret | 7434 | return ret |
7434 | }; | 7435 | }; |
7435 | 7436 | ||
7436 | Vue.prototype.__set_model = function(target, key, value, modifiers) { | 7437 | Vue.prototype.__set_model = function(target, key, value, modifiers) { |
7437 | if (Array.isArray(modifiers)) { | 7438 | if (Array.isArray(modifiers)) { |
7438 | if (modifiers.indexOf('trim') !== -1) { | 7439 | if (modifiers.indexOf('trim') !== -1) { |
7439 | value = value.trim(); | 7440 | value = value.trim(); |
7440 | } | 7441 | } |
7441 | if (modifiers.indexOf('number') !== -1) { | 7442 | if (modifiers.indexOf('number') !== -1) { |
7442 | value = this._n(value); | 7443 | value = this._n(value); |
7443 | } | 7444 | } |
7444 | } | 7445 | } |
7445 | if (!target) { | 7446 | if (!target) { |
7446 | target = this; | 7447 | target = this; |
7447 | } | 7448 | } |
7448 | target[key] = value; | 7449 | target[key] = value; |
7449 | }; | 7450 | }; |
7450 | 7451 | ||
7451 | Vue.prototype.__set_sync = function(target, key, value) { | 7452 | Vue.prototype.__set_sync = function(target, key, value) { |
7452 | if (!target) { | 7453 | if (!target) { |
7453 | target = this; | 7454 | target = this; |
7454 | } | 7455 | } |
7455 | target[key] = value; | 7456 | target[key] = value; |
7456 | }; | 7457 | }; |
7457 | 7458 | ||
7458 | Vue.prototype.__get_orig = function(item) { | 7459 | Vue.prototype.__get_orig = function(item) { |
7459 | if (isPlainObject(item)) { | 7460 | if (isPlainObject(item)) { |
7460 | return item['$orig'] || item | 7461 | return item['$orig'] || item |
7461 | } | 7462 | } |
7462 | return item | 7463 | return item |
7463 | }; | 7464 | }; |
7464 | 7465 | ||
7465 | Vue.prototype.__get_value = function(dataPath, target) { | 7466 | Vue.prototype.__get_value = function(dataPath, target) { |
7466 | return getTarget(target || this, dataPath) | 7467 | return getTarget(target || this, dataPath) |
7467 | }; | 7468 | }; |
7468 | 7469 | ||
7469 | 7470 | ||
7470 | Vue.prototype.__get_class = function(dynamicClass, staticClass) { | 7471 | Vue.prototype.__get_class = function(dynamicClass, staticClass) { |
7471 | return renderClass(staticClass, dynamicClass) | 7472 | return renderClass(staticClass, dynamicClass) |
7472 | }; | 7473 | }; |
7473 | 7474 | ||
7474 | Vue.prototype.__get_style = function(dynamicStyle, staticStyle) { | 7475 | Vue.prototype.__get_style = function(dynamicStyle, staticStyle) { |
7475 | if (!dynamicStyle && !staticStyle) { | 7476 | if (!dynamicStyle && !staticStyle) { |
7476 | return '' | 7477 | return '' |
7477 | } | 7478 | } |
7478 | var dynamicStyleObj = normalizeStyleBinding(dynamicStyle); | 7479 | var dynamicStyleObj = normalizeStyleBinding(dynamicStyle); |
7479 | var styleObj = staticStyle ? extend(staticStyle, dynamicStyleObj) : dynamicStyleObj; | 7480 | var styleObj = staticStyle ? extend(staticStyle, dynamicStyleObj) : dynamicStyleObj; |
7480 | return Object.keys(styleObj).map(function (name) { return ((hyphenate(name)) + ":" + (styleObj[name])); }).join(';') | 7481 | return Object.keys(styleObj).map(function (name) { return ((hyphenate(name)) + ":" + (styleObj[name])); }).join(';') |
7481 | }; | 7482 | }; |
7482 | 7483 | ||
7483 | Vue.prototype.__map = function(val, iteratee) { | 7484 | Vue.prototype.__map = function(val, iteratee) { |
7484 | //TODO 暂不考虑 string,number | 7485 | //TODO 暂不考虑 string,number |
7485 | var ret, i, l, keys, key; | 7486 | var ret, i, l, keys, key; |
7486 | if (Array.isArray(val)) { | 7487 | if (Array.isArray(val)) { |
7487 | ret = new Array(val.length); | 7488 | ret = new Array(val.length); |
7488 | for (i = 0, l = val.length; i < l; i++) { | 7489 | for (i = 0, l = val.length; i < l; i++) { |
7489 | ret[i] = iteratee(val[i], i); | 7490 | ret[i] = iteratee(val[i], i); |
7490 | } | 7491 | } |
7491 | return ret | 7492 | return ret |
7492 | } else if (isObject(val)) { | 7493 | } else if (isObject(val)) { |
7493 | keys = Object.keys(val); | 7494 | keys = Object.keys(val); |
7494 | ret = Object.create(null); | 7495 | ret = Object.create(null); |
7495 | for (i = 0, l = keys.length; i < l; i++) { | 7496 | for (i = 0, l = keys.length; i < l; i++) { |
7496 | key = keys[i]; | 7497 | key = keys[i]; |
7497 | ret[key] = iteratee(val[key], key, i); | 7498 | ret[key] = iteratee(val[key], key, i); |
7498 | } | 7499 | } |
7499 | return ret | 7500 | return ret |
7500 | } | 7501 | } |
7501 | return [] | 7502 | return [] |
7502 | }; | 7503 | }; |
7503 | 7504 | ||
7504 | } | 7505 | } |
7505 | 7506 | ||
7506 | /* */ | 7507 | /* */ |
7507 | 7508 | ||
7508 | var LIFECYCLE_HOOKS$1 = [ | 7509 | var LIFECYCLE_HOOKS$1 = [ |
7509 | //App | 7510 | //App |
7510 | 'onLaunch', | 7511 | 'onLaunch', |
7511 | 'onShow', | 7512 | 'onShow', |
7512 | 'onHide', | 7513 | 'onHide', |
7513 | 'onUniNViewMessage', | 7514 | 'onUniNViewMessage', |
7514 | 'onError', | 7515 | 'onError', |
7515 | //Page | 7516 | //Page |
7516 | 'onLoad', | 7517 | 'onLoad', |
7517 | // 'onShow', | 7518 | // 'onShow', |
7518 | 'onReady', | 7519 | 'onReady', |
7519 | // 'onHide', | 7520 | // 'onHide', |
7520 | 'onUnload', | 7521 | 'onUnload', |
7521 | 'onPullDownRefresh', | 7522 | 'onPullDownRefresh', |
7522 | 'onReachBottom', | 7523 | 'onReachBottom', |
7523 | 'onTabItemTap', | 7524 | 'onTabItemTap', |
7524 | 'onShareAppMessage', | 7525 | 'onShareAppMessage', |
7525 | 'onResize', | 7526 | 'onResize', |
7526 | 'onPageScroll', | 7527 | 'onPageScroll', |
7527 | 'onNavigationBarButtonTap', | 7528 | 'onNavigationBarButtonTap', |
7528 | 'onBackPress', | 7529 | 'onBackPress', |
7529 | 'onNavigationBarSearchInputChanged', | 7530 | 'onNavigationBarSearchInputChanged', |
7530 | 'onNavigationBarSearchInputConfirmed', | 7531 | 'onNavigationBarSearchInputConfirmed', |
7531 | 'onNavigationBarSearchInputClicked', | 7532 | 'onNavigationBarSearchInputClicked', |
7532 | //Component | 7533 | //Component |
7533 | // 'onReady', // 兼容旧版本,应该移除该事件 | 7534 | // 'onReady', // 兼容旧版本,应该移除该事件 |
7534 | 'onPageShow', | 7535 | 'onPageShow', |
7535 | 'onPageHide', | 7536 | 'onPageHide', |
7536 | 'onPageResize' | 7537 | 'onPageResize' |
7537 | ]; | 7538 | ]; |
7538 | function lifecycleMixin$1(Vue) { | 7539 | function lifecycleMixin$1(Vue) { |
7539 | 7540 | ||
7540 | //fixed vue-class-component | 7541 | //fixed vue-class-component |
7541 | var oldExtend = Vue.extend; | 7542 | var oldExtend = Vue.extend; |
7542 | Vue.extend = function(extendOptions) { | 7543 | Vue.extend = function(extendOptions) { |
7543 | extendOptions = extendOptions || {}; | 7544 | extendOptions = extendOptions || {}; |
7544 | 7545 | ||
7545 | var methods = extendOptions.methods; | 7546 | var methods = extendOptions.methods; |
7546 | if (methods) { | 7547 | if (methods) { |
7547 | Object.keys(methods).forEach(function (methodName) { | 7548 | Object.keys(methods).forEach(function (methodName) { |
7548 | if (LIFECYCLE_HOOKS$1.indexOf(methodName)!==-1) { | 7549 | if (LIFECYCLE_HOOKS$1.indexOf(methodName)!==-1) { |
7549 | extendOptions[methodName] = methods[methodName]; | 7550 | extendOptions[methodName] = methods[methodName]; |
7550 | delete methods[methodName]; | 7551 | delete methods[methodName]; |
7551 | } | 7552 | } |
7552 | }); | 7553 | }); |
7553 | } | 7554 | } |
7554 | 7555 | ||
7555 | return oldExtend.call(this, extendOptions) | 7556 | return oldExtend.call(this, extendOptions) |
7556 | }; | 7557 | }; |
7557 | 7558 | ||
7558 | var strategies = Vue.config.optionMergeStrategies; | 7559 | var strategies = Vue.config.optionMergeStrategies; |
7559 | var mergeHook = strategies.created; | 7560 | var mergeHook = strategies.created; |
7560 | LIFECYCLE_HOOKS$1.forEach(function (hook) { | 7561 | LIFECYCLE_HOOKS$1.forEach(function (hook) { |
7561 | strategies[hook] = mergeHook; | 7562 | strategies[hook] = mergeHook; |
7562 | }); | 7563 | }); |
7563 | 7564 | ||
7564 | Vue.prototype.__lifecycle_hooks__ = LIFECYCLE_HOOKS$1; | 7565 | Vue.prototype.__lifecycle_hooks__ = LIFECYCLE_HOOKS$1; |
7565 | } | 7566 | } |
7566 | 7567 | ||
7567 | /* */ | 7568 | /* */ |
7568 | 7569 | ||
7569 | // install platform patch function | 7570 | // install platform patch function |
7570 | Vue.prototype.__patch__ = patch; | 7571 | Vue.prototype.__patch__ = patch; |
7571 | 7572 | ||
7572 | // public mount method | 7573 | // public mount method |
7573 | Vue.prototype.$mount = function( | 7574 | Vue.prototype.$mount = function( |
7574 | el , | 7575 | el , |
7575 | hydrating | 7576 | hydrating |
7576 | ) { | 7577 | ) { |
7577 | return mountComponent$1(this, el, hydrating) | 7578 | return mountComponent$1(this, el, hydrating) |
7578 | }; | 7579 | }; |
7579 | 7580 | ||
7580 | lifecycleMixin$1(Vue); | 7581 | lifecycleMixin$1(Vue); |
7581 | internalMixin(Vue); | 7582 | internalMixin(Vue); |
7582 | 7583 | ||
7583 | /* */ | 7584 | /* */ |
7584 | 7585 | ||
7585 | /* harmony default export */ __webpack_exports__["default"] = (Vue); | 7586 | /* harmony default export */ __webpack_exports__["default"] = (Vue); |
7586 | 7587 | ||
7587 | /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../webpack/buildin/global.js */ 3))) | 7588 | /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../webpack/buildin/global.js */ 3))) |
7588 | 7589 | ||
7589 | /***/ }), | 7590 | /***/ }), |
7590 | /* 3 */ | 7591 | /* 3 */ |
7591 | /*!***********************************!*\ | 7592 | /*!***********************************!*\ |
7592 | !*** (webpack)/buildin/global.js ***! | 7593 | !*** (webpack)/buildin/global.js ***! |
7593 | \***********************************/ | 7594 | \***********************************/ |
7594 | /*! no static exports found */ | 7595 | /*! no static exports found */ |
7595 | /***/ (function(module, exports) { | 7596 | /***/ (function(module, exports) { |
7596 | 7597 | ||
7597 | var g; | 7598 | var g; |
7598 | 7599 | ||
7599 | // This works in non-strict mode | 7600 | // This works in non-strict mode |
7600 | g = (function() { | 7601 | g = (function() { |
7601 | return this; | 7602 | return this; |
7602 | })(); | 7603 | })(); |
7603 | 7604 | ||
7604 | try { | 7605 | try { |
7605 | // This works if eval is allowed (see CSP) | 7606 | // This works if eval is allowed (see CSP) |
7606 | g = g || new Function("return this")(); | 7607 | g = g || new Function("return this")(); |
7607 | } catch (e) { | 7608 | } catch (e) { |
7608 | // This works if the window reference is available | 7609 | // This works if the window reference is available |
7609 | if (typeof window === "object") g = window; | 7610 | if (typeof window === "object") g = window; |
7610 | } | 7611 | } |
7611 | 7612 | ||
7612 | // g can still be undefined, but nothing to do about it... | 7613 | // g can still be undefined, but nothing to do about it... |
7613 | // We return undefined, instead of nothing here, so it's | 7614 | // We return undefined, instead of nothing here, so it's |
7614 | // easier to handle this case. if(!global) { ...} | 7615 | // easier to handle this case. if(!global) { ...} |
7615 | 7616 | ||
7616 | module.exports = g; | 7617 | module.exports = g; |
7617 | 7618 | ||
7618 | 7619 | ||
7619 | /***/ }), | 7620 | /***/ }), |
7620 | /* 4 */ | 7621 | /* 4 */ |
7621 | /*!**********************************************************!*\ | 7622 | /*!**********************************************************!*\ |
7622 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages.json ***! | 7623 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages.json ***! |
7623 | \**********************************************************/ | 7624 | \**********************************************************/ |
7624 | /*! no static exports found */ | 7625 | /*! no static exports found */ |
7625 | /***/ (function(module, exports) { | 7626 | /***/ (function(module, exports) { |
7626 | 7627 | ||
7627 | 7628 | ||
7628 | 7629 | ||
7629 | /***/ }), | 7630 | /***/ }), |
7630 | /* 5 */ | 7631 | /* 5 */ |
7631 | /*!*******************************************************!*\ | 7632 | /*!*******************************************************!*\ |
7632 | !*** ./node_modules/@dcloudio/uni-stat/dist/index.js ***! | 7633 | !*** ./node_modules/@dcloudio/uni-stat/dist/index.js ***! |
7633 | \*******************************************************/ | 7634 | \*******************************************************/ |
7634 | /*! no static exports found */ | 7635 | /*! no static exports found */ |
7635 | /***/ (function(module, exports, __webpack_require__) { | 7636 | /***/ (function(module, exports, __webpack_require__) { |
7636 | 7637 | ||
7637 | "use strict"; | 7638 | "use strict"; |
7638 | /* WEBPACK VAR INJECTION */(function(uni) {var _package = __webpack_require__(/*! ../package.json */ 6);function _createSuper(Derived) {return function () {var Super = _getPrototypeOf(Derived),result;if (_isNativeReflectConstruct()) {var NewTarget = _getPrototypeOf(this).constructor;result = Reflect.construct(Super, arguments, NewTarget);} else {result = Super.apply(this, arguments);}return _possibleConstructorReturn(this, result);};}function _possibleConstructorReturn(self, call) {if (call && (typeof call === "object" || typeof call === "function")) {return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self) {if (self === void 0) {throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _isNativeReflectConstruct() {if (typeof Reflect === "undefined" || !Reflect.construct) return false;if (Reflect.construct.sham) return false;if (typeof Proxy === "function") return true;try {Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));return true;} catch (e) {return false;}}function _getPrototypeOf(o) {_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {return o.__proto__ || Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass, superClass) {if (typeof superClass !== "function" && superClass !== null) {throw new TypeError("Super expression must either be null or a function");}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } });if (superClass) _setPrototypeOf(subClass, superClass);}function _setPrototypeOf(o, p) {_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {o.__proto__ = p;return o;};return _setPrototypeOf(o, p);}function _classCallCheck(instance, Constructor) {if (!(instance instanceof Constructor)) {throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target, props) {for (var i = 0; i < props.length; i++) {var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);}}function _createClass(Constructor, protoProps, staticProps) {if (protoProps) _defineProperties(Constructor.prototype, protoProps);if (staticProps) _defineProperties(Constructor, staticProps);return Constructor;} | 7639 | /* WEBPACK VAR INJECTION */(function(uni) {var _package = __webpack_require__(/*! ../package.json */ 6);function _createSuper(Derived) {return function () {var Super = _getPrototypeOf(Derived),result;if (_isNativeReflectConstruct()) {var NewTarget = _getPrototypeOf(this).constructor;result = Reflect.construct(Super, arguments, NewTarget);} else {result = Super.apply(this, arguments);}return _possibleConstructorReturn(this, result);};}function _possibleConstructorReturn(self, call) {if (call && (typeof call === "object" || typeof call === "function")) {return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self) {if (self === void 0) {throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _isNativeReflectConstruct() {if (typeof Reflect === "undefined" || !Reflect.construct) return false;if (Reflect.construct.sham) return false;if (typeof Proxy === "function") return true;try {Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));return true;} catch (e) {return false;}}function _getPrototypeOf(o) {_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {return o.__proto__ || Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass, superClass) {if (typeof superClass !== "function" && superClass !== null) {throw new TypeError("Super expression must either be null or a function");}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } });if (superClass) _setPrototypeOf(subClass, superClass);}function _setPrototypeOf(o, p) {_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {o.__proto__ = p;return o;};return _setPrototypeOf(o, p);}function _classCallCheck(instance, Constructor) {if (!(instance instanceof Constructor)) {throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target, props) {for (var i = 0; i < props.length; i++) {var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);}}function _createClass(Constructor, protoProps, staticProps) {if (protoProps) _defineProperties(Constructor.prototype, protoProps);if (staticProps) _defineProperties(Constructor, staticProps);return Constructor;} |
7639 | 7640 | ||
7640 | var STAT_VERSION = _package.version; | 7641 | var STAT_VERSION = _package.version; |
7641 | var STAT_URL = 'https://tongji.dcloud.io/uni/stat'; | 7642 | var STAT_URL = 'https://tongji.dcloud.io/uni/stat'; |
7642 | var STAT_H5_URL = 'https://tongji.dcloud.io/uni/stat.gif'; | 7643 | var STAT_H5_URL = 'https://tongji.dcloud.io/uni/stat.gif'; |
7643 | var PAGE_PVER_TIME = 1800; | 7644 | var PAGE_PVER_TIME = 1800; |
7644 | var APP_PVER_TIME = 300; | 7645 | var APP_PVER_TIME = 300; |
7645 | var OPERATING_TIME = 10; | 7646 | var OPERATING_TIME = 10; |
7646 | 7647 | ||
7647 | var UUID_KEY = '__DC_STAT_UUID'; | 7648 | var UUID_KEY = '__DC_STAT_UUID'; |
7648 | var UUID_VALUE = '__DC_UUID_VALUE'; | 7649 | var UUID_VALUE = '__DC_UUID_VALUE'; |
7649 | 7650 | ||
7650 | function getUuid() { | 7651 | function getUuid() { |
7651 | var uuid = ''; | 7652 | var uuid = ''; |
7652 | if (getPlatformName() === 'n') { | 7653 | if (getPlatformName() === 'n') { |
7653 | try { | 7654 | try { |
7654 | uuid = plus.runtime.getDCloudId(); | 7655 | uuid = plus.runtime.getDCloudId(); |
7655 | } catch (e) { | 7656 | } catch (e) { |
7656 | uuid = ''; | 7657 | uuid = ''; |
7657 | } | 7658 | } |
7658 | return uuid; | 7659 | return uuid; |
7659 | } | 7660 | } |
7660 | 7661 | ||
7661 | try { | 7662 | try { |
7662 | uuid = uni.getStorageSync(UUID_KEY); | 7663 | uuid = uni.getStorageSync(UUID_KEY); |
7663 | } catch (e) { | 7664 | } catch (e) { |
7664 | uuid = UUID_VALUE; | 7665 | uuid = UUID_VALUE; |
7665 | } | 7666 | } |
7666 | 7667 | ||
7667 | if (!uuid) { | 7668 | if (!uuid) { |
7668 | uuid = Date.now() + '' + Math.floor(Math.random() * 1e7); | 7669 | uuid = Date.now() + '' + Math.floor(Math.random() * 1e7); |
7669 | try { | 7670 | try { |
7670 | uni.setStorageSync(UUID_KEY, uuid); | 7671 | uni.setStorageSync(UUID_KEY, uuid); |
7671 | } catch (e) { | 7672 | } catch (e) { |
7672 | uni.setStorageSync(UUID_KEY, UUID_VALUE); | 7673 | uni.setStorageSync(UUID_KEY, UUID_VALUE); |
7673 | } | 7674 | } |
7674 | } | 7675 | } |
7675 | return uuid; | 7676 | return uuid; |
7676 | } | 7677 | } |
7677 | 7678 | ||
7678 | var getSgin = function getSgin(statData) { | 7679 | var getSgin = function getSgin(statData) { |
7679 | var arr = Object.keys(statData); | 7680 | var arr = Object.keys(statData); |
7680 | var sortArr = arr.sort(); | 7681 | var sortArr = arr.sort(); |
7681 | var sgin = {}; | 7682 | var sgin = {}; |
7682 | var sginStr = ''; | 7683 | var sginStr = ''; |
7683 | for (var i in sortArr) { | 7684 | for (var i in sortArr) { |
7684 | sgin[sortArr[i]] = statData[sortArr[i]]; | 7685 | sgin[sortArr[i]] = statData[sortArr[i]]; |
7685 | sginStr += sortArr[i] + '=' + statData[sortArr[i]] + '&'; | 7686 | sginStr += sortArr[i] + '=' + statData[sortArr[i]] + '&'; |
7686 | } | 7687 | } |
7687 | // const options = sginStr.substr(0, sginStr.length - 1) | 7688 | // const options = sginStr.substr(0, sginStr.length - 1) |
7688 | // sginStr = sginStr.substr(0, sginStr.length - 1) + '&key=' + STAT_KEY; | 7689 | // sginStr = sginStr.substr(0, sginStr.length - 1) + '&key=' + STAT_KEY; |
7689 | // const si = crypto.createHash('md5').update(sginStr).digest('hex'); | 7690 | // const si = crypto.createHash('md5').update(sginStr).digest('hex'); |
7690 | return { | 7691 | return { |
7691 | sign: '', | 7692 | sign: '', |
7692 | options: sginStr.substr(0, sginStr.length - 1) }; | 7693 | options: sginStr.substr(0, sginStr.length - 1) }; |
7693 | 7694 | ||
7694 | }; | 7695 | }; |
7695 | 7696 | ||
7696 | var getSplicing = function getSplicing(data) { | 7697 | var getSplicing = function getSplicing(data) { |
7697 | var str = ''; | 7698 | var str = ''; |
7698 | for (var i in data) { | 7699 | for (var i in data) { |
7699 | str += i + '=' + data[i] + '&'; | 7700 | str += i + '=' + data[i] + '&'; |
7700 | } | 7701 | } |
7701 | return str.substr(0, str.length - 1); | 7702 | return str.substr(0, str.length - 1); |
7702 | }; | 7703 | }; |
7703 | 7704 | ||
7704 | var getTime = function getTime() { | 7705 | var getTime = function getTime() { |
7705 | return parseInt(new Date().getTime() / 1000); | 7706 | return parseInt(new Date().getTime() / 1000); |
7706 | }; | 7707 | }; |
7707 | 7708 | ||
7708 | var getPlatformName = function getPlatformName() { | 7709 | var getPlatformName = function getPlatformName() { |
7709 | var platformList = { | 7710 | var platformList = { |
7710 | 'app-plus': 'n', | 7711 | 'app-plus': 'n', |
7711 | 'h5': 'h5', | 7712 | 'h5': 'h5', |
7712 | 'mp-weixin': 'wx', | 7713 | 'mp-weixin': 'wx', |
7713 | 'mp-alipay': 'ali', | 7714 | 'mp-alipay': 'ali', |
7714 | 'mp-baidu': 'bd', | 7715 | 'mp-baidu': 'bd', |
7715 | 'mp-toutiao': 'tt', | 7716 | 'mp-toutiao': 'tt', |
7716 | 'mp-qq': 'qq' }; | 7717 | 'mp-qq': 'qq' }; |
7717 | 7718 | ||
7718 | return platformList["mp-weixin"]; | 7719 | return platformList["mp-weixin"]; |
7719 | }; | 7720 | }; |
7720 | 7721 | ||
7721 | var getPackName = function getPackName() { | 7722 | var getPackName = function getPackName() { |
7722 | var packName = ''; | 7723 | var packName = ''; |
7723 | if (getPlatformName() === 'wx' || getPlatformName() === 'qq') { | 7724 | if (getPlatformName() === 'wx' || getPlatformName() === 'qq') { |
7724 | // 兼容微信小程序低版本基础库 | 7725 | // 兼容微信小程序低版本基础库 |
7725 | if (uni.canIUse('getAccountInfoSync')) { | 7726 | if (uni.canIUse('getAccountInfoSync')) { |
7726 | packName = uni.getAccountInfoSync().miniProgram.appId || ''; | 7727 | packName = uni.getAccountInfoSync().miniProgram.appId || ''; |
7727 | } | 7728 | } |
7728 | } | 7729 | } |
7729 | return packName; | 7730 | return packName; |
7730 | }; | 7731 | }; |
7731 | 7732 | ||
7732 | var getVersion = function getVersion() { | 7733 | var getVersion = function getVersion() { |
7733 | return getPlatformName() === 'n' ? plus.runtime.version : ''; | 7734 | return getPlatformName() === 'n' ? plus.runtime.version : ''; |
7734 | }; | 7735 | }; |
7735 | 7736 | ||
7736 | var getChannel = function getChannel() { | 7737 | var getChannel = function getChannel() { |
7737 | var platformName = getPlatformName(); | 7738 | var platformName = getPlatformName(); |
7738 | var channel = ''; | 7739 | var channel = ''; |
7739 | if (platformName === 'n') { | 7740 | if (platformName === 'n') { |
7740 | channel = plus.runtime.channel; | 7741 | channel = plus.runtime.channel; |
7741 | } | 7742 | } |
7742 | return channel; | 7743 | return channel; |
7743 | }; | 7744 | }; |
7744 | 7745 | ||
7745 | var getScene = function getScene(options) { | 7746 | var getScene = function getScene(options) { |
7746 | var platformName = getPlatformName(); | 7747 | var platformName = getPlatformName(); |
7747 | var scene = ''; | 7748 | var scene = ''; |
7748 | if (options) { | 7749 | if (options) { |
7749 | return options; | 7750 | return options; |
7750 | } | 7751 | } |
7751 | if (platformName === 'wx') { | 7752 | if (platformName === 'wx') { |
7752 | scene = uni.getLaunchOptionsSync().scene; | 7753 | scene = uni.getLaunchOptionsSync().scene; |
7753 | } | 7754 | } |
7754 | return scene; | 7755 | return scene; |
7755 | }; | 7756 | }; |
7756 | var First__Visit__Time__KEY = 'First__Visit__Time'; | 7757 | var First__Visit__Time__KEY = 'First__Visit__Time'; |
7757 | var Last__Visit__Time__KEY = 'Last__Visit__Time'; | 7758 | var Last__Visit__Time__KEY = 'Last__Visit__Time'; |
7758 | 7759 | ||
7759 | var getFirstVisitTime = function getFirstVisitTime() { | 7760 | var getFirstVisitTime = function getFirstVisitTime() { |
7760 | var timeStorge = uni.getStorageSync(First__Visit__Time__KEY); | 7761 | var timeStorge = uni.getStorageSync(First__Visit__Time__KEY); |
7761 | var time = 0; | 7762 | var time = 0; |
7762 | if (timeStorge) { | 7763 | if (timeStorge) { |
7763 | time = timeStorge; | 7764 | time = timeStorge; |
7764 | } else { | 7765 | } else { |
7765 | time = getTime(); | 7766 | time = getTime(); |
7766 | uni.setStorageSync(First__Visit__Time__KEY, time); | 7767 | uni.setStorageSync(First__Visit__Time__KEY, time); |
7767 | uni.removeStorageSync(Last__Visit__Time__KEY); | 7768 | uni.removeStorageSync(Last__Visit__Time__KEY); |
7768 | } | 7769 | } |
7769 | return time; | 7770 | return time; |
7770 | }; | 7771 | }; |
7771 | 7772 | ||
7772 | var getLastVisitTime = function getLastVisitTime() { | 7773 | var getLastVisitTime = function getLastVisitTime() { |
7773 | var timeStorge = uni.getStorageSync(Last__Visit__Time__KEY); | 7774 | var timeStorge = uni.getStorageSync(Last__Visit__Time__KEY); |
7774 | var time = 0; | 7775 | var time = 0; |
7775 | if (timeStorge) { | 7776 | if (timeStorge) { |
7776 | time = timeStorge; | 7777 | time = timeStorge; |
7777 | } else { | 7778 | } else { |
7778 | time = ''; | 7779 | time = ''; |
7779 | } | 7780 | } |
7780 | uni.setStorageSync(Last__Visit__Time__KEY, getTime()); | 7781 | uni.setStorageSync(Last__Visit__Time__KEY, getTime()); |
7781 | return time; | 7782 | return time; |
7782 | }; | 7783 | }; |
7783 | 7784 | ||
7784 | 7785 | ||
7785 | var PAGE_RESIDENCE_TIME = '__page__residence__time'; | 7786 | var PAGE_RESIDENCE_TIME = '__page__residence__time'; |
7786 | var First_Page_residence_time = 0; | 7787 | var First_Page_residence_time = 0; |
7787 | var Last_Page_residence_time = 0; | 7788 | var Last_Page_residence_time = 0; |
7788 | 7789 | ||
7789 | 7790 | ||
7790 | var setPageResidenceTime = function setPageResidenceTime() { | 7791 | var setPageResidenceTime = function setPageResidenceTime() { |
7791 | First_Page_residence_time = getTime(); | 7792 | First_Page_residence_time = getTime(); |
7792 | if (getPlatformName() === 'n') { | 7793 | if (getPlatformName() === 'n') { |
7793 | uni.setStorageSync(PAGE_RESIDENCE_TIME, getTime()); | 7794 | uni.setStorageSync(PAGE_RESIDENCE_TIME, getTime()); |
7794 | } | 7795 | } |
7795 | return First_Page_residence_time; | 7796 | return First_Page_residence_time; |
7796 | }; | 7797 | }; |
7797 | 7798 | ||
7798 | var getPageResidenceTime = function getPageResidenceTime() { | 7799 | var getPageResidenceTime = function getPageResidenceTime() { |
7799 | Last_Page_residence_time = getTime(); | 7800 | Last_Page_residence_time = getTime(); |
7800 | if (getPlatformName() === 'n') { | 7801 | if (getPlatformName() === 'n') { |
7801 | First_Page_residence_time = uni.getStorageSync(PAGE_RESIDENCE_TIME); | 7802 | First_Page_residence_time = uni.getStorageSync(PAGE_RESIDENCE_TIME); |
7802 | } | 7803 | } |
7803 | return Last_Page_residence_time - First_Page_residence_time; | 7804 | return Last_Page_residence_time - First_Page_residence_time; |
7804 | }; | 7805 | }; |
7805 | var TOTAL__VISIT__COUNT = 'Total__Visit__Count'; | 7806 | var TOTAL__VISIT__COUNT = 'Total__Visit__Count'; |
7806 | var getTotalVisitCount = function getTotalVisitCount() { | 7807 | var getTotalVisitCount = function getTotalVisitCount() { |
7807 | var timeStorge = uni.getStorageSync(TOTAL__VISIT__COUNT); | 7808 | var timeStorge = uni.getStorageSync(TOTAL__VISIT__COUNT); |
7808 | var count = 1; | 7809 | var count = 1; |
7809 | if (timeStorge) { | 7810 | if (timeStorge) { |
7810 | count = timeStorge; | 7811 | count = timeStorge; |
7811 | count++; | 7812 | count++; |
7812 | } | 7813 | } |
7813 | uni.setStorageSync(TOTAL__VISIT__COUNT, count); | 7814 | uni.setStorageSync(TOTAL__VISIT__COUNT, count); |
7814 | return count; | 7815 | return count; |
7815 | }; | 7816 | }; |
7816 | 7817 | ||
7817 | var GetEncodeURIComponentOptions = function GetEncodeURIComponentOptions(statData) { | 7818 | var GetEncodeURIComponentOptions = function GetEncodeURIComponentOptions(statData) { |
7818 | var data = {}; | 7819 | var data = {}; |
7819 | for (var prop in statData) { | 7820 | for (var prop in statData) { |
7820 | data[prop] = encodeURIComponent(statData[prop]); | 7821 | data[prop] = encodeURIComponent(statData[prop]); |
7821 | } | 7822 | } |
7822 | return data; | 7823 | return data; |
7823 | }; | 7824 | }; |
7824 | 7825 | ||
7825 | var Set__First__Time = 0; | 7826 | var Set__First__Time = 0; |
7826 | var Set__Last__Time = 0; | 7827 | var Set__Last__Time = 0; |
7827 | 7828 | ||
7828 | var getFirstTime = function getFirstTime() { | 7829 | var getFirstTime = function getFirstTime() { |
7829 | var time = new Date().getTime(); | 7830 | var time = new Date().getTime(); |
7830 | Set__First__Time = time; | 7831 | Set__First__Time = time; |
7831 | Set__Last__Time = 0; | 7832 | Set__Last__Time = 0; |
7832 | return time; | 7833 | return time; |
7833 | }; | 7834 | }; |
7834 | 7835 | ||
7835 | 7836 | ||
7836 | var getLastTime = function getLastTime() { | 7837 | var getLastTime = function getLastTime() { |
7837 | var time = new Date().getTime(); | 7838 | var time = new Date().getTime(); |
7838 | Set__Last__Time = time; | 7839 | Set__Last__Time = time; |
7839 | return time; | 7840 | return time; |
7840 | }; | 7841 | }; |
7841 | 7842 | ||
7842 | 7843 | ||
7843 | var getResidenceTime = function getResidenceTime(type) { | 7844 | var getResidenceTime = function getResidenceTime(type) { |
7844 | var residenceTime = 0; | 7845 | var residenceTime = 0; |
7845 | if (Set__First__Time !== 0) { | 7846 | if (Set__First__Time !== 0) { |
7846 | residenceTime = Set__Last__Time - Set__First__Time; | 7847 | residenceTime = Set__Last__Time - Set__First__Time; |
7847 | } | 7848 | } |
7848 | 7849 | ||
7849 | residenceTime = parseInt(residenceTime / 1000); | 7850 | residenceTime = parseInt(residenceTime / 1000); |
7850 | residenceTime = residenceTime < 1 ? 1 : residenceTime; | 7851 | residenceTime = residenceTime < 1 ? 1 : residenceTime; |
7851 | if (type === 'app') { | 7852 | if (type === 'app') { |
7852 | var overtime = residenceTime > APP_PVER_TIME ? true : false; | 7853 | var overtime = residenceTime > APP_PVER_TIME ? true : false; |
7853 | return { | 7854 | return { |
7854 | residenceTime: residenceTime, | 7855 | residenceTime: residenceTime, |
7855 | overtime: overtime }; | 7856 | overtime: overtime }; |
7856 | 7857 | ||
7857 | } | 7858 | } |
7858 | if (type === 'page') { | 7859 | if (type === 'page') { |
7859 | var _overtime = residenceTime > PAGE_PVER_TIME ? true : false; | 7860 | var _overtime = residenceTime > PAGE_PVER_TIME ? true : false; |
7860 | return { | 7861 | return { |
7861 | residenceTime: residenceTime, | 7862 | residenceTime: residenceTime, |
7862 | overtime: _overtime }; | 7863 | overtime: _overtime }; |
7863 | 7864 | ||
7864 | } | 7865 | } |
7865 | 7866 | ||
7866 | return { | 7867 | return { |
7867 | residenceTime: residenceTime }; | 7868 | residenceTime: residenceTime }; |
7868 | 7869 | ||
7869 | 7870 | ||
7870 | }; | 7871 | }; |
7871 | 7872 | ||
7872 | var getRoute = function getRoute() { | 7873 | var getRoute = function getRoute() { |
7873 | var pages = getCurrentPages(); | 7874 | var pages = getCurrentPages(); |
7874 | var page = pages[pages.length - 1]; | 7875 | var page = pages[pages.length - 1]; |
7875 | var _self = page.$vm; | 7876 | var _self = page.$vm; |
7876 | 7877 | ||
7877 | if (getPlatformName() === 'bd') { | 7878 | if (getPlatformName() === 'bd') { |
7878 | return _self.$mp && _self.$mp.page.is; | 7879 | return _self.$mp && _self.$mp.page.is; |
7879 | } else { | 7880 | } else { |
7880 | return _self.$scope && _self.$scope.route || _self.$mp && _self.$mp.page.route; | 7881 | return _self.$scope && _self.$scope.route || _self.$mp && _self.$mp.page.route; |
7881 | } | 7882 | } |
7882 | }; | 7883 | }; |
7883 | 7884 | ||
7884 | var getPageRoute = function getPageRoute(self) { | 7885 | var getPageRoute = function getPageRoute(self) { |
7885 | var pages = getCurrentPages(); | 7886 | var pages = getCurrentPages(); |
7886 | var page = pages[pages.length - 1]; | 7887 | var page = pages[pages.length - 1]; |
7887 | var _self = page.$vm; | 7888 | var _self = page.$vm; |
7888 | var query = self._query; | 7889 | var query = self._query; |
7889 | var str = query && JSON.stringify(query) !== '{}' ? '?' + JSON.stringify(query) : ''; | 7890 | var str = query && JSON.stringify(query) !== '{}' ? '?' + JSON.stringify(query) : ''; |
7890 | // clear | 7891 | // clear |
7891 | self._query = ''; | 7892 | self._query = ''; |
7892 | if (getPlatformName() === 'bd') { | 7893 | if (getPlatformName() === 'bd') { |
7893 | return _self.$mp && _self.$mp.page.is + str; | 7894 | return _self.$mp && _self.$mp.page.is + str; |
7894 | } else { | 7895 | } else { |
7895 | return _self.$scope && _self.$scope.route + str || _self.$mp && _self.$mp.page.route + str; | 7896 | return _self.$scope && _self.$scope.route + str || _self.$mp && _self.$mp.page.route + str; |
7896 | } | 7897 | } |
7897 | }; | 7898 | }; |
7898 | 7899 | ||
7899 | var getPageTypes = function getPageTypes(self) { | 7900 | var getPageTypes = function getPageTypes(self) { |
7900 | if (self.mpType === 'page' || self.$mp && self.$mp.mpType === 'page' || self.$options.mpType === 'page') { | 7901 | if (self.mpType === 'page' || self.$mp && self.$mp.mpType === 'page' || self.$options.mpType === 'page') { |
7901 | return true; | 7902 | return true; |
7902 | } | 7903 | } |
7903 | return false; | 7904 | return false; |
7904 | }; | 7905 | }; |
7905 | 7906 | ||
7906 | var calibration = function calibration(eventName, options) { | 7907 | var calibration = function calibration(eventName, options) { |
7907 | // login 、 share 、pay_success 、pay_fail 、register 、title | 7908 | // login 、 share 、pay_success 、pay_fail 、register 、title |
7908 | if (!eventName) { | 7909 | if (!eventName) { |
7909 | console.error("uni.report \u7F3A\u5C11 [eventName] \u53C2\u6570"); | 7910 | console.error("uni.report \u7F3A\u5C11 [eventName] \u53C2\u6570"); |
7910 | return true; | 7911 | return true; |
7911 | } | 7912 | } |
7912 | if (typeof eventName !== 'string') { | 7913 | if (typeof eventName !== 'string') { |
7913 | console.error("uni.report [eventName] \u53C2\u6570\u7C7B\u578B\u9519\u8BEF,\u53EA\u80FD\u4E3A String \u7C7B\u578B"); | 7914 | console.error("uni.report [eventName] \u53C2\u6570\u7C7B\u578B\u9519\u8BEF,\u53EA\u80FD\u4E3A String \u7C7B\u578B"); |
7914 | return true; | 7915 | return true; |
7915 | } | 7916 | } |
7916 | if (eventName.length > 255) { | 7917 | if (eventName.length > 255) { |
7917 | console.error("uni.report [eventName] \u53C2\u6570\u957F\u5EA6\u4E0D\u80FD\u5927\u4E8E 255"); | 7918 | console.error("uni.report [eventName] \u53C2\u6570\u957F\u5EA6\u4E0D\u80FD\u5927\u4E8E 255"); |
7918 | return true; | 7919 | return true; |
7919 | } | 7920 | } |
7920 | 7921 | ||
7921 | if (typeof options !== 'string' && typeof options !== 'object') { | 7922 | if (typeof options !== 'string' && typeof options !== 'object') { |
7922 | console.error("uni.report [options] \u53C2\u6570\u7C7B\u578B\u9519\u8BEF,\u53EA\u80FD\u4E3A String \u6216 Object \u7C7B\u578B"); | 7923 | console.error("uni.report [options] \u53C2\u6570\u7C7B\u578B\u9519\u8BEF,\u53EA\u80FD\u4E3A String \u6216 Object \u7C7B\u578B"); |
7923 | return true; | 7924 | return true; |
7924 | } | 7925 | } |
7925 | 7926 | ||
7926 | if (typeof options === 'string' && options.length > 255) { | 7927 | if (typeof options === 'string' && options.length > 255) { |
7927 | console.error("uni.report [options] \u53C2\u6570\u957F\u5EA6\u4E0D\u80FD\u5927\u4E8E 255"); | 7928 | console.error("uni.report [options] \u53C2\u6570\u957F\u5EA6\u4E0D\u80FD\u5927\u4E8E 255"); |
7928 | return true; | 7929 | return true; |
7929 | } | 7930 | } |
7930 | 7931 | ||
7931 | if (eventName === 'title' && typeof options !== 'string') { | 7932 | if (eventName === 'title' && typeof options !== 'string') { |
7932 | console.error('uni.report [eventName] 参数为 title 时,[options] 参数只能为 String 类型'); | 7933 | console.error('uni.report [eventName] 参数为 title 时,[options] 参数只能为 String 类型'); |
7933 | return true; | 7934 | return true; |
7934 | } | 7935 | } |
7935 | }; | 7936 | }; |
7936 | 7937 | ||
7937 | var PagesJson = __webpack_require__(/*! uni-pages?{"type":"style"} */ 7).default; | 7938 | var PagesJson = __webpack_require__(/*! uni-pages?{"type":"style"} */ 7).default; |
7938 | var statConfig = __webpack_require__(/*! uni-stat-config */ 8).default || __webpack_require__(/*! uni-stat-config */ 8); | 7939 | var statConfig = __webpack_require__(/*! uni-stat-config */ 8).default || __webpack_require__(/*! uni-stat-config */ 8); |
7939 | 7940 | ||
7940 | var resultOptions = uni.getSystemInfoSync();var | 7941 | var resultOptions = uni.getSystemInfoSync();var |
7941 | 7942 | ||
7942 | Util = /*#__PURE__*/function () { | 7943 | Util = /*#__PURE__*/function () { |
7943 | function Util() {_classCallCheck(this, Util); | 7944 | function Util() {_classCallCheck(this, Util); |
7944 | this.self = ''; | 7945 | this.self = ''; |
7945 | this._retry = 0; | 7946 | this._retry = 0; |
7946 | this._platform = ''; | 7947 | this._platform = ''; |
7947 | this._query = {}; | 7948 | this._query = {}; |
7948 | this._navigationBarTitle = { | 7949 | this._navigationBarTitle = { |
7949 | config: '', | 7950 | config: '', |
7950 | page: '', | 7951 | page: '', |
7951 | report: '', | 7952 | report: '', |
7952 | lt: '' }; | 7953 | lt: '' }; |
7953 | 7954 | ||
7954 | this._operatingTime = 0; | 7955 | this._operatingTime = 0; |
7955 | this._reportingRequestData = { | 7956 | this._reportingRequestData = { |
7956 | '1': [], | 7957 | '1': [], |
7957 | '11': [] }; | 7958 | '11': [] }; |
7958 | 7959 | ||
7959 | this.__prevent_triggering = false; | 7960 | this.__prevent_triggering = false; |
7960 | 7961 | ||
7961 | this.__licationHide = false; | 7962 | this.__licationHide = false; |
7962 | this.__licationShow = false; | 7963 | this.__licationShow = false; |
7963 | this._lastPageRoute = ''; | 7964 | this._lastPageRoute = ''; |
7964 | this.statData = { | 7965 | this.statData = { |
7965 | uuid: getUuid(), | 7966 | uuid: getUuid(), |
7966 | ut: getPlatformName(), | 7967 | ut: getPlatformName(), |
7967 | mpn: getPackName(), | 7968 | mpn: getPackName(), |
7968 | ak: statConfig.appid, | 7969 | ak: statConfig.appid, |
7969 | usv: STAT_VERSION, | 7970 | usv: STAT_VERSION, |
7970 | v: getVersion(), | 7971 | v: getVersion(), |
7971 | ch: getChannel(), | 7972 | ch: getChannel(), |
7972 | cn: '', | 7973 | cn: '', |
7973 | pn: '', | 7974 | pn: '', |
7974 | ct: '', | 7975 | ct: '', |
7975 | t: getTime(), | 7976 | t: getTime(), |
7976 | tt: '', | 7977 | tt: '', |
7977 | p: resultOptions.platform === 'android' ? 'a' : 'i', | 7978 | p: resultOptions.platform === 'android' ? 'a' : 'i', |
7978 | brand: resultOptions.brand || '', | 7979 | brand: resultOptions.brand || '', |
7979 | md: resultOptions.model, | 7980 | md: resultOptions.model, |
7980 | sv: resultOptions.system.replace(/(Android|iOS)\s/, ''), | 7981 | sv: resultOptions.system.replace(/(Android|iOS)\s/, ''), |
7981 | mpsdk: resultOptions.SDKVersion || '', | 7982 | mpsdk: resultOptions.SDKVersion || '', |
7982 | mpv: resultOptions.version || '', | 7983 | mpv: resultOptions.version || '', |
7983 | lang: resultOptions.language, | 7984 | lang: resultOptions.language, |
7984 | pr: resultOptions.pixelRatio, | 7985 | pr: resultOptions.pixelRatio, |
7985 | ww: resultOptions.windowWidth, | 7986 | ww: resultOptions.windowWidth, |
7986 | wh: resultOptions.windowHeight, | 7987 | wh: resultOptions.windowHeight, |
7987 | sw: resultOptions.screenWidth, | 7988 | sw: resultOptions.screenWidth, |
7988 | sh: resultOptions.screenHeight }; | 7989 | sh: resultOptions.screenHeight }; |
7989 | 7990 | ||
7990 | 7991 | ||
7991 | }_createClass(Util, [{ key: "_applicationShow", value: function _applicationShow() | 7992 | }_createClass(Util, [{ key: "_applicationShow", value: function _applicationShow() |
7992 | 7993 | ||
7993 | { | 7994 | { |
7994 | if (this.__licationHide) { | 7995 | if (this.__licationHide) { |
7995 | getLastTime(); | 7996 | getLastTime(); |
7996 | var time = getResidenceTime('app'); | 7997 | var time = getResidenceTime('app'); |
7997 | if (time.overtime) { | 7998 | if (time.overtime) { |
7998 | var options = { | 7999 | var options = { |
7999 | path: this._lastPageRoute, | 8000 | path: this._lastPageRoute, |
8000 | scene: this.statData.sc }; | 8001 | scene: this.statData.sc }; |
8001 | 8002 | ||
8002 | this._sendReportRequest(options); | 8003 | this._sendReportRequest(options); |
8003 | } | 8004 | } |
8004 | this.__licationHide = false; | 8005 | this.__licationHide = false; |
8005 | } | 8006 | } |
8006 | } }, { key: "_applicationHide", value: function _applicationHide( | 8007 | } }, { key: "_applicationHide", value: function _applicationHide( |
8007 | 8008 | ||
8008 | self, type) { | 8009 | self, type) { |
8009 | 8010 | ||
8010 | this.__licationHide = true; | 8011 | this.__licationHide = true; |
8011 | getLastTime(); | 8012 | getLastTime(); |
8012 | var time = getResidenceTime(); | 8013 | var time = getResidenceTime(); |
8013 | getFirstTime(); | 8014 | getFirstTime(); |
8014 | var route = getPageRoute(this); | 8015 | var route = getPageRoute(this); |
8015 | this._sendHideRequest({ | 8016 | this._sendHideRequest({ |
8016 | urlref: route, | 8017 | urlref: route, |
8017 | urlref_ts: time.residenceTime }, | 8018 | urlref_ts: time.residenceTime }, |
8018 | type); | 8019 | type); |
8019 | } }, { key: "_pageShow", value: function _pageShow() | 8020 | } }, { key: "_pageShow", value: function _pageShow() |
8020 | 8021 | ||
8021 | { | 8022 | { |
8022 | var route = getPageRoute(this); | 8023 | var route = getPageRoute(this); |
8023 | var routepath = getRoute(); | 8024 | var routepath = getRoute(); |
8024 | this._navigationBarTitle.config = PagesJson && | 8025 | this._navigationBarTitle.config = PagesJson && |
8025 | PagesJson.pages[routepath] && | 8026 | PagesJson.pages[routepath] && |
8026 | PagesJson.pages[routepath].titleNView && | 8027 | PagesJson.pages[routepath].titleNView && |
8027 | PagesJson.pages[routepath].titleNView.titleText || | 8028 | PagesJson.pages[routepath].titleNView.titleText || |
8028 | PagesJson && | 8029 | PagesJson && |
8029 | PagesJson.pages[routepath] && | 8030 | PagesJson.pages[routepath] && |
8030 | PagesJson.pages[routepath].navigationBarTitleText || ''; | 8031 | PagesJson.pages[routepath].navigationBarTitleText || ''; |
8031 | 8032 | ||
8032 | if (this.__licationShow) { | 8033 | if (this.__licationShow) { |
8033 | getFirstTime(); | 8034 | getFirstTime(); |
8034 | this.__licationShow = false; | 8035 | this.__licationShow = false; |
8035 | // console.log('这是 onLauch 之后执行的第一次 pageShow ,为下次记录时间做准备'); | 8036 | // console.log('这是 onLauch 之后执行的第一次 pageShow ,为下次记录时间做准备'); |
8036 | this._lastPageRoute = route; | 8037 | this._lastPageRoute = route; |
8037 | return; | 8038 | return; |
8038 | } | 8039 | } |
8039 | 8040 | ||
8040 | getLastTime(); | 8041 | getLastTime(); |
8041 | this._lastPageRoute = route; | 8042 | this._lastPageRoute = route; |
8042 | var time = getResidenceTime('page'); | 8043 | var time = getResidenceTime('page'); |
8043 | if (time.overtime) { | 8044 | if (time.overtime) { |
8044 | var options = { | 8045 | var options = { |
8045 | path: this._lastPageRoute, | 8046 | path: this._lastPageRoute, |
8046 | scene: this.statData.sc }; | 8047 | scene: this.statData.sc }; |
8047 | 8048 | ||
8048 | this._sendReportRequest(options); | 8049 | this._sendReportRequest(options); |
8049 | } | 8050 | } |
8050 | getFirstTime(); | 8051 | getFirstTime(); |
8051 | } }, { key: "_pageHide", value: function _pageHide() | 8052 | } }, { key: "_pageHide", value: function _pageHide() |
8052 | 8053 | ||
8053 | { | 8054 | { |
8054 | if (!this.__licationHide) { | 8055 | if (!this.__licationHide) { |
8055 | getLastTime(); | 8056 | getLastTime(); |
8056 | var time = getResidenceTime('page'); | 8057 | var time = getResidenceTime('page'); |
8057 | this._sendPageRequest({ | 8058 | this._sendPageRequest({ |
8058 | url: this._lastPageRoute, | 8059 | url: this._lastPageRoute, |
8059 | urlref: this._lastPageRoute, | 8060 | urlref: this._lastPageRoute, |
8060 | urlref_ts: time.residenceTime }); | 8061 | urlref_ts: time.residenceTime }); |
8061 | 8062 | ||
8062 | this._navigationBarTitle = { | 8063 | this._navigationBarTitle = { |
8063 | config: '', | 8064 | config: '', |
8064 | page: '', | 8065 | page: '', |
8065 | report: '', | 8066 | report: '', |
8066 | lt: '' }; | 8067 | lt: '' }; |
8067 | 8068 | ||
8068 | return; | 8069 | return; |
8069 | } | 8070 | } |
8070 | } }, { key: "_login", value: function _login() | 8071 | } }, { key: "_login", value: function _login() |
8071 | 8072 | ||
8072 | { | 8073 | { |
8073 | this._sendEventRequest({ | 8074 | this._sendEventRequest({ |
8074 | key: 'login' }, | 8075 | key: 'login' }, |
8075 | 0); | 8076 | 0); |
8076 | } }, { key: "_share", value: function _share() | 8077 | } }, { key: "_share", value: function _share() |
8077 | 8078 | ||
8078 | { | 8079 | { |
8079 | this._sendEventRequest({ | 8080 | this._sendEventRequest({ |
8080 | key: 'share' }, | 8081 | key: 'share' }, |
8081 | 0); | 8082 | 0); |
8082 | } }, { key: "_payment", value: function _payment( | 8083 | } }, { key: "_payment", value: function _payment( |
8083 | key) { | 8084 | key) { |
8084 | this._sendEventRequest({ | 8085 | this._sendEventRequest({ |
8085 | key: key }, | 8086 | key: key }, |
8086 | 0); | 8087 | 0); |
8087 | } }, { key: "_sendReportRequest", value: function _sendReportRequest( | 8088 | } }, { key: "_sendReportRequest", value: function _sendReportRequest( |
8088 | options) { | 8089 | options) { |
8089 | 8090 | ||
8090 | this._navigationBarTitle.lt = '1'; | 8091 | this._navigationBarTitle.lt = '1'; |
8091 | var query = options.query && JSON.stringify(options.query) !== '{}' ? '?' + JSON.stringify(options.query) : ''; | 8092 | var query = options.query && JSON.stringify(options.query) !== '{}' ? '?' + JSON.stringify(options.query) : ''; |
8092 | this.statData.lt = '1'; | 8093 | this.statData.lt = '1'; |
8093 | this.statData.url = options.path + query || ''; | 8094 | this.statData.url = options.path + query || ''; |
8094 | this.statData.t = getTime(); | 8095 | this.statData.t = getTime(); |
8095 | this.statData.sc = getScene(options.scene); | 8096 | this.statData.sc = getScene(options.scene); |
8096 | this.statData.fvts = getFirstVisitTime(); | 8097 | this.statData.fvts = getFirstVisitTime(); |
8097 | this.statData.lvts = getLastVisitTime(); | 8098 | this.statData.lvts = getLastVisitTime(); |
8098 | this.statData.tvc = getTotalVisitCount(); | 8099 | this.statData.tvc = getTotalVisitCount(); |
8099 | if (getPlatformName() === 'n') { | 8100 | if (getPlatformName() === 'n') { |
8100 | this.getProperty(); | 8101 | this.getProperty(); |
8101 | } else { | 8102 | } else { |
8102 | this.getNetworkInfo(); | 8103 | this.getNetworkInfo(); |
8103 | } | 8104 | } |
8104 | } }, { key: "_sendPageRequest", value: function _sendPageRequest( | 8105 | } }, { key: "_sendPageRequest", value: function _sendPageRequest( |
8105 | 8106 | ||
8106 | opt) {var | 8107 | opt) {var |
8107 | 8108 | ||
8108 | url = | 8109 | url = |
8109 | 8110 | ||
8110 | 8111 | ||
8111 | opt.url,urlref = opt.urlref,urlref_ts = opt.urlref_ts; | 8112 | opt.url,urlref = opt.urlref,urlref_ts = opt.urlref_ts; |
8112 | this._navigationBarTitle.lt = '11'; | 8113 | this._navigationBarTitle.lt = '11'; |
8113 | var options = { | 8114 | var options = { |
8114 | ak: this.statData.ak, | 8115 | ak: this.statData.ak, |
8115 | uuid: this.statData.uuid, | 8116 | uuid: this.statData.uuid, |
8116 | lt: '11', | 8117 | lt: '11', |
8117 | ut: this.statData.ut, | 8118 | ut: this.statData.ut, |
8118 | url: url, | 8119 | url: url, |
8119 | tt: this.statData.tt, | 8120 | tt: this.statData.tt, |
8120 | urlref: urlref, | 8121 | urlref: urlref, |
8121 | urlref_ts: urlref_ts, | 8122 | urlref_ts: urlref_ts, |
8122 | ch: this.statData.ch, | 8123 | ch: this.statData.ch, |
8123 | usv: this.statData.usv, | 8124 | usv: this.statData.usv, |
8124 | t: getTime(), | 8125 | t: getTime(), |
8125 | p: this.statData.p }; | 8126 | p: this.statData.p }; |
8126 | 8127 | ||
8127 | this.request(options); | 8128 | this.request(options); |
8128 | } }, { key: "_sendHideRequest", value: function _sendHideRequest( | 8129 | } }, { key: "_sendHideRequest", value: function _sendHideRequest( |
8129 | 8130 | ||
8130 | opt, type) {var | 8131 | opt, type) {var |
8131 | 8132 | ||
8132 | urlref = | 8133 | urlref = |
8133 | 8134 | ||
8134 | opt.urlref,urlref_ts = opt.urlref_ts; | 8135 | opt.urlref,urlref_ts = opt.urlref_ts; |
8135 | var options = { | 8136 | var options = { |
8136 | ak: this.statData.ak, | 8137 | ak: this.statData.ak, |
8137 | uuid: this.statData.uuid, | 8138 | uuid: this.statData.uuid, |
8138 | lt: '3', | 8139 | lt: '3', |
8139 | ut: this.statData.ut, | 8140 | ut: this.statData.ut, |
8140 | urlref: urlref, | 8141 | urlref: urlref, |
8141 | urlref_ts: urlref_ts, | 8142 | urlref_ts: urlref_ts, |
8142 | ch: this.statData.ch, | 8143 | ch: this.statData.ch, |
8143 | usv: this.statData.usv, | 8144 | usv: this.statData.usv, |
8144 | t: getTime(), | 8145 | t: getTime(), |
8145 | p: this.statData.p }; | 8146 | p: this.statData.p }; |
8146 | 8147 | ||
8147 | this.request(options, type); | 8148 | this.request(options, type); |
8148 | } }, { key: "_sendEventRequest", value: function _sendEventRequest() | 8149 | } }, { key: "_sendEventRequest", value: function _sendEventRequest() |
8149 | 8150 | ||
8150 | 8151 | ||
8151 | 8152 | ||
8152 | {var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},_ref$key = _ref.key,key = _ref$key === void 0 ? '' : _ref$key,_ref$value = _ref.value,value = _ref$value === void 0 ? "" : _ref$value; | 8153 | {var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},_ref$key = _ref.key,key = _ref$key === void 0 ? '' : _ref$key,_ref$value = _ref.value,value = _ref$value === void 0 ? "" : _ref$value; |
8153 | var route = this._lastPageRoute; | 8154 | var route = this._lastPageRoute; |
8154 | var options = { | 8155 | var options = { |
8155 | ak: this.statData.ak, | 8156 | ak: this.statData.ak, |
8156 | uuid: this.statData.uuid, | 8157 | uuid: this.statData.uuid, |
8157 | lt: '21', | 8158 | lt: '21', |
8158 | ut: this.statData.ut, | 8159 | ut: this.statData.ut, |
8159 | url: route, | 8160 | url: route, |
8160 | ch: this.statData.ch, | 8161 | ch: this.statData.ch, |
8161 | e_n: key, | 8162 | e_n: key, |
8162 | e_v: typeof value === 'object' ? JSON.stringify(value) : value.toString(), | 8163 | e_v: typeof value === 'object' ? JSON.stringify(value) : value.toString(), |
8163 | usv: this.statData.usv, | 8164 | usv: this.statData.usv, |
8164 | t: getTime(), | 8165 | t: getTime(), |
8165 | p: this.statData.p }; | 8166 | p: this.statData.p }; |
8166 | 8167 | ||
8167 | this.request(options); | 8168 | this.request(options); |
8168 | } }, { key: "getNetworkInfo", value: function getNetworkInfo() | 8169 | } }, { key: "getNetworkInfo", value: function getNetworkInfo() |
8169 | 8170 | ||
8170 | {var _this = this; | 8171 | {var _this = this; |
8171 | uni.getNetworkType({ | 8172 | uni.getNetworkType({ |
8172 | success: function success(result) { | 8173 | success: function success(result) { |
8173 | _this.statData.net = result.networkType; | 8174 | _this.statData.net = result.networkType; |
8174 | _this.getLocation(); | 8175 | _this.getLocation(); |
8175 | } }); | 8176 | } }); |
8176 | 8177 | ||
8177 | } }, { key: "getProperty", value: function getProperty() | 8178 | } }, { key: "getProperty", value: function getProperty() |
8178 | 8179 | ||
8179 | {var _this2 = this; | 8180 | {var _this2 = this; |
8180 | plus.runtime.getProperty(plus.runtime.appid, function (wgtinfo) { | 8181 | plus.runtime.getProperty(plus.runtime.appid, function (wgtinfo) { |
8181 | _this2.statData.v = wgtinfo.version || ''; | 8182 | _this2.statData.v = wgtinfo.version || ''; |
8182 | _this2.getNetworkInfo(); | 8183 | _this2.getNetworkInfo(); |
8183 | }); | 8184 | }); |
8184 | } }, { key: "getLocation", value: function getLocation() | 8185 | } }, { key: "getLocation", value: function getLocation() |
8185 | 8186 | ||
8186 | {var _this3 = this; | 8187 | {var _this3 = this; |
8187 | if (statConfig.getLocation) { | 8188 | if (statConfig.getLocation) { |
8188 | uni.getLocation({ | 8189 | uni.getLocation({ |
8189 | type: 'wgs84', | 8190 | type: 'wgs84', |
8190 | geocode: true, | 8191 | geocode: true, |
8191 | success: function success(result) { | 8192 | success: function success(result) { |
8192 | if (result.address) { | 8193 | if (result.address) { |
8193 | _this3.statData.cn = result.address.country; | 8194 | _this3.statData.cn = result.address.country; |
8194 | _this3.statData.pn = result.address.province; | 8195 | _this3.statData.pn = result.address.province; |
8195 | _this3.statData.ct = result.address.city; | 8196 | _this3.statData.ct = result.address.city; |
8196 | } | 8197 | } |
8197 | 8198 | ||
8198 | _this3.statData.lat = result.latitude; | 8199 | _this3.statData.lat = result.latitude; |
8199 | _this3.statData.lng = result.longitude; | 8200 | _this3.statData.lng = result.longitude; |
8200 | _this3.request(_this3.statData); | 8201 | _this3.request(_this3.statData); |
8201 | } }); | 8202 | } }); |
8202 | 8203 | ||
8203 | } else { | 8204 | } else { |
8204 | this.statData.lat = 0; | 8205 | this.statData.lat = 0; |
8205 | this.statData.lng = 0; | 8206 | this.statData.lng = 0; |
8206 | this.request(this.statData); | 8207 | this.request(this.statData); |
8207 | } | 8208 | } |
8208 | } }, { key: "request", value: function request( | 8209 | } }, { key: "request", value: function request( |
8209 | 8210 | ||
8210 | data, type) {var _this4 = this; | 8211 | data, type) {var _this4 = this; |
8211 | var time = getTime(); | 8212 | var time = getTime(); |
8212 | var title = this._navigationBarTitle; | 8213 | var title = this._navigationBarTitle; |
8213 | data.ttn = title.page; | 8214 | data.ttn = title.page; |
8214 | data.ttpj = title.config; | 8215 | data.ttpj = title.config; |
8215 | data.ttc = title.report; | 8216 | data.ttc = title.report; |
8216 | 8217 | ||
8217 | var requestData = this._reportingRequestData; | 8218 | var requestData = this._reportingRequestData; |
8218 | if (getPlatformName() === 'n') { | 8219 | if (getPlatformName() === 'n') { |
8219 | requestData = uni.getStorageSync('__UNI__STAT__DATA') || {}; | 8220 | requestData = uni.getStorageSync('__UNI__STAT__DATA') || {}; |
8220 | } | 8221 | } |
8221 | if (!requestData[data.lt]) { | 8222 | if (!requestData[data.lt]) { |
8222 | requestData[data.lt] = []; | 8223 | requestData[data.lt] = []; |
8223 | } | 8224 | } |
8224 | requestData[data.lt].push(data); | 8225 | requestData[data.lt].push(data); |
8225 | 8226 | ||
8226 | if (getPlatformName() === 'n') { | 8227 | if (getPlatformName() === 'n') { |
8227 | uni.setStorageSync('__UNI__STAT__DATA', requestData); | 8228 | uni.setStorageSync('__UNI__STAT__DATA', requestData); |
8228 | } | 8229 | } |
8229 | if (getPageResidenceTime() < OPERATING_TIME && !type) { | 8230 | if (getPageResidenceTime() < OPERATING_TIME && !type) { |
8230 | return; | 8231 | return; |
8231 | } | 8232 | } |
8232 | var uniStatData = this._reportingRequestData; | 8233 | var uniStatData = this._reportingRequestData; |
8233 | if (getPlatformName() === 'n') { | 8234 | if (getPlatformName() === 'n') { |
8234 | uniStatData = uni.getStorageSync('__UNI__STAT__DATA'); | 8235 | uniStatData = uni.getStorageSync('__UNI__STAT__DATA'); |
8235 | } | 8236 | } |
8236 | // 时间超过,重新获取时间戳 | 8237 | // 时间超过,重新获取时间戳 |
8237 | setPageResidenceTime(); | 8238 | setPageResidenceTime(); |
8238 | var firstArr = []; | 8239 | var firstArr = []; |
8239 | var contentArr = []; | 8240 | var contentArr = []; |
8240 | var lastArr = [];var _loop = function _loop( | 8241 | var lastArr = [];var _loop = function _loop( |
8241 | 8242 | ||
8242 | i) { | 8243 | i) { |
8243 | var rd = uniStatData[i]; | 8244 | var rd = uniStatData[i]; |
8244 | rd.forEach(function (elm) { | 8245 | rd.forEach(function (elm) { |
8245 | var newData = getSplicing(elm); | 8246 | var newData = getSplicing(elm); |
8246 | if (i === 0) { | 8247 | if (i === 0) { |
8247 | firstArr.push(newData); | 8248 | firstArr.push(newData); |
8248 | } else if (i === 3) { | 8249 | } else if (i === 3) { |
8249 | lastArr.push(newData); | 8250 | lastArr.push(newData); |
8250 | } else { | 8251 | } else { |
8251 | contentArr.push(newData); | 8252 | contentArr.push(newData); |
8252 | } | 8253 | } |
8253 | });};for (var i in uniStatData) {_loop(i); | 8254 | });};for (var i in uniStatData) {_loop(i); |
8254 | } | 8255 | } |
8255 | 8256 | ||
8256 | firstArr.push.apply(firstArr, contentArr.concat(lastArr)); | 8257 | firstArr.push.apply(firstArr, contentArr.concat(lastArr)); |
8257 | var optionsData = { | 8258 | var optionsData = { |
8258 | usv: STAT_VERSION, //统计 SDK 版本号 | 8259 | usv: STAT_VERSION, //统计 SDK 版本号 |
8259 | t: time, //发送请求时的时间戮 | 8260 | t: time, //发送请求时的时间戮 |
8260 | requests: JSON.stringify(firstArr) }; | 8261 | requests: JSON.stringify(firstArr) }; |
8261 | 8262 | ||
8262 | 8263 | ||
8263 | this._reportingRequestData = {}; | 8264 | this._reportingRequestData = {}; |
8264 | if (getPlatformName() === 'n') { | 8265 | if (getPlatformName() === 'n') { |
8265 | uni.removeStorageSync('__UNI__STAT__DATA'); | 8266 | uni.removeStorageSync('__UNI__STAT__DATA'); |
8266 | } | 8267 | } |
8267 | 8268 | ||
8268 | if (data.ut === 'h5') { | 8269 | if (data.ut === 'h5') { |
8269 | this.imageRequest(optionsData); | 8270 | this.imageRequest(optionsData); |
8270 | return; | 8271 | return; |
8271 | } | 8272 | } |
8272 | 8273 | ||
8273 | if (getPlatformName() === 'n' && this.statData.p === 'a') { | 8274 | if (getPlatformName() === 'n' && this.statData.p === 'a') { |
8274 | setTimeout(function () { | 8275 | setTimeout(function () { |
8275 | _this4._sendRequest(optionsData); | 8276 | _this4._sendRequest(optionsData); |
8276 | }, 200); | 8277 | }, 200); |
8277 | return; | 8278 | return; |
8278 | } | 8279 | } |
8279 | this._sendRequest(optionsData); | 8280 | this._sendRequest(optionsData); |
8280 | } }, { key: "_sendRequest", value: function _sendRequest( | 8281 | } }, { key: "_sendRequest", value: function _sendRequest( |
8281 | optionsData) {var _this5 = this; | 8282 | optionsData) {var _this5 = this; |
8282 | uni.request({ | 8283 | uni.request({ |
8283 | url: STAT_URL, | 8284 | url: STAT_URL, |
8284 | method: 'POST', | 8285 | method: 'POST', |
8285 | // header: { | 8286 | // header: { |
8286 | // 'content-type': 'application/json' // 默认值 | 8287 | // 'content-type': 'application/json' // 默认值 |
8287 | // }, | 8288 | // }, |
8288 | data: optionsData, | 8289 | data: optionsData, |
8289 | success: function success() { | 8290 | success: function success() { |
8290 | // if (process.env.NODE_ENV === 'development') { | 8291 | // if (process.env.NODE_ENV === 'development') { |
8291 | // console.log('stat request success'); | 8292 | // console.log('stat request success'); |
8292 | // } | 8293 | // } |
8293 | }, | 8294 | }, |
8294 | fail: function fail(e) { | 8295 | fail: function fail(e) { |
8295 | if (++_this5._retry < 3) { | 8296 | if (++_this5._retry < 3) { |
8296 | setTimeout(function () { | 8297 | setTimeout(function () { |
8297 | _this5._sendRequest(optionsData); | 8298 | _this5._sendRequest(optionsData); |
8298 | }, 1000); | 8299 | }, 1000); |
8299 | } | 8300 | } |
8300 | } }); | 8301 | } }); |
8301 | 8302 | ||
8302 | } | 8303 | } |
8303 | /** | 8304 | /** |
8304 | * h5 请求 | 8305 | * h5 请求 |
8305 | */ }, { key: "imageRequest", value: function imageRequest( | 8306 | */ }, { key: "imageRequest", value: function imageRequest( |
8306 | data) { | 8307 | data) { |
8307 | var image = new Image(); | 8308 | var image = new Image(); |
8308 | var options = getSgin(GetEncodeURIComponentOptions(data)).options; | 8309 | var options = getSgin(GetEncodeURIComponentOptions(data)).options; |
8309 | image.src = STAT_H5_URL + '?' + options; | 8310 | image.src = STAT_H5_URL + '?' + options; |
8310 | } }, { key: "sendEvent", value: function sendEvent( | 8311 | } }, { key: "sendEvent", value: function sendEvent( |
8311 | 8312 | ||
8312 | key, value) { | 8313 | key, value) { |
8313 | // 校验 type 参数 | 8314 | // 校验 type 参数 |
8314 | if (calibration(key, value)) return; | 8315 | if (calibration(key, value)) return; |
8315 | 8316 | ||
8316 | if (key === 'title') { | 8317 | if (key === 'title') { |
8317 | this._navigationBarTitle.report = value; | 8318 | this._navigationBarTitle.report = value; |
8318 | return; | 8319 | return; |
8319 | } | 8320 | } |
8320 | this._sendEventRequest({ | 8321 | this._sendEventRequest({ |
8321 | key: key, | 8322 | key: key, |
8322 | value: typeof value === 'object' ? JSON.stringify(value) : value }, | 8323 | value: typeof value === 'object' ? JSON.stringify(value) : value }, |
8323 | 1); | 8324 | 1); |
8324 | } }]);return Util;}();var | 8325 | } }]);return Util;}();var |
8325 | 8326 | ||
8326 | 8327 | ||
8327 | 8328 | ||
8328 | Stat = /*#__PURE__*/function (_Util) {_inherits(Stat, _Util);var _super = _createSuper(Stat);_createClass(Stat, null, [{ key: "getInstance", value: function getInstance() | 8329 | Stat = /*#__PURE__*/function (_Util) {_inherits(Stat, _Util);var _super = _createSuper(Stat);_createClass(Stat, null, [{ key: "getInstance", value: function getInstance() |
8329 | { | 8330 | { |
8330 | if (!this.instance) { | 8331 | if (!this.instance) { |
8331 | this.instance = new Stat(); | 8332 | this.instance = new Stat(); |
8332 | } | 8333 | } |
8333 | return this.instance; | 8334 | return this.instance; |
8334 | } }]); | 8335 | } }]); |
8335 | function Stat() {var _this6;_classCallCheck(this, Stat); | 8336 | function Stat() {var _this6;_classCallCheck(this, Stat); |
8336 | _this6 = _super.call(this); | 8337 | _this6 = _super.call(this); |
8337 | _this6.instance = null; | 8338 | _this6.instance = null; |
8338 | // 注册拦截器 | 8339 | // 注册拦截器 |
8339 | if (typeof uni.addInterceptor === 'function' && "development" !== 'development') { | 8340 | if (typeof uni.addInterceptor === 'function' && "development" !== 'development') { |
8340 | _this6.addInterceptorInit(); | 8341 | _this6.addInterceptorInit(); |
8341 | _this6.interceptLogin(); | 8342 | _this6.interceptLogin(); |
8342 | _this6.interceptShare(true); | 8343 | _this6.interceptShare(true); |
8343 | _this6.interceptRequestPayment(); | 8344 | _this6.interceptRequestPayment(); |
8344 | }return _this6; | 8345 | }return _this6; |
8345 | }_createClass(Stat, [{ key: "addInterceptorInit", value: function addInterceptorInit() | 8346 | }_createClass(Stat, [{ key: "addInterceptorInit", value: function addInterceptorInit() |
8346 | 8347 | ||
8347 | { | 8348 | { |
8348 | var self = this; | 8349 | var self = this; |
8349 | uni.addInterceptor('setNavigationBarTitle', { | 8350 | uni.addInterceptor('setNavigationBarTitle', { |
8350 | invoke: function invoke(args) { | 8351 | invoke: function invoke(args) { |
8351 | self._navigationBarTitle.page = args.title; | 8352 | self._navigationBarTitle.page = args.title; |
8352 | } }); | 8353 | } }); |
8353 | 8354 | ||
8354 | } }, { key: "interceptLogin", value: function interceptLogin() | 8355 | } }, { key: "interceptLogin", value: function interceptLogin() |
8355 | 8356 | ||
8356 | { | 8357 | { |
8357 | var self = this; | 8358 | var self = this; |
8358 | uni.addInterceptor('login', { | 8359 | uni.addInterceptor('login', { |
8359 | complete: function complete() { | 8360 | complete: function complete() { |
8360 | self._login(); | 8361 | self._login(); |
8361 | } }); | 8362 | } }); |
8362 | 8363 | ||
8363 | } }, { key: "interceptShare", value: function interceptShare( | 8364 | } }, { key: "interceptShare", value: function interceptShare( |
8364 | 8365 | ||
8365 | type) { | 8366 | type) { |
8366 | var self = this; | 8367 | var self = this; |
8367 | if (!type) { | 8368 | if (!type) { |
8368 | self._share(); | 8369 | self._share(); |
8369 | return; | 8370 | return; |
8370 | } | 8371 | } |
8371 | uni.addInterceptor('share', { | 8372 | uni.addInterceptor('share', { |
8372 | success: function success() { | 8373 | success: function success() { |
8373 | self._share(); | 8374 | self._share(); |
8374 | }, | 8375 | }, |
8375 | fail: function fail() { | 8376 | fail: function fail() { |
8376 | self._share(); | 8377 | self._share(); |
8377 | } }); | 8378 | } }); |
8378 | 8379 | ||
8379 | } }, { key: "interceptRequestPayment", value: function interceptRequestPayment() | 8380 | } }, { key: "interceptRequestPayment", value: function interceptRequestPayment() |
8380 | 8381 | ||
8381 | { | 8382 | { |
8382 | var self = this; | 8383 | var self = this; |
8383 | uni.addInterceptor('requestPayment', { | 8384 | uni.addInterceptor('requestPayment', { |
8384 | success: function success() { | 8385 | success: function success() { |
8385 | self._payment('pay_success'); | 8386 | self._payment('pay_success'); |
8386 | }, | 8387 | }, |
8387 | fail: function fail() { | 8388 | fail: function fail() { |
8388 | self._payment('pay_fail'); | 8389 | self._payment('pay_fail'); |
8389 | } }); | 8390 | } }); |
8390 | 8391 | ||
8391 | } }, { key: "report", value: function report( | 8392 | } }, { key: "report", value: function report( |
8392 | 8393 | ||
8393 | options, self) { | 8394 | options, self) { |
8394 | this.self = self; | 8395 | this.self = self; |
8395 | // if (process.env.NODE_ENV === 'development') { | 8396 | // if (process.env.NODE_ENV === 'development') { |
8396 | // console.log('report init'); | 8397 | // console.log('report init'); |
8397 | // } | 8398 | // } |
8398 | setPageResidenceTime(); | 8399 | setPageResidenceTime(); |
8399 | this.__licationShow = true; | 8400 | this.__licationShow = true; |
8400 | this._sendReportRequest(options, true); | 8401 | this._sendReportRequest(options, true); |
8401 | } }, { key: "load", value: function load( | 8402 | } }, { key: "load", value: function load( |
8402 | 8403 | ||
8403 | options, self) { | 8404 | options, self) { |
8404 | if (!self.$scope && !self.$mp) { | 8405 | if (!self.$scope && !self.$mp) { |
8405 | var page = getCurrentPages(); | 8406 | var page = getCurrentPages(); |
8406 | self.$scope = page[page.length - 1]; | 8407 | self.$scope = page[page.length - 1]; |
8407 | } | 8408 | } |
8408 | this.self = self; | 8409 | this.self = self; |
8409 | this._query = options; | 8410 | this._query = options; |
8410 | } }, { key: "show", value: function show( | 8411 | } }, { key: "show", value: function show( |
8411 | 8412 | ||
8412 | self) { | 8413 | self) { |
8413 | this.self = self; | 8414 | this.self = self; |
8414 | if (getPageTypes(self)) { | 8415 | if (getPageTypes(self)) { |
8415 | this._pageShow(self); | 8416 | this._pageShow(self); |
8416 | } else { | 8417 | } else { |
8417 | this._applicationShow(self); | 8418 | this._applicationShow(self); |
8418 | } | 8419 | } |
8419 | } }, { key: "ready", value: function ready( | 8420 | } }, { key: "ready", value: function ready( |
8420 | 8421 | ||
8421 | self) { | 8422 | self) { |
8422 | // this.self = self; | 8423 | // this.self = self; |
8423 | // if (getPageTypes(self)) { | 8424 | // if (getPageTypes(self)) { |
8424 | // this._pageShow(self); | 8425 | // this._pageShow(self); |
8425 | // } | 8426 | // } |
8426 | } }, { key: "hide", value: function hide( | 8427 | } }, { key: "hide", value: function hide( |
8427 | self) { | 8428 | self) { |
8428 | this.self = self; | 8429 | this.self = self; |
8429 | if (getPageTypes(self)) { | 8430 | if (getPageTypes(self)) { |
8430 | this._pageHide(self); | 8431 | this._pageHide(self); |
8431 | } else { | 8432 | } else { |
8432 | this._applicationHide(self, true); | 8433 | this._applicationHide(self, true); |
8433 | } | 8434 | } |
8434 | } }, { key: "error", value: function error( | 8435 | } }, { key: "error", value: function error( |
8435 | em) { | 8436 | em) { |
8436 | if (this._platform === 'devtools') { | 8437 | if (this._platform === 'devtools') { |
8437 | if (true) { | 8438 | if (true) { |
8438 | console.info('当前运行环境为开发者工具,不上报数据。'); | 8439 | console.info('当前运行环境为开发者工具,不上报数据。'); |
8439 | } | 8440 | } |
8440 | // return; | 8441 | // return; |
8441 | } | 8442 | } |
8442 | var emVal = ''; | 8443 | var emVal = ''; |
8443 | if (!em.message) { | 8444 | if (!em.message) { |
8444 | emVal = JSON.stringify(em); | 8445 | emVal = JSON.stringify(em); |
8445 | } else { | 8446 | } else { |
8446 | emVal = em.stack; | 8447 | emVal = em.stack; |
8447 | } | 8448 | } |
8448 | var options = { | 8449 | var options = { |
8449 | ak: this.statData.ak, | 8450 | ak: this.statData.ak, |
8450 | uuid: this.statData.uuid, | 8451 | uuid: this.statData.uuid, |
8451 | lt: '31', | 8452 | lt: '31', |
8452 | ut: this.statData.ut, | 8453 | ut: this.statData.ut, |
8453 | ch: this.statData.ch, | 8454 | ch: this.statData.ch, |
8454 | mpsdk: this.statData.mpsdk, | 8455 | mpsdk: this.statData.mpsdk, |
8455 | mpv: this.statData.mpv, | 8456 | mpv: this.statData.mpv, |
8456 | v: this.statData.v, | 8457 | v: this.statData.v, |
8457 | em: emVal, | 8458 | em: emVal, |
8458 | usv: this.statData.usv, | 8459 | usv: this.statData.usv, |
8459 | t: getTime(), | 8460 | t: getTime(), |
8460 | p: this.statData.p }; | 8461 | p: this.statData.p }; |
8461 | 8462 | ||
8462 | this.request(options); | 8463 | this.request(options); |
8463 | } }]);return Stat;}(Util); | 8464 | } }]);return Stat;}(Util); |
8464 | 8465 | ||
8465 | 8466 | ||
8466 | var stat = Stat.getInstance(); | 8467 | var stat = Stat.getInstance(); |
8467 | var isHide = false; | 8468 | var isHide = false; |
8468 | var lifecycle = { | 8469 | var lifecycle = { |
8469 | onLaunch: function onLaunch(options) { | 8470 | onLaunch: function onLaunch(options) { |
8470 | stat.report(options, this); | 8471 | stat.report(options, this); |
8471 | }, | 8472 | }, |
8472 | onReady: function onReady() { | 8473 | onReady: function onReady() { |
8473 | stat.ready(this); | 8474 | stat.ready(this); |
8474 | }, | 8475 | }, |
8475 | onLoad: function onLoad(options) { | 8476 | onLoad: function onLoad(options) { |
8476 | stat.load(options, this); | 8477 | stat.load(options, this); |
8477 | // 重写分享,获取分享上报事件 | 8478 | // 重写分享,获取分享上报事件 |
8478 | if (this.$scope && this.$scope.onShareAppMessage) { | 8479 | if (this.$scope && this.$scope.onShareAppMessage) { |
8479 | var oldShareAppMessage = this.$scope.onShareAppMessage; | 8480 | var oldShareAppMessage = this.$scope.onShareAppMessage; |
8480 | this.$scope.onShareAppMessage = function (options) { | 8481 | this.$scope.onShareAppMessage = function (options) { |
8481 | stat.interceptShare(false); | 8482 | stat.interceptShare(false); |
8482 | return oldShareAppMessage.call(this, options); | 8483 | return oldShareAppMessage.call(this, options); |
8483 | }; | 8484 | }; |
8484 | } | 8485 | } |
8485 | }, | 8486 | }, |
8486 | onShow: function onShow() { | 8487 | onShow: function onShow() { |
8487 | isHide = false; | 8488 | isHide = false; |
8488 | stat.show(this); | 8489 | stat.show(this); |
8489 | }, | 8490 | }, |
8490 | onHide: function onHide() { | 8491 | onHide: function onHide() { |
8491 | isHide = true; | 8492 | isHide = true; |
8492 | stat.hide(this); | 8493 | stat.hide(this); |
8493 | }, | 8494 | }, |
8494 | onUnload: function onUnload() { | 8495 | onUnload: function onUnload() { |
8495 | if (isHide) { | 8496 | if (isHide) { |
8496 | isHide = false; | 8497 | isHide = false; |
8497 | return; | 8498 | return; |
8498 | } | 8499 | } |
8499 | stat.hide(this); | 8500 | stat.hide(this); |
8500 | }, | 8501 | }, |
8501 | onError: function onError(e) { | 8502 | onError: function onError(e) { |
8502 | stat.error(e); | 8503 | stat.error(e); |
8503 | } }; | 8504 | } }; |
8504 | 8505 | ||
8505 | 8506 | ||
8506 | function main() { | 8507 | function main() { |
8507 | if (true) { | 8508 | if (true) { |
8508 | uni.report = function (type, options) {}; | 8509 | uni.report = function (type, options) {}; |
8509 | } else { var Vue; } | 8510 | } else { var Vue; } |
8510 | } | 8511 | } |
8511 | 8512 | ||
8512 | main(); | 8513 | main(); |
8513 | /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"])) | 8514 | /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"])) |
8514 | 8515 | ||
8515 | /***/ }), | 8516 | /***/ }), |
8516 | /* 6 */ | 8517 | /* 6 */ |
8517 | /*!******************************************************!*\ | 8518 | /*!******************************************************!*\ |
8518 | !*** ./node_modules/@dcloudio/uni-stat/package.json ***! | 8519 | !*** ./node_modules/@dcloudio/uni-stat/package.json ***! |
8519 | \******************************************************/ | 8520 | \******************************************************/ |
8520 | /*! exports provided: _from, _id, _inBundle, _integrity, _location, _phantomChildren, _requested, _requiredBy, _resolved, _shasum, _spec, _where, author, bugs, bundleDependencies, deprecated, description, devDependencies, files, gitHead, homepage, license, main, name, repository, scripts, version, default */ | 8521 | /*! exports provided: _from, _id, _inBundle, _integrity, _location, _phantomChildren, _requested, _requiredBy, _resolved, _shasum, _spec, _where, author, bugs, bundleDependencies, deprecated, description, devDependencies, files, gitHead, homepage, license, main, name, repository, scripts, version, default */ |
8521 | /***/ (function(module) { | 8522 | /***/ (function(module) { |
8522 | 8523 | ||
8523 | module.exports = {"_from":"@dcloudio/uni-stat@next","_id":"@dcloudio/uni-stat@2.0.0-26920200421003","_inBundle":false,"_integrity":"sha512-Aa6R66ZF2pIK9XB+Y7QbSW2GficyNTcdT7fnxFw5gY1eeY+u8oT7rTpZrL1W2qKbqf2FbsNPDjZrg1nRj6RxkQ==","_location":"/@dcloudio/uni-stat","_phantomChildren":{},"_requested":{"type":"tag","registry":true,"raw":"@dcloudio/uni-stat@next","name":"@dcloudio/uni-stat","escapedName":"@dcloudio%2funi-stat","scope":"@dcloudio","rawSpec":"next","saveSpec":null,"fetchSpec":"next"},"_requiredBy":["#USER","/","/@dcloudio/vue-cli-plugin-uni"],"_resolved":"https://registry.npmjs.org/@dcloudio/uni-stat/-/uni-stat-2.0.0-26920200421003.tgz","_shasum":"c08ebc00afa71edd9ed388fc4bf411e42d458ac5","_spec":"@dcloudio/uni-stat@next","_where":"/Users/guoshengqiang/Documents/dcloud-plugins/release/uniapp-cli","author":"","bugs":{"url":"https://github.com/dcloudio/uni-app/issues"},"bundleDependencies":false,"deprecated":false,"description":"","devDependencies":{"@babel/core":"^7.5.5","@babel/preset-env":"^7.5.5","eslint":"^6.1.0","rollup":"^1.19.3","rollup-plugin-babel":"^4.3.3","rollup-plugin-clear":"^2.0.7","rollup-plugin-commonjs":"^10.0.2","rollup-plugin-copy":"^3.1.0","rollup-plugin-eslint":"^7.0.0","rollup-plugin-json":"^4.0.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","rollup-plugin-uglify":"^6.0.2"},"files":["dist","package.json","LICENSE"],"gitHead":"a7035ab7f2a83dbc2c75090de34f68e5a01224a7","homepage":"https://github.com/dcloudio/uni-app#readme","license":"Apache-2.0","main":"dist/index.js","name":"@dcloudio/uni-stat","repository":{"type":"git","url":"git+https://github.com/dcloudio/uni-app.git","directory":"packages/uni-stat"},"scripts":{"build":"NODE_ENV=production rollup -c rollup.config.js","dev":"NODE_ENV=development rollup -w -c rollup.config.js"},"version":"2.0.0-26920200421003"}; | 8524 | module.exports = {"_from":"@dcloudio/uni-stat@next","_id":"@dcloudio/uni-stat@2.0.0-26920200424005","_inBundle":false,"_integrity":"sha512-FT8Z/C5xSmIxooqhV1v69jTkxATPz+FsRQIFOrbdlWekjGkrE73jfrdNMWm7gL5u41ALPJTVArxN1Re9by1bjQ==","_location":"/@dcloudio/uni-stat","_phantomChildren":{},"_requested":{"type":"tag","registry":true,"raw":"@dcloudio/uni-stat@next","name":"@dcloudio/uni-stat","escapedName":"@dcloudio%2funi-stat","scope":"@dcloudio","rawSpec":"next","saveSpec":null,"fetchSpec":"next"},"_requiredBy":["#USER","/","/@dcloudio/vue-cli-plugin-uni"],"_resolved":"https://registry.npmjs.org/@dcloudio/uni-stat/-/uni-stat-2.0.0-26920200424005.tgz","_shasum":"47f4375095eda3089cf4678b4b96fc656a7ab623","_spec":"@dcloudio/uni-stat@next","_where":"/Users/guoshengqiang/Documents/dcloud-plugins/release/uniapp-cli","author":"","bugs":{"url":"https://github.com/dcloudio/uni-app/issues"},"bundleDependencies":false,"deprecated":false,"description":"","devDependencies":{"@babel/core":"^7.5.5","@babel/preset-env":"^7.5.5","eslint":"^6.1.0","rollup":"^1.19.3","rollup-plugin-babel":"^4.3.3","rollup-plugin-clear":"^2.0.7","rollup-plugin-commonjs":"^10.0.2","rollup-plugin-copy":"^3.1.0","rollup-plugin-eslint":"^7.0.0","rollup-plugin-json":"^4.0.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","rollup-plugin-uglify":"^6.0.2"},"files":["dist","package.json","LICENSE"],"gitHead":"94494d54ed23e2dcf9ab8e3245b48b770b4e98a9","homepage":"https://github.com/dcloudio/uni-app#readme","license":"Apache-2.0","main":"dist/index.js","name":"@dcloudio/uni-stat","repository":{"type":"git","url":"git+https://github.com/dcloudio/uni-app.git","directory":"packages/uni-stat"},"scripts":{"build":"NODE_ENV=production rollup -c rollup.config.js","dev":"NODE_ENV=development rollup -w -c rollup.config.js"},"version":"2.0.0-26920200424005"}; |
8524 | 8525 | ||
8525 | /***/ }), | 8526 | /***/ }), |
8526 | /* 7 */ | 8527 | /* 7 */ |
8527 | /*!***************************************************************************!*\ | 8528 | /*!***************************************************************************!*\ |
8528 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages.json?{"type":"style"} ***! | 8529 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages.json?{"type":"style"} ***! |
8529 | \***************************************************************************/ | 8530 | \***************************************************************************/ |
8530 | /*! no static exports found */ | 8531 | /*! no static exports found */ |
8531 | /***/ (function(module, exports, __webpack_require__) { | 8532 | /***/ (function(module, exports, __webpack_require__) { |
8532 | 8533 | ||
8533 | "use strict"; | 8534 | "use strict"; |
8534 | Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _default = { "pages": { "pages/index/index": { "navigationBarTitleText": "商城一览" }, "pages/cart/cart": { "navigationBarTitleText": "购物车" }, "pages/user/user": { "navigationBarTitleText": "我的" } }, "globalStyle": { "navigationBarTextStyle": "black", "navigationBarTitleText": "uni-app", "navigationBarBackgroundColor": "#F8F8F8", "backgroundColor": "#F8F8F8" } };exports.default = _default; | 8535 | Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _default = { "pages": { "pages/index/index": { "navigationBarTitleText": "商城一览" }, "pages/cart/cart": { "navigationBarTitleText": "购物车" }, "pages/user/user": { "navigationBarTitleText": "我的" } }, "globalStyle": { "navigationBarTextStyle": "black", "navigationBarTitleText": "uni-app", "navigationBarBackgroundColor": "#F8F8F8", "backgroundColor": "#F8F8F8" } };exports.default = _default; |
8535 | 8536 | ||
8536 | /***/ }), | 8537 | /***/ }), |
8537 | /* 8 */ | 8538 | /* 8 */ |
8538 | /*!**************************************************************************!*\ | 8539 | /*!**************************************************************************!*\ |
8539 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages.json?{"type":"stat"} ***! | 8540 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages.json?{"type":"stat"} ***! |
8540 | \**************************************************************************/ | 8541 | \**************************************************************************/ |
8541 | /*! no static exports found */ | 8542 | /*! no static exports found */ |
8542 | /***/ (function(module, exports, __webpack_require__) { | 8543 | /***/ (function(module, exports, __webpack_require__) { |
8543 | 8544 | ||
8544 | "use strict"; | 8545 | "use strict"; |
8545 | Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _default = { "appid": "" };exports.default = _default; | 8546 | Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _default = { "appid": "" };exports.default = _default; |
8546 | 8547 | ||
8547 | /***/ }), | 8548 | /***/ }), |
8548 | /* 9 */, | 8549 | /* 9 */, |
8549 | /* 10 */, | 8550 | /* 10 */, |
8550 | /* 11 */, | 8551 | /* 11 */, |
8551 | /* 12 */, | 8552 | /* 12 */, |
8552 | /* 13 */, | 8553 | /* 13 */, |
8553 | /* 14 */ | 8554 | /* 14 */ |
8554 | /*!**********************************************************************************************************!*\ | 8555 | /*!**********************************************************************************************************!*\ |
8555 | !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js ***! | 8556 | !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js ***! |
8556 | \**********************************************************************************************************/ | 8557 | \**********************************************************************************************************/ |
8557 | /*! exports provided: default */ | 8558 | /*! exports provided: default */ |
8558 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | 8559 | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
8559 | 8560 | ||
8560 | "use strict"; | 8561 | "use strict"; |
8561 | __webpack_require__.r(__webpack_exports__); | 8562 | __webpack_require__.r(__webpack_exports__); |
8562 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return normalizeComponent; }); | 8563 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return normalizeComponent; }); |
8563 | /* globals __VUE_SSR_CONTEXT__ */ | 8564 | /* globals __VUE_SSR_CONTEXT__ */ |
8564 | 8565 | ||
8565 | // IMPORTANT: Do NOT use ES2015 features in this file (except for modules). | 8566 | // IMPORTANT: Do NOT use ES2015 features in this file (except for modules). |
8566 | // This module is a runtime utility for cleaner component module output and will | 8567 | // This module is a runtime utility for cleaner component module output and will |
8567 | // be included in the final webpack user bundle. | 8568 | // be included in the final webpack user bundle. |
8568 | 8569 | ||
8569 | function normalizeComponent ( | 8570 | function normalizeComponent ( |
8570 | scriptExports, | 8571 | scriptExports, |
8571 | render, | 8572 | render, |
8572 | staticRenderFns, | 8573 | staticRenderFns, |
8573 | functionalTemplate, | 8574 | functionalTemplate, |
8574 | injectStyles, | 8575 | injectStyles, |
8575 | scopeId, | 8576 | scopeId, |
8576 | moduleIdentifier, /* server only */ | 8577 | moduleIdentifier, /* server only */ |
8577 | shadowMode, /* vue-cli only */ | 8578 | shadowMode, /* vue-cli only */ |
8578 | components, // fixed by xxxxxx auto components | 8579 | components, // fixed by xxxxxx auto components |
8579 | renderjs // fixed by xxxxxx renderjs | 8580 | renderjs // fixed by xxxxxx renderjs |
8580 | ) { | 8581 | ) { |
8581 | // Vue.extend constructor export interop | 8582 | // Vue.extend constructor export interop |
8582 | var options = typeof scriptExports === 'function' | 8583 | var options = typeof scriptExports === 'function' |
8583 | ? scriptExports.options | 8584 | ? scriptExports.options |
8584 | : scriptExports | 8585 | : scriptExports |
8585 | 8586 | ||
8586 | // fixed by xxxxxx auto components | 8587 | // fixed by xxxxxx auto components |
8587 | if (components) { | 8588 | if (components) { |
8588 | if (!options.components) { | 8589 | if (!options.components) { |
8589 | options.components = {} | 8590 | options.components = {} |
8590 | } | 8591 | } |
8591 | var hasOwn = Object.prototype.hasOwnProperty | 8592 | var hasOwn = Object.prototype.hasOwnProperty |
8592 | for (var name in components) { | 8593 | for (var name in components) { |
8593 | if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) { | 8594 | if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) { |
8594 | options.components[name] = components[name] | 8595 | options.components[name] = components[name] |
8595 | } | 8596 | } |
8596 | } | 8597 | } |
8597 | } | 8598 | } |
8598 | // fixed by xxxxxx renderjs | 8599 | // fixed by xxxxxx renderjs |
8599 | if (renderjs) { | 8600 | if (renderjs) { |
8600 | (renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() { | 8601 | (renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() { |
8601 | this[renderjs.__module] = this | 8602 | this[renderjs.__module] = this |
8602 | }); | 8603 | }); |
8603 | (options.mixins || (options.mixins = [])).push(renderjs) | 8604 | (options.mixins || (options.mixins = [])).push(renderjs) |
8604 | } | 8605 | } |
8605 | 8606 | ||
8606 | // render functions | 8607 | // render functions |
8607 | if (render) { | 8608 | if (render) { |
8608 | options.render = render | 8609 | options.render = render |
8609 | options.staticRenderFns = staticRenderFns | 8610 | options.staticRenderFns = staticRenderFns |
8610 | options._compiled = true | 8611 | options._compiled = true |
8611 | } | 8612 | } |
8612 | 8613 | ||
8613 | // functional template | 8614 | // functional template |
8614 | if (functionalTemplate) { | 8615 | if (functionalTemplate) { |
8615 | options.functional = true | 8616 | options.functional = true |
8616 | } | 8617 | } |
8617 | 8618 | ||
8618 | // scopedId | 8619 | // scopedId |
8619 | if (scopeId) { | 8620 | if (scopeId) { |
8620 | options._scopeId = 'data-v-' + scopeId | 8621 | options._scopeId = 'data-v-' + scopeId |
8621 | } | 8622 | } |
8622 | 8623 | ||
8623 | var hook | 8624 | var hook |
8624 | if (moduleIdentifier) { // server build | 8625 | if (moduleIdentifier) { // server build |
8625 | hook = function (context) { | 8626 | hook = function (context) { |
8626 | // 2.3 injection | 8627 | // 2.3 injection |
8627 | context = | 8628 | context = |
8628 | context || // cached call | 8629 | context || // cached call |
8629 | (this.$vnode && this.$vnode.ssrContext) || // stateful | 8630 | (this.$vnode && this.$vnode.ssrContext) || // stateful |
8630 | (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional | 8631 | (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional |
8631 | // 2.2 with runInNewContext: true | 8632 | // 2.2 with runInNewContext: true |
8632 | if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { | 8633 | if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { |
8633 | context = __VUE_SSR_CONTEXT__ | 8634 | context = __VUE_SSR_CONTEXT__ |
8634 | } | 8635 | } |
8635 | // inject component styles | 8636 | // inject component styles |
8636 | if (injectStyles) { | 8637 | if (injectStyles) { |
8637 | injectStyles.call(this, context) | 8638 | injectStyles.call(this, context) |
8638 | } | 8639 | } |
8639 | // register component module identifier for async chunk inferrence | 8640 | // register component module identifier for async chunk inferrence |
8640 | if (context && context._registeredComponents) { | 8641 | if (context && context._registeredComponents) { |
8641 | context._registeredComponents.add(moduleIdentifier) | 8642 | context._registeredComponents.add(moduleIdentifier) |
8642 | } | 8643 | } |
8643 | } | 8644 | } |
8644 | // used by ssr in case component is cached and beforeCreate | 8645 | // used by ssr in case component is cached and beforeCreate |
8645 | // never gets called | 8646 | // never gets called |
8646 | options._ssrRegister = hook | 8647 | options._ssrRegister = hook |
8647 | } else if (injectStyles) { | 8648 | } else if (injectStyles) { |
8648 | hook = shadowMode | 8649 | hook = shadowMode |
8649 | ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } | 8650 | ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } |
8650 | : injectStyles | 8651 | : injectStyles |
8651 | } | 8652 | } |
8652 | 8653 | ||
8653 | if (hook) { | 8654 | if (hook) { |
8654 | if (options.functional) { | 8655 | if (options.functional) { |
8655 | // for template-only hot-reload because in that case the render fn doesn't | 8656 | // for template-only hot-reload because in that case the render fn doesn't |
8656 | // go through the normalizer | 8657 | // go through the normalizer |
8657 | options._injectStyles = hook | 8658 | options._injectStyles = hook |
8658 | // register for functioal component in vue file | 8659 | // register for functioal component in vue file |
8659 | var originalRender = options.render | 8660 | var originalRender = options.render |
8660 | options.render = function renderWithStyleInjection (h, context) { | 8661 | options.render = function renderWithStyleInjection (h, context) { |
8661 | hook.call(context) | 8662 | hook.call(context) |
8662 | return originalRender(h, context) | 8663 | return originalRender(h, context) |
8663 | } | 8664 | } |
8664 | } else { | 8665 | } else { |
8665 | // inject component registration as beforeCreate hook | 8666 | // inject component registration as beforeCreate hook |
8666 | var existing = options.beforeCreate | 8667 | var existing = options.beforeCreate |
8667 | options.beforeCreate = existing | 8668 | options.beforeCreate = existing |
8668 | ? [].concat(existing, hook) | 8669 | ? [].concat(existing, hook) |
8669 | : [hook] | 8670 | : [hook] |
8670 | } | 8671 | } |
8671 | } | 8672 | } |
8672 | 8673 | ||
8673 | return { | 8674 | return { |
8674 | exports: scriptExports, | 8675 | exports: scriptExports, |
8675 | options: options | 8676 | options: options |
8676 | } | 8677 | } |
8677 | } | 8678 | } |
8678 | 8679 | ||
8679 | 8680 | ||
8681 | /***/ }), | ||
8682 | /* 15 */, | ||
8683 | /* 16 */, | ||
8684 | /* 17 */, | ||
8685 | /* 18 */, | ||
8686 | /* 19 */, | ||
8687 | /* 20 */, | ||
8688 | /* 21 */ | ||
8689 | /*!**************************************************************!*\ | ||
8690 | !*** C:/Users/Administrator/Desktop/gulu-vue/common/data.js ***! | ||
8691 | \**************************************************************/ | ||
8692 | /*! no static exports found */ | ||
8693 | /***/ (function(module, exports, __webpack_require__) { | ||
8694 | |||
8695 | "use strict"; | ||
8696 | Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; // 数据格式,数据中只需要包含以下字段和数据格式,可以添加字段,比如id等等,不影响组件显示, | ||
8697 | // 组件的返回结果是有菜单数组下标形式返回, | ||
8698 | // 如果传入数据中有value,也会返回value,开发者可根据返回的下标获取所选中的菜单 | ||
8699 | /* | ||
8700 | [ | ||
8701 | { | ||
8702 | "name":"", //字符串类型 选填项 菜单名称,如不填,则取第一个子菜单的name值,filter和radio类型则将设置为"筛选" | ||
8703 | "type":"" //字符串类型 必填项 可取值 hierarchy/filter/radio hierarchy单/多层级菜单(最多三级); filter筛选多选菜单; radio筛选单选菜单 | ||
8704 | "submenu":[ //对象数组类型 必填项 子菜单数据 | ||
8705 | { | ||
8706 | "name":"", //字符串类型 必填项 菜单名称 | ||
8707 | "value":"", //字符串类型 选填项 自定义内容,比如id等等,如果填写了,confirm返回的结果中将返回对应选中的value,若菜单无value字段则返回null,filter类型此字段无效果 | ||
8708 | "submenu":[ //对象数组类型 必填项 子菜单数据 | ||
8709 | { | ||
8710 | "name":"", //字符串类型 必填项 菜单名称 | ||
8711 | "value":"", //字符串类型 选填项 自定义内容,比如id等等,如果填写了,confirm返回的结果中将返回对应选中的value,若菜单无value字段则返回null | ||
8712 | "submenu":[ //对象数组类型 必填项 子菜单数据 filter类型无效 | ||
8713 | { | ||
8714 | "name":"", //字符串类型 必填项 菜单名称 hierarchy类型层级最多到此 | ||
8715 | "value":"", //字符串类型 选填项 自定义内容,比如id等等,如果填写了,confirm返回的结果中将返回对应选中的value,若菜单无value字段则返回null | ||
8716 | } | ||
8717 | ] | ||
8718 | } | ||
8719 | ] | ||
8720 | } | ||
8721 | ] | ||
8722 | } | ||
8723 | ] | ||
8724 | */ | ||
8725 | |||
8726 | //0.0.4版本起 返回结果将有两部分组成: | ||
8727 | /* | ||
8728 | { | ||
8729 | index:[], //旧版本的下标数组形式 | ||
8730 | value:[] //菜单中的valve,结构和下标结果数组一样,只是把下标替换成了value而已 | ||
8731 | } | ||
8732 | */ | ||
8733 | // 以下演示数据中,我故意把value设置成跟name一样,只是为了方便演示,使示例更加易懂,实际使用时候value应该是一个标识,给后台识别所用的. | ||
8734 | // 数据较长,请仔细查看。 | ||
8735 | var _default = [ | ||
8736 | { | ||
8737 | "name": '综合', | ||
8738 | "type": 'filter', | ||
8739 | "submenu": [{ | ||
8740 | "submenu": [] }] }, | ||
8741 | |||
8742 | |||
8743 | |||
8744 | |||
8745 | |||
8746 | { | ||
8747 | name: '品牌', | ||
8748 | "type": 'filter', | ||
8749 | "submenu": [{ | ||
8750 | "name": '品牌', | ||
8751 | "value": "品牌", | ||
8752 | "submenu": [{ | ||
8753 | "name": "帕森", | ||
8754 | "value": "帕森" }, | ||
8755 | |||
8756 | { | ||
8757 | "name": "海伦凯勒", | ||
8758 | "value": "海伦凯勒" }] }] }, | ||
8759 | |||
8760 | |||
8761 | |||
8762 | |||
8763 | |||
8764 | { | ||
8765 | "name": '功能', | ||
8766 | "type": 'filter', | ||
8767 | "submenu": [{ | ||
8768 | "name": "智能排序", | ||
8769 | "value": "智能排序" }, | ||
8770 | |||
8771 | { | ||
8772 | "name": "离我最近", | ||
8773 | "value": "离我最近" }, | ||
8774 | |||
8775 | { | ||
8776 | "name": "人均从高到低", | ||
8777 | "value": "人均从高到低" }, | ||
8778 | |||
8779 | { | ||
8780 | "name": "人均从低到高", | ||
8781 | "value": "人均从低到高" }] }, | ||
8782 | |||
8783 | |||
8784 | |||
8785 | { | ||
8786 | "name": '材质', | ||
8787 | "type": 'filter', | ||
8788 | "submenu": [{ | ||
8789 | "submenu": [{ | ||
8790 | "name": "满减活动", | ||
8791 | "value": "满减活动" }, | ||
8792 | |||
8793 | { | ||
8794 | "name": "打折优惠", | ||
8795 | "value": "打折优惠" }, | ||
8796 | |||
8797 | { | ||
8798 | "name": "会员专享", | ||
8799 | "value": "会员专享" }] }] }, | ||
8800 | |||
8801 | |||
8802 | |||
8803 | |||
8804 | |||
8805 | { | ||
8806 | "name": '折扣', | ||
8807 | "type": 'filter', | ||
8808 | "submenu": [{ | ||
8809 | "name": "折扣(多选)", | ||
8810 | "submenu": [{ | ||
8811 | "name": "满减活动", | ||
8812 | "value": "满减活动" }, | ||
8813 | |||
8814 | { | ||
8815 | "name": "打折优惠", | ||
8816 | "value": "打折优惠" }, | ||
8817 | |||
8818 | { | ||
8819 | "name": "会员专享", | ||
8820 | "value": "会员专享" }] }] }];exports.default = _default; | ||
8821 | |||
8680 | /***/ }) | 8822 | /***/ }) |
8681 | ]]); | 8823 | ]]); |
8682 | //# sourceMappingURL=../../.sourcemap/mp-weixin/common/vendor.js.map | 8824 | //# sourceMappingURL=../../.sourcemap/mp-weixin/common/vendor.js.map |
unpackage/dist/dev/mp-weixin/components/HM-filterDropdown/HM-filterDropdown.js
File was created | 1 | (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["components/HM-filterDropdown/HM-filterDropdown"],{ | |
2 | |||
3 | /***/ 47: | ||
4 | /*!**************************************************************************************************!*\ | ||
5 | !*** C:/Users/Administrator/Desktop/gulu-vue/components/HM-filterDropdown/HM-filterDropdown.vue ***! | ||
6 | \**************************************************************************************************/ | ||
7 | /*! no static exports found */ | ||
8 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
9 | |||
10 | "use strict"; | ||
11 | __webpack_require__.r(__webpack_exports__); | ||
12 | /* harmony import */ var _HM_filterDropdown_vue_vue_type_template_id_b17dcada___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./HM-filterDropdown.vue?vue&type=template&id=b17dcada& */ 48); | ||
13 | /* harmony import */ var _HM_filterDropdown_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./HM-filterDropdown.vue?vue&type=script&lang=js& */ 50); | ||
14 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HM_filterDropdown_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HM_filterDropdown_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); | ||
15 | /* harmony import */ var _HM_filterDropdown_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./HM-filterDropdown.vue?vue&type=style&index=0&lang=scss& */ 52); | ||
16 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 14); | ||
17 | |||
18 | var renderjs | ||
19 | |||
20 | |||
21 | |||
22 | |||
23 | |||
24 | /* normalize component */ | ||
25 | |||
26 | var component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( | ||
27 | _HM_filterDropdown_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], | ||
28 | _HM_filterDropdown_vue_vue_type_template_id_b17dcada___WEBPACK_IMPORTED_MODULE_0__["render"], | ||
29 | _HM_filterDropdown_vue_vue_type_template_id_b17dcada___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], | ||
30 | false, | ||
31 | null, | ||
32 | null, | ||
33 | null, | ||
34 | false, | ||
35 | _HM_filterDropdown_vue_vue_type_template_id_b17dcada___WEBPACK_IMPORTED_MODULE_0__["components"], | ||
36 | renderjs | ||
37 | ) | ||
38 | |||
39 | component.options.__file = "C:/Users/Administrator/Desktop/gulu-vue/components/HM-filterDropdown/HM-filterDropdown.vue" | ||
40 | /* harmony default export */ __webpack_exports__["default"] = (component.exports); | ||
41 | |||
42 | /***/ }), | ||
43 | |||
44 | /***/ 48: | ||
45 | /*!*********************************************************************************************************************************!*\ | ||
46 | !*** C:/Users/Administrator/Desktop/gulu-vue/components/HM-filterDropdown/HM-filterDropdown.vue?vue&type=template&id=b17dcada& ***! | ||
47 | \*********************************************************************************************************************************/ | ||
48 | /*! exports provided: render, staticRenderFns, recyclableRender, components */ | ||
49 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
50 | |||
51 | "use strict"; | ||
52 | __webpack_require__.r(__webpack_exports__); | ||
53 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_HM_filterDropdown_vue_vue_type_template_id_b17dcada___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./HM-filterDropdown.vue?vue&type=template&id=b17dcada& */ 49); | ||
54 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_HM_filterDropdown_vue_vue_type_template_id_b17dcada___WEBPACK_IMPORTED_MODULE_0__["render"]; }); | ||
55 | |||
56 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_HM_filterDropdown_vue_vue_type_template_id_b17dcada___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); | ||
57 | |||
58 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_HM_filterDropdown_vue_vue_type_template_id_b17dcada___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); | ||
59 | |||
60 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_HM_filterDropdown_vue_vue_type_template_id_b17dcada___WEBPACK_IMPORTED_MODULE_0__["components"]; }); | ||
61 | |||
62 | |||
63 | |||
64 | /***/ }), | ||
65 | |||
66 | /***/ 49: | ||
67 | /*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ | ||
68 | !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/components/HM-filterDropdown/HM-filterDropdown.vue?vue&type=template&id=b17dcada& ***! | ||
69 | \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ | ||
70 | /*! exports provided: render, staticRenderFns, recyclableRender, components */ | ||
71 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
72 | |||
73 | "use strict"; | ||
74 | __webpack_require__.r(__webpack_exports__); | ||
75 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); | ||
76 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); | ||
77 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); | ||
78 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); | ||
79 | var components | ||
80 | var render = function() { | ||
81 | var _vm = this | ||
82 | var _h = _vm.$createElement | ||
83 | var _c = _vm._self._c || _h | ||
84 | } | ||
85 | var recyclableRender = false | ||
86 | var staticRenderFns = [] | ||
87 | render._withStripped = true | ||
88 | |||
89 | |||
90 | |||
91 | /***/ }), | ||
92 | |||
93 | /***/ 50: | ||
94 | /*!***************************************************************************************************************************!*\ | ||
95 | !*** C:/Users/Administrator/Desktop/gulu-vue/components/HM-filterDropdown/HM-filterDropdown.vue?vue&type=script&lang=js& ***! | ||
96 | \***************************************************************************************************************************/ | ||
97 | /*! no static exports found */ | ||
98 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
99 | |||
100 | "use strict"; | ||
101 | __webpack_require__.r(__webpack_exports__); | ||
102 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_HM_filterDropdown_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./HM-filterDropdown.vue?vue&type=script&lang=js& */ 51); | ||
103 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_HM_filterDropdown_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_HM_filterDropdown_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__); | ||
104 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_HM_filterDropdown_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_HM_filterDropdown_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); | ||
105 | /* harmony default export */ __webpack_exports__["default"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_HM_filterDropdown_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); | ||
106 | |||
107 | /***/ }), | ||
108 | |||
109 | /***/ 51: | ||
110 | /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ | ||
111 | !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/components/HM-filterDropdown/HM-filterDropdown.vue?vue&type=script&lang=js& ***! | ||
112 | \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ | ||
113 | /*! no static exports found */ | ||
114 | /***/ (function(module, exports, __webpack_require__) { | ||
115 | |||
116 | "use strict"; | ||
117 | Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; // | ||
118 | // | ||
119 | // | ||
120 | // | ||
121 | // | ||
122 | // | ||
123 | // | ||
124 | // | ||
125 | // | ||
126 | // | ||
127 | // | ||
128 | // | ||
129 | // | ||
130 | // | ||
131 | // | ||
132 | // | ||
133 | // | ||
134 | // | ||
135 | // | ||
136 | // | ||
137 | // | ||
138 | // | ||
139 | // | ||
140 | // | ||
141 | // | ||
142 | // | ||
143 | // | ||
144 | // | ||
145 | // | ||
146 | // | ||
147 | // | ||
148 | // | ||
149 | // | ||
150 | // | ||
151 | // | ||
152 | // | ||
153 | // | ||
154 | // | ||
155 | // | ||
156 | // | ||
157 | // | ||
158 | // | ||
159 | // | ||
160 | // | ||
161 | // | ||
162 | // | ||
163 | // | ||
164 | // | ||
165 | // | ||
166 | // | ||
167 | // | ||
168 | // | ||
169 | // | ||
170 | // | ||
171 | // | ||
172 | // | ||
173 | // | ||
174 | // | ||
175 | // | ||
176 | // | ||
177 | // | ||
178 | // | ||
179 | // | ||
180 | // | ||
181 | // | ||
182 | // | ||
183 | // | ||
184 | // | ||
185 | // | ||
186 | // | ||
187 | // | ||
188 | // | ||
189 | // | ||
190 | // | ||
191 | // | ||
192 | // | ||
193 | // | ||
194 | // | ||
195 | // | ||
196 | // | ||
197 | // | ||
198 | // | ||
199 | // | ||
200 | // | ||
201 | // | ||
202 | var _default = | ||
203 | { | ||
204 | data: function data() { | ||
205 | return { | ||
206 | subData: [], //菜单数据 | ||
207 | menu: [], //顶部横条数据 | ||
208 | showPage: -1, //菜单页面显示/隐藏动画控制 | ||
209 | pageState: [], //页面的状态 | ||
210 | activeMenuArr: [], //UI状态 | ||
211 | shadowActiveMenuArr: [], //记录选中 | ||
212 | defaultActive: [], | ||
213 | triangleDeg: [], //小三角形的翻转动画控制 | ||
214 | isShowMask: false, //遮罩层显示/隐藏动画控制 | ||
215 | maskVisibility: false, //遮罩层显示/隐藏状态 | ||
216 | //滚动区域定位 | ||
217 | firstScrollInto: 0, | ||
218 | secondScrollInto: 0, | ||
219 | componentTop: 0, //组件top | ||
220 | isReadNewSelect: false }; | ||
221 | |||
222 | }, | ||
223 | props: { | ||
224 | filterData: { | ||
225 | value: Array, | ||
226 | default: [] }, | ||
227 | |||
228 | defaultSelected: { | ||
229 | value: Array, | ||
230 | default: [] }, | ||
231 | |||
232 | updateMenuName: { | ||
233 | value: Boolean, | ||
234 | default: true }, | ||
235 | |||
236 | dataFormat: { | ||
237 | value: String, | ||
238 | default: 'Array' } }, | ||
239 | |||
240 | |||
241 | watch: { | ||
242 | filterData: { | ||
243 | handler: function handler() { | ||
244 | this.initMenu(); //filterData重新赋值初始化菜单 | ||
245 | }, | ||
246 | immediate: true }, | ||
247 | |||
248 | defaultSelected: function defaultSelected(newVal) { | ||
249 | if (newVal.length == 0) { | ||
250 | return; | ||
251 | } | ||
252 | this.defaultActive = JSON.parse(JSON.stringify(newVal)); | ||
253 | this.activeMenuArr = JSON.parse(JSON.stringify(newVal)); | ||
254 | this.shadowActiveMenuArr = JSON.parse(JSON.stringify(newVal)); | ||
255 | if (this.updateMenuName) { | ||
256 | this.setMenuName(); | ||
257 | } | ||
258 | } }, | ||
259 | |||
260 | methods: { | ||
261 | initMenu: function initMenu() { | ||
262 | var tmpMenuActiveArr = []; | ||
263 | var tmpMenu = []; | ||
264 | for (var i = 0; i < this.filterData.length; i++) { | ||
265 | var tmpitem = this.filterData[i]; | ||
266 | tmpMenu.push({ | ||
267 | //如果没有设置name,则取第一个菜单作为menu.name,filter类型则将"筛选"作为menu.name | ||
268 | name: tmpitem.name || (tmpitem.type == "filter" ? "筛选" : tmpitem.submenu[0].name), | ||
269 | type: tmpitem.type }); | ||
270 | |||
271 | //初始化选中项数组-ui状态 | ||
272 | tmpMenuActiveArr.push(this.processActive(tmpitem)); | ||
273 | //初始化角度数组 | ||
274 | this.triangleDeg.push(0); | ||
275 | //初始化控制显示状态数组 | ||
276 | this.pageState.push(false); | ||
277 | //递归处理子菜单数据 | ||
278 | tmpitem = this.processSubMenu(tmpitem); | ||
279 | this.filterData[i] = tmpitem; | ||
280 | } | ||
281 | this.menu = tmpMenu; | ||
282 | //初始化选中项数组 | ||
283 | tmpMenuActiveArr = this.defaultActive.length > 0 ? this.defaultActive : this.activeMenuArr.length > 0 ? this.activeMenuArr : tmpMenuActiveArr; | ||
284 | this.defaultActive = []; | ||
285 | this.activeMenuArr = JSON.parse(JSON.stringify(tmpMenuActiveArr)); | ||
286 | this.shadowActiveMenuArr = JSON.parse(JSON.stringify(tmpMenuActiveArr)); | ||
287 | //加载菜单数据 | ||
288 | this.subData = this.filterData; | ||
289 | //设定顶部菜单名字 | ||
290 | if (this.updateMenuName) { | ||
291 | this.setMenuName(); | ||
292 | } | ||
293 | }, | ||
294 | setMenuName: function setMenuName() { | ||
295 | for (var i = 0; i < this.activeMenuArr.length; i++) { | ||
296 | var row = this.activeMenuArr[i]; | ||
297 | if (typeof row[0] != 'object') { | ||
298 | var tmpsub = false; | ||
299 | if (row.length > 0 && row[0] != null) { | ||
300 | tmpsub = this.subData[i].submenu[row[0]]; | ||
301 | if (row.length > 1 && row[1] != null) { | ||
302 | tmpsub = tmpsub.submenu[row[1]]; | ||
303 | if (row.length > 2 && row[2] != null) { | ||
304 | tmpsub = tmpsub.submenu[row[2]]; | ||
305 | } | ||
306 | } | ||
307 | } else { | ||
308 | tmpsub = false; | ||
309 | } | ||
310 | if (tmpsub) { | ||
311 | this.menu[i].name = tmpsub.name; | ||
312 | } | ||
313 | } | ||
314 | } | ||
315 | }, | ||
316 | //展开更多 | ||
317 | showMoreSub: function showMoreSub(index) { | ||
318 | this.subData[this.showPage].submenu[this.activeMenuArr[this.showPage][0]].submenu[index].showAllSub = true; | ||
319 | this.$forceUpdate(); | ||
320 | }, | ||
321 | //选中 | ||
322 | selectHierarchyMenu: function selectHierarchyMenu(page_index, level1_index, level2_index, level3_index) { | ||
323 | //读取记录 | ||
324 | if (level1_index != null && level2_index == null && level3_index == null && this.shadowActiveMenuArr[page_index][0] == | ||
325 | level1_index) { | ||
326 | this.activeMenuArr.splice(page_index, 1, JSON.parse(JSON.stringify(this.shadowActiveMenuArr[page_index]))); | ||
327 | } else { | ||
328 | this.activeMenuArr[page_index].splice(0, 1, level1_index); | ||
329 | (level2_index != null || this.activeMenuArr[page_index].length >= 2) && this.activeMenuArr[page_index].splice(1, 1, level2_index) || this.activeMenuArr[page_index].splice(1, 1); | ||
330 | (level3_index != null || this.activeMenuArr[page_index].length >= 3) && this.activeMenuArr[page_index].splice(2, 1, level3_index) || this.activeMenuArr[page_index].splice(2, 1); | ||
331 | } | ||
332 | //写入结果 | ||
333 | if (level3_index != null || level2_index != null || level1_index != null && this.subData[page_index].submenu[level1_index].submenu.length == 0) | ||
334 | { | ||
335 | var sub = this.subData[page_index].submenu[level1_index].submenu[level2_index]; | ||
336 | if (this.updateMenuName) { | ||
337 | this.menu[page_index].name = level3_index != null && sub.submenu[level3_index].name || level2_index != null && sub.name || this.subData[page_index].submenu[level1_index].name; | ||
338 | } | ||
339 | this.shadowActiveMenuArr[page_index] = JSON.parse(JSON.stringify(this.activeMenuArr[page_index])); | ||
340 | this.togglePage(this.showPage); | ||
341 | } | ||
342 | }, | ||
343 | //写入结果,筛选 | ||
344 | setFilterData: function setFilterData(page_index) { | ||
345 | this.shadowActiveMenuArr[page_index] = JSON.parse(JSON.stringify(this.activeMenuArr[page_index])); | ||
346 | this.togglePage(this.showPage); | ||
347 | }, | ||
348 | //重置结果和ui,筛选 | ||
349 | resetFilterData: function resetFilterData(page_index) { | ||
350 | var tmpArr = []; | ||
351 | var level = this.shadowActiveMenuArr[page_index].length; | ||
352 | while (level > 0) { | ||
353 | tmpArr.push([]); | ||
354 | var box = this.subData[page_index].submenu[level - 1].submenu; | ||
355 | for (var i = 0; i < box.length; i++) { | ||
356 | this.subData[page_index].submenu[level - 1].submenu[i].selected = false; | ||
357 | } | ||
358 | level--; | ||
359 | } | ||
360 | this.activeMenuArr[page_index] = JSON.parse(JSON.stringify(tmpArr)); | ||
361 | this.$forceUpdate(); | ||
362 | }, | ||
363 | //选中筛选类label-UI状态 | ||
364 | selectFilterLabel: function selectFilterLabel(page_index, box_index, label_index) { | ||
365 | var find_index = this.activeMenuArr[page_index][box_index].indexOf(label_index); | ||
366 | if (find_index > -1) { | ||
367 | this.activeMenuArr[page_index][box_index].splice(find_index, 1); | ||
368 | this.subData[page_index].submenu[box_index].submenu[label_index].selected = false; | ||
369 | } else { | ||
370 | this.activeMenuArr[page_index][box_index].push(label_index); | ||
371 | this.subData[page_index].submenu[box_index].submenu[label_index].selected = true; | ||
372 | } | ||
373 | this.$forceUpdate(); | ||
374 | }, | ||
375 | //选中单选类label-UI状态 | ||
376 | selectRadioLabel: function selectRadioLabel(page_index, box_index, label_index) { | ||
377 | |||
378 | var activeIndex = this.activeMenuArr[page_index][box_index][0]; | ||
379 | if (activeIndex == label_index) { | ||
380 | this.subData[page_index].submenu[box_index].submenu[activeIndex].selected = false; | ||
381 | this.activeMenuArr[page_index][box_index][0] = null; | ||
382 | } else { | ||
383 | if (activeIndex != null && activeIndex < this.subData[page_index].submenu[box_index].submenu.length) { | ||
384 | this.subData[page_index].submenu[box_index].submenu[activeIndex].selected = false; | ||
385 | } | ||
386 | |||
387 | this.subData[page_index].submenu[box_index].submenu[label_index].selected = true; | ||
388 | this.activeMenuArr[page_index][box_index][0] = label_index; | ||
389 | } | ||
390 | this.$forceUpdate(); | ||
391 | }, | ||
392 | //菜单开关 | ||
393 | togglePage: function togglePage(index) { | ||
394 | if (index == this.showPage) { | ||
395 | this.hidePageLayer(true); | ||
396 | this.hideMask(); | ||
397 | this.showPage = -1; | ||
398 | } else { | ||
399 | if (this.showPage > -1) { | ||
400 | this.hidePageLayer(false); | ||
401 | } | ||
402 | this.showPageLayer(index); | ||
403 | this.showMask(); | ||
404 | } | ||
405 | }, | ||
406 | //hide遮罩层 | ||
407 | hideMask: function hideMask() {var _this = this; | ||
408 | this.isShowMask = false; | ||
409 | setTimeout(function () { | ||
410 | _this.maskVisibility = false; | ||
411 | }, 200); | ||
412 | }, | ||
413 | //show遮罩层 | ||
414 | showMask: function showMask() {var _this2 = this; | ||
415 | this.maskVisibility = true; | ||
416 | this.$nextTick(function () { | ||
417 | setTimeout(function () { | ||
418 | _this2.isShowMask = true; | ||
419 | }, 0); | ||
420 | }); | ||
421 | }, | ||
422 | //hide菜单页 | ||
423 | hidePageLayer: function hidePageLayer(isAnimation) {var _this3 = this; | ||
424 | this.triangleDeg[this.showPage] = 0; | ||
425 | var tmpIndex = this.showPage; | ||
426 | if (isAnimation) { | ||
427 | setTimeout(function () { | ||
428 | _this3.pageState.splice(tmpIndex, 1, false); | ||
429 | }, 200); | ||
430 | this.confirm(); | ||
431 | } else { | ||
432 | this.pageState.splice(tmpIndex, 1, false); | ||
433 | } | ||
434 | this.firstScrollInto = null; | ||
435 | this.secondScrollInto = null; | ||
436 | }, | ||
437 | confirm: function confirm() {var _this4 = this; | ||
438 | var index = JSON.parse(JSON.stringify(this.shadowActiveMenuArr)); | ||
439 | var value = JSON.parse(JSON.stringify(this.shadowActiveMenuArr)); | ||
440 | |||
441 | //对结果做一下处理 | ||
442 | index.forEach(function (item, i) { | ||
443 | if (typeof item[0] == 'object') { | ||
444 | //针对筛选结果过一个排序 | ||
445 | item.forEach(function (s, j) { | ||
446 | if (s != null) { | ||
447 | s.sort(function (val1, val2) { | ||
448 | return val1 - val2; | ||
449 | }); | ||
450 | item[j] = s; | ||
451 | s.forEach(function (v, k) { | ||
452 | value[i][j][k] = v == null || v >= _this4.subData[i].submenu[j].submenu.length ? null : _this4.subData[i].submenu[j].submenu[v].value; | ||
453 | if (_this4.subData[i].type == 'radio' && value[i][j][k] == null) { | ||
454 | value[i][j] = []; | ||
455 | index[i][j] = []; | ||
456 | } | ||
457 | }); | ||
458 | } | ||
459 | }); | ||
460 | } else { | ||
461 | var submenu = _this4.subData[i].submenu[item[0]]; | ||
462 | value[i][0] = submenu.value; | ||
463 | if (value[i].length >= 2 && item[1] != null) { | ||
464 | if (submenu.submenu.length > 0) { | ||
465 | submenu = submenu.submenu[item[1]]; | ||
466 | value[i][1] = submenu.hasOwnProperty('value') ? submenu.value : null; | ||
467 | } else { | ||
468 | value[i][1] = null; | ||
469 | } | ||
470 | if (value[i].length >= 3 && item[2] != null) { | ||
471 | if (submenu.submenu.length > 0) { | ||
472 | submenu = submenu.submenu[item[2]]; | ||
473 | value[i][2] = submenu.hasOwnProperty('value') ? submenu.value : null; | ||
474 | } else { | ||
475 | value[i][2] = null; | ||
476 | } | ||
477 | } | ||
478 | } | ||
479 | } | ||
480 | index[i] = item; | ||
481 | |||
482 | }); | ||
483 | // 输出 | ||
484 | this.$emit('confirm', { | ||
485 | index: index, | ||
486 | value: value }); | ||
487 | |||
488 | }, | ||
489 | //show菜单页 | ||
490 | showPageLayer: function showPageLayer(index) {var _this5 = this; | ||
491 | this.processPage(index); | ||
492 | this.pageState.splice(index, 1, true); | ||
493 | this.$nextTick(function () { | ||
494 | setTimeout(function () { | ||
495 | _this5.showPage = index; | ||
496 | }, 0); | ||
497 | }); | ||
498 | this.triangleDeg[index] = 180; | ||
499 | }, | ||
500 | reloadActiveMenuArr: function reloadActiveMenuArr() { | ||
501 | for (var i = 0; i < this.filterData.length; i++) { | ||
502 | var tmpitem = this.filterData[i]; | ||
503 | var tmpArr = this.processActive(tmpitem); | ||
504 | tmpitem = this.processSubMenu(tmpitem); | ||
505 | if (this.activeMenuArr[i].length != tmpArr.length) { | ||
506 | this.filterData[i] = tmpitem; | ||
507 | this.activeMenuArr.splice(i, 1, JSON.parse(JSON.stringify(tmpArr))); | ||
508 | this.shadowActiveMenuArr.splice(i, 1, JSON.parse(JSON.stringify(tmpArr))); | ||
509 | } | ||
510 | } | ||
511 | this.subData = this.filterData; | ||
512 | this.$forceUpdate(); | ||
513 | }, | ||
514 | processPage: function processPage(index) {var _this6 = this; | ||
515 | //check UI控制数组,结果数组,防止传入数据层级和UI控制数组不同步 | ||
516 | this.reloadActiveMenuArr(); | ||
517 | //重置UI控制数组 | ||
518 | this.activeMenuArr.splice(index, 1, JSON.parse(JSON.stringify(this.shadowActiveMenuArr[index]))); | ||
519 | if (this.menu[index].type == 'filter') { | ||
520 | //重载筛选页选中状态 | ||
521 | var level = this.shadowActiveMenuArr[index].length; | ||
522 | for (var i = 0; i < level; i++) { | ||
523 | var box = this.subData[index].submenu[i].submenu; | ||
524 | for (var j = 0; j < box.length; j++) { | ||
525 | if (this.shadowActiveMenuArr[index][i].indexOf(j) > -1) { | ||
526 | this.subData[index].submenu[i].submenu[j].selected = true; | ||
527 | } else { | ||
528 | this.subData[index].submenu[i].submenu[j].selected = false; | ||
529 | } | ||
530 | } | ||
531 | } | ||
532 | } else if (this.menu[index].type == 'hierarchy') { | ||
533 | this.$nextTick(function () { | ||
534 | setTimeout(function () { | ||
535 | //滚动到选中项 | ||
536 | _this6.firstScrollInto = parseInt(_this6.activeMenuArr[index][0]); | ||
537 | _this6.secondScrollInto = parseInt(_this6.activeMenuArr[index][1]); | ||
538 | }, 0); | ||
539 | }); | ||
540 | } else if (this.menu[index].type == 'radio') { | ||
541 | //重载筛选页选中状态 | ||
542 | var _level = this.shadowActiveMenuArr[index].length; | ||
543 | for (var _i = 0; _i < _level; _i++) { | ||
544 | var _box = this.subData[index].submenu[_i].submenu; | ||
545 | for (var _j = 0; _j < _box.length; _j++) { | ||
546 | if (this.shadowActiveMenuArr[index][_i].indexOf(_j) > -1) { | ||
547 | this.subData[index].submenu[_i].submenu[_j].selected = true; | ||
548 | } else { | ||
549 | this.subData[index].submenu[_i].submenu[_j].selected = false; | ||
550 | } | ||
551 | } | ||
552 | } | ||
553 | } | ||
554 | }, | ||
555 | processActive: function processActive(tmpitem) { | ||
556 | var tmpArr = []; | ||
557 | if (tmpitem.type == 'hierarchy' && tmpitem.hasOwnProperty('submenu') && tmpitem.submenu.length > 0) { | ||
558 | var level = this.getMaxFloor(tmpitem.submenu); | ||
559 | while (level > 0) { | ||
560 | tmpArr.push(0); | ||
561 | level--; | ||
562 | } | ||
563 | } else if (tmpitem.type == 'filter') { | ||
564 | var _level2 = tmpitem.submenu.length; | ||
565 | while (_level2 > 0) { | ||
566 | tmpArr.push([]); | ||
567 | _level2--; | ||
568 | } | ||
569 | } else if (tmpitem.type == 'radio') { | ||
570 | var _level3 = tmpitem.submenu.length; | ||
571 | while (_level3 > 0) { | ||
572 | tmpArr.push([]); | ||
573 | _level3--; | ||
574 | } | ||
575 | } | ||
576 | return tmpArr; | ||
577 | }, | ||
578 | processSubMenu: function processSubMenu(menu) { | ||
579 | if (menu.hasOwnProperty('submenu') && menu.submenu.length > 0) { | ||
580 | for (var i = 0; i < menu.submenu.length; i++) { | ||
581 | menu.submenu[i] = this.processSubMenu(menu.submenu[i]); | ||
582 | } | ||
583 | } else { | ||
584 | menu.submenu = []; | ||
585 | } | ||
586 | return menu; | ||
587 | }, | ||
588 | //计算菜单层级 | ||
589 | getMaxFloor: function getMaxFloor(treeData) { | ||
590 | var floor = 0; | ||
591 | var max = 0; | ||
592 | function each(data, floor) { | ||
593 | data.forEach(function (e) { | ||
594 | max = floor > max ? floor : max; | ||
595 | if (e.hasOwnProperty('submenu') && e.submenu.length > 0) { | ||
596 | each(e.submenu, floor + 1); | ||
597 | } | ||
598 | }); | ||
599 | } | ||
600 | each(treeData, 1); | ||
601 | return max; | ||
602 | }, | ||
603 | discard: function discard() { | ||
604 | |||
605 | } } };exports.default = _default; | ||
606 | |||
607 | /***/ }), | ||
608 | |||
609 | /***/ 52: | ||
610 | /*!************************************************************************************************************************************!*\ | ||
611 | !*** C:/Users/Administrator/Desktop/gulu-vue/components/HM-filterDropdown/HM-filterDropdown.vue?vue&type=style&index=0&lang=scss& ***! | ||
612 | \************************************************************************************************************************************/ | ||
613 | /*! no static exports found */ | ||
614 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
615 | |||
616 | "use strict"; | ||
617 | __webpack_require__.r(__webpack_exports__); | ||
618 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_HM_filterDropdown_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./HM-filterDropdown.vue?vue&type=style&index=0&lang=scss& */ 53); | ||
619 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_HM_filterDropdown_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_HM_filterDropdown_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__); | ||
620 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_HM_filterDropdown_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_HM_filterDropdown_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); | ||
621 | /* harmony default export */ __webpack_exports__["default"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_HM_filterDropdown_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default.a); | ||
622 | |||
623 | /***/ }), | ||
624 | |||
625 | /***/ 53: | ||
626 | /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ | ||
627 | !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/components/HM-filterDropdown/HM-filterDropdown.vue?vue&type=style&index=0&lang=scss& ***! | ||
628 | \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ | ||
629 | /*! no static exports found */ | ||
630 | /***/ (function(module, exports, __webpack_require__) { | ||
631 | |||
632 | // extracted by mini-css-extract-plugin | ||
633 | if(false) { var cssReload; } | ||
634 | |||
635 | |||
636 | /***/ }) | ||
637 | |||
638 | }]); | ||
639 | //# sourceMappingURL=../../../.sourcemap/mp-weixin/components/HM-filterDropdown/HM-filterDropdown.js.map | ||
640 | ;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ | ||
641 | 'components/HM-filterDropdown/HM-filterDropdown-create-component', | ||
642 | { | ||
643 | 'components/HM-filterDropdown/HM-filterDropdown-create-component':(function(module, exports, __webpack_require__){ | ||
644 | __webpack_require__('1')['createComponent'](__webpack_require__(47)) | ||
645 | }) | ||
646 | }, | ||
647 | [['components/HM-filterDropdown/HM-filterDropdown-create-component']] | ||
648 | ]); | ||
649 |
unpackage/dist/dev/mp-weixin/components/HM-filterDropdown/HM-filterDropdown.json
File was created | 1 | { | |
2 | "usingComponents": {}, | ||
3 | "component": true | ||
4 | } |
unpackage/dist/dev/mp-weixin/components/HM-filterDropdown/HM-filterDropdown.wxml
File was created | 1 | <view data-event-opts="{{[['touchmove',[['discard',['$event']]]],['tap',[['discard',['$event']]]]]}}" class="HMfilterDropdown" catchtouchmove="__e" catchtap="__e"><view class="nav"><block wx:for="{{menu}}" wx:for-item="item" wx:for-index="index" wx:key="index"><block><view data-event-opts="{{[['tap',[['togglePage',[index]]]]]}}" class="{{['first-menu',(showPage==index)?'on':'']}}" bindtap="__e"><text class="name">{{item.name}}</text><text class="iconfont triangle" style="{{('transform:rotate('+triangleDeg[index]+'deg);')}}"></text></view></block></block></view><view data-event-opts="{{[['tap',[['togglePage',['$0'],['showPage']]]]]}}" class="{{['mask',(isShowMask)?'show':'',(maskVisibility!=true)?'hide':'']}}" bindtap="__e"></view><block wx:for="{{subData}}" wx:for-item="page" wx:for-index="page_index" wx:key="page_index"><block><view class="{{['sub-menu-class',(showPage==page_index)?'show':'',(pageState[page_index]!=true)?'hide':'']}}"><block wx:if="{{page.type=='hierarchy'&&page.submenu.length>0}}"><block><scroll-view class="{{['sub-menu-list',activeMenuArr[page_index].length>1?'first':'alone']}}" scroll-y="{{true}}" scroll-into-view="{{'first_id'+firstScrollInto}}"><block wx:for="{{page.submenu}}" wx:for-item="sub" wx:for-index="index" wx:key="index"><block><view class="{{['sub-menu',(activeMenuArr[page_index][0]==index)?'on':'']}}" id="{{'first_id'+index}}" data-event-opts="{{[['tap',[['selectHierarchyMenu',[page_index,index,null,null]]]]]}}" bindtap="__e"><view class="menu-name"><text>{{sub.name}}</text><text class="iconfont selected"></text></view></view></block></block></scroll-view><block wx:for="{{page.submenu}}" wx:for-item="sub" wx:for-index="index" wx:key="index"><block><block wx:if="{{activeMenuArr[page_index][0]==index&&sub.submenu.length>0}}"><scroll-view class="sub-menu-list not-first" scroll-y="{{true}}" scroll-into-view="{{'second_id'+secondScrollInto}}"><block wx:for="{{sub.submenu}}" wx:for-item="sub_second" wx:for-index="second_index" wx:key="second_index"><block><view class="{{['sub-menu',(activeMenuArr[page_index][1]==second_index)?'on':'']}}" id="{{'second_id'+second_index}}"><view data-event-opts="{{[['tap',[['selectHierarchyMenu',[page_index,'$0',second_index,null],['activeMenuArr.'+page_index+'.__$n0']]]]]}}" class="menu-name" bindtap="__e"><text>{{sub_second.name}}</text><text class="iconfont selected"></text></view><block wx:if="{{sub_second.submenu&&sub.submenu.length>0&&sub_second.submenu.length>0}}"><view class="more-sub-menu"><block wx:for="{{sub_second.submenu}}" wx:for-item="sub2" wx:for-index="sub2_index" wx:key="sub2_index"><block><block wx:if="{{sub_second.showAllSub||sub2_index<8}}"><text data-event-opts="{{[['tap',[['selectHierarchyMenu',[page_index,'$0',second_index,sub2_index],['activeMenuArr.'+page_index+'.__$n0']]]]]}}" class="{{[(activeMenuArr[page_index][1]==second_index&&activeMenuArr[page_index][2]==sub2_index)?'on':'']}}" bindtap="__e">{{sub2.name}}</text></block><block wx:if="{{sub_second.showAllSub!=true&&sub2_index==8&&sub_second.submenu.length>9}}"><text data-event-opts="{{[['tap',[['showMoreSub',[second_index]]]]]}}" bindtap="__e">更多<text class="iconfont triangle"></text></text></block></block></block></view></block></view></block></block></scroll-view></block></block></block></block></block><block wx:if="{{page.type=='filter'}}"><block><view class="filter"><scroll-view class="menu-box" scroll-y="{{true}}"><block wx:for="{{page.submenu}}" wx:for-item="box" wx:for-index="box_index" wx:key="box_index"><view class="box"><view class="title">{{box.name}}</view><view class="labels"><block wx:for="{{box.submenu}}" wx:for-item="label" wx:for-index="label_index" wx:key="label_index"><view data-event-opts="{{[['tap',[['selectFilterLabel',[page_index,box_index,label_index]]]]]}}" class="{{[(label.selected)?'on':'']}}" bindtap="__e">{{label.name}}</view></block></view></view></block></scroll-view><view class="btn-box"><view data-event-opts="{{[['tap',[['resetFilterData',[page_index]]]]]}}" class="reset" bindtap="__e">重置</view><view data-event-opts="{{[['tap',[['setFilterData',[page_index]]]]]}}" class="submit" bindtap="__e">确定</view></view></view></block></block><block wx:if="{{page.type=='radio'}}"><block><view class="filter"><scroll-view class="menu-box" scroll-y="{{true}}"><block wx:for="{{page.submenu}}" wx:for-item="box" wx:for-index="box_index" wx:key="box_index"><view class="box"><view class="title">{{box.name}}</view><view class="labels"><block wx:for="{{box.submenu}}" wx:for-item="label" wx:for-index="label_index" wx:key="label_index"><view data-event-opts="{{[['tap',[['selectRadioLabel',[page_index,box_index,label_index]]]]]}}" class="{{[(label.selected)?'on':'']}}" bindtap="__e">{{label.name}}</view></block></view></view></block></scroll-view><view class="btn-box"><view data-event-opts="{{[['tap',[['resetFilterData',[page_index]]]]]}}" class="reset" bindtap="__e">重置</view><view data-event-opts="{{[['tap',[['setFilterData',[page_index]]]]]}}" class="submit" bindtap="__e">确定</view></view></view></block></block></view></block></block></view> |
unpackage/dist/dev/mp-weixin/components/HM-filterDropdown/HM-filterDropdown.wxss
File was created | 1 | @charset "UTF-8"; | |
2 | /** | ||
3 | * 这里是uni-app内置的常用样式变量 | ||
4 | * | ||
5 | * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 | ||
6 | * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App | ||
7 | * | ||
8 | */ | ||
9 | /** | ||
10 | * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 | ||
11 | * | ||
12 | * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 | ||
13 | */ | ||
14 | /* 颜色变量 */ | ||
15 | /* 行为相关颜色 */ | ||
16 | /* 文字基本颜色 */ | ||
17 | /* 背景颜色 */ | ||
18 | /* 边框颜色 */ | ||
19 | /* 尺寸变量 */ | ||
20 | /* 文字尺寸 */ | ||
21 | /* 图片尺寸 */ | ||
22 | /* Border Radius */ | ||
23 | /* 水平间距 */ | ||
24 | /* 垂直间距 */ | ||
25 | /* 透明度 */ | ||
26 | /* 文章场景相关 */ | ||
27 | .HMfilterDropdown { | ||
28 | -webkit-flex-shrink: 0; | ||
29 | flex-shrink: 0; | ||
30 | width: 100%; | ||
31 | height: 44px; | ||
32 | position: fixed; | ||
33 | z-index: 997; | ||
34 | -webkit-flex-wrap: nowrap; | ||
35 | flex-wrap: nowrap; | ||
36 | display: -webkit-box; | ||
37 | display: -webkit-flex; | ||
38 | display: flex; | ||
39 | -webkit-box-orient: horizontal; | ||
40 | -webkit-box-direction: normal; | ||
41 | -webkit-flex-direction: row; | ||
42 | flex-direction: row; | ||
43 | top: 0px; | ||
44 | left: 0; | ||
45 | } | ||
46 | .HMfilterDropdown view { | ||
47 | display: -webkit-box; | ||
48 | display: -webkit-flex; | ||
49 | display: flex; | ||
50 | -webkit-flex-wrap: nowrap; | ||
51 | flex-wrap: nowrap; | ||
52 | } | ||
53 | .region { | ||
54 | -webkit-box-flex: 1; | ||
55 | -webkit-flex: 1; | ||
56 | flex: 1; | ||
57 | height: 44px; | ||
58 | } | ||
59 | .nav { | ||
60 | width: 100%; | ||
61 | height: 44px; | ||
62 | border-bottom: solid 1rpx #eee; | ||
63 | z-index: 12; | ||
64 | background-color: #ffffff; | ||
65 | -webkit-box-orient: horizontal; | ||
66 | -webkit-box-direction: normal; | ||
67 | -webkit-flex-direction: row; | ||
68 | flex-direction: row; | ||
69 | } | ||
70 | .nav .first-menu { | ||
71 | width: 100%; | ||
72 | font-size: 13px; | ||
73 | color: #757575; | ||
74 | -webkit-box-orient: horizontal; | ||
75 | -webkit-box-direction: normal; | ||
76 | -webkit-flex-direction: row; | ||
77 | flex-direction: row; | ||
78 | -webkit-box-align: center; | ||
79 | -webkit-align-items: center; | ||
80 | align-items: center; | ||
81 | -webkit-box-pack: center; | ||
82 | -webkit-justify-content: center; | ||
83 | justify-content: center; | ||
84 | -webkit-transition: color .2s linear; | ||
85 | transition: color .2s linear; | ||
86 | } | ||
87 | .nav .first-menu.on { | ||
88 | color: #ec652b; | ||
89 | } | ||
90 | .nav .first-menu.on .iconfont { | ||
91 | color: #ec652b; | ||
92 | } | ||
93 | .nav .first-menu .name { | ||
94 | height: 20px; | ||
95 | text-align: center; | ||
96 | text-overflow: clip; | ||
97 | overflow: hidden; | ||
98 | } | ||
99 | .nav .first-menu .iconfont { | ||
100 | width: 13px; | ||
101 | height: 13px; | ||
102 | -webkit-box-align: center; | ||
103 | -webkit-align-items: center; | ||
104 | align-items: center; | ||
105 | -webkit-box-pack: center; | ||
106 | -webkit-justify-content: center; | ||
107 | justify-content: center; | ||
108 | -webkit-transition: color .2s linear, -webkit-transform .2s linear; | ||
109 | transition: color .2s linear, -webkit-transform .2s linear; | ||
110 | transition: transform .2s linear, color .2s linear; | ||
111 | transition: transform .2s linear, color .2s linear, -webkit-transform .2s linear; | ||
112 | } | ||
113 | .sub-menu-class { | ||
114 | width: 100%; | ||
115 | position: absolute; | ||
116 | left: 0; | ||
117 | -webkit-transform: translate3d(0, -100%, 0); | ||
118 | transform: translate3d(0, -100%, 0); | ||
119 | max-height: 345px; | ||
120 | background-color: #ffffff; | ||
121 | z-index: 11; | ||
122 | -webkit-box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); | ||
123 | box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1); | ||
124 | overflow: hidden; | ||
125 | -webkit-box-orient: horizontal; | ||
126 | -webkit-box-direction: normal; | ||
127 | -webkit-flex-direction: row; | ||
128 | flex-direction: row; | ||
129 | -webkit-transition: -webkit-transform .15s linear; | ||
130 | transition: -webkit-transform .15s linear; | ||
131 | transition: transform .15s linear; | ||
132 | transition: transform .15s linear, -webkit-transform .15s linear; | ||
133 | } | ||
134 | .sub-menu-class.hide { | ||
135 | display: none; | ||
136 | } | ||
137 | .sub-menu-class.show { | ||
138 | -webkit-transform: translate3d(0, calc(44px + 1rpx), 0); | ||
139 | transform: translate3d(0, calc(44px + 1rpx), 0); | ||
140 | } | ||
141 | .sub-menu-list { | ||
142 | width: 100%; | ||
143 | height: 345px; | ||
144 | -webkit-box-orient: vertical; | ||
145 | -webkit-box-direction: normal; | ||
146 | -webkit-flex-direction: column; | ||
147 | flex-direction: column; | ||
148 | } | ||
149 | .sub-menu-list .sub-menu { | ||
150 | min-height: 44px; | ||
151 | font-size: 13px; | ||
152 | -webkit-box-orient: vertical; | ||
153 | -webkit-box-direction: normal; | ||
154 | -webkit-flex-direction: column; | ||
155 | flex-direction: column; | ||
156 | padding-right: 15px; | ||
157 | } | ||
158 | .sub-menu-list .sub-menu > .menu-name { | ||
159 | height: 44px; | ||
160 | -webkit-box-orient: horizontal; | ||
161 | -webkit-box-direction: normal; | ||
162 | -webkit-flex-direction: row; | ||
163 | flex-direction: row; | ||
164 | -webkit-box-align: center; | ||
165 | -webkit-align-items: center; | ||
166 | align-items: center; | ||
167 | -webkit-box-pack: justify; | ||
168 | -webkit-justify-content: space-between; | ||
169 | justify-content: space-between; | ||
170 | } | ||
171 | .sub-menu-list .sub-menu > .menu-name > .iconfont { | ||
172 | display: none; | ||
173 | font-size: 18px; | ||
174 | color: #ec652b; | ||
175 | } | ||
176 | .sub-menu-list.first { | ||
177 | -webkit-flex-shrink: 0; | ||
178 | flex-shrink: 0; | ||
179 | width: 236rpx; | ||
180 | background-color: #f0f0f0; | ||
181 | } | ||
182 | .sub-menu-list.first .sub-menu { | ||
183 | padding-left: 15px; | ||
184 | } | ||
185 | .sub-menu-list.first .sub-menu.on { | ||
186 | background-color: #fff; | ||
187 | } | ||
188 | .sub-menu-list.alone { | ||
189 | max-height: 345px; | ||
190 | min-height: 170px; | ||
191 | height: auto; | ||
192 | } | ||
193 | .sub-menu-list.alone .sub-menu { | ||
194 | min-height: calc(44px - 1rpx); | ||
195 | margin-left: 15px; | ||
196 | border-bottom: solid 1rpx #e5e5e5; | ||
197 | } | ||
198 | .sub-menu-list.alone .sub-menu.on { | ||
199 | color: #ec652b; | ||
200 | } | ||
201 | .sub-menu-list.alone .sub-menu.on > .menu-name > .iconfont { | ||
202 | display: block; | ||
203 | } | ||
204 | .sub-menu-list.not-first .sub-menu { | ||
205 | min-height: calc(44px - 1rpx); | ||
206 | margin-left: 15px; | ||
207 | border-bottom: solid 1rpx #e5e5e5; | ||
208 | } | ||
209 | .sub-menu-list.not-first .sub-menu > .menu-name { | ||
210 | height: calc(44px - 1rpx); | ||
211 | } | ||
212 | .sub-menu-list.not-first .sub-menu > .menu-name > .iconfont { | ||
213 | display: none; | ||
214 | font-size: 18px; | ||
215 | color: #ec652b; | ||
216 | } | ||
217 | .sub-menu-list.not-first .sub-menu.on { | ||
218 | color: #ec652b; | ||
219 | } | ||
220 | .sub-menu-list.not-first .sub-menu.on > .menu-name > .iconfont { | ||
221 | display: block; | ||
222 | } | ||
223 | .sub-menu-list.not-first .sub-menu .more-sub-menu { | ||
224 | -webkit-box-orient: horizontal; | ||
225 | -webkit-box-direction: normal; | ||
226 | -webkit-flex-direction: row; | ||
227 | flex-direction: row; | ||
228 | -webkit-flex-wrap: wrap; | ||
229 | flex-wrap: wrap; | ||
230 | padding-bottom: 9px; | ||
231 | } | ||
232 | .sub-menu-list.not-first .sub-menu .more-sub-menu > text { | ||
233 | height: 30px; | ||
234 | border-radius: 3px; | ||
235 | background-color: #f5f5f5; | ||
236 | color: #9b9b9b; | ||
237 | margin-bottom: 6px; | ||
238 | margin-right: 6px; | ||
239 | text-align: center; | ||
240 | line-height: 30px; | ||
241 | border: solid #f5f5f5 1rpx; | ||
242 | -webkit-box-flex: 0; | ||
243 | -webkit-flex: 0 0 calc(33.33% - 6px); | ||
244 | flex: 0 0 calc(33.33% - 6px); | ||
245 | overflow: hidden; | ||
246 | font-size: 12px; | ||
247 | } | ||
248 | .sub-menu-list.not-first .sub-menu .more-sub-menu > text:nth-child(3n) { | ||
249 | margin-right: 0; | ||
250 | } | ||
251 | .sub-menu-list.not-first .sub-menu .more-sub-menu > text.on { | ||
252 | border-color: #f6c8ac; | ||
253 | color: #ec652b; | ||
254 | } | ||
255 | .sub-menu-list.not-first .sub-menu .more-sub-menu > text .iconfont { | ||
256 | color: #9b9b9b; | ||
257 | } | ||
258 | .filter { | ||
259 | width: 100%; | ||
260 | height: 345px; | ||
261 | display: -webkit-box; | ||
262 | display: -webkit-flex; | ||
263 | display: flex; | ||
264 | -webkit-box-orient: vertical; | ||
265 | -webkit-box-direction: normal; | ||
266 | -webkit-flex-direction: column; | ||
267 | flex-direction: column; | ||
268 | -webkit-box-pack: justify; | ||
269 | -webkit-justify-content: space-between; | ||
270 | justify-content: space-between; | ||
271 | -webkit-box-align: center; | ||
272 | -webkit-align-items: center; | ||
273 | align-items: center; | ||
274 | } | ||
275 | .filter .menu-box { | ||
276 | width: 698rpx; | ||
277 | height: calc(345px - 75px); | ||
278 | -webkit-flex-shrink: 1; | ||
279 | flex-shrink: 1; | ||
280 | } | ||
281 | .filter .menu-box .box { | ||
282 | width: 100%; | ||
283 | margin-top: 16px; | ||
284 | -webkit-box-orient: vertical; | ||
285 | -webkit-box-direction: normal; | ||
286 | -webkit-flex-direction: column; | ||
287 | flex-direction: column; | ||
288 | } | ||
289 | .filter .menu-box .box .title { | ||
290 | width: 100%; | ||
291 | font-size: 13px; | ||
292 | color: #888; | ||
293 | } | ||
294 | .filter .menu-box .box .labels { | ||
295 | -webkit-box-orient: horizontal; | ||
296 | -webkit-box-direction: normal; | ||
297 | -webkit-flex-direction: row; | ||
298 | flex-direction: row; | ||
299 | -webkit-flex-wrap: wrap; | ||
300 | flex-wrap: wrap; | ||
301 | } | ||
302 | .filter .menu-box .box .labels .on { | ||
303 | border-color: #ec652b; | ||
304 | background-color: #ec652b; | ||
305 | color: #fff; | ||
306 | } | ||
307 | .filter .menu-box .box .labels > view { | ||
308 | width: 148rpx; | ||
309 | height: 30px; | ||
310 | border: solid 1rpx #adadad; | ||
311 | border-radius: 2px; | ||
312 | margin-right: 15px; | ||
313 | margin-top: 8px; | ||
314 | font-size: 12px; | ||
315 | -webkit-box-orient: horizontal; | ||
316 | -webkit-box-direction: normal; | ||
317 | -webkit-flex-direction: row; | ||
318 | flex-direction: row; | ||
319 | -webkit-box-pack: center; | ||
320 | -webkit-justify-content: center; | ||
321 | justify-content: center; | ||
322 | -webkit-box-align: center; | ||
323 | -webkit-align-items: center; | ||
324 | align-items: center; | ||
325 | } | ||
326 | .filter .menu-box .box .labels > view:nth-child(4n) { | ||
327 | margin-right: 0; | ||
328 | } | ||
329 | .filter .btn-box { | ||
330 | -webkit-flex-shrink: 0; | ||
331 | flex-shrink: 0; | ||
332 | width: 698rpx; | ||
333 | height: 75px; | ||
334 | -webkit-box-orient: horizontal !important; | ||
335 | -webkit-box-direction: normal !important; | ||
336 | -webkit-flex-direction: row !important; | ||
337 | flex-direction: row !important; | ||
338 | -webkit-box-align: center; | ||
339 | -webkit-align-items: center; | ||
340 | align-items: center; | ||
341 | -webkit-box-pack: justify; | ||
342 | -webkit-justify-content: space-between; | ||
343 | justify-content: space-between; | ||
344 | } | ||
345 | .filter .btn-box > view { | ||
346 | width: 320rpx; | ||
347 | height: 40px; | ||
348 | border-radius: 40px; | ||
349 | border: solid 1rpx #ec652b; | ||
350 | -webkit-box-align: center; | ||
351 | -webkit-align-items: center; | ||
352 | align-items: center; | ||
353 | -webkit-box-pack: center; | ||
354 | -webkit-justify-content: center; | ||
355 | justify-content: center; | ||
356 | } | ||
357 | .filter .btn-box .reset { | ||
358 | color: #ec652b; | ||
359 | } | ||
360 | .filter .btn-box .submit { | ||
361 | color: #fff; | ||
362 | background-color: #ec652b; | ||
363 | } | ||
364 | .mask { | ||
365 | z-index: 10; | ||
366 | position: fixed; | ||
367 | top: 0; | ||
368 | left: 0; | ||
369 | right: 0; | ||
370 | bottom: 0; | ||
371 | background-color: transparent; | ||
372 | -webkit-transition: background-color .15s linear; | ||
373 | transition: background-color .15s linear; | ||
374 | } | ||
375 | .mask.show { | ||
376 | background-color: rgba(0, 0, 0, 0.5); | ||
377 | } | ||
378 | .mask.hide { | ||
379 | display: none; | ||
380 | } | ||
381 | /* 字体图标 */ | ||
382 | @font-face { | ||
383 | font-family: "HM-FD-font"; | ||
384 | src: url("data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAALAAAsAAAAABpQAAAJzAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgp4gQIBNgIkAwwLCAAEIAWEbQc5G8sFERWMIbIfCbbzqA4hp7InSBibVsYGb4J42o82b3e/nJlHMw/NHbGOlwKJRCRpwzPtpAECCOZubdqxjYpQLMlVg+70/08edrgQOtx2ukpVyApZn+dyehPoQObHo3O85rYx9vOjXoBxQIHugW2yIkqIW2QXcScu4jwE8CSWbKSmrqUHFwOaJoCsLM5P4haSGIxRcRHshrUGucLCVcfqI3AZfV/+USguKCwNmtsxVztDxU/n55C+3W0Z4QQpEOTNFqCBbMCAjDUWB9CIwWk87aa70cYgqLkyd3dEmm+18R8eKATEBrV7A5CulBT8dKiWOYZk412XNcDdKSEKSGODnyKIDl+dmVt9/Dx4pu/xyeutkMlHISGPTsPCnoTNP9nOT6wTtDdlO6dPr47efvj942lkYuQzrhMKEjq9N6y98P3340gmlJ/RStUD6F31CAEEPtUW94/7rf+7XgaAz57X0ZHXAGsFFwVgw38yALuMb0IBbVyNamFYEw4oKMDTj3AHRQP5Pt4dci9VwSVkRNQh5r7CLskZadhsWHhRDBsXczk8ZYk3ewnCxmQeQKa3BOHvA8XXO2j+vqRhf7CE+sPmn4anvoL29JLa4qqaUQkmoK+QG2osCckq7txi2leK86aIPyJ3eQZ8xytXYmyQ51jQndJAxIJlqiGSLsOqImiZCjTiZCJt6Lq26U2OoXqwUo0hRaAE0K5AziANy/uLVeXzWyjVqyjcoeupjxDr5MMDn8MDkLG9Aenu5ZrOSSoghAUsRmogkkahSoWAtnlUARnCkY3It0Iu7mWhdmd9Z/19BwBP6GidEi0G56opckXTGZVSPxgAAAA="); | ||
385 | } | ||
386 | .iconfont { | ||
387 | font-family: "HM-FD-font" !important; | ||
388 | font-size: 13px; | ||
389 | font-style: normal; | ||
390 | color: #757575; | ||
391 | } | ||
392 | .iconfont.triangle:before { | ||
393 | content: "\e65a"; | ||
394 | } | ||
395 | .iconfont.selected:before { | ||
396 | content: "\e607"; | ||
397 | } | ||
398 | |||
399 |
unpackage/dist/dev/mp-weixin/components/uni-drawer/uni-drawer.js
File was created | 1 | (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["components/uni-drawer/uni-drawer"],{ | |
2 | |||
3 | /***/ 40: | ||
4 | /*!************************************************************************************!*\ | ||
5 | !*** C:/Users/Administrator/Desktop/gulu-vue/components/uni-drawer/uni-drawer.vue ***! | ||
6 | \************************************************************************************/ | ||
7 | /*! no static exports found */ | ||
8 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
9 | |||
10 | "use strict"; | ||
11 | __webpack_require__.r(__webpack_exports__); | ||
12 | /* harmony import */ var _uni_drawer_vue_vue_type_template_id_66ce0222_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./uni-drawer.vue?vue&type=template&id=66ce0222&scoped=true& */ 41); | ||
13 | /* harmony import */ var _uni_drawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uni-drawer.vue?vue&type=script&lang=js& */ 43); | ||
14 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _uni_drawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _uni_drawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); | ||
15 | /* harmony import */ var _uni_drawer_vue_vue_type_style_index_0_id_66ce0222_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./uni-drawer.vue?vue&type=style&index=0&id=66ce0222&lang=scss&scoped=true& */ 45); | ||
16 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 14); | ||
17 | |||
18 | var renderjs | ||
19 | |||
20 | |||
21 | |||
22 | |||
23 | |||
24 | /* normalize component */ | ||
25 | |||
26 | var component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( | ||
27 | _uni_drawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], | ||
28 | _uni_drawer_vue_vue_type_template_id_66ce0222_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"], | ||
29 | _uni_drawer_vue_vue_type_template_id_66ce0222_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], | ||
30 | false, | ||
31 | null, | ||
32 | "66ce0222", | ||
33 | null, | ||
34 | false, | ||
35 | _uni_drawer_vue_vue_type_template_id_66ce0222_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"], | ||
36 | renderjs | ||
37 | ) | ||
38 | |||
39 | component.options.__file = "C:/Users/Administrator/Desktop/gulu-vue/components/uni-drawer/uni-drawer.vue" | ||
40 | /* harmony default export */ __webpack_exports__["default"] = (component.exports); | ||
41 | |||
42 | /***/ }), | ||
43 | |||
44 | /***/ 41: | ||
45 | /*!*******************************************************************************************************************************!*\ | ||
46 | !*** C:/Users/Administrator/Desktop/gulu-vue/components/uni-drawer/uni-drawer.vue?vue&type=template&id=66ce0222&scoped=true& ***! | ||
47 | \*******************************************************************************************************************************/ | ||
48 | /*! exports provided: render, staticRenderFns, recyclableRender, components */ | ||
49 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
50 | |||
51 | "use strict"; | ||
52 | __webpack_require__.r(__webpack_exports__); | ||
53 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_uni_drawer_vue_vue_type_template_id_66ce0222_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./uni-drawer.vue?vue&type=template&id=66ce0222&scoped=true& */ 42); | ||
54 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_uni_drawer_vue_vue_type_template_id_66ce0222_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; }); | ||
55 | |||
56 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_uni_drawer_vue_vue_type_template_id_66ce0222_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); | ||
57 | |||
58 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_uni_drawer_vue_vue_type_template_id_66ce0222_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); | ||
59 | |||
60 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_uni_drawer_vue_vue_type_template_id_66ce0222_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; }); | ||
61 | |||
62 | |||
63 | |||
64 | /***/ }), | ||
65 | |||
66 | /***/ 42: | ||
67 | /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ | ||
68 | !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/components/uni-drawer/uni-drawer.vue?vue&type=template&id=66ce0222&scoped=true& ***! | ||
69 | \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ | ||
70 | /*! exports provided: render, staticRenderFns, recyclableRender, components */ | ||
71 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
72 | |||
73 | "use strict"; | ||
74 | __webpack_require__.r(__webpack_exports__); | ||
75 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); | ||
76 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); | ||
77 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); | ||
78 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); | ||
79 | var components | ||
80 | var render = function() { | ||
81 | var _vm = this | ||
82 | var _h = _vm.$createElement | ||
83 | var _c = _vm._self._c || _h | ||
84 | } | ||
85 | var recyclableRender = false | ||
86 | var staticRenderFns = [] | ||
87 | render._withStripped = true | ||
88 | |||
89 | |||
90 | |||
91 | /***/ }), | ||
92 | |||
93 | /***/ 43: | ||
94 | /*!*************************************************************************************************************!*\ | ||
95 | !*** C:/Users/Administrator/Desktop/gulu-vue/components/uni-drawer/uni-drawer.vue?vue&type=script&lang=js& ***! | ||
96 | \*************************************************************************************************************/ | ||
97 | /*! no static exports found */ | ||
98 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
99 | |||
100 | "use strict"; | ||
101 | __webpack_require__.r(__webpack_exports__); | ||
102 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_uni_drawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./uni-drawer.vue?vue&type=script&lang=js& */ 44); | ||
103 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_uni_drawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_uni_drawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__); | ||
104 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_uni_drawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_uni_drawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); | ||
105 | /* harmony default export */ __webpack_exports__["default"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_uni_drawer_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); | ||
106 | |||
107 | /***/ }), | ||
108 | |||
109 | /***/ 44: | ||
110 | /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ | ||
111 | !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/components/uni-drawer/uni-drawer.vue?vue&type=script&lang=js& ***! | ||
112 | \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ | ||
113 | /*! no static exports found */ | ||
114 | /***/ (function(module, exports, __webpack_require__) { | ||
115 | |||
116 | "use strict"; | ||
117 | Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; // | ||
118 | // | ||
119 | // | ||
120 | // | ||
121 | // | ||
122 | // | ||
123 | // | ||
124 | // | ||
125 | // | ||
126 | |||
127 | /** | ||
128 | * Drawer 抽屉 | ||
129 | * @description 抽屉侧滑菜单 | ||
130 | * @tutorial https://ext.dcloud.net.cn/plugin?id=26 | ||
131 | * @property {Boolean} mask = [true | false] 是否显示遮罩 | ||
132 | * @property {Boolean} maskClick = [true | false] 点击遮罩是否关闭 | ||
133 | * @property {Boolean} mode = [left | right] Drawer 滑出位置 | ||
134 | * @value left 从左侧滑出 | ||
135 | * @value right 从右侧侧滑出 | ||
136 | * @property {Number} width 抽屉的宽度 ,仅 vue 页面生效 | ||
137 | * @event {Function} close 组件关闭时触发事件 | ||
138 | */var _default = | ||
139 | { | ||
140 | name: 'UniDrawer', | ||
141 | props: { | ||
142 | /** | ||
143 | * 显示模式(左、右),只在初始化生效 | ||
144 | */ | ||
145 | mode: { | ||
146 | type: String, | ||
147 | default: '' }, | ||
148 | |||
149 | /** | ||
150 | * 蒙层显示状态 | ||
151 | */ | ||
152 | mask: { | ||
153 | type: Boolean, | ||
154 | default: true }, | ||
155 | |||
156 | /** | ||
157 | * 遮罩是否可点击关闭 | ||
158 | */ | ||
159 | maskClick: { | ||
160 | type: Boolean, | ||
161 | default: true }, | ||
162 | |||
163 | /** | ||
164 | * 抽屉宽度 | ||
165 | */ | ||
166 | width: { | ||
167 | type: Number, | ||
168 | default: 220 } }, | ||
169 | |||
170 | |||
171 | data: function data() { | ||
172 | return { | ||
173 | visibleSync: false, | ||
174 | showDrawer: false, | ||
175 | rightMode: false, | ||
176 | watchTimer: null, | ||
177 | drawerWidth: 220 }; | ||
178 | |||
179 | }, | ||
180 | created: function created() { | ||
181 | |||
182 | this.drawerWidth = this.width; | ||
183 | |||
184 | this.rightMode = this.mode === 'right'; | ||
185 | }, | ||
186 | methods: { | ||
187 | clear: function clear() {}, | ||
188 | close: function close(type) { | ||
189 | // fixed by mehaotian 抽屉尚未完全关闭或遮罩禁止点击时不触发以下逻辑 | ||
190 | if (type === 'mask' && !this.maskClick || !this.visibleSync) return; | ||
191 | this._change('showDrawer', 'visibleSync', false); | ||
192 | }, | ||
193 | open: function open() { | ||
194 | // fixed by mehaotian 处理重复点击打开的事件 | ||
195 | if (this.visibleSync) return; | ||
196 | this._change('visibleSync', 'showDrawer', true); | ||
197 | }, | ||
198 | _change: function _change(param1, param2, status) {var _this = this; | ||
199 | this[param1] = status; | ||
200 | if (this.watchTimer) { | ||
201 | clearTimeout(this.watchTimer); | ||
202 | } | ||
203 | this.watchTimer = setTimeout(function () { | ||
204 | _this[param2] = status; | ||
205 | _this.$emit('change', status); | ||
206 | }, status ? 50 : 300); | ||
207 | } } };exports.default = _default; | ||
208 | |||
209 | /***/ }), | ||
210 | |||
211 | /***/ 45: | ||
212 | /*!**********************************************************************************************************************************************!*\ | ||
213 | !*** C:/Users/Administrator/Desktop/gulu-vue/components/uni-drawer/uni-drawer.vue?vue&type=style&index=0&id=66ce0222&lang=scss&scoped=true& ***! | ||
214 | \**********************************************************************************************************************************************/ | ||
215 | /*! no static exports found */ | ||
216 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
217 | |||
218 | "use strict"; | ||
219 | __webpack_require__.r(__webpack_exports__); | ||
220 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_uni_drawer_vue_vue_type_style_index_0_id_66ce0222_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./uni-drawer.vue?vue&type=style&index=0&id=66ce0222&lang=scss&scoped=true& */ 46); | ||
221 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_uni_drawer_vue_vue_type_style_index_0_id_66ce0222_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_uni_drawer_vue_vue_type_style_index_0_id_66ce0222_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__); | ||
222 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_uni_drawer_vue_vue_type_style_index_0_id_66ce0222_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_uni_drawer_vue_vue_type_style_index_0_id_66ce0222_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); | ||
223 | /* harmony default export */ __webpack_exports__["default"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_uni_drawer_vue_vue_type_style_index_0_id_66ce0222_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a); | ||
224 | |||
225 | /***/ }), | ||
226 | |||
227 | /***/ 46: | ||
228 | /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ | ||
229 | !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/components/uni-drawer/uni-drawer.vue?vue&type=style&index=0&id=66ce0222&lang=scss&scoped=true& ***! | ||
230 | \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ | ||
231 | /*! no static exports found */ | ||
232 | /***/ (function(module, exports, __webpack_require__) { | ||
233 | |||
234 | // extracted by mini-css-extract-plugin | ||
235 | if(false) { var cssReload; } | ||
236 | |||
237 | |||
238 | /***/ }) | ||
239 | |||
240 | }]); | ||
241 | //# sourceMappingURL=../../../.sourcemap/mp-weixin/components/uni-drawer/uni-drawer.js.map | ||
242 | ;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ | ||
243 | 'components/uni-drawer/uni-drawer-create-component', | ||
244 | { | ||
245 | 'components/uni-drawer/uni-drawer-create-component':(function(module, exports, __webpack_require__){ | ||
246 | __webpack_require__('1')['createComponent'](__webpack_require__(40)) | ||
247 | }) | ||
248 | }, | ||
249 | [['components/uni-drawer/uni-drawer-create-component']] | ||
250 | ]); | ||
251 |
unpackage/dist/dev/mp-weixin/components/uni-drawer/uni-drawer.json
File was created | 1 | { | |
2 | "usingComponents": {}, | ||
3 | "component": true | ||
4 | } |
unpackage/dist/dev/mp-weixin/components/uni-drawer/uni-drawer.wxml
File was created | 1 | <block wx:if="{{visibleSync}}"><view data-event-opts="{{[['touchmove',[['clear',['$event']]]]]}}" class="{{['uni-drawer data-v-66ce0222',(showDrawer)?'uni-drawer--visible':'']}}" catchtouchmove="__e"><view data-event-opts="{{[['tap',[['close',['mask']]]]]}}" class="{{['uni-drawer__mask data-v-66ce0222',(showDrawer&&mask)?'uni-drawer__mask--visible':'']}}" bindtap="__e"></view><view class="{{['uni-drawer__content data-v-66ce0222',(rightMode)?'uni-drawer--right':'',(!rightMode)?'uni-drawer--left':'',(showDrawer)?'uni-drawer__content--visible':'']}}" style="{{'width:'+(drawerWidth+'px')+';'}}"><slot></slot></view></view></block> |
unpackage/dist/dev/mp-weixin/components/uni-drawer/uni-drawer.wxss
File was created | 1 | @charset "UTF-8"; | |
2 | /** | ||
3 | * 这里是uni-app内置的常用样式变量 | ||
4 | * | ||
5 | * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 | ||
6 | * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App | ||
7 | * | ||
8 | */ | ||
9 | /** | ||
10 | * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 | ||
11 | * | ||
12 | * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 | ||
13 | */ | ||
14 | /* 颜色变量 */ | ||
15 | /* 行为相关颜色 */ | ||
16 | /* 文字基本颜色 */ | ||
17 | /* 背景颜色 */ | ||
18 | /* 边框颜色 */ | ||
19 | /* 尺寸变量 */ | ||
20 | /* 文字尺寸 */ | ||
21 | /* 图片尺寸 */ | ||
22 | /* Border Radius */ | ||
23 | /* 水平间距 */ | ||
24 | /* 垂直间距 */ | ||
25 | /* 透明度 */ | ||
26 | /* 文章场景相关 */ | ||
27 | .uni-drawer.data-v-66ce0222 { | ||
28 | display: block; | ||
29 | position: fixed; | ||
30 | top: 0; | ||
31 | left: 0; | ||
32 | right: 0; | ||
33 | bottom: 0; | ||
34 | overflow: hidden; | ||
35 | z-index: 999; | ||
36 | } | ||
37 | .uni-drawer__content.data-v-66ce0222 { | ||
38 | display: block; | ||
39 | position: absolute; | ||
40 | top: 0; | ||
41 | width: 220px; | ||
42 | bottom: 0; | ||
43 | background-color: #ffffff; | ||
44 | -webkit-transition: -webkit-transform 0.3s ease; | ||
45 | transition: -webkit-transform 0.3s ease; | ||
46 | transition: transform 0.3s ease; | ||
47 | transition: transform 0.3s ease, -webkit-transform 0.3s ease; | ||
48 | } | ||
49 | .uni-drawer--left.data-v-66ce0222 { | ||
50 | left: 0; | ||
51 | -webkit-transform: translateX(-100%); | ||
52 | transform: translateX(-100%); | ||
53 | } | ||
54 | .uni-drawer--right.data-v-66ce0222 { | ||
55 | right: 0; | ||
56 | -webkit-transform: translateX(100%); | ||
57 | transform: translateX(100%); | ||
58 | } | ||
59 | .uni-drawer__content--visible.data-v-66ce0222 { | ||
60 | -webkit-transform: translateX(0px); | ||
61 | transform: translateX(0px); | ||
62 | } | ||
63 | .uni-drawer__mask.data-v-66ce0222 { | ||
64 | display: block; | ||
65 | opacity: 0; | ||
66 | position: absolute; | ||
67 | top: 0; | ||
68 | left: 0; | ||
69 | bottom: 0; | ||
70 | right: 0; | ||
71 | background-color: rgba(0, 0, 0, 0.4); | ||
72 | -webkit-transition: opacity 0.3s; | ||
73 | transition: opacity 0.3s; | ||
74 | } | ||
75 | .uni-drawer__mask--visible.data-v-66ce0222 { | ||
76 | display: block; | ||
77 | opacity: 1; | ||
78 | } | ||
79 | |||
80 |
unpackage/dist/dev/mp-weixin/pages/cart/cart.js
1 | (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/cart/cart"],{ | 1 | (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/cart/cart"],{ |
2 | 2 | ||
3 | /***/ 23: | 3 | /***/ 24: |
4 | /*!**************************************************************************************!*\ | 4 | /*!**************************************************************************************!*\ |
5 | !*** C:/Users/Administrator/Desktop/gulu-vue/main.js?{"page":"pages%2Fcart%2Fcart"} ***! | 5 | !*** C:/Users/Administrator/Desktop/gulu-vue/main.js?{"page":"pages%2Fcart%2Fcart"} ***! |
6 | \**************************************************************************************/ | 6 | \**************************************************************************************/ |
7 | /*! no static exports found */ | 7 | /*! no static exports found */ |
8 | /***/ (function(module, exports, __webpack_require__) { | 8 | /***/ (function(module, exports, __webpack_require__) { |
9 | 9 | ||
10 | "use strict"; | 10 | "use strict"; |
11 | /* WEBPACK VAR INJECTION */(function(createPage) {__webpack_require__(/*! uni-pages */ 4);__webpack_require__(/*! @dcloudio/uni-stat */ 5); | 11 | /* WEBPACK VAR INJECTION */(function(createPage) {__webpack_require__(/*! uni-pages */ 4);__webpack_require__(/*! @dcloudio/uni-stat */ 5); |
12 | var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 2)); | 12 | var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 2)); |
13 | var _cart = _interopRequireDefault(__webpack_require__(/*! ./pages/cart/cart.vue */ 24));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} | 13 | var _cart = _interopRequireDefault(__webpack_require__(/*! ./pages/cart/cart.vue */ 25));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} |
14 | createPage(_cart.default); | 14 | createPage(_cart.default); |
15 | /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["createPage"])) | 15 | /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["createPage"])) |
16 | 16 | ||
17 | /***/ }), | 17 | /***/ }), |
18 | 18 | ||
19 | /***/ 24: | 19 | /***/ 25: |
20 | /*!*******************************************************************!*\ | 20 | /*!*******************************************************************!*\ |
21 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue ***! | 21 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue ***! |
22 | \*******************************************************************/ | 22 | \*******************************************************************/ |
23 | /*! no static exports found */ | 23 | /*! no static exports found */ |
24 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | 24 | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
25 | 25 | ||
26 | "use strict"; | 26 | "use strict"; |
27 | __webpack_require__.r(__webpack_exports__); | 27 | __webpack_require__.r(__webpack_exports__); |
28 | /* harmony import */ var _cart_vue_vue_type_template_id_2e8f6dbb___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cart.vue?vue&type=template&id=2e8f6dbb& */ 25); | 28 | /* harmony import */ var _cart_vue_vue_type_template_id_2e8f6dbb___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cart.vue?vue&type=template&id=2e8f6dbb& */ 26); |
29 | /* harmony import */ var _cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cart.vue?vue&type=script&lang=js& */ 27); | 29 | /* harmony import */ var _cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cart.vue?vue&type=script&lang=js& */ 28); |
30 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); | 30 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); |
31 | /* harmony import */ var _cart_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cart.vue?vue&type=style&index=0&lang=css& */ 29); | 31 | /* harmony import */ var _cart_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cart.vue?vue&type=style&index=0&lang=css& */ 30); |
32 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 14); | 32 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 14); |
33 | 33 | ||
34 | var renderjs | 34 | var renderjs |
35 | 35 | ||
36 | 36 | ||
37 | 37 | ||
38 | 38 | ||
39 | 39 | ||
40 | /* normalize component */ | 40 | /* normalize component */ |
41 | 41 | ||
42 | var component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( | 42 | var component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( |
43 | _cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], | 43 | _cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], |
44 | _cart_vue_vue_type_template_id_2e8f6dbb___WEBPACK_IMPORTED_MODULE_0__["render"], | 44 | _cart_vue_vue_type_template_id_2e8f6dbb___WEBPACK_IMPORTED_MODULE_0__["render"], |
45 | _cart_vue_vue_type_template_id_2e8f6dbb___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], | 45 | _cart_vue_vue_type_template_id_2e8f6dbb___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], |
46 | false, | 46 | false, |
47 | null, | 47 | null, |
48 | null, | 48 | null, |
49 | null, | 49 | null, |
50 | false, | 50 | false, |
51 | _cart_vue_vue_type_template_id_2e8f6dbb___WEBPACK_IMPORTED_MODULE_0__["components"], | 51 | _cart_vue_vue_type_template_id_2e8f6dbb___WEBPACK_IMPORTED_MODULE_0__["components"], |
52 | renderjs | 52 | renderjs |
53 | ) | 53 | ) |
54 | 54 | ||
55 | component.options.__file = "C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue" | 55 | component.options.__file = "C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue" |
56 | /* harmony default export */ __webpack_exports__["default"] = (component.exports); | 56 | /* harmony default export */ __webpack_exports__["default"] = (component.exports); |
57 | 57 | ||
58 | /***/ }), | 58 | /***/ }), |
59 | 59 | ||
60 | /***/ 25: | 60 | /***/ 26: |
61 | /*!**************************************************************************************************!*\ | 61 | /*!**************************************************************************************************!*\ |
62 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue?vue&type=template&id=2e8f6dbb& ***! | 62 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue?vue&type=template&id=2e8f6dbb& ***! |
63 | \**************************************************************************************************/ | 63 | \**************************************************************************************************/ |
64 | /*! exports provided: render, staticRenderFns, recyclableRender, components */ | 64 | /*! exports provided: render, staticRenderFns, recyclableRender, components */ |
65 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | 65 | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
66 | 66 | ||
67 | "use strict"; | 67 | "use strict"; |
68 | __webpack_require__.r(__webpack_exports__); | 68 | __webpack_require__.r(__webpack_exports__); |
69 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_template_id_2e8f6dbb___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./cart.vue?vue&type=template&id=2e8f6dbb& */ 26); | 69 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_template_id_2e8f6dbb___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./cart.vue?vue&type=template&id=2e8f6dbb& */ 27); |
70 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_template_id_2e8f6dbb___WEBPACK_IMPORTED_MODULE_0__["render"]; }); | 70 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_template_id_2e8f6dbb___WEBPACK_IMPORTED_MODULE_0__["render"]; }); |
71 | 71 | ||
72 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_template_id_2e8f6dbb___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); | 72 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_template_id_2e8f6dbb___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); |
73 | 73 | ||
74 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_template_id_2e8f6dbb___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); | 74 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_template_id_2e8f6dbb___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); |
75 | 75 | ||
76 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_template_id_2e8f6dbb___WEBPACK_IMPORTED_MODULE_0__["components"]; }); | 76 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_template_id_2e8f6dbb___WEBPACK_IMPORTED_MODULE_0__["components"]; }); |
77 | 77 | ||
78 | 78 | ||
79 | 79 | ||
80 | /***/ }), | 80 | /***/ }), |
81 | 81 | ||
82 | /***/ 26: | 82 | /***/ 27: |
83 | /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ | 83 | /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ |
84 | !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue?vue&type=template&id=2e8f6dbb& ***! | 84 | !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue?vue&type=template&id=2e8f6dbb& ***! |
85 | \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ | 85 | \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ |
86 | /*! exports provided: render, staticRenderFns, recyclableRender, components */ | 86 | /*! exports provided: render, staticRenderFns, recyclableRender, components */ |
87 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | 87 | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
88 | 88 | ||
89 | "use strict"; | 89 | "use strict"; |
90 | __webpack_require__.r(__webpack_exports__); | 90 | __webpack_require__.r(__webpack_exports__); |
91 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); | 91 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); |
92 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); | 92 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); |
93 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); | 93 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); |
94 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); | 94 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); |
95 | var components | 95 | var components |
96 | var render = function() { | 96 | var render = function() { |
97 | var _vm = this | 97 | var _vm = this |
98 | var _h = _vm.$createElement | 98 | var _h = _vm.$createElement |
99 | var _c = _vm._self._c || _h | 99 | var _c = _vm._self._c || _h |
100 | } | 100 | } |
101 | var recyclableRender = false | 101 | var recyclableRender = false |
102 | var staticRenderFns = [] | 102 | var staticRenderFns = [] |
103 | render._withStripped = true | 103 | render._withStripped = true |
104 | 104 | ||
105 | 105 | ||
106 | 106 | ||
107 | /***/ }), | 107 | /***/ }), |
108 | 108 | ||
109 | /***/ 27: | 109 | /***/ 28: |
110 | /*!********************************************************************************************!*\ | 110 | /*!********************************************************************************************!*\ |
111 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue?vue&type=script&lang=js& ***! | 111 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue?vue&type=script&lang=js& ***! |
112 | \********************************************************************************************/ | 112 | \********************************************************************************************/ |
113 | /*! no static exports found */ | 113 | /*! no static exports found */ |
114 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | 114 | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
115 | 115 | ||
116 | "use strict"; | 116 | "use strict"; |
117 | __webpack_require__.r(__webpack_exports__); | 117 | __webpack_require__.r(__webpack_exports__); |
118 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./cart.vue?vue&type=script&lang=js& */ 28); | 118 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./cart.vue?vue&type=script&lang=js& */ 29); |
119 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__); | 119 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__); |
120 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); | 120 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); |
121 | /* harmony default export */ __webpack_exports__["default"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); | 121 | /* harmony default export */ __webpack_exports__["default"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); |
122 | 122 | ||
123 | /***/ }), | 123 | /***/ }), |
124 | 124 | ||
125 | /***/ 28: | 125 | /***/ 29: |
126 | /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ | 126 | /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ |
127 | !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue?vue&type=script&lang=js& ***! | 127 | !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue?vue&type=script&lang=js& ***! |
128 | \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ | 128 | \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ |
129 | /*! no static exports found */ | 129 | /*! no static exports found */ |
130 | /***/ (function(module, exports, __webpack_require__) { | 130 | /***/ (function(module, exports, __webpack_require__) { |
131 | 131 | ||
132 | "use strict"; | 132 | "use strict"; |
133 | Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; // | 133 | Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; // |
134 | // | 134 | // |
135 | // | 135 | // |
136 | // | 136 | // |
137 | // | 137 | // |
138 | // | 138 | // |
139 | // | 139 | // |
140 | // | 140 | // |
141 | // | 141 | // |
142 | var _default = | 142 | var _default = |
143 | { | 143 | { |
144 | data: function data() { | 144 | data: function data() { |
145 | return { | 145 | return { |
146 | title: 'Hello' }; | 146 | title: 'Hello' }; |
147 | 147 | ||
148 | }, | 148 | }, |
149 | onLoad: function onLoad() { | 149 | onLoad: function onLoad() { |
150 | 150 | ||
151 | }, | 151 | }, |
152 | methods: {} };exports.default = _default; | 152 | methods: {} };exports.default = _default; |
153 | 153 | ||
154 | /***/ }), | 154 | /***/ }), |
155 | 155 | ||
156 | /***/ 29: | 156 | /***/ 30: |
157 | /*!****************************************************************************************************!*\ | 157 | /*!****************************************************************************************************!*\ |
158 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue?vue&type=style&index=0&lang=css& ***! | 158 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue?vue&type=style&index=0&lang=css& ***! |
159 | \****************************************************************************************************/ | 159 | \****************************************************************************************************/ |
160 | /*! no static exports found */ | 160 | /*! no static exports found */ |
161 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | 161 | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
162 | 162 | ||
163 | "use strict"; | 163 | "use strict"; |
164 | __webpack_require__.r(__webpack_exports__); | 164 | __webpack_require__.r(__webpack_exports__); |
165 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!./node_modules/postcss-loader/src??ref--6-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./cart.vue?vue&type=style&index=0&lang=css& */ 30); | 165 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!./node_modules/postcss-loader/src??ref--6-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./cart.vue?vue&type=style&index=0&lang=css& */ 31); |
166 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__); | 166 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__); |
167 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); | 167 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); |
168 | /* harmony default export */ __webpack_exports__["default"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); | 168 | /* harmony default export */ __webpack_exports__["default"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_cart_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); |
169 | 169 | ||
170 | /***/ }), | 170 | /***/ }), |
171 | 171 | ||
172 | /***/ 30: | 172 | /***/ 31: |
173 | /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ | 173 | /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ |
174 | !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!./node_modules/postcss-loader/src??ref--6-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue?vue&type=style&index=0&lang=css& ***! | 174 | !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!./node_modules/postcss-loader/src??ref--6-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/pages/cart/cart.vue?vue&type=style&index=0&lang=css& ***! |
175 | \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ | 175 | \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ |
176 | /*! no static exports found */ | 176 | /*! no static exports found */ |
177 | /***/ (function(module, exports, __webpack_require__) { | 177 | /***/ (function(module, exports, __webpack_require__) { |
178 | 178 | ||
179 | // extracted by mini-css-extract-plugin | 179 | // extracted by mini-css-extract-plugin |
180 | if(false) { var cssReload; } | 180 | if(false) { var cssReload; } |
181 | 181 | ||
182 | 182 | ||
183 | /***/ }) | 183 | /***/ }) |
184 | 184 | ||
185 | },[[23,"common/runtime","common/vendor"]]]); | 185 | },[[24,"common/runtime","common/vendor"]]]); |
186 | //# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/cart/cart.js.map | 186 | //# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/cart/cart.js.map |
unpackage/dist/dev/mp-weixin/pages/index/index.js
1 | (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/index/index"],[ | 1 | (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/index/index"],{ |
2 | /* 0 */, | 2 | |
3 | /* 1 */, | 3 | /***/ 15: |
4 | /* 2 */, | ||
5 | /* 3 */, | ||
6 | /* 4 */, | ||
7 | /* 5 */, | ||
8 | /* 6 */, | ||
9 | /* 7 */, | ||
10 | /* 8 */, | ||
11 | /* 9 */, | ||
12 | /* 10 */, | ||
13 | /* 11 */, | ||
14 | /* 12 */, | ||
15 | /* 13 */, | ||
16 | /* 14 */, | ||
17 | /* 15 */ | ||
18 | /*!****************************************************************************************!*\ | 4 | /*!****************************************************************************************!*\ |
19 | !*** C:/Users/Administrator/Desktop/gulu-vue/main.js?{"page":"pages%2Findex%2Findex"} ***! | 5 | !*** C:/Users/Administrator/Desktop/gulu-vue/main.js?{"page":"pages%2Findex%2Findex"} ***! |
20 | \****************************************************************************************/ | 6 | \****************************************************************************************/ |
21 | /*! no static exports found */ | 7 | /*! no static exports found */ |
22 | /***/ (function(module, exports, __webpack_require__) { | 8 | /***/ (function(module, exports, __webpack_require__) { |
23 | 9 | ||
24 | "use strict"; | 10 | "use strict"; |
25 | /* WEBPACK VAR INJECTION */(function(createPage) {__webpack_require__(/*! uni-pages */ 4);__webpack_require__(/*! @dcloudio/uni-stat */ 5); | 11 | /* WEBPACK VAR INJECTION */(function(createPage) {__webpack_require__(/*! uni-pages */ 4);__webpack_require__(/*! @dcloudio/uni-stat */ 5); |
26 | var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 2)); | 12 | var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 2)); |
27 | var _index = _interopRequireDefault(__webpack_require__(/*! ./pages/index/index.vue */ 16));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} | 13 | var _index = _interopRequireDefault(__webpack_require__(/*! ./pages/index/index.vue */ 16));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} |
28 | createPage(_index.default); | 14 | createPage(_index.default); |
29 | /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["createPage"])) | 15 | /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["createPage"])) |
30 | 16 | ||
31 | /***/ }), | 17 | /***/ }), |
32 | /* 16 */ | 18 | |
19 | /***/ 16: | ||
33 | /*!*********************************************************************!*\ | 20 | /*!*********************************************************************!*\ |
34 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue ***! | 21 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue ***! |
35 | \*********************************************************************/ | 22 | \*********************************************************************/ |
36 | /*! no static exports found */ | 23 | /*! no static exports found */ |
37 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | 24 | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
38 | 25 | ||
39 | "use strict"; | 26 | "use strict"; |
40 | __webpack_require__.r(__webpack_exports__); | 27 | __webpack_require__.r(__webpack_exports__); |
41 | /* harmony import */ var _index_vue_vue_type_template_id_74c52b3e___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=74c52b3e& */ 17); | 28 | /* harmony import */ var _index_vue_vue_type_template_id_74c52b3e___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=74c52b3e& */ 17); |
42 | /* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ 19); | 29 | /* harmony import */ var _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js& */ 19); |
43 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); | 30 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); |
44 | /* harmony import */ var _index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&lang=css& */ 21); | 31 | /* harmony import */ var _index_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index.vue?vue&type=style&index=0&lang=scss& */ 23); |
45 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 14); | 32 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 14); |
46 | 33 | ||
47 | var renderjs | 34 | var renderjs |
48 | 35 | ||
49 | 36 | ||
50 | 37 | ||
51 | 38 | ||
52 | 39 | ||
53 | /* normalize component */ | 40 | /* normalize component */ |
54 | 41 | ||
55 | var component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( | 42 | var component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( |
56 | _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], | 43 | _index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], |
57 | _index_vue_vue_type_template_id_74c52b3e___WEBPACK_IMPORTED_MODULE_0__["render"], | 44 | _index_vue_vue_type_template_id_74c52b3e___WEBPACK_IMPORTED_MODULE_0__["render"], |
58 | _index_vue_vue_type_template_id_74c52b3e___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], | 45 | _index_vue_vue_type_template_id_74c52b3e___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], |
59 | false, | 46 | false, |
60 | null, | 47 | null, |
61 | null, | 48 | null, |
62 | null, | 49 | null, |
63 | false, | 50 | false, |
64 | _index_vue_vue_type_template_id_74c52b3e___WEBPACK_IMPORTED_MODULE_0__["components"], | 51 | _index_vue_vue_type_template_id_74c52b3e___WEBPACK_IMPORTED_MODULE_0__["components"], |
65 | renderjs | 52 | renderjs |
66 | ) | 53 | ) |
67 | 54 | ||
68 | component.options.__file = "C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue" | 55 | component.options.__file = "C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue" |
69 | /* harmony default export */ __webpack_exports__["default"] = (component.exports); | 56 | /* harmony default export */ __webpack_exports__["default"] = (component.exports); |
70 | 57 | ||
71 | /***/ }), | 58 | /***/ }), |
72 | /* 17 */ | 59 | |
60 | /***/ 17: | ||
73 | /*!****************************************************************************************************!*\ | 61 | /*!****************************************************************************************************!*\ |
74 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue?vue&type=template&id=74c52b3e& ***! | 62 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue?vue&type=template&id=74c52b3e& ***! |
75 | \****************************************************************************************************/ | 63 | \****************************************************************************************************/ |
76 | /*! exports provided: render, staticRenderFns, recyclableRender, components */ | 64 | /*! exports provided: render, staticRenderFns, recyclableRender, components */ |
77 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | 65 | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
78 | 66 | ||
79 | "use strict"; | 67 | "use strict"; |
80 | __webpack_require__.r(__webpack_exports__); | 68 | __webpack_require__.r(__webpack_exports__); |
81 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_template_id_74c52b3e___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=template&id=74c52b3e& */ 18); | 69 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_template_id_74c52b3e___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=template&id=74c52b3e& */ 18); |
82 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_template_id_74c52b3e___WEBPACK_IMPORTED_MODULE_0__["render"]; }); | 70 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_template_id_74c52b3e___WEBPACK_IMPORTED_MODULE_0__["render"]; }); |
83 | 71 | ||
84 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_template_id_74c52b3e___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); | 72 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_template_id_74c52b3e___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); |
85 | 73 | ||
86 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_template_id_74c52b3e___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); | 74 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_template_id_74c52b3e___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); |
87 | 75 | ||
88 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_template_id_74c52b3e___WEBPACK_IMPORTED_MODULE_0__["components"]; }); | 76 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_template_id_74c52b3e___WEBPACK_IMPORTED_MODULE_0__["components"]; }); |
89 | 77 | ||
90 | 78 | ||
91 | 79 | ||
92 | /***/ }), | 80 | /***/ }), |
93 | /* 18 */ | 81 | |
82 | /***/ 18: | ||
94 | /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ | 83 | /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ |
95 | !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue?vue&type=template&id=74c52b3e& ***! | 84 | !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue?vue&type=template&id=74c52b3e& ***! |
96 | \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ | 85 | \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ |
97 | /*! exports provided: render, staticRenderFns, recyclableRender, components */ | 86 | /*! exports provided: render, staticRenderFns, recyclableRender, components */ |
98 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | 87 | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
99 | 88 | ||
100 | "use strict"; | 89 | "use strict"; |
101 | __webpack_require__.r(__webpack_exports__); | 90 | __webpack_require__.r(__webpack_exports__); |
102 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); | 91 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); |
103 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); | 92 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); |
104 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); | 93 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); |
105 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); | 94 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); |
106 | var components | 95 | var components = { |
96 | "uni-drawer": function() { | ||
97 | return __webpack_require__.e(/*! import() | components/uni-drawer/uni-drawer */ "components/uni-drawer/uni-drawer").then(__webpack_require__.bind(null, /*! @/components/uni-drawer/uni-drawer.vue */ 40)) | ||
98 | } | ||
99 | } | ||
107 | var render = function() { | 100 | var render = function() { |
108 | var _vm = this | 101 | var _vm = this |
109 | var _h = _vm.$createElement | 102 | var _h = _vm.$createElement |
110 | var _c = _vm._self._c || _h | 103 | var _c = _vm._self._c || _h |
111 | } | 104 | } |
112 | var recyclableRender = false | 105 | var recyclableRender = false |
113 | var staticRenderFns = [] | 106 | var staticRenderFns = [] |
114 | render._withStripped = true | 107 | render._withStripped = true |
115 | 108 | ||
116 | 109 | ||
117 | 110 | ||
118 | /***/ }), | 111 | /***/ }), |
119 | /* 19 */ | 112 | |
113 | /***/ 19: | ||
120 | /*!**********************************************************************************************!*\ | 114 | /*!**********************************************************************************************!*\ |
121 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue?vue&type=script&lang=js& ***! | 115 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue?vue&type=script&lang=js& ***! |
122 | \**********************************************************************************************/ | 116 | \**********************************************************************************************/ |
123 | /*! no static exports found */ | 117 | /*! no static exports found */ |
124 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | 118 | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
125 | 119 | ||
126 | "use strict"; | 120 | "use strict"; |
127 | __webpack_require__.r(__webpack_exports__); | 121 | __webpack_require__.r(__webpack_exports__); |
128 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=script&lang=js& */ 20); | 122 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=script&lang=js& */ 20); |
129 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__); | 123 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__); |
130 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); | 124 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); |
131 | /* harmony default export */ __webpack_exports__["default"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); | 125 | /* harmony default export */ __webpack_exports__["default"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); |
132 | 126 | ||
133 | /***/ }), | 127 | /***/ }), |
134 | /* 20 */ | 128 | |
129 | /***/ 20: | ||
135 | /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ | 130 | /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ |
136 | !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue?vue&type=script&lang=js& ***! | 131 | !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue?vue&type=script&lang=js& ***! |
137 | \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ | 132 | \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ |
138 | /*! no static exports found */ | 133 | /*! no static exports found */ |
139 | /***/ (function(module, exports, __webpack_require__) { | 134 | /***/ (function(module, exports, __webpack_require__) { |
140 | 135 | ||
141 | "use strict"; | 136 | "use strict"; |
142 | Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; // | 137 | Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; |
143 | // | 138 | |
144 | // | 139 | |
145 | // | 140 | |
146 | // | 141 | |
147 | // | 142 | |
148 | // | 143 | |
149 | // | 144 | |
150 | // | 145 | |
151 | // | 146 | |
152 | // | 147 | |
153 | var _default = | 148 | |
154 | { | 149 | |
150 | |||
151 | |||
152 | |||
153 | |||
154 | |||
155 | |||
156 | |||
157 | |||
158 | |||
159 | |||
160 | |||
161 | |||
162 | |||
163 | |||
164 | |||
165 | |||
166 | |||
167 | |||
168 | |||
169 | |||
170 | |||
171 | |||
172 | |||
173 | |||
174 | |||
175 | |||
176 | |||
177 | |||
178 | |||
179 | |||
180 | |||
181 | |||
182 | |||
183 | |||
184 | |||
185 | |||
186 | |||
187 | |||
188 | |||
189 | |||
190 | |||
191 | |||
192 | |||
193 | |||
194 | |||
195 | |||
196 | |||
197 | |||
198 | var _data = _interopRequireDefault(__webpack_require__(/*! @/common/data.js */ 21));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}var uniDrawer = function uniDrawer() {__webpack_require__.e(/*! require.ensure | components/uni-drawer/uni-drawer */ "components/uni-drawer/uni-drawer").then((function () {return resolve(__webpack_require__(/*! @/components/uni-drawer/uni-drawer.vue */ 40));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);};var HMfilterDropdown = function HMfilterDropdown() {__webpack_require__.e(/*! require.ensure | components/HM-filterDropdown/HM-filterDropdown */ "components/HM-filterDropdown/HM-filterDropdown").then((function () {return resolve(__webpack_require__(/*! ../../components/HM-filterDropdown/HM-filterDropdown.vue */ 47));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);}; //筛选菜单数据 | ||
199 | var _default = { | ||
200 | components: { | ||
201 | uniDrawer: uniDrawer, | ||
202 | 'HMfilterDropdown': HMfilterDropdown }, | ||
203 | |||
155 | data: function data() { | 204 | data: function data() { |
156 | return { | 205 | return { |
157 | title: 'Hello' }; | 206 | screenItems: [ |
207 | { current: 0, text: '全部', hasIcon: false }, | ||
208 | { current: 1, text: '销量', hasIcon: false }, | ||
209 | { current: 2, text: '价格', hasIcon: true }, | ||
210 | { current: 3, text: '折扣', hasIcon: false }, | ||
211 | { current: 4, text: '筛选', hasIcon: true }], | ||
212 | |||
213 | current: 0, | ||
214 | showRight: false, | ||
215 | indexArr: '', | ||
216 | valueArr: '', | ||
217 | //商品数据 | ||
218 | goodsList: [ | ||
219 | { goods_id: 0, img: '/static/img/goods/p1.jpg', name: '商品名称', price: '¥168', slogan: '1235人付款' }, | ||
220 | { goods_id: 1, img: '/static/img/goods/p2.jpg', name: '商品名称', price: '¥168', slogan: '1235人付款' }, | ||
221 | { goods_id: 2, img: '/static/img/goods/p3.jpg', name: '商品名称', price: '¥168', slogan: '1235人付款' }, | ||
222 | { goods_id: 3, img: '/static/img/goods/p4.jpg', name: '商品名称', price: '¥168', slogan: '1235人付款' }, | ||
223 | { goods_id: 4, img: '/static/img/goods/p5.jpg', name: '商品名称', price: '¥168', slogan: '1235人付款' }, | ||
224 | { goods_id: 5, img: '/static/img/goods/p6.jpg', name: '商品名称', price: '¥168', slogan: '1235人付款' }, | ||
225 | { goods_id: 6, img: '/static/img/goods/p7.jpg', name: '商品名称', price: '¥168', slogan: '1235人付款' }, | ||
226 | { goods_id: 7, img: '/static/img/goods/p8.jpg', name: '商品名称', price: '¥168', slogan: '1235人付款' }, | ||
227 | { goods_id: 8, img: '/static/img/goods/p9.jpg', name: '商品名称', price: '¥168', slogan: '1235人付款' }, | ||
228 | { goods_id: 9, img: '/static/img/goods/p10.jpg', name: '商品名称', price: '¥168', slogan: '1235人付款' }], | ||
229 | |||
230 | loadingText: "正在加载...", | ||
231 | filterDropdownValue: [], | ||
232 | filterData: [] }; | ||
158 | 233 | ||
159 | }, | 234 | }, |
160 | onLoad: function onLoad() { | 235 | filters: { |
161 | 236 | outData: function outData(value) { | |
237 | return JSON.stringify(value); | ||
238 | } }, | ||
239 | |||
240 | onLoad: function onLoad() {var _this = this; | ||
241 | //定时器模拟ajax异步请求数据 | ||
242 | setTimeout(function () { | ||
243 | //传入defaultSelected的结构不能错,错了就报错运行异常。 不选中的项目传入null | ||
244 | _this.filterDropdownValue = [ | ||
245 | [1, 1, 0], //第0个菜单选中 一级菜单的第1项,二级菜单的第1项,三级菜单的第3项 | ||
246 | [null, null], //第1个菜单选中 都不选中 | ||
247 | [1], //第2个菜单选中 一级菜单的第1项 | ||
248 | [[0], [1, 2, 7], [1, 0]], //筛选菜单选中 第一个筛选的第0项,第二个筛选的第1,2,7项,第三个筛选的第1,0项 | ||
249 | [[0], [1], [1]] //单选菜单选中 第一个筛选的第0项,第二个筛选的第1项,第三个筛选的第1项 | ||
250 | ]; | ||
251 | _this.filterData = _data.default; | ||
252 | }, 100); | ||
253 | //模拟ajax请求子菜单数据。 | ||
254 | // setTimeout(()=>{ | ||
255 | //this.filterData[1].submenu[0].submenu = [{"name": "附近","value": "附近"},{"name": "1km","value": "1km"},{"name": "2km","value": "2km"},{"name": "3km","value": "3km"},{"name": "4km","value": "4km"},{"name": "5km","value": "5km"}]; | ||
256 | // },5000) | ||
162 | }, | 257 | }, |
163 | methods: {} };exports.default = _default; | 258 | methods: { |
259 | showDrawer: function showDrawer(e) { | ||
260 | this.$refs[e].open(); | ||
261 | }, | ||
262 | closeDrawer: function closeDrawer(e) { | ||
263 | this.$refs[e].close(); | ||
264 | }, | ||
265 | change: function change(e, type) { | ||
266 | this[type] = e; | ||
267 | }, | ||
268 | onClickItem: function onClickItem(e) { | ||
269 | if (this.current !== e) { | ||
270 | this.current = e; | ||
271 | } | ||
272 | }, | ||
273 | dropDown: function dropDown() { | ||
274 | console.log('下拉'); | ||
275 | }, | ||
276 | //接收菜单结果 | ||
277 | confirm: function confirm(e) { | ||
278 | this.indexArr = e.index; | ||
279 | this.valueArr = e.value; | ||
280 | return; | ||
281 | console.log('修改菜单'); | ||
282 | this.filterData[4].submenu[1] = { | ||
283 | "name": "项目2", | ||
284 | "submenu": [] }; | ||
285 | |||
286 | |||
287 | |||
288 | } }, | ||
289 | |||
290 | onNavigationBarButtonTap: function onNavigationBarButtonTap(e) { | ||
291 | this.showRight = !this.showRight; | ||
292 | }, | ||
293 | //上拉加载, | ||
294 | onReachBottom: function onReachBottom() { | ||
295 | console.log('到底加载'); | ||
296 | var len = this.goodsList.length; | ||
297 | if (len >= 30) { | ||
298 | this.loadingText = "~~到底了~~"; | ||
299 | return false; | ||
300 | } else { | ||
301 | this.loadingText = "正在加载..."; | ||
302 | } | ||
303 | var end_goods_id = this.goodsList[len - 1].goods_id; | ||
304 | for (var i = 1; i <= 10; i++) { | ||
305 | var goods_id = end_goods_id + i; | ||
306 | var p = { goods_id: goods_id, img: '/static/img/goods/p' + (goods_id % 10 == 0 ? 10 : goods_id % 10) + '.jpg', name: '商品名称', price: '¥168', slogan: '1235人付款' }; | ||
307 | this.goodsList.push(p); | ||
308 | } | ||
309 | } };exports.default = _default; | ||
164 | 310 | ||
165 | /***/ }), | 311 | /***/ }), |
166 | /* 21 */ | 312 | |
167 | /*!******************************************************************************************************!*\ | 313 | /***/ 23: |
168 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue?vue&type=style&index=0&lang=css& ***! | 314 | /*!*******************************************************************************************************!*\ |
169 | \******************************************************************************************************/ | 315 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/index/index.vue?vue&type=style&index=0&lang=scss& ***! |
316 | \*******************************************************************************************************/ | ||
170 | /*! no static exports found */ | 317 | /*! no static exports found */ |
171 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | 318 | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
172 | 319 | ||
173 | "use strict"; | 320 | "use strict"; |
174 | __webpack_require__.r(__webpack_exports__); | 321 | __webpack_require__.r(__webpack_exports__); |
175 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!./node_modules/postcss-loader/src??ref--6-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=style&index=0&lang=css& */ 22); | 322 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=style&index=0&lang=scss& */ 54); |
176 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__); | 323 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__); |
177 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); | 324 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); |
178 | /* harmony default export */ __webpack_exports__["default"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); | 325 | /* harmony default export */ __webpack_exports__["default"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_index_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default.a); |
179 | 326 | ||
180 | /***/ }), | 327 | /***/ }), |
181 | /* 22 */ | 328 | |
182 | /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ | 329 | /***/ 54: |
unpackage/dist/dev/mp-weixin/pages/index/index.json
1 | { | 1 | { |
2 | "navigationBarTitleText": "商城一览", | 2 | "navigationBarTitleText": "商城一览", |
3 | "usingComponents": {} | 3 | "usingComponents": { |
4 | "uni-drawer": "/components/uni-drawer/uni-drawer", | ||
5 | "h-mfilter-dropdown": "/components/HM-filterDropdown/HM-filterDropdown" | ||
6 | } | ||
4 | } | 7 | } |
unpackage/dist/dev/mp-weixin/pages/index/index.wxml
1 | <view class="content"><view class="searchBar"><icon class="searchIcon" type="search" size="21"></icon><input class="searchIpt" placeholder="请输入搜索内容" confirm-type="search"/></view><view class="screenBar"></view><view></view></view> |
unpackage/dist/dev/mp-weixin/pages/index/index.wxss
1 | 1 | @charset "UTF-8"; | |
2 | /** | ||
3 | * 这里是uni-app内置的常用样式变量 | ||
4 | * | ||
5 | * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 | ||
6 | * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App | ||
7 | * | ||
8 | */ | ||
9 | /** | ||
10 | * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 | ||
11 | * | ||
12 | * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 | ||
13 | */ | ||
14 | /* 颜色变量 */ | ||
15 | /* 行为相关颜色 */ | ||
16 | /* 文字基本颜色 */ | ||
17 | /* 背景颜色 */ | ||
18 | /* 边框颜色 */ | ||
19 | /* 尺寸变量 */ | ||
20 | /* 文字尺寸 */ | ||
21 | /* 图片尺寸 */ | ||
22 | /* Border Radius */ | ||
23 | /* 水平间距 */ | ||
24 | /* 垂直间距 */ | ||
25 | /* 透明度 */ | ||
26 | /* 文章场景相关 */ | ||
2 | .content { | 27 | .content { |
3 | display: -webkit-box; | 28 | display: -webkit-box; |
4 | display: -webkit-flex; | 29 | display: -webkit-flex; |
5 | display: flex; | 30 | display: flex; |
6 | -webkit-box-orient: vertical; | 31 | -webkit-box-orient: vertical; |
7 | -webkit-box-direction: normal; | 32 | -webkit-box-direction: normal; |
8 | -webkit-flex-direction: column; | 33 | -webkit-flex-direction: column; |
9 | flex-direction: column; | 34 | flex-direction: column; |
10 | -webkit-box-align: center; | 35 | -webkit-box-align: center; |
11 | -webkit-align-items: center; | 36 | -webkit-align-items: center; |
12 | align-items: center; | 37 | align-items: center; |
13 | -webkit-box-pack: center; | 38 | -webkit-box-pack: center; |
14 | -webkit-justify-content: center; | 39 | -webkit-justify-content: center; |
15 | justify-content: center; | 40 | justify-content: center; |
41 | background-color: #F7F6F6; | ||
42 | } | ||
43 | .header { | ||
44 | display: -webkit-box; | ||
45 | display: -webkit-flex; | ||
46 | display: flex; | ||
47 | -webkit-box-orient: vertical; | ||
48 | -webkit-box-direction: normal; | ||
49 | -webkit-flex-direction: column; | ||
50 | flex-direction: column; | ||
51 | -webkit-box-align: center; | ||
52 | -webkit-align-items: center; | ||
53 | align-items: center; | ||
54 | -webkit-box-pack: center; | ||
55 | -webkit-justify-content: center; | ||
56 | justify-content: center; | ||
57 | background-color: #F7F6F6; | ||
58 | height: 178rpx; | ||
59 | width: 100%; | ||
60 | z-index: 999; | ||
61 | position: fixed; | ||
62 | top: 0; | ||
16 | } | 63 | } |
17 | .searchBar { | 64 | .searchBar { |
18 | width: calc(100% - 16rpx * 2); | 65 | width: 670rpx; |
19 | display: -webkit-box; | 66 | display: -webkit-box; |
20 | display: -webkit-flex; | 67 | display: -webkit-flex; |
21 | display: flex; | 68 | display: flex; |
22 | -webkit-box-pack: center; | 69 | position: fixed; |
23 | -webkit-justify-content: center; | 70 | top: 0; |
24 | justify-content: center; | 71 | -webkit-box-pack: center; |
25 | -webkit-box-align: center; | 72 | -webkit-justify-content: center; |
26 | -webkit-align-items: center; | 73 | justify-content: center; |
27 | align-items: center; | 74 | -webkit-box-align: center; |
28 | -webkit-box-sizing: border-box; | 75 | -webkit-align-items: center; |
29 | box-sizing: border-box; | 76 | align-items: center; |
30 | margin: 16rpx 16rpx; | 77 | -webkit-box-sizing: border-box; |
31 | padding: 0rpx 16rpx; | 78 | box-sizing: border-box; |
32 | background-color: #F8F8F8; | 79 | padding: 0rpx 16rpx; |
80 | border: 1px solid #FF6B4A; | ||
81 | border-radius: 8rpx; | ||
82 | background-color: #ffffff; | ||
33 | } | 83 | } |
34 | .searchIpt { | 84 | .searchIpt { |
35 | height: 64rpx; | 85 | height: 68rpx; |
36 | width: 100%; | 86 | width: 670rpx; |
37 | padding: 16rpx; | 87 | padding: 16rpx; |
38 | font-size: 28rpx; | 88 | font-size: 28rpx; |
39 | -webkit-box-sizing: border-box; | 89 | -webkit-box-sizing: border-box; |
40 | box-sizing: border-box; | 90 | box-sizing: border-box; |
91 | } | ||
92 | .screenBar { | ||
93 | position: fixed; | ||
94 | top: 68rpx; | ||
95 | width: 670rpx; | ||
96 | height: 110rpx; | ||
97 | display: -webkit-box; | ||
98 | display: -webkit-flex; | ||
99 | display: flex; | ||
100 | -webkit-box-orient: horizontal; | ||
101 | -webkit-box-direction: normal; | ||
102 | -webkit-flex-direction: row; | ||
103 | flex-direction: row; | ||
104 | -webkit-box-pack: justify; | ||
105 | -webkit-justify-content: space-between; | ||
106 | justify-content: space-between; | ||
107 | -webkit-box-align: center; | ||
108 | -webkit-align-items: center; | ||
109 | align-items: center; | ||
110 | color: #333333; | ||
111 | font-size: 32rpx; | ||
112 | } | ||
113 | .active { | ||
114 | color: #FF6B4A; | ||
115 | } | ||
116 | .screenItem { | ||
117 | display: -webkit-box; | ||
118 | display: -webkit-flex; | ||
119 | display: flex; | ||
120 | -webkit-box-pack: center; | ||
121 | -webkit-justify-content: center; | ||
122 | justify-content: center; | ||
123 | -webkit-box-align: center; | ||
124 | -webkit-align-items: center; | ||
125 | align-items: center; | ||
126 | } | ||
127 | .content-wrap { | ||
128 | width: 100%; | ||
129 | background-color: #FFFFFF; | ||
130 | } | ||
131 | .HMfilterDropdown { | ||
132 | position: fixed; | ||
133 | top: 178rpx !important; | ||
134 | } | ||
135 | .place { | ||
136 | background-color: #ffffff; | ||
137 | height: 266rpx; | ||
138 | } | ||
139 | .goods-list { | ||
140 | padding-top: 10px; | ||
141 | } | ||
142 | .goods-list .loading-text { | ||
143 | width: 100%; | ||
144 | display: -webkit-box; | ||
145 | display: -webkit-flex; | ||
146 | display: flex; | ||
147 | -webkit-box-pack: center; | ||
148 | -webkit-justify-content: center; | ||
149 | justify-content: center; | ||
150 | -webkit-box-align: center; | ||
151 | -webkit-align-items: center; | ||
152 | align-items: center; | ||
153 | height: 30px; | ||
154 | color: #979797; | ||
155 | font-size: 12px; | ||
156 | } | ||
157 | .goods-list .product-list { | ||
158 | width: 92%; | ||
159 | padding: 0 4% 3vw 4%; | ||
160 | display: -webkit-box; | ||
161 | display: -webkit-flex; | ||
162 | display: flex; | ||
163 | -webkit-box-pack: justify; | ||
164 | -webkit-justify-content: space-between; | ||
165 | justify-content: space-between; | ||
166 | -webkit-flex-wrap: wrap; | ||
167 | flex-wrap: wrap; | ||
168 | } | ||
169 | .goods-list .product-list .product { | ||
170 | width: 48%; | ||
171 | border-radius: 10px; | ||
172 | background-color: #fff; | ||
173 | margin: 0 0 7px 0; | ||
174 | -webkit-box-shadow: 0 3px 12px rgba(0, 0, 0, 0.1); | ||
175 | box-shadow: 0 3px 12px rgba(0, 0, 0, 0.1); | ||
176 | } | ||
177 | .goods-list .product-list .product image { | ||
178 | width: 100%; | ||
179 | border-radius: 10px 10px 0 0; | ||
180 | } | ||
181 | .goods-list .product-list .product .name { | ||
182 | width: 92%; | ||
183 | padding: 5px 4%; | ||
184 | display: -webkit-box; | ||
185 | -webkit-box-orient: vertical; | ||
186 | -webkit-line-clamp: 2; | ||
187 | text-align: justify; | ||
188 | overflow: hidden; | ||
189 | font-size: 15px; | ||
190 | } | ||
191 | .goods-list .product-list .product .info { | ||
192 | display: -webkit-box; | ||
193 | display: -webkit-flex; | ||
194 | display: flex; | ||
195 | -webkit-box-pack: justify; | ||
196 | -webkit-justify-content: space-between; | ||
197 | justify-content: space-between; | ||
198 | -webkit-box-align: end; | ||
199 | -webkit-align-items: flex-end; | ||
200 | align-items: flex-end; | ||
201 | width: 92%; | ||
202 | padding: 5px 4% 5px 4%; | ||
203 | } | ||
204 | .goods-list .product-list .product .info .price { | ||
205 | color: #e65339; | ||
206 | font-size: 15px; | ||
207 | font-weight: 600; | ||
208 | } | ||
209 | .goods-list .product-list .product .info .slogan { | ||
210 | color: #807c87; | ||
211 | font-size: 12px; | ||
41 | } | 212 | } |
42 | |||
43 |
unpackage/dist/dev/mp-weixin/pages/user/user.js
1 | (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/user/user"],{ | 1 | (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/user/user"],{ |
2 | 2 | ||
3 | /***/ 31: | 3 | /***/ 32: |
4 | /*!**************************************************************************************!*\ | 4 | /*!**************************************************************************************!*\ |
5 | !*** C:/Users/Administrator/Desktop/gulu-vue/main.js?{"page":"pages%2Fuser%2Fuser"} ***! | 5 | !*** C:/Users/Administrator/Desktop/gulu-vue/main.js?{"page":"pages%2Fuser%2Fuser"} ***! |
6 | \**************************************************************************************/ | 6 | \**************************************************************************************/ |
7 | /*! no static exports found */ | 7 | /*! no static exports found */ |
8 | /***/ (function(module, exports, __webpack_require__) { | 8 | /***/ (function(module, exports, __webpack_require__) { |
9 | 9 | ||
10 | "use strict"; | 10 | "use strict"; |
11 | /* WEBPACK VAR INJECTION */(function(createPage) {__webpack_require__(/*! uni-pages */ 4);__webpack_require__(/*! @dcloudio/uni-stat */ 5); | 11 | /* WEBPACK VAR INJECTION */(function(createPage) {__webpack_require__(/*! uni-pages */ 4);__webpack_require__(/*! @dcloudio/uni-stat */ 5); |
12 | var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 2)); | 12 | var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 2)); |
13 | var _user = _interopRequireDefault(__webpack_require__(/*! ./pages/user/user.vue */ 32));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} | 13 | var _user = _interopRequireDefault(__webpack_require__(/*! ./pages/user/user.vue */ 33));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} |
14 | createPage(_user.default); | 14 | createPage(_user.default); |
15 | /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["createPage"])) | 15 | /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["createPage"])) |
16 | 16 | ||
17 | /***/ }), | 17 | /***/ }), |
18 | 18 | ||
19 | /***/ 32: | 19 | /***/ 33: |
20 | /*!*******************************************************************!*\ | 20 | /*!*******************************************************************!*\ |
21 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue ***! | 21 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue ***! |
22 | \*******************************************************************/ | 22 | \*******************************************************************/ |
23 | /*! no static exports found */ | 23 | /*! no static exports found */ |
24 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | 24 | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
25 | 25 | ||
26 | "use strict"; | 26 | "use strict"; |
27 | __webpack_require__.r(__webpack_exports__); | 27 | __webpack_require__.r(__webpack_exports__); |
28 | /* harmony import */ var _user_vue_vue_type_template_id_14649eca___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./user.vue?vue&type=template&id=14649eca& */ 33); | 28 | /* harmony import */ var _user_vue_vue_type_template_id_14649eca___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./user.vue?vue&type=template&id=14649eca& */ 34); |
29 | /* harmony import */ var _user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./user.vue?vue&type=script&lang=js& */ 35); | 29 | /* harmony import */ var _user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./user.vue?vue&type=script&lang=js& */ 36); |
30 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); | 30 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); |
31 | /* harmony import */ var _user_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./user.vue?vue&type=style&index=0&lang=css& */ 37); | 31 | /* harmony import */ var _user_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./user.vue?vue&type=style&index=0&lang=css& */ 38); |
32 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 14); | 32 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 14); |
33 | 33 | ||
34 | var renderjs | 34 | var renderjs |
35 | 35 | ||
36 | 36 | ||
37 | 37 | ||
38 | 38 | ||
39 | 39 | ||
40 | /* normalize component */ | 40 | /* normalize component */ |
41 | 41 | ||
42 | var component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( | 42 | var component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( |
43 | _user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], | 43 | _user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], |
44 | _user_vue_vue_type_template_id_14649eca___WEBPACK_IMPORTED_MODULE_0__["render"], | 44 | _user_vue_vue_type_template_id_14649eca___WEBPACK_IMPORTED_MODULE_0__["render"], |
45 | _user_vue_vue_type_template_id_14649eca___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], | 45 | _user_vue_vue_type_template_id_14649eca___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], |
46 | false, | 46 | false, |
47 | null, | 47 | null, |
48 | null, | 48 | null, |
49 | null, | 49 | null, |
50 | false, | 50 | false, |
51 | _user_vue_vue_type_template_id_14649eca___WEBPACK_IMPORTED_MODULE_0__["components"], | 51 | _user_vue_vue_type_template_id_14649eca___WEBPACK_IMPORTED_MODULE_0__["components"], |
52 | renderjs | 52 | renderjs |
53 | ) | 53 | ) |
54 | 54 | ||
55 | component.options.__file = "C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue" | 55 | component.options.__file = "C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue" |
56 | /* harmony default export */ __webpack_exports__["default"] = (component.exports); | 56 | /* harmony default export */ __webpack_exports__["default"] = (component.exports); |
57 | 57 | ||
58 | /***/ }), | 58 | /***/ }), |
59 | 59 | ||
60 | /***/ 33: | 60 | /***/ 34: |
61 | /*!**************************************************************************************************!*\ | 61 | /*!**************************************************************************************************!*\ |
62 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue?vue&type=template&id=14649eca& ***! | 62 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue?vue&type=template&id=14649eca& ***! |
63 | \**************************************************************************************************/ | 63 | \**************************************************************************************************/ |
64 | /*! exports provided: render, staticRenderFns, recyclableRender, components */ | 64 | /*! exports provided: render, staticRenderFns, recyclableRender, components */ |
65 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | 65 | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
66 | 66 | ||
67 | "use strict"; | 67 | "use strict"; |
68 | __webpack_require__.r(__webpack_exports__); | 68 | __webpack_require__.r(__webpack_exports__); |
69 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_template_id_14649eca___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./user.vue?vue&type=template&id=14649eca& */ 34); | 69 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_template_id_14649eca___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./user.vue?vue&type=template&id=14649eca& */ 35); |
70 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_template_id_14649eca___WEBPACK_IMPORTED_MODULE_0__["render"]; }); | 70 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_template_id_14649eca___WEBPACK_IMPORTED_MODULE_0__["render"]; }); |
71 | 71 | ||
72 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_template_id_14649eca___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); | 72 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_template_id_14649eca___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); |
73 | 73 | ||
74 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_template_id_14649eca___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); | 74 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_template_id_14649eca___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); |
75 | 75 | ||
76 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_template_id_14649eca___WEBPACK_IMPORTED_MODULE_0__["components"]; }); | 76 | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_template_id_14649eca___WEBPACK_IMPORTED_MODULE_0__["components"]; }); |
77 | 77 | ||
78 | 78 | ||
79 | 79 | ||
80 | /***/ }), | 80 | /***/ }), |
81 | 81 | ||
82 | /***/ 34: | 82 | /***/ 35: |
83 | /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ | 83 | /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ |
84 | !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue?vue&type=template&id=14649eca& ***! | 84 | !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue?vue&type=template&id=14649eca& ***! |
85 | \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ | 85 | \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ |
86 | /*! exports provided: render, staticRenderFns, recyclableRender, components */ | 86 | /*! exports provided: render, staticRenderFns, recyclableRender, components */ |
87 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | 87 | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
88 | 88 | ||
89 | "use strict"; | 89 | "use strict"; |
90 | __webpack_require__.r(__webpack_exports__); | 90 | __webpack_require__.r(__webpack_exports__); |
91 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); | 91 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); |
92 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); | 92 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); |
93 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); | 93 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); |
94 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); | 94 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); |
95 | var components | 95 | var components |
96 | var render = function() { | 96 | var render = function() { |
97 | var _vm = this | 97 | var _vm = this |
98 | var _h = _vm.$createElement | 98 | var _h = _vm.$createElement |
99 | var _c = _vm._self._c || _h | 99 | var _c = _vm._self._c || _h |
100 | } | 100 | } |
101 | var recyclableRender = false | 101 | var recyclableRender = false |
102 | var staticRenderFns = [] | 102 | var staticRenderFns = [] |
103 | render._withStripped = true | 103 | render._withStripped = true |
104 | 104 | ||
105 | 105 | ||
106 | 106 | ||
107 | /***/ }), | 107 | /***/ }), |
108 | 108 | ||
109 | /***/ 35: | 109 | /***/ 36: |
110 | /*!********************************************************************************************!*\ | 110 | /*!********************************************************************************************!*\ |
111 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue?vue&type=script&lang=js& ***! | 111 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue?vue&type=script&lang=js& ***! |
112 | \********************************************************************************************/ | 112 | \********************************************************************************************/ |
113 | /*! no static exports found */ | 113 | /*! no static exports found */ |
114 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | 114 | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
115 | 115 | ||
116 | "use strict"; | 116 | "use strict"; |
117 | __webpack_require__.r(__webpack_exports__); | 117 | __webpack_require__.r(__webpack_exports__); |
118 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./user.vue?vue&type=script&lang=js& */ 36); | 118 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./user.vue?vue&type=script&lang=js& */ 37); |
119 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__); | 119 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__); |
120 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); | 120 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); |
121 | /* harmony default export */ __webpack_exports__["default"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); | 121 | /* harmony default export */ __webpack_exports__["default"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); |
122 | 122 | ||
123 | /***/ }), | 123 | /***/ }), |
124 | 124 | ||
125 | /***/ 36: | 125 | /***/ 37: |
126 | /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ | 126 | /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ |
127 | !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue?vue&type=script&lang=js& ***! | 127 | !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue?vue&type=script&lang=js& ***! |
128 | \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ | 128 | \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ |
129 | /*! no static exports found */ | 129 | /*! no static exports found */ |
130 | /***/ (function(module, exports, __webpack_require__) { | 130 | /***/ (function(module, exports, __webpack_require__) { |
131 | 131 | ||
132 | "use strict"; | 132 | "use strict"; |
133 | Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; // | 133 | Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; // |
134 | // | 134 | // |
135 | // | 135 | // |
136 | // | 136 | // |
137 | // | 137 | // |
138 | // | 138 | // |
139 | // | 139 | // |
140 | // | 140 | // |
141 | // | 141 | // |
142 | var _default = | 142 | var _default = |
143 | { | 143 | { |
144 | data: function data() { | 144 | data: function data() { |
145 | return { | 145 | return { |
146 | title: 'Hello' }; | 146 | title: 'Hello' }; |
147 | 147 | ||
148 | }, | 148 | }, |
149 | onLoad: function onLoad() { | 149 | onLoad: function onLoad() { |
150 | 150 | ||
151 | }, | 151 | }, |
152 | methods: {} };exports.default = _default; | 152 | methods: {} };exports.default = _default; |
153 | 153 | ||
154 | /***/ }), | 154 | /***/ }), |
155 | 155 | ||
156 | /***/ 37: | 156 | /***/ 38: |
157 | /*!****************************************************************************************************!*\ | 157 | /*!****************************************************************************************************!*\ |
158 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue?vue&type=style&index=0&lang=css& ***! | 158 | !*** C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue?vue&type=style&index=0&lang=css& ***! |
159 | \****************************************************************************************************/ | 159 | \****************************************************************************************************/ |
160 | /*! no static exports found */ | 160 | /*! no static exports found */ |
161 | /***/ (function(module, __webpack_exports__, __webpack_require__) { | 161 | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
162 | 162 | ||
163 | "use strict"; | 163 | "use strict"; |
164 | __webpack_require__.r(__webpack_exports__); | 164 | __webpack_require__.r(__webpack_exports__); |
165 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!./node_modules/postcss-loader/src??ref--6-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./user.vue?vue&type=style&index=0&lang=css& */ 38); | 165 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!./node_modules/postcss-loader/src??ref--6-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./user.vue?vue&type=style&index=0&lang=css& */ 39); |
166 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__); | 166 | /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__); |
167 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); | 167 | /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); |
168 | /* harmony default export */ __webpack_exports__["default"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); | 168 | /* harmony default export */ __webpack_exports__["default"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_D_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_D_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_user_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); |
169 | 169 | ||
170 | /***/ }), | 170 | /***/ }), |
171 | 171 | ||
172 | /***/ 38: | 172 | /***/ 39: |
173 | /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ | 173 | /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ |
174 | !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!./node_modules/postcss-loader/src??ref--6-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue?vue&type=style&index=0&lang=css& ***! | 174 | !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!./node_modules/postcss-loader/src??ref--6-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!C:/Users/Administrator/Desktop/gulu-vue/pages/user/user.vue?vue&type=style&index=0&lang=css& ***! |
175 | \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ | 175 | \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ |
176 | /*! no static exports found */ | 176 | /*! no static exports found */ |
177 | /***/ (function(module, exports, __webpack_require__) { | 177 | /***/ (function(module, exports, __webpack_require__) { |
178 | 178 | ||
179 | // extracted by mini-css-extract-plugin | 179 | // extracted by mini-css-extract-plugin |
180 | if(false) { var cssReload; } | 180 | if(false) { var cssReload; } |
181 | 181 | ||
182 | 182 | ||
183 | /***/ }) | 183 | /***/ }) |
184 | 184 | ||
185 | },[[31,"common/runtime","common/vendor"]]]); | 185 | },[[32,"common/runtime","common/vendor"]]]); |
186 | //# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/user/user.js.map | 186 | //# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/user/user.js.map |
unpackage/dist/dev/mp-weixin/project.config.json
1 | { | 1 | { |
2 | "description": "项目配置文件。", | 2 | "description": "项目配置文件。", |
3 | "packOptions": { | 3 | "packOptions": { |
4 | "ignore": [] | 4 | "ignore": [] |
5 | }, | 5 | }, |
6 | "setting": { | 6 | "setting": { |
7 | "urlCheck": false | 7 | "urlCheck": false |
8 | }, | 8 | }, |
9 | "compileType": "miniprogram", | 9 | "compileType": "miniprogram", |
10 | "libVersion": "2.9.2", | 10 | "libVersion": "2.9.2", |
11 | "appid": "touristappid", | 11 | "appid": "wx115b25aa396d27ac", |
12 | "projectname": "gulu-vue", | 12 | "projectname": "gulu-vue", |
13 | "simulatorType": "wechat", | 13 | "simulatorType": "wechat", |
14 | "simulatorPluginLibVersion": {}, | 14 | "simulatorPluginLibVersion": {}, |
15 | "condition": { | 15 | "condition": { |
16 | "search": { | 16 | "search": { |
17 | "current": -1, | 17 | "current": -1, |
18 | "list": [] | 18 | "list": [] |
19 | }, | 19 | }, |
20 | "conversation": { | 20 | "conversation": { |
21 | "current": -1, | 21 | "current": -1, |
22 | "list": [] | 22 | "list": [] |
23 | }, | 23 | }, |
24 | "game": { | 24 | "game": { |
25 | "current": -1, | 25 | "current": -1, |
26 | "list": [] | 26 | "list": [] |
27 | }, | 27 | }, |
28 | "miniprogram": { | 28 | "miniprogram": { |
29 | "current": -1, | 29 | "current": -1, |
30 | "list": [] | 30 | "list": [] |
31 | } | 31 | } |
32 | } | 32 | } |
33 | } | 33 | } |
unpackage/dist/dev/mp-weixin/sitemap39.json
File was created | 1 | { | |
2 | "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", | ||
3 | "rules": [{ | ||
4 | "action": "allow", | ||
5 | "page": "*" | ||
6 | }] | ||
7 | } |
unpackage/dist/dev/mp-weixin/sitemap46.json
File was created | 1 | { | |
2 | "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", | ||
3 | "rules": [{ | ||
4 | "action": "allow", | ||
5 | "page": "*" | ||
6 | }] | ||
7 | } |
unpackage/dist/dev/mp-weixin/sitemap47.json
File was created | 1 | { | |
2 | "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", | ||
3 | "rules": [{ | ||
4 | "action": "allow", | ||
5 | "page": "*" | ||
6 | }] | ||
7 | } |
unpackage/dist/dev/mp-weixin/sitemap54.json
File was created | 1 | { | |
2 | "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", | ||
3 | "rules": [{ | ||
4 | "action": "allow", | ||
5 | "page": "*" | ||
6 | }] | ||
7 | } |
unpackage/dist/dev/mp-weixin/sitemap80.json
File was created | 1 | { | |
2 | "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", | ||
3 | "rules": [{ | ||
4 | "action": "allow", | ||
5 | "page": "*" | ||
6 | }] | ||
7 | } |
unpackage/dist/dev/mp-weixin/sitemap96.json
File was created | 1 | { | |
2 | "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", | ||
3 | "rules": [{ | ||
4 | "action": "allow", | ||
5 | "page": "*" | ||
6 | }] | ||
7 | } |
unpackage/dist/dev/mp-weixin/static/img/goods/p1.jpg
11.3 KB
unpackage/dist/dev/mp-weixin/static/img/goods/p10.jpg
22.6 KB
unpackage/dist/dev/mp-weixin/static/img/goods/p2.jpg
16.3 KB
unpackage/dist/dev/mp-weixin/static/img/goods/p3.jpg
15 KB
unpackage/dist/dev/mp-weixin/static/img/goods/p4.jpg
6.55 KB
unpackage/dist/dev/mp-weixin/static/img/goods/p5.jpg
29.6 KB
unpackage/dist/dev/mp-weixin/static/img/goods/p6.jpg
6.25 KB
unpackage/dist/dev/mp-weixin/static/img/goods/p7.jpg
20.1 KB
unpackage/dist/dev/mp-weixin/static/img/goods/p8.jpg
20.4 KB
unpackage/dist/dev/mp-weixin/static/img/goods/p9.jpg
24.1 KB