Commit c41ff77d35e97e39ae279b956ffc966eede5e888

Authored by BigBoss
1 parent a2408fc3f7
Exists in master

首页页面搭建

Showing 58 changed files with 3517 additions and 154 deletions   Show diff stats
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