Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
Litemall
Commits
1b1a8945
Commit
1b1a8945
authored
Apr 19, 2019
by
Junling Bu
Browse files
chore[litemall-vue]: 进一步简化代码
parent
74126a92
Changes
16
Hide whitespace changes
Inline
Side-by-side
litemall-admin/favicon.ico
deleted
100644 → 0
View file @
74126a92
66.1 KB
litemall-vue/.eslintrc.js
View file @
1b1a8945
...
...
@@ -3,7 +3,7 @@ module.exports = {
env
:
{
node
:
true
},
extends
:
[
'
plugin:vue/essential
'
,
'
@vue/prettier
'
],
//
extends: ['plugin:vue/essential', '@vue/prettier'],
// rules: {
// camelcase: 'off',
// quotes: ['error', 'single'],
...
...
litemall-vue/mock/db.json
deleted
100644 → 0
View file @
74126a92
{
"home"
:
{
"data"
:
{
"shop_info"
:
{
"shop_name"
:
"我的店"
,
"branch_name"
:
"江二路店"
,
"avatar"
:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1528870206903&di=61bc76b8397a6f2d0286c620ea3d375a&imgtype=0&src=http%3A%2F%2Fs10.sinaimg.cn%2Fmiddle%2F85dbe4bftae0162a00d89%26690"
,
"contact"
:
"13456789900"
,
"id"
:
"1"
,
"notice"
:
"1212412"
,
"shop_qrcode"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"qr_code"
:
"http://mamaqunaer.oss-cn-shanghai.aliyuncs.com/android/201711/607bde41c4c2e540d7f57b47f65c3748.JPEG"
,
"province"
:
"110000"
,
"city"
:
"110100"
,
"district"
:
"110101"
,
"area_name"
:
"滴滴滴"
,
"address"
:
"路100号"
,
"lng"
:
"38.911251220094"
,
"lat"
:
"121.60083184468"
,
"is_partner"
:
0
,
"city_name"
:
"懂得"
},
"activity_seckill"
:
{
"setting"
:
{
"title"
:
"秒杀"
,
"banner"
:
"https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3119832186,3639141636&fm=27&gp=0.jpg"
,
"module_id"
:
"shop_seckill"
,
"style"
:
1
,
"sort"
:
1
,
"is_show"
:
1
,
"is_banner_show"
:
1
},
"items"
:
[
{
"id"
:
3589
,
"name"
:
"惠尔顿 汽车儿童安全座椅 车载婴儿宝宝安全座椅 0-6岁 皇家盔宝"
,
"sell_point"
:
""
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sales_price"
:
50
,
"market_price"
:
40
,
"total"
:
10
,
"sold_num"
:
1
,
"is_buy"
:
0
,
"is_collect"
:
0
,
"is_stars"
:
0
,
"is_free_shipping"
:
0
,
"is_haitao"
:
0
,
"as_status"
:
1
},
{
"id"
:
3631
,
"name"
:
"自助上架-双规格"
,
"sell_point"
:
""
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sales_price"
:
1000
,
"market_price"
:
888
,
"total"
:
24
,
"sold_num"
:
23
,
"is_buy"
:
0
,
"is_collect"
:
0
,
"is_stars"
:
0
,
"is_free_shipping"
:
0
,
"is_haitao"
:
0
,
"as_status"
:
0
}
]
},
"shop_recommend"
:
{
"setting"
:
{
"title"
:
"店主推荐"
,
"banner"
:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1528870255838&di=90df5f0eb8269f16a54b415501a6ce5e&imgtype=0&src=http%3A%2F%2Ff2.dn.anqu.com%2Fthumb%2FNjExfHx8MTAwMDB8fHwzfHx8OWY0Zg%3D%3D%2Fallimg%2F1307%2F54-130F5091F0.jpg"
,
"module_id"
:
"shop_recommend"
,
"style"
:
1
,
"sort"
:
0
,
"is_show"
:
1
,
"is_banner_show"
:
1
},
"items"
:
[
{
"id"
:
1848
,
"shop_id"
:
1
,
"name"
:
"保税区!哈罗闪baby wash&care 婴儿滋润沐浴露200ml"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
""
,
"market_price"
:
3200
,
"sales_price"
:
2900
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sold_quantity"
:
0
,
"quantity"
:
85
,
"is_virtual"
:
0
,
"fx_item_id"
:
1106
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
1
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
},
{
"id"
:
1846
,
"shop_id"
:
1
,
"name"
:
"美国艾维诺Aveeno婴儿无泪2合1洗发沐浴露354ml"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
""
,
"market_price"
:
12600
,
"sales_price"
:
9500
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sold_quantity"
:
0
,
"quantity"
:
231
,
"is_virtual"
:
0
,
"fx_item_id"
:
1102
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
1
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
},
{
"id"
:
1835
,
"shop_id"
:
1
,
"name"
:
"【行货】大王维E环贴纸尿裤S84片"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
""
,
"market_price"
:
50000
,
"sales_price"
:
47800
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sold_quantity"
:
0
,
"quantity"
:
583
,
"is_virtual"
:
0
,
"fx_item_id"
:
1394
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
1
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
}
]
},
"goods"
:
{
"setting"
:
{
"title"
:
"全部商品"
,
"banner"
:
""
,
"module_id"
:
"goods"
,
"style"
:
0
,
"sort"
:
1
,
"is_show"
:
1
,
"is_banner_show"
:
0
},
"items"
:
[
{
"id"
:
3631
,
"shop_id"
:
1
,
"name"
:
"ujbfgh"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
"vughij"
,
"market_price"
:
474
,
"sales_price"
:
1
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sold_quantity"
:
1
,
"quantity"
:
534
,
"is_virtual"
:
0
,
"fx_item_id"
:
0
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
0
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
},
{
"id"
:
3630
,
"shop_id"
:
1
,
"name"
:
"惠尔顿 9个月-6岁宝宝安全座椅 汽车用车载婴儿童安全座椅 运动宝"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
""
,
"market_price"
:
109900
,
"sales_price"
:
78500
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sold_quantity"
:
0
,
"quantity"
:
300
,
"is_virtual"
:
0
,
"fx_item_id"
:
1041
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
0
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
},
{
"id"
:
3568
,
"shop_id"
:
1
,
"name"
:
"【行货】大王 GOO.N 纸尿裤S58片"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
""
,
"market_price"
:
76000
,
"sales_price"
:
62400
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sold_quantity"
:
0
,
"quantity"
:
89
,
"is_virtual"
:
0
,
"fx_item_id"
:
1388
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
0
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
},
{
"id"
:
3567
,
"shop_id"
:
1
,
"name"
:
"惠尔顿 婴儿安全座椅9个月-12岁车用宝宝车载儿童安全座椅 全能宝"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
""
,
"market_price"
:
129900
,
"sales_price"
:
92800
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sold_quantity"
:
0
,
"quantity"
:
400
,
"is_virtual"
:
0
,
"fx_item_id"
:
1040
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
0
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
},
{
"id"
:
3566
,
"shop_id"
:
1
,
"name"
:
"解放军"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
"基督教"
,
"market_price"
:
1
,
"sales_price"
:
1
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpgg"
,
"sold_quantity"
:
5
,
"quantity"
:
85
,
"is_virtual"
:
0
,
"fx_item_id"
:
0
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
0
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
},
{
"id"
:
3564
,
"shop_id"
:
1
,
"name"
:
"惠尔顿 儿童安全座椅 isofix汽车宝宝安全座椅3岁-12岁 茧之旅FIT"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
""
,
"market_price"
:
102900
,
"sales_price"
:
69300
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sold_quantity"
:
0
,
"quantity"
:
400
,
"is_virtual"
:
0
,
"fx_item_id"
:
1038
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
0
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
},
{
"id"
:
3563
,
"shop_id"
:
1
,
"name"
:
"2罐装保税区直发!澳洲爱他美Aptamil婴儿配方奶粉2段6~12M900g"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
""
,
"market_price"
:
59000
,
"sales_price"
:
56200
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sold_quantity"
:
0
,
"quantity"
:
2039
,
"is_virtual"
:
0
,
"fx_item_id"
:
1024
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
0
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
},
{
"id"
:
3562
,
"shop_id"
:
1
,
"name"
:
"2罐装保税区直发!澳洲爱他美Aptamil婴儿配方奶粉4段24M 900g"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
""
,
"market_price"
:
56800
,
"sales_price"
:
34800
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sold_quantity"
:
0
,
"quantity"
:
2148
,
"is_virtual"
:
0
,
"fx_item_id"
:
1026
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
0
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
}
]
},
"page"
:
{
"totalCount"
:
93
,
"pageCount"
:
12
,
"currentPage"
:
1
,
"perPage"
:
8
},
"mx_goods"
:
null
},
"code"
:
200
,
"message"
:
"OK"
,
"success"
:
true
},
"moreGoods"
:
{
"data"
:
{
"items"
:
[
{
"id"
:
3631
,
"shop_id"
:
1
,
"name"
:
"ujbfgh"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
"vughij"
,
"market_price"
:
474
,
"sales_price"
:
1
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sold_quantity"
:
1
,
"quantity"
:
534
,
"is_virtual"
:
0
,
"fx_item_id"
:
0
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
0
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
},
{
"id"
:
3630
,
"shop_id"
:
1
,
"name"
:
"惠尔顿 9个月-6岁宝宝安全座椅 汽车用车载婴儿童安全座椅 运动宝"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
""
,
"market_price"
:
109900
,
"sales_price"
:
78500
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sold_quantity"
:
0
,
"quantity"
:
300
,
"is_virtual"
:
0
,
"fx_item_id"
:
1041
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
0
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
},
{
"id"
:
3568
,
"shop_id"
:
1
,
"name"
:
"【行货】大王 GOO.N 纸尿裤S58片"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
""
,
"market_price"
:
76000
,
"sales_price"
:
62400
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sold_quantity"
:
0
,
"quantity"
:
89
,
"is_virtual"
:
0
,
"fx_item_id"
:
1388
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
0
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
},
{
"id"
:
3567
,
"shop_id"
:
1
,
"name"
:
"惠尔顿 婴儿安全座椅9个月-12岁车用宝宝车载儿童安全座椅 全能宝"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
""
,
"market_price"
:
129900
,
"sales_price"
:
92800
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sold_quantity"
:
0
,
"quantity"
:
400
,
"is_virtual"
:
0
,
"fx_item_id"
:
1040
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
0
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
},
{
"id"
:
3566
,
"shop_id"
:
1
,
"name"
:
"解放军"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
"基督教"
,
"market_price"
:
1
,
"sales_price"
:
1
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpgg"
,
"sold_quantity"
:
5
,
"quantity"
:
85
,
"is_virtual"
:
0
,
"fx_item_id"
:
0
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
0
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
},
{
"id"
:
3564
,
"shop_id"
:
1
,
"name"
:
"惠尔顿 儿童安全座椅 isofix汽车宝宝安全座椅3岁-12岁 茧之旅FIT"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
""
,
"market_price"
:
102900
,
"sales_price"
:
69300
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sold_quantity"
:
0
,
"quantity"
:
400
,
"is_virtual"
:
0
,
"fx_item_id"
:
1038
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
0
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
},
{
"id"
:
3563
,
"shop_id"
:
1
,
"name"
:
"2罐装保税区直发!澳洲爱他美Aptamil婴儿配方奶粉2段6~12M900g"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
""
,
"market_price"
:
59000
,
"sales_price"
:
56200
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sold_quantity"
:
0
,
"quantity"
:
2039
,
"is_virtual"
:
0
,
"fx_item_id"
:
1024
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
0
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
},
{
"id"
:
3562
,
"shop_id"
:
1
,
"name"
:
"2罐装保税区直发!澳洲爱他美Aptamil婴儿配方奶粉4段24M 900g"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
""
,
"market_price"
:
56800
,
"sales_price"
:
34800
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sold_quantity"
:
0
,
"quantity"
:
2148
,
"is_virtual"
:
0
,
"fx_item_id"
:
1026
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
0
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
}
],
"page"
:
{
"totalCount"
:
38
,
"pageCount"
:
5
,
"currentPage"
:
1
,
"perPage"
:
8
}
},
"code"
:
200
,
"message"
:
"OK"
,
"success"
:
true
},
"category"
:
{
"data"
:
[
{
"id"
:
697
,
"shop_id"
:
1
,
"parent_id"
:
0
,
"name"
:
"小小分"
,
"pic_url"
:
""
,
"is_parent"
:
1
,
"sort_order"
:
100
,
"status"
:
1
,
"created_at"
:
1515045329
,
"updated_at"
:
1515045329
,
"children"
:
[
{
"id"
:
699
,
"shop_id"
:
1
,
"parent_id"
:
697
,
"name"
:
"猫咪"
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"is_parent"
:
0
,
"sort_order"
:
100
,
"status"
:
1
,
"created_at"
:
1515045344
,
"updated_at"
:
1515045344
},
{
"id"
:
899
,
"shop_id"
:
1
,
"parent_id"
:
697
,
"name"
:
"猫咪2"
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"is_parent"
:
0
,
"sort_order"
:
100
,
"status"
:
1
,
"created_at"
:
1515045344
,
"updated_at"
:
1515045344
}
]
},
{
"id"
:
0
,
"shop_id"
:
1
,
"parent_id"
:
0
,
"name"
:
"其它"
,
"pic_url"
:
""
,
"is_parent"
:
1
,
"sort_order"
:
100
,
"status"
:
1
}
],
"code"
:
200
,
"message"
:
"OK"
,
"success"
:
true
},
"goods"
:
{
"data"
:
{
"items"
:
[
{
"id"
:
3568
,
"shop_id"
:
1
,
"name"
:
"【行货】大王 GOO.N 纸尿裤S58片"
,
"sell_point"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
""
,
"market_price"
:
76000
,
"sales_price"
:
62400
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"sold_quantity"
:
0
,
"quantity"
:
89
,
"is_virtual"
:
0
,
"fx_item_id"
:
1388
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"is_haitao"
:
0
,
"is_recommend"
:
0
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"is_stars"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
null
}
],
"page"
:
{
"totalCount"
:
1
,
"pageCount"
:
1
,
"currentPage"
:
1
,
"perPage"
:
8
}
},
"code"
:
200
,
"message"
:
"OK"
,
"success"
:
true
},
"details"
:
{
"data"
:
{
"id"
:
3568
,
"user_id"
:
758
,
"shop_id"
:
1
,
"product_id"
:
0
,
"name"
:
"【行货】大王 GOO.N 纸尿裤S58片"
,
"sell_point"
:
""
,
"shop_cids"
:
"699"
,
"cid"
:
59
,
"cat_name"
:
""
,
"brand_id"
:
0
,
"brand_name"
:
""
,
"key_props"
:
"1001:1007;3413:2711;"
,
"key_props_str"
:
"品牌:GOON大王天使;纸尿裤尺码:S58;"
,
"props"
:
"1001:1007;3413:2711;"
,
"props_str"
:
"品牌:GOON大王天使;纸尿裤尺码:S58;"
,
"input_pids"
:
""
,
"input_str"
:
""
,
"market_price"
:
76000
,
"sales_price"
:
62400
,
"purchase_price"
:
48000
,
"weight"
:
"0.000"
,
"bulk"
:
"0.000"
,
"pic_url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
,
"withhold_quantity"
:
0
,
"sold_quantity"
:
0
,
"quantity"
:
89
,
"sub_stock"
:
1
,
"tax_rate"
:
"0.000"
,
"is_virtual"
:
0
,
"is_free_shipping"
:
0
,
"is_fenxiao"
:
1
,
"fx_item_id"
:
1388
,
"fx_profit"
:
14400
,
"min_profit"
:
14400
,
"max_profit"
:
14400
,
"postage_id"
:
1
,
"province"
:
""
,
"city"
:
""
,
"has_sku"
:
0
,
"outer_id"
:
""
,
"barcode"
:
""
,
"status"
:
1
,
"approve_status"
:
1
,
"sort_order"
:
100
,
"mop_product_id"
:
63
,
"features"
:
""
,
"version"
:
0
,
"start_sale_time"
:
0
,
"created_at"
:
1510045090
,
"updated_at"
:
1510045090
,
"is_haitao"
:
0
,
"is_recommend"
:
0
,
"recommend_time"
:
0
,
"is_zhuan"
:
0
,
"miao_id"
:
0
,
"use_start_time"
:
0
,
"use_end_time"
:
0
,
"video_id"
:
0
,
"is_stars"
:
0
,
"max_price"
:
0
,
"one_grate"
:
0
,
"two_grate"
:
0
,
"is_buy"
:
null
,
"is_collect"
:
0
,
"ship_address"
:
{
"city"
:
"杭州市"
,
"city_code"
:
"330100"
},
"attention_matters"
:
null
,
"postage_name"
:
null
,
"desc"
:
"<img alt=
\"\"
src=
\"
http://pic2.moresing.com/kindeditor/php/../attached/image/20170220/20170220135343_63212.jpg
\"
><img alt=
\"\"
src=
\"
http://pic1.moresing.com/kindeditor/php/../attached/image/20170220/20170220135343_37527.jpg
\"
><img alt=
\"\"
src=
\"
http://pic1.moresing.com/kindeditor/php/../attached/image/20170220/20170220135343_83387.jpg
\"
><img alt=
\"\"
src=
\"
http://pic2.moresing.com/kindeditor/php/../attached/image/20170220/20170220135344_95490.jpg
\"
><img alt=
\"\"
src=
\"
http://pic2.moresing.com/kindeditor/php/../attached/image/20170220/20170220135344_78328.jpg
\"
><img alt=
\"\"
src=
\"
http://pic1.moresing.com/kindeditor/php/../attached/image/20170220/20170220135344_74260.jpg
\"
><img alt=
\"\"
src=
\"
http://pic2.moresing.com/kindeditor/php/../attached/image/20170220/20170220135344_65105.jpg
\"
><img alt=
\"\"
src=
\"
http://pic2.moresing.com/kindeditor/php/../attached/image/20170220/20170220135344_16353.jpg
\"
><img alt=
\"\"
src=
\"
http://pic1.moresing.com/kindeditor/php/../attached/image/20170220/20170220135344_65133.jpg
\"
>"
,
"skus"
:
[],
"prop_imgs"
:
[],
"item_imgs"
:
[
{
"url"
:
"//img.yzcdn.cn/upload_files/2017/07/02/af5b9f44deaeb68000d7e4a711160c53.jpg"
}
],
"video_url"
:
""
},
"code"
:
200
,
"message"
:
"OK"
,
"success"
:
true
},
"address"
:
{
"data"
:
[
{
"id"
:
"119"
,
"user_id"
:
"448907"
,
"consignee"
:
"2222"
,
"id_card"
:
""
,
"province"
:
"130000"
,
"city"
:
"130400"
,
"district"
:
"130406"
,
"town"
:
""
,
"area_name"
:
"河北省 邯郸市 峰峰矿区"
,
"address"
:
"dsdsadsad"
,
"zip_code"
:
"12323"
,
"mobile"
:
"13454193338"
,
"telphone"
:
""
,
"created_at"
:
"1506315000"
,
"updated_at"
:
"1506315000"
},
{
"id"
:
"127"
,
"user_id"
:
"448907"
,
"consignee"
:
"薛大大下单"
,
"id_card"
:
""
,
"province"
:
"110000"
,
"city"
:
"110100"
,
"district"
:
"110101"
,
"town"
:
""
,
"area_name"
:
"北京市 北京市 东城区"
,
"address"
:
"警察局就拒绝感觉"
,
"zip_code"
:
"000000"
,
"mobile"
:
"18758871254"
,
"telphone"
:
""
,
"created_at"
:
"1506395556"
,
"updated_at"
:
"1506395556"
},
{
"id"
:
"123"
,
"user_id"
:
"448907"
,
"consignee"
:
"测试"
,
"id_card"
:
""
,
"province"
:
"130000"
,
"city"
:
"130100"
,
"district"
:
"130102"
,
"town"
:
""
,
"area_name"
:
"河北省 石家庄市 长安区"
,
"address"
:
"水电费缴纳可劲儿放暑假"
,
"zip_code"
:
"1111"
,
"mobile"
:
"13323456789"
,
"telphone"
:
""
,
"created_at"
:
"1506320538"
,
"updated_at"
:
"1506320538"
},
{
"id"
:
"121"
,
"user_id"
:
"448907"
,
"consignee"
:
"sdsds"
,
"id_card"
:
""
,
"province"
:
"140000"
,
"city"
:
"140200"
,
"district"
:
"140211"
,
"town"
:
""
,
"area_name"
:
"山西省 大同市 南郊区"
,
"address"
:
"22222"
,
"zip_code"
:
"1233"
,
"mobile"
:
"13454193338"
,
"telphone"
:
""
,
"created_at"
:
"1506315889"
,
"updated_at"
:
"1506315889"
},
{
"id"
:
"93"
,
"user_id"
:
"448907"
,
"consignee"
:
"大屏"
,
"id_card"
:
""
,
"province"
:
"330000"
,
"city"
:
"330100"
,
"district"
:
"330106"
,
"town"
:
""
,
"area_name"
:
"浙江省 杭州市 西湖区"
,
"address"
:
"测试收啊啊啊啊啊啊"
,
"zip_code"
:
""
,
"mobile"
:
"13312341234"
,
"telphone"
:
""
,
"created_at"
:
"1505875313"
,
"updated_at"
:
"1505875313"
},
{
"id"
:
"91"
,
"user_id"
:
"448907"
,
"consignee"
:
"萨达是"
,
"id_card"
:
""
,
"province"
:
"120000"
,
"city"
:
"120100"
,
"district"
:
"120102"
,
"town"
:
""
,
"area_name"
:
"天津 天津市 河东区"
,
"address"
:
"实打实的撒的"
,
"zip_code"
:
"123456"
,
"mobile"
:
"13454193338"
,
"telphone"
:
""
,
"created_at"
:
"1505820391"
,
"updated_at"
:
"1505820391"
}
],
"code"
:
200
,
"message"
:
"OK"
,
"success"
:
true
},
"address-default"
:
{
"data"
:
{
"id"
:
"119"
,
"user_id"
:
"448907"
,
"consignee"
:
"2222"
,
"id_card"
:
""
,
"province"
:
"130000"
,
"city"
:
"130400"
,
"district"
:
"130406"
,
"town"
:
""
,
"area_name"
:
"河北省 邯郸市 峰峰矿区"
,
"address"
:
"dsdsadsad"
,
"zip_code"
:
"12323"
,
"mobile"
:
"13454193338"
,
"telphone"
:
""
,
"created_at"
:
"1506315000"
,
"updated_at"
:
"1506315000"
},
"code"
:
200
,
"message"
:
"OK"
,
"success"
:
true
},
"user-login"
:
{
"data"
:
{
"user_id"
:
448907
,
"access_token"
:
"hA-QA97BBuPFgDv9Eht8z2JFxDq-6cLQ"
,
"mobile"
:
"13454193330"
,
"madian_token"
:
"3Uu9q0RRx56IQlFTKBIYIzVjYTUyNWY5MDU4YzE2YjgyYTE1Y2ZhYmM3MWY2N2MwNzM1ZTJjOTFjNTYxODllZWQ4NWEwMGVkZTNkNzE3ZTfV
\/
eHskiAmLo1oMBrx1nmfN6RylF3VjMe+nrFt38WcmiGcyyZZK1tsq4OaNWiisbQpIuk5h9JhVOgO0aPffBwR
\/
VBNpwkTDPpzA6xECv4LAQ=="
},
"code"
:
200
,
"message"
:
"OK"
,
"success"
:
true
},
"user-profile"
:
{
"data"
:
{
"user_id"
:
"448907"
,
"nick_name"
:
"11"
,
"gender"
:
"1"
,
"birthday"
:
"1508198400"
,
"avatar"
:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1528870575654&di=be72a93643dfff4162c32d70166ddfe4&imgtype=0&src=http%3A%2F%2Fg.hiphotos.baidu.com%2Fzhidao%2Fwh%253D450%252C600%2Fsign%3D67a7d1f0b551f819f1700b4eef8466db%2Ff9dcd100baa1cd112c3e25fbbc12c8fcc2ce2d64.jpg"
,
"province"
:
"430000"
,
"city"
:
"431200"
,
"district"
:
""
,
"area_name"
:
""
,
"default_address_id"
:
"259"
,
"level"
:
"1"
,
"background_image"
:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1528870451130&di=053a495c9c4a83c5f669d49032666acb&imgtype=0&src=http%3A%2F%2Fi1.hdslb.com%2Fbfs%2Farchive%2Fd7cf587340b13c7b17a22d478fcd68a998fbbefa.png"
,
"exp"
:
"50"
,
"login_time"
:
"1516765163"
,
"login_ip"
:
"2130706433"
,
"created_at"
:
"1501763730"
,
"updated_at"
:
"1516765163"
,
"mobile"
:
"123456789"
},
"code"
:
200
,
"message"
:
"OK"
,
"success"
:
true
},
"shop-info"
:
{
"data"
:
{
"id"
:
"1"
,
"user_id"
:
"758"
,
"shop_id"
:
"1"
,
"shop_name"
:
"
\u
6b27
\u
4e09
\u
4e0d
\u
6c5f
\u
4e8c
\u
8def
\u
5e971"
,
"branch_name"
:
"
\u
6c5f
\u
4e8c
\u
8def
\u
5e97"
,
"shop_qrcode"
:
"http:
\/\/
moresing-v3.img-cn-shanghai.aliyuncs.com
\/
201612
\/
L32tMbF1PUiy40A9.png"
,
"avatar"
:
"http:
\/\/
mamaqunaer.oss-cn-shanghai.aliyuncs.com
\/
20171201
\/
ZcawdYtnn3.jpg"
,
"banner"
:
"http:
\/\/
mamaqunaer.oss-cn-shanghai.aliyuncs.com
\/
android
\/
201711
\/
6ebfc6b423caa4db6e3c8a91997210b7.JPEG"
,
"notice"
:
"1212412"
,
"contact"
:
"13370140905"
,
"wechat_id"
:
"99999"
,
"qr_code"
:
"http:
\/\/
mamaqunaer.oss-cn-shanghai.aliyuncs.com
\/
android
\/
201711
\/
607bde41c4c2e540d7f57b47f65c3748.JPEG"
,
"hash_code"
:
"85f3952d8af25eec1fc533d77b6bdb29"
,
"item_limit"
:
"2"
,
"status"
:
"1"
,
"created_at"
:
"1481964080"
,
"updated_at"
:
"1516673113"
,
"province"
:
"110000"
,
"city"
:
"110100"
,
"district"
:
"110101"
,
"area_name"
:
"
\u
5317
\u
4eac,
\u
5317
\u
4eac
\u
5e02,
\u
4e1c
\u
57ce
\u
533a"
,
"address"
:
"
\u
897f
\u
5b89
\u
8def100
\u
53f7"
,
"lng"
:
"38.911251220094"
,
"lat"
:
"121.60083184468"
,
"is_partner"
:
0
,
"shop_status"
:
10
,
"city_name"
:
"
\u
5317
\u
4eac
\u
5e02"
},
"code"
:
200
,
"message"
:
"OK"
,
"success"
:
true
},
"order-list"
:
{
"data"
:
{
"items"
:
[{
"id"
:
"MD2018012300001228"
,
"status"
:
20
,
"post_fee"
:
0
,
"total_fee"
:
5
,
"is_can_reminder"
:
true
,
"orderItems"
:
[{
"id"
:
"MD2018012300001291"
,
"order_id"
:
"MD2018012300001228"
,
"item_id"
:
1849
,
"sku_id"
:
""
,
"price"
:
5
,
"quantity"
:
1
,
"item_name"
:
"
\u
4fdd
\u
7a0e
\u
533a
\u
ff01Merries
\u
82b1
\u
738b
\u
7eb8
\u
5c3f
\u
88e4NB90"
,
"pic_url"
:
"http:
\/\/
moresing-v3.img-cn-shanghai.aliyuncs.com
\/
201611
\/
JDzsAMR8736tpgfe.jpg"
,
"sku_props_str"
:
""
,
"tax_fee"
:
0
,
"discount_fee"
:
0
,
"total_fee"
:
5
,
"start_time"
:
0
,
"end_time"
:
0
,
"status"
:
20
,
"refund_id"
:
0
,
"refund_status"
:
0
}]
},
{
"id"
:
"MD2018012200001216"
,
"status"
:
30
,
"post_fee"
:
0
,
"total_fee"
:
1
,
"is_can_reminder"
:
false
,
"orderItems"
:
[{
"id"
:
"MD2018012200001279"
,
"order_id"
:
"MD2018012200001216"
,
"item_id"
:
3566
,
"sku_id"
:
""
,
"price"
:
1
,
"quantity"
:
1
,
"item_name"
:
"
\u
89e3
\u
653e
\u
519b"
,
"pic_url"
:
"http:
\/\/
moresing-v3.img-cn-shanghai.aliyuncs.com
\/
201711
\/
15100451141371822.jpg"
,
"sku_props_str"
:
""
,
"tax_fee"
:
0
,
"discount_fee"
:
0
,
"total_fee"
:
1
,
"start_time"
:
0
,
"end_time"
:
0
,
"status"
:
30
,
"refund_id"
:
191
,
"refund_status"
:
10
}]
},
{
"id"
:
"MD2018012200001207"
,
"status"
:
20
,
"post_fee"
:
1
,
"total_fee"
:
6
,
"is_can_reminder"
:
true
,
"orderItems"
:
[{
"id"
:
"MD2018012200001269"
,
"order_id"
:
"MD2018012200001207"
,
"item_id"
:
3631
,
"sku_id"
:
""
,
"price"
:
5
,
"quantity"
:
1
,
"item_name"
:
"ujbfgh"
,
"pic_url"
:
"http:
\/\/
mamaqunaer.oss-cn-shanghai.aliyuncs.com
\/
android
\/
201711
\/
ff9e85124638b593212148aad47c893b.JPEG"
,
"sku_props_str"
:
""
,
"tax_fee"
:
0
,
"discount_fee"
:
0
,
"total_fee"
:
5
,
"start_time"
:
0
,
"end_time"
:
0
,
"status"
:
20
,
"refund_id"
:
175
,
"refund_status"
:
10
}]
},
{
"id"
:
"MD2018012200001205"
,
"status"
:
20
,
"post_fee"
:
1
,
"total_fee"
:
6
,
"is_can_reminder"
:
true
,
"orderItems"
:
[{
"id"
:
"MD2018012200001267"
,
"order_id"
:
"MD2018012200001205"
,
"item_id"
:
3631
,
"sku_id"
:
""
,
"price"
:
5
,
"quantity"
:
1
,
"item_name"
:
"ujbfgh"
,
"pic_url"
:
"http:
\/\/
mamaqunaer.oss-cn-shanghai.aliyuncs.com
\/
android
\/
201711
\/
ff9e85124638b593212148aad47c893b.JPEG"
,
"sku_props_str"
:
""
,
"tax_fee"
:
0
,
"discount_fee"
:
0
,
"total_fee"
:
5
,
"start_time"
:
0
,
"end_time"
:
0
,
"status"
:
20
,
"refund_id"
:
173
,
"refund_status"
:
10
}]
},
{
"id"
:
"MD2018012200001204"
,
"status"
:
20
,
"post_fee"
:
1
,
"total_fee"
:
6
,
"is_can_reminder"
:
true
,
"orderItems"
:
[{
"id"
:
"MD2018012200001266"
,
"order_id"
:
"MD2018012200001204"
,
"item_id"
:
3631
,
"sku_id"
:
""
,
"price"
:
5
,
"quantity"
:
1
,
"item_name"
:
"ujbfgh"
,
"pic_url"
:
"http:
\/\/
mamaqunaer.oss-cn-shanghai.aliyuncs.com
\/
android
\/
201711
\/
ff9e85124638b593212148aad47c893b.JPEG"
,
"sku_props_str"
:
""
,
"tax_fee"
:
0
,
"discount_fee"
:
0
,
"total_fee"
:
5
,
"start_time"
:
0
,
"end_time"
:
0
,
"status"
:
20
,
"refund_id"
:
171
,
"refund_status"
:
10
}]
},
{
"id"
:
"MD2018012200001203"
,
"status"
:
20
,
"post_fee"
:
1
,
"total_fee"
:
6
,
"is_can_reminder"
:
true
,
"orderItems"
:
[{
"id"
:
"MD2018012200001265"
,
"order_id"
:
"MD2018012200001203"
,
"item_id"
:
3631
,
"sku_id"
:
""
,
"price"
:
5
,
"quantity"
:
1
,
"item_name"
:
"ujbfgh"
,
"pic_url"
:
"http:
\/\/
mamaqunaer.oss-cn-shanghai.aliyuncs.com
\/
android
\/
201711
\/
ff9e85124638b593212148aad47c893b.JPEG"
,
"sku_props_str"
:
""
,
"tax_fee"
:
0
,
"discount_fee"
:
0
,
"total_fee"
:
5
,
"start_time"
:
0
,
"end_time"
:
0
,
"status"
:
20
,
"refund_id"
:
169
,
"refund_status"
:
10
}]
},
{
"id"
:
"MD2018012200001202"
,
"status"
:
20
,
"post_fee"
:
1
,
"total_fee"
:
6
,
"is_can_reminder"
:
true
,
"orderItems"
:
[{
"id"
:
"MD2018012200001264"
,
"order_id"
:
"MD2018012200001202"
,
"item_id"
:
3631
,
"sku_id"
:
""
,
"price"
:
5
,
"quantity"
:
1
,
"item_name"
:
"ujbfgh"
,
"pic_url"
:
"http:
\/\/
mamaqunaer.oss-cn-shanghai.aliyuncs.com
\/
android
\/
201711
\/
ff9e85124638b593212148aad47c893b.JPEG"
,
"sku_props_str"
:
""
,
"tax_fee"
:
0
,
"discount_fee"
:
0
,
"total_fee"
:
5
,
"start_time"
:
0
,
"end_time"
:
0
,
"status"
:
20
,
"refund_id"
:
167
,
"refund_status"
:
10
}]
},
{
"id"
:
"MD2018012200001201"
,
"status"
:
20
,
"post_fee"
:
1
,
"total_fee"
:
6
,
"is_can_reminder"
:
true
,
"orderItems"
:
[{
"id"
:
"MD2018012200001263"
,
"order_id"
:
"MD2018012200001201"
,
"item_id"
:
3631
,
"sku_id"
:
""
,
"price"
:
5
,
"quantity"
:
1
,
"item_name"
:
"ujbfgh"
,
"pic_url"
:
"http:
\/\/
mamaqunaer.oss-cn-shanghai.aliyuncs.com
\/
android
\/
201711
\/
ff9e85124638b593212148aad47c893b.JPEG"
,
"sku_props_str"
:
""
,
"tax_fee"
:
0
,
"discount_fee"
:
0
,
"total_fee"
:
5
,
"start_time"
:
0
,
"end_time"
:
0
,
"status"
:
20
,
"refund_id"
:
165
,
"refund_status"
:
10
}]
}],
"page"
:
{
"totalCount"
:
65
,
"pageCount"
:
9
,
"currentPage"
:
1
,
"perPage"
:
8
}
},
"code"
:
200
,
"message"
:
"OK"
,
"success"
:
true
},
"electronic-list"
:
{
"data"
:
{
"items"
:
[{
"id"
:
"MD2018022600001480"
,
"status"
:
10
,
"total_fee"
:
1
,
"serviceItems"
:
[{
"id"
:
"MD2018022600001589"
,
"order_id"
:
"MD2018022600001480"
,
"item_id"
:
3689
,
"sku_id"
:
""
,
"price"
:
1
,
"quantity"
:
1
,
"item_name"
:
"
\u
9897
\u
7c92
\u
5242
\u
963f
\u
8428
\u
5fb7
\u
8def
\u
53e3
\u
9644
\u
8fd1
\u
963f
\u
5580
\u
7409
\u
65af
\u
4f4e
\u
4ef7
\u
623f"
,
"pic_url"
:
"http:
\/\/
mamaqunaer.oss-cn-shanghai.aliyuncs.com
\/
user
\/
1000597
\/
m5k6GmMZKT.jpg"
,
"sku_props_str"
:
""
,
"total_fee"
:
1
,
"start_time"
:
1513069200
,
"end_time"
:
1525845401
,
"status"
:
10
}]
}],
"page"
:
{
"totalCount"
:
1
,
"pageCount"
:
1
,
"currentPage"
:
1
,
"perPage"
:
8
}
},
"code"
:
200
,
"message"
:
"OK"
,
"success"
:
true
},
"refund-list"
:
{
"data"
:
{
"items"
:
[{
"id"
:
205
,
"order_id"
:
"MD2018011600001107"
,
"apply_refund_fee"
:
12
,
"status"
:
60
,
"orderItem"
:
{
"id"
:
"MD2018011600001131"
,
"price"
:
7
,
"quantity"
:
2
,
"item_id"
:
1849
,
"item_name"
:
"
\u
4fdd
\u
7a0e
\u
533a
\u
ff01Merries
\u
82b1
\u
738b
\u
7eb8
\u
5c3f
\u
88e4NB90"
,
"pic_url"
:
"http:
\/\/
moresing-v3.img-cn-shanghai.aliyuncs.com
\/
201611
\/
JDzsAMR8736tpgfe.jpg"
,
"sku_props_str"
:
""
,
"total_fee"
:
14
,
"payment"
:
12
}
},
{
"id"
:
201
,
"order_id"
:
"MD2018011500001084"
,
"apply_refund_fee"
:
1
,
"status"
:
60
,
"orderItem"
:
{
"id"
:
"MD2018011500001108"
,
"price"
:
1
,
"quantity"
:
1
,
"item_id"
:
3631
,
"item_name"
:
"ujbfgh"
,
"pic_url"
:
"http:
\/\/
mamaqunaer.oss-cn-shanghai.aliyuncs.com
\/
android
\/
201711
\/
ff9e85124638b593212148aad47c893b.JPEG"
,
"sku_props_str"
:
""
,
"total_fee"
:
1
,
"payment"
:
1
}
},
{
"id"
:
191
,
"order_id"
:
"MD2018012200001216"
,
"apply_refund_fee"
:
1
,
"status"
:
60
,
"orderItem"
:
{
"id"
:
"MD2018012200001279"
,
"price"
:
1
,
"quantity"
:
1
,
"item_id"
:
3566
,
"item_name"
:
"
\u
89e3
\u
653e
\u
519b"
,
"pic_url"
:
"http:
\/\/
moresing-v3.img-cn-shanghai.aliyuncs.com
\/
201711
\/
15100451141371822.jpg"
,
"sku_props_str"
:
""
,
"total_fee"
:
1
,
"payment"
:
1
}
},
{
"id"
:
101
,
"order_id"
:
"MD2018012200001216"
,
"apply_refund_fee"
:
1
,
"status"
:
60
,
"orderItem"
:
{
"id"
:
"MD2018012200001279"
,
"price"
:
1
,
"quantity"
:
1
,
"item_id"
:
3566
,
"item_name"
:
"
\u
89e3
\u
653e
\u
519b"
,
"pic_url"
:
"http:
\/\/
moresing-v3.img-cn-shanghai.aliyuncs.com
\/
201711
\/
15100451141371822.jpg"
,
"sku_props_str"
:
""
,
"total_fee"
:
1
,
"payment"
:
1
}
},
{
"id"
:
105
,
"order_id"
:
"MD2018012200001216"
,
"apply_refund_fee"
:
1
,
"status"
:
60
,
"orderItem"
:
{
"id"
:
"MD2018012200001279"
,
"price"
:
1
,
"quantity"
:
1
,
"item_id"
:
3566
,
"item_name"
:
"
\u
89e3
\u
653e
\u
519b"
,
"pic_url"
:
"http:
\/\/
moresing-v3.img-cn-shanghai.aliyuncs.com
\/
201711
\/
15100451141371822.jpg"
,
"sku_props_str"
:
""
,
"total_fee"
:
1
,
"payment"
:
1
}
},
{
"id"
:
112
,
"order_id"
:
"MD2018012200001216"
,
"apply_refund_fee"
:
1
,
"status"
:
60
,
"orderItem"
:
{
"id"
:
"MD2018012200001279"
,
"price"
:
1
,
"quantity"
:
1
,
"item_id"
:
3566
,
"item_name"
:
"
\u
89e3
\u
653e
\u
519b"
,
"pic_url"
:
"http:
\/\/
moresing-v3.img-cn-shanghai.aliyuncs.com
\/
201711
\/
15100451141371822.jpg"
,
"sku_props_str"
:
""
,
"total_fee"
:
1
,
"payment"
:
1
}
}],
"page"
:
{
"totalCount"
:
10
,
"pageCount"
:
2
,
"currentPage"
:
1
,
"perPage"
:
8
}
},
"code"
:
200
,
"message"
:
"OK"
,
"success"
:
true
}
}
litemall-vue/mock/route.json
deleted
100644 → 0
View file @
74126a92
litemall-vue/package-lock.json
deleted
100644 → 0
View file @
74126a92
This source diff could not be displayed because it is too large. You can
view the blob
instead.
litemall-vue/package.json
View file @
1b1a8945
{
"name"
:
"lite
-
mall"
,
"name"
:
"litemall
-vue
"
,
"version"
:
"0.1.0"
,
"description"
:
"litemall-vue basing on vant--mobile-mall 0.1.0"
,
"author"
:
"litemall <linlinjava@163.com>"
,
"license"
:
"MIT"
,
"private"
:
true
,
"scripts"
:
{
"dev"
:
"vue-cli-service serve"
,
"serve"
:
"vue-cli-service serve"
,
"build"
:
"vue-cli-service build"
,
"lint"
:
"vue-cli-service lint"
,
"mock"
:
"json-server ./mock/db.json"
"build:dep"
:
"vue-cli-service build"
,
"build:prod"
:
"vue-cli-service build"
,
"lint"
:
"vue-cli-service lint"
},
"dependencies"
:
{
"@xkeshi/vue-countdown"
:
"^1.0.1"
,
"axios"
:
"^0.18.0"
,
...
...
@@ -18,7 +24,6 @@
"vee-validate"
:
"^2.1.4"
,
"vue"
:
"^2.5.17"
,
"vue-router"
:
"^3.0.1"
,
"protobufjs"
:
"^6.8.6"
,
"vuelidation"
:
"^1.1.0"
},
"devDependencies"
:
{
...
...
litemall-vue/public/favicon.ico
View replaced file @
74126a92
View file @
1b1a8945
4.19 KB
|
W:
|
H:
66.1 KB
|
W:
|
H:
2-up
Swipe
Onion skin
litemall-vue/public/index.html
View file @
1b1a8945
...
...
@@ -7,14 +7,12 @@
<meta
content=
"black"
name=
"apple-mobile-web-app-status-bar-style"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
>
<link
rel=
"icon"
href=
"./favicon.ico"
type=
"image/x-icon"
/>
<script
src=
"<%= BASE_URL %>vconsole.min.js"
></script>
<title>
liteMall
</title>
<title>
litemall-vue
</title>
</head>
<body>
<noscript>
<strong>
We're sorry but zing-mall doesn't work properly without JavaScript enabled. Please enable it to
continue.
</strong>
<strong>
Please enable it to continue.
</strong>
</noscript>
<div
id=
"app"
>
<div
class=
"lds-ball"
>
...
...
litemall-vue/public/vconsole.min.js
deleted
100644 → 0
View file @
74126a92
/*!
* vconsole v2.4.0 (https://github.com/WechatFE/vConsole)
* Copyright 2016, WechatFE Team
* MIT license
*/
!
function
(
e
,
t
){
"
object
"
==
typeof
exports
&&
"
object
"
==
typeof
module
?
module
.
exports
=
t
():
"
function
"
==
typeof
define
&&
define
.
amd
?
define
([],
t
):
"
object
"
==
typeof
exports
?
exports
.
vConsole
=
t
():
e
.
vConsole
=
t
()}(
this
,
function
(){
return
function
(
e
){
function
t
(
n
){
if
(
o
[
n
])
return
o
[
n
].
exports
;
var
l
=
o
[
n
]
=
{
exports
:{},
id
:
n
,
loaded
:
!
1
};
return
e
[
n
].
call
(
l
.
exports
,
l
,
l
.
exports
,
t
),
l
.
loaded
=!
0
,
l
.
exports
}
var
o
=
{};
return
t
.
m
=
e
,
t
.
c
=
o
,
t
.
p
=
""
,
t
(
0
)}([
function
(
e
,
t
,
o
){
"
use strict
"
;
function
n
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
"
default
"
:
e
}}
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
l
=
o
(
1
),
i
=
n
(
l
),
r
=
o
(
15
),
a
=
n
(
r
),
c
=
o
(
16
),
s
=
n
(
c
),
d
=
o
(
23
),
u
=
n
(
d
),
v
=
o
(
25
),
f
=
n
(
v
),
p
=
new
i
[
"
default
"
];
p
.
addPlugin
(
s
[
"
default
"
]),
p
.
addPlugin
(
u
[
"
default
"
]),
p
.
addPlugin
(
f
[
"
default
"
]),
p
.
VConsolePlugin
=
a
[
"
default
"
],
t
[
"
default
"
]
=
p
,
e
.
exports
=
t
[
"
default
"
]},
function
(
e
,
t
,
o
){
"
use strict
"
;
function
n
(
e
){
if
(
e
&&
e
.
__esModule
)
return
e
;
var
t
=
{};
if
(
null
!=
e
)
for
(
var
o
in
e
)
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
o
)
&&
(
t
[
o
]
=
e
[
o
]);
return
t
[
"
default
"
]
=
e
,
t
}
function
l
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
"
default
"
:
e
}}
function
i
(
e
,
t
){
if
(
!
(
e
instanceof
t
))
throw
new
TypeError
(
"
Cannot call a class as a function
"
)}
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
r
=
function
(){
function
e
(
e
,
t
){
for
(
var
o
=
0
;
o
<
t
.
length
;
o
++
){
var
n
=
t
[
o
];
n
.
enumerable
=
n
.
enumerable
||!
1
,
n
.
configurable
=!
0
,
"
value
"
in
n
&&
(
n
.
writable
=!
0
),
Object
.
defineProperty
(
e
,
n
.
key
,
n
)}}
return
function
(
t
,
o
,
n
){
return
o
&&
e
(
t
.
prototype
,
o
),
n
&&
e
(
t
,
n
),
t
}}(),
a
=
o
(
2
),
c
=
l
(
a
),
s
=
o
(
3
),
d
=
n
(
s
),
u
=
o
(
4
),
v
=
l
(
u
);
o
(
6
);
var
f
=
o
(
10
),
p
=
l
(
f
),
g
=
o
(
11
),
b
=
l
(
g
),
h
=
o
(
12
),
m
=
l
(
h
),
y
=
o
(
13
),
_
=
l
(
y
),
w
=
o
(
14
),
x
=
l
(
w
),
k
=
function
(){
function
e
(){
i
(
this
,
e
);
var
t
=
this
;
this
.
version
=
c
[
"
default
"
].
version
,
this
.
html
=
p
[
"
default
"
],
this
.
$dom
=
null
,
this
.
activedTab
=
""
,
this
.
tabList
=
[],
this
.
pluginList
=
{},
this
.
isReady
=!
1
,
this
.
switchPos
=
{
x
:
10
,
y
:
10
,
startX
:
0
,
startY
:
0
,
endX
:
0
,
endY
:
0
},
this
.
tool
=
d
,
this
.
$
=
v
[
"
default
"
];
var
o
=
function
(){
t
.
_render
(),
t
.
_mockTap
(),
t
.
_bindEvent
(),
t
.
_autoRun
()};
o
()}
return
r
(
e
,[{
key
:
"
_render
"
,
value
:
function
(){
var
e
=
"
#__vconsole
"
;
if
(
!
v
[
"
default
"
].
one
(
e
)){
var
t
=
document
.
createElement
(
"
div
"
);
t
.
innerHTML
=
this
.
html
,
document
.
documentElement
.
appendChild
(
t
.
children
[
0
])}
this
.
$dom
=
v
[
"
default
"
].
one
(
e
);
var
o
=
v
[
"
default
"
].
one
(
"
.vc-switch
"
,
this
.
$dom
),
n
=
1
*
d
.
getStorage
(
"
switch_x
"
),
l
=
1
*
d
.
getStorage
(
"
switch_y
"
);(
n
||
l
)
&&
(
n
+
o
.
offsetWidth
>
document
.
documentElement
.
offsetWidth
&&
(
n
=
document
.
documentElement
.
offsetWidth
-
o
.
offsetWidth
),
l
+
o
.
offsetHeight
>
document
.
documentElement
.
offsetHeight
&&
(
l
=
document
.
documentElement
.
offsetHeight
-
o
.
offsetHeight
),
0
>
n
&&
(
n
=
0
),
0
>
l
&&
(
l
=
0
),
this
.
switchPos
.
x
=
n
,
this
.
switchPos
.
y
=
l
,
v
[
"
default
"
].
one
(
"
.vc-switch
"
).
style
.
right
=
n
+
"
px
"
,
v
[
"
default
"
].
one
(
"
.vc-switch
"
).
style
.
bottom
=
l
+
"
px
"
),
v
[
"
default
"
].
one
(
"
.vc-mask
"
,
this
.
$dom
).
style
.
display
=
"
none
"
}},{
key
:
"
_mockTap
"
,
value
:
function
(){
var
e
=
700
,
t
=
10
,
o
=
void
0
,
n
=
void
0
,
l
=
void
0
,
i
=!
1
,
r
=
null
;
this
.
$dom
.
addEventListener
(
"
touchstart
"
,
function
(
e
){
if
(
void
0
===
o
){
var
t
=
e
.
targetTouches
[
0
];
n
=
t
.
pageX
,
l
=
t
.
pageY
,
o
=
e
.
timeStamp
,
r
=
e
.
target
.
nodeType
===
Node
.
TEXT_NODE
?
e
.
target
.
parentNode
:
e
.
target
}},
!
1
),
this
.
$dom
.
addEventListener
(
"
touchmove
"
,
function
(
e
){
var
o
=
e
.
changedTouches
[
0
];(
Math
.
abs
(
o
.
pageX
-
n
)
>
t
||
Math
.
abs
(
o
.
pageY
-
l
)
>
t
)
&&
(
i
=!
0
)}),
this
.
$dom
.
addEventListener
(
"
touchend
"
,
function
(
t
){
if
(
i
===!
1
&&
t
.
timeStamp
-
o
<
e
&&
null
!=
r
){
var
n
=
r
.
tagName
.
toLowerCase
(),
l
=!
1
;
switch
(
n
){
case
"
textarea
"
:
l
=!
0
;
break
;
case
"
input
"
:
switch
(
r
.
type
){
case
"
button
"
:
case
"
checkbox
"
:
case
"
file
"
:
case
"
image
"
:
case
"
radio
"
:
case
"
submit
"
:
l
=!
1
;
break
;
default
:
l
=!
r
.
disabled
&&!
r
.
readOnly
}}
l
?
r
.
focus
():
t
.
preventDefault
();
var
a
=
t
.
changedTouches
[
0
],
c
=
document
.
createEvent
(
"
MouseEvents
"
);
c
.
initMouseEvent
(
"
click
"
,
!
0
,
!
0
,
window
,
1
,
a
.
screenX
,
a
.
screenY
,
a
.
clientX
,
a
.
clientY
,
!
1
,
!
1
,
!
1
,
!
1
,
0
,
null
),
c
.
forwardedTouchEvent
=!
0
,
c
.
initEvent
(
"
click
"
,
!
0
,
!
0
),
r
.
dispatchEvent
(
c
)}
o
=
void
0
,
i
=!
1
,
r
=
null
},
!
1
)}},{
key
:
"
_bindEvent
"
,
value
:
function
(){
var
e
=
this
,
t
=
v
[
"
default
"
].
one
(
"
.vc-switch
"
,
e
.
$dom
);
v
[
"
default
"
].
bind
(
t
,
"
touchstart
"
,
function
(
t
){
e
.
switchPos
.
startX
=
t
.
touches
[
0
].
pageX
,
e
.
switchPos
.
startY
=
t
.
touches
[
0
].
pageY
}),
v
[
"
default
"
].
bind
(
t
,
"
touchend
"
,
function
(
t
){
e
.
switchPos
.
x
=
e
.
switchPos
.
endX
,
e
.
switchPos
.
y
=
e
.
switchPos
.
endY
,
e
.
switchPos
.
startX
=
0
,
e
.
switchPos
.
startY
=
0
,
e
.
switchPos
.
endX
=
0
,
e
.
switchPos
.
endY
=
0
,
d
.
setStorage
(
"
switch_x
"
,
e
.
switchPos
.
x
),
d
.
setStorage
(
"
switch_y
"
,
e
.
switchPos
.
y
)}),
v
[
"
default
"
].
bind
(
t
,
"
touchmove
"
,
function
(
o
){
if
(
o
.
touches
.
length
>
0
){
var
n
=
o
.
touches
[
0
].
pageX
-
e
.
switchPos
.
startX
,
l
=
o
.
touches
[
0
].
pageY
-
e
.
switchPos
.
startY
,
i
=
e
.
switchPos
.
x
-
n
,
r
=
e
.
switchPos
.
y
-
l
;
i
+
t
.
offsetWidth
>
document
.
documentElement
.
offsetWidth
&&
(
i
=
document
.
documentElement
.
offsetWidth
-
t
.
offsetWidth
),
r
+
t
.
offsetHeight
>
document
.
documentElement
.
offsetHeight
&&
(
r
=
document
.
documentElement
.
offsetHeight
-
t
.
offsetHeight
),
0
>
i
&&
(
i
=
0
),
0
>
r
&&
(
r
=
0
),
t
.
style
.
right
=
i
+
"
px
"
,
t
.
style
.
bottom
=
r
+
"
px
"
,
e
.
switchPos
.
endX
=
i
,
e
.
switchPos
.
endY
=
r
,
o
.
preventDefault
()}}),
v
[
"
default
"
].
bind
(
v
[
"
default
"
].
one
(
"
.vc-switch
"
,
e
.
$dom
),
"
click
"
,
function
(){
e
.
show
()}),
v
[
"
default
"
].
bind
(
v
[
"
default
"
].
one
(
"
.vc-hide
"
,
e
.
$dom
),
"
click
"
,
function
(){
e
.
hide
()}),
v
[
"
default
"
].
bind
(
v
[
"
default
"
].
one
(
"
.vc-mask
"
,
e
.
$dom
),
"
click
"
,
function
(
t
){
return
t
.
target
!=
v
[
"
default
"
].
one
(
"
.vc-mask
"
)?
!
1
:
void
e
.
hide
()}),
v
[
"
default
"
].
delegate
(
v
[
"
default
"
].
one
(
"
.vc-tabbar
"
,
e
.
$dom
),
"
click
"
,
"
.vc-tab
"
,
function
(
t
){
var
o
=
this
.
dataset
.
tab
;
o
!=
e
.
activedTab
&&
e
.
showTab
(
o
)}),
v
[
"
default
"
].
bind
(
v
[
"
default
"
].
one
(
"
.vc-panel
"
,
e
.
$dom
),
"
transitionend webkitTransitionEnd oTransitionEnd otransitionend
"
,
function
(
t
){
return
t
.
target
!=
v
[
"
default
"
].
one
(
"
.vc-panel
"
)?
!
1
:
void
(
v
[
"
default
"
].
hasClass
(
e
.
$dom
,
"
vc-toggle
"
)
||
(
t
.
target
.
style
.
display
=
"
none
"
))})}},{
key
:
"
_autoRun
"
,
value
:
function
(){
this
.
isReady
=!
0
;
for
(
var
e
in
this
.
pluginList
)
this
.
_initPlugin
(
this
.
pluginList
[
e
]);
this
.
tabList
.
length
>
0
&&
this
.
showTab
(
this
.
tabList
[
0
])}},{
key
:
"
_initPlugin
"
,
value
:
function
(
e
){
var
t
=
this
;
e
.
trigger
(
"
init
"
),
e
.
trigger
(
"
renderTab
"
,
function
(
o
){
t
.
tabList
.
push
(
e
.
id
);
var
n
=
v
[
"
default
"
].
render
(
b
[
"
default
"
],{
id
:
e
.
id
,
name
:
e
.
name
});
v
[
"
default
"
].
one
(
"
.vc-tabbar
"
,
t
.
$dom
).
appendChild
(
n
);
var
l
=
v
[
"
default
"
].
render
(
m
[
"
default
"
],{
id
:
e
.
id
});
o
&&
(
d
.
isString
(
o
)?
l
.
innerHTML
+=
o
:
d
.
isFunction
(
o
.
appendTo
)?
o
.
appendTo
(
l
):
d
.
isElement
(
o
)
&&
l
.
appendChild
(
o
)),
v
[
"
default
"
].
one
(
"
.vc-content
"
,
t
.
$dom
).
appendChild
(
l
)}),
e
.
trigger
(
"
addTopBar
"
,
function
(
o
){
if
(
o
)
for
(
var
n
=
v
[
"
default
"
].
one
(
"
.vc-topbar
"
,
t
.
$dom
),
l
=
function
(
t
){
var
l
=
o
[
t
],
i
=
v
[
"
default
"
].
render
(
_
[
"
default
"
],{
name
:
l
.
name
||
"
Undefined
"
,
className
:
l
.
className
||
""
,
pluginID
:
e
.
id
});
if
(
l
.
data
)
for
(
var
r
in
l
.
data
)
i
.
dataset
[
r
]
=
l
.
data
[
r
];
d
.
isFunction
(
l
.
onClick
)
&&
v
[
"
default
"
].
bind
(
i
,
"
click
"
,
function
(
t
){
var
o
=
l
.
onClick
.
call
(
i
);
o
===!
1
||
(
v
[
"
default
"
].
removeClass
(
v
[
"
default
"
].
all
(
"
.vc-topbar-
"
+
e
.
id
),
"
vc-actived
"
),
v
[
"
default
"
].
addClass
(
i
,
"
vc-actived
"
))}),
n
.
appendChild
(
i
)},
i
=
0
;
i
<
o
.
length
;
i
++
)
l
(
i
)}),
e
.
trigger
(
"
addTool
"
,
function
(
t
){
if
(
t
)
for
(
var
o
=
v
[
"
default
"
].
one
(
"
.vc-tool-last
"
),
n
=
function
(
n
){
var
l
=
t
[
n
],
i
=
v
[
"
default
"
].
render
(
x
[
"
default
"
],{
name
:
l
.
name
||
"
Undefined
"
,
pluginID
:
e
.
id
});
1
==
l
.
global
&&
v
[
"
default
"
].
addClass
(
i
,
"
vc-global-tool
"
),
d
.
isFunction
(
l
.
onClick
)
&&
v
[
"
default
"
].
bind
(
i
,
"
click
"
,
function
(
e
){
l
.
onClick
.
call
(
i
)}),
o
.
parentNode
.
insertBefore
(
i
,
o
)},
l
=
0
;
l
<
t
.
length
;
l
++
)
n
(
l
)}),
e
.
trigger
(
"
ready
"
)}},{
key
:
"
_triggerPluginsEvent
"
,
value
:
function
(
e
){
for
(
var
t
in
this
.
pluginList
)
this
.
pluginList
[
t
].
trigger
(
e
)}},{
key
:
"
_triggerPluginEvent
"
,
value
:
function
(
e
,
t
){
var
o
=
this
.
pluginList
[
e
];
o
&&
o
.
trigger
(
t
)}},{
key
:
"
addPlugin
"
,
value
:
function
(
e
){
return
void
0
!==
this
.
pluginList
[
e
.
id
]?(
console
.
warn
(
"
Plugin
"
+
e
.
id
+
"
has already been added.
"
),
!
1
):(
this
.
pluginList
[
e
.
id
]
=
e
,
this
.
isReady
&&
(
this
.
_initPlugin
(
e
),
1
==
this
.
tabList
.
length
&&
this
.
showTab
(
this
.
tabList
[
0
])),
!
0
)}},{
key
:
"
show
"
,
value
:
function
(){
var
e
=
this
,
t
=
v
[
"
default
"
].
one
(
"
.vc-panel
"
,
this
.
$dom
);
t
.
style
.
display
=
"
block
"
,
setTimeout
(
function
(){
v
[
"
default
"
].
addClass
(
e
.
$dom
,
"
vc-toggle
"
),
e
.
_triggerPluginsEvent
(
"
showConsole
"
);
var
t
=
v
[
"
default
"
].
one
(
"
.vc-mask
"
,
e
.
$dom
);
t
.
style
.
display
=
"
block
"
},
10
)}},{
key
:
"
hide
"
,
value
:
function
(){
v
[
"
default
"
].
removeClass
(
this
.
$dom
,
"
vc-toggle
"
),
this
.
_triggerPluginsEvent
(
"
hideConsole
"
);
var
e
=
v
[
"
default
"
].
one
(
"
.vc-mask
"
,
this
.
$dom
),
t
=
v
[
"
default
"
].
one
(
"
.vc-panel
"
,
this
.
$dom
);
v
[
"
default
"
].
bind
(
e
,
"
transitionend
"
,
function
(
o
){
e
.
style
.
display
=
"
none
"
,
t
.
style
.
display
=
"
none
"
})}},{
key
:
"
showTab
"
,
value
:
function
(
e
){
var
t
=
v
[
"
default
"
].
one
(
"
#__vc_log_
"
+
e
);
v
[
"
default
"
].
removeClass
(
v
[
"
default
"
].
all
(
"
.vc-tab
"
,
this
.
$dom
),
"
vc-actived
"
),
v
[
"
default
"
].
addClass
(
v
[
"
default
"
].
one
(
"
#__vc_tab_
"
+
e
),
"
vc-actived
"
),
v
[
"
default
"
].
removeClass
(
v
[
"
default
"
].
all
(
"
.vc-logbox
"
,
this
.
$dom
),
"
vc-actived
"
),
v
[
"
default
"
].
addClass
(
t
,
"
vc-actived
"
);
var
o
=
v
[
"
default
"
].
all
(
"
.vc-topbar-
"
+
e
,
this
.
$dom
);
v
[
"
default
"
].
removeClass
(
v
[
"
default
"
].
all
(
"
.vc-toptab
"
,
this
.
$dom
),
"
vc-toggle
"
),
v
[
"
default
"
].
addClass
(
o
,
"
vc-toggle
"
),
o
.
length
>
0
?
v
[
"
default
"
].
addClass
(
v
[
"
default
"
].
one
(
"
.vc-content
"
,
this
.
$dom
),
"
vc-has-topbar
"
):
v
[
"
default
"
].
removeClass
(
v
[
"
default
"
].
one
(
"
.vc-content
"
,
this
.
$dom
),
"
vc-has-topbar
"
),
v
[
"
default
"
].
removeClass
(
v
[
"
default
"
].
all
(
"
.vc-tool
"
,
this
.
$dom
),
"
vc-toggle
"
),
v
[
"
default
"
].
addClass
(
v
[
"
default
"
].
all
(
"
.vc-tool-
"
+
e
,
this
.
$dom
),
"
vc-toggle
"
),
this
.
_triggerPluginEvent
(
this
.
activedTab
,
"
hide
"
),
this
.
activedTab
=
e
,
this
.
_triggerPluginEvent
(
this
.
activedTab
,
"
show
"
)}}]),
e
}();
t
[
"
default
"
]
=
k
,
e
.
exports
=
t
[
"
default
"
]},
function
(
e
,
t
){
e
.
exports
=
{
name
:
"
vconsole
"
,
version
:
"
2.4.0
"
,
description
:
"
A lightweight, extendable front-end developer tool for mobile web page.
"
,
homepage
:
"
https://github.com/WechatFE/vConsole
"
,
main
:
"
dist/vconsole.min.js
"
,
scripts
:{
test
:
"
mocha
"
,
dist
:
"
webpack && npm test
"
},
keywords
:[
"
console
"
,
"
debug
"
,
"
mobile
"
],
repository
:{
type
:
"
git
"
,
url
:
"
git+https://github.com/WechatFE/vConsole.git
"
},
dependencies
:{},
devDependencies
:{
"
babel-core
"
:
"
^6.7.7
"
,
"
babel-loader
"
:
"
^6.2.4
"
,
"
babel-plugin-add-module-exports
"
:
"
^0.1.4
"
,
"
babel-preset-es2015
"
:
"
^6.6.0
"
,
"
babel-preset-stage-3
"
:
"
^6.5.0
"
,
chai
:
"
^3.5.0
"
,
"
css-loader
"
:
"
^0.23.1
"
,
"
extract-text-webpack-plugin
"
:
"
^1.0.1
"
,
"
html-loader
"
:
"
^0.4.3
"
,
jsdom
:
"
^9.2.1
"
,
"
json-loader
"
:
"
^0.5.4
"
,
less
:
"
^2.5.3
"
,
"
less-loader
"
:
"
^2.2.3
"
,
mocha
:
"
^2.5.3
"
,
"
style-loader
"
:
"
^0.13.1
"
,
webpack
:
"
~1.12.11
"
},
author
:
"
WechatFE Team
"
,
license
:
"
MIT
"
}},
function
(
e
,
t
){
"
use strict
"
;
function
o
(
e
){
var
t
=
e
>
0
?
new
Date
(
e
):
new
Date
,
o
=
t
.
getDate
()
<
10
?
"
0
"
+
t
.
getDate
():
t
.
getDate
(),
n
=
t
.
getMonth
()
<
9
?
"
0
"
+
(
t
.
getMonth
()
+
1
):
t
.
getMonth
()
+
1
,
l
=
t
.
getFullYear
(),
i
=
t
.
getHours
()
<
10
?
"
0
"
+
t
.
getHours
():
t
.
getHours
(),
r
=
t
.
getMinutes
()
<
10
?
"
0
"
+
t
.
getMinutes
():
t
.
getMinutes
(),
a
=
t
.
getSeconds
()
<
10
?
"
0
"
+
t
.
getSeconds
():
t
.
getSeconds
(),
c
=
t
.
getMilliseconds
()
<
10
?
"
0
"
+
t
.
getMilliseconds
():
t
.
getMilliseconds
();
return
100
>
c
&&
(
c
=
"
0
"
+
c
),{
time
:
+
t
,
year
:
l
,
month
:
n
,
day
:
o
,
hour
:
i
,
minute
:
r
,
second
:
a
,
millisecond
:
c
}}
function
n
(
e
){
return
"
[object Number]
"
==
Object
.
prototype
.
toString
.
call
(
e
)}
function
l
(
e
){
return
"
[object String]
"
==
Object
.
prototype
.
toString
.
call
(
e
)}
function
i
(
e
){
return
"
[object Array]
"
==
Object
.
prototype
.
toString
.
call
(
e
)}
function
r
(
e
){
return
"
[object Boolean]
"
==
Object
.
prototype
.
toString
.
call
(
e
)}
function
a
(
e
){
return
"
[object Undefined]
"
==
Object
.
prototype
.
toString
.
call
(
e
)}
function
c
(
e
){
return
"
[object Null]
"
==
Object
.
prototype
.
toString
.
call
(
e
)}
function
s
(
e
){
return
"
[object Symbol]
"
==
Object
.
prototype
.
toString
.
call
(
e
)}
function
d
(
e
){
return
!
(
"
[object Object]
"
!=
Object
.
prototype
.
toString
.
call
(
e
)
&&
(
n
(
e
)
||
l
(
e
)
||
r
(
e
)
||
i
(
e
)
||
c
(
e
)
||
u
(
e
)
||
a
(
e
)
||
s
(
e
)))}
function
u
(
e
){
return
"
[object Function]
"
==
Object
.
prototype
.
toString
.
call
(
e
)}
function
v
(
e
){
return
"
object
"
===
(
"
undefined
"
==
typeof
HTMLElement
?
"
undefined
"
:
y
(
HTMLElement
))?
e
instanceof
HTMLElement
:
e
&&
"
object
"
===
(
"
undefined
"
==
typeof
e
?
"
undefined
"
:
y
(
e
))
&&
null
!==
e
&&
1
===
e
.
nodeType
&&
"
string
"
==
typeof
e
.
nodeName
}
function
f
(
e
){
return
document
.
createElement
(
"
a
"
).
appendChild
(
document
.
createTextNode
(
e
)).
parentNode
.
innerHTML
}
function
p
(
e
){
function
t
(
e
){
for
(
var
t
=
p
.
length
-
1
;
t
>=
0
;
t
--
)
if
(
p
[
t
].
child
==
e
)
return
!
0
;
return
!
1
}
function
o
(
e
){
if
(
d
(
e
)){
if
(
t
(
e
))
return
void
(
v
+=
"
CircularObject
"
);
p
.
push
({
parent
:
parent
,
child
:
e
});
var
g
=
Object
.
keys
(
e
);
v
+=
"
{
"
,
f
++
;
for
(
var
b
=
0
;
b
<
g
.
length
;
b
++
){
var
h
=
g
[
b
];
e
.
hasOwnProperty
(
h
)
&&
(
v
+=
h
+
"
:
"
,
o
(
e
[
h
],
e
),
b
<
g
.
length
-
1
&&
(
v
+=
"
,
"
))}
f
--
,
v
+=
"
}
"
,
p
.
pop
()}
else
if
(
i
(
e
)){
if
(
t
(
e
))
return
void
(
v
+=
"
CircularArray
"
);
p
.
push
({
parent
:
parent
,
child
:
e
}),
v
+=
"
[
"
,
f
++
;
for
(
var
m
=
0
;
m
<
e
.
length
;
m
++
)
o
(
e
[
m
],
e
),
m
<
e
.
length
-
1
&&
(
v
+=
"
,
"
);
f
--
,
v
+=
"
]
"
,
p
.
pop
()}
else
v
+=
l
(
e
)?
'
"
'
+
e
+
'
"
'
:
n
(
e
)?
e
:
r
(
e
)?
e
:
c
(
e
)?
"
null
"
:
a
(
e
)?
"
undefined
"
:
u
(
e
)?
"
function()
"
:
s
(
e
)?
"
symbol
"
:
"
unknown
"
}
var
v
=
""
,
f
=
0
,
p
=
[];
return
o
(
e
,
null
),
v
}
function
g
(
e
){
if
(
!
d
(
e
)
&&!
i
(
e
))
return
[];
var
t
=
[
"
toString
"
,
"
toLocaleString
"
,
"
valueOf
"
,
"
hasOwnProperty
"
,
"
isPrototypeOf
"
,
"
propertyIsEnumerable
"
,
"
constructor
"
],
o
=
[];
for
(
var
n
in
e
)
t
.
indexOf
(
n
)
<
0
&&
o
.
push
(
n
);
return
o
=
o
.
sort
()}
function
b
(
e
){
return
Object
.
prototype
.
toString
.
call
(
e
).
replace
(
"
[object
"
,
""
).
replace
(
"
]
"
,
""
)}
function
h
(
e
,
t
){
window
.
localStorage
&&
(
e
=
"
vConsole_
"
+
e
,
localStorage
.
setItem
(
e
,
t
))}
function
m
(
e
){
return
window
.
localStorage
?(
e
=
"
vConsole_
"
+
e
,
localStorage
.
getItem
(
e
)):
void
0
}
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
y
=
"
function
"
==
typeof
Symbol
&&
"
symbol
"
==
typeof
Symbol
.
iterator
?
function
(
e
){
return
typeof
e
}:
function
(
e
){
return
e
&&
"
function
"
==
typeof
Symbol
&&
e
.
constructor
===
Symbol
?
"
symbol
"
:
typeof
e
};
t
.
getDate
=
o
,
t
.
isNumber
=
n
,
t
.
isString
=
l
,
t
.
isArray
=
i
,
t
.
isBoolean
=
r
,
t
.
isUndefined
=
a
,
t
.
isNull
=
c
,
t
.
isSymbol
=
s
,
t
.
isObject
=
d
,
t
.
isFunction
=
u
,
t
.
isElement
=
v
,
t
.
htmlEncode
=
f
,
t
.
JSONStringify
=
p
,
t
.
getObjAllKeys
=
g
,
t
.
getObjName
=
b
,
t
.
setStorage
=
h
,
t
.
getStorage
=
m
},
function
(
e
,
t
,
o
){
"
use strict
"
;
function
n
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
"
default
"
:
e
}}
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
l
=
o
(
3
),
i
=
o
(
5
),
r
=
n
(
i
),
a
=
{};
a
.
one
=
function
(
e
,
t
){
return
t
?
t
.
querySelector
(
e
):
document
.
querySelector
(
e
)},
a
.
all
=
function
(
e
,
t
){
var
o
=
void
0
,
n
=
[];
return
o
=
t
?
t
.
querySelectorAll
(
e
):
document
.
querySelectorAll
(
e
),
o
&&
o
.
length
>
0
&&
(
n
=
Array
.
prototype
.
slice
.
call
(
o
)),
n
},
a
.
addClass
=
function
(
e
,
t
){
if
(
e
){(
0
,
l
.
isArray
)(
e
)
||
(
e
=
[
e
]);
for
(
var
o
=
0
;
o
<
e
.
length
;
o
++
){
var
n
=
e
[
o
].
className
||
""
,
i
=
n
.
split
(
"
"
);
i
.
indexOf
(
t
)
>-
1
||
(
i
.
push
(
t
),
e
[
o
].
className
=
i
.
join
(
"
"
))}}},
a
.
removeClass
=
function
(
e
,
t
){
if
(
e
){(
0
,
l
.
isArray
)(
e
)
||
(
e
=
[
e
]);
for
(
var
o
=
0
;
o
<
e
.
length
;
o
++
){
for
(
var
n
=
e
[
o
].
className
.
split
(
"
"
),
i
=
0
;
i
<
n
.
length
;
i
++
)
n
[
i
]
==
t
&&
(
n
[
i
]
=
""
);
e
[
o
].
className
=
n
.
join
(
"
"
).
trim
()}}},
a
.
hasClass
=
function
(
e
,
t
){
if
(
!
e
)
return
!
1
;
for
(
var
o
=
e
.
className
.
split
(
"
"
),
n
=
0
;
n
<
o
.
length
;
n
++
)
if
(
o
[
n
]
==
t
)
return
!
0
;
return
!
1
},
a
.
bind
=
function
(
e
,
t
,
o
,
n
){
if
(
e
){
void
0
===
n
&&
(
n
=!
1
),(
0
,
l
.
isArray
)(
e
)
||
(
e
=
[
e
]);
for
(
var
i
=
0
;
i
<
e
.
length
;
i
++
)
e
[
i
].
addEventListener
(
t
,
o
,
n
)}},
a
.
delegate
=
function
(
e
,
t
,
o
,
n
){
e
&&
e
.
addEventListener
(
t
,
function
(
t
){
var
l
=
a
.
all
(
o
,
e
);
if
(
l
)
e
:
for
(
var
i
=
0
;
i
<
l
.
length
;
i
++
)
for
(
var
r
=
t
.
target
;
r
;){
if
(
r
==
l
[
i
]){
n
.
call
(
r
,
t
);
break
e
}
if
(
r
=
r
.
parentNode
,
r
==
e
)
break
}},
!
1
)},
a
.
render
=
r
[
"
default
"
],
t
[
"
default
"
]
=
a
,
e
.
exports
=
t
[
"
default
"
]},
function
(
e
,
t
){
"
use strict
"
;
function
o
(
e
,
t
,
o
){
var
n
=
/
\{\{([^\}]
+
)\}\}
/g
,
l
=
"
var arr = [];
\n
"
,
i
=
0
,
r
=
[],
a
=
function
(
e
,
t
){
""
!==
e
&&
(
l
+=
t
?
e
.
match
(
/^
?
else/g
)?
"
}
"
+
e
+
"
{
\n
"
:
e
.
match
(
/
\/(
if|for|switch
)
/g
)?
"
}
\n
"
:
e
.
match
(
/^
?
if|for|switch/g
)?
e
+
"
{
\n
"
:
e
.
match
(
/^
?(
break|continue
)
?
$/g
)?
e
+
"
;
\n
"
:
e
.
match
(
/^
?(
case|default
)
/g
)?
e
+
"
:
\n
"
:
"
arr.push(
"
+
e
+
"
);
\n
"
:
'
arr.push("
'
+
e
.
replace
(
/"/g
,
'
\\
"
'
)
+
'
");
\n
'
)};
for
(
e
=
e
.
replace
(
/
(\{\{
?
switch
(
.+
?)\}\})[\r\n\t
]
+
\{\{
/g
,
"
$1{{
"
),
e
=
e
.
replace
(
/^
\n
/
,
""
).
replace
(
/
\n
/g
,
"
\\\n
"
);
r
=
n
.
exec
(
e
);)
a
(
e
.
slice
(
i
,
r
.
index
),
!
1
),
a
(
r
[
1
],
!
0
),
i
=
r
.
index
+
r
[
0
].
length
;
a
(
e
.
substr
(
i
,
e
.
length
-
i
),
!
1
),
l
+=
'
return arr.join("");
'
,
l
=
"
with (this) {
\n
"
+
l
+
"
\n
}
"
;
var
c
=
new
Function
(
l
).
apply
(
t
);
if
(
!
o
){
var
s
=
document
.
createElement
(
"
div
"
);
s
.
innerHTML
=
c
,
c
=
s
.
children
[
0
]}
return
c
}
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
}),
t
[
"
default
"
]
=
o
,
e
.
exports
=
t
[
"
default
"
]},
function
(
e
,
t
,
o
){
var
n
=
o
(
7
);
"
string
"
==
typeof
n
&&
(
n
=
[[
e
.
id
,
n
,
""
]]);
o
(
9
)(
n
,{});
n
.
locals
&&
(
e
.
exports
=
n
.
locals
)},
function
(
e
,
t
,
o
){
t
=
e
.
exports
=
o
(
8
)(),
t
.
push
([
e
.
id
,
'
#__vconsole{color:#000;font-size:13px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}#__vconsole .vc-max-height{max-height:250px}#__vconsole .vc-max-height-line{max-height:44px}#__vconsole .vc-min-height{min-height:40px}#__vconsole .vc-switch{display:block;position:fixed;right:10px;bottom:10px;color:#fff;background-color:#04be02;line-height:1;font-size:14px;padding:8px 16px;z-index:10000;border-radius:4px;box-shadow:0 0 8px rgba(0,0,0,.4)}#__vconsole .vc-mask{top:0;background:transparent;z-index:10001;transition:background .3s;-webkit-tap-highlight-color:transparent;overflow-y:scroll}#__vconsole .vc-mask,#__vconsole .vc-panel{display:none;position:fixed;left:0;right:0;bottom:0}#__vconsole .vc-panel{min-height:85%;z-index:10002;background-color:#efeff4;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:translateY(100%);transform:translateY(100%)}#__vconsole .vc-tabbar{border-bottom:1px solid #d9d9d9;overflow-x:auto;height:39px;width:auto;white-space:nowrap}#__vconsole .vc-tabbar .vc-tab{display:inline-block;line-height:39px;padding:0 15px;border-right:1px solid #d9d9d9;text-decoration:none;color:#000;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}#__vconsole .vc-tabbar .vc-tab:active{background-color:rgba(0,0,0,.15)}#__vconsole .vc-tabbar .vc-tab.vc-actived{background-color:#fff}#__vconsole .vc-content{background-color:#fff;overflow-x:hidden;overflow-y:auto;position:absolute;top:40px;left:0;right:0;bottom:40px;-webkit-overflow-scrolling:touch}#__vconsole .vc-content.vc-has-topbar{top:71px}#__vconsole .vc-topbar{background-color:#fbf9fe;display:flex;flex-direction:row;flex-wrap:wrap;width:100%}#__vconsole .vc-topbar .vc-toptab{display:none;flex:1;line-height:30px;padding:0 15px;border-bottom:1px solid #d9d9d9;text-decoration:none;text-align:center;color:#000;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}#__vconsole .vc-topbar .vc-toptab.vc-toggle{display:block}#__vconsole .vc-topbar .vc-toptab:active{background-color:rgba(0,0,0,.15)}#__vconsole .vc-topbar .vc-toptab.vc-actived{border-bottom:1px solid #3e82f7}#__vconsole .vc-logbox{display:none;position:relative;min-height:100%}#__vconsole .vc-logbox i{font-style:normal}#__vconsole .vc-logbox .vc-log{-webkit-tap-highlight-color:transparent}#__vconsole .vc-logbox .vc-log:empty:before{content:"Empty";color:#999;position:absolute;top:45%;left:0;right:0;bottom:0;font-size:15px;text-align:center}#__vconsole .vc-logbox .vc-item{margin:0;padding:6px 8px;overflow:hidden;line-height:1.3;border-bottom:1px solid #eee;word-break:break-word}#__vconsole .vc-logbox .vc-item-info{color:#6a5acd}#__vconsole .vc-logbox .vc-item-debug{color:#daa520}#__vconsole .vc-logbox .vc-item-warn{color:orange;border-color:#ffb930;background-color:#fffacd}#__vconsole .vc-logbox .vc-item-error{color:#dc143c;border-color:#f4a0ab;background-color:#ffe4e1}#__vconsole .vc-logbox .vc-log.vc-log-partly .vc-item{display:none}#__vconsole .vc-logbox .vc-log.vc-log-partly-error .vc-item-error,#__vconsole .vc-logbox .vc-log.vc-log-partly-info .vc-item-info,#__vconsole .vc-logbox .vc-log.vc-log-partly-log .vc-item-log,#__vconsole .vc-logbox .vc-log.vc-log-partly-warn .vc-item-warn{display:block}#__vconsole .vc-logbox .vc-item .vc-item-content{margin-right:60px;display:block}#__vconsole .vc-logbox .vc-item .vc-item-meta{color:#888;float:right;width:60px;text-align:right}#__vconsole .vc-logbox .vc-item.vc-item-nometa .vc-item-content{margin-right:0}#__vconsole .vc-logbox .vc-item.vc-item-nometa .vc-item-meta{display:none}#__vconsole .vc-logbox .vc-item .vc-item-code{display:block;white-space:pre-wrap;overflow:auto;position:relative}#__vconsole .vc-logbox .vc-item .vc-item-code.vc-item-code-input,#__vconsole .vc-logbox .vc-item .vc-item-code.vc-item-code-output{padding-left:12px}#__vconsole .vc-logbox .vc-item .vc-item-code.vc-item-code-input:before,#__vconsole .vc-logbox .vc-item .vc-item-code.vc-item-code-output:before{content:"
\\
203A";position:absolute;top:-3px;left:0;font-size:16px;color:#6a5acd}#__vconsole .vc-logbox .vc-item .vc-item-code.vc-item-code-output:before{content:"
\\
2039"}#__vconsole .vc-logbox .vc-item .vc-fold{display:block;overflow:auto;-webkit-overflow-scrolling:touch}#__vconsole .vc-logbox .vc-item .vc-fold .vc-fold-outer{display:block;font-style:italic;padding-left:10px;position:relative}#__vconsole .vc-logbox .vc-item .vc-fold .vc-fold-outer:active{background-color:#e6e6e6}#__vconsole .vc-logbox .vc-item .vc-fold .vc-fold-outer:before{content:"";position:absolute;top:4px;left:2px;width:0;height:0;border:4px solid transparent;border-left-color:#000}#__vconsole .vc-logbox .vc-item .vc-fold .vc-fold-outer.vc-toggle:before{top:6px;left:0;border-top-color:#000;border-left-color:transparent}#__vconsole .vc-logbox .vc-item .vc-fold .vc-fold-inner{display:none;margin-left:10px}#__vconsole .vc-logbox .vc-item .vc-fold .vc-fold-inner.vc-toggle{display:block}#__vconsole .vc-logbox .vc-item .vc-fold .vc-fold-inner .vc-code-key{margin-left:10px}#__vconsole .vc-logbox .vc-item .vc-fold .vc-fold-outer .vc-code-key{margin-left:0}#__vconsole .vc-logbox .vc-code-key{color:#905}#__vconsole .vc-logbox .vc-code-private-key{color:#d391b5}#__vconsole .vc-logbox .vc-code-function{color:#905;font-style:italic}#__vconsole .vc-logbox .vc-code-boolean,#__vconsole .vc-logbox .vc-code-number{color:#0086b3}#__vconsole .vc-logbox .vc-code-string{color:#183691}#__vconsole .vc-logbox .vc-code-null,#__vconsole .vc-logbox .vc-code-undefined{color:#666}#__vconsole .vc-logbox .vc-cmd{position:absolute;height:40px;left:0;right:0;bottom:0;border-top:1px solid #d9d9d9}#__vconsole .vc-logbox .vc-cmd .vc-cmd-input-wrap{display:block;height:28px;margin-right:40px;padding:6px 8px}#__vconsole .vc-logbox .vc-cmd .vc-cmd-input{width:100%;border:none;resize:none;outline:none;padding:0;font-size:12px}#__vconsole .vc-logbox .vc-cmd .vc-cmd-input::-webkit-input-placeholder{line-height:28px}#__vconsole .vc-logbox .vc-cmd .vc-cmd-btn{position:absolute;top:0;right:0;bottom:0;width:40px;border:none;background-color:#efeff4;outline:none;-webkit-touch-callout:none}#__vconsole .vc-logbox .vc-cmd .vc-cmd-btn:active{background-color:rgba(0,0,0,.15)}#__vconsole .vc-logbox .vc-group .vc-group-preview{-webkit-touch-callout:none}#__vconsole .vc-logbox .vc-group .vc-group-preview:active{background-color:#e6e6e6}#__vconsole .vc-logbox .vc-group .vc-group-detail{display:none;padding:0 0 10px 20px;border-bottom:1px solid #eee}#__vconsole .vc-logbox .vc-group.vc-actived .vc-group-detail{display:block}#__vconsole .vc-logbox .vc-table .vc-table-row{display:flex;flex-direction:row;flex-wrap:wrap;overflow:hidden;border-bottom:1px solid #eee}#__vconsole .vc-logbox .vc-table .vc-table-row.vc-left-border{border-left:1px solid #eee}#__vconsole .vc-logbox .vc-table .vc-table-col{flex:1;padding:3px 4px;border-left:1px solid #eee;overflow:auto;white-space:pre-wrap;word-break:break-word;-webkit-overflow-scrolling:touch}#__vconsole .vc-logbox .vc-table .vc-table-col:first-child{border:none}#__vconsole .vc-logbox .vc-table .vc-small .vc-table-col{padding:0 4px;font-size:12px}#__vconsole .vc-logbox .vc-table .vc-table-col-2{flex:2}#__vconsole .vc-logbox .vc-table .vc-table-col-3{flex:3}#__vconsole .vc-logbox .vc-table .vc-table-col-4{flex:4}#__vconsole .vc-logbox .vc-table .vc-table-col-5{flex:5}#__vconsole .vc-logbox .vc-table .vc-table-col-6{flex:6}#__vconsole .vc-logbox .vc-table .vc-table-row-error{border-color:#f4a0ab;background-color:#ffe4e1}#__vconsole .vc-logbox .vc-table .vc-table-row-error .vc-table-col{color:#dc143c;border-color:#f4a0ab}#__vconsole .vc-logbox .vc-table .vc-table-col-title{font-weight:700}#__vconsole .vc-logbox.vc-actived{display:block}#__vconsole .vc-toolbar{border-top:1px solid #d9d9d9;line-height:39px;position:absolute;left:0;right:0;bottom:0;display:flex;display:-webkit-box;flex-direction:row}#__vconsole .vc-toolbar .vc-tool{display:none;text-decoration:none;color:#000;width:50%;flex:1;-webkit-box-flex:1;text-align:center;position:relative;-webkit-touch-callout:none}#__vconsole .vc-toolbar .vc-tool.vc-global-tool,#__vconsole .vc-toolbar .vc-tool.vc-toggle{display:block}#__vconsole .vc-toolbar .vc-tool:active{background-color:rgba(0,0,0,.15)}#__vconsole .vc-toolbar .vc-tool:after{content:" ";position:absolute;top:7px;bottom:7px;right:0;border-left:1px solid #d9d9d9}#__vconsole .vc-toolbar .vc-tool-last:after{border:none}#__vconsole.vc-toggle .vc-switch{display:none}#__vconsole.vc-toggle .vc-mask{background:rgba(0,0,0,.6);display:block}#__vconsole.vc-toggle .vc-panel{-webkit-transform:translate(0);transform:translate(0)}
'
,
""
])},
function
(
e
,
t
){
"
use strict
"
;
e
.
exports
=
function
(){
var
e
=
[];
return
e
.
toString
=
function
(){
for
(
var
e
=
[],
t
=
0
;
t
<
this
.
length
;
t
++
){
var
o
=
this
[
t
];
o
[
2
]?
e
.
push
(
"
@media
"
+
o
[
2
]
+
"
{
"
+
o
[
1
]
+
"
}
"
):
e
.
push
(
o
[
1
])}
return
e
.
join
(
""
)},
e
.
i
=
function
(
t
,
o
){
"
string
"
==
typeof
t
&&
(
t
=
[[
null
,
t
,
""
]]);
for
(
var
n
=
{},
l
=
0
;
l
<
this
.
length
;
l
++
){
var
i
=
this
[
l
][
0
];
"
number
"
==
typeof
i
&&
(
n
[
i
]
=!
0
)}
for
(
l
=
0
;
l
<
t
.
length
;
l
++
){
var
r
=
t
[
l
];
"
number
"
==
typeof
r
[
0
]
&&
n
[
r
[
0
]]
||
(
o
&&!
r
[
2
]?
r
[
2
]
=
o
:
o
&&
(
r
[
2
]
=
"
(
"
+
r
[
2
]
+
"
) and (
"
+
o
+
"
)
"
),
e
.
push
(
r
))}},
e
}},
function
(
e
,
t
,
o
){
function
n
(
e
,
t
){
for
(
var
o
=
0
;
o
<
e
.
length
;
o
++
){
var
n
=
e
[
o
],
l
=
f
[
n
.
id
];
if
(
l
){
l
.
refs
++
;
for
(
var
i
=
0
;
i
<
l
.
parts
.
length
;
i
++
)
l
.
parts
[
i
](
n
.
parts
[
i
]);
for
(;
i
<
n
.
parts
.
length
;
i
++
)
l
.
parts
.
push
(
s
(
n
.
parts
[
i
],
t
))}
else
{
for
(
var
r
=
[],
i
=
0
;
i
<
n
.
parts
.
length
;
i
++
)
r
.
push
(
s
(
n
.
parts
[
i
],
t
));
f
[
n
.
id
]
=
{
id
:
n
.
id
,
refs
:
1
,
parts
:
r
}}}}
function
l
(
e
){
for
(
var
t
=
[],
o
=
{},
n
=
0
;
n
<
e
.
length
;
n
++
){
var
l
=
e
[
n
],
i
=
l
[
0
],
r
=
l
[
1
],
a
=
l
[
2
],
c
=
l
[
3
],
s
=
{
css
:
r
,
media
:
a
,
sourceMap
:
c
};
o
[
i
]?
o
[
i
].
parts
.
push
(
s
):
t
.
push
(
o
[
i
]
=
{
id
:
i
,
parts
:[
s
]})}
return
t
}
function
i
(
e
,
t
){
var
o
=
b
(),
n
=
y
[
y
.
length
-
1
];
if
(
"
top
"
===
e
.
insertAt
)
n
?
n
.
nextSibling
?
o
.
insertBefore
(
t
,
n
.
nextSibling
):
o
.
appendChild
(
t
):
o
.
insertBefore
(
t
,
o
.
firstChild
),
y
.
push
(
t
);
else
{
if
(
"
bottom
"
!==
e
.
insertAt
)
throw
new
Error
(
"
Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.
"
);
o
.
appendChild
(
t
)}}
function
r
(
e
){
e
.
parentNode
.
removeChild
(
e
);
var
t
=
y
.
indexOf
(
e
);
t
>=
0
&&
y
.
splice
(
t
,
1
)}
function
a
(
e
){
var
t
=
document
.
createElement
(
"
style
"
);
return
t
.
type
=
"
text/css
"
,
i
(
e
,
t
),
t
}
function
c
(
e
){
var
t
=
document
.
createElement
(
"
link
"
);
return
t
.
rel
=
"
stylesheet
"
,
i
(
e
,
t
),
t
}
function
s
(
e
,
t
){
var
o
,
n
,
l
;
if
(
t
.
singleton
){
var
i
=
m
++
;
o
=
h
||
(
h
=
a
(
t
)),
n
=
d
.
bind
(
null
,
o
,
i
,
!
1
),
l
=
d
.
bind
(
null
,
o
,
i
,
!
0
)}
else
e
.
sourceMap
&&
"
function
"
==
typeof
URL
&&
"
function
"
==
typeof
URL
.
createObjectURL
&&
"
function
"
==
typeof
URL
.
revokeObjectURL
&&
"
function
"
==
typeof
Blob
&&
"
function
"
==
typeof
btoa
?(
o
=
c
(
t
),
n
=
v
.
bind
(
null
,
o
),
l
=
function
(){
r
(
o
),
o
.
href
&&
URL
.
revokeObjectURL
(
o
.
href
)}):(
o
=
a
(
t
),
n
=
u
.
bind
(
null
,
o
),
l
=
function
(){
r
(
o
)});
return
n
(
e
),
function
(
t
){
if
(
t
){
if
(
t
.
css
===
e
.
css
&&
t
.
media
===
e
.
media
&&
t
.
sourceMap
===
e
.
sourceMap
)
return
;
n
(
e
=
t
)}
else
l
()}}
function
d
(
e
,
t
,
o
,
n
){
var
l
=
o
?
""
:
n
.
css
;
if
(
e
.
styleSheet
)
e
.
styleSheet
.
cssText
=
_
(
t
,
l
);
else
{
var
i
=
document
.
createTextNode
(
l
),
r
=
e
.
childNodes
;
r
[
t
]
&&
e
.
removeChild
(
r
[
t
]),
r
.
length
?
e
.
insertBefore
(
i
,
r
[
t
]):
e
.
appendChild
(
i
)}}
function
u
(
e
,
t
){
var
o
=
t
.
css
,
n
=
t
.
media
;
if
(
n
&&
e
.
setAttribute
(
"
media
"
,
n
),
e
.
styleSheet
)
e
.
styleSheet
.
cssText
=
o
;
else
{
for
(;
e
.
firstChild
;)
e
.
removeChild
(
e
.
firstChild
);
e
.
appendChild
(
document
.
createTextNode
(
o
))}}
function
v
(
e
,
t
){
var
o
=
t
.
css
,
n
=
t
.
sourceMap
;
n
&&
(
o
+=
"
\n
/*# sourceMappingURL=data:application/json;base64,
"
+
btoa
(
unescape
(
encodeURIComponent
(
JSON
.
stringify
(
n
))))
+
"
*/
"
);
var
l
=
new
Blob
([
o
],{
type
:
"
text/css
"
}),
i
=
e
.
href
;
e
.
href
=
URL
.
createObjectURL
(
l
),
i
&&
URL
.
revokeObjectURL
(
i
)}
var
f
=
{},
p
=
function
(
e
){
var
t
;
return
function
(){
return
"
undefined
"
==
typeof
t
&&
(
t
=
e
.
apply
(
this
,
arguments
)),
t
}},
g
=
p
(
function
(){
return
/msie
[
6-9
]\b
/
.
test
(
window
.
navigator
.
userAgent
.
toLowerCase
())}),
b
=
p
(
function
(){
return
document
.
head
||
document
.
getElementsByTagName
(
"
head
"
)[
0
]}),
h
=
null
,
m
=
0
,
y
=
[];
e
.
exports
=
function
(
e
,
t
){
t
=
t
||
{},
"
undefined
"
==
typeof
t
.
singleton
&&
(
t
.
singleton
=
g
()),
"
undefined
"
==
typeof
t
.
insertAt
&&
(
t
.
insertAt
=
"
bottom
"
);
var
o
=
l
(
e
);
return
n
(
o
,
t
),
function
(
e
){
for
(
var
i
=
[],
r
=
0
;
r
<
o
.
length
;
r
++
){
var
a
=
o
[
r
],
c
=
f
[
a
.
id
];
c
.
refs
--
,
i
.
push
(
c
)}
if
(
e
){
var
s
=
l
(
e
);
n
(
s
,
t
)}
for
(
var
r
=
0
;
r
<
i
.
length
;
r
++
){
var
c
=
i
[
r
];
if
(
0
===
c
.
refs
){
for
(
var
d
=
0
;
d
<
c
.
parts
.
length
;
d
++
)
c
.
parts
[
d
]();
delete
f
[
c
.
id
]}}}};
var
_
=
function
(){
var
e
=
[];
return
function
(
t
,
o
){
return
e
[
t
]
=
o
,
e
.
filter
(
Boolean
).
join
(
"
\n
"
)}}()},
function
(
e
,
t
){
e
.
exports
=
'
<div id=__vconsole class=""> <div class=vc-switch>vConsole</div> <div class=vc-mask> </div> <div class=vc-panel> <div class=vc-tabbar> </div> <div class=vc-topbar> </div> <div class=vc-content> </div> <div class=vc-toolbar> <a class="vc-tool vc-global-tool vc-tool-last vc-hide">Hide</a> </div> </div> </div>
'
},
function
(
e
,
t
){
e
.
exports
=
"
<a class=vc-tab data-tab={{id}} id=__vc_tab_{{id}}>{{name}}</a>
"
},
function
(
e
,
t
){
e
.
exports
=
"
<div class=vc-logbox id=__vc_log_{{id}}> </div>
"
},
function
(
e
,
t
){
e
.
exports
=
'
<a href=javascript:; class="vc-toptab vc-topbar-{{pluginID}}{{if (className)}} {{className}}{{/if}}">{{name}}</a>
'
},
function
(
e
,
t
){
e
.
exports
=
'
<a class="vc-tool vc-tool-{{pluginID}}">{{name}}</a>
'
},
function
(
e
,
t
){
"
use strict
"
;
function
o
(
e
,
t
){
if
(
!
(
e
instanceof
t
))
throw
new
TypeError
(
"
Cannot call a class as a function
"
)}
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
n
=
function
(){
function
e
(
e
,
t
){
for
(
var
o
=
0
;
o
<
t
.
length
;
o
++
){
var
n
=
t
[
o
];
n
.
enumerable
=
n
.
enumerable
||!
1
,
n
.
configurable
=!
0
,
"
value
"
in
n
&&
(
n
.
writable
=!
0
),
Object
.
defineProperty
(
e
,
n
.
key
,
n
)}}
return
function
(
t
,
o
,
n
){
return
o
&&
e
(
t
.
prototype
,
o
),
n
&&
e
(
t
,
n
),
t
}}(),
l
=
function
(){
function
e
(
t
){
var
n
=
arguments
.
length
<=
1
||
void
0
===
arguments
[
1
]?
"
newPlugin
"
:
arguments
[
1
];
o
(
this
,
e
),
this
.
id
=
t
,
this
.
name
=
n
,
this
.
eventList
=
{}}
return
n
(
e
,[{
key
:
"
on
"
,
value
:
function
(
e
,
t
){
return
this
.
eventList
[
e
]
=
t
,
this
}},{
key
:
"
trigger
"
,
value
:
function
(
e
,
t
){
if
(
"
function
"
==
typeof
this
.
eventList
[
e
])
this
.
eventList
[
e
].
call
(
this
,
t
);
else
{
var
o
=
"
on
"
+
e
.
charAt
(
0
).
toUpperCase
()
+
e
.
slice
(
1
);
"
function
"
==
typeof
this
[
o
]
&&
this
[
o
].
call
(
this
,
t
)}
return
this
}},{
key
:
"
id
"
,
get
:
function
(){
return
this
.
_id
},
set
:
function
(
e
){
if
(
!
e
)
throw
"
Plugin ID cannot be empty
"
;
this
.
_id
=
e
.
toLowerCase
()}},{
key
:
"
name
"
,
get
:
function
(){
return
this
.
_name
},
set
:
function
(
e
){
if
(
!
e
)
throw
"
Plugin name cannot be empty
"
;
this
.
_name
=
e
}}]),
e
}();
t
[
"
default
"
]
=
l
,
e
.
exports
=
t
[
"
default
"
]},
function
(
module
,
exports
,
__webpack_require__
){
"
use strict
"
;
function
_interopRequireWildcard
(
e
){
if
(
e
&&
e
.
__esModule
)
return
e
;
var
t
=
{};
if
(
null
!=
e
)
for
(
var
o
in
e
)
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
o
)
&&
(
t
[
o
]
=
e
[
o
]);
return
t
[
"
default
"
]
=
e
,
t
}
function
_interopRequireDefault
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
"
default
"
:
e
}}
function
_classCallCheck
(
e
,
t
){
if
(
!
(
e
instanceof
t
))
throw
new
TypeError
(
"
Cannot call a class as a function
"
)}
function
_possibleConstructorReturn
(
e
,
t
){
if
(
!
e
)
throw
new
ReferenceError
(
"
this hasn't been initialised - super() hasn't been called
"
);
return
!
t
||
"
object
"
!=
typeof
t
&&
"
function
"
!=
typeof
t
?
e
:
t
}
function
_inherits
(
e
,
t
){
if
(
"
function
"
!=
typeof
t
&&
null
!==
t
)
throw
new
TypeError
(
"
Super expression must either be null or a function, not
"
+
typeof
t
);
e
.
prototype
=
Object
.
create
(
t
&&
t
.
prototype
,{
constructor
:{
value
:
e
,
enumerable
:
!
1
,
writable
:
!
0
,
configurable
:
!
0
}}),
t
&&
(
Object
.
setPrototypeOf
?
Object
.
setPrototypeOf
(
e
,
t
):
e
.
__proto__
=
t
)}
Object
.
defineProperty
(
exports
,
"
__esModule
"
,{
value
:
!
0
});
var
_createClass
=
function
(){
function
e
(
e
,
t
){
for
(
var
o
=
0
;
o
<
t
.
length
;
o
++
){
var
n
=
t
[
o
];
n
.
enumerable
=
n
.
enumerable
||!
1
,
n
.
configurable
=!
0
,
"
value
"
in
n
&&
(
n
.
writable
=!
0
),
Object
.
defineProperty
(
e
,
n
.
key
,
n
)}}
return
function
(
t
,
o
,
n
){
return
o
&&
e
(
t
.
prototype
,
o
),
n
&&
e
(
t
,
n
),
t
}}(),
_get
=
function
e
(
t
,
o
,
n
){
null
===
t
&&
(
t
=
Function
.
prototype
);
var
l
=
Object
.
getOwnPropertyDescriptor
(
t
,
o
);
if
(
void
0
===
l
){
var
i
=
Object
.
getPrototypeOf
(
t
);
return
null
===
i
?
void
0
:
e
(
i
,
o
,
n
)}
if
(
"
value
"
in
l
)
return
l
.
value
;
var
r
=
l
.
get
;
if
(
void
0
!==
r
)
return
r
.
call
(
n
)},
_query
=
__webpack_require__
(
4
),
_query2
=
_interopRequireDefault
(
_query
),
_tool
=
__webpack_require__
(
3
),
tool
=
_interopRequireWildcard
(
_tool
),
_log
=
__webpack_require__
(
17
),
_log2
=
_interopRequireDefault
(
_log
),
_tabbox_default
=
__webpack_require__
(
21
),
_tabbox_default2
=
_interopRequireDefault
(
_tabbox_default
),
_item_code
=
__webpack_require__
(
22
),
_item_code2
=
_interopRequireDefault
(
_item_code
),
VConsoleDefaultTab
=
function
(
_VConsoleLogTab
){
function
VConsoleDefaultTab
(){
var
e
;
_classCallCheck
(
this
,
VConsoleDefaultTab
);
for
(
var
t
=
arguments
.
length
,
o
=
Array
(
t
),
n
=
0
;
t
>
n
;
n
++
)
o
[
n
]
=
arguments
[
n
];
var
l
=
_possibleConstructorReturn
(
this
,(
e
=
Object
.
getPrototypeOf
(
VConsoleDefaultTab
)).
call
.
apply
(
e
,[
this
].
concat
(
o
)));
return
l
.
tplTabbox
=
_tabbox_default2
[
"
default
"
],
l
.
windowOnError
=
null
,
l
}
return
_inherits
(
VConsoleDefaultTab
,
_VConsoleLogTab
),
_createClass
(
VConsoleDefaultTab
,[{
key
:
"
onReady
"
,
value
:
function
(){
var
e
=
this
;
_get
(
Object
.
getPrototypeOf
(
VConsoleDefaultTab
.
prototype
),
"
onReady
"
,
this
).
call
(
this
),
_query2
[
"
default
"
].
bind
(
_query2
[
"
default
"
].
one
(
"
.vc-cmd
"
,
this
.
$tabbox
),
"
submit
"
,
function
(
t
){
t
.
preventDefault
();
var
o
=
_query2
[
"
default
"
].
one
(
"
.vc-cmd-input
"
,
t
.
target
),
n
=
o
.
value
;
o
.
value
=
""
,
""
!==
n
&&
e
.
evalCommand
(
n
)})}},{
key
:
"
mockConsole
"
,
value
:
function
(){
_get
(
Object
.
getPrototypeOf
(
VConsoleDefaultTab
.
prototype
),
"
mockConsole
"
,
this
).
call
(
this
);
var
e
=
this
;
tool
.
isFunction
(
window
.
onerror
)
&&
(
this
.
windowOnError
=
window
.
onerror
),
window
.
onerror
=
function
(
t
,
o
,
n
,
l
,
i
){
var
r
=
t
;
o
&&
(
r
+=
"
\n
"
+
o
.
replace
(
location
.
origin
,
""
)),(
n
||
l
)
&&
(
r
+=
"
:
"
+
n
+
"
:
"
+
l
),
e
.
printLog
({
logType
:
"
error
"
,
logs
:[
r
],
noOrigin
:
!
0
}),
tool
.
isFunction
(
e
.
windowOnError
)
&&
e
.
windowOnError
.
apply
(
window
,
t
,
o
,
n
,
l
,
i
)}}},{
key
:
"
evalCommand
"
,
value
:
function
evalCommand
(
cmd
){
this
.
printLog
({
logType
:
"
log
"
,
content
:
_query2
[
"
default
"
].
render
(
_item_code2
[
"
default
"
],{
content
:
cmd
,
type
:
"
input
"
}),
noMeta
:
!
0
,
style
:
""
});
var
result
=
eval
(
cmd
),
$content
=
void
0
;
tool
.
isArray
(
result
)
||
tool
.
isObject
(
result
)?
$content
=
this
.
getFoldedLine
(
result
):(
tool
.
isNull
(
result
)?
result
=
"
null
"
:
tool
.
isUndefined
(
result
)?
result
=
"
undefined
"
:
tool
.
isFunction
(
result
)?
result
=
"
function()
"
:
tool
.
isString
(
result
)
&&
(
result
=
'
"
'
+
result
+
'
"
'
),
$content
=
_query2
[
"
default
"
].
render
(
_item_code2
[
"
default
"
],{
content
:
result
,
type
:
"
output
"
})),
this
.
printLog
({
logType
:
"
log
"
,
content
:
$content
,
noMeta
:
!
0
,
style
:
""
})}}]),
VConsoleDefaultTab
}(
_log2
[
"
default
"
]),
tab
=
new
VConsoleDefaultTab
(
"
default
"
,
"
Log
"
);
exports
[
"
default
"
]
=
tab
,
module
.
exports
=
exports
[
"
default
"
]},
function
(
e
,
t
,
o
){
"
use strict
"
;
function
n
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
"
default
"
:
e
}}
function
l
(
e
){
if
(
e
&&
e
.
__esModule
)
return
e
;
var
t
=
{};
if
(
null
!=
e
)
for
(
var
o
in
e
)
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
o
)
&&
(
t
[
o
]
=
e
[
o
]);
return
t
[
"
default
"
]
=
e
,
t
}
function
i
(
e
,
t
){
if
(
!
(
e
instanceof
t
))
throw
new
TypeError
(
"
Cannot call a class as a function
"
)}
function
r
(
e
,
t
){
if
(
!
e
)
throw
new
ReferenceError
(
"
this hasn't been initialised - super() hasn't been called
"
);
return
!
t
||
"
object
"
!=
typeof
t
&&
"
function
"
!=
typeof
t
?
e
:
t
}
function
a
(
e
,
t
){
if
(
"
function
"
!=
typeof
t
&&
null
!==
t
)
throw
new
TypeError
(
"
Super expression must either be null or a function, not
"
+
typeof
t
);
e
.
prototype
=
Object
.
create
(
t
&&
t
.
prototype
,{
constructor
:{
value
:
e
,
enumerable
:
!
1
,
writable
:
!
0
,
configurable
:
!
0
}}),
t
&&
(
Object
.
setPrototypeOf
?
Object
.
setPrototypeOf
(
e
,
t
):
e
.
__proto__
=
t
)}
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
c
=
"
function
"
==
typeof
Symbol
&&
"
symbol
"
==
typeof
Symbol
.
iterator
?
function
(
e
){
return
typeof
e
}:
function
(
e
){
return
e
&&
"
function
"
==
typeof
Symbol
&&
e
.
constructor
===
Symbol
?
"
symbol
"
:
typeof
e
},
s
=
function
(){
function
e
(
e
,
t
){
for
(
var
o
=
0
;
o
<
t
.
length
;
o
++
){
var
n
=
t
[
o
];
n
.
enumerable
=
n
.
enumerable
||!
1
,
n
.
configurable
=!
0
,
"
value
"
in
n
&&
(
n
.
writable
=!
0
),
Object
.
defineProperty
(
e
,
n
.
key
,
n
)}}
return
function
(
t
,
o
,
n
){
return
o
&&
e
(
t
.
prototype
,
o
),
n
&&
e
(
t
,
n
),
t
}}(),
d
=
o
(
3
),
u
=
l
(
d
),
v
=
o
(
4
),
f
=
n
(
v
),
p
=
o
(
15
),
g
=
n
(
p
),
b
=
o
(
18
),
h
=
n
(
b
),
m
=
o
(
19
),
y
=
n
(
m
),
_
=
o
(
20
),
w
=
n
(
_
),
x
=
function
(
e
){
function
t
(){
var
e
;
i
(
this
,
t
);
for
(
var
o
=
arguments
.
length
,
n
=
Array
(
o
),
l
=
0
;
o
>
l
;
l
++
)
n
[
l
]
=
arguments
[
l
];
var
a
=
r
(
this
,(
e
=
Object
.
getPrototypeOf
(
t
)).
call
.
apply
(
e
,[
this
].
concat
(
n
)));
return
a
.
tplTabbox
=
""
,
a
.
allowUnformattedLog
=!
0
,
a
.
isReady
=!
1
,
a
.
isShow
=!
1
,
a
.
$tabbox
=
null
,
a
.
console
=
{},
a
.
logList
=
[],
a
.
isInBottom
=!
0
,
a
.
mockConsole
(),
a
}
return
a
(
t
,
e
),
s
(
t
,[{
key
:
"
onInit
"
,
value
:
function
(){
this
.
isReady
=!
0
,
this
.
$tabbox
=
f
[
"
default
"
].
render
(
this
.
tplTabbox
,{});
for
(
var
e
=
0
;
e
<
this
.
logList
.
length
;
e
++
)
this
.
printLog
(
this
.
logList
[
e
]);
this
.
logList
=
[]}},{
key
:
"
onRenderTab
"
,
value
:
function
(
e
){
e
(
this
.
$tabbox
)}},{
key
:
"
onAddTopBar
"
,
value
:
function
(
e
){
for
(
var
t
=
this
,
o
=
[
"
All
"
,
"
Log
"
,
"
Info
"
,
"
Warn
"
,
"
Error
"
],
n
=
[],
l
=
0
;
l
<
o
.
length
;
l
++
)
n
.
push
({
name
:
o
[
l
],
data
:{
type
:
o
[
l
].
toLowerCase
()},
className
:
""
,
onClick
:
function
(){
return
f
[
"
default
"
].
hasClass
(
this
,
"
vc-actived
"
)?
!
1
:
void
t
.
showLogType
(
this
.
dataset
.
type
||
"
all
"
)}});
n
[
0
].
className
=
"
vc-actived
"
,
e
(
n
)}},{
key
:
"
onAddTool
"
,
value
:
function
(
e
){
var
t
=
this
,
o
=
[{
name
:
"
Clear
"
,
global
:
!
1
,
onClick
:
function
(){
t
.
clearLog
()}}];
e
(
o
)}},{
key
:
"
onReady
"
,
value
:
function
(){
var
e
=
this
,
t
=
f
[
"
default
"
].
all
(
"
.vc-subtab
"
,
e
.
$tabbox
);
f
[
"
default
"
].
bind
(
t
,
"
click
"
,
function
(
o
){
if
(
o
.
preventDefault
(),
f
[
"
default
"
].
hasClass
(
this
,
"
vc-actived
"
))
return
!
1
;
f
[
"
default
"
].
removeClass
(
t
,
"
vc-actived
"
),
f
[
"
default
"
].
addClass
(
this
,
"
vc-actived
"
);
var
n
=
this
.
dataset
.
type
,
l
=
f
[
"
default
"
].
one
(
"
.vc-log
"
,
e
.
$tabbox
);
f
[
"
default
"
].
removeClass
(
l
,
"
vc-log-partly-log
"
),
f
[
"
default
"
].
removeClass
(
l
,
"
vc-log-partly-info
"
),
f
[
"
default
"
].
removeClass
(
l
,
"
vc-log-partly-warn
"
),
f
[
"
default
"
].
removeClass
(
l
,
"
vc-log-partly-error
"
),
"
all
"
==
n
?
f
[
"
default
"
].
removeClass
(
l
,
"
vc-log-partly
"
):(
f
[
"
default
"
].
addClass
(
l
,
"
vc-log-partly
"
),
f
[
"
default
"
].
addClass
(
l
,
"
vc-log-partly-
"
+
n
))});
var
o
=
f
[
"
default
"
].
one
(
"
.vc-content
"
);
f
[
"
default
"
].
bind
(
o
,
"
scroll
"
,
function
(
t
){
e
.
isShow
&&
(
o
.
scrollTop
+
o
.
offsetHeight
>=
o
.
scrollHeight
?
e
.
isInBottom
=!
0
:
e
.
isInBottom
=!
1
)})}},{
key
:
"
onShow
"
,
value
:
function
(){
this
.
isShow
=!
0
,
1
==
this
.
isInBottom
&&
this
.
scrollToBottom
()}},{
key
:
"
onHide
"
,
value
:
function
(){
this
.
isShow
=!
1
}},{
key
:
"
onShowConsole
"
,
value
:
function
(){
1
==
this
.
isInBottom
&&
this
.
scrollToBottom
()}},{
key
:
"
showLogType
"
,
value
:
function
(
e
){
var
t
=
f
[
"
default
"
].
one
(
"
.vc-log
"
,
this
.
$tabbox
);
f
[
"
default
"
].
removeClass
(
t
,
"
vc-log-partly-log
"
),
f
[
"
default
"
].
removeClass
(
t
,
"
vc-log-partly-info
"
),
f
[
"
default
"
].
removeClass
(
t
,
"
vc-log-partly-warn
"
),
f
[
"
default
"
].
removeClass
(
t
,
"
vc-log-partly-error
"
),
"
all
"
==
e
?
f
[
"
default
"
].
removeClass
(
t
,
"
vc-log-partly
"
):(
f
[
"
default
"
].
addClass
(
t
,
"
vc-log-partly
"
),
f
[
"
default
"
].
addClass
(
t
,
"
vc-log-partly-
"
+
e
))}},{
key
:
"
scrollToBottom
"
,
value
:
function
(){
var
e
=
f
[
"
default
"
].
one
(
"
.vc-content
"
);
e
.
scrollTop
=
e
.
scrollHeight
-
e
.
offsetHeight
}},{
key
:
"
mockConsole
"
,
value
:
function
(){
var
e
=
this
;
window
.
console
?(
this
.
console
.
log
=
window
.
console
.
log
,
this
.
console
.
info
=
window
.
console
.
info
,
this
.
console
.
warn
=
window
.
console
.
warn
,
this
.
console
.
debug
=
window
.
console
.
debug
,
this
.
console
.
error
=
window
.
console
.
error
):
window
.
console
=
{},
window
.
console
.
log
=
function
(){
e
.
printLog
({
logType
:
"
log
"
,
logs
:
arguments
})},
window
.
console
.
info
=
function
(){
e
.
printLog
({
logType
:
"
info
"
,
logs
:
arguments
})},
window
.
console
.
warn
=
function
(){
e
.
printLog
({
logType
:
"
warn
"
,
logs
:
arguments
})},
window
.
console
.
debug
=
function
(){
e
.
printLog
({
logType
:
"
debug
"
,
logs
:
arguments
})},
window
.
console
.
error
=
function
(){
e
.
printLog
({
logType
:
"
error
"
,
logs
:
arguments
})}}},{
key
:
"
clearLog
"
,
value
:
function
(){
f
[
"
default
"
].
one
(
"
.vc-log
"
,
this
.
$tabbox
).
innerHTML
=
""
}},{
key
:
"
printOriginLog
"
,
value
:
function
(
e
){
"
function
"
==
typeof
this
.
console
[
e
.
logType
]
&&
this
.
console
[
e
.
logType
].
apply
(
window
.
console
,
e
.
logs
)}},{
key
:
"
printLog
"
,
value
:
function
(
e
){
var
t
=
e
.
logs
||
[];
if
(
t
.
length
||
e
.
content
){
t
=
[].
slice
.
call
(
t
||
[]);
var
o
=!
0
,
n
=
/^
\[(\w
+
)\]
?
/i
,
l
=
""
;
if
(
u
.
isString
(
t
[
0
])){
var
i
=
t
[
0
].
match
(
n
);
null
!==
i
&&
i
.
length
>
0
&&
(
l
=
i
[
1
].
toLowerCase
())}
if
(
l
?
o
=
l
==
this
.
id
:
0
==
this
.
allowUnformattedLog
&&
(
o
=!
1
),
!
o
)
return
void
(
e
.
noOrigin
||
this
.
printOriginLog
(
e
));
if
(
e
.
date
||
(
e
.
date
=+
new
Date
),
!
this
.
isReady
)
return
void
this
.
logList
.
push
(
e
);
if
(
u
.
isString
(
t
[
0
])
&&
(
t
[
0
]
=
t
[
0
].
replace
(
n
,
""
),
""
===
t
[
0
]
&&
t
.
shift
()),
!
e
.
meta
){
var
r
=
u
.
getDate
(
e
.
date
);
e
.
meta
=
r
.
hour
+
"
:
"
+
r
.
minute
+
"
:
"
+
r
.
second
}
for
(
var
a
=
f
[
"
default
"
].
render
(
h
[
"
default
"
],{
logType
:
e
.
logType
,
noMeta
:
!!
e
.
noMeta
,
meta
:
e
.
meta
,
style
:
e
.
style
||
""
}),
s
=
f
[
"
default
"
].
one
(
"
.vc-item-content
"
,
a
),
d
=
0
;
d
<
t
.
length
;
d
++
){
var
v
=
document
.
createElement
(
"
SPAN
"
);
try
{
if
(
""
===
t
[
d
])
continue
;
u
.
isFunction
(
t
[
d
])?
v
.
innerHTML
=
"
"
+
t
[
d
].
toString
():
u
.
isObject
(
t
[
d
])
||
u
.
isArray
(
t
[
d
])?
v
=
this
.
getFoldedLine
(
t
[
d
]):
v
.
innerHTML
=
"
"
+
u
.
htmlEncode
(
t
[
d
]).
replace
(
/
\n
/g
,
"
<br/>
"
)}
catch
(
p
){
v
.
innerHTML
=
"
[
"
+
c
(
t
[
d
])
+
"
]
"
}
v
&&
s
.
appendChild
(
v
)}
u
.
isObject
(
e
.
content
)
&&
s
.
appendChild
(
e
.
content
),
f
[
"
default
"
].
one
(
"
.vc-log
"
,
this
.
$tabbox
).
appendChild
(
a
),
this
.
isInBottom
&&
this
.
scrollToBottom
(),
e
.
noOrigin
||
this
.
printOriginLog
(
e
)}}},{
key
:
"
getFoldedLine
"
,
value
:
function
(
e
,
t
){
var
o
=
this
;
if
(
!
t
){
var
n
=
u
.
JSONStringify
(
e
),
l
=
n
.
substr
(
0
,
26
);
t
=
u
.
getObjName
(
e
),
n
.
length
>
26
&&
(
l
+=
"
...
"
),
t
+=
"
"
+
l
}
var
i
=
f
[
"
default
"
].
render
(
y
[
"
default
"
],{
outer
:
t
,
lineType
:
"
obj
"
});
return
f
[
"
default
"
].
bind
(
f
[
"
default
"
].
one
(
"
.vc-fold-outer
"
,
i
),
"
click
"
,
function
(
t
){
t
.
preventDefault
(),
t
.
stopPropagation
(),
f
[
"
default
"
].
hasClass
(
i
,
"
vc-toggle
"
)?(
f
[
"
default
"
].
removeClass
(
i
,
"
vc-toggle
"
),
f
[
"
default
"
].
removeClass
(
f
[
"
default
"
].
one
(
"
.vc-fold-inner
"
,
i
),
"
vc-toggle
"
),
f
[
"
default
"
].
removeClass
(
f
[
"
default
"
].
one
(
"
.vc-fold-outer
"
,
i
),
"
vc-toggle
"
)):(
f
[
"
default
"
].
addClass
(
i
,
"
vc-toggle
"
),
f
[
"
default
"
].
addClass
(
f
[
"
default
"
].
one
(
"
.vc-fold-inner
"
,
i
),
"
vc-toggle
"
),
f
[
"
default
"
].
addClass
(
f
[
"
default
"
].
one
(
"
.vc-fold-outer
"
,
i
),
"
vc-toggle
"
));
var
n
=
f
[
"
default
"
].
one
(
"
.vc-fold-inner
"
,
i
);
if
(
0
==
n
.
children
.
length
&&
e
){
for
(
var
l
=
u
.
getObjAllKeys
(
e
),
r
=
0
;
r
<
l
.
length
;
r
++
){
var
a
=
e
[
l
[
r
]],
c
=
"
undefined
"
,
s
=
""
;
u
.
isString
(
a
)?(
c
=
"
string
"
,
a
=
'
"
'
+
a
+
'
"
'
):
u
.
isNumber
(
a
)?
c
=
"
number
"
:
u
.
isBoolean
(
a
)?
c
=
"
boolean
"
:
u
.
isNull
(
a
)?(
c
=
"
null
"
,
a
=
"
null
"
):
u
.
isUndefined
(
a
)?(
c
=
"
undefined
"
,
a
=
"
undefined
"
):
u
.
isFunction
(
a
)?(
c
=
"
function
"
,
a
=
"
function()
"
):
u
.
isSymbol
(
a
)
&&
(
c
=
"
symbol
"
);
var
d
=
void
0
;
if
(
u
.
isArray
(
a
)){
var
v
=
u
.
getObjName
(
a
)
+
"
[
"
+
a
.
length
+
"
]
"
;
d
=
o
.
getFoldedLine
(
a
,
f
[
"
default
"
].
render
(
w
[
"
default
"
],{
key
:
l
[
r
],
keyType
:
s
,
value
:
v
,
valueType
:
"
array
"
},
!
0
))}
else
if
(
u
.
isObject
(
a
)){
var
p
=
u
.
getObjName
(
a
);
d
=
o
.
getFoldedLine
(
a
,
f
[
"
default
"
].
render
(
w
[
"
default
"
],{
key
:
u
.
htmlEncode
(
l
[
r
]),
keyType
:
s
,
value
:
p
,
valueType
:
"
object
"
},
!
0
))}
else
{
e
.
hasOwnProperty
(
l
[
r
])
||
(
s
=
"
private
"
);
var
g
=
{
lineType
:
"
kv
"
,
key
:
u
.
htmlEncode
(
l
[
r
]),
keyType
:
s
,
value
:
u
.
htmlEncode
(
a
),
valueType
:
c
};
d
=
f
[
"
default
"
].
render
(
y
[
"
default
"
],
g
)}
n
.
appendChild
(
d
)}
if
(
u
.
isObject
(
e
)){
var
b
=
e
.
__proto__
,
h
=
void
0
;
h
=
u
.
isObject
(
b
)?
o
.
getFoldedLine
(
b
,
f
[
"
default
"
].
render
(
w
[
"
default
"
],{
key
:
"
__proto__
"
,
keyType
:
"
private
"
,
value
:
u
.
getObjName
(
b
),
valueType
:
"
object
"
},
!
0
)):
f
[
"
default
"
].
render
(
w
[
"
default
"
],{
key
:
"
__proto__
"
,
keyType
:
"
private
"
,
value
:
"
null
"
,
valueType
:
"
null
"
}),
n
.
appendChild
(
h
)}}
return
!
1
}),
i
}}]),
t
}(
g
[
"
default
"
]);
t
[
"
default
"
]
=
x
,
e
.
exports
=
t
[
"
default
"
]},
function
(
e
,
t
){
e
.
exports
=
'
<div class="vc-item vc-item-{{logType}} {{if (!noMeta)}}vc-item-nometa{{/if}} {{style}}"> <span class=vc-item-meta>{{if (!noMeta)}}{{meta}}{{/if}}</span> <div class=vc-item-content></div> </div>
'
},
function
(
e
,
t
){
e
.
exports
=
"
<div class=vc-fold> {{if (lineType == 'obj')}} <i class=vc-fold-outer>{{outer}}</i> <div class=vc-fold-inner></div> {{else if (lineType == 'value')}} <i class=vc-code-{{valueType}}>{{value}}</i> {{else if (lineType == 'kv')}} <i class=
\"
vc-code-key{{if (keyType)}} vc-code-{{keyType}}-key{{/if}}
\"
>{{key}}</i>: <i class=vc-code-{{valueType}}>{{value}}</i> {{/if}} </div>
"
},
function
(
e
,
t
){
e
.
exports
=
'
<span> <i class="vc-code-key{{if (keyType)}} vc-code-{{keyType}}-key{{/if}}">{{key}}</i>: <i class=vc-code-{{valueType}}>{{value}}</i> </span>
'
},
function
(
e
,
t
){
e
.
exports
=
"
<div> <div class=vc-log style=padding-bottom:40px></div> <form class=vc-cmd> <button class=vc-cmd-btn type=submit>OK</button> <div class=vc-cmd-input-wrap> <textarea class=vc-cmd-input placeholder=command...></textarea> </div> </form> </div>
"
},
function
(
e
,
t
){
e
.
exports
=
'
<pre class="vc-item-code vc-item-code-{{type}}">{{content}}</pre>
'
},
function
(
e
,
t
,
o
){
"
use strict
"
;
function
n
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
"
default
"
:
e
}}
function
l
(
e
){
if
(
e
&&
e
.
__esModule
)
return
e
;
var
t
=
{};
if
(
null
!=
e
)
for
(
var
o
in
e
)
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
o
)
&&
(
t
[
o
]
=
e
[
o
]);
return
t
[
"
default
"
]
=
e
,
t
}
function
i
(
e
,
t
){
if
(
!
(
e
instanceof
t
))
throw
new
TypeError
(
"
Cannot call a class as a function
"
)}
function
r
(
e
,
t
){
if
(
!
e
)
throw
new
ReferenceError
(
"
this hasn't been initialised - super() hasn't been called
"
);
return
!
t
||
"
object
"
!=
typeof
t
&&
"
function
"
!=
typeof
t
?
e
:
t
}
function
a
(
e
,
t
){
if
(
"
function
"
!=
typeof
t
&&
null
!==
t
)
throw
new
TypeError
(
"
Super expression must either be null or a function, not
"
+
typeof
t
);
e
.
prototype
=
Object
.
create
(
t
&&
t
.
prototype
,{
constructor
:{
value
:
e
,
enumerable
:
!
1
,
writable
:
!
0
,
configurable
:
!
0
}}),
t
&&
(
Object
.
setPrototypeOf
?
Object
.
setPrototypeOf
(
e
,
t
):
e
.
__proto__
=
t
)}
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
c
=
function
(){
function
e
(
e
,
t
){
for
(
var
o
=
0
;
o
<
t
.
length
;
o
++
){
var
n
=
t
[
o
];
n
.
enumerable
=
n
.
enumerable
||!
1
,
n
.
configurable
=!
0
,
"
value
"
in
n
&&
(
n
.
writable
=!
0
),
Object
.
defineProperty
(
e
,
n
.
key
,
n
)}}
return
function
(
t
,
o
,
n
){
return
o
&&
e
(
t
.
prototype
,
o
),
n
&&
e
(
t
,
n
),
t
}}(),
s
=
function
h
(
e
,
t
,
o
){
null
===
e
&&
(
e
=
Function
.
prototype
);
var
n
=
Object
.
getOwnPropertyDescriptor
(
e
,
t
);
if
(
void
0
===
n
){
var
l
=
Object
.
getPrototypeOf
(
e
);
return
null
===
l
?
void
0
:
h
(
l
,
t
,
o
)}
if
(
"
value
"
in
n
)
return
n
.
value
;
var
i
=
n
.
get
;
if
(
void
0
!==
i
)
return
i
.
call
(
o
)},
d
=
o
(
3
),
u
=
(
l
(
d
),
o
(
17
)),
v
=
n
(
u
),
f
=
o
(
24
),
p
=
n
(
f
),
g
=
function
(
e
){
function
t
(){
var
e
;
i
(
this
,
t
);
for
(
var
o
=
arguments
.
length
,
n
=
Array
(
o
),
l
=
0
;
o
>
l
;
l
++
)
n
[
l
]
=
arguments
[
l
];
var
a
=
r
(
this
,(
e
=
Object
.
getPrototypeOf
(
t
)).
call
.
apply
(
e
,[
this
].
concat
(
n
)));
return
a
.
tplTabbox
=
p
[
"
default
"
],
a
.
allowUnformattedLog
=!
1
,
a
}
return
a
(
t
,
e
),
c
(
t
,[{
key
:
"
onInit
"
,
value
:
function
(){
s
(
Object
.
getPrototypeOf
(
t
.
prototype
),
"
onInit
"
,
this
).
call
(
this
),
this
.
printSystemInfo
()}},{
key
:
"
printSystemInfo
"
,
value
:
function
(){
var
e
=
navigator
.
userAgent
,
t
=
""
,
o
=
e
.
match
(
/
(
ipod
)
.*
\s([\d
_
]
+
)
/i
),
n
=
e
.
match
(
/
(
ipad
)
.*
\s([\d
_
]
+
)
/i
),
l
=
e
.
match
(
/
(
iphone
)\s
os
\s([\d
_
]
+
)
/i
),
i
=
e
.
match
(
/
(
android
)\s([\d\.]
+
)
/i
);
t
=
"
Unknown
"
,
i
?
t
=
"
Android
"
+
i
[
2
]:
l
?
t
=
"
iPhone, iOS
"
+
l
[
2
].
replace
(
/_/g
,
"
.
"
):
n
?
t
=
"
iPad, iOS
"
+
n
[
2
].
replace
(
/_/g
,
"
.
"
):
o
&&
(
t
=
"
iPod, iOS
"
+
o
[
2
].
replace
(
/_/g
,
"
.
"
));
var
r
=
t
,
a
=
e
.
match
(
/MicroMessenger
\/([\d\.]
+
)
/i
);
t
=
"
Unknown
"
,
a
&&
a
[
1
]?(
t
=
a
[
1
],
r
+=
"
, WeChat
"
+
t
,
console
.
info
(
"
[system]
"
,
"
System:
"
,
r
)):
console
.
info
(
"
[system]
"
,
"
System:
"
,
r
),
t
=
"
Unknown
"
,
t
=
"
https:
"
==
location
.
protocol
?
"
HTTPS
"
:
"
http:
"
==
location
.
protocol
?
"
HTTP
"
:
location
.
protocol
.
replace
(
"
:
"
,
""
),
r
=
t
;
var
c
=
e
.
toLowerCase
().
match
(
/ nettype
\/([^
]
+
)
/g
);
t
=
"
Unknown
"
,
c
&&
c
[
0
]?(
c
=
c
[
0
].
split
(
"
/
"
),
t
=
c
[
1
],
r
+=
"
,
"
+
t
,
console
.
info
(
"
[system]
"
,
"
Network:
"
,
r
)):
console
.
info
(
"
[system]
"
,
"
Protocol:
"
,
r
),
console
.
info
(
"
[system]
"
,
"
UA:
"
,
e
),
setTimeout
(
function
(){
var
e
=
window
.
performance
||
window
.
msPerformance
||
window
.
webkitPerformance
;
if
(
e
&&
e
.
timing
){
var
t
=
e
.
timing
;
t
.
navigationStart
&&
console
.
info
(
"
[system]
"
,
"
navigationStart:
"
,
t
.
navigationStart
),
t
.
navigationStart
&&
t
.
domainLookupStart
&&
console
.
info
(
"
[system]
"
,
"
navigation:
"
,
t
.
domainLookupStart
-
t
.
navigationStart
+
"
ms
"
),
t
.
domainLookupEnd
&&
t
.
domainLookupStart
&&
console
.
info
(
"
[system]
"
,
"
dns:
"
,
t
.
domainLookupEnd
-
t
.
domainLookupStart
+
"
ms
"
),
t
.
connectEnd
&&
t
.
connectStart
&&
(
t
.
connectEnd
&&
t
.
secureConnectionStart
?
console
.
info
(
"
[system]
"
,
"
tcp (ssl):
"
,
t
.
connectEnd
-
t
.
connectStart
+
"
ms (
"
+
(
t
.
connectEnd
-
t
.
secureConnectionStart
)
+
"
ms)
"
):
console
.
info
(
"
[system]
"
,
"
tcp:
"
,
t
.
connectEnd
-
t
.
connectStart
+
"
ms
"
)),
t
.
responseStart
&&
t
.
requestStart
&&
console
.
info
(
"
[system]
"
,
"
request:
"
,
t
.
responseStart
-
t
.
requestStart
+
"
ms
"
),
t
.
responseEnd
&&
t
.
responseStart
&&
console
.
info
(
"
[system]
"
,
"
response:
"
,
t
.
responseEnd
-
t
.
responseStart
+
"
ms
"
),
t
.
domComplete
&&
t
.
domLoading
&&
(
t
.
domContentLoadedEventStart
&&
t
.
domLoading
?
console
.
info
(
"
[system]
"
,
"
domComplete (domLoaded):
"
,
t
.
domComplete
-
t
.
domLoading
+
"
ms (
"
+
(
t
.
domContentLoadedEventStart
-
t
.
domLoading
)
+
"
ms)
"
):
console
.
info
(
"
[system]
"
,
"
domComplete:
"
,
t
.
domComplete
-
t
.
domLoading
+
"
ms
"
)),
t
.
loadEventEnd
&&
t
.
loadEventStart
&&
console
.
info
(
"
[system]
"
,
"
loadEvent:
"
,
t
.
loadEventEnd
-
t
.
loadEventStart
+
"
ms
"
),
t
.
navigationStart
&&
t
.
loadEventEnd
&&
console
.
info
(
"
[system]
"
,
"
total (DOM):
"
,
t
.
loadEventEnd
-
t
.
navigationStart
+
"
ms (
"
+
(
t
.
domComplete
-
t
.
navigationStart
)
+
"
ms)
"
)}},
0
)}}]),
t
}(
v
[
"
default
"
]),
b
=
new
g
(
"
system
"
,
"
System
"
);
t
[
"
default
"
]
=
b
,
e
.
exports
=
t
[
"
default
"
]},
function
(
e
,
t
){
e
.
exports
=
"
<div> <div class=vc-log></div> </div>
"
},
function
(
e
,
t
,
o
){
"
use strict
"
;
function
n
(
e
){
if
(
e
&&
e
.
__esModule
)
return
e
;
var
t
=
{};
if
(
null
!=
e
)
for
(
var
o
in
e
)
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
o
)
&&
(
t
[
o
]
=
e
[
o
]);
return
t
[
"
default
"
]
=
e
,
t
}
function
l
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
"
default
"
:
e
}}
function
i
(
e
,
t
){
if
(
!
(
e
instanceof
t
))
throw
new
TypeError
(
"
Cannot call a class as a function
"
)}
function
r
(
e
,
t
){
if
(
!
e
)
throw
new
ReferenceError
(
"
this hasn't been initialised - super() hasn't been called
"
);
return
!
t
||
"
object
"
!=
typeof
t
&&
"
function
"
!=
typeof
t
?
e
:
t
}
function
a
(
e
,
t
){
if
(
"
function
"
!=
typeof
t
&&
null
!==
t
)
throw
new
TypeError
(
"
Super expression must either be null or a function, not
"
+
typeof
t
);
e
.
prototype
=
Object
.
create
(
t
&&
t
.
prototype
,{
constructor
:{
value
:
e
,
enumerable
:
!
1
,
writable
:
!
0
,
configurable
:
!
0
}}),
t
&&
(
Object
.
setPrototypeOf
?
Object
.
setPrototypeOf
(
e
,
t
):
e
.
__proto__
=
t
)}
Object
.
defineProperty
(
t
,
"
__esModule
"
,{
value
:
!
0
});
var
c
=
function
(){
function
e
(
e
,
t
){
for
(
var
o
=
0
;
o
<
t
.
length
;
o
++
){
var
n
=
t
[
o
];
n
.
enumerable
=
n
.
enumerable
||!
1
,
n
.
configurable
=!
0
,
"
value
"
in
n
&&
(
n
.
writable
=!
0
),
Object
.
defineProperty
(
e
,
n
.
key
,
n
)}}
return
function
(
t
,
o
,
n
){
return
o
&&
e
(
t
.
prototype
,
o
),
n
&&
e
(
t
,
n
),
t
}}(),
s
=
o
(
4
),
d
=
l
(
s
),
u
=
o
(
3
),
v
=
n
(
u
),
f
=
o
(
15
),
p
=
l
(
f
),
g
=
o
(
26
),
b
=
l
(
g
),
h
=
o
(
27
),
m
=
l
(
h
),
y
=
o
(
28
),
_
=
l
(
y
),
w
=
function
(
e
){
function
t
(){
var
e
;
i
(
this
,
t
);
for
(
var
o
=
arguments
.
length
,
n
=
Array
(
o
),
l
=
0
;
o
>
l
;
l
++
)
n
[
l
]
=
arguments
[
l
];
var
a
=
r
(
this
,(
e
=
Object
.
getPrototypeOf
(
t
)).
call
.
apply
(
e
,[
this
].
concat
(
n
)));
return
a
.
$tabbox
=
d
[
"
default
"
].
render
(
b
[
"
default
"
],{}),
a
.
$header
=
null
,
a
.
reqList
=
{},
a
.
domList
=
{},
a
.
isShow
=!
1
,
a
.
isInBottom
=!
0
,
a
.
mockAjax
(),
a
}
return
a
(
t
,
e
),
c
(
t
,[{
key
:
"
onRenderTab
"
,
value
:
function
(
e
){
e
(
this
.
$tabbox
)}},{
key
:
"
onAddTool
"
,
value
:
function
(
e
){
var
t
=
this
,
o
=
[{
name
:
"
Clear
"
,
global
:
!
1
,
onClick
:
function
(
e
){
t
.
clearLog
()}}];
e
(
o
)}},{
key
:
"
onReady
"
,
value
:
function
(){
var
e
=
this
;
this
.
renderHeader
(),
d
[
"
default
"
].
delegate
(
d
[
"
default
"
].
one
(
"
.vc-log
"
,
this
.
$tabbox
),
"
click
"
,
"
.vc-group-preview
"
,
function
(
e
){
var
t
=
this
.
parentNode
;
d
[
"
default
"
].
hasClass
(
t
,
"
vc-actived
"
)?
d
[
"
default
"
].
removeClass
(
t
,
"
vc-actived
"
):
d
[
"
default
"
].
addClass
(
t
,
"
vc-actived
"
),
e
.
preventDefault
()});
var
t
=
d
[
"
default
"
].
one
(
"
.vc-content
"
);
d
[
"
default
"
].
bind
(
t
,
"
scroll
"
,
function
(
o
){
e
.
isShow
&&
(
t
.
scrollTop
+
t
.
offsetHeight
>=
t
.
scrollHeight
?
e
.
isInBottom
=!
0
:
e
.
isInBottom
=!
1
)})}},{
key
:
"
onShow
"
,
value
:
function
(){
this
.
isShow
=!
0
,
1
==
this
.
isInBottom
&&
this
.
scrollToBottom
()}},{
key
:
"
onHide
"
,
value
:
function
(){
this
.
isShow
=!
1
}},{
key
:
"
onShowConsole
"
,
value
:
function
(){
1
==
this
.
isInBottom
&&
this
.
scrollToBottom
()}},{
key
:
"
scrollToBottom
"
,
value
:
function
(){
var
e
=
d
[
"
default
"
].
one
(
"
.vc-content
"
);
e
.
scrollTop
=
e
.
scrollHeight
-
e
.
offsetHeight
}},{
key
:
"
clearLog
"
,
value
:
function
(){
this
.
reqList
=
{};
for
(
var
e
in
this
.
domList
)
this
.
domList
[
e
].
remove
(),
this
.
domList
[
e
]
=
void
0
;
this
.
domList
=
{},
this
.
renderHeader
()}},{
key
:
"
renderHeader
"
,
value
:
function
(){
var
e
=
Object
.
keys
(
this
.
reqList
).
length
,
t
=
d
[
"
default
"
].
render
(
m
[
"
default
"
],{
count
:
e
}),
o
=
d
[
"
default
"
].
one
(
"
.vc-log
"
,
this
.
$tabbox
);
this
.
$header
?
this
.
$header
.
parentNode
.
replaceChild
(
t
,
this
.
$header
):
o
.
parentNode
.
insertBefore
(
t
,
o
),
this
.
$header
=
t
}},{
key
:
"
updateRequest
"
,
value
:
function
(
e
,
t
){
var
o
=
Object
.
keys
(
this
.
reqList
).
length
,
n
=
this
.
reqList
[
e
]
||
{};
for
(
var
l
in
t
)
n
[
l
]
=
t
[
l
];
this
.
reqList
[
e
]
=
n
;
var
i
=
{
url
:
n
.
url
,
status
:
n
.
status
||
"
-
"
,
type
:
"
-
"
,
costTime
:
n
.
costTime
>
0
?
n
.
costTime
+
"
ms
"
:
"
-
"
,
header
:
n
.
header
,
response
:
v
.
htmlEncode
(
n
.
response
)};
n
.
readyState
<=
1
?
i
.
status
=
"
Pending
"
:
n
.
readyState
<
4
&&
(
i
.
status
=
"
Loading
"
);
var
r
=
d
[
"
default
"
].
render
(
_
[
"
default
"
],
i
),
a
=
this
.
domList
[
e
];
n
.
status
>=
400
&&
d
[
"
default
"
].
addClass
(
d
[
"
default
"
].
one
(
"
.vc-group-preview
"
,
r
),
"
vc-table-row-error
"
),
a
?
a
.
parentNode
.
replaceChild
(
r
,
a
):
d
[
"
default
"
].
one
(
"
.vc-log
"
,
this
.
$tabbox
).
appendChild
(
r
),
this
.
domList
[
e
]
=
r
;
var
c
=
Object
.
keys
(
this
.
reqList
).
length
;
c
!=
o
&&
this
.
renderHeader
(),
this
.
isInBottom
&&
this
.
scrollToBottom
()}},{
key
:
"
mockAjax
"
,
value
:
function
(){
var
e
=
window
.
XMLHttpRequest
;
if
(
e
){
var
t
=
this
,
o
=
window
.
XMLHttpRequest
.
prototype
.
open
;
window
.
XMLHttpRequest
.
prototype
.
send
;
window
.
XMLHttpRequest
.
prototype
.
open
=
function
(){
var
e
=
this
,
n
=
[].
slice
.
call
(
arguments
),
l
=
n
[
1
],
i
=
t
.
getUniqueID
();
e
.
_requestID
=
i
;
var
r
=
e
.
onreadystatechange
||
function
(){};
return
e
.
onreadystatechange
=
function
(){
var
o
=
t
.
reqList
[
i
]
||
{};
if
(
o
.
url
=
l
,
o
.
readyState
=
e
.
readyState
,
0
==
e
.
readyState
)
o
.
startTime
=+
new
Date
;
else
if
(
1
==
e
.
readyState
)
o
.
startTime
=+
new
Date
;
else
if
(
2
==
e
.
readyState
){
o
.
header
=
{};
for
(
var
n
=
e
.
getAllResponseHeaders
()
||
""
,
a
=
n
.
split
(
"
\n
"
),
c
=
0
;
c
<
a
.
length
;
c
++
){
var
s
=
a
[
c
];
if
(
s
){
var
d
=
s
.
split
(
"
:
"
),
u
=
d
[
0
],
v
=
d
.
slice
(
1
).
join
(
"
:
"
);
o
.
header
[
u
]
=
v
}}}
else
3
==
e
.
readyState
||
4
==
e
.
readyState
&&
(
o
.
status
=
e
.
status
,
o
.
endTime
=+
new
Date
,
o
.
costTime
=
o
.
endTime
-
(
o
.
startTime
||
o
.
endTime
),
o
.
response
=
e
.
response
);
return
e
.
_noVConsole
||
t
.
updateRequest
(
i
,
o
),
r
.
apply
(
e
,
arguments
)},
o
.
apply
(
e
,
n
)}}}},{
key
:
"
getUniqueID
"
,
value
:
function
(){
var
e
=
"
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
"
.
replace
(
/
[
xy
]
/g
,
function
(
e
){
var
t
=
16
*
Math
.
random
()
|
0
,
o
=
"
x
"
==
e
?
t
:
3
&
t
|
8
;
return
o
.
toString
(
16
)});
return
e
}}]),
t
}(
p
[
"
default
"
]),
x
=
new
w
(
"
network
"
,
"
Network
"
);
t
[
"
default
"
]
=
x
,
e
.
exports
=
t
[
"
default
"
]},
function
(
e
,
t
){
e
.
exports
=
"
<div class=vc-table> <div class=vc-log></div> </div>
"
},
function
(
e
,
t
){
e
.
exports
=
'
<dl class=vc-table-row> <dd class="vc-table-col vc-table-col-4">Name {{if (count > 0)}}({{count}}){{/if}}</dd> <dd class=vc-table-col>Status</dd> <dd class=vc-table-col>Time</dd> </dl>
'
},
function
(
e
,
t
){
e
.
exports
=
'
<div class=vc-group> <dl class="vc-table-row vc-group-preview"> <dd class="vc-table-col vc-table-col-4">{{url}}</dd> <dd class=vc-table-col>{{status}}</dd> <dd class=vc-table-col>{{costTime}}</dd> </dl> <div class=vc-group-detail> <div> <dl class="vc-table-row vc-left-border"> <dt class="vc-table-col vc-table-col-title">Headers</dt> </dl> {{for (var key in header)}} <div class="vc-table-row vc-left-border vc-small"> <div class="vc-table-col vc-table-col-2">{{key}}</div> <div class="vc-table-col vc-table-col-4 vc-max-height-line">{{header[key]}}</div> </div> {{/for}} </div> <div> <dl class="vc-table-row vc-left-border"> <dt class="vc-table-col vc-table-col-title">Response</dt> </dl> <div class="vc-table-row vc-left-border vc-small"> <pre class="vc-table-col vc-max-height vc-min-height">{{response}}</pre> </div> </div> </div> </div>
'
}])});
\ No newline at end of file
litemall-vue/src/api/goods.js
View file @
1b1a8945
// export const GOODS_CATEGORY = '/category';
export
const
GOODS_CATEGORY
=
'
/wx/catalog/index
'
;
export
const
GOODS_CHANNGE_CATEGORY
=
'
/wx/catalog/current?id=
'
;
export
const
GOODS_SEARCH
=
'
/moreGoods
'
;
export
const
GOODS_DETAIL
=
'
/details
'
;
import
request
from
'
@/core/utils/request
'
// export const GOODS_CATEGORY = '/category';
export
const
GOODS_CATEGORY
=
'
/wx/catalog/index
'
;
export
const
GOODS_CHANNGE_CATEGORY
=
'
/wx/catalog/current?id=
'
;
export
const
GOODS_SEARCH
=
'
/moreGoods
'
;
export
const
GOODS_DETAIL
=
'
/details
'
;
litemall-vue/src/core/utils/auth.js
deleted
100644 → 0
View file @
74126a92
import
docCookie
from
'
@/core/utils/cookies
'
import
{
setLocalStorage
,
getLocalStorage
}
from
'
@/core/utils/local-storage
'
;
export
function
procJumpToken
()
{
if
(
docCookie
.
getItem
(
'
litetoken
'
))
{
let
litetoken
=
docCookie
.
getItem
(
'
litetoken
'
)
if
(
!
PSMU
.
isEmtVal
(
litetoken
))
{
let
jsonStr
=
PSMU
.
DU
(
litetoken
)
console
.
log
(
"
jsonStr is :
"
,
jsonStr
);
if
(
!
PSMU
.
isEmt
(
jsonStr
)
&&
PSMU
.
isString
(
jsonStr
))
{
let
tokenInfo
=
JSON
.
parse
(
jsonStr
)
console
.
log
(
"
tokenInfo is :
"
,
tokenInfo
);
if
(
tokenInfo
&&
tokenInfo
.
token
)
{
setLocalStorage
({
Authorization
:
tokenInfo
.
token
});
}
const
infoData
=
getLocalStorage
(
'
Authorization
'
)
console
.
log
(
"
procJumpToken getLocalStorage
"
,
infoData
);
if
(
tokenInfo
&&
tokenInfo
.
userInfo
)
{
// debugger
setLocalStorage
({
avatar
:
tokenInfo
.
userInfo
.
avatarUrl
,
// user_id: data.user_id,
// background_image: data.background_image,
nickName
:
tokenInfo
.
userInfo
.
nickName
});
}
const
infoData2
=
getLocalStorage
(
'
avatarUrl
'
,
'
nickName
'
)
console
.
log
(
"
procJumpToken getLocalStorage 2
"
,
infoData2
);
}
}
docCookie
.
removeItem
(
'
litetoken
'
)
}
}
litemall-vue/src/core/utils/cookies.js
deleted
100644 → 0
View file @
74126a92
/*\
|*|
|*| :: cookies.js ::
|*|
|*| A complete cookies reader/writer framework with full unicode support.
|*|
|*| https://developer.mozilla.org/en-US/docs/DOM/document.cookie
|*|
|*| This framework is released under the GNU Public License, version 3 or later.
|*| http://www.gnu.org/licenses/gpl-3.0-standalone.html
|*|
|*| Syntaxes:
|*|
|*| * docCookies.setItem(name, value[, end[, path[, domain[, secure]]]])
|*| * docCookies.getItem(name)
|*| * docCookies.removeItem(name[, path], domain)
|*| * docCookies.hasItem(name)
|*| * docCookies.keys()
|*|
\*/
const
docCookies
=
{
getItem
:
function
(
sKey
)
{
return
decodeURIComponent
(
document
.
cookie
.
replace
(
new
RegExp
(
"
(?:(?:^|.*;)
\\
s*
"
+
encodeURIComponent
(
sKey
).
replace
(
/
[\-\.\+\*]
/g
,
"
\\
$&
"
)
+
"
\\
s*
\\
=
\\
s*([^;]*).*$)|^.*$
"
),
"
$1
"
))
||
null
;
},
setItem
:
function
(
sKey
,
sValue
,
vEnd
,
sPath
,
sDomain
,
bSecure
)
{
if
(
!
sKey
||
/^
(?:
expires|max
\-
age|path|domain|secure
)
$/i
.
test
(
sKey
))
{
return
false
;
}
var
sExpires
=
""
;
if
(
vEnd
)
{
switch
(
vEnd
.
constructor
)
{
case
Number
:
sExpires
=
vEnd
===
Infinity
?
"
; expires=Fri, 31 Dec 9999 23:59:59 GMT
"
:
"
; max-age=
"
+
vEnd
;
break
;
case
String
:
sExpires
=
"
; expires=
"
+
vEnd
;
break
;
case
Date
:
sExpires
=
"
; expires=
"
+
vEnd
.
toUTCString
();
break
;
}
}
document
.
cookie
=
encodeURIComponent
(
sKey
)
+
"
=
"
+
encodeURIComponent
(
sValue
)
+
sExpires
+
(
sDomain
?
"
; domain=
"
+
sDomain
:
""
)
+
(
sPath
?
"
; path=
"
+
sPath
:
""
)
+
(
bSecure
?
"
; secure
"
:
""
);
return
true
;
},
removeItem
:
function
(
sKey
,
sPath
,
sDomain
)
{
if
(
!
sKey
||
!
this
.
hasItem
(
sKey
))
{
return
false
;
}
document
.
cookie
=
encodeURIComponent
(
sKey
)
+
"
=; expires=Thu, 01 Jan 1970 00:00:00 GMT
"
+
(
sDomain
?
"
; domain=
"
+
sDomain
:
""
)
+
(
sPath
?
"
; path=
"
+
sPath
:
""
);
return
true
;
},
hasItem
:
function
(
sKey
)
{
return
(
new
RegExp
(
"
(?:^|;
\\
s*)
"
+
encodeURIComponent
(
sKey
).
replace
(
/
[\-\.\+\*]
/g
,
"
\\
$&
"
)
+
"
\\
s*
\\
=
"
)).
test
(
document
.
cookie
);
},
keys
:
/* optional method: you can safely remove it! */
function
()
{
var
aKeys
=
document
.
cookie
.
replace
(
/
((?:
^|
\s
*;
)[^\=]
+
)(?=
;|$
)
|^
\s
*|
\s
*
(?:\=[^
;
]
*
)?(?:\1
|$
)
/g
,
""
).
split
(
/
\s
*
(?:\=[^
;
]
*
)?
;
\s
*/
);
for
(
var
nIdx
=
0
;
nIdx
<
aKeys
.
length
;
nIdx
++
)
{
aKeys
[
nIdx
]
=
decodeURIComponent
(
aKeys
[
nIdx
]);
}
return
aKeys
;
}
};
export
default
docCookies
litemall-vue/src/core/utils/psm.js
deleted
100644 → 0
View file @
74126a92
const
protobuf
=
require
(
"
protobufjs
"
);
/*尽量保持业务无关 业务相关放chatinfo.js中*/
if
(
!
window
.
PSMU
)
{
var
PSMU
=
{
validChars
:
/^
[\]
,:{}
\s]
*$/
,
validEscape
:
/
\\(?:[
"
\\\/
bfnrt
]
|u
[
0-9a-fA-F
]{4})
/g
,
validTokens
:
/"
[^
"
\\\n\r]
*"|true|false|null|-
?\d
+
(?:\.\d
*
)?(?:[
eE
][
+
\-]?\d
+
)?
/g
,
validBraces
:
/
(?:
^|:|,
)(?:\s
*
\[)
+/g
,
htmlRegArr
:
[],
SERV_LOG_INTERVAL
:
30
*
1000
,
servLogId
:
false
,
servLogMap
:
{},
tokenName
:
'
Authorization
'
,
tuid
:
'
false
'
,
tuidCounter
:
0
,
isUptuid
:
false
,
uptuidDefaultVal
:
9960
,
maxtuidval
:
9999
,
// Base64 encoding table
b64
:
new
Array
(
64
),
// Base64 decoding table
s64
:
new
Array
(
123
),
/*目前全局变量及状态保存到 psm中 组件数据通信频繁的可以放vuex中
* 尽量不依赖vue 增加额外复杂性 */
REV_MSG
:
'
REV_MSG
'
,
/*接收消息*/
REV_ROOM_MSG
:
'
REV_ROOM_MSG
'
,
/*接收房态消息*/
REV_HIS_MSG
:
'
REV_HIS_MSG
'
,
/*接收历史消息*/
LOAD_HIS_MSG_END
:
'
LOAD_HIS_MSG_END
'
,
/*加载历史消息结束*/
SELF_MSG
:
'
SELF_MSG
'
,
/*发出消息*/
RESEND_MSG
:
'
RESEND_MSG
'
,
/*重发消息*/
CHAT_NET_ERR_MSG
:
'
CHAT_NET_ERR_MSG
'
,
/*网络异常消息发送失败*/
OUT_CHAT_PAGE_MSG
:
'
OUT_CHAT_PAGE_MSG
'
,
/*离开聊天页面*/
IN_CHAT_PAGE_MSG
:
'
IN_CHAT_PAGE_MSG
'
,
/*进入聊天页面*/
LOGIN_SUCC
:
'
LOGIN_SUCC
'
,
/*登录成功*/
LOGIN_FAILED
:
'
LOGIN_FAILED
'
,
/*登录失败*/
CODE_ZU
:
'
ZU
'
,
CODE_ZP
:
'
ZP
'
,
codeType
:
false
,
setup
:
function
()
{
PSMU
.
codeType
=
PSMU
.
CODE_ZP
;
// 65..90, 97..122, 48..57, 43, 47
for
(
var
i
=
0
;
i
<
64
;)
PSMU
.
s64
[
PSMU
.
b64
[
i
]
=
i
<
26
?
i
+
65
:
i
<
52
?
i
+
71
:
i
<
62
?
i
-
4
:
i
-
59
|
43
]
=
i
++
;
},
isEmt
:
function
(
value
,
allowBlank
)
{
if
(
PSMU
.
isNotDef
(
value
))
{
return
true
;
}
return
value
===
null
||
value
===
undefined
||
/*((PSMU.isArr(value) && !value.length)) ||*/
(
!
allowBlank
?
value
===
''
:
false
)
||
value
===
"
undefined
"
;
},
isEmtVal
:
function
(
value
)
{
if
(
PSMU
.
isNotDef
(
value
))
{
return
true
;
}
return
value
===
null
||
value
===
'
null
'
||
(
typeof
(
value
)
===
'
string
'
&&
(
value
===
"
undefined
"
||
value
===
''
||
PSMU
.
trim
(
value
)
===
''
))
||
(
typeof
(
value
)
===
'
boolean
'
&&
value
===
false
);
},
isNotDef
:
function
(
value
)
{
return
typeof
(
value
)
===
"
undefined
"
;
},
isArr
:
function
(
obj
)
{
return
Object
.
prototype
.
toString
.
call
(
obj
)
===
'
[object Array]
'
;
},
isString
:
function
(
obj
)
{
return
Object
.
prototype
.
toString
.
call
(
obj
)
===
'
[object String]
'
;
},
isDate
:
function
(
obj
)
{
return
Object
.
prototype
.
toString
.
call
(
obj
)
===
'
[object Date]
'
;
},
isNum
:
function
(
num
)
{
return
(
typeof
(
num
)
===
"
number
"
)
&&
(
num
!==
Infinity
)
&&
!
isNaN
(
num
);
},
isNotEmtArr
:
function
(
o
)
{
return
PSMU
.
isArr
(
o
)
&&
typeof
(
o
.
length
)
&&
o
.
length
>
0
;
},
trim
:
function
(
value
)
{
return
value
.
replace
(
/^
\s
*/
,
""
).
replace
(
/
\s
*$/
,
""
);
},
setBuffer
:
function
(
ret
,
val
)
{
if
(
PSMU
.
isEmt
(
ret
[
ret
.
len
]))
{
ret
[
ret
.
len
]
=
protobuf
.
util
.
newBuffer
(
100
);
}
if
(
ret
.
offset
+
1
>=
ret
.
len
*
100
+
100
)
{
ret
[
++
ret
.
len
]
=
protobuf
.
util
.
newBuffer
(
100
);
}
var
len
=
parseInt
(
ret
.
offset
/
100
);
var
pos
=
ret
.
offset
%
100
;
ret
[
len
][
pos
]
=
val
;
return
++
ret
.
offset
;
},
base64Decode
:
function
(
string
,
/*buffer,*/
offset
)
{
var
ret
=
{
len
:
0
,
offset
:
offset
};
// var start = offset;
var
j
=
0
,
// goto index
t
;
// temporary
for
(
var
i
=
0
;
i
<
string
.
length
;)
{
var
c
=
string
.
charCodeAt
(
i
++
);
if
(
c
===
61
&&
j
>
1
)
break
;
if
((
c
=
PSMU
.
s64
[
c
])
===
undefined
)
throw
Error
(
"
invalid encoding
"
);
switch
(
j
)
{
case
0
:
t
=
c
;
j
=
1
;
break
;
case
1
:
PSMU
.
setBuffer
(
ret
,
t
<<
2
|
(
c
&
48
)
>>
4
);
// buffer[offset++] = t << 2 | (c & 48) >> 4;
t
=
c
;
j
=
2
;
break
;
case
2
:
PSMU
.
setBuffer
(
ret
,
(
t
&
15
)
<<
4
|
(
c
&
60
)
>>
2
);
// buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;
t
=
c
;
j
=
3
;
break
;
case
3
:
PSMU
.
setBuffer
(
ret
,
(
t
&
3
)
<<
6
|
c
);
// buffer[offset++] = (t & 3) << 6 | c;
j
=
0
;
break
;
}
}
if
(
j
===
1
)
throw
Error
(
"
invalid encoding
"
);
if
(
ret
.
offset
>
0
)
{
var
buf
=
protobuf
.
util
.
newBuffer
(
ret
.
offset
);
for
(
var
i
=
0
;
i
<
ret
.
offset
;
i
++
)
{
var
len
=
parseInt
(
i
/
100
);
var
pos
=
i
%
100
;
buf
[
i
]
=
ret
[
len
][
pos
];
}
return
buf
;
}
return
null
;
// return offset - start;
},
base64Encode
:
function
(
buffer
,
start
,
end
)
{
var
parts
=
null
,
chunk
=
[];
var
i
=
0
,
// output index
j
=
0
,
// goto index
t
;
// temporary
while
(
start
<
end
)
{
var
b
=
buffer
[
start
++
];
switch
(
j
)
{
case
0
:
chunk
[
i
++
]
=
PSMU
.
b64
[
b
>>
2
];
t
=
(
b
&
3
)
<<
4
;
j
=
1
;
break
;
case
1
:
chunk
[
i
++
]
=
PSMU
.
b64
[
t
|
b
>>
4
];
t
=
(
b
&
15
)
<<
2
;
j
=
2
;
break
;
case
2
:
chunk
[
i
++
]
=
PSMU
.
b64
[
t
|
b
>>
6
];
chunk
[
i
++
]
=
PSMU
.
b64
[
b
&
63
];
j
=
0
;
break
;
}
if
(
i
>
8191
)
{
(
parts
||
(
parts
=
[])).
push
(
String
.
fromCharCode
.
apply
(
String
,
chunk
));
i
=
0
;
}
}
if
(
j
)
{
chunk
[
i
++
]
=
PSMU
.
b64
[
t
];
chunk
[
i
++
]
=
61
;
if
(
j
===
1
)
chunk
[
i
++
]
=
61
;
}
if
(
parts
)
{
if
(
i
)
parts
.
push
(
String
.
fromCharCode
.
apply
(
String
,
chunk
.
slice
(
0
,
i
)));
return
parts
.
join
(
""
);
}
return
String
.
fromCharCode
.
apply
(
String
,
chunk
.
slice
(
0
,
i
));
},
/*TODO*/
DU
:
function
(
str
)
{
if
(
!
PSMU
.
IS_DU
(
str
))
{
return
PSMU
.
DP
(
str
)
}
str
=
str
.
replace
(
/
(
2_3
)(\w{4}
|
\w{2})
/gi
,
function
(
$0
,
$1
,
$2
)
{
return
String
.
fromCharCode
(
parseInt
(
$2
,
16
));
});
return
str
;
},
EU
:
function
(
str
)
{
return
str
.
replace
(
/
([\u
0000-
\u
FFFF
])
/g
,
function
(
$0
)
{
try
{
var
char16tmp
=
parseInt
(
$0
.
charCodeAt
().
toString
(
16
),
16
);
if
(
char16tmp
>=
0x2002
&&
char16tmp
<=
0x200d
)
{
return
""
;
}
}
catch
(
e
)
{
return
""
;
}
if
(
$0
.
charCodeAt
()
<=
16
)
{
return
'
2_3000
'
+
$0
.
charCodeAt
().
toString
(
16
);
}
else
if
(
$0
.
charCodeAt
()
<
256
)
{
return
'
2_300
'
+
$0
.
charCodeAt
().
toString
(
16
);
}
else
{
return
'
2_3
'
+
$0
.
charCodeAt
().
toString
(
16
);
}
});
},
IS_DU
:
function
(
str
)
{
return
str
.
indexOf
(
'
2_3
'
)
==
0
},
EP
:
function
(
json
)
{
if
(
PSMU
.
isEmtVal
(
json
))
{
return
""
;
}
var
root
=
protobuf
.
Root
.
fromJSON
(
protobuf
.
common
.
get
(
'
google/protobuf/struct.proto
'
));
var
StructMessage
=
root
.
lookupType
(
"
google.protobuf.Struct
"
);
var
postDataConverted
=
PSMU
.
json2Struct
(
json
);
var
message
=
StructMessage
.
fromObject
(
postDataConverted
);
var
buf
=
StructMessage
.
encode
(
message
).
finish
();
// this.bufLen=buf.length;
return
PSMU
.
base64Encode
(
buf
,
0
,
buf
.
length
);
},
DP
:
function
(
str
)
{
if
(
PSMU
.
isEmtVal
(
str
))
{
return
""
;
}
if
(
PSMU
.
IS_DU
(
str
))
{
return
PSMU
.
DU
(
str
);
}
// var buf = protobuf.util.newBuffer(protobuf.util.base64.length(str));
// var buf = protobuf.util.newBuffer(this.bufLen);
var
buf
=
PSMU
.
base64Decode
(
str
,
/*buf,*/
0
);
var
root
=
protobuf
.
Root
.
fromJSON
(
protobuf
.
common
.
get
(
'
google/protobuf/struct.proto
'
));
var
StructMessage
=
root
.
lookupType
(
"
google.protobuf.Struct
"
);
var
message2
=
StructMessage
.
decode
(
buf
);
var
struct
=
StructMessage
.
toObject
(
message2
,
protobuf
.
util
.
toJSONOptions
);
return
PSMU
.
struct2Json
(
struct
);
},
struct2Json
:
function
(
structObj
)
{
var
jsonObj
=
{};
var
jsonObjTmp
=
{};
if
(
typeof
structObj
.
fields
===
'
object
'
)
{
jsonObjTmp
=
structObj
.
fields
;
}
Object
.
keys
(
jsonObjTmp
).
forEach
(
function
(
field
)
{
var
fieldObj
=
jsonObjTmp
[
field
];
var
fieldType
=
Object
.
keys
(
fieldObj
)[
0
];
switch
(
fieldType
)
{
case
'
nullValue
'
:
// do nothing
break
;
case
'
numberValue
'
:
case
'
stringValue
'
:
case
'
boolValue
'
:
jsonObj
[
field
]
=
fieldObj
[
fieldType
];
break
;
case
'
structValue
'
:
jsonObj
[
field
]
=
PSMU
.
struct2Json
(
fieldObj
[
fieldType
]);
break
;
case
'
listValue
'
:
jsonObj
[
field
]
=
PSMU
.
list2Json
(
fieldObj
[
fieldType
]);
break
;
}
});
return
jsonObj
;
},
list2Json
:
function
(
listObj
)
{
var
jsonArray
=
[];
var
jsonArrayTmp
=
[];
if
(
PSMU
.
isArr
(
listObj
.
values
))
{
jsonArrayTmp
=
listObj
.
values
;
}
jsonArrayTmp
.
forEach
(
function
(
itemObj
)
{
var
fieldType
=
Object
.
keys
(
itemObj
)[
0
];
switch
(
fieldType
)
{
case
'
nullValue
'
:
// do nothing
break
;
case
'
numberValue
'
:
case
'
stringValue
'
:
case
'
boolValue
'
:
jsonArray
.
push
(
itemObj
[
fieldType
]);
break
;
case
'
structValue
'
:
jsonArray
.
push
(
PSMU
.
struct2Json
(
itemObj
[
fieldType
]));
break
;
case
'
listValue
'
:
jsonArray
.
push
(
PSMU
.
list2Json
(
itemObj
[
fieldType
]));
break
;
}
});
return
jsonArray
;
},
json2Struct
:
function
(
jsonObj
)
{
var
structObj
=
{};
var
structObjTmp
=
{};
if
(
typeof
jsonObj
===
'
object
'
)
{
structObjTmp
=
jsonObj
;
}
Object
.
keys
(
structObjTmp
).
forEach
(
function
(
field
)
{
var
value
=
structObjTmp
[
field
];
switch
(
typeof
(
value
))
{
case
'
number
'
:
structObj
[
field
]
=
{
numberValue
:
value
};
break
;
case
'
string
'
:
structObj
[
field
]
=
{
stringValue
:
value
};
break
;
case
'
boolean
'
:
structObj
[
field
]
=
{
boolValue
:
value
};
break
;
case
'
object
'
:
// null
if
(
!
value
)
break
;
if
(
value
.
constructor
===
Object
)
{
structObj
[
field
]
=
{
structValue
:
PSMU
.
json2Struct
(
value
)
};
}
else
if
(
value
.
constructor
===
Array
)
{
structObj
[
field
]
=
{
listValue
:
PSMU
.
json2List
(
value
)
};
}
break
;
}
});
return
{
fields
:
structObj
};
},
json2List
:
function
(
jsonArray
)
{
var
listObj
=
[];
var
listObjTmp
=
[];
if
(
PSMU
.
isArr
(
jsonArray
))
{
listObjTmp
=
jsonArray
;
}
listObjTmp
.
forEach
(
function
(
jsonObj
)
{
switch
(
typeof
(
jsonObj
))
{
case
'
number
'
:
listObj
.
push
({
numberValue
:
jsonObj
});
break
;
case
'
string
'
:
listObj
.
push
({
stringValue
:
jsonObj
});
break
;
case
'
boolean
'
:
listObj
.
push
({
boolValue
:
jsonObj
});
break
;
case
'
object
'
:
// null
if
(
!
jsonObj
)
break
;
if
(
jsonObj
.
constructor
===
Object
)
{
listObj
.
push
({
structValue
:
PSMU
.
json2Struct
(
jsonObj
)
});
}
else
if
(
jsonObj
.
constructor
===
Array
)
{
listObj
.
push
({
listValue
:
PSMU
.
json2List
(
jsonObj
)
});
}
break
;
}
});
return
{
values
:
listObj
};
},
escapeText
:
function
(
text
)
{
return
(
text
)
?
window
.
escape
(
text
)
:
''
;
},
unescapeText
:
function
(
text
)
{
return
(
text
)
?
window
.
unescape
(
text
)
:
''
;
}
}
window
.
PSMU
=
PSMU
;
}
var
psmu
=
window
.
PSMU
;
export
default
{
psmu
}
litemall-vue/src/main.js
View file @
1b1a8945
...
...
@@ -11,11 +11,6 @@ import zhCN from 'vee-validate/dist/locale/zh_CN';
import
axios
from
'
@/vue/plugins/axios
'
;
import
filters
from
'
@/vue/filter
'
;
import
psm
from
'
@/core/utils/psm
'
import
{
procJumpToken
}
from
"
@/core/utils/auth
"
;
Vue
.
use
(
VueCountdown
);
Vue
.
use
(
axios
);
Vue
.
use
(
filters
);
...
...
@@ -41,10 +36,6 @@ Vue.use(Lazyload, {
lazyComponent
:
true
});
Vue
.
prototype
.
PSMU
=
psm
.
psmu
PSMU
.
setup
()
procJumpToken
()
Vue
.
config
.
productionTip
=
false
;
...
...
litemall-vue/src/views/login/login-footer.vue
View file @
1b1a8945
<
template
>
<div
class=
"text-desc text-center bottom_positon"
>
技术支持: lite
M
all
</div>
</
template
>
<
script
>
export
default
{
name
:
'
login-footer
'
};
</
script
>
<
style
scoped
>
.bottom_positon
{
position
:
absolute
;
bottom
:
30px
;
width
:
100%
;
}
</
style
>
<
template
>
<div
class=
"text-desc text-center bottom_positon"
>
技术支持: lite
m
all
</div>
</
template
>
<
script
>
export
default
{
name
:
'
login-footer
'
};
</
script
>
<
style
scoped
>
.bottom_positon
{
position
:
absolute
;
bottom
:
30px
;
width
:
100%
;
}
</
style
>
litemall-vue/src/views/login/login-header.vue
View file @
1b1a8945
<
template
>
<div
class=
"store_header"
>
<div
class=
"store_avatar"
>
<img
src=
"../../assets/images/avatar_default.png"
alt=
"头像"
width=
"55"
height=
"55"
>
</div>
<div
class=
"store_name"
>
我家的店
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
'
login-header
'
};
</
script
>
<
style
lang=
"scss"
scoped
>
.store_header
{
text-align
:
center
;
padding
:
30px
0
;
.store_avatar
img
{
border-radius
:
50%
;
}
.store_name
{
padding-top
:
5px
;
font-size
:
16px
;
}
}
</
style
>
<
template
>
<div
class=
"store_header"
>
<div
class=
"store_avatar"
>
<img
src=
"../../assets/images/avatar_default.png"
alt=
"头像"
width=
"55"
height=
"55"
>
</div>
<div
class=
"store_name"
>
litemall-vue
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
'
login-header
'
};
</
script
>
<
style
lang=
"scss"
scoped
>
.store_header
{
text-align
:
center
;
padding
:
30px
0
;
.store_avatar
img
{
border-radius
:
50%
;
}
.store_name
{
padding-top
:
5px
;
font-size
:
16px
;
}
}
</
style
>
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment