\u5236\u4f5c\u5468\u671f\u4e3a4-7\u65e5\uff0c\u6536\u5230\u8ba2\u5355\u540e\u6211\u4eec\u4f1a\u5c3d\u5feb\u53d1\u8d27\uff0c\u8bf7\u4eb2\u4eec\u8010\u5fc3\u7b49\u5f85 \u2044(\u2044 \u2044\u2022\u2044\u03c9\u2044\u2022\u2044 \u2044)\u2044<\/span>
","figure":"\/1442565637007.jpg"},{"product_id":"7414","channel_id":"3","brand_id":"363","p_catalog_id":"26","name":"\u9884\u552e\u3010\u7edd\u5bf9\u840c\u57df\u3011 RE\uff1a\u4ece\u96f6\u5f00\u59cb\u7684\u5f02\u4e16\u754c\u751f\u6d3b \u857e\u59c6 \u62c9\u59c6 \u827e\u7c73\u8389\u4e9a \u4e9a\u514b\u529b\u94a5\u5319\u6263","cover_price":"26.00","origin_price":"128.00","brief":"\u5f02\u4e16\u754c\u7684\u59b9\u7eb8\u4eec\uff0c\u88ab\u6349\u4f4f\u7684\u8bdd\uff0c\u4f1a\u6709\u600e\u6837\u7684\u53cd\u5e94\u5462\uff1f\u6709\u70b9\u5c0f\u671f\u5f85\u5440\uff01RE\uff1a0\u4e3b\u9898\u5c0f\u6302\u9970\uff0c\u5254\u900f\u5149\u4eae\u7684\u4e9a\u514b\u529b\u73bb\u7483\u6750\u8d28\uff0c\u9632\u5c18\u585e\u624b\u673a\u94fe+\u94a5\u5319\u6263\u88c5\u9970\u4e24\u7528\u578b\u3002\u6bcf\u6b3e\u6302\u9970\u90fd\u753b\u7740\u52a8\u753b\u5973\u4e3b\u89d2\u4eec\u88ab\u6b3a\u8d1f\u7684\u840c\u6837\uff0c\u770b\u4e0a\u53bb\u662f\u88ab\u4f60\u8fd9\u4e2a\u5927\u5de8\u4eba\u7ed9\u634f\u4f4f\u53c8\u62ff\u4e86\u8d77\u6765\uff0c\u975e\u5e38\u53ef\u7231\u6709\u8da3\u3002\r\n","figure":"\/1466494254360.jpg"},{"product_id":"5737","channel_id":"3","brand_id":"20","p_catalog_id":"26","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011 \u521d\u97f3\u672a\u6765 V\u5bb6\u516c\u4e3b\u6bbf\u4e0b \u7c73\u9177\u751c\u54c1\u70b9\u5fc3 \u4e9a\u514b\u529b\u6302\u9970\u6302\u4ef6\u9970\u54c1","cover_price":"108.00","origin_price":"190.00","brief":"\u516c\u4e3b\u6bbf\u4e0b\u6bcf\u5929\u6700\u671f\u76fc\u7684\uff0c\u5c31\u662f\u6d6a\u6f2b\u6e29\u99a8\u7684\u4e0b\u5348\u8336\u65f6\u95f4\u3002\u4ec0\u4e48\u9ad8\u96c5\u7684\u793c\u4eea\u5566\u3001\u94f6\u5236\u7684\u8336\u5177\u5566\u3001\u4f18\u7f8e\u7684\u8f7b\u97f3\u4e50\u5566\uff0c\u516c\u4e3b\u6bbf\u4e0b\u624d\u4e0d\u611f\u5174\u8da3\u5462\u3002\u8336\u4f1a\u4e0a\u5403\u5230\u7f8e\u5473\u7684\u70b9\u5fc3\uff0c\u70b9\u5fc3\u8981\u548c\u81ea\u5df1\u4e00\u6837\u5927\uff0c\u8be5\u591a\u597d\u5440~\u5c0f\u516c\u4e3b\u751c\u54c1\u4e3b\u9898\u4e9a\u514b\u529b\u6302\u9970\uff0c\u6bcf\u4e00\u6b3e\u90fd\u8f6f\u840c\u53ef\u7231\uff0c\u6fc0\u8d77\u4f60\u7684\u7ae5\u5fc3\uff0c\u523a\u6fc0\u4f60\u7684\u5473\u857e\u2014\u2014\u597d\u60f3\u5403\u6389\u5440\u3002\u5f53\u7136\u53ef\u4ee5\u5168\u90e8\u5403\u6389~\u8fd9\u5957\u6302\u9970\u662f\u6574\u5957\u8d29\u552e\u54d2\uff01","figure":"\/1459405566798.jpg"},{"product_id":"5108","channel_id":"8","brand_id":"24","p_catalog_id":"56","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011 \u9ed1\u5ca9\u5c04\u624bBRS \u7eaf\u68c9\u5706\u9886 \u5957\u5934\u957f\u8896T\u6064\u6625\u88c5","cover_price":"98.00","origin_price":"178.00","brief":"\u9ed1\u5ca9\u5c04\u624b\u662f\u65e5\u672c\u753b\u5e08huke\u7b14\u4e0b\u7684\u539f\u521b\u4eba\u7269\u3002\u5979\u8eab\u6750\u7ea4\u957f\u3001\u80a4\u8272\u82cd\u767d\u3001\u5934\u4e0a\u662f\u5de6\u53f3\u957f\u77ed\u4e0d\u4e00\u7684\u53cc\u9a6c\u5c3e\uff0c\u9ed1\u8272\u98ce\u8863\uff0c\u6709\u65f6\u5de6\u773c\u4f1a\u6709\u84dd\u8272\u706b\u7130\u8df3\u52a8\u3002\u65b0\u6b3e\u9ed1\u5ca9\u957f\u8896T\u6064\uff0c\u4e3b\u6253\u7b80\u7ea6\u98ce\u683c\uff0c\u7a7f\u4e0a\u4f11\u95f2\u968f\u610f\uff0c\u5f53\u505a\u5916\u5957\u7684\u6253\u5e95\u886b\u8fd8\u80fd\u7a7f\u51fa\u610f\u60f3\u4e0d\u5230\u7684\u53ef\u7231\r\n","figure":"\/1457329483464.jpg"},{"product_id":"2533","channel_id":"8","brand_id":"113","p_catalog_id":"65","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u91ce\u826f\u795e \u96ea\u97f3 cosplay\u670d\u88c5\u7eaf\u68c9\u8fde\u5e3d\u536b\u8863\u5916\u5957\u7537\u79cb\u51ac","cover_price":"179.00","origin_price":"179.00","brief":"","figure":"\/1446174952079.jpg"},{"product_id":"1405","channel_id":"3","brand_id":"180","p_catalog_id":"17","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u5e72\u7269\u59b9\u5c0f\u57cb \u571f\u95f4\u57cb \u75db\u4f1e \u6674\u96e8\u4f1e \u9632\u7d2b\u5916\u7ebf \u590f\u65e5\u51fa\u884c","cover_price":"53.00","origin_price":"53.00","brief":"","figure":"\/1442312818601.jpg"},{"product_id":"4609","channel_id":"3","brand_id":"23","p_catalog_id":"65","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011 \u8230\u961fcollection\u8230\u5a18\u5929\u6d25\u98ce\u52a8\u6f2b\u5468\u8fb9\u7537\u5973\u7eaf\u68c9\u536b\u8863\u5916\u5957\u6625\u79cb","cover_price":"168.00","origin_price":"265.00","brief":"\u5929\u6d25\u98ce\u6c34\u624b\u670d\u6f14\u53d8\u800c\u6765\u7684\u536b\u8863\uff0c\u53ef\u7231\u597d\u770b\u3001\u6709\u70b9COS\u670d\u7684\u611f\u89c9\u3002\u8fd8\u539f\u5929\u6d25\u98ce\u4eba\u8bbe\u840c\u70b9\u3002\u4e3a\u4e86\u5916\u7a7f\u65f6\u66f4\u52a0\u5f97\u4f53\uff0c\u670d\u88c5\u98ce\u683c\u504f\u5411\u201c\u65e5\u5e38\u4e0e\u4f11\u95f2\u201d\uff0c\u7537\u751f\u3001\u5973\u751f\u90fd\u53ef\u4ee5\u7a7f\u3002\u536b\u8863\u4e3a\u5168\u68c9\u52a0\u539a\u6b3e\uff0c\u4e13\u4e3a\u6015\u51b7\u7684\u5b69\u5b50\u51c6\u5907\uff0c\u6f2b\u957f\u4e25\u51ac\u7ed9\u4f60\u66f4\u591a\u6e29\u6696\u3002","figure":"\/1455679709141.jpg"},{"product_id":"5875","channel_id":"3","brand_id":"356","p_catalog_id":"50","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011 \u6c34\u624b\u670d iphone5s 6s Plus \u624b\u673a\u58f3","cover_price":"38.00","origin_price":"52.00","brief":"\u8eab\u6750\u5a07\u5c0f\uff0c\u603b\u662f\u966a\u5728\u4e3b\u4eba\u8eab\u8fb9\uff0c\u6bcf\u6b21\u89c1\u5230\u5979\uff0c\u4f60\u5c31\u518d\u4e5f\u65e0\u6cd5\u79fb\u5f00\u81ea\u5df1\u7684\u76ee\u5149\uff0c\u4f7f\u7528\u5979\u7684\u65f6\u95f4\u8d85\u8fc7\u4f7f\u7528\u81ea\u5df1\u7684\u53f3\u624b\uff08\uff1f\uff09\u6ca1\u9519\uff0c\u5979\u5c31\u662f\u4f60\u6c38\u8fdc\u4e5f\u79bb\u4e0d\u5f00\u5374\u65f6\u5e38\u88ab\u4f60\u5ffd\u89c6\u7684\u624b\u673a\u5a18\uff01\u53d1\u6325\u4f60\u7684\u6076\u8da3\u5473\uff0c\u7ed9\u624b\u673a\u5a18\u7a7f\u4e0a\u5404\u79cd\u96be\u4e3a\u60c5\u7684\u8863\u670d\u5427~\u7ec5\u58eb\u6362\u88c5\u624b\u673a\u58f3\uff0c\u80fd\u591f\u5728\u4f7f\u7528\u624b\u673a\u65f6\u589e\u6dfb\u60c5\u2640\u8da3\uff0c\u9002\u914d\u7231\u75af5\u30015S\u30016\u30016PLUS\uff0c\u6700\u65b0\u7684SE\u540c\u6837\u9002\u7528\u3002","figure":"\/1460358343504.jpg"},{"product_id":"2393","channel_id":"8","brand_id":"20","p_catalog_id":"65","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u521d\u97f3\u672a\u6765 \u96ea\u521d\u97f3 \u7eaf\u68c9\u5f00\u886b\u62c9\u94fe\u8fde\u5e3d\u536b\u8863\u5916\u5957\u79cb\u51ac","cover_price":"159.00","origin_price":"159.00","brief":"","figure":"\/1445508163177.jpg"},{"product_id":"5567","channel_id":"8","brand_id":"343","p_catalog_id":"56","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011 \u963f\u677e\u5148\u751f \u5c0f\u677e\u91ce \u5c0f\u677e \u7eaf\u68c9\u5706\u9886\u52a8\u6f2bT\u6064\u77ed\u8896 \u7ea2\u8272","cover_price":"58.00","origin_price":"98.00","brief":"\u201c\u5144\u5f1f\u4eec\u90fd\u8fc7\u6765\uff01\u8981\u5ba3\u5e03\u5927\u4e8b\u4e86\uff01\u6211\u4eec\u7684\u5468\u8fb9T\u6064\u5f00\u59cb\u8d29\u552e\u4e86\uff01\u201d\u201c\u771f\u7684\u5417\uff1f\u963f\u677e\u54e5\u54e5\u201d\u201c\u8bf4\u4ec0\u4e48\u5462\uff1f\u6211\u4eec\u8fde\u5de5\u4f5c\u90fd\u6ca1\u6709\uff0c\u4f60\u7761\u7cca\u6d82\u4e86\u5417\uff1f\u201d\u201c\u4e0d\uff01\u5feb\u770b\uff0c\u5c31\u5728\u8fd9\u91cc\u554a\u201d\u201c\u54ce\uff1f\uff01\u8fd9\u4e0d\u662f\u6211\u4eec\u516d\u4e2a\u4eba\u5417\uff1f\u201d\u201c\u53cd\u6b63\u4e00\u4ef6\u4e5f\u5356\u4e0d\u51fa\u53bb\u5566\u201d\u201c\u522b\u90a3\u6837\u8bf4\u554a\u201d\u201c\u7a7f\u4e0a\u4f1a\u88ab\u5f53\u6210\u53d8\u6001\u5427\uff1f\u201d\u201c\u95ed\u5634\uff01\u201d\u603b\u4e4b\uff0c\u677e\u91ce\u5bb6\u7684\u957f\u7537\u548c\u611a\u5f1f\u4eec\u7684T\u6064\uff0c\u4e3a\u60a8\u732e\u4e0a\uff08\u97a0\u8eac\uff09","figure":"\/1464852646053.png"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ShoppingMall/atguigu/atguigu/json/urls_27.json b/S202014040230郭刘芊/ShoppingMall/ShoppingMall/atguigu/atguigu/json/urls_27.json
new file mode 100644
index 0000000..b62744e
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ShoppingMall/atguigu/atguigu/json/urls_27.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"4425","channel_id":"13","brand_id":"16","p_catalog_id":"48","name":"\u3010\u96ea\u732b\u4e00\u65cf\u3011Aquamarine Fate \u6a31Saber \u51b2\u7530\u603b\u53f8ver. \u624b\u529e \u5168\u6b3e\u9884\u8ba2","cover_price":"691.00","origin_price":"691.00","brief":"\u5df2\u9884\u8ba2\u7684\u5c0f\u4f19\u4f34\u4e0d\u8981\u7740\u6025\uff0c\u73b0\u8d27\u5927\u69827-8\u6708\u4efd\u5230\u8d27\r\n","figure":"\/1454396556530.jpg"},{"product_id":"2733","channel_id":"13","brand_id":"306","p_catalog_id":"48","name":"\u3010\u96ea\u732b\u4e00\u65cf\u3011GSC OR \u5200\u5251\u4e71\u821e \u4e00\u671f\u4e00\u632f \u7c98\u571f\u4eba\u3010\u5168\u6b3e\u9884\u5b9a\u3011","cover_price":"191.00","origin_price":"191.00","brief":"\u672c\u5546\u54c1\u4e3a\u5168\u6b3e\u9884\u5b9a\uff0c\u51fa\u58f3\u65e5\u671f2016\u5e745\u6708","figure":"\/1447398070224.jpg"},{"product_id":"4426","channel_id":"13","brand_id":"16","p_catalog_id":"48","name":"\u3010\u96ea\u732b\u4e00\u65cf\u3011ANIPLEX Fate UBW \u8fdc\u5742\u51db Archer\u670d\u88c5ver. 1\/7 \u5168\u6b3e\u9884\u8ba2","cover_price":"720.00","origin_price":"720.00","brief":"","figure":"\/1454397344369.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ShoppingMall/atguigu/atguigu/json/urls_28.json b/S202014040230郭刘芊/ShoppingMall/ShoppingMall/atguigu/atguigu/json/urls_28.json
new file mode 100644
index 0000000..345f872
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ShoppingMall/atguigu/atguigu/json/urls_28.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"3210","channel_id":"3","brand_id":"182","p_catalog_id":"34","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u63d2\u753b\u4fbf\u7b7e\u8d34\u672c04\u00b7\u963f\u4e9a\u4e9a","cover_price":"28.00","origin_price":"28.00","brief":"","figure":"\/1449136042273.jpg"},{"product_id":"5904","channel_id":"6","brand_id":"182","p_catalog_id":"31","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u300a\u5440\u5440\u300b\u9650\u5b9a\u7b7e\u540d\u7248\u624b\u7ed8\u6298\u624701\u00b7\u5440\u5440 \u590f\u65e5\u51fa\u884c","cover_price":"35.00","origin_price":"35.00","brief":"","figure":"\/1460448906575.jpg"},{"product_id":"3227","channel_id":"3","brand_id":"182","p_catalog_id":"34","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u63d2\u753b\u4fbf\u7b7e\u8d34\u672c03\u00b7\u590f\u5c0f\u9c9f","cover_price":"28.00","origin_price":"49.00","brief":"","figure":"\/1458808122632.jpg"},{"product_id":"358","channel_id":"6","brand_id":"182","p_catalog_id":"31","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u53e4\u98ce\u7cfb\u5217\u7eb8\u8d28\u56e2\u624701\u00b7\u5440\u5440 \u590f\u65e5\u51fa\u884c","cover_price":"20.00","origin_price":"20.00","brief":"","figure":"\/1436519296422.jpg"},{"product_id":"3694","channel_id":"3","brand_id":"182","p_catalog_id":"21","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u65e0\u5934\u9a91\u58eb\u5f02\u95fb\u5f55DuRaRaRa!!\u00d72\u9999\u6c34\u5957\u88c5\uff08\u8d60\u5305\u9970\uff09\u4e34\u4e5f\u6b3e","cover_price":"108.00","origin_price":"128.00","brief":"OVO\uff0c\u544a\u8bc9\u5c0f\u4ed3\uff0c\u4e34\u4e5f\u9999\u4e0d\u9999","figure":"\/1451022551187.jpg"},{"product_id":"1353","channel_id":"4","brand_id":"182","p_catalog_id":"33","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u5200\u5251\u4e71\u821e-ONLINE- \u6e38\u620f\u57ab \u9f20\u6807\u57ab \u684c\u57ab","cover_price":"70.00","origin_price":"70.00","brief":"\u9884\u8ba116\u5e745\u6708\u4e2d\u4e0b\u65ec\u5230","figure":"\/1445411477129.jpg"},{"product_id":"91","channel_id":"3","brand_id":"182","p_catalog_id":"17","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u6298\u4f1e \u55b5\u661f\u4eba\u00b7\u897f\u74dc \u590f\u65e5\u51fa\u884c","cover_price":"69.00","origin_price":"100.00","brief":"","figure":"\/1433836321215.jpg"},{"product_id":"10054","channel_id":"3","brand_id":"100","p_catalog_id":"24","name":"\u9884\u552e\u3010\u6f2b\u53cb\u6587\u5316\u3011\u5168\u804c\u9ad8\u624b5 \u6bc1\u4eba\u4e0d\u5026 \u5168\u65b0\u5178\u85cf\u7248 \u8774\u8776\u84dd \u968f\u4e66\u8d60\u5fae\u8349\u6218\u961f\u8001\u9ec4\u5386+\u7cbe\u7f8e\u5927\u6d77\u62a5 \u5929\u95fb\u89d2\u5ddd","cover_price":"32.00","origin_price":"38.00","brief":"\u9884\u552e\u671f\u81f311\u6708\u4e2d\u65ec\uff0c\u51fa\u8d27\u540e\u6309\u8ba2\u5355\u987a\u5e8f\u5b89\u6392\u53d1\u8d27\u5662~\r\n\u504f\u8fdc\u5730\u533a\u6682\u4e0d\u53c2\u4e0e\u6ee1129\u5305\u90ae\u5662,\u504f\u8fdc\u5730\u533a\u5305\u542b:\uff08\u897f\u85cf\u3001\u65b0\u7586\u3001\u9ed1\u9f99\u6c5f\u3001\u8fbd\u5b81\u3001\u5409\u6797\u3001\u9752\u6d77\u3001\u5b81\u590f\u3001\u7518\u8083\u3001\u5185\u8499\u53e4\u3001\u6e2f\u6fb3\u53f0\u53ca\u6d77\u5916\u5730\u533a\uff09","figure":"\/supplier\/1477287954292.jpg"},{"product_id":"349","channel_id":"4","brand_id":"182","p_catalog_id":"31","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u53e4\u98ce\u7cfb\u5217\u7eb8\u8d28\u56e2\u624715\u00b7\u666f\u6b8a \u590f\u65e5\u51fa\u884c","cover_price":"20.00","origin_price":"20.00","brief":"","figure":"\/1436516724018.jpg"},{"product_id":"346","channel_id":"4","brand_id":"182","p_catalog_id":"27","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u7b52\u88c5\u6a2a\u5e45\u6d77\u62a5\u2022\u666f\u6b8a\u6b3e","cover_price":"25.00","origin_price":"25.00","brief":"\u5546\u54c1\u540d\uff1a\u7b52\u88c5\u6a2a\u5e45\u6d77\u62a5\u00b7\u666f\u6b8a\u6b3e\u5c3a\u5bf8\uff1a1000x243mm\u6750\u8d28\uff1a\u7279\u79cd\u7eb8 \u5546\u54c1\u7b80\u4ecb\uff1a\u5341\u5927\u95e8\u6d3e\u5171\u805a\u6c5f\u6e56\uff0c\u5171\u8c31\u4e00\u66f2\u82f1\u96c4\u610f\uff01\u5929\u95fb\u89d2\u5ddd\u7279\u522b\u63a8\u51fa1\u7c73\u6a2a\u5e45\u5927\u6d77\u62a5\uff0c\u5c06\u5341\u5927\u95e8\u6d3e\u7684\u5973\u4fa0\u6536\u5165\u753b\u5377\uff0c\u5b9b\u5982\u4e00\u5377\u8299\u84c9\u5982\u9762\u67f3\u5982\u7709\u7684\u58ee\u4e3d\u957f\u6b4c\u3002\u5305\u88c5\u91c7\u7528\u5377\u8f74\u8bbe\u8ba1\uff0c\u62ff\u5728\u624b\u4e2d\u4eff\u4f5b\u968f\u65f6\u90fd\u80fd\u7a7f\u8d8a\u5230\u90a3\u5200\u5149\u5251\u5f71\u3001\u4fa0\u9aa8\u67d4\u60c5\u7684\u6b66\u4fa0\u4e16\u754c\uff01","figure":"\/1436514566285.jpg"},{"product_id":"353","channel_id":"6","brand_id":"182","p_catalog_id":"31","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u63d2\u753b\u6298\u624704\u00b7\u897f\u74dc \u590f\u65e5\u51fa\u884c","cover_price":"35.00","origin_price":"35.00","brief":"","figure":"\/1436518711354.jpg"},{"product_id":"3278","channel_id":"3","brand_id":"182","p_catalog_id":"85","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u300a\u753b\u5323\u5b50\u00b7\u590f\u5c0f\u9c9f\u300b\u773c\u955c\u5e03A\u6b3e","cover_price":"18.00","origin_price":"18.00","brief":"","figure":"\/1449222706566.jpg"},{"product_id":"391","channel_id":"6","brand_id":"182","p_catalog_id":"6","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b 8k\u63d2\u753b\u901f\u5199\u677f04\u00b7\u5440\u5440","cover_price":"20.00","origin_price":"20.00","brief":"","figure":"\/1437036655736.jpg"},{"product_id":"384","channel_id":"6","brand_id":"182","p_catalog_id":"28","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u4eff\u74f7\u789f\u5957\u88c504\u00b7Chiya","cover_price":"49.00","origin_price":"49.00","brief":"","figure":"\/1437034082527.jpg"},{"product_id":"3276","channel_id":"12","brand_id":"182","p_catalog_id":"73","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u590d\u53e4\u88c5\u9970\u9879\u94fe06\u00b7Chiya","cover_price":"30.00","origin_price":"30.00","brief":"","figure":"\/1449221972832.jpg"},{"product_id":"7135","channel_id":"3","brand_id":"72","p_catalog_id":"24","name":"\u3010\u65e0\u7279\u5178\u8d34\u7eb8\u3011\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u300a\u5168\u804c\u9ad8\u624b\u300b\u5168\u65b0\u7279\u5178\u72481 \u5957\u9910B","cover_price":"67.00","origin_price":"67.00","brief":"\u5230\u8d27\u65f6\u95f47\u6708\u4e2d\u30026\u670817\u65e520\uff1a00\u20146\u670820\u65e520\uff1a00\u671f\u95f4\u4e0b\u5355\u5b8c\u6210\u652f\u4ed8\u7684\u5747\u6709\u8d34\u7eb8\u7279\u5178\r\n\r\n\u5176\u4f59\u8d2d\u4e70\u65f6\u95f4\u5747\u65e0\u8d34\u7eb8\u7279\u5178\uff0c\u5546\u54c1\u540d\u6539\u52a8\u4e0d\u5f71\u54cd\u7279\u5178\u671f\u95f4\u4e0b\u5355\u7684\u987e\u5ba2\u3002 ","figure":"\/1466424130285.jpg"},{"product_id":"5906","channel_id":"11","brand_id":"182","p_catalog_id":"37","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u6302\u7ef3\u5361\u595705\u00b7\u590f\u5c0f\u9c9f","cover_price":"20.00","origin_price":"20.00","brief":"","figure":"\/1460449593631.jpg"},{"product_id":"5911","channel_id":"11","brand_id":"182","p_catalog_id":"35","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011 \u76f4\u4f9b \u7eb8\u8d28\u6536\u7eb3\u76d201\u00b7\u590f\u5c0f\u9c9f","cover_price":"28.00","origin_price":"28.00","brief":"","figure":"\/1460450861517.jpg"},{"product_id":"357","channel_id":"3","brand_id":"182","p_catalog_id":"34","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u6c6a\u661f\u4eba \u63d2\u753b\u4fbf\u7b7e\u8d34\u672c01\u00b7\u897f\u74dc","cover_price":"28.00","origin_price":"35.00","brief":"","figure":"\/1436519174829.jpg"},{"product_id":"3261","channel_id":"3","brand_id":"182","p_catalog_id":"37","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u63d2\u753b\u5361\u8d34\u5957\u88c505\u00b7\u897f\u74dc","cover_price":"7.00","origin_price":"7.00","brief":"","figure":"\/1449218931623.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ShoppingMall/atguigu/atguigu/json/urls_29.json b/S202014040230郭刘芊/ShoppingMall/ShoppingMall/atguigu/atguigu/json/urls_29.json
new file mode 100644
index 0000000..df97ba6
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ShoppingMall/atguigu/atguigu/json/urls_29.json
@@ -0,0 +1,233 @@
+{
+ "code": 200,
+ "msg": "请求成功",
+ "result": {
+ "brand_data": false,
+ "catalog_data": false,
+ "is_recommended": "1",
+ "page_data": [
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "6",
+ "cover_price": "9.90",
+ "figure": "/1438946011155.jpg",
+ "name": "【岁月坊】手工本水墨风之墨荷",
+ "origin_price": "15.90",
+ "p_catalog_id": "32",
+ "product_id": "614"
+ },
+ {
+ "brand_id": "5",
+ "brief": "封面材质:250克特种布纹纸彩印(如图带灰色小流苏)内页材质:80克进口木浆牛皮纸彩印 (纯空白内页)内页尺寸:110x177mm(因裁切需要,允许2mm左右误差)装订详情:约70张装入 约8mm左右厚度封底材质:250克特种布纹纸彩印",
+ "channel_id": "6",
+ "cover_price": "9.90",
+ "figure": "/1438946176424.jpg",
+ "name": "【岁月坊】古风线装本 手工本 中国风水墨系列之兰",
+ "origin_price": "15.90",
+ "p_catalog_id": "32",
+ "product_id": "615"
+ },
+ {
+ "brand_id": "5",
+ "brief": " 封面、封底材质为:250克美国牛卡彩印。 尺寸:190*130mm(裁切需要,允许2mm误差) 装订方式:手工线穿装订(配有木珠) 内页为:80克进口木浆牛皮纸 无印刷空白内页(约70张 8mm厚)",
+ "channel_id": "6",
+ "cover_price": "9.90",
+ "figure": "/1438945369715.jpg",
+ "name": "【岁月坊】线装手工本国画系列墨迹·牡丹",
+ "origin_price": "15.90",
+ "p_catalog_id": "32",
+ "product_id": "612"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "6",
+ "cover_price": "12.00",
+ "figure": "/1452829704871.jpg",
+ "name": "【岁月坊】 古文艺手工礼品本 古风.水彩系列之烟色扉然",
+ "origin_price": "19.00",
+ "p_catalog_id": "32",
+ "product_id": "4096"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "11",
+ "cover_price": "10.00",
+ "figure": "/1465975841655.jpg",
+ "name": "【岁月坊】手工线装 中国风 雅韵系列手工本 红梅",
+ "origin_price": "10.00",
+ "p_catalog_id": "32",
+ "product_id": "7071"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "11",
+ "cover_price": "9.90",
+ "figure": "/1466153550265.jpg",
+ "name": "【岁月坊】唯美复古 中国风 线装礼品本 竖线内页款 清莲醉碧渊",
+ "origin_price": "9.90",
+ "p_catalog_id": "32",
+ "product_id": "7222"
+ },
+ {
+ "brand_id": "5",
+ "brief": "强大的教程配备(含1比1图纸、制作步骤、详细全彩纸质教程+全彩基础纸质教程);进口优质羊毛,细腻、顺滑、不毛躁,充足的羊毛量,新手也不怕失误!买材料包没有这些,那干嘛还需要材料包呢??? 电子教程:http://pan.baidu.com/s/1ntsRDyx,提取码:n76h",
+ "channel_id": "3",
+ "cover_price": "6.00",
+ "figure": "/1457513867138.jpg",
+ "name": "【啊哦手工坊】羊毛毡戳戳乐材料包 diy 猫爪2色 挂件手机绳防尘塞",
+ "origin_price": "6.00",
+ "p_catalog_id": "30",
+ "product_id": "5192"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "6",
+ "cover_price": "12.00",
+ "figure": "/1452829334513.jpg",
+ "name": "【岁月坊】古文艺手工礼品本 古风.水彩系列之乱入芙蓉池",
+ "origin_price": "19.00",
+ "p_catalog_id": "32",
+ "product_id": "4095"
+ },
+ {
+ "brand_id": "5",
+ "brief": "强大的教程配备(含1比1图纸、制作步骤、详细全彩纸质教程+全彩基础纸质教程);进口优质羊毛,细腻、顺滑、不毛躁,充足的羊毛量,新手也不怕失误!买材料包没有这些,那干嘛还需要材料包呢??? 电子教程:http://pan.baidu.com/s/1ntsRDyx,提取码:n76h",
+ "channel_id": "3",
+ "cover_price": "6.00",
+ "figure": "/1457515655102.jpg",
+ "name": "【啊哦手工坊】羊毛毡戳戳乐材料包 DIY 情侣款北极熊手机绳挂件摆件",
+ "origin_price": "6.00",
+ "p_catalog_id": "30",
+ "product_id": "5196"
+ },
+ {
+ "brand_id": "5",
+ "brief": "强大的教程配备(含1比1图纸、制作步骤、详细全彩纸质教程+全彩基础纸质教程);进口优质羊毛,细腻、顺滑、不毛躁,充足的羊毛量,新手也不怕失误!买材料包没有这些,那干嘛还需要材料包呢???
+电子教程:http://pan.baidu.com/s/1ntsRDyx,提取码:n76h",
+ "channel_id": "3",
+ "cover_price": "13.00",
+ "figure": "/1457508990383.jpg",
+ "name": "【啊哦手工坊】羊毛毡戳戳乐材料包 diy 12生肖可爱羊毛毡防尘塞",
+ "origin_price": "13.00",
+ "p_catalog_id": "30",
+ "product_id": "5185"
+ },
+ {
+ "brand_id": "286",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "85.00",
+ "figure": "/supplier/1476783524896.jpg",
+ "name": "【海鸟跨境】韩国原装悦诗风吟绿茶平衡型乳液",
+ "origin_price": "85.00",
+ "p_catalog_id": "21",
+ "product_id": "9978"
+ },
+ {
+ "brand_id": "286",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "85.00",
+ "figure": "/supplier/1476783181896.jpg",
+ "name": "【海鸟跨境】韩国原装悦诗风吟绿茶平衡型爽肤水",
+ "origin_price": "85.00",
+ "p_catalog_id": "21",
+ "product_id": "9977"
+ },
+ {
+ "brand_id": "286",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "55.00",
+ "figure": "/supplier/1476782471175.jpg",
+ "name": "【海鸟跨境】韩国原装悦诗风吟火山岩泥洗面奶",
+ "origin_price": "55.00",
+ "p_catalog_id": "21",
+ "product_id": "9975"
+ },
+ {
+ "brand_id": "286",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "55.00",
+ "figure": "/supplier/1476781743285.jpg",
+ "name": "【海鸟跨境】韩国原装悦诗风吟绿茶洗面奶",
+ "origin_price": "55.00",
+ "p_catalog_id": "21",
+ "product_id": "9973"
+ },
+ {
+ "brand_id": "3",
+ "brief": "うちっちー是日本静冈县的吉祥物,模样是一只胖乎乎、蠢萌蠢萌的海象。《Love Live! Sunshine!!》动画中也有出现噢~静冈是另一个奇迹:校园偶像Aqours的发源地。うちっちー主题连体睡衣,可爱的布偶装外观,加厚法兰绒面料穿上很暖和。
+",
+ "channel_id": "8",
+ "cover_price": "122.32",
+ "figure": "/1472096222058.jpg",
+ "name": "【绝对萌域】 LoveLive sunshine 水团 静冈县吉祥物 家居服 可爱连体睡衣",
+ "origin_price": "139.00",
+ "p_catalog_id": "52",
+ "product_id": "8941"
+ },
+ {
+ "brand_id": "3",
+ "brief": "",
+ "channel_id": "15",
+ "cover_price": "29.00",
+ "figure": "/1445919231476.jpg",
+ "name": "【画影】古风黑檀木发簪——静荷",
+ "origin_price": "35.00",
+ "p_catalog_id": "71",
+ "product_id": "2452"
+ },
+ {
+ "brand_id": "254",
+ "brief": "预售期至12月16日,出货后将按订单顺序安排发货噢~",
+ "channel_id": "4",
+ "cover_price": "129.00",
+ "figure": "/1478773271555.jpg",
+ "name": "预售【漫踪】尚硅谷电吹风筒可折叠静音 亚索面对疾风吧吹风机",
+ "origin_price": "0.00",
+ "p_catalog_id": "90",
+ "product_id": "10616"
+ },
+ {
+ "brand_id": "383",
+ "brief": "",
+ "channel_id": "8",
+ "cover_price": "31.20",
+ "figure": "/1478770777024.jpg",
+ "name": "【蜜茶联萌】原创喵星人流行梗 纯棉长袖T恤 日常创意打底 静静看着",
+ "origin_price": "39.00",
+ "p_catalog_id": "56",
+ "product_id": "10607"
+ },
+ {
+ "brand_id": "368",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "45.00",
+ "figure": "/1465873803495.jpg",
+ "name": "【喵鹿酱】Girlwill 游泳圈湿器 办公室 静化空气USB迷你加湿器桌面加湿器",
+ "origin_price": "66.00",
+ "p_catalog_id": "90",
+ "product_id": "7026"
+ },
+ {
+ "brand_id": "182",
+ "brief": "OVO,告诉小谷,临也香不香",
+ "channel_id": "3",
+ "cover_price": "108.00",
+ "figure": "/1451022524289.jpg",
+ "name": "【天闻角川】无头骑士异闻录DuRaRaRa!!×2香水套装(赠包饰)静雄款",
+ "origin_price": "128.00",
+ "p_catalog_id": "21",
+ "product_id": "3695"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build.gradle b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build.gradle
new file mode 100644
index 0000000..c0170d8
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build.gradle
@@ -0,0 +1,22 @@
+apply plugin: 'com.android.library'
+
+android {
+ compileSdkVersion 23
+ buildToolsVersion "23.0.3"
+
+ defaultConfig {
+ minSdkVersion 14
+ targetSdkVersion 23
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
+ }
+ }
+}
+
+dependencies {
+ compile 'com.android.support:support-v4:23.3.0'
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/.transforms/091fedb51198b79b538191d9c1203e64.bin b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/.transforms/091fedb51198b79b538191d9c1203e64.bin
new file mode 100644
index 0000000..0d259dd
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/.transforms/091fedb51198b79b538191d9c1203e64.bin
@@ -0,0 +1 @@
+o/classes
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/.transforms/091fedb51198b79b538191d9c1203e64/classes/classes.dex b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/.transforms/091fedb51198b79b538191d9c1203e64/classes/classes.dex
new file mode 100644
index 0000000..e2184af
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/.transforms/091fedb51198b79b538191d9c1203e64/classes/classes.dex differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/.transforms/16afda8d6cf1adf19ffaabba4368e3ba.bin b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/.transforms/16afda8d6cf1adf19ffaabba4368e3ba.bin
new file mode 100644
index 0000000..1ed65e0
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/.transforms/16afda8d6cf1adf19ffaabba4368e3ba.bin
@@ -0,0 +1 @@
+i/
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/.transforms/4ffb6deab8f9b756184d9e08f791742f.bin b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/.transforms/4ffb6deab8f9b756184d9e08f791742f.bin
new file mode 100644
index 0000000..1ed65e0
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/.transforms/4ffb6deab8f9b756184d9e08f791742f.bin
@@ -0,0 +1 @@
+i/
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/.transforms/e5ad2844d588795e6ad18560bd3eda64.bin b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/.transforms/e5ad2844d588795e6ad18560bd3eda64.bin
new file mode 100644
index 0000000..0d259dd
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/.transforms/e5ad2844d588795e6ad18560bd3eda64.bin
@@ -0,0 +1 @@
+o/classes
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/.transforms/e5ad2844d588795e6ad18560bd3eda64/classes/classes.dex b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/.transforms/e5ad2844d588795e6ad18560bd3eda64/classes/classes.dex
new file mode 100644
index 0000000..008d60c
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/.transforms/e5ad2844d588795e6ad18560bd3eda64/classes/classes.dex differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/buildConfig/androidTest/debug/com/viewpagerindicator/test/BuildConfig.java b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/buildConfig/androidTest/debug/com/viewpagerindicator/test/BuildConfig.java
new file mode 100644
index 0000000..62de27e
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/buildConfig/androidTest/debug/com/viewpagerindicator/test/BuildConfig.java
@@ -0,0 +1,13 @@
+/**
+ * Automatically generated file. DO NOT MODIFY
+ */
+package com.viewpagerindicator.test;
+
+public final class BuildConfig {
+ public static final boolean DEBUG = Boolean.parseBoolean("true");
+ public static final String APPLICATION_ID = "com.viewpagerindicator.test";
+ public static final String BUILD_TYPE = "debug";
+ public static final String FLAVOR = "";
+ public static final int VERSION_CODE = -1;
+ public static final String VERSION_NAME = "";
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/buildConfig/debug/com/viewpagerindicator/BuildConfig.java b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/buildConfig/debug/com/viewpagerindicator/BuildConfig.java
new file mode 100644
index 0000000..5c2d9b3
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/buildConfig/debug/com/viewpagerindicator/BuildConfig.java
@@ -0,0 +1,18 @@
+/**
+ * Automatically generated file. DO NOT MODIFY
+ */
+package com.viewpagerindicator;
+
+public final class BuildConfig {
+ public static final boolean DEBUG = Boolean.parseBoolean("true");
+ public static final String LIBRARY_PACKAGE_NAME = "com.viewpagerindicator";
+ /**
+ * @deprecated APPLICATION_ID is misleading in libraries. For the library package name use LIBRARY_PACKAGE_NAME
+ */
+ @Deprecated
+ public static final String APPLICATION_ID = "com.viewpagerindicator";
+ public static final String BUILD_TYPE = "debug";
+ public static final String FLAVOR = "";
+ public static final int VERSION_CODE = 65;
+ public static final String VERSION_NAME = "2.4.1";
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/buildConfig/release/com/viewpagerindicator/BuildConfig.java b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/buildConfig/release/com/viewpagerindicator/BuildConfig.java
new file mode 100644
index 0000000..23a7156
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/buildConfig/release/com/viewpagerindicator/BuildConfig.java
@@ -0,0 +1,13 @@
+/**
+ * Automatically generated file. DO NOT MODIFY
+ */
+package com.viewpagerindicator;
+
+public final class BuildConfig {
+ public static final boolean DEBUG = false;
+ public static final String APPLICATION_ID = "com.viewpagerindicator";
+ public static final String BUILD_TYPE = "release";
+ public static final String FLAVOR = "";
+ public static final int VERSION_CODE = 65;
+ public static final String VERSION_NAME = "2.4.1";
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/r/androidTest/debug/com/viewpagerindicator/R.java b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/r/androidTest/debug/com/viewpagerindicator/R.java
new file mode 100644
index 0000000..0e0a74b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/r/androidTest/debug/com/viewpagerindicator/R.java
@@ -0,0 +1,168 @@
+/* AUTO-GENERATED FILE. DO NOT MODIFY.
+ *
+ * This class was automatically generated by the
+ * aapt tool from the resource data it found. It
+ * should not be modified by hand.
+ */
+package com.viewpagerindicator;
+
+public final class R {
+ public static final class attr {
+ public static final int centered = 0x7f010000;
+ public static final int clipPadding = 0x7f01000b;
+ public static final int fadeDelay = 0x7f010017;
+ public static final int fadeLength = 0x7f010018;
+ public static final int fades = 0x7f010016;
+ public static final int fillColor = 0x7f010004;
+ public static final int footerColor = 0x7f01000c;
+ public static final int footerIndicatorHeight = 0x7f01000f;
+ public static final int footerIndicatorStyle = 0x7f01000e;
+ public static final int footerIndicatorUnderlinePadding = 0x7f010010;
+ public static final int footerLineHeight = 0x7f01000d;
+ public static final int footerPadding = 0x7f010011;
+ public static final int gapWidth = 0x7f01000a;
+ public static final int linePosition = 0x7f010012;
+ public static final int lineWidth = 0x7f010009;
+ public static final int pageColor = 0x7f010005;
+ public static final int radius = 0x7f010006;
+ public static final int selectedBold = 0x7f010013;
+ public static final int selectedColor = 0x7f010001;
+ public static final int snap = 0x7f010007;
+ public static final int strokeColor = 0x7f010008;
+ public static final int strokeWidth = 0x7f010002;
+ public static final int titlePadding = 0x7f010014;
+ public static final int topPadding = 0x7f010015;
+ public static final int unselectedColor = 0x7f010003;
+ public static final int vpiCirclePageIndicatorStyle = 0x7f010019;
+ public static final int vpiIconPageIndicatorStyle = 0x7f01001a;
+ public static final int vpiLinePageIndicatorStyle = 0x7f01001b;
+ public static final int vpiTabPageIndicatorStyle = 0x7f01001d;
+ public static final int vpiTitlePageIndicatorStyle = 0x7f01001c;
+ public static final int vpiUnderlinePageIndicatorStyle = 0x7f01001e;
+ }
+ public static final class bool {
+ public static final int default_circle_indicator_centered = 0x7f030000;
+ public static final int default_circle_indicator_snap = 0x7f030001;
+ public static final int default_line_indicator_centered = 0x7f030002;
+ public static final int default_title_indicator_selected_bold = 0x7f030003;
+ public static final int default_underline_indicator_fades = 0x7f030004;
+ }
+ public static final class color {
+ public static final int default_circle_indicator_fill_color = 0x7f040000;
+ public static final int default_circle_indicator_page_color = 0x7f040001;
+ public static final int default_circle_indicator_stroke_color = 0x7f040002;
+ public static final int default_line_indicator_selected_color = 0x7f040003;
+ public static final int default_line_indicator_unselected_color = 0x7f040004;
+ public static final int default_title_indicator_footer_color = 0x7f040005;
+ public static final int default_title_indicator_selected_color = 0x7f040006;
+ public static final int default_title_indicator_text_color = 0x7f040007;
+ public static final int default_underline_indicator_selected_color = 0x7f040008;
+ public static final int vpi__background_holo_dark = 0x7f040009;
+ public static final int vpi__background_holo_light = 0x7f04000a;
+ public static final int vpi__bright_foreground_disabled_holo_dark = 0x7f04000b;
+ public static final int vpi__bright_foreground_disabled_holo_light = 0x7f04000c;
+ public static final int vpi__bright_foreground_holo_dark = 0x7f04000d;
+ public static final int vpi__bright_foreground_holo_light = 0x7f04000e;
+ public static final int vpi__bright_foreground_inverse_holo_dark = 0x7f04000f;
+ public static final int vpi__bright_foreground_inverse_holo_light = 0x7f040010;
+ public static final int vpi__dark_theme = 0x7f040011;
+ public static final int vpi__light_theme = 0x7f040012;
+ }
+ public static final class dimen {
+ public static final int default_circle_indicator_radius = 0x7f050000;
+ public static final int default_circle_indicator_stroke_width = 0x7f050001;
+ public static final int default_line_indicator_gap_width = 0x7f050002;
+ public static final int default_line_indicator_line_width = 0x7f050003;
+ public static final int default_line_indicator_stroke_width = 0x7f050004;
+ public static final int default_title_indicator_clip_padding = 0x7f050005;
+ public static final int default_title_indicator_footer_indicator_height = 0x7f050006;
+ public static final int default_title_indicator_footer_indicator_underline_padding = 0x7f050007;
+ public static final int default_title_indicator_footer_line_height = 0x7f050008;
+ public static final int default_title_indicator_footer_padding = 0x7f050009;
+ public static final int default_title_indicator_text_size = 0x7f05000a;
+ public static final int default_title_indicator_title_padding = 0x7f05000b;
+ public static final int default_title_indicator_top_padding = 0x7f05000c;
+ }
+ public static final class drawable {
+ public static final int community_tab_subscript = 0x7f020000;
+ public static final int tab = 0x7f020001;
+ public static final int vpi__tab_indicator = 0x7f020002;
+ public static final int vpi__tab_selected_focused_holo = 0x7f020003;
+ public static final int vpi__tab_selected_holo = 0x7f020004;
+ public static final int vpi__tab_selected_pressed_holo = 0x7f020005;
+ public static final int vpi__tab_unselected_focused_holo = 0x7f020006;
+ public static final int vpi__tab_unselected_holo = 0x7f020007;
+ public static final int vpi__tab_unselected_pressed_holo = 0x7f020008;
+ public static final int vpi_text_tab_indicator = 0x7f020009;
+ }
+ public static final class id {
+ public static final int bottom = 0x7f080003;
+ public static final int none = 0x7f080000;
+ public static final int top = 0x7f080004;
+ public static final int triangle = 0x7f080001;
+ public static final int underline = 0x7f080002;
+ }
+ public static final class integer {
+ public static final int default_circle_indicator_orientation = 0x7f060000;
+ public static final int default_title_indicator_footer_indicator_style = 0x7f060001;
+ public static final int default_title_indicator_line_position = 0x7f060002;
+ public static final int default_underline_indicator_fade_delay = 0x7f060003;
+ public static final int default_underline_indicator_fade_length = 0x7f060004;
+ }
+ public static final class style {
+ public static final int TextAppearance_TabPageIndicator = 0x7f070000;
+ public static final int Theme_PageIndicatorDefaults = 0x7f070001;
+ public static final int Widget = 0x7f070002;
+ public static final int Widget_IconPageIndicator = 0x7f070003;
+ public static final int Widget_TabPageIndicator = 0x7f070004;
+ }
+ public static final class styleable {
+ public static final int[] CirclePageIndicator = { 0x010100c4, 0x010100d4, 0x7f010000, 0x7f010002, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008 };
+ public static final int CirclePageIndicator_android_background = 1;
+ public static final int CirclePageIndicator_android_orientation = 0;
+ public static final int CirclePageIndicator_centered = 2;
+ public static final int CirclePageIndicator_fillColor = 4;
+ public static final int CirclePageIndicator_pageColor = 5;
+ public static final int CirclePageIndicator_radius = 6;
+ public static final int CirclePageIndicator_snap = 7;
+ public static final int CirclePageIndicator_strokeColor = 8;
+ public static final int CirclePageIndicator_strokeWidth = 3;
+ public static final int[] LinePageIndicator = { 0x010100d4, 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010009, 0x7f01000a };
+ public static final int LinePageIndicator_android_background = 0;
+ public static final int LinePageIndicator_centered = 1;
+ public static final int LinePageIndicator_gapWidth = 6;
+ public static final int LinePageIndicator_lineWidth = 5;
+ public static final int LinePageIndicator_selectedColor = 2;
+ public static final int LinePageIndicator_strokeWidth = 3;
+ public static final int LinePageIndicator_unselectedColor = 4;
+ public static final int[] TitlePageIndicator = { 0x01010095, 0x01010098, 0x010100d4, 0x7f010001, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012, 0x7f010013, 0x7f010014, 0x7f010015 };
+ public static final int TitlePageIndicator_android_background = 2;
+ public static final int TitlePageIndicator_android_textColor = 1;
+ public static final int TitlePageIndicator_android_textSize = 0;
+ public static final int TitlePageIndicator_clipPadding = 4;
+ public static final int TitlePageIndicator_footerColor = 5;
+ public static final int TitlePageIndicator_footerIndicatorHeight = 8;
+ public static final int TitlePageIndicator_footerIndicatorStyle = 7;
+ public static final int TitlePageIndicator_footerIndicatorUnderlinePadding = 9;
+ public static final int TitlePageIndicator_footerLineHeight = 6;
+ public static final int TitlePageIndicator_footerPadding = 10;
+ public static final int TitlePageIndicator_linePosition = 11;
+ public static final int TitlePageIndicator_selectedBold = 12;
+ public static final int TitlePageIndicator_selectedColor = 3;
+ public static final int TitlePageIndicator_titlePadding = 13;
+ public static final int TitlePageIndicator_topPadding = 14;
+ public static final int[] UnderlinePageIndicator = { 0x010100d4, 0x7f010001, 0x7f010016, 0x7f010017, 0x7f010018 };
+ public static final int UnderlinePageIndicator_android_background = 0;
+ public static final int UnderlinePageIndicator_fadeDelay = 3;
+ public static final int UnderlinePageIndicator_fadeLength = 4;
+ public static final int UnderlinePageIndicator_fades = 2;
+ public static final int UnderlinePageIndicator_selectedColor = 1;
+ public static final int[] ViewPagerIndicator = { 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01001c, 0x7f01001d, 0x7f01001e };
+ public static final int ViewPagerIndicator_vpiCirclePageIndicatorStyle = 0;
+ public static final int ViewPagerIndicator_vpiIconPageIndicatorStyle = 1;
+ public static final int ViewPagerIndicator_vpiLinePageIndicatorStyle = 2;
+ public static final int ViewPagerIndicator_vpiTabPageIndicatorStyle = 4;
+ public static final int ViewPagerIndicator_vpiTitlePageIndicatorStyle = 3;
+ public static final int ViewPagerIndicator_vpiUnderlinePageIndicatorStyle = 5;
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/r/androidTest/debug/com/viewpagerindicator/test/R.java b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/r/androidTest/debug/com/viewpagerindicator/test/R.java
new file mode 100644
index 0000000..783a1ff
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/r/androidTest/debug/com/viewpagerindicator/test/R.java
@@ -0,0 +1,1044 @@
+/* AUTO-GENERATED FILE. DO NOT MODIFY.
+ *
+ * This class was automatically generated by the
+ * aapt tool from the resource data it found. It
+ * should not be modified by hand.
+ */
+
+package com.viewpagerindicator.test;
+
+public final class R {
+ public static final class attr {
+ /** Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int centered=0x7f010000;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int clipPadding=0x7f01000b;
+ /**
Must be an integer value, such as "100
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int fadeDelay=0x7f010017;
+ /**
Must be an integer value, such as "100
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int fadeLength=0x7f010018;
+ /**
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int fades=0x7f010016;
+ /**
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int fillColor=0x7f010004;
+ /**
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int footerColor=0x7f01000c;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int footerIndicatorHeight=0x7f01000f;
+ /**
Must be one of the following constant values.
+
+
+
+
+Constant | Value | Description |
+none | 0 | |
+triangle | 1 | |
+underline | 2 | |
+
+ */
+ public static final int footerIndicatorStyle=0x7f01000e;
+ /** Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int footerIndicatorUnderlinePadding=0x7f010010;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int footerLineHeight=0x7f01000d;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int footerPadding=0x7f010011;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int gapWidth=0x7f01000a;
+ /**
Must be one of the following constant values.
+
+
+
+
+Constant | Value | Description |
+bottom | 0 | |
+top | 1 | |
+
+ */
+ public static final int linePosition=0x7f010012;
+ /** Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int lineWidth=0x7f010009;
+ /**
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int pageColor=0x7f010005;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int radius=0x7f010006;
+ /**
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int selectedBold=0x7f010013;
+ /**
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int selectedColor=0x7f010001;
+ /**
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int snap=0x7f010007;
+ /**
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int strokeColor=0x7f010008;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int strokeWidth=0x7f010002;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int titlePadding=0x7f010014;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int topPadding=0x7f010015;
+ /**
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static final int unselectedColor=0x7f010003;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ */
+ public static final int vpiCirclePageIndicatorStyle=0x7f010019;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ */
+ public static final int vpiIconPageIndicatorStyle=0x7f01001a;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ */
+ public static final int vpiLinePageIndicatorStyle=0x7f01001b;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ */
+ public static final int vpiTabPageIndicatorStyle=0x7f01001d;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ */
+ public static final int vpiTitlePageIndicatorStyle=0x7f01001c;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ */
+ public static final int vpiUnderlinePageIndicatorStyle=0x7f01001e;
+ }
+ public static final class bool {
+ public static final int default_circle_indicator_centered=0x7f030000;
+ public static final int default_circle_indicator_snap=0x7f030001;
+ public static final int default_line_indicator_centered=0x7f030002;
+ public static final int default_title_indicator_selected_bold=0x7f030003;
+ public static final int default_underline_indicator_fades=0x7f030004;
+ }
+ public static final class color {
+ public static final int default_circle_indicator_fill_color=0x7f040000;
+ public static final int default_circle_indicator_page_color=0x7f040001;
+ public static final int default_circle_indicator_stroke_color=0x7f040002;
+ public static final int default_line_indicator_selected_color=0x7f040003;
+ public static final int default_line_indicator_unselected_color=0x7f040004;
+ public static final int default_title_indicator_footer_color=0x7f040005;
+ public static final int default_title_indicator_selected_color=0x7f040006;
+ public static final int default_title_indicator_text_color=0x7f040007;
+ public static final int default_underline_indicator_selected_color=0x7f040008;
+ public static final int vpi__background_holo_dark=0x7f040009;
+ public static final int vpi__background_holo_light=0x7f04000a;
+ public static final int vpi__bright_foreground_disabled_holo_dark=0x7f04000b;
+ public static final int vpi__bright_foreground_disabled_holo_light=0x7f04000c;
+ public static final int vpi__bright_foreground_holo_dark=0x7f04000d;
+ public static final int vpi__bright_foreground_holo_light=0x7f04000e;
+ public static final int vpi__bright_foreground_inverse_holo_dark=0x7f04000f;
+ public static final int vpi__bright_foreground_inverse_holo_light=0x7f040010;
+ public static final int vpi__dark_theme=0x7f040011;
+ public static final int vpi__light_theme=0x7f040012;
+ }
+ public static final class dimen {
+ public static final int default_circle_indicator_radius=0x7f050000;
+ public static final int default_circle_indicator_stroke_width=0x7f050001;
+ public static final int default_line_indicator_gap_width=0x7f050002;
+ public static final int default_line_indicator_line_width=0x7f050003;
+ public static final int default_line_indicator_stroke_width=0x7f050004;
+ public static final int default_title_indicator_clip_padding=0x7f050005;
+ public static final int default_title_indicator_footer_indicator_height=0x7f050006;
+ public static final int default_title_indicator_footer_indicator_underline_padding=0x7f050007;
+ public static final int default_title_indicator_footer_line_height=0x7f050008;
+ public static final int default_title_indicator_footer_padding=0x7f050009;
+ public static final int default_title_indicator_text_size=0x7f05000a;
+ public static final int default_title_indicator_title_padding=0x7f05000b;
+ public static final int default_title_indicator_top_padding=0x7f05000c;
+ }
+ public static final class drawable {
+ public static final int community_tab_subscript=0x7f020000;
+ public static final int tab=0x7f020001;
+ public static final int vpi__tab_indicator=0x7f020002;
+ public static final int vpi__tab_selected_focused_holo=0x7f020003;
+ public static final int vpi__tab_selected_holo=0x7f020004;
+ public static final int vpi__tab_selected_pressed_holo=0x7f020005;
+ public static final int vpi__tab_unselected_focused_holo=0x7f020006;
+ public static final int vpi__tab_unselected_holo=0x7f020007;
+ public static final int vpi__tab_unselected_pressed_holo=0x7f020008;
+ public static final int vpi_text_tab_indicator=0x7f020009;
+ }
+ public static final class id {
+ public static final int bottom=0x7f080003;
+ public static final int none=0x7f080000;
+ public static final int top=0x7f080004;
+ public static final int triangle=0x7f080001;
+ public static final int underline=0x7f080002;
+ }
+ public static final class integer {
+ public static final int default_circle_indicator_orientation=0x7f060000;
+ public static final int default_title_indicator_footer_indicator_style=0x7f060001;
+ public static final int default_title_indicator_line_position=0x7f060002;
+ public static final int default_underline_indicator_fade_delay=0x7f060003;
+ public static final int default_underline_indicator_fade_length=0x7f060004;
+ }
+ public static final class style {
+ public static final int TextAppearance_TabPageIndicator=0x7f070000;
+ public static final int Theme_PageIndicatorDefaults=0x7f070001;
+ public static final int Widget=0x7f070002;
+ public static final int Widget_IconPageIndicator=0x7f070003;
+ public static final int Widget_TabPageIndicator=0x7f070004;
+ }
+ public static final class styleable {
+ /** Attributes that can be used with a CirclePageIndicator.
+
Includes the following attributes:
+
+
+
+ Attribute | Description |
+ {@link #CirclePageIndicator_android_background android:background} | |
+ {@link #CirclePageIndicator_android_orientation android:orientation} | |
+ {@link #CirclePageIndicator_centered com.viewpagerindicator.test:centered} | |
+ {@link #CirclePageIndicator_fillColor com.viewpagerindicator.test:fillColor} | |
+ {@link #CirclePageIndicator_pageColor com.viewpagerindicator.test:pageColor} | |
+ {@link #CirclePageIndicator_radius com.viewpagerindicator.test:radius} | |
+ {@link #CirclePageIndicator_snap com.viewpagerindicator.test:snap} | |
+ {@link #CirclePageIndicator_strokeColor com.viewpagerindicator.test:strokeColor} | |
+ {@link #CirclePageIndicator_strokeWidth com.viewpagerindicator.test:strokeWidth} | |
+
+ @see #CirclePageIndicator_android_background
+ @see #CirclePageIndicator_android_orientation
+ @see #CirclePageIndicator_centered
+ @see #CirclePageIndicator_fillColor
+ @see #CirclePageIndicator_pageColor
+ @see #CirclePageIndicator_radius
+ @see #CirclePageIndicator_snap
+ @see #CirclePageIndicator_strokeColor
+ @see #CirclePageIndicator_strokeWidth
+ */
+ public static final int[] CirclePageIndicator = {
+ 0x010100c4, 0x010100d4, 0x7f010000, 0x7f010002,
+ 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007,
+ 0x7f010008
+ };
+ /**
+ This symbol is the offset where the {@link android.R.attr#background}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+ @attr name android:background
+ */
+ public static final int CirclePageIndicator_android_background = 1;
+ /**
+
This symbol is the offset where the {@link android.R.attr#orientation}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+ @attr name android:orientation
+ */
+ public static final int CirclePageIndicator_android_orientation = 0;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#centered}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:centered
+ */
+ public static final int CirclePageIndicator_centered = 2;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#fillColor}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:fillColor
+ */
+ public static final int CirclePageIndicator_fillColor = 4;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#pageColor}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:pageColor
+ */
+ public static final int CirclePageIndicator_pageColor = 5;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#radius}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:radius
+ */
+ public static final int CirclePageIndicator_radius = 6;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#snap}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:snap
+ */
+ public static final int CirclePageIndicator_snap = 7;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#strokeColor}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:strokeColor
+ */
+ public static final int CirclePageIndicator_strokeColor = 8;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#strokeWidth}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:strokeWidth
+ */
+ public static final int CirclePageIndicator_strokeWidth = 3;
+ /** Attributes that can be used with a LinePageIndicator.
+
Includes the following attributes:
+
+
+
+ Attribute | Description |
+ {@link #LinePageIndicator_android_background android:background} | |
+ {@link #LinePageIndicator_centered com.viewpagerindicator.test:centered} | |
+ {@link #LinePageIndicator_gapWidth com.viewpagerindicator.test:gapWidth} | |
+ {@link #LinePageIndicator_lineWidth com.viewpagerindicator.test:lineWidth} | |
+ {@link #LinePageIndicator_selectedColor com.viewpagerindicator.test:selectedColor} | |
+ {@link #LinePageIndicator_strokeWidth com.viewpagerindicator.test:strokeWidth} | |
+ {@link #LinePageIndicator_unselectedColor com.viewpagerindicator.test:unselectedColor} | |
+
+ @see #LinePageIndicator_android_background
+ @see #LinePageIndicator_centered
+ @see #LinePageIndicator_gapWidth
+ @see #LinePageIndicator_lineWidth
+ @see #LinePageIndicator_selectedColor
+ @see #LinePageIndicator_strokeWidth
+ @see #LinePageIndicator_unselectedColor
+ */
+ public static final int[] LinePageIndicator = {
+ 0x010100d4, 0x7f010000, 0x7f010001, 0x7f010002,
+ 0x7f010003, 0x7f010009, 0x7f01000a
+ };
+ /**
+ This symbol is the offset where the {@link android.R.attr#background}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+ @attr name android:background
+ */
+ public static final int LinePageIndicator_android_background = 0;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#centered}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+
+
+
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:centered
+ */
+ public static final int LinePageIndicator_centered = 1;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#gapWidth}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:gapWidth
+ */
+ public static final int LinePageIndicator_gapWidth = 6;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#lineWidth}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:lineWidth
+ */
+ public static final int LinePageIndicator_lineWidth = 5;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#selectedColor}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:selectedColor
+ */
+ public static final int LinePageIndicator_selectedColor = 2;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#strokeWidth}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:strokeWidth
+ */
+ public static final int LinePageIndicator_strokeWidth = 3;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#unselectedColor}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:unselectedColor
+ */
+ public static final int LinePageIndicator_unselectedColor = 4;
+ /** Attributes that can be used with a TitlePageIndicator.
+
Includes the following attributes:
+
+
+
+ Attribute | Description |
+ {@link #TitlePageIndicator_android_background android:background} | |
+ {@link #TitlePageIndicator_android_textColor android:textColor} | |
+ {@link #TitlePageIndicator_android_textSize android:textSize} | |
+ {@link #TitlePageIndicator_clipPadding com.viewpagerindicator.test:clipPadding} | |
+ {@link #TitlePageIndicator_footerColor com.viewpagerindicator.test:footerColor} | |
+ {@link #TitlePageIndicator_footerIndicatorHeight com.viewpagerindicator.test:footerIndicatorHeight} | |
+ {@link #TitlePageIndicator_footerIndicatorStyle com.viewpagerindicator.test:footerIndicatorStyle} | |
+ {@link #TitlePageIndicator_footerIndicatorUnderlinePadding com.viewpagerindicator.test:footerIndicatorUnderlinePadding} | |
+ {@link #TitlePageIndicator_footerLineHeight com.viewpagerindicator.test:footerLineHeight} | |
+ {@link #TitlePageIndicator_footerPadding com.viewpagerindicator.test:footerPadding} | |
+ {@link #TitlePageIndicator_linePosition com.viewpagerindicator.test:linePosition} | |
+ {@link #TitlePageIndicator_selectedBold com.viewpagerindicator.test:selectedBold} | |
+ {@link #TitlePageIndicator_selectedColor com.viewpagerindicator.test:selectedColor} | |
+ {@link #TitlePageIndicator_titlePadding com.viewpagerindicator.test:titlePadding} | |
+ {@link #TitlePageIndicator_topPadding com.viewpagerindicator.test:topPadding} | |
+
+ @see #TitlePageIndicator_android_background
+ @see #TitlePageIndicator_android_textColor
+ @see #TitlePageIndicator_android_textSize
+ @see #TitlePageIndicator_clipPadding
+ @see #TitlePageIndicator_footerColor
+ @see #TitlePageIndicator_footerIndicatorHeight
+ @see #TitlePageIndicator_footerIndicatorStyle
+ @see #TitlePageIndicator_footerIndicatorUnderlinePadding
+ @see #TitlePageIndicator_footerLineHeight
+ @see #TitlePageIndicator_footerPadding
+ @see #TitlePageIndicator_linePosition
+ @see #TitlePageIndicator_selectedBold
+ @see #TitlePageIndicator_selectedColor
+ @see #TitlePageIndicator_titlePadding
+ @see #TitlePageIndicator_topPadding
+ */
+ public static final int[] TitlePageIndicator = {
+ 0x01010095, 0x01010098, 0x010100d4, 0x7f010001,
+ 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e,
+ 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012,
+ 0x7f010013, 0x7f010014, 0x7f010015
+ };
+ /**
+ This symbol is the offset where the {@link android.R.attr#background}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+ @attr name android:background
+ */
+ public static final int TitlePageIndicator_android_background = 2;
+ /**
+
This symbol is the offset where the {@link android.R.attr#textColor}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+ @attr name android:textColor
+ */
+ public static final int TitlePageIndicator_android_textColor = 1;
+ /**
+
This symbol is the offset where the {@link android.R.attr#textSize}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+ @attr name android:textSize
+ */
+ public static final int TitlePageIndicator_android_textSize = 0;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#clipPadding}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:clipPadding
+ */
+ public static final int TitlePageIndicator_clipPadding = 4;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#footerColor}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:footerColor
+ */
+ public static final int TitlePageIndicator_footerColor = 5;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#footerIndicatorHeight}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:footerIndicatorHeight
+ */
+ public static final int TitlePageIndicator_footerIndicatorHeight = 8;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#footerIndicatorStyle}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be one of the following constant values.
+
+
+
+
+Constant | Value | Description |
+none | 0 | |
+triangle | 1 | |
+underline | 2 | |
+
+ @attr name com.viewpagerindicator.test:footerIndicatorStyle
+ */
+ public static final int TitlePageIndicator_footerIndicatorStyle = 7;
+ /**
+ This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#footerIndicatorUnderlinePadding}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:footerIndicatorUnderlinePadding
+ */
+ public static final int TitlePageIndicator_footerIndicatorUnderlinePadding = 9;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#footerLineHeight}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:footerLineHeight
+ */
+ public static final int TitlePageIndicator_footerLineHeight = 6;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#footerPadding}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:footerPadding
+ */
+ public static final int TitlePageIndicator_footerPadding = 10;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#linePosition}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be one of the following constant values.
+
+
+
+
+Constant | Value | Description |
+bottom | 0 | |
+top | 1 | |
+
+ @attr name com.viewpagerindicator.test:linePosition
+ */
+ public static final int TitlePageIndicator_linePosition = 11;
+ /**
+ This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#selectedBold}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:selectedBold
+ */
+ public static final int TitlePageIndicator_selectedBold = 12;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#selectedColor}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:selectedColor
+ */
+ public static final int TitlePageIndicator_selectedColor = 3;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#titlePadding}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:titlePadding
+ */
+ public static final int TitlePageIndicator_titlePadding = 13;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#topPadding}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:topPadding
+ */
+ public static final int TitlePageIndicator_topPadding = 14;
+ /** Attributes that can be used with a UnderlinePageIndicator.
+
Includes the following attributes:
+
+
+
+ Attribute | Description |
+ {@link #UnderlinePageIndicator_android_background android:background} | |
+ {@link #UnderlinePageIndicator_fadeDelay com.viewpagerindicator.test:fadeDelay} | |
+ {@link #UnderlinePageIndicator_fadeLength com.viewpagerindicator.test:fadeLength} | |
+ {@link #UnderlinePageIndicator_fades com.viewpagerindicator.test:fades} | |
+ {@link #UnderlinePageIndicator_selectedColor com.viewpagerindicator.test:selectedColor} | |
+
+ @see #UnderlinePageIndicator_android_background
+ @see #UnderlinePageIndicator_fadeDelay
+ @see #UnderlinePageIndicator_fadeLength
+ @see #UnderlinePageIndicator_fades
+ @see #UnderlinePageIndicator_selectedColor
+ */
+ public static final int[] UnderlinePageIndicator = {
+ 0x010100d4, 0x7f010001, 0x7f010016, 0x7f010017,
+ 0x7f010018
+ };
+ /**
+ This symbol is the offset where the {@link android.R.attr#background}
+ attribute's value can be found in the {@link #UnderlinePageIndicator} array.
+ @attr name android:background
+ */
+ public static final int UnderlinePageIndicator_android_background = 0;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#fadeDelay}
+ attribute's value can be found in the {@link #UnderlinePageIndicator} array.
+
+
+
Must be an integer value, such as "100
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:fadeDelay
+ */
+ public static final int UnderlinePageIndicator_fadeDelay = 3;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#fadeLength}
+ attribute's value can be found in the {@link #UnderlinePageIndicator} array.
+
+
+
Must be an integer value, such as "100
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:fadeLength
+ */
+ public static final int UnderlinePageIndicator_fadeLength = 4;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#fades}
+ attribute's value can be found in the {@link #UnderlinePageIndicator} array.
+
+
+
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:fades
+ */
+ public static final int UnderlinePageIndicator_fades = 2;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#selectedColor}
+ attribute's value can be found in the {@link #UnderlinePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator.test:selectedColor
+ */
+ public static final int UnderlinePageIndicator_selectedColor = 1;
+ /** Attributes that can be used with a ViewPagerIndicator.
+
Includes the following attributes:
+
+
+
+ Attribute | Description |
+ {@link #ViewPagerIndicator_vpiCirclePageIndicatorStyle com.viewpagerindicator.test:vpiCirclePageIndicatorStyle} | |
+ {@link #ViewPagerIndicator_vpiIconPageIndicatorStyle com.viewpagerindicator.test:vpiIconPageIndicatorStyle} | |
+ {@link #ViewPagerIndicator_vpiLinePageIndicatorStyle com.viewpagerindicator.test:vpiLinePageIndicatorStyle} | |
+ {@link #ViewPagerIndicator_vpiTabPageIndicatorStyle com.viewpagerindicator.test:vpiTabPageIndicatorStyle} | |
+ {@link #ViewPagerIndicator_vpiTitlePageIndicatorStyle com.viewpagerindicator.test:vpiTitlePageIndicatorStyle} | |
+ {@link #ViewPagerIndicator_vpiUnderlinePageIndicatorStyle com.viewpagerindicator.test:vpiUnderlinePageIndicatorStyle} | |
+
+ @see #ViewPagerIndicator_vpiCirclePageIndicatorStyle
+ @see #ViewPagerIndicator_vpiIconPageIndicatorStyle
+ @see #ViewPagerIndicator_vpiLinePageIndicatorStyle
+ @see #ViewPagerIndicator_vpiTabPageIndicatorStyle
+ @see #ViewPagerIndicator_vpiTitlePageIndicatorStyle
+ @see #ViewPagerIndicator_vpiUnderlinePageIndicatorStyle
+ */
+ public static final int[] ViewPagerIndicator = {
+ 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01001c,
+ 0x7f01001d, 0x7f01001e
+ };
+ /**
+ This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#vpiCirclePageIndicatorStyle}
+ attribute's value can be found in the {@link #ViewPagerIndicator} array.
+
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ @attr name com.viewpagerindicator.test:vpiCirclePageIndicatorStyle
+ */
+ public static final int ViewPagerIndicator_vpiCirclePageIndicatorStyle = 0;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#vpiIconPageIndicatorStyle}
+ attribute's value can be found in the {@link #ViewPagerIndicator} array.
+
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ @attr name com.viewpagerindicator.test:vpiIconPageIndicatorStyle
+ */
+ public static final int ViewPagerIndicator_vpiIconPageIndicatorStyle = 1;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#vpiLinePageIndicatorStyle}
+ attribute's value can be found in the {@link #ViewPagerIndicator} array.
+
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ @attr name com.viewpagerindicator.test:vpiLinePageIndicatorStyle
+ */
+ public static final int ViewPagerIndicator_vpiLinePageIndicatorStyle = 2;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#vpiTabPageIndicatorStyle}
+ attribute's value can be found in the {@link #ViewPagerIndicator} array.
+
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ @attr name com.viewpagerindicator.test:vpiTabPageIndicatorStyle
+ */
+ public static final int ViewPagerIndicator_vpiTabPageIndicatorStyle = 4;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#vpiTitlePageIndicatorStyle}
+ attribute's value can be found in the {@link #ViewPagerIndicator} array.
+
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ @attr name com.viewpagerindicator.test:vpiTitlePageIndicatorStyle
+ */
+ public static final int ViewPagerIndicator_vpiTitlePageIndicatorStyle = 3;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.test.R.attr#vpiUnderlinePageIndicatorStyle}
+ attribute's value can be found in the {@link #ViewPagerIndicator} array.
+
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ @attr name com.viewpagerindicator.test:vpiUnderlinePageIndicatorStyle
+ */
+ public static final int ViewPagerIndicator_vpiUnderlinePageIndicatorStyle = 5;
+ };
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/r/debug/com/viewpagerindicator/R.java b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/r/debug/com/viewpagerindicator/R.java
new file mode 100644
index 0000000..8cf60b2
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/r/debug/com/viewpagerindicator/R.java
@@ -0,0 +1,1044 @@
+/* AUTO-GENERATED FILE. DO NOT MODIFY.
+ *
+ * This class was automatically generated by the
+ * aapt tool from the resource data it found. It
+ * should not be modified by hand.
+ */
+
+package com.viewpagerindicator;
+
+public final class R {
+ public static final class attr {
+ /**
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int centered=0x7f010000;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int clipPadding=0x7f01000b;
+ /**
Must be an integer value, such as "100
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int fadeDelay=0x7f010017;
+ /**
Must be an integer value, such as "100
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int fadeLength=0x7f010018;
+ /**
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int fades=0x7f010016;
+ /**
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int fillColor=0x7f010004;
+ /**
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int footerColor=0x7f01000c;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int footerIndicatorHeight=0x7f01000f;
+ /**
Must be one of the following constant values.
+
+
+
+
+Constant | Value | Description |
+none | 0 | |
+triangle | 1 | |
+underline | 2 | |
+
+ */
+ public static int footerIndicatorStyle=0x7f01000e;
+ /** Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int footerIndicatorUnderlinePadding=0x7f010010;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int footerLineHeight=0x7f01000d;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int footerPadding=0x7f010011;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int gapWidth=0x7f01000a;
+ /**
Must be one of the following constant values.
+
+
+
+
+Constant | Value | Description |
+bottom | 0 | |
+top | 1 | |
+
+ */
+ public static int linePosition=0x7f010012;
+ /** Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int lineWidth=0x7f010009;
+ /**
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int pageColor=0x7f010005;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int radius=0x7f010006;
+ /**
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int selectedBold=0x7f010013;
+ /**
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int selectedColor=0x7f010001;
+ /**
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int snap=0x7f010007;
+ /**
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int strokeColor=0x7f010008;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int strokeWidth=0x7f010002;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int titlePadding=0x7f010014;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int topPadding=0x7f010015;
+ /**
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int unselectedColor=0x7f010003;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ */
+ public static int vpiCirclePageIndicatorStyle=0x7f010019;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ */
+ public static int vpiIconPageIndicatorStyle=0x7f01001a;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ */
+ public static int vpiLinePageIndicatorStyle=0x7f01001b;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ */
+ public static int vpiTabPageIndicatorStyle=0x7f01001d;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ */
+ public static int vpiTitlePageIndicatorStyle=0x7f01001c;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ */
+ public static int vpiUnderlinePageIndicatorStyle=0x7f01001e;
+ }
+ public static final class bool {
+ public static int default_circle_indicator_centered=0x7f030000;
+ public static int default_circle_indicator_snap=0x7f030001;
+ public static int default_line_indicator_centered=0x7f030002;
+ public static int default_title_indicator_selected_bold=0x7f030003;
+ public static int default_underline_indicator_fades=0x7f030004;
+ }
+ public static final class color {
+ public static int default_circle_indicator_fill_color=0x7f040000;
+ public static int default_circle_indicator_page_color=0x7f040001;
+ public static int default_circle_indicator_stroke_color=0x7f040002;
+ public static int default_line_indicator_selected_color=0x7f040003;
+ public static int default_line_indicator_unselected_color=0x7f040004;
+ public static int default_title_indicator_footer_color=0x7f040005;
+ public static int default_title_indicator_selected_color=0x7f040006;
+ public static int default_title_indicator_text_color=0x7f040007;
+ public static int default_underline_indicator_selected_color=0x7f040008;
+ public static int vpi__background_holo_dark=0x7f040009;
+ public static int vpi__background_holo_light=0x7f04000a;
+ public static int vpi__bright_foreground_disabled_holo_dark=0x7f04000b;
+ public static int vpi__bright_foreground_disabled_holo_light=0x7f04000c;
+ public static int vpi__bright_foreground_holo_dark=0x7f04000d;
+ public static int vpi__bright_foreground_holo_light=0x7f04000e;
+ public static int vpi__bright_foreground_inverse_holo_dark=0x7f04000f;
+ public static int vpi__bright_foreground_inverse_holo_light=0x7f040010;
+ public static int vpi__dark_theme=0x7f040011;
+ public static int vpi__light_theme=0x7f040012;
+ }
+ public static final class dimen {
+ public static int default_circle_indicator_radius=0x7f050000;
+ public static int default_circle_indicator_stroke_width=0x7f050001;
+ public static int default_line_indicator_gap_width=0x7f050002;
+ public static int default_line_indicator_line_width=0x7f050003;
+ public static int default_line_indicator_stroke_width=0x7f050004;
+ public static int default_title_indicator_clip_padding=0x7f050005;
+ public static int default_title_indicator_footer_indicator_height=0x7f050006;
+ public static int default_title_indicator_footer_indicator_underline_padding=0x7f050007;
+ public static int default_title_indicator_footer_line_height=0x7f050008;
+ public static int default_title_indicator_footer_padding=0x7f050009;
+ public static int default_title_indicator_text_size=0x7f05000a;
+ public static int default_title_indicator_title_padding=0x7f05000b;
+ public static int default_title_indicator_top_padding=0x7f05000c;
+ }
+ public static final class drawable {
+ public static int community_tab_subscript=0x7f020000;
+ public static int tab=0x7f020001;
+ public static int vpi__tab_indicator=0x7f020002;
+ public static int vpi__tab_selected_focused_holo=0x7f020003;
+ public static int vpi__tab_selected_holo=0x7f020004;
+ public static int vpi__tab_selected_pressed_holo=0x7f020005;
+ public static int vpi__tab_unselected_focused_holo=0x7f020006;
+ public static int vpi__tab_unselected_holo=0x7f020007;
+ public static int vpi__tab_unselected_pressed_holo=0x7f020008;
+ public static int vpi_text_tab_indicator=0x7f020009;
+ }
+ public static final class id {
+ public static int bottom=0x7f080003;
+ public static int none=0x7f080000;
+ public static int top=0x7f080004;
+ public static int triangle=0x7f080001;
+ public static int underline=0x7f080002;
+ }
+ public static final class integer {
+ public static int default_circle_indicator_orientation=0x7f060000;
+ public static int default_title_indicator_footer_indicator_style=0x7f060001;
+ public static int default_title_indicator_line_position=0x7f060002;
+ public static int default_underline_indicator_fade_delay=0x7f060003;
+ public static int default_underline_indicator_fade_length=0x7f060004;
+ }
+ public static final class style {
+ public static int TextAppearance_TabPageIndicator=0x7f070000;
+ public static int Theme_PageIndicatorDefaults=0x7f070001;
+ public static int Widget=0x7f070002;
+ public static int Widget_IconPageIndicator=0x7f070003;
+ public static int Widget_TabPageIndicator=0x7f070004;
+ }
+ public static final class styleable {
+ /** Attributes that can be used with a CirclePageIndicator.
+
Includes the following attributes:
+
+
+
+ Attribute | Description |
+ {@link #CirclePageIndicator_android_background android:background} | |
+ {@link #CirclePageIndicator_android_orientation android:orientation} | |
+ {@link #CirclePageIndicator_centered com.viewpagerindicator:centered} | |
+ {@link #CirclePageIndicator_fillColor com.viewpagerindicator:fillColor} | |
+ {@link #CirclePageIndicator_pageColor com.viewpagerindicator:pageColor} | |
+ {@link #CirclePageIndicator_radius com.viewpagerindicator:radius} | |
+ {@link #CirclePageIndicator_snap com.viewpagerindicator:snap} | |
+ {@link #CirclePageIndicator_strokeColor com.viewpagerindicator:strokeColor} | |
+ {@link #CirclePageIndicator_strokeWidth com.viewpagerindicator:strokeWidth} | |
+
+ @see #CirclePageIndicator_android_background
+ @see #CirclePageIndicator_android_orientation
+ @see #CirclePageIndicator_centered
+ @see #CirclePageIndicator_fillColor
+ @see #CirclePageIndicator_pageColor
+ @see #CirclePageIndicator_radius
+ @see #CirclePageIndicator_snap
+ @see #CirclePageIndicator_strokeColor
+ @see #CirclePageIndicator_strokeWidth
+ */
+ public static final int[] CirclePageIndicator = {
+ 0x010100c4, 0x010100d4, 0x7f010000, 0x7f010002,
+ 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007,
+ 0x7f010008
+ };
+ /**
+ This symbol is the offset where the {@link android.R.attr#background}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+ @attr name android:background
+ */
+ public static int CirclePageIndicator_android_background = 1;
+ /**
+
This symbol is the offset where the {@link android.R.attr#orientation}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+ @attr name android:orientation
+ */
+ public static int CirclePageIndicator_android_orientation = 0;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#centered}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:centered
+ */
+ public static int CirclePageIndicator_centered = 2;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#fillColor}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:fillColor
+ */
+ public static int CirclePageIndicator_fillColor = 4;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#pageColor}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:pageColor
+ */
+ public static int CirclePageIndicator_pageColor = 5;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#radius}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:radius
+ */
+ public static int CirclePageIndicator_radius = 6;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#snap}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:snap
+ */
+ public static int CirclePageIndicator_snap = 7;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#strokeColor}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:strokeColor
+ */
+ public static int CirclePageIndicator_strokeColor = 8;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#strokeWidth}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:strokeWidth
+ */
+ public static int CirclePageIndicator_strokeWidth = 3;
+ /** Attributes that can be used with a LinePageIndicator.
+
Includes the following attributes:
+
+
+
+ Attribute | Description |
+ {@link #LinePageIndicator_android_background android:background} | |
+ {@link #LinePageIndicator_centered com.viewpagerindicator:centered} | |
+ {@link #LinePageIndicator_gapWidth com.viewpagerindicator:gapWidth} | |
+ {@link #LinePageIndicator_lineWidth com.viewpagerindicator:lineWidth} | |
+ {@link #LinePageIndicator_selectedColor com.viewpagerindicator:selectedColor} | |
+ {@link #LinePageIndicator_strokeWidth com.viewpagerindicator:strokeWidth} | |
+ {@link #LinePageIndicator_unselectedColor com.viewpagerindicator:unselectedColor} | |
+
+ @see #LinePageIndicator_android_background
+ @see #LinePageIndicator_centered
+ @see #LinePageIndicator_gapWidth
+ @see #LinePageIndicator_lineWidth
+ @see #LinePageIndicator_selectedColor
+ @see #LinePageIndicator_strokeWidth
+ @see #LinePageIndicator_unselectedColor
+ */
+ public static final int[] LinePageIndicator = {
+ 0x010100d4, 0x7f010000, 0x7f010001, 0x7f010002,
+ 0x7f010003, 0x7f010009, 0x7f01000a
+ };
+ /**
+ This symbol is the offset where the {@link android.R.attr#background}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+ @attr name android:background
+ */
+ public static int LinePageIndicator_android_background = 0;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#centered}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+
+
+
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:centered
+ */
+ public static int LinePageIndicator_centered = 1;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#gapWidth}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:gapWidth
+ */
+ public static int LinePageIndicator_gapWidth = 6;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#lineWidth}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:lineWidth
+ */
+ public static int LinePageIndicator_lineWidth = 5;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#selectedColor}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:selectedColor
+ */
+ public static int LinePageIndicator_selectedColor = 2;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#strokeWidth}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:strokeWidth
+ */
+ public static int LinePageIndicator_strokeWidth = 3;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#unselectedColor}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:unselectedColor
+ */
+ public static int LinePageIndicator_unselectedColor = 4;
+ /** Attributes that can be used with a TitlePageIndicator.
+
Includes the following attributes:
+
+
+
+ Attribute | Description |
+ {@link #TitlePageIndicator_android_background android:background} | |
+ {@link #TitlePageIndicator_android_textColor android:textColor} | |
+ {@link #TitlePageIndicator_android_textSize android:textSize} | |
+ {@link #TitlePageIndicator_clipPadding com.viewpagerindicator:clipPadding} | |
+ {@link #TitlePageIndicator_footerColor com.viewpagerindicator:footerColor} | |
+ {@link #TitlePageIndicator_footerIndicatorHeight com.viewpagerindicator:footerIndicatorHeight} | |
+ {@link #TitlePageIndicator_footerIndicatorStyle com.viewpagerindicator:footerIndicatorStyle} | |
+ {@link #TitlePageIndicator_footerIndicatorUnderlinePadding com.viewpagerindicator:footerIndicatorUnderlinePadding} | |
+ {@link #TitlePageIndicator_footerLineHeight com.viewpagerindicator:footerLineHeight} | |
+ {@link #TitlePageIndicator_footerPadding com.viewpagerindicator:footerPadding} | |
+ {@link #TitlePageIndicator_linePosition com.viewpagerindicator:linePosition} | |
+ {@link #TitlePageIndicator_selectedBold com.viewpagerindicator:selectedBold} | |
+ {@link #TitlePageIndicator_selectedColor com.viewpagerindicator:selectedColor} | |
+ {@link #TitlePageIndicator_titlePadding com.viewpagerindicator:titlePadding} | |
+ {@link #TitlePageIndicator_topPadding com.viewpagerindicator:topPadding} | |
+
+ @see #TitlePageIndicator_android_background
+ @see #TitlePageIndicator_android_textColor
+ @see #TitlePageIndicator_android_textSize
+ @see #TitlePageIndicator_clipPadding
+ @see #TitlePageIndicator_footerColor
+ @see #TitlePageIndicator_footerIndicatorHeight
+ @see #TitlePageIndicator_footerIndicatorStyle
+ @see #TitlePageIndicator_footerIndicatorUnderlinePadding
+ @see #TitlePageIndicator_footerLineHeight
+ @see #TitlePageIndicator_footerPadding
+ @see #TitlePageIndicator_linePosition
+ @see #TitlePageIndicator_selectedBold
+ @see #TitlePageIndicator_selectedColor
+ @see #TitlePageIndicator_titlePadding
+ @see #TitlePageIndicator_topPadding
+ */
+ public static final int[] TitlePageIndicator = {
+ 0x01010095, 0x01010098, 0x010100d4, 0x7f010001,
+ 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e,
+ 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012,
+ 0x7f010013, 0x7f010014, 0x7f010015
+ };
+ /**
+ This symbol is the offset where the {@link android.R.attr#background}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+ @attr name android:background
+ */
+ public static int TitlePageIndicator_android_background = 2;
+ /**
+
This symbol is the offset where the {@link android.R.attr#textColor}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+ @attr name android:textColor
+ */
+ public static int TitlePageIndicator_android_textColor = 1;
+ /**
+
This symbol is the offset where the {@link android.R.attr#textSize}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+ @attr name android:textSize
+ */
+ public static int TitlePageIndicator_android_textSize = 0;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#clipPadding}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:clipPadding
+ */
+ public static int TitlePageIndicator_clipPadding = 4;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#footerColor}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:footerColor
+ */
+ public static int TitlePageIndicator_footerColor = 5;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#footerIndicatorHeight}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:footerIndicatorHeight
+ */
+ public static int TitlePageIndicator_footerIndicatorHeight = 8;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#footerIndicatorStyle}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be one of the following constant values.
+
+
+
+
+Constant | Value | Description |
+none | 0 | |
+triangle | 1 | |
+underline | 2 | |
+
+ @attr name com.viewpagerindicator:footerIndicatorStyle
+ */
+ public static int TitlePageIndicator_footerIndicatorStyle = 7;
+ /**
+ This symbol is the offset where the {@link com.viewpagerindicator.R.attr#footerIndicatorUnderlinePadding}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:footerIndicatorUnderlinePadding
+ */
+ public static int TitlePageIndicator_footerIndicatorUnderlinePadding = 9;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#footerLineHeight}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:footerLineHeight
+ */
+ public static int TitlePageIndicator_footerLineHeight = 6;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#footerPadding}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:footerPadding
+ */
+ public static int TitlePageIndicator_footerPadding = 10;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#linePosition}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be one of the following constant values.
+
+
+
+
+Constant | Value | Description |
+bottom | 0 | |
+top | 1 | |
+
+ @attr name com.viewpagerindicator:linePosition
+ */
+ public static int TitlePageIndicator_linePosition = 11;
+ /**
+ This symbol is the offset where the {@link com.viewpagerindicator.R.attr#selectedBold}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:selectedBold
+ */
+ public static int TitlePageIndicator_selectedBold = 12;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#selectedColor}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:selectedColor
+ */
+ public static int TitlePageIndicator_selectedColor = 3;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#titlePadding}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:titlePadding
+ */
+ public static int TitlePageIndicator_titlePadding = 13;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#topPadding}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:topPadding
+ */
+ public static int TitlePageIndicator_topPadding = 14;
+ /** Attributes that can be used with a UnderlinePageIndicator.
+
Includes the following attributes:
+
+
+
+ Attribute | Description |
+ {@link #UnderlinePageIndicator_android_background android:background} | |
+ {@link #UnderlinePageIndicator_fadeDelay com.viewpagerindicator:fadeDelay} | |
+ {@link #UnderlinePageIndicator_fadeLength com.viewpagerindicator:fadeLength} | |
+ {@link #UnderlinePageIndicator_fades com.viewpagerindicator:fades} | |
+ {@link #UnderlinePageIndicator_selectedColor com.viewpagerindicator:selectedColor} | |
+
+ @see #UnderlinePageIndicator_android_background
+ @see #UnderlinePageIndicator_fadeDelay
+ @see #UnderlinePageIndicator_fadeLength
+ @see #UnderlinePageIndicator_fades
+ @see #UnderlinePageIndicator_selectedColor
+ */
+ public static final int[] UnderlinePageIndicator = {
+ 0x010100d4, 0x7f010001, 0x7f010016, 0x7f010017,
+ 0x7f010018
+ };
+ /**
+ This symbol is the offset where the {@link android.R.attr#background}
+ attribute's value can be found in the {@link #UnderlinePageIndicator} array.
+ @attr name android:background
+ */
+ public static int UnderlinePageIndicator_android_background = 0;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#fadeDelay}
+ attribute's value can be found in the {@link #UnderlinePageIndicator} array.
+
+
+
Must be an integer value, such as "100
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:fadeDelay
+ */
+ public static int UnderlinePageIndicator_fadeDelay = 3;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#fadeLength}
+ attribute's value can be found in the {@link #UnderlinePageIndicator} array.
+
+
+
Must be an integer value, such as "100
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:fadeLength
+ */
+ public static int UnderlinePageIndicator_fadeLength = 4;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#fades}
+ attribute's value can be found in the {@link #UnderlinePageIndicator} array.
+
+
+
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:fades
+ */
+ public static int UnderlinePageIndicator_fades = 2;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#selectedColor}
+ attribute's value can be found in the {@link #UnderlinePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:selectedColor
+ */
+ public static int UnderlinePageIndicator_selectedColor = 1;
+ /** Attributes that can be used with a ViewPagerIndicator.
+
Includes the following attributes:
+
+
+
+ Attribute | Description |
+ {@link #ViewPagerIndicator_vpiCirclePageIndicatorStyle com.viewpagerindicator:vpiCirclePageIndicatorStyle} | |
+ {@link #ViewPagerIndicator_vpiIconPageIndicatorStyle com.viewpagerindicator:vpiIconPageIndicatorStyle} | |
+ {@link #ViewPagerIndicator_vpiLinePageIndicatorStyle com.viewpagerindicator:vpiLinePageIndicatorStyle} | |
+ {@link #ViewPagerIndicator_vpiTabPageIndicatorStyle com.viewpagerindicator:vpiTabPageIndicatorStyle} | |
+ {@link #ViewPagerIndicator_vpiTitlePageIndicatorStyle com.viewpagerindicator:vpiTitlePageIndicatorStyle} | |
+ {@link #ViewPagerIndicator_vpiUnderlinePageIndicatorStyle com.viewpagerindicator:vpiUnderlinePageIndicatorStyle} | |
+
+ @see #ViewPagerIndicator_vpiCirclePageIndicatorStyle
+ @see #ViewPagerIndicator_vpiIconPageIndicatorStyle
+ @see #ViewPagerIndicator_vpiLinePageIndicatorStyle
+ @see #ViewPagerIndicator_vpiTabPageIndicatorStyle
+ @see #ViewPagerIndicator_vpiTitlePageIndicatorStyle
+ @see #ViewPagerIndicator_vpiUnderlinePageIndicatorStyle
+ */
+ public static final int[] ViewPagerIndicator = {
+ 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01001c,
+ 0x7f01001d, 0x7f01001e
+ };
+ /**
+ This symbol is the offset where the {@link com.viewpagerindicator.R.attr#vpiCirclePageIndicatorStyle}
+ attribute's value can be found in the {@link #ViewPagerIndicator} array.
+
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ @attr name com.viewpagerindicator:vpiCirclePageIndicatorStyle
+ */
+ public static int ViewPagerIndicator_vpiCirclePageIndicatorStyle = 0;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#vpiIconPageIndicatorStyle}
+ attribute's value can be found in the {@link #ViewPagerIndicator} array.
+
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ @attr name com.viewpagerindicator:vpiIconPageIndicatorStyle
+ */
+ public static int ViewPagerIndicator_vpiIconPageIndicatorStyle = 1;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#vpiLinePageIndicatorStyle}
+ attribute's value can be found in the {@link #ViewPagerIndicator} array.
+
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ @attr name com.viewpagerindicator:vpiLinePageIndicatorStyle
+ */
+ public static int ViewPagerIndicator_vpiLinePageIndicatorStyle = 2;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#vpiTabPageIndicatorStyle}
+ attribute's value can be found in the {@link #ViewPagerIndicator} array.
+
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ @attr name com.viewpagerindicator:vpiTabPageIndicatorStyle
+ */
+ public static int ViewPagerIndicator_vpiTabPageIndicatorStyle = 4;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#vpiTitlePageIndicatorStyle}
+ attribute's value can be found in the {@link #ViewPagerIndicator} array.
+
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ @attr name com.viewpagerindicator:vpiTitlePageIndicatorStyle
+ */
+ public static int ViewPagerIndicator_vpiTitlePageIndicatorStyle = 3;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#vpiUnderlinePageIndicatorStyle}
+ attribute's value can be found in the {@link #ViewPagerIndicator} array.
+
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ @attr name com.viewpagerindicator:vpiUnderlinePageIndicatorStyle
+ */
+ public static int ViewPagerIndicator_vpiUnderlinePageIndicatorStyle = 5;
+ };
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/r/release/com/viewpagerindicator/R.java b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/r/release/com/viewpagerindicator/R.java
new file mode 100644
index 0000000..8cf60b2
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/generated/source/r/release/com/viewpagerindicator/R.java
@@ -0,0 +1,1044 @@
+/* AUTO-GENERATED FILE. DO NOT MODIFY.
+ *
+ * This class was automatically generated by the
+ * aapt tool from the resource data it found. It
+ * should not be modified by hand.
+ */
+
+package com.viewpagerindicator;
+
+public final class R {
+ public static final class attr {
+ /**
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int centered=0x7f010000;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int clipPadding=0x7f01000b;
+ /**
Must be an integer value, such as "100
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int fadeDelay=0x7f010017;
+ /**
Must be an integer value, such as "100
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int fadeLength=0x7f010018;
+ /**
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int fades=0x7f010016;
+ /**
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int fillColor=0x7f010004;
+ /**
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int footerColor=0x7f01000c;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int footerIndicatorHeight=0x7f01000f;
+ /**
Must be one of the following constant values.
+
+
+
+
+Constant | Value | Description |
+none | 0 | |
+triangle | 1 | |
+underline | 2 | |
+
+ */
+ public static int footerIndicatorStyle=0x7f01000e;
+ /** Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int footerIndicatorUnderlinePadding=0x7f010010;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int footerLineHeight=0x7f01000d;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int footerPadding=0x7f010011;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int gapWidth=0x7f01000a;
+ /**
Must be one of the following constant values.
+
+
+
+
+Constant | Value | Description |
+bottom | 0 | |
+top | 1 | |
+
+ */
+ public static int linePosition=0x7f010012;
+ /** Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int lineWidth=0x7f010009;
+ /**
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int pageColor=0x7f010005;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int radius=0x7f010006;
+ /**
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int selectedBold=0x7f010013;
+ /**
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int selectedColor=0x7f010001;
+ /**
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int snap=0x7f010007;
+ /**
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int strokeColor=0x7f010008;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int strokeWidth=0x7f010002;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int titlePadding=0x7f010014;
+ /**
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int topPadding=0x7f010015;
+ /**
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ */
+ public static int unselectedColor=0x7f010003;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ */
+ public static int vpiCirclePageIndicatorStyle=0x7f010019;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ */
+ public static int vpiIconPageIndicatorStyle=0x7f01001a;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ */
+ public static int vpiLinePageIndicatorStyle=0x7f01001b;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ */
+ public static int vpiTabPageIndicatorStyle=0x7f01001d;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ */
+ public static int vpiTitlePageIndicatorStyle=0x7f01001c;
+ /**
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ */
+ public static int vpiUnderlinePageIndicatorStyle=0x7f01001e;
+ }
+ public static final class bool {
+ public static int default_circle_indicator_centered=0x7f030000;
+ public static int default_circle_indicator_snap=0x7f030001;
+ public static int default_line_indicator_centered=0x7f030002;
+ public static int default_title_indicator_selected_bold=0x7f030003;
+ public static int default_underline_indicator_fades=0x7f030004;
+ }
+ public static final class color {
+ public static int default_circle_indicator_fill_color=0x7f040000;
+ public static int default_circle_indicator_page_color=0x7f040001;
+ public static int default_circle_indicator_stroke_color=0x7f040002;
+ public static int default_line_indicator_selected_color=0x7f040003;
+ public static int default_line_indicator_unselected_color=0x7f040004;
+ public static int default_title_indicator_footer_color=0x7f040005;
+ public static int default_title_indicator_selected_color=0x7f040006;
+ public static int default_title_indicator_text_color=0x7f040007;
+ public static int default_underline_indicator_selected_color=0x7f040008;
+ public static int vpi__background_holo_dark=0x7f040009;
+ public static int vpi__background_holo_light=0x7f04000a;
+ public static int vpi__bright_foreground_disabled_holo_dark=0x7f04000b;
+ public static int vpi__bright_foreground_disabled_holo_light=0x7f04000c;
+ public static int vpi__bright_foreground_holo_dark=0x7f04000d;
+ public static int vpi__bright_foreground_holo_light=0x7f04000e;
+ public static int vpi__bright_foreground_inverse_holo_dark=0x7f04000f;
+ public static int vpi__bright_foreground_inverse_holo_light=0x7f040010;
+ public static int vpi__dark_theme=0x7f040011;
+ public static int vpi__light_theme=0x7f040012;
+ }
+ public static final class dimen {
+ public static int default_circle_indicator_radius=0x7f050000;
+ public static int default_circle_indicator_stroke_width=0x7f050001;
+ public static int default_line_indicator_gap_width=0x7f050002;
+ public static int default_line_indicator_line_width=0x7f050003;
+ public static int default_line_indicator_stroke_width=0x7f050004;
+ public static int default_title_indicator_clip_padding=0x7f050005;
+ public static int default_title_indicator_footer_indicator_height=0x7f050006;
+ public static int default_title_indicator_footer_indicator_underline_padding=0x7f050007;
+ public static int default_title_indicator_footer_line_height=0x7f050008;
+ public static int default_title_indicator_footer_padding=0x7f050009;
+ public static int default_title_indicator_text_size=0x7f05000a;
+ public static int default_title_indicator_title_padding=0x7f05000b;
+ public static int default_title_indicator_top_padding=0x7f05000c;
+ }
+ public static final class drawable {
+ public static int community_tab_subscript=0x7f020000;
+ public static int tab=0x7f020001;
+ public static int vpi__tab_indicator=0x7f020002;
+ public static int vpi__tab_selected_focused_holo=0x7f020003;
+ public static int vpi__tab_selected_holo=0x7f020004;
+ public static int vpi__tab_selected_pressed_holo=0x7f020005;
+ public static int vpi__tab_unselected_focused_holo=0x7f020006;
+ public static int vpi__tab_unselected_holo=0x7f020007;
+ public static int vpi__tab_unselected_pressed_holo=0x7f020008;
+ public static int vpi_text_tab_indicator=0x7f020009;
+ }
+ public static final class id {
+ public static int bottom=0x7f080003;
+ public static int none=0x7f080000;
+ public static int top=0x7f080004;
+ public static int triangle=0x7f080001;
+ public static int underline=0x7f080002;
+ }
+ public static final class integer {
+ public static int default_circle_indicator_orientation=0x7f060000;
+ public static int default_title_indicator_footer_indicator_style=0x7f060001;
+ public static int default_title_indicator_line_position=0x7f060002;
+ public static int default_underline_indicator_fade_delay=0x7f060003;
+ public static int default_underline_indicator_fade_length=0x7f060004;
+ }
+ public static final class style {
+ public static int TextAppearance_TabPageIndicator=0x7f070000;
+ public static int Theme_PageIndicatorDefaults=0x7f070001;
+ public static int Widget=0x7f070002;
+ public static int Widget_IconPageIndicator=0x7f070003;
+ public static int Widget_TabPageIndicator=0x7f070004;
+ }
+ public static final class styleable {
+ /** Attributes that can be used with a CirclePageIndicator.
+
Includes the following attributes:
+
+
+
+ Attribute | Description |
+ {@link #CirclePageIndicator_android_background android:background} | |
+ {@link #CirclePageIndicator_android_orientation android:orientation} | |
+ {@link #CirclePageIndicator_centered com.viewpagerindicator:centered} | |
+ {@link #CirclePageIndicator_fillColor com.viewpagerindicator:fillColor} | |
+ {@link #CirclePageIndicator_pageColor com.viewpagerindicator:pageColor} | |
+ {@link #CirclePageIndicator_radius com.viewpagerindicator:radius} | |
+ {@link #CirclePageIndicator_snap com.viewpagerindicator:snap} | |
+ {@link #CirclePageIndicator_strokeColor com.viewpagerindicator:strokeColor} | |
+ {@link #CirclePageIndicator_strokeWidth com.viewpagerindicator:strokeWidth} | |
+
+ @see #CirclePageIndicator_android_background
+ @see #CirclePageIndicator_android_orientation
+ @see #CirclePageIndicator_centered
+ @see #CirclePageIndicator_fillColor
+ @see #CirclePageIndicator_pageColor
+ @see #CirclePageIndicator_radius
+ @see #CirclePageIndicator_snap
+ @see #CirclePageIndicator_strokeColor
+ @see #CirclePageIndicator_strokeWidth
+ */
+ public static final int[] CirclePageIndicator = {
+ 0x010100c4, 0x010100d4, 0x7f010000, 0x7f010002,
+ 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007,
+ 0x7f010008
+ };
+ /**
+ This symbol is the offset where the {@link android.R.attr#background}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+ @attr name android:background
+ */
+ public static int CirclePageIndicator_android_background = 1;
+ /**
+
This symbol is the offset where the {@link android.R.attr#orientation}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+ @attr name android:orientation
+ */
+ public static int CirclePageIndicator_android_orientation = 0;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#centered}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:centered
+ */
+ public static int CirclePageIndicator_centered = 2;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#fillColor}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:fillColor
+ */
+ public static int CirclePageIndicator_fillColor = 4;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#pageColor}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:pageColor
+ */
+ public static int CirclePageIndicator_pageColor = 5;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#radius}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:radius
+ */
+ public static int CirclePageIndicator_radius = 6;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#snap}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:snap
+ */
+ public static int CirclePageIndicator_snap = 7;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#strokeColor}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:strokeColor
+ */
+ public static int CirclePageIndicator_strokeColor = 8;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#strokeWidth}
+ attribute's value can be found in the {@link #CirclePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:strokeWidth
+ */
+ public static int CirclePageIndicator_strokeWidth = 3;
+ /** Attributes that can be used with a LinePageIndicator.
+
Includes the following attributes:
+
+
+
+ Attribute | Description |
+ {@link #LinePageIndicator_android_background android:background} | |
+ {@link #LinePageIndicator_centered com.viewpagerindicator:centered} | |
+ {@link #LinePageIndicator_gapWidth com.viewpagerindicator:gapWidth} | |
+ {@link #LinePageIndicator_lineWidth com.viewpagerindicator:lineWidth} | |
+ {@link #LinePageIndicator_selectedColor com.viewpagerindicator:selectedColor} | |
+ {@link #LinePageIndicator_strokeWidth com.viewpagerindicator:strokeWidth} | |
+ {@link #LinePageIndicator_unselectedColor com.viewpagerindicator:unselectedColor} | |
+
+ @see #LinePageIndicator_android_background
+ @see #LinePageIndicator_centered
+ @see #LinePageIndicator_gapWidth
+ @see #LinePageIndicator_lineWidth
+ @see #LinePageIndicator_selectedColor
+ @see #LinePageIndicator_strokeWidth
+ @see #LinePageIndicator_unselectedColor
+ */
+ public static final int[] LinePageIndicator = {
+ 0x010100d4, 0x7f010000, 0x7f010001, 0x7f010002,
+ 0x7f010003, 0x7f010009, 0x7f01000a
+ };
+ /**
+ This symbol is the offset where the {@link android.R.attr#background}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+ @attr name android:background
+ */
+ public static int LinePageIndicator_android_background = 0;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#centered}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+
+
+
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:centered
+ */
+ public static int LinePageIndicator_centered = 1;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#gapWidth}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:gapWidth
+ */
+ public static int LinePageIndicator_gapWidth = 6;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#lineWidth}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:lineWidth
+ */
+ public static int LinePageIndicator_lineWidth = 5;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#selectedColor}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:selectedColor
+ */
+ public static int LinePageIndicator_selectedColor = 2;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#strokeWidth}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:strokeWidth
+ */
+ public static int LinePageIndicator_strokeWidth = 3;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#unselectedColor}
+ attribute's value can be found in the {@link #LinePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:unselectedColor
+ */
+ public static int LinePageIndicator_unselectedColor = 4;
+ /** Attributes that can be used with a TitlePageIndicator.
+
Includes the following attributes:
+
+
+
+ Attribute | Description |
+ {@link #TitlePageIndicator_android_background android:background} | |
+ {@link #TitlePageIndicator_android_textColor android:textColor} | |
+ {@link #TitlePageIndicator_android_textSize android:textSize} | |
+ {@link #TitlePageIndicator_clipPadding com.viewpagerindicator:clipPadding} | |
+ {@link #TitlePageIndicator_footerColor com.viewpagerindicator:footerColor} | |
+ {@link #TitlePageIndicator_footerIndicatorHeight com.viewpagerindicator:footerIndicatorHeight} | |
+ {@link #TitlePageIndicator_footerIndicatorStyle com.viewpagerindicator:footerIndicatorStyle} | |
+ {@link #TitlePageIndicator_footerIndicatorUnderlinePadding com.viewpagerindicator:footerIndicatorUnderlinePadding} | |
+ {@link #TitlePageIndicator_footerLineHeight com.viewpagerindicator:footerLineHeight} | |
+ {@link #TitlePageIndicator_footerPadding com.viewpagerindicator:footerPadding} | |
+ {@link #TitlePageIndicator_linePosition com.viewpagerindicator:linePosition} | |
+ {@link #TitlePageIndicator_selectedBold com.viewpagerindicator:selectedBold} | |
+ {@link #TitlePageIndicator_selectedColor com.viewpagerindicator:selectedColor} | |
+ {@link #TitlePageIndicator_titlePadding com.viewpagerindicator:titlePadding} | |
+ {@link #TitlePageIndicator_topPadding com.viewpagerindicator:topPadding} | |
+
+ @see #TitlePageIndicator_android_background
+ @see #TitlePageIndicator_android_textColor
+ @see #TitlePageIndicator_android_textSize
+ @see #TitlePageIndicator_clipPadding
+ @see #TitlePageIndicator_footerColor
+ @see #TitlePageIndicator_footerIndicatorHeight
+ @see #TitlePageIndicator_footerIndicatorStyle
+ @see #TitlePageIndicator_footerIndicatorUnderlinePadding
+ @see #TitlePageIndicator_footerLineHeight
+ @see #TitlePageIndicator_footerPadding
+ @see #TitlePageIndicator_linePosition
+ @see #TitlePageIndicator_selectedBold
+ @see #TitlePageIndicator_selectedColor
+ @see #TitlePageIndicator_titlePadding
+ @see #TitlePageIndicator_topPadding
+ */
+ public static final int[] TitlePageIndicator = {
+ 0x01010095, 0x01010098, 0x010100d4, 0x7f010001,
+ 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e,
+ 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012,
+ 0x7f010013, 0x7f010014, 0x7f010015
+ };
+ /**
+ This symbol is the offset where the {@link android.R.attr#background}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+ @attr name android:background
+ */
+ public static int TitlePageIndicator_android_background = 2;
+ /**
+
This symbol is the offset where the {@link android.R.attr#textColor}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+ @attr name android:textColor
+ */
+ public static int TitlePageIndicator_android_textColor = 1;
+ /**
+
This symbol is the offset where the {@link android.R.attr#textSize}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+ @attr name android:textSize
+ */
+ public static int TitlePageIndicator_android_textSize = 0;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#clipPadding}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:clipPadding
+ */
+ public static int TitlePageIndicator_clipPadding = 4;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#footerColor}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:footerColor
+ */
+ public static int TitlePageIndicator_footerColor = 5;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#footerIndicatorHeight}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:footerIndicatorHeight
+ */
+ public static int TitlePageIndicator_footerIndicatorHeight = 8;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#footerIndicatorStyle}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be one of the following constant values.
+
+
+
+
+Constant | Value | Description |
+none | 0 | |
+triangle | 1 | |
+underline | 2 | |
+
+ @attr name com.viewpagerindicator:footerIndicatorStyle
+ */
+ public static int TitlePageIndicator_footerIndicatorStyle = 7;
+ /**
+ This symbol is the offset where the {@link com.viewpagerindicator.R.attr#footerIndicatorUnderlinePadding}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:footerIndicatorUnderlinePadding
+ */
+ public static int TitlePageIndicator_footerIndicatorUnderlinePadding = 9;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#footerLineHeight}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:footerLineHeight
+ */
+ public static int TitlePageIndicator_footerLineHeight = 6;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#footerPadding}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:footerPadding
+ */
+ public static int TitlePageIndicator_footerPadding = 10;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#linePosition}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be one of the following constant values.
+
+
+
+
+Constant | Value | Description |
+bottom | 0 | |
+top | 1 | |
+
+ @attr name com.viewpagerindicator:linePosition
+ */
+ public static int TitlePageIndicator_linePosition = 11;
+ /**
+ This symbol is the offset where the {@link com.viewpagerindicator.R.attr#selectedBold}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:selectedBold
+ */
+ public static int TitlePageIndicator_selectedBold = 12;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#selectedColor}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:selectedColor
+ */
+ public static int TitlePageIndicator_selectedColor = 3;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#titlePadding}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:titlePadding
+ */
+ public static int TitlePageIndicator_titlePadding = 13;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#topPadding}
+ attribute's value can be found in the {@link #TitlePageIndicator} array.
+
+
+
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
+Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
+in (inches), mm (millimeters).
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:topPadding
+ */
+ public static int TitlePageIndicator_topPadding = 14;
+ /** Attributes that can be used with a UnderlinePageIndicator.
+
Includes the following attributes:
+
+
+
+ Attribute | Description |
+ {@link #UnderlinePageIndicator_android_background android:background} | |
+ {@link #UnderlinePageIndicator_fadeDelay com.viewpagerindicator:fadeDelay} | |
+ {@link #UnderlinePageIndicator_fadeLength com.viewpagerindicator:fadeLength} | |
+ {@link #UnderlinePageIndicator_fades com.viewpagerindicator:fades} | |
+ {@link #UnderlinePageIndicator_selectedColor com.viewpagerindicator:selectedColor} | |
+
+ @see #UnderlinePageIndicator_android_background
+ @see #UnderlinePageIndicator_fadeDelay
+ @see #UnderlinePageIndicator_fadeLength
+ @see #UnderlinePageIndicator_fades
+ @see #UnderlinePageIndicator_selectedColor
+ */
+ public static final int[] UnderlinePageIndicator = {
+ 0x010100d4, 0x7f010001, 0x7f010016, 0x7f010017,
+ 0x7f010018
+ };
+ /**
+ This symbol is the offset where the {@link android.R.attr#background}
+ attribute's value can be found in the {@link #UnderlinePageIndicator} array.
+ @attr name android:background
+ */
+ public static int UnderlinePageIndicator_android_background = 0;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#fadeDelay}
+ attribute's value can be found in the {@link #UnderlinePageIndicator} array.
+
+
+
Must be an integer value, such as "100
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:fadeDelay
+ */
+ public static int UnderlinePageIndicator_fadeDelay = 3;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#fadeLength}
+ attribute's value can be found in the {@link #UnderlinePageIndicator} array.
+
+
+
Must be an integer value, such as "100
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:fadeLength
+ */
+ public static int UnderlinePageIndicator_fadeLength = 4;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#fades}
+ attribute's value can be found in the {@link #UnderlinePageIndicator} array.
+
+
+
Must be a boolean value, either "true
" or "false
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:fades
+ */
+ public static int UnderlinePageIndicator_fades = 2;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#selectedColor}
+ attribute's value can be found in the {@link #UnderlinePageIndicator} array.
+
+
+
Must be a color value, in the form of "#rgb
", "#argb
",
+"#rrggbb
", or "#aarrggbb
".
+
This may also be a reference to a resource (in the form
+"@[package:]type:name
") or
+theme attribute (in the form
+"?[package:][type:]name
")
+containing a value of this type.
+ @attr name com.viewpagerindicator:selectedColor
+ */
+ public static int UnderlinePageIndicator_selectedColor = 1;
+ /** Attributes that can be used with a ViewPagerIndicator.
+
Includes the following attributes:
+
+
+
+ Attribute | Description |
+ {@link #ViewPagerIndicator_vpiCirclePageIndicatorStyle com.viewpagerindicator:vpiCirclePageIndicatorStyle} | |
+ {@link #ViewPagerIndicator_vpiIconPageIndicatorStyle com.viewpagerindicator:vpiIconPageIndicatorStyle} | |
+ {@link #ViewPagerIndicator_vpiLinePageIndicatorStyle com.viewpagerindicator:vpiLinePageIndicatorStyle} | |
+ {@link #ViewPagerIndicator_vpiTabPageIndicatorStyle com.viewpagerindicator:vpiTabPageIndicatorStyle} | |
+ {@link #ViewPagerIndicator_vpiTitlePageIndicatorStyle com.viewpagerindicator:vpiTitlePageIndicatorStyle} | |
+ {@link #ViewPagerIndicator_vpiUnderlinePageIndicatorStyle com.viewpagerindicator:vpiUnderlinePageIndicatorStyle} | |
+
+ @see #ViewPagerIndicator_vpiCirclePageIndicatorStyle
+ @see #ViewPagerIndicator_vpiIconPageIndicatorStyle
+ @see #ViewPagerIndicator_vpiLinePageIndicatorStyle
+ @see #ViewPagerIndicator_vpiTabPageIndicatorStyle
+ @see #ViewPagerIndicator_vpiTitlePageIndicatorStyle
+ @see #ViewPagerIndicator_vpiUnderlinePageIndicatorStyle
+ */
+ public static final int[] ViewPagerIndicator = {
+ 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01001c,
+ 0x7f01001d, 0x7f01001e
+ };
+ /**
+ This symbol is the offset where the {@link com.viewpagerindicator.R.attr#vpiCirclePageIndicatorStyle}
+ attribute's value can be found in the {@link #ViewPagerIndicator} array.
+
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ @attr name com.viewpagerindicator:vpiCirclePageIndicatorStyle
+ */
+ public static int ViewPagerIndicator_vpiCirclePageIndicatorStyle = 0;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#vpiIconPageIndicatorStyle}
+ attribute's value can be found in the {@link #ViewPagerIndicator} array.
+
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ @attr name com.viewpagerindicator:vpiIconPageIndicatorStyle
+ */
+ public static int ViewPagerIndicator_vpiIconPageIndicatorStyle = 1;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#vpiLinePageIndicatorStyle}
+ attribute's value can be found in the {@link #ViewPagerIndicator} array.
+
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ @attr name com.viewpagerindicator:vpiLinePageIndicatorStyle
+ */
+ public static int ViewPagerIndicator_vpiLinePageIndicatorStyle = 2;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#vpiTabPageIndicatorStyle}
+ attribute's value can be found in the {@link #ViewPagerIndicator} array.
+
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ @attr name com.viewpagerindicator:vpiTabPageIndicatorStyle
+ */
+ public static int ViewPagerIndicator_vpiTabPageIndicatorStyle = 4;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#vpiTitlePageIndicatorStyle}
+ attribute's value can be found in the {@link #ViewPagerIndicator} array.
+
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ @attr name com.viewpagerindicator:vpiTitlePageIndicatorStyle
+ */
+ public static int ViewPagerIndicator_vpiTitlePageIndicatorStyle = 3;
+ /**
+
This symbol is the offset where the {@link com.viewpagerindicator.R.attr#vpiUnderlinePageIndicatorStyle}
+ attribute's value can be found in the {@link #ViewPagerIndicator} array.
+
+
+
Must be a reference to another resource, in the form "@[+][package:]type:name
"
+or to a theme attribute in the form "?[package:][type:]name
".
+ @attr name com.viewpagerindicator:vpiUnderlinePageIndicatorStyle
+ */
+ public static int ViewPagerIndicator_vpiUnderlinePageIndicatorStyle = 5;
+ };
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml
new file mode 100644
index 0000000..34763e8
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json
new file mode 100644
index 0000000..c1c46bb
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json
@@ -0,0 +1 @@
+[{"outputType":{"type":"AAPT_FRIENDLY_MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":65,"versionName":"2.4.1","enabled":true,"outputFile":"ViewPagerIndicator_library-debug.aar","fullName":"debug","baseName":"debug","dirName":""},"path":"AndroidManifest.xml","properties":{"packageId":"com.viewpagerindicator","split":""}}]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/annotation_processor_list/debug/annotationProcessors.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/annotation_processor_list/debug/annotationProcessors.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/annotation_processor_list/debug/annotationProcessors.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/androidTest/debug/multi/values.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/androidTest/debug/multi/values.json
new file mode 100644
index 0000000..9466228
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/androidTest/debug/multi/values.json
@@ -0,0 +1,946 @@
+[
+ {
+ "outputFile": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\incremental\\mergeDebugAndroidTestResources\\merged.dir\\values\\values.xml",
+ "map": [
+ {
+ "to": {
+ "startLine": 2,
+ "startColumn": 4,
+ "startOffset": 55,
+ "endColumn": 44,
+ "endOffset": 95
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 2,
+ "startColumn": 4,
+ "startOffset": 55,
+ "endColumn": 44,
+ "endOffset": 95
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 3,
+ "startColumn": 4,
+ "startOffset": 100,
+ "endColumn": 47,
+ "endOffset": 143
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 3,
+ "startColumn": 4,
+ "startOffset": 100,
+ "endColumn": 47,
+ "endOffset": 143
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 4,
+ "startColumn": 4,
+ "startOffset": 148,
+ "endColumn": 49,
+ "endOffset": 193
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 4,
+ "startColumn": 4,
+ "startOffset": 148,
+ "endColumn": 49,
+ "endOffset": 193
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 5,
+ "startColumn": 4,
+ "startOffset": 198,
+ "endColumn": 49,
+ "endOffset": 243
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 5,
+ "startColumn": 4,
+ "startOffset": 198,
+ "endColumn": 49,
+ "endOffset": 243
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 6,
+ "startColumn": 4,
+ "startOffset": 248,
+ "endColumn": 62,
+ "endOffset": 306
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 6,
+ "startColumn": 4,
+ "startOffset": 248,
+ "endColumn": 62,
+ "endOffset": 306
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 7,
+ "startColumn": 4,
+ "startOffset": 311,
+ "endColumn": 59,
+ "endOffset": 366
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 7,
+ "startColumn": 4,
+ "startOffset": 311,
+ "endColumn": 59,
+ "endOffset": 366
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 8,
+ "startColumn": 4,
+ "startOffset": 371,
+ "endColumn": 60,
+ "endOffset": 427
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 8,
+ "startColumn": 4,
+ "startOffset": 371,
+ "endColumn": 60,
+ "endOffset": 427
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 9,
+ "startColumn": 4,
+ "startOffset": 432,
+ "endColumn": 66,
+ "endOffset": 494
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 9,
+ "startColumn": 4,
+ "startOffset": 432,
+ "endColumn": 66,
+ "endOffset": 494
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 10,
+ "startColumn": 4,
+ "startOffset": 499,
+ "endColumn": 62,
+ "endOffset": 557
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 10,
+ "startColumn": 4,
+ "startOffset": 499,
+ "endColumn": 62,
+ "endOffset": 557
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 11,
+ "startColumn": 4,
+ "startOffset": 562,
+ "endColumn": 71,
+ "endOffset": 629
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 11,
+ "startColumn": 4,
+ "startOffset": 562,
+ "endColumn": 71,
+ "endOffset": 629
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 12,
+ "startColumn": 4,
+ "startOffset": 634,
+ "endColumn": 71,
+ "endOffset": 701
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 12,
+ "startColumn": 4,
+ "startOffset": 634,
+ "endColumn": 71,
+ "endOffset": 701
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 13,
+ "startColumn": 4,
+ "startOffset": 706,
+ "endColumn": 73,
+ "endOffset": 775
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 13,
+ "startColumn": 4,
+ "startOffset": 706,
+ "endColumn": 73,
+ "endOffset": 775
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 14,
+ "startColumn": 4,
+ "startOffset": 780,
+ "endColumn": 73,
+ "endOffset": 849
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 14,
+ "startColumn": 4,
+ "startOffset": 780,
+ "endColumn": 73,
+ "endOffset": 849
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 15,
+ "startColumn": 4,
+ "startOffset": 854,
+ "endColumn": 75,
+ "endOffset": 925
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 15,
+ "startColumn": 4,
+ "startOffset": 854,
+ "endColumn": 75,
+ "endOffset": 925
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 16,
+ "startColumn": 4,
+ "startOffset": 930,
+ "endColumn": 72,
+ "endOffset": 998
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 16,
+ "startColumn": 4,
+ "startOffset": 930,
+ "endColumn": 72,
+ "endOffset": 998
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 17,
+ "startColumn": 4,
+ "startOffset": 1003,
+ "endColumn": 74,
+ "endOffset": 1073
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 17,
+ "startColumn": 4,
+ "startOffset": 1003,
+ "endColumn": 74,
+ "endOffset": 1073
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 18,
+ "startColumn": 4,
+ "startOffset": 1078,
+ "endColumn": 70,
+ "endOffset": 1144
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 18,
+ "startColumn": 4,
+ "startOffset": 1078,
+ "endColumn": 70,
+ "endOffset": 1144
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 19,
+ "startColumn": 4,
+ "startOffset": 1149,
+ "endColumn": 78,
+ "endOffset": 1223
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 19,
+ "startColumn": 4,
+ "startOffset": 1149,
+ "endColumn": 78,
+ "endOffset": 1223
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 20,
+ "startColumn": 4,
+ "startOffset": 1228,
+ "endColumn": 61,
+ "endOffset": 1285
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 20,
+ "startColumn": 4,
+ "startOffset": 1228,
+ "endColumn": 61,
+ "endOffset": 1285
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 21,
+ "startColumn": 4,
+ "startOffset": 1290,
+ "endColumn": 62,
+ "endOffset": 1348
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 21,
+ "startColumn": 4,
+ "startOffset": 1290,
+ "endColumn": 62,
+ "endOffset": 1348
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 22,
+ "startColumn": 4,
+ "startOffset": 1353,
+ "endColumn": 77,
+ "endOffset": 1426
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 22,
+ "startColumn": 4,
+ "startOffset": 1353,
+ "endColumn": 77,
+ "endOffset": 1426
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 23,
+ "startColumn": 4,
+ "startOffset": 1431,
+ "endColumn": 78,
+ "endOffset": 1505
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 23,
+ "startColumn": 4,
+ "startOffset": 1431,
+ "endColumn": 78,
+ "endOffset": 1505
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 24,
+ "startColumn": 4,
+ "startOffset": 1510,
+ "endColumn": 92,
+ "endOffset": 1598
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 24,
+ "startColumn": 4,
+ "startOffset": 1510,
+ "endColumn": 92,
+ "endOffset": 1598
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 25,
+ "startColumn": 4,
+ "startOffset": 1603,
+ "endColumn": 92,
+ "endOffset": 1691
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 25,
+ "startColumn": 4,
+ "startOffset": 1603,
+ "endColumn": 92,
+ "endOffset": 1691
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 26,
+ "startColumn": 4,
+ "startOffset": 1696,
+ "endColumn": 107,
+ "endOffset": 1799
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 26,
+ "startColumn": 4,
+ "startOffset": 1696,
+ "endColumn": 107,
+ "endOffset": 1799
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 27,
+ "startColumn": 4,
+ "startOffset": 1804,
+ "endColumn": 107,
+ "endOffset": 1907
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 27,
+ "startColumn": 4,
+ "startOffset": 1804,
+ "endColumn": 107,
+ "endOffset": 1907
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 40,
+ "startColumn": 4,
+ "startOffset": 4217,
+ "endColumn": 61,
+ "endOffset": 4274
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 40,
+ "startColumn": 4,
+ "startOffset": 4217,
+ "endColumn": 61,
+ "endOffset": 4274
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 41,
+ "startColumn": 4,
+ "startOffset": 4279,
+ "endColumn": 67,
+ "endOffset": 4342
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 41,
+ "startColumn": 4,
+ "startOffset": 4279,
+ "endColumn": 67,
+ "endOffset": 4342
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 42,
+ "startColumn": 4,
+ "startOffset": 4347,
+ "endColumn": 62,
+ "endOffset": 4405
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 42,
+ "startColumn": 4,
+ "startOffset": 4347,
+ "endColumn": 62,
+ "endOffset": 4405
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 43,
+ "startColumn": 4,
+ "startOffset": 4410,
+ "endColumn": 64,
+ "endOffset": 4470
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 43,
+ "startColumn": 4,
+ "startOffset": 4410,
+ "endColumn": 64,
+ "endOffset": 4470
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 44,
+ "startColumn": 4,
+ "startOffset": 4475,
+ "endColumn": 65,
+ "endOffset": 4536
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 44,
+ "startColumn": 4,
+ "startOffset": 4475,
+ "endColumn": 65,
+ "endOffset": 4536
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 45,
+ "startColumn": 4,
+ "startOffset": 4541,
+ "endColumn": 66,
+ "endOffset": 4603
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 45,
+ "startColumn": 4,
+ "startOffset": 4541,
+ "endColumn": 66,
+ "endOffset": 4603
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 46,
+ "startColumn": 4,
+ "startOffset": 4608,
+ "endColumn": 77,
+ "endOffset": 4681
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 46,
+ "startColumn": 4,
+ "startOffset": 4608,
+ "endColumn": 77,
+ "endOffset": 4681
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 47,
+ "startColumn": 4,
+ "startOffset": 4686,
+ "endColumn": 89,
+ "endOffset": 4771
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 47,
+ "startColumn": 4,
+ "startOffset": 4686,
+ "endColumn": 89,
+ "endOffset": 4771
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 48,
+ "startColumn": 4,
+ "startOffset": 4776,
+ "endColumn": 72,
+ "endOffset": 4844
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 48,
+ "startColumn": 4,
+ "startOffset": 4776,
+ "endColumn": 72,
+ "endOffset": 4844
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 49,
+ "startColumn": 4,
+ "startOffset": 4849,
+ "endColumn": 68,
+ "endOffset": 4913
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 49,
+ "startColumn": 4,
+ "startOffset": 4849,
+ "endColumn": 68,
+ "endOffset": 4913
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 50,
+ "startColumn": 4,
+ "startOffset": 4918,
+ "endColumn": 64,
+ "endOffset": 4978
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 50,
+ "startColumn": 4,
+ "startOffset": 4918,
+ "endColumn": 64,
+ "endOffset": 4978
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 51,
+ "startColumn": 4,
+ "startOffset": 4983,
+ "endColumn": 67,
+ "endOffset": 5046
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 51,
+ "startColumn": 4,
+ "startOffset": 4983,
+ "endColumn": 67,
+ "endOffset": 5046
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 52,
+ "startColumn": 4,
+ "startOffset": 5051,
+ "endColumn": 65,
+ "endOffset": 5112
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 52,
+ "startColumn": 4,
+ "startOffset": 5051,
+ "endColumn": 65,
+ "endOffset": 5112
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 53,
+ "startColumn": 4,
+ "startOffset": 5117,
+ "endColumn": 68,
+ "endOffset": 5181
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 53,
+ "startColumn": 4,
+ "startOffset": 5117,
+ "endColumn": 68,
+ "endOffset": 5181
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 54,
+ "startColumn": 4,
+ "startOffset": 5186,
+ "endColumn": 78,
+ "endOffset": 5260
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 54,
+ "startColumn": 4,
+ "startOffset": 5186,
+ "endColumn": 78,
+ "endOffset": 5260
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 55,
+ "startColumn": 4,
+ "startOffset": 5265,
+ "endColumn": 69,
+ "endOffset": 5330
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 55,
+ "startColumn": 4,
+ "startOffset": 5265,
+ "endColumn": 69,
+ "endOffset": 5330
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 56,
+ "startColumn": 4,
+ "startOffset": 5335,
+ "endColumn": 72,
+ "endOffset": 5403
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 56,
+ "startColumn": 4,
+ "startOffset": 5335,
+ "endColumn": 72,
+ "endOffset": 5403
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 57,
+ "startColumn": 4,
+ "startOffset": 5408,
+ "endColumn": 73,
+ "endOffset": 5477
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 57,
+ "startColumn": 4,
+ "startOffset": 5408,
+ "endColumn": 73,
+ "endOffset": 5477
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 58,
+ "startColumn": 4,
+ "startOffset": 5482,
+ "endLine": 61,
+ "endColumn": 12,
+ "endOffset": 5677
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 58,
+ "startColumn": 4,
+ "startOffset": 5482,
+ "endLine": 61,
+ "endColumn": 12,
+ "endOffset": 5677
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 62,
+ "startColumn": 4,
+ "startOffset": 5682,
+ "endLine": 65,
+ "endColumn": 12,
+ "endOffset": 5930
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 62,
+ "startColumn": 4,
+ "startOffset": 5682,
+ "endLine": 65,
+ "endColumn": 12,
+ "endOffset": 5930
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 66,
+ "startColumn": 4,
+ "startOffset": 5935,
+ "endColumn": 26,
+ "endOffset": 5957
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 66,
+ "startColumn": 4,
+ "startOffset": 5935,
+ "endColumn": 26,
+ "endOffset": 5957
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 67,
+ "startColumn": 4,
+ "startOffset": 5962,
+ "endLine": 70,
+ "endColumn": 12,
+ "endOffset": 6147
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 67,
+ "startColumn": 4,
+ "startOffset": 5962,
+ "endLine": 70,
+ "endColumn": 12,
+ "endOffset": 6147
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 71,
+ "startColumn": 4,
+ "startOffset": 6152,
+ "endLine": 82,
+ "endColumn": 12,
+ "endOffset": 6828
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\values\\values.xml",
+ "position": {
+ "startLine": 71,
+ "startColumn": 4,
+ "startOffset": 6152,
+ "endLine": 82,
+ "endColumn": 12,
+ "endOffset": 6828
+ }
+ }
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/androidTest/debug/single/color.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/androidTest/debug/single/color.json
new file mode 100644
index 0000000..1725ca7
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/androidTest/debug/single/color.json
@@ -0,0 +1,10 @@
+[
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\color\\vpi__light_theme.xml",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\color\\vpi__light_theme.xml"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\color\\vpi__dark_theme.xml",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\color\\vpi__dark_theme.xml"
+ }
+]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/androidTest/debug/single/drawable-hdpi-v4.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/androidTest/debug/single/drawable-hdpi-v4.json
new file mode 100644
index 0000000..ddd76b5
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/androidTest/debug/single/drawable-hdpi-v4.json
@@ -0,0 +1,34 @@
+[
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\tab.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\tab.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\vpi__tab_unselected_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\community_tab_subscript.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\community_tab_subscript.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_pressed_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\vpi__tab_unselected_pressed_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_focused_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\vpi__tab_unselected_focused_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\vpi__tab_selected_focused_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\vpi__tab_selected_focused_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\vpi__tab_selected_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\vpi__tab_selected_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\vpi__tab_selected_pressed_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\vpi__tab_selected_pressed_holo.9.png"
+ }
+]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/androidTest/debug/single/drawable-mdpi-v4.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/androidTest/debug/single/drawable-mdpi-v4.json
new file mode 100644
index 0000000..d9f7045
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/androidTest/debug/single/drawable-mdpi-v4.json
@@ -0,0 +1,26 @@
+[
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\vpi__tab_unselected_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_focused_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\vpi__tab_unselected_focused_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-mdpi-v4\\vpi__tab_selected_focused_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\vpi__tab_selected_focused_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_pressed_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\vpi__tab_unselected_pressed_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-mdpi-v4\\vpi__tab_selected_pressed_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\vpi__tab_selected_pressed_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-mdpi-v4\\vpi__tab_selected_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\vpi__tab_selected_holo.9.png"
+ }
+]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/androidTest/debug/single/drawable-xhdpi-v4.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/androidTest/debug/single/drawable-xhdpi-v4.json
new file mode 100644
index 0000000..0966b30
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/androidTest/debug/single/drawable-xhdpi-v4.json
@@ -0,0 +1,26 @@
+[
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\vpi__tab_unselected_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\vpi__tab_selected_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_pressed_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\vpi__tab_unselected_pressed_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_focused_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\vpi__tab_unselected_focused_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_focused_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\vpi__tab_selected_focused_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_pressed_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\vpi__tab_selected_pressed_holo.9.png"
+ }
+]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/androidTest/debug/single/drawable.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/androidTest/debug/single/drawable.json
new file mode 100644
index 0000000..abe26c6
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/androidTest/debug/single/drawable.json
@@ -0,0 +1,10 @@
+[
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable\\vpi__tab_indicator.xml",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable\\vpi__tab_indicator.xml"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable\\vpi_text_tab_indicator.xml",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable\\vpi_text_tab_indicator.xml"
+ }
+]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/debug/multi/values.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/debug/multi/values.json
new file mode 100644
index 0000000..26b6b4a
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/debug/multi/values.json
@@ -0,0 +1,946 @@
+[
+ {
+ "outputFile": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\incremental\\mergeDebugResources\\merged.dir\\values\\values.xml",
+ "map": [
+ {
+ "to": {
+ "startLine": 2,
+ "startColumn": 4,
+ "startOffset": 55,
+ "endColumn": 44,
+ "endOffset": 95
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__attrs.xml",
+ "position": {
+ "startLine": 33,
+ "startColumn": 4,
+ "startOffset": 1498,
+ "endColumn": 45,
+ "endOffset": 1539
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 3,
+ "startColumn": 4,
+ "startOffset": 100,
+ "endColumn": 47,
+ "endOffset": 143
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__attrs.xml",
+ "position": {
+ "startLine": 34,
+ "startColumn": 4,
+ "startOffset": 1544,
+ "endColumn": 48,
+ "endOffset": 1588
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 4,
+ "startColumn": 4,
+ "startOffset": 148,
+ "endColumn": 49,
+ "endOffset": 193
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__attrs.xml",
+ "position": {
+ "startLine": 35,
+ "startColumn": 4,
+ "startOffset": 1593,
+ "endColumn": 50,
+ "endOffset": 1639
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 5,
+ "startColumn": 4,
+ "startOffset": 198,
+ "endColumn": 49,
+ "endOffset": 243
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__attrs.xml",
+ "position": {
+ "startLine": 36,
+ "startColumn": 4,
+ "startOffset": 1644,
+ "endColumn": 50,
+ "endOffset": 1690
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 6,
+ "startColumn": 4,
+ "startOffset": 248,
+ "endColumn": 62,
+ "endOffset": 306
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 17,
+ "startColumn": 4,
+ "startOffset": 668,
+ "endColumn": 62,
+ "endOffset": 726
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 7,
+ "startColumn": 4,
+ "startOffset": 311,
+ "endColumn": 59,
+ "endOffset": 366
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 22,
+ "startColumn": 4,
+ "startOffset": 1006,
+ "endColumn": 59,
+ "endOffset": 1061
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 8,
+ "startColumn": 4,
+ "startOffset": 371,
+ "endColumn": 60,
+ "endOffset": 427
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 31,
+ "startColumn": 4,
+ "startOffset": 1553,
+ "endColumn": 60,
+ "endOffset": 1609
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 9,
+ "startColumn": 4,
+ "startOffset": 432,
+ "endColumn": 66,
+ "endOffset": 494
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 42,
+ "startColumn": 4,
+ "startOffset": 2289,
+ "endColumn": 66,
+ "endOffset": 2351
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 10,
+ "startColumn": 4,
+ "startOffset": 499,
+ "endColumn": 62,
+ "endOffset": 557
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 48,
+ "startColumn": 4,
+ "startOffset": 2627,
+ "endColumn": 62,
+ "endOffset": 2685
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 11,
+ "startColumn": 4,
+ "startOffset": 562,
+ "endColumn": 71,
+ "endOffset": 629
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 18,
+ "startColumn": 4,
+ "startOffset": 731,
+ "endColumn": 71,
+ "endOffset": 798
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 12,
+ "startColumn": 4,
+ "startOffset": 634,
+ "endColumn": 71,
+ "endOffset": 701
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 19,
+ "startColumn": 4,
+ "startOffset": 803,
+ "endColumn": 71,
+ "endOffset": 870
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 13,
+ "startColumn": 4,
+ "startOffset": 706,
+ "endColumn": 73,
+ "endOffset": 775
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 23,
+ "startColumn": 4,
+ "startOffset": 1066,
+ "endColumn": 73,
+ "endOffset": 1135
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 14,
+ "startColumn": 4,
+ "startOffset": 780,
+ "endColumn": 73,
+ "endOffset": 849
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 29,
+ "startColumn": 4,
+ "startOffset": 1403,
+ "endColumn": 73,
+ "endOffset": 1472
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 15,
+ "startColumn": 4,
+ "startOffset": 854,
+ "endColumn": 75,
+ "endOffset": 925
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 30,
+ "startColumn": 4,
+ "startOffset": 1477,
+ "endColumn": 75,
+ "endOffset": 1548
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 16,
+ "startColumn": 4,
+ "startOffset": 930,
+ "endColumn": 72,
+ "endOffset": 998
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 34,
+ "startColumn": 4,
+ "startOffset": 1682,
+ "endColumn": 72,
+ "endOffset": 1750
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 17,
+ "startColumn": 4,
+ "startOffset": 1003,
+ "endColumn": 74,
+ "endOffset": 1073
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 41,
+ "startColumn": 4,
+ "startOffset": 2214,
+ "endColumn": 74,
+ "endOffset": 2284
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 18,
+ "startColumn": 4,
+ "startOffset": 1078,
+ "endColumn": 70,
+ "endOffset": 1144
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 43,
+ "startColumn": 4,
+ "startOffset": 2356,
+ "endColumn": 70,
+ "endOffset": 2422
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 19,
+ "startColumn": 4,
+ "startOffset": 1149,
+ "endColumn": 78,
+ "endOffset": 1223
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 51,
+ "startColumn": 4,
+ "startOffset": 2837,
+ "endColumn": 78,
+ "endOffset": 2911
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 20,
+ "startColumn": 4,
+ "startOffset": 1228,
+ "endColumn": 61,
+ "endOffset": 1285
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
+ "position": {
+ "startLine": 17,
+ "startColumn": 4,
+ "startOffset": 668,
+ "endColumn": 61,
+ "endOffset": 725
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 21,
+ "startColumn": 4,
+ "startOffset": 1290,
+ "endColumn": 62,
+ "endOffset": 1348
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
+ "position": {
+ "startLine": 18,
+ "startColumn": 4,
+ "startOffset": 730,
+ "endColumn": 62,
+ "endOffset": 788
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 22,
+ "startColumn": 4,
+ "startOffset": 1353,
+ "endColumn": 77,
+ "endOffset": 1426
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
+ "position": {
+ "startLine": 21,
+ "startColumn": 4,
+ "startOffset": 979,
+ "endColumn": 77,
+ "endOffset": 1052
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 23,
+ "startColumn": 4,
+ "startOffset": 1431,
+ "endColumn": 78,
+ "endOffset": 1505
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
+ "position": {
+ "startLine": 22,
+ "startColumn": 4,
+ "startOffset": 1057,
+ "endColumn": 78,
+ "endOffset": 1131
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 24,
+ "startColumn": 4,
+ "startOffset": 1510,
+ "endColumn": 92,
+ "endOffset": 1598
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
+ "position": {
+ "startLine": 19,
+ "startColumn": 4,
+ "startOffset": 793,
+ "endColumn": 92,
+ "endOffset": 881
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 25,
+ "startColumn": 4,
+ "startOffset": 1603,
+ "endColumn": 92,
+ "endOffset": 1691
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
+ "position": {
+ "startLine": 20,
+ "startColumn": 4,
+ "startOffset": 886,
+ "endColumn": 92,
+ "endOffset": 974
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 26,
+ "startColumn": 4,
+ "startOffset": 1696,
+ "endColumn": 107,
+ "endOffset": 1799
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
+ "position": {
+ "startLine": 23,
+ "startColumn": 4,
+ "startOffset": 1136,
+ "endColumn": 107,
+ "endOffset": 1239
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 27,
+ "startColumn": 4,
+ "startOffset": 1804,
+ "endColumn": 107,
+ "endOffset": 1907
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
+ "position": {
+ "startLine": 24,
+ "startColumn": 4,
+ "startOffset": 1244,
+ "endColumn": 107,
+ "endOffset": 1347
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 40,
+ "startColumn": 4,
+ "startOffset": 4217,
+ "endColumn": 61,
+ "endOffset": 4274
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 21,
+ "startColumn": 4,
+ "startOffset": 944,
+ "endColumn": 61,
+ "endOffset": 1001
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 41,
+ "startColumn": 4,
+ "startOffset": 4279,
+ "endColumn": 67,
+ "endOffset": 4342
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 24,
+ "startColumn": 4,
+ "startOffset": 1140,
+ "endColumn": 67,
+ "endOffset": 1203
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 42,
+ "startColumn": 4,
+ "startOffset": 4347,
+ "endColumn": 62,
+ "endOffset": 4405
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 27,
+ "startColumn": 4,
+ "startOffset": 1274,
+ "endColumn": 62,
+ "endOffset": 1332
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 43,
+ "startColumn": 4,
+ "startOffset": 4410,
+ "endColumn": 64,
+ "endOffset": 4470
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 26,
+ "startColumn": 4,
+ "startOffset": 1209,
+ "endColumn": 64,
+ "endOffset": 1269
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 44,
+ "startColumn": 4,
+ "startOffset": 4475,
+ "endColumn": 65,
+ "endOffset": 4536
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 28,
+ "startColumn": 4,
+ "startOffset": 1337,
+ "endColumn": 65,
+ "endOffset": 1398
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 45,
+ "startColumn": 4,
+ "startOffset": 4541,
+ "endColumn": 66,
+ "endOffset": 4603
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 33,
+ "startColumn": 4,
+ "startOffset": 1615,
+ "endColumn": 66,
+ "endOffset": 1677
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 46,
+ "startColumn": 4,
+ "startOffset": 4608,
+ "endColumn": 77,
+ "endOffset": 4681
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 37,
+ "startColumn": 4,
+ "startOffset": 1907,
+ "endColumn": 77,
+ "endOffset": 1980
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 47,
+ "startColumn": 4,
+ "startOffset": 4686,
+ "endColumn": 89,
+ "endOffset": 4771
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 38,
+ "startColumn": 4,
+ "startOffset": 1985,
+ "endColumn": 89,
+ "endOffset": 2070
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 48,
+ "startColumn": 4,
+ "startOffset": 4776,
+ "endColumn": 72,
+ "endOffset": 4844
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 35,
+ "startColumn": 4,
+ "startOffset": 1755,
+ "endColumn": 72,
+ "endOffset": 1823
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 49,
+ "startColumn": 4,
+ "startOffset": 4849,
+ "endColumn": 68,
+ "endOffset": 4913
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 39,
+ "startColumn": 4,
+ "startOffset": 2075,
+ "endColumn": 68,
+ "endOffset": 2139
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 50,
+ "startColumn": 4,
+ "startOffset": 4918,
+ "endColumn": 64,
+ "endOffset": 4978
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 44,
+ "startColumn": 4,
+ "startOffset": 2427,
+ "endColumn": 64,
+ "endOffset": 2487
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 51,
+ "startColumn": 4,
+ "startOffset": 4983,
+ "endColumn": 67,
+ "endOffset": 5046
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 45,
+ "startColumn": 4,
+ "startOffset": 2492,
+ "endColumn": 67,
+ "endOffset": 2555
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 52,
+ "startColumn": 4,
+ "startOffset": 5051,
+ "endColumn": 65,
+ "endOffset": 5112
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 46,
+ "startColumn": 4,
+ "startOffset": 2560,
+ "endColumn": 65,
+ "endOffset": 2621
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 53,
+ "startColumn": 4,
+ "startOffset": 5117,
+ "endColumn": 68,
+ "endOffset": 5181
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 20,
+ "startColumn": 4,
+ "startOffset": 875,
+ "endColumn": 68,
+ "endOffset": 939
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 54,
+ "startColumn": 4,
+ "startOffset": 5186,
+ "endColumn": 78,
+ "endOffset": 5260
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 36,
+ "startColumn": 4,
+ "startOffset": 1828,
+ "endColumn": 78,
+ "endOffset": 1902
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 55,
+ "startColumn": 4,
+ "startOffset": 5265,
+ "endColumn": 69,
+ "endOffset": 5330
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 40,
+ "startColumn": 4,
+ "startOffset": 2144,
+ "endColumn": 69,
+ "endOffset": 2209
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 56,
+ "startColumn": 4,
+ "startOffset": 5335,
+ "endColumn": 72,
+ "endOffset": 5403
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 49,
+ "startColumn": 4,
+ "startOffset": 2690,
+ "endColumn": 72,
+ "endOffset": 2758
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 57,
+ "startColumn": 4,
+ "startOffset": 5408,
+ "endColumn": 73,
+ "endOffset": 5477
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 50,
+ "startColumn": 4,
+ "startOffset": 2763,
+ "endColumn": 73,
+ "endOffset": 2832
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 58,
+ "startColumn": 4,
+ "startOffset": 5482,
+ "endLine": 61,
+ "endColumn": 12,
+ "endOffset": 5677
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
+ "position": {
+ "startLine": 37,
+ "startColumn": 4,
+ "startOffset": 1639,
+ "endLine": 40,
+ "endColumn": 12,
+ "endOffset": 1834
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 62,
+ "startColumn": 4,
+ "startOffset": 5682,
+ "endLine": 65,
+ "endColumn": 12,
+ "endOffset": 5930
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
+ "position": {
+ "startLine": 17,
+ "startColumn": 4,
+ "startOffset": 668,
+ "endLine": 20,
+ "endColumn": 12,
+ "endOffset": 916
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 66,
+ "startColumn": 4,
+ "startOffset": 5935,
+ "endColumn": 26,
+ "endOffset": 5957
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
+ "position": {
+ "startLine": 22,
+ "startColumn": 4,
+ "startOffset": 922,
+ "endColumn": 33,
+ "endOffset": 951
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 67,
+ "startColumn": 4,
+ "startOffset": 5962,
+ "endLine": 70,
+ "endColumn": 12,
+ "endOffset": 6147
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
+ "position": {
+ "startLine": 42,
+ "startColumn": 4,
+ "startOffset": 1840,
+ "endLine": 45,
+ "endColumn": 12,
+ "endOffset": 2025
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 71,
+ "startColumn": 4,
+ "startOffset": 6152,
+ "endLine": 82,
+ "endColumn": 12,
+ "endOffset": 6828
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
+ "position": {
+ "startLine": 24,
+ "startColumn": 4,
+ "startOffset": 957,
+ "endLine": 35,
+ "endColumn": 12,
+ "endOffset": 1633
+ }
+ }
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/debug/single/color.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/debug/single/color.json
new file mode 100644
index 0000000..da6e131
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/debug/single/color.json
@@ -0,0 +1,10 @@
+[
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\color\\vpi__light_theme.xml",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\color\\vpi__light_theme.xml"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\color\\vpi__dark_theme.xml",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\color\\vpi__dark_theme.xml"
+ }
+]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/debug/single/drawable-hdpi-v4.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/debug/single/drawable-hdpi-v4.json
new file mode 100644
index 0000000..3204906
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/debug/single/drawable-hdpi-v4.json
@@ -0,0 +1,34 @@
+[
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_pressed_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_pressed_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\community_tab_subscript.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\community_tab_subscript.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\tab.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\tab.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\vpi__tab_selected_pressed_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_pressed_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\vpi__tab_selected_focused_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_focused_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\vpi__tab_selected_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_focused_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_focused_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_holo.9.png"
+ }
+]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/debug/single/drawable-mdpi-v4.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/debug/single/drawable-mdpi-v4.json
new file mode 100644
index 0000000..72b6d87
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/debug/single/drawable-mdpi-v4.json
@@ -0,0 +1,26 @@
+[
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-mdpi-v4\\vpi__tab_selected_focused_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_focused_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-mdpi-v4\\vpi__tab_selected_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_focused_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_focused_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-mdpi-v4\\vpi__tab_selected_pressed_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_pressed_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_pressed_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_pressed_holo.9.png"
+ }
+]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/debug/single/drawable-xhdpi-v4.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/debug/single/drawable-xhdpi-v4.json
new file mode 100644
index 0000000..bc0a874
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/debug/single/drawable-xhdpi-v4.json
@@ -0,0 +1,26 @@
+[
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_focused_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_focused_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_pressed_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_pressed_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_pressed_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_pressed_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_focused_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_focused_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_holo.9.png"
+ }
+]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/debug/single/drawable.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/debug/single/drawable.json
new file mode 100644
index 0000000..cb79e0c
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/debug/single/drawable.json
@@ -0,0 +1,10 @@
+[
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable\\vpi_text_tab_indicator.xml",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable\\vpi_text_tab_indicator.xml"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable\\vpi__tab_indicator.xml",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable\\vpi__tab_indicator.xml"
+ }
+]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/release/multi/values.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/release/multi/values.json
new file mode 100644
index 0000000..4efd441
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/release/multi/values.json
@@ -0,0 +1,946 @@
+[
+ {
+ "outputFile": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\incremental\\mergeReleaseResources\\merged.dir\\values\\values.xml",
+ "map": [
+ {
+ "to": {
+ "startLine": 2,
+ "startColumn": 4,
+ "startOffset": 55,
+ "endColumn": 44,
+ "endOffset": 95
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__attrs.xml",
+ "position": {
+ "startLine": 33,
+ "startColumn": 4,
+ "startOffset": 1498,
+ "endColumn": 45,
+ "endOffset": 1539
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 3,
+ "startColumn": 4,
+ "startOffset": 100,
+ "endColumn": 47,
+ "endOffset": 143
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__attrs.xml",
+ "position": {
+ "startLine": 34,
+ "startColumn": 4,
+ "startOffset": 1544,
+ "endColumn": 48,
+ "endOffset": 1588
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 4,
+ "startColumn": 4,
+ "startOffset": 148,
+ "endColumn": 49,
+ "endOffset": 193
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__attrs.xml",
+ "position": {
+ "startLine": 35,
+ "startColumn": 4,
+ "startOffset": 1593,
+ "endColumn": 50,
+ "endOffset": 1639
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 5,
+ "startColumn": 4,
+ "startOffset": 198,
+ "endColumn": 49,
+ "endOffset": 243
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__attrs.xml",
+ "position": {
+ "startLine": 36,
+ "startColumn": 4,
+ "startOffset": 1644,
+ "endColumn": 50,
+ "endOffset": 1690
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 6,
+ "startColumn": 4,
+ "startOffset": 248,
+ "endColumn": 62,
+ "endOffset": 306
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 17,
+ "startColumn": 4,
+ "startOffset": 668,
+ "endColumn": 62,
+ "endOffset": 726
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 7,
+ "startColumn": 4,
+ "startOffset": 311,
+ "endColumn": 59,
+ "endOffset": 366
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 22,
+ "startColumn": 4,
+ "startOffset": 1006,
+ "endColumn": 59,
+ "endOffset": 1061
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 8,
+ "startColumn": 4,
+ "startOffset": 371,
+ "endColumn": 60,
+ "endOffset": 427
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 31,
+ "startColumn": 4,
+ "startOffset": 1553,
+ "endColumn": 60,
+ "endOffset": 1609
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 9,
+ "startColumn": 4,
+ "startOffset": 432,
+ "endColumn": 66,
+ "endOffset": 494
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 42,
+ "startColumn": 4,
+ "startOffset": 2289,
+ "endColumn": 66,
+ "endOffset": 2351
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 10,
+ "startColumn": 4,
+ "startOffset": 499,
+ "endColumn": 62,
+ "endOffset": 557
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 48,
+ "startColumn": 4,
+ "startOffset": 2627,
+ "endColumn": 62,
+ "endOffset": 2685
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 11,
+ "startColumn": 4,
+ "startOffset": 562,
+ "endColumn": 71,
+ "endOffset": 629
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 18,
+ "startColumn": 4,
+ "startOffset": 731,
+ "endColumn": 71,
+ "endOffset": 798
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 12,
+ "startColumn": 4,
+ "startOffset": 634,
+ "endColumn": 71,
+ "endOffset": 701
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 19,
+ "startColumn": 4,
+ "startOffset": 803,
+ "endColumn": 71,
+ "endOffset": 870
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 13,
+ "startColumn": 4,
+ "startOffset": 706,
+ "endColumn": 73,
+ "endOffset": 775
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 23,
+ "startColumn": 4,
+ "startOffset": 1066,
+ "endColumn": 73,
+ "endOffset": 1135
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 14,
+ "startColumn": 4,
+ "startOffset": 780,
+ "endColumn": 73,
+ "endOffset": 849
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 29,
+ "startColumn": 4,
+ "startOffset": 1403,
+ "endColumn": 73,
+ "endOffset": 1472
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 15,
+ "startColumn": 4,
+ "startOffset": 854,
+ "endColumn": 75,
+ "endOffset": 925
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 30,
+ "startColumn": 4,
+ "startOffset": 1477,
+ "endColumn": 75,
+ "endOffset": 1548
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 16,
+ "startColumn": 4,
+ "startOffset": 930,
+ "endColumn": 72,
+ "endOffset": 998
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 34,
+ "startColumn": 4,
+ "startOffset": 1682,
+ "endColumn": 72,
+ "endOffset": 1750
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 17,
+ "startColumn": 4,
+ "startOffset": 1003,
+ "endColumn": 74,
+ "endOffset": 1073
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 41,
+ "startColumn": 4,
+ "startOffset": 2214,
+ "endColumn": 74,
+ "endOffset": 2284
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 18,
+ "startColumn": 4,
+ "startOffset": 1078,
+ "endColumn": 70,
+ "endOffset": 1144
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 43,
+ "startColumn": 4,
+ "startOffset": 2356,
+ "endColumn": 70,
+ "endOffset": 2422
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 19,
+ "startColumn": 4,
+ "startOffset": 1149,
+ "endColumn": 78,
+ "endOffset": 1223
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 51,
+ "startColumn": 4,
+ "startOffset": 2837,
+ "endColumn": 78,
+ "endOffset": 2911
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 20,
+ "startColumn": 4,
+ "startOffset": 1228,
+ "endColumn": 61,
+ "endOffset": 1285
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
+ "position": {
+ "startLine": 17,
+ "startColumn": 4,
+ "startOffset": 668,
+ "endColumn": 61,
+ "endOffset": 725
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 21,
+ "startColumn": 4,
+ "startOffset": 1290,
+ "endColumn": 62,
+ "endOffset": 1348
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
+ "position": {
+ "startLine": 18,
+ "startColumn": 4,
+ "startOffset": 730,
+ "endColumn": 62,
+ "endOffset": 788
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 22,
+ "startColumn": 4,
+ "startOffset": 1353,
+ "endColumn": 77,
+ "endOffset": 1426
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
+ "position": {
+ "startLine": 21,
+ "startColumn": 4,
+ "startOffset": 979,
+ "endColumn": 77,
+ "endOffset": 1052
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 23,
+ "startColumn": 4,
+ "startOffset": 1431,
+ "endColumn": 78,
+ "endOffset": 1505
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
+ "position": {
+ "startLine": 22,
+ "startColumn": 4,
+ "startOffset": 1057,
+ "endColumn": 78,
+ "endOffset": 1131
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 24,
+ "startColumn": 4,
+ "startOffset": 1510,
+ "endColumn": 92,
+ "endOffset": 1598
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
+ "position": {
+ "startLine": 19,
+ "startColumn": 4,
+ "startOffset": 793,
+ "endColumn": 92,
+ "endOffset": 881
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 25,
+ "startColumn": 4,
+ "startOffset": 1603,
+ "endColumn": 92,
+ "endOffset": 1691
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
+ "position": {
+ "startLine": 20,
+ "startColumn": 4,
+ "startOffset": 886,
+ "endColumn": 92,
+ "endOffset": 974
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 26,
+ "startColumn": 4,
+ "startOffset": 1696,
+ "endColumn": 107,
+ "endOffset": 1799
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
+ "position": {
+ "startLine": 23,
+ "startColumn": 4,
+ "startOffset": 1136,
+ "endColumn": 107,
+ "endOffset": 1239
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 27,
+ "startColumn": 4,
+ "startOffset": 1804,
+ "endColumn": 107,
+ "endOffset": 1907
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__colors.xml",
+ "position": {
+ "startLine": 24,
+ "startColumn": 4,
+ "startOffset": 1244,
+ "endColumn": 107,
+ "endOffset": 1347
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 40,
+ "startColumn": 4,
+ "startOffset": 4217,
+ "endColumn": 61,
+ "endOffset": 4274
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 21,
+ "startColumn": 4,
+ "startOffset": 944,
+ "endColumn": 61,
+ "endOffset": 1001
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 41,
+ "startColumn": 4,
+ "startOffset": 4279,
+ "endColumn": 67,
+ "endOffset": 4342
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 24,
+ "startColumn": 4,
+ "startOffset": 1140,
+ "endColumn": 67,
+ "endOffset": 1203
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 42,
+ "startColumn": 4,
+ "startOffset": 4347,
+ "endColumn": 62,
+ "endOffset": 4405
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 27,
+ "startColumn": 4,
+ "startOffset": 1274,
+ "endColumn": 62,
+ "endOffset": 1332
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 43,
+ "startColumn": 4,
+ "startOffset": 4410,
+ "endColumn": 64,
+ "endOffset": 4470
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 26,
+ "startColumn": 4,
+ "startOffset": 1209,
+ "endColumn": 64,
+ "endOffset": 1269
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 44,
+ "startColumn": 4,
+ "startOffset": 4475,
+ "endColumn": 65,
+ "endOffset": 4536
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 28,
+ "startColumn": 4,
+ "startOffset": 1337,
+ "endColumn": 65,
+ "endOffset": 1398
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 45,
+ "startColumn": 4,
+ "startOffset": 4541,
+ "endColumn": 66,
+ "endOffset": 4603
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 33,
+ "startColumn": 4,
+ "startOffset": 1615,
+ "endColumn": 66,
+ "endOffset": 1677
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 46,
+ "startColumn": 4,
+ "startOffset": 4608,
+ "endColumn": 77,
+ "endOffset": 4681
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 37,
+ "startColumn": 4,
+ "startOffset": 1907,
+ "endColumn": 77,
+ "endOffset": 1980
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 47,
+ "startColumn": 4,
+ "startOffset": 4686,
+ "endColumn": 89,
+ "endOffset": 4771
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 38,
+ "startColumn": 4,
+ "startOffset": 1985,
+ "endColumn": 89,
+ "endOffset": 2070
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 48,
+ "startColumn": 4,
+ "startOffset": 4776,
+ "endColumn": 72,
+ "endOffset": 4844
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 35,
+ "startColumn": 4,
+ "startOffset": 1755,
+ "endColumn": 72,
+ "endOffset": 1823
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 49,
+ "startColumn": 4,
+ "startOffset": 4849,
+ "endColumn": 68,
+ "endOffset": 4913
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 39,
+ "startColumn": 4,
+ "startOffset": 2075,
+ "endColumn": 68,
+ "endOffset": 2139
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 50,
+ "startColumn": 4,
+ "startOffset": 4918,
+ "endColumn": 64,
+ "endOffset": 4978
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 44,
+ "startColumn": 4,
+ "startOffset": 2427,
+ "endColumn": 64,
+ "endOffset": 2487
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 51,
+ "startColumn": 4,
+ "startOffset": 4983,
+ "endColumn": 67,
+ "endOffset": 5046
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 45,
+ "startColumn": 4,
+ "startOffset": 2492,
+ "endColumn": 67,
+ "endOffset": 2555
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 52,
+ "startColumn": 4,
+ "startOffset": 5051,
+ "endColumn": 65,
+ "endOffset": 5112
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 46,
+ "startColumn": 4,
+ "startOffset": 2560,
+ "endColumn": 65,
+ "endOffset": 2621
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 53,
+ "startColumn": 4,
+ "startOffset": 5117,
+ "endColumn": 68,
+ "endOffset": 5181
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 20,
+ "startColumn": 4,
+ "startOffset": 875,
+ "endColumn": 68,
+ "endOffset": 939
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 54,
+ "startColumn": 4,
+ "startOffset": 5186,
+ "endColumn": 78,
+ "endOffset": 5260
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 36,
+ "startColumn": 4,
+ "startOffset": 1828,
+ "endColumn": 78,
+ "endOffset": 1902
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 55,
+ "startColumn": 4,
+ "startOffset": 5265,
+ "endColumn": 69,
+ "endOffset": 5330
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 40,
+ "startColumn": 4,
+ "startOffset": 2144,
+ "endColumn": 69,
+ "endOffset": 2209
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 56,
+ "startColumn": 4,
+ "startOffset": 5335,
+ "endColumn": 72,
+ "endOffset": 5403
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 49,
+ "startColumn": 4,
+ "startOffset": 2690,
+ "endColumn": 72,
+ "endOffset": 2758
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 57,
+ "startColumn": 4,
+ "startOffset": 5408,
+ "endColumn": 73,
+ "endOffset": 5477
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__defaults.xml",
+ "position": {
+ "startLine": 50,
+ "startColumn": 4,
+ "startOffset": 2763,
+ "endColumn": 73,
+ "endOffset": 2832
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 58,
+ "startColumn": 4,
+ "startOffset": 5482,
+ "endLine": 61,
+ "endColumn": 12,
+ "endOffset": 5677
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
+ "position": {
+ "startLine": 37,
+ "startColumn": 4,
+ "startOffset": 1639,
+ "endLine": 40,
+ "endColumn": 12,
+ "endOffset": 1834
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 62,
+ "startColumn": 4,
+ "startOffset": 5682,
+ "endLine": 65,
+ "endColumn": 12,
+ "endOffset": 5930
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
+ "position": {
+ "startLine": 17,
+ "startColumn": 4,
+ "startOffset": 668,
+ "endLine": 20,
+ "endColumn": 12,
+ "endOffset": 916
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 66,
+ "startColumn": 4,
+ "startOffset": 5935,
+ "endColumn": 26,
+ "endOffset": 5957
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
+ "position": {
+ "startLine": 22,
+ "startColumn": 4,
+ "startOffset": 922,
+ "endColumn": 33,
+ "endOffset": 951
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 67,
+ "startColumn": 4,
+ "startOffset": 5962,
+ "endLine": 70,
+ "endColumn": 12,
+ "endOffset": 6147
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
+ "position": {
+ "startLine": 42,
+ "startColumn": 4,
+ "startOffset": 1840,
+ "endLine": 45,
+ "endColumn": 12,
+ "endOffset": 2025
+ }
+ }
+ },
+ {
+ "to": {
+ "startLine": 71,
+ "startColumn": 4,
+ "startOffset": 6152,
+ "endLine": 82,
+ "endColumn": 12,
+ "endOffset": 6828
+ },
+ "from": {
+ "file": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\values\\vpi__styles.xml",
+ "position": {
+ "startLine": 24,
+ "startColumn": 4,
+ "startOffset": 957,
+ "endLine": 35,
+ "endColumn": 12,
+ "endOffset": 1633
+ }
+ }
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/release/single/color.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/release/single/color.json
new file mode 100644
index 0000000..f2bd5da
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/release/single/color.json
@@ -0,0 +1,10 @@
+[
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\color\\vpi__dark_theme.xml",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\color\\vpi__dark_theme.xml"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\color\\vpi__light_theme.xml",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\color\\vpi__light_theme.xml"
+ }
+]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/release/single/drawable-hdpi-v4.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/release/single/drawable-hdpi-v4.json
new file mode 100644
index 0000000..2ba02d2
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/release/single/drawable-hdpi-v4.json
@@ -0,0 +1,34 @@
+[
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\vpi__tab_selected_pressed_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_pressed_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\vpi__tab_unselected_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\vpi__tab_selected_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\vpi__tab_selected_focused_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_focused_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\vpi__tab_unselected_pressed_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_pressed_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\community_tab_subscript.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\community_tab_subscript.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\vpi__tab_unselected_focused_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_focused_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\tab.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\tab.png"
+ }
+]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/release/single/drawable-mdpi-v4.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/release/single/drawable-mdpi-v4.json
new file mode 100644
index 0000000..bc116e7
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/release/single/drawable-mdpi-v4.json
@@ -0,0 +1,26 @@
+[
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-mdpi-v4\\vpi__tab_selected_pressed_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_pressed_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-mdpi-v4\\vpi__tab_unselected_pressed_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_pressed_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-mdpi-v4\\vpi__tab_unselected_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-mdpi-v4\\vpi__tab_selected_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-mdpi-v4\\vpi__tab_selected_focused_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_focused_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-mdpi-v4\\vpi__tab_unselected_focused_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_focused_holo.9.png"
+ }
+]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/release/single/drawable-xhdpi-v4.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/release/single/drawable-xhdpi-v4.json
new file mode 100644
index 0000000..998c665
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/release/single/drawable-xhdpi-v4.json
@@ -0,0 +1,26 @@
+[
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-xhdpi-v4\\vpi__tab_unselected_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-xhdpi-v4\\vpi__tab_selected_focused_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_focused_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-xhdpi-v4\\vpi__tab_selected_pressed_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_pressed_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-xhdpi-v4\\vpi__tab_unselected_focused_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_focused_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-xhdpi-v4\\vpi__tab_unselected_pressed_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_pressed_holo.9.png"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-xhdpi-v4\\vpi__tab_selected_holo.9.png",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_holo.9.png"
+ }
+]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/release/single/drawable.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/release/single/drawable.json
new file mode 100644
index 0000000..0019bf4
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/blame/res/release/single/drawable.json
@@ -0,0 +1,10 @@
+[
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable\\vpi__tab_indicator.xml",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable\\vpi__tab_indicator.xml"
+ },
+ {
+ "merged": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable\\vpi_text_tab_indicator.xml",
+ "source": "C:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable\\vpi_text_tab_indicator.xml"
+ }
+]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/AndroidManifest.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/AndroidManifest.xml
new file mode 100644
index 0000000..34763e8
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/AndroidManifest.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/R.txt b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/R.txt
new file mode 100644
index 0000000..a00b87f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/R.txt
@@ -0,0 +1,140 @@
+int attr centered 0x7f010000
+int attr clipPadding 0x7f01000b
+int attr fadeDelay 0x7f010017
+int attr fadeLength 0x7f010018
+int attr fades 0x7f010016
+int attr fillColor 0x7f010004
+int attr footerColor 0x7f01000c
+int attr footerIndicatorHeight 0x7f01000f
+int attr footerIndicatorStyle 0x7f01000e
+int attr footerIndicatorUnderlinePadding 0x7f010010
+int attr footerLineHeight 0x7f01000d
+int attr footerPadding 0x7f010011
+int attr gapWidth 0x7f01000a
+int attr linePosition 0x7f010012
+int attr lineWidth 0x7f010009
+int attr pageColor 0x7f010005
+int attr radius 0x7f010006
+int attr selectedBold 0x7f010013
+int attr selectedColor 0x7f010001
+int attr snap 0x7f010007
+int attr strokeColor 0x7f010008
+int attr strokeWidth 0x7f010002
+int attr titlePadding 0x7f010014
+int attr topPadding 0x7f010015
+int attr unselectedColor 0x7f010003
+int attr vpiCirclePageIndicatorStyle 0x7f010019
+int attr vpiIconPageIndicatorStyle 0x7f01001a
+int attr vpiLinePageIndicatorStyle 0x7f01001b
+int attr vpiTabPageIndicatorStyle 0x7f01001d
+int attr vpiTitlePageIndicatorStyle 0x7f01001c
+int attr vpiUnderlinePageIndicatorStyle 0x7f01001e
+int bool default_circle_indicator_centered 0x7f030000
+int bool default_circle_indicator_snap 0x7f030001
+int bool default_line_indicator_centered 0x7f030002
+int bool default_title_indicator_selected_bold 0x7f030003
+int bool default_underline_indicator_fades 0x7f030004
+int color default_circle_indicator_fill_color 0x7f040000
+int color default_circle_indicator_page_color 0x7f040001
+int color default_circle_indicator_stroke_color 0x7f040002
+int color default_line_indicator_selected_color 0x7f040003
+int color default_line_indicator_unselected_color 0x7f040004
+int color default_title_indicator_footer_color 0x7f040005
+int color default_title_indicator_selected_color 0x7f040006
+int color default_title_indicator_text_color 0x7f040007
+int color default_underline_indicator_selected_color 0x7f040008
+int color vpi__background_holo_dark 0x7f040009
+int color vpi__background_holo_light 0x7f04000a
+int color vpi__bright_foreground_disabled_holo_dark 0x7f04000b
+int color vpi__bright_foreground_disabled_holo_light 0x7f04000c
+int color vpi__bright_foreground_holo_dark 0x7f04000d
+int color vpi__bright_foreground_holo_light 0x7f04000e
+int color vpi__bright_foreground_inverse_holo_dark 0x7f04000f
+int color vpi__bright_foreground_inverse_holo_light 0x7f040010
+int color vpi__dark_theme 0x7f040011
+int color vpi__light_theme 0x7f040012
+int dimen default_circle_indicator_radius 0x7f050000
+int dimen default_circle_indicator_stroke_width 0x7f050001
+int dimen default_line_indicator_gap_width 0x7f050002
+int dimen default_line_indicator_line_width 0x7f050003
+int dimen default_line_indicator_stroke_width 0x7f050004
+int dimen default_title_indicator_clip_padding 0x7f050005
+int dimen default_title_indicator_footer_indicator_height 0x7f050006
+int dimen default_title_indicator_footer_indicator_underline_padding 0x7f050007
+int dimen default_title_indicator_footer_line_height 0x7f050008
+int dimen default_title_indicator_footer_padding 0x7f050009
+int dimen default_title_indicator_text_size 0x7f05000a
+int dimen default_title_indicator_title_padding 0x7f05000b
+int dimen default_title_indicator_top_padding 0x7f05000c
+int drawable community_tab_subscript 0x7f020000
+int drawable tab 0x7f020001
+int drawable vpi__tab_indicator 0x7f020002
+int drawable vpi__tab_selected_focused_holo 0x7f020003
+int drawable vpi__tab_selected_holo 0x7f020004
+int drawable vpi__tab_selected_pressed_holo 0x7f020005
+int drawable vpi__tab_unselected_focused_holo 0x7f020006
+int drawable vpi__tab_unselected_holo 0x7f020007
+int drawable vpi__tab_unselected_pressed_holo 0x7f020008
+int drawable vpi_text_tab_indicator 0x7f020009
+int id bottom 0x7f080003
+int id none 0x7f080000
+int id top 0x7f080004
+int id triangle 0x7f080001
+int id underline 0x7f080002
+int integer default_circle_indicator_orientation 0x7f060000
+int integer default_title_indicator_footer_indicator_style 0x7f060001
+int integer default_title_indicator_line_position 0x7f060002
+int integer default_underline_indicator_fade_delay 0x7f060003
+int integer default_underline_indicator_fade_length 0x7f060004
+int style TextAppearance_TabPageIndicator 0x7f070000
+int style Theme_PageIndicatorDefaults 0x7f070001
+int style Widget 0x7f070002
+int style Widget_IconPageIndicator 0x7f070003
+int style Widget_TabPageIndicator 0x7f070004
+int[] styleable CirclePageIndicator { 0x010100c4, 0x010100d4, 0x7f010000, 0x7f010002, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008 }
+int styleable CirclePageIndicator_android_background 1
+int styleable CirclePageIndicator_android_orientation 0
+int styleable CirclePageIndicator_centered 2
+int styleable CirclePageIndicator_fillColor 4
+int styleable CirclePageIndicator_pageColor 5
+int styleable CirclePageIndicator_radius 6
+int styleable CirclePageIndicator_snap 7
+int styleable CirclePageIndicator_strokeColor 8
+int styleable CirclePageIndicator_strokeWidth 3
+int[] styleable LinePageIndicator { 0x010100d4, 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010009, 0x7f01000a }
+int styleable LinePageIndicator_android_background 0
+int styleable LinePageIndicator_centered 1
+int styleable LinePageIndicator_gapWidth 6
+int styleable LinePageIndicator_lineWidth 5
+int styleable LinePageIndicator_selectedColor 2
+int styleable LinePageIndicator_strokeWidth 3
+int styleable LinePageIndicator_unselectedColor 4
+int[] styleable TitlePageIndicator { 0x01010095, 0x01010098, 0x010100d4, 0x7f010001, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012, 0x7f010013, 0x7f010014, 0x7f010015 }
+int styleable TitlePageIndicator_android_background 2
+int styleable TitlePageIndicator_android_textColor 1
+int styleable TitlePageIndicator_android_textSize 0
+int styleable TitlePageIndicator_clipPadding 4
+int styleable TitlePageIndicator_footerColor 5
+int styleable TitlePageIndicator_footerIndicatorHeight 8
+int styleable TitlePageIndicator_footerIndicatorStyle 7
+int styleable TitlePageIndicator_footerIndicatorUnderlinePadding 9
+int styleable TitlePageIndicator_footerLineHeight 6
+int styleable TitlePageIndicator_footerPadding 10
+int styleable TitlePageIndicator_linePosition 11
+int styleable TitlePageIndicator_selectedBold 12
+int styleable TitlePageIndicator_selectedColor 3
+int styleable TitlePageIndicator_titlePadding 13
+int styleable TitlePageIndicator_topPadding 14
+int[] styleable UnderlinePageIndicator { 0x010100d4, 0x7f010001, 0x7f010016, 0x7f010017, 0x7f010018 }
+int styleable UnderlinePageIndicator_android_background 0
+int styleable UnderlinePageIndicator_fadeDelay 3
+int styleable UnderlinePageIndicator_fadeLength 4
+int styleable UnderlinePageIndicator_fades 2
+int styleable UnderlinePageIndicator_selectedColor 1
+int[] styleable ViewPagerIndicator { 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01001c, 0x7f01001d, 0x7f01001e }
+int styleable ViewPagerIndicator_vpiCirclePageIndicatorStyle 0
+int styleable ViewPagerIndicator_vpiIconPageIndicatorStyle 1
+int styleable ViewPagerIndicator_vpiLinePageIndicatorStyle 2
+int styleable ViewPagerIndicator_vpiTabPageIndicatorStyle 4
+int styleable ViewPagerIndicator_vpiTitlePageIndicatorStyle 3
+int styleable ViewPagerIndicator_vpiUnderlinePageIndicatorStyle 5
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/color/vpi__dark_theme.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/color/vpi__dark_theme.xml
new file mode 100644
index 0000000..3e7a08f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/color/vpi__dark_theme.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/color/vpi__light_theme.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/color/vpi__light_theme.xml
new file mode 100644
index 0000000..f955db7
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/color/vpi__light_theme.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/community_tab_subscript.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/community_tab_subscript.png
new file mode 100644
index 0000000..6b98d01
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/community_tab_subscript.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/tab.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/tab.png
new file mode 100644
index 0000000..627ae62
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/tab.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..673e3bf
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..d57df98
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..6278eef
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..294991d
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..19532ab
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..aadc6f8
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-hdpi-v4/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-mdpi-v4/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-mdpi-v4/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..c9972e7
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-mdpi-v4/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-mdpi-v4/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-mdpi-v4/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..587337c
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-mdpi-v4/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-mdpi-v4/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-mdpi-v4/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..155c4fc
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-mdpi-v4/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-mdpi-v4/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-mdpi-v4/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..f0cecd1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-mdpi-v4/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-mdpi-v4/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-mdpi-v4/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..a2dbf42
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-mdpi-v4/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-mdpi-v4/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-mdpi-v4/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..b1223fe
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-mdpi-v4/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..03cfb09
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..e4229f2
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..e862cb1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..f3a5cbd
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..9465173
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..f1eb673
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable-xhdpi-v4/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable/vpi__tab_indicator.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable/vpi__tab_indicator.xml
new file mode 100644
index 0000000..5cc352d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable/vpi__tab_indicator.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable/vpi_text_tab_indicator.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable/vpi_text_tab_indicator.xml
new file mode 100644
index 0000000..28d29bb
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/drawable/vpi_text_tab_indicator.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/values/values.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/values/values.xml
new file mode 100644
index 0000000..f7adf19
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/debug/res/values/values.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ true
+ false
+ true
+ true
+ true
+ #FFFFFFFF
+ #00000000
+ #FFDDDDDD
+ #FF33B5E5
+ #FFBBBBBB
+ #FF33B5E5
+ #FFFFFFFF
+ #BBFFFFFF
+ #FF33B5E5
+ #ff000000
+ #fff3f3f3
+ #ff4c4c4c
+ #ffb2b2b2
+ @color/vpi__background_holo_light
+ @color/vpi__background_holo_dark
+ @color/vpi__bright_foreground_holo_light
+ @color/vpi__bright_foreground_holo_dark
+
+
+
+
+
+
+
+
+
+
+
+
+ 3dp
+ 1dp
+ 4dp
+ 12dp
+ 1dp
+ 4dp
+ 4dp
+ 20dp
+ 2dp
+ 7dp
+ 15dp
+ 5dp
+ 7dp
+ 0
+ 2
+ 0
+ 300
+ 400
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/AndroidManifest.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/AndroidManifest.xml
new file mode 100644
index 0000000..34763e8
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/AndroidManifest.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/R.txt b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/R.txt
new file mode 100644
index 0000000..a00b87f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/R.txt
@@ -0,0 +1,140 @@
+int attr centered 0x7f010000
+int attr clipPadding 0x7f01000b
+int attr fadeDelay 0x7f010017
+int attr fadeLength 0x7f010018
+int attr fades 0x7f010016
+int attr fillColor 0x7f010004
+int attr footerColor 0x7f01000c
+int attr footerIndicatorHeight 0x7f01000f
+int attr footerIndicatorStyle 0x7f01000e
+int attr footerIndicatorUnderlinePadding 0x7f010010
+int attr footerLineHeight 0x7f01000d
+int attr footerPadding 0x7f010011
+int attr gapWidth 0x7f01000a
+int attr linePosition 0x7f010012
+int attr lineWidth 0x7f010009
+int attr pageColor 0x7f010005
+int attr radius 0x7f010006
+int attr selectedBold 0x7f010013
+int attr selectedColor 0x7f010001
+int attr snap 0x7f010007
+int attr strokeColor 0x7f010008
+int attr strokeWidth 0x7f010002
+int attr titlePadding 0x7f010014
+int attr topPadding 0x7f010015
+int attr unselectedColor 0x7f010003
+int attr vpiCirclePageIndicatorStyle 0x7f010019
+int attr vpiIconPageIndicatorStyle 0x7f01001a
+int attr vpiLinePageIndicatorStyle 0x7f01001b
+int attr vpiTabPageIndicatorStyle 0x7f01001d
+int attr vpiTitlePageIndicatorStyle 0x7f01001c
+int attr vpiUnderlinePageIndicatorStyle 0x7f01001e
+int bool default_circle_indicator_centered 0x7f030000
+int bool default_circle_indicator_snap 0x7f030001
+int bool default_line_indicator_centered 0x7f030002
+int bool default_title_indicator_selected_bold 0x7f030003
+int bool default_underline_indicator_fades 0x7f030004
+int color default_circle_indicator_fill_color 0x7f040000
+int color default_circle_indicator_page_color 0x7f040001
+int color default_circle_indicator_stroke_color 0x7f040002
+int color default_line_indicator_selected_color 0x7f040003
+int color default_line_indicator_unselected_color 0x7f040004
+int color default_title_indicator_footer_color 0x7f040005
+int color default_title_indicator_selected_color 0x7f040006
+int color default_title_indicator_text_color 0x7f040007
+int color default_underline_indicator_selected_color 0x7f040008
+int color vpi__background_holo_dark 0x7f040009
+int color vpi__background_holo_light 0x7f04000a
+int color vpi__bright_foreground_disabled_holo_dark 0x7f04000b
+int color vpi__bright_foreground_disabled_holo_light 0x7f04000c
+int color vpi__bright_foreground_holo_dark 0x7f04000d
+int color vpi__bright_foreground_holo_light 0x7f04000e
+int color vpi__bright_foreground_inverse_holo_dark 0x7f04000f
+int color vpi__bright_foreground_inverse_holo_light 0x7f040010
+int color vpi__dark_theme 0x7f040011
+int color vpi__light_theme 0x7f040012
+int dimen default_circle_indicator_radius 0x7f050000
+int dimen default_circle_indicator_stroke_width 0x7f050001
+int dimen default_line_indicator_gap_width 0x7f050002
+int dimen default_line_indicator_line_width 0x7f050003
+int dimen default_line_indicator_stroke_width 0x7f050004
+int dimen default_title_indicator_clip_padding 0x7f050005
+int dimen default_title_indicator_footer_indicator_height 0x7f050006
+int dimen default_title_indicator_footer_indicator_underline_padding 0x7f050007
+int dimen default_title_indicator_footer_line_height 0x7f050008
+int dimen default_title_indicator_footer_padding 0x7f050009
+int dimen default_title_indicator_text_size 0x7f05000a
+int dimen default_title_indicator_title_padding 0x7f05000b
+int dimen default_title_indicator_top_padding 0x7f05000c
+int drawable community_tab_subscript 0x7f020000
+int drawable tab 0x7f020001
+int drawable vpi__tab_indicator 0x7f020002
+int drawable vpi__tab_selected_focused_holo 0x7f020003
+int drawable vpi__tab_selected_holo 0x7f020004
+int drawable vpi__tab_selected_pressed_holo 0x7f020005
+int drawable vpi__tab_unselected_focused_holo 0x7f020006
+int drawable vpi__tab_unselected_holo 0x7f020007
+int drawable vpi__tab_unselected_pressed_holo 0x7f020008
+int drawable vpi_text_tab_indicator 0x7f020009
+int id bottom 0x7f080003
+int id none 0x7f080000
+int id top 0x7f080004
+int id triangle 0x7f080001
+int id underline 0x7f080002
+int integer default_circle_indicator_orientation 0x7f060000
+int integer default_title_indicator_footer_indicator_style 0x7f060001
+int integer default_title_indicator_line_position 0x7f060002
+int integer default_underline_indicator_fade_delay 0x7f060003
+int integer default_underline_indicator_fade_length 0x7f060004
+int style TextAppearance_TabPageIndicator 0x7f070000
+int style Theme_PageIndicatorDefaults 0x7f070001
+int style Widget 0x7f070002
+int style Widget_IconPageIndicator 0x7f070003
+int style Widget_TabPageIndicator 0x7f070004
+int[] styleable CirclePageIndicator { 0x010100c4, 0x010100d4, 0x7f010000, 0x7f010002, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008 }
+int styleable CirclePageIndicator_android_background 1
+int styleable CirclePageIndicator_android_orientation 0
+int styleable CirclePageIndicator_centered 2
+int styleable CirclePageIndicator_fillColor 4
+int styleable CirclePageIndicator_pageColor 5
+int styleable CirclePageIndicator_radius 6
+int styleable CirclePageIndicator_snap 7
+int styleable CirclePageIndicator_strokeColor 8
+int styleable CirclePageIndicator_strokeWidth 3
+int[] styleable LinePageIndicator { 0x010100d4, 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010009, 0x7f01000a }
+int styleable LinePageIndicator_android_background 0
+int styleable LinePageIndicator_centered 1
+int styleable LinePageIndicator_gapWidth 6
+int styleable LinePageIndicator_lineWidth 5
+int styleable LinePageIndicator_selectedColor 2
+int styleable LinePageIndicator_strokeWidth 3
+int styleable LinePageIndicator_unselectedColor 4
+int[] styleable TitlePageIndicator { 0x01010095, 0x01010098, 0x010100d4, 0x7f010001, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012, 0x7f010013, 0x7f010014, 0x7f010015 }
+int styleable TitlePageIndicator_android_background 2
+int styleable TitlePageIndicator_android_textColor 1
+int styleable TitlePageIndicator_android_textSize 0
+int styleable TitlePageIndicator_clipPadding 4
+int styleable TitlePageIndicator_footerColor 5
+int styleable TitlePageIndicator_footerIndicatorHeight 8
+int styleable TitlePageIndicator_footerIndicatorStyle 7
+int styleable TitlePageIndicator_footerIndicatorUnderlinePadding 9
+int styleable TitlePageIndicator_footerLineHeight 6
+int styleable TitlePageIndicator_footerPadding 10
+int styleable TitlePageIndicator_linePosition 11
+int styleable TitlePageIndicator_selectedBold 12
+int styleable TitlePageIndicator_selectedColor 3
+int styleable TitlePageIndicator_titlePadding 13
+int styleable TitlePageIndicator_topPadding 14
+int[] styleable UnderlinePageIndicator { 0x010100d4, 0x7f010001, 0x7f010016, 0x7f010017, 0x7f010018 }
+int styleable UnderlinePageIndicator_android_background 0
+int styleable UnderlinePageIndicator_fadeDelay 3
+int styleable UnderlinePageIndicator_fadeLength 4
+int styleable UnderlinePageIndicator_fades 2
+int styleable UnderlinePageIndicator_selectedColor 1
+int[] styleable ViewPagerIndicator { 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01001c, 0x7f01001d, 0x7f01001e }
+int styleable ViewPagerIndicator_vpiCirclePageIndicatorStyle 0
+int styleable ViewPagerIndicator_vpiIconPageIndicatorStyle 1
+int styleable ViewPagerIndicator_vpiLinePageIndicatorStyle 2
+int styleable ViewPagerIndicator_vpiTabPageIndicatorStyle 4
+int styleable ViewPagerIndicator_vpiTitlePageIndicatorStyle 3
+int styleable ViewPagerIndicator_vpiUnderlinePageIndicatorStyle 5
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/classes.jar b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/classes.jar
new file mode 100644
index 0000000..4349acf
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/classes.jar differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/color/vpi__dark_theme.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/color/vpi__dark_theme.xml
new file mode 100644
index 0000000..3e7a08f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/color/vpi__dark_theme.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/color/vpi__light_theme.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/color/vpi__light_theme.xml
new file mode 100644
index 0000000..f955db7
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/color/vpi__light_theme.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/community_tab_subscript.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/community_tab_subscript.png
new file mode 100644
index 0000000..6b98d01
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/community_tab_subscript.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/tab.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/tab.png
new file mode 100644
index 0000000..627ae62
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/tab.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..673e3bf
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..d57df98
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..6278eef
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..294991d
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..19532ab
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..aadc6f8
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-hdpi-v4/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-mdpi-v4/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-mdpi-v4/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..c9972e7
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-mdpi-v4/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-mdpi-v4/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-mdpi-v4/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..587337c
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-mdpi-v4/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-mdpi-v4/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-mdpi-v4/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..155c4fc
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-mdpi-v4/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-mdpi-v4/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-mdpi-v4/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..f0cecd1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-mdpi-v4/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-mdpi-v4/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-mdpi-v4/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..a2dbf42
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-mdpi-v4/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-mdpi-v4/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-mdpi-v4/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..b1223fe
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-mdpi-v4/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-xhdpi-v4/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-xhdpi-v4/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..03cfb09
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-xhdpi-v4/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-xhdpi-v4/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-xhdpi-v4/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..e4229f2
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-xhdpi-v4/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-xhdpi-v4/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-xhdpi-v4/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..e862cb1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-xhdpi-v4/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-xhdpi-v4/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-xhdpi-v4/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..f3a5cbd
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-xhdpi-v4/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-xhdpi-v4/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-xhdpi-v4/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..9465173
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-xhdpi-v4/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-xhdpi-v4/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-xhdpi-v4/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..f1eb673
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable-xhdpi-v4/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable/vpi__tab_indicator.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable/vpi__tab_indicator.xml
new file mode 100644
index 0000000..5cc352d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable/vpi__tab_indicator.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable/vpi_text_tab_indicator.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable/vpi_text_tab_indicator.xml
new file mode 100644
index 0000000..28d29bb
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/drawable/vpi_text_tab_indicator.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/values/values.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/values/values.xml
new file mode 100644
index 0000000..f7adf19
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/bundles/release/res/values/values.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ true
+ false
+ true
+ true
+ true
+ #FFFFFFFF
+ #00000000
+ #FFDDDDDD
+ #FF33B5E5
+ #FFBBBBBB
+ #FF33B5E5
+ #FFFFFFFF
+ #BBFFFFFF
+ #FF33B5E5
+ #ff000000
+ #fff3f3f3
+ #ff4c4c4c
+ #ffb2b2b2
+ @color/vpi__background_holo_light
+ @color/vpi__background_holo_dark
+ @color/vpi__bright_foreground_holo_light
+ @color/vpi__bright_foreground_holo_dark
+
+
+
+
+
+
+
+
+
+
+
+
+ 3dp
+ 1dp
+ 4dp
+ 12dp
+ 1dp
+ 4dp
+ 4dp
+ 20dp
+ 2dp
+ 7dp
+ 15dp
+ 5dp
+ 7dp
+ 0
+ 2
+ 0
+ 300
+ 400
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/BuildConfig.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/BuildConfig.class
new file mode 100644
index 0000000..178058f
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/BuildConfig.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/CirclePageIndicator$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/CirclePageIndicator$1.class
new file mode 100644
index 0000000..28d4ded
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/CirclePageIndicator$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/CirclePageIndicator$SavedState$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/CirclePageIndicator$SavedState$1.class
new file mode 100644
index 0000000..555c0e1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/CirclePageIndicator$SavedState$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/CirclePageIndicator$SavedState.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/CirclePageIndicator$SavedState.class
new file mode 100644
index 0000000..211b370
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/CirclePageIndicator$SavedState.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/CirclePageIndicator.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/CirclePageIndicator.class
new file mode 100644
index 0000000..a86b42c
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/CirclePageIndicator.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/IconPageIndicator$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/IconPageIndicator$1.class
new file mode 100644
index 0000000..3e3381b
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/IconPageIndicator$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/IconPageIndicator.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/IconPageIndicator.class
new file mode 100644
index 0000000..040354c
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/IconPageIndicator.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/IconPagerAdapter.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/IconPagerAdapter.class
new file mode 100644
index 0000000..89c75f4
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/IconPagerAdapter.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/IcsLinearLayout.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/IcsLinearLayout.class
new file mode 100644
index 0000000..def0686
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/IcsLinearLayout.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/LinePageIndicator$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/LinePageIndicator$1.class
new file mode 100644
index 0000000..fa076d5
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/LinePageIndicator$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/LinePageIndicator$SavedState$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/LinePageIndicator$SavedState$1.class
new file mode 100644
index 0000000..d4ffdef
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/LinePageIndicator$SavedState$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/LinePageIndicator$SavedState.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/LinePageIndicator$SavedState.class
new file mode 100644
index 0000000..cb87f32
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/LinePageIndicator$SavedState.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/LinePageIndicator.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/LinePageIndicator.class
new file mode 100644
index 0000000..ad05944
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/LinePageIndicator.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/PageIndicator.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/PageIndicator.class
new file mode 100644
index 0000000..11bdb01
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/PageIndicator.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$attr.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$attr.class
new file mode 100644
index 0000000..3e471a7
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$attr.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$bool.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$bool.class
new file mode 100644
index 0000000..0c39539
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$bool.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$color.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$color.class
new file mode 100644
index 0000000..109daee
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$color.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$dimen.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$dimen.class
new file mode 100644
index 0000000..dd49762
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$dimen.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$drawable.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$drawable.class
new file mode 100644
index 0000000..959f9a1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$drawable.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$id.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$id.class
new file mode 100644
index 0000000..c101b75
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$id.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$integer.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$integer.class
new file mode 100644
index 0000000..43f0991
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$integer.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$style.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$style.class
new file mode 100644
index 0000000..d3c4393
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$style.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$styleable.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$styleable.class
new file mode 100644
index 0000000..74aba31
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R$styleable.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R.class
new file mode 100644
index 0000000..5388536
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/R.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TabPageIndicator$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TabPageIndicator$1.class
new file mode 100644
index 0000000..b8c249c
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TabPageIndicator$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TabPageIndicator$2.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TabPageIndicator$2.class
new file mode 100644
index 0000000..2eee80f
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TabPageIndicator$2.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TabPageIndicator$OnTabReselectedListener.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TabPageIndicator$OnTabReselectedListener.class
new file mode 100644
index 0000000..639210b
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TabPageIndicator$OnTabReselectedListener.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TabPageIndicator$TabView.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TabPageIndicator$TabView.class
new file mode 100644
index 0000000..d31e496
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TabPageIndicator$TabView.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TabPageIndicator.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TabPageIndicator.class
new file mode 100644
index 0000000..21aa7c5
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TabPageIndicator.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator$1.class
new file mode 100644
index 0000000..a89a0da
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator$IndicatorStyle.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator$IndicatorStyle.class
new file mode 100644
index 0000000..ab9472d
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator$IndicatorStyle.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator$LinePosition.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator$LinePosition.class
new file mode 100644
index 0000000..da70b18
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator$LinePosition.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator$OnCenterItemClickListener.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator$OnCenterItemClickListener.class
new file mode 100644
index 0000000..72339a0
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator$OnCenterItemClickListener.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator$SavedState$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator$SavedState$1.class
new file mode 100644
index 0000000..4081355
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator$SavedState$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator$SavedState.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator$SavedState.class
new file mode 100644
index 0000000..8d5495e
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator$SavedState.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator.class
new file mode 100644
index 0000000..188ac30
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/TitlePageIndicator.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/UnderlinePageIndicator$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/UnderlinePageIndicator$1.class
new file mode 100644
index 0000000..5fa6d13
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/UnderlinePageIndicator$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/UnderlinePageIndicator$2.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/UnderlinePageIndicator$2.class
new file mode 100644
index 0000000..8bf9808
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/UnderlinePageIndicator$2.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/UnderlinePageIndicator$SavedState$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/UnderlinePageIndicator$SavedState$1.class
new file mode 100644
index 0000000..6a88ef2
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/UnderlinePageIndicator$SavedState$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/UnderlinePageIndicator$SavedState.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/UnderlinePageIndicator$SavedState.class
new file mode 100644
index 0000000..3303178
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/UnderlinePageIndicator$SavedState.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/UnderlinePageIndicator.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/UnderlinePageIndicator.class
new file mode 100644
index 0000000..49182d7
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/classes/release/com/viewpagerindicator/UnderlinePageIndicator.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compile_library_classes/debug/classes.jar b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compile_library_classes/debug/classes.jar
new file mode 100644
index 0000000..a043566
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compile_library_classes/debug/classes.jar differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar
new file mode 100644
index 0000000..a19adb4
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compile_symbol_list/debug/R.txt b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compile_symbol_list/debug/R.txt
new file mode 100644
index 0000000..3b2ee57
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compile_symbol_list/debug/R.txt
@@ -0,0 +1,140 @@
+int attr centered 0x0
+int attr clipPadding 0x0
+int attr fadeDelay 0x0
+int attr fadeLength 0x0
+int attr fades 0x0
+int attr fillColor 0x0
+int attr footerColor 0x0
+int attr footerIndicatorHeight 0x0
+int attr footerIndicatorStyle 0x0
+int attr footerIndicatorUnderlinePadding 0x0
+int attr footerLineHeight 0x0
+int attr footerPadding 0x0
+int attr gapWidth 0x0
+int attr linePosition 0x0
+int attr lineWidth 0x0
+int attr pageColor 0x0
+int attr radius 0x0
+int attr selectedBold 0x0
+int attr selectedColor 0x0
+int attr snap 0x0
+int attr strokeColor 0x0
+int attr strokeWidth 0x0
+int attr titlePadding 0x0
+int attr topPadding 0x0
+int attr unselectedColor 0x0
+int attr vpiCirclePageIndicatorStyle 0x0
+int attr vpiIconPageIndicatorStyle 0x0
+int attr vpiLinePageIndicatorStyle 0x0
+int attr vpiTabPageIndicatorStyle 0x0
+int attr vpiTitlePageIndicatorStyle 0x0
+int attr vpiUnderlinePageIndicatorStyle 0x0
+int bool default_circle_indicator_centered 0x0
+int bool default_circle_indicator_snap 0x0
+int bool default_line_indicator_centered 0x0
+int bool default_title_indicator_selected_bold 0x0
+int bool default_underline_indicator_fades 0x0
+int color default_circle_indicator_fill_color 0x0
+int color default_circle_indicator_page_color 0x0
+int color default_circle_indicator_stroke_color 0x0
+int color default_line_indicator_selected_color 0x0
+int color default_line_indicator_unselected_color 0x0
+int color default_title_indicator_footer_color 0x0
+int color default_title_indicator_selected_color 0x0
+int color default_title_indicator_text_color 0x0
+int color default_underline_indicator_selected_color 0x0
+int color vpi__background_holo_dark 0x0
+int color vpi__background_holo_light 0x0
+int color vpi__bright_foreground_disabled_holo_dark 0x0
+int color vpi__bright_foreground_disabled_holo_light 0x0
+int color vpi__bright_foreground_holo_dark 0x0
+int color vpi__bright_foreground_holo_light 0x0
+int color vpi__bright_foreground_inverse_holo_dark 0x0
+int color vpi__bright_foreground_inverse_holo_light 0x0
+int color vpi__dark_theme 0x0
+int color vpi__light_theme 0x0
+int dimen default_circle_indicator_radius 0x0
+int dimen default_circle_indicator_stroke_width 0x0
+int dimen default_line_indicator_gap_width 0x0
+int dimen default_line_indicator_line_width 0x0
+int dimen default_line_indicator_stroke_width 0x0
+int dimen default_title_indicator_clip_padding 0x0
+int dimen default_title_indicator_footer_indicator_height 0x0
+int dimen default_title_indicator_footer_indicator_underline_padding 0x0
+int dimen default_title_indicator_footer_line_height 0x0
+int dimen default_title_indicator_footer_padding 0x0
+int dimen default_title_indicator_text_size 0x0
+int dimen default_title_indicator_title_padding 0x0
+int dimen default_title_indicator_top_padding 0x0
+int drawable community_tab_subscript 0x0
+int drawable tab 0x0
+int drawable vpi__tab_indicator 0x0
+int drawable vpi__tab_selected_focused_holo 0x0
+int drawable vpi__tab_selected_holo 0x0
+int drawable vpi__tab_selected_pressed_holo 0x0
+int drawable vpi__tab_unselected_focused_holo 0x0
+int drawable vpi__tab_unselected_holo 0x0
+int drawable vpi__tab_unselected_pressed_holo 0x0
+int drawable vpi_text_tab_indicator 0x0
+int id bottom 0x0
+int id none 0x0
+int id top 0x0
+int id triangle 0x0
+int id underline 0x0
+int integer default_circle_indicator_orientation 0x0
+int integer default_title_indicator_footer_indicator_style 0x0
+int integer default_title_indicator_line_position 0x0
+int integer default_underline_indicator_fade_delay 0x0
+int integer default_underline_indicator_fade_length 0x0
+int style TextAppearance_TabPageIndicator 0x0
+int style Theme_PageIndicatorDefaults 0x0
+int style Widget 0x0
+int style Widget_IconPageIndicator 0x0
+int style Widget_TabPageIndicator 0x0
+int[] styleable CirclePageIndicator { 0x10100d4, 0x10100c4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable CirclePageIndicator_android_background 0
+int styleable CirclePageIndicator_android_orientation 1
+int styleable CirclePageIndicator_centered 2
+int styleable CirclePageIndicator_fillColor 3
+int styleable CirclePageIndicator_pageColor 4
+int styleable CirclePageIndicator_radius 5
+int styleable CirclePageIndicator_snap 6
+int styleable CirclePageIndicator_strokeColor 7
+int styleable CirclePageIndicator_strokeWidth 8
+int[] styleable LinePageIndicator { 0x10100d4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable LinePageIndicator_android_background 0
+int styleable LinePageIndicator_centered 1
+int styleable LinePageIndicator_gapWidth 2
+int styleable LinePageIndicator_lineWidth 3
+int styleable LinePageIndicator_selectedColor 4
+int styleable LinePageIndicator_strokeWidth 5
+int styleable LinePageIndicator_unselectedColor 6
+int[] styleable TitlePageIndicator { 0x10100d4, 0x1010098, 0x1010095, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable TitlePageIndicator_android_background 0
+int styleable TitlePageIndicator_android_textColor 1
+int styleable TitlePageIndicator_android_textSize 2
+int styleable TitlePageIndicator_clipPadding 3
+int styleable TitlePageIndicator_footerColor 4
+int styleable TitlePageIndicator_footerIndicatorHeight 5
+int styleable TitlePageIndicator_footerIndicatorStyle 6
+int styleable TitlePageIndicator_footerIndicatorUnderlinePadding 7
+int styleable TitlePageIndicator_footerLineHeight 8
+int styleable TitlePageIndicator_footerPadding 9
+int styleable TitlePageIndicator_linePosition 10
+int styleable TitlePageIndicator_selectedBold 11
+int styleable TitlePageIndicator_selectedColor 12
+int styleable TitlePageIndicator_titlePadding 13
+int styleable TitlePageIndicator_topPadding 14
+int[] styleable UnderlinePageIndicator { 0x10100d4, 0x0, 0x0, 0x0, 0x0 }
+int styleable UnderlinePageIndicator_android_background 0
+int styleable UnderlinePageIndicator_fadeDelay 1
+int styleable UnderlinePageIndicator_fadeLength 2
+int styleable UnderlinePageIndicator_fades 3
+int styleable UnderlinePageIndicator_selectedColor 4
+int[] styleable ViewPagerIndicator { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable ViewPagerIndicator_vpiCirclePageIndicatorStyle 0
+int styleable ViewPagerIndicator_vpiIconPageIndicatorStyle 1
+int styleable ViewPagerIndicator_vpiLinePageIndicatorStyle 2
+int styleable ViewPagerIndicator_vpiTabPageIndicatorStyle 3
+int styleable ViewPagerIndicator_vpiTitlePageIndicatorStyle 4
+int styleable ViewPagerIndicator_vpiUnderlinePageIndicatorStyle 5
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/color_vpi__dark_theme.xml.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/color_vpi__dark_theme.xml.flat
new file mode 100644
index 0000000..81d498f
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/color_vpi__dark_theme.xml.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/color_vpi__light_theme.xml.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/color_vpi__light_theme.xml.flat
new file mode 100644
index 0000000..a28ae3f
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/color_vpi__light_theme.xml.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_community_tab_subscript.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_community_tab_subscript.png.flat
new file mode 100644
index 0000000..7c7ebac
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_community_tab_subscript.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_tab.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_tab.png.flat
new file mode 100644
index 0000000..4ef8991
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_tab.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_vpi__tab_selected_focused_holo.9.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_vpi__tab_selected_focused_holo.9.png.flat
new file mode 100644
index 0000000..1ab53aa
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_vpi__tab_selected_focused_holo.9.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_vpi__tab_selected_holo.9.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_vpi__tab_selected_holo.9.png.flat
new file mode 100644
index 0000000..e60f131
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_vpi__tab_selected_holo.9.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_vpi__tab_selected_pressed_holo.9.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_vpi__tab_selected_pressed_holo.9.png.flat
new file mode 100644
index 0000000..1778813
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_vpi__tab_selected_pressed_holo.9.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_vpi__tab_unselected_focused_holo.9.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_vpi__tab_unselected_focused_holo.9.png.flat
new file mode 100644
index 0000000..11dd1c1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_vpi__tab_unselected_focused_holo.9.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_vpi__tab_unselected_holo.9.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_vpi__tab_unselected_holo.9.png.flat
new file mode 100644
index 0000000..591995a
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_vpi__tab_unselected_holo.9.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_vpi__tab_unselected_pressed_holo.9.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_vpi__tab_unselected_pressed_holo.9.png.flat
new file mode 100644
index 0000000..5e32882
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-hdpi-v4_vpi__tab_unselected_pressed_holo.9.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_vpi__tab_selected_focused_holo.9.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_vpi__tab_selected_focused_holo.9.png.flat
new file mode 100644
index 0000000..f08bfcb
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_vpi__tab_selected_focused_holo.9.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_vpi__tab_selected_holo.9.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_vpi__tab_selected_holo.9.png.flat
new file mode 100644
index 0000000..018c6b6
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_vpi__tab_selected_holo.9.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_vpi__tab_selected_pressed_holo.9.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_vpi__tab_selected_pressed_holo.9.png.flat
new file mode 100644
index 0000000..8ea652e
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_vpi__tab_selected_pressed_holo.9.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_vpi__tab_unselected_focused_holo.9.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_vpi__tab_unselected_focused_holo.9.png.flat
new file mode 100644
index 0000000..aa02f1f
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_vpi__tab_unselected_focused_holo.9.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_vpi__tab_unselected_holo.9.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_vpi__tab_unselected_holo.9.png.flat
new file mode 100644
index 0000000..ba88012
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_vpi__tab_unselected_holo.9.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_vpi__tab_unselected_pressed_holo.9.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_vpi__tab_unselected_pressed_holo.9.png.flat
new file mode 100644
index 0000000..50f9c90
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-mdpi-v4_vpi__tab_unselected_pressed_holo.9.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_vpi__tab_selected_focused_holo.9.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_vpi__tab_selected_focused_holo.9.png.flat
new file mode 100644
index 0000000..dc383b4
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_vpi__tab_selected_focused_holo.9.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_vpi__tab_selected_holo.9.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_vpi__tab_selected_holo.9.png.flat
new file mode 100644
index 0000000..d9ae94a
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_vpi__tab_selected_holo.9.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_vpi__tab_selected_pressed_holo.9.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_vpi__tab_selected_pressed_holo.9.png.flat
new file mode 100644
index 0000000..c57b183
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_vpi__tab_selected_pressed_holo.9.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_vpi__tab_unselected_focused_holo.9.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_vpi__tab_unselected_focused_holo.9.png.flat
new file mode 100644
index 0000000..fcb010b
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_vpi__tab_unselected_focused_holo.9.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_vpi__tab_unselected_holo.9.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_vpi__tab_unselected_holo.9.png.flat
new file mode 100644
index 0000000..7f30e64
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_vpi__tab_unselected_holo.9.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_vpi__tab_unselected_pressed_holo.9.png.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_vpi__tab_unselected_pressed_holo.9.png.flat
new file mode 100644
index 0000000..bb0ae7f
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable-xhdpi-v4_vpi__tab_unselected_pressed_holo.9.png.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable_vpi__tab_indicator.xml.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable_vpi__tab_indicator.xml.flat
new file mode 100644
index 0000000..a32b01b
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable_vpi__tab_indicator.xml.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable_vpi_text_tab_indicator.xml.flat b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable_vpi_text_tab_indicator.xml.flat
new file mode 100644
index 0000000..ebb0a9f
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/compiled_local_resources/debug/out/drawable_vpi_text_tab_indicator.xml.flat differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/AndroidManifest.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/AndroidManifest.xml
new file mode 100644
index 0000000..f273269
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/AndroidManifest.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aapt/AndroidManifest.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aapt/AndroidManifest.xml
new file mode 100644
index 0000000..f273269
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aapt/AndroidManifest.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aidl/android/support/v4/media/MediaMetadataCompat.aidl b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aidl/android/support/v4/media/MediaMetadataCompat.aidl
new file mode 100644
index 0000000..6d36b97
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aidl/android/support/v4/media/MediaMetadataCompat.aidl
@@ -0,0 +1,18 @@
+/* Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+
+package android.support.v4.media;
+
+parcelable MediaMetadataCompat;
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aidl/android/support/v4/media/RatingCompat.aidl b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aidl/android/support/v4/media/RatingCompat.aidl
new file mode 100644
index 0000000..223fd5c
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aidl/android/support/v4/media/RatingCompat.aidl
@@ -0,0 +1,18 @@
+/* Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+
+package android.support.v4.media;
+
+parcelable RatingCompat;
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aidl/android/support/v4/media/session/MediaSessionCompat.aidl b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aidl/android/support/v4/media/session/MediaSessionCompat.aidl
new file mode 100644
index 0000000..d0c2f6f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aidl/android/support/v4/media/session/MediaSessionCompat.aidl
@@ -0,0 +1,20 @@
+/* Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+
+package android.support.v4.media.session;
+
+parcelable MediaSessionCompat.Token;
+parcelable MediaSessionCompat.QueueItem;
+parcelable MediaSessionCompat.ResultReceiverWrapper;
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aidl/android/support/v4/media/session/ParcelableVolumeInfo.aidl b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aidl/android/support/v4/media/session/ParcelableVolumeInfo.aidl
new file mode 100644
index 0000000..2e77c4f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aidl/android/support/v4/media/session/ParcelableVolumeInfo.aidl
@@ -0,0 +1,18 @@
+/* Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+
+package android.support.v4.media.session;
+
+parcelable ParcelableVolumeInfo;
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aidl/android/support/v4/media/session/PlaybackStateCompat.aidl b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aidl/android/support/v4/media/session/PlaybackStateCompat.aidl
new file mode 100644
index 0000000..3d4ef59
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aidl/android/support/v4/media/session/PlaybackStateCompat.aidl
@@ -0,0 +1,18 @@
+/* Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+
+package android.support.v4.media.session;
+
+parcelable PlaybackStateCompat;
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aidl/android/support/v4/os/ResultReceiver.aidl b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aidl/android/support/v4/os/ResultReceiver.aidl
new file mode 100644
index 0000000..81c81f6
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/aidl/android/support/v4/os/ResultReceiver.aidl
@@ -0,0 +1,19 @@
+/*
+** Copyright 2015, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+
+package android.support.v4.os;
+
+parcelable ResultReceiver;
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/annotations.zip b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/annotations.zip
new file mode 100644
index 0000000..a9faaa8
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/annotations.zip differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/jars/classes.jar b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/jars/classes.jar
new file mode 100644
index 0000000..4c3c790
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/jars/classes.jar differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/jars/libs/internal_impl-23.3.0.jar b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/jars/libs/internal_impl-23.3.0.jar
new file mode 100644
index 0000000..e99db00
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/exploded-aar/com.android.support/support-v4/23.3.0/jars/libs/internal_impl-23.3.0.jar differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/full_jar/debug/full.jar b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/full_jar/debug/full.jar
new file mode 100644
index 0000000..f1b4e0a
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/full_jar/debug/full.jar differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental-safeguard/release/tag.txt b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental-safeguard/release/tag.txt
new file mode 100644
index 0000000..c01a13d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental-safeguard/release/tag.txt
@@ -0,0 +1 @@
+incremental task execution
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/compileDebugAidl/dependency.store b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/compileDebugAidl/dependency.store
new file mode 100644
index 0000000..8b8400d
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/compileDebugAidl/dependency.store differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/compileDebugAndroidTestAidl/dependency.store b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/compileDebugAndroidTestAidl/dependency.store
new file mode 100644
index 0000000..8b8400d
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/compileDebugAndroidTestAidl/dependency.store differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/compileReleaseAidl/dependency.store b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/compileReleaseAidl/dependency.store
new file mode 100644
index 0000000..8b8400d
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/compileReleaseAidl/dependency.store differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/debug-mergeNativeLibs/merge-state b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/debug-mergeNativeLibs/merge-state
new file mode 100644
index 0000000..d076e26
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/debug-mergeNativeLibs/merge-state differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties
new file mode 100644
index 0000000..473d075
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties
@@ -0,0 +1,25 @@
+#Mon Nov 14 09:45:39 GMT+08:00 2016
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\community_tab_subscript.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\community_tab_subscript.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\color\\vpi__dark_theme.xml=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\color\\vpi__dark_theme.xml
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\vpi__tab_unselected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\vpi__tab_unselected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\vpi__tab_unselected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\vpi__tab_unselected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\vpi__tab_unselected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\vpi__tab_unselected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\vpi__tab_selected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\vpi__tab_selected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\vpi__tab_unselected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\vpi__tab_selected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\vpi__tab_selected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\vpi__tab_selected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\vpi__tab_selected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\vpi__tab_selected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-hdpi-v4\\tab.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-hdpi-v4\\tab.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\vpi__tab_selected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\vpi__tab_unselected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\color\\vpi__light_theme.xml=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\color\\vpi__light_theme.xml
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\vpi__tab_selected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-mdpi-v4\\vpi__tab_selected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable\\vpi__tab_indicator.xml=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable\\vpi__tab_indicator.xml
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\vpi__tab_selected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-mdpi-v4\\vpi__tab_selected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-xhdpi-v4\\vpi__tab_selected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\vpi__tab_unselected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable\\vpi_text_tab_indicator.xml=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable\\vpi_text_tab_indicator.xml
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\debug\\res\\drawable-mdpi-v4\\vpi__tab_selected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\androidTest\\debug\\drawable-mdpi-v4\\vpi__tab_selected_pressed_holo.9.png
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml
new file mode 100644
index 0000000..f7adf19
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ true
+ false
+ true
+ true
+ true
+ #FFFFFFFF
+ #00000000
+ #FFDDDDDD
+ #FF33B5E5
+ #FFBBBBBB
+ #FF33B5E5
+ #FFFFFFFF
+ #BBFFFFFF
+ #FF33B5E5
+ #ff000000
+ #fff3f3f3
+ #ff4c4c4c
+ #ffb2b2b2
+ @color/vpi__background_holo_light
+ @color/vpi__background_holo_dark
+ @color/vpi__bright_foreground_holo_light
+ @color/vpi__bright_foreground_holo_dark
+
+
+
+
+
+
+
+
+
+
+
+
+ 3dp
+ 1dp
+ 4dp
+ 12dp
+ 1dp
+ 4dp
+ 4dp
+ 20dp
+ 2dp
+ 7dp
+ 15dp
+ 5dp
+ 7dp
+ 0
+ 2
+ 0
+ 300
+ 400
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugAndroidTestResources/merger.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugAndroidTestResources/merger.xml
new file mode 100644
index 0000000..c14f26d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugAndroidTestResources/merger.xml
@@ -0,0 +1,36 @@
+
+5dp4dp@color/vpi__bright_foreground_holo_light#000000003dp40003002#FF33B5E5false#FFBBBBBB#FFFFFFFF@color/vpi__background_holo_light15dp#BBFFFFFF7dp1dp@color/vpi__bright_foreground_holo_dark#ffb2b2b2truetrue#fff3f3f3#ff4c4c4c#ff0000001dp@color/vpi__background_holo_darktrue20dp4dp#FF33B5E512dp4dp2dp0true7dp#FFDDDDDD#FF33B5E5#FFFFFFFF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugAssets/merger.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugAssets/merger.xml
new file mode 100644
index 0000000..f3f7bbd
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugAssets/merger.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml
new file mode 100644
index 0000000..3b90db7
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties
new file mode 100644
index 0000000..291f1b9
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties
@@ -0,0 +1,25 @@
+#Mon Nov 14 09:45:38 GMT+08:00 2016
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\color\\vpi__dark_theme.xml=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\color\\vpi__dark_theme.xml
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable\\vpi__tab_indicator.xml=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable\\vpi__tab_indicator.xml
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\vpi__tab_selected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable\\vpi_text_tab_indicator.xml=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable\\vpi_text_tab_indicator.xml
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\community_tab_subscript.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\community_tab_subscript.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\tab.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\tab.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\color\\vpi__light_theme.xml=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\color\\vpi__light_theme.xml
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-mdpi-v4\\vpi__tab_selected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-mdpi-v4\\vpi__tab_selected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\vpi__tab_selected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-mdpi-v4\\vpi__tab_selected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-hdpi-v4\\vpi__tab_selected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_pressed_holo.9.png
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml
new file mode 100644
index 0000000..f7adf19
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ true
+ false
+ true
+ true
+ true
+ #FFFFFFFF
+ #00000000
+ #FFDDDDDD
+ #FF33B5E5
+ #FFBBBBBB
+ #FF33B5E5
+ #FFFFFFFF
+ #BBFFFFFF
+ #FF33B5E5
+ #ff000000
+ #fff3f3f3
+ #ff4c4c4c
+ #ffb2b2b2
+ @color/vpi__background_holo_light
+ @color/vpi__background_holo_dark
+ @color/vpi__bright_foreground_holo_light
+ @color/vpi__bright_foreground_holo_dark
+
+
+
+
+
+
+
+
+
+
+
+
+ 3dp
+ 1dp
+ 4dp
+ 12dp
+ 1dp
+ 4dp
+ 4dp
+ 20dp
+ 2dp
+ 7dp
+ 15dp
+ 5dp
+ 7dp
+ 0
+ 2
+ 0
+ 300
+ 400
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugResources/merger.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugResources/merger.xml
new file mode 100644
index 0000000..dbd118c
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugResources/merger.xml
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @color/vpi__background_holo_dark#ff4c4c4c@color/vpi__bright_foreground_holo_dark#ffb2b2b2@color/vpi__bright_foreground_holo_light@color/vpi__background_holo_light#ff000000#fff3f3f35dp1dp4dptrue#0000000020dp3dp40003002#FF33B5E54dp#FF33B5E5false#FFBBBBBB#FFFFFFFF12dp4dp2dp015dp7dp#BBFFFFFFtrue1dp7dp#FFDDDDDD#FF33B5E5true#FFFFFFFFtrue
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugShaders/merger.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugShaders/merger.xml
new file mode 100644
index 0000000..db9f58a
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeDebugShaders/merger.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeReleaseAssets/merger.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeReleaseAssets/merger.xml
new file mode 100644
index 0000000..a9eec9b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeReleaseAssets/merger.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml
new file mode 100644
index 0000000..a2a58bf
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeReleaseResources/compile-file-map.properties b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeReleaseResources/compile-file-map.properties
new file mode 100644
index 0000000..bc3ed06
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeReleaseResources/compile-file-map.properties
@@ -0,0 +1,25 @@
+#Mon Nov 14 09:46:27 GMT+08:00 2016
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-mdpi-v4\\vpi__tab_unselected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\color\\vpi__dark_theme.xml=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\color\\vpi__dark_theme.xml
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable\\vpi__tab_indicator.xml=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable\\vpi__tab_indicator.xml
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\vpi__tab_selected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable\\vpi_text_tab_indicator.xml=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable\\vpi_text_tab_indicator.xml
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\community_tab_subscript.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\community_tab_subscript.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\tab.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\tab.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-xhdpi-v4\\vpi__tab_selected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-mdpi-v4\\vpi__tab_unselected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-mdpi-v4\\vpi__tab_unselected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-mdpi-v4\\vpi__tab_selected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\color\\vpi__light_theme.xml=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\color\\vpi__light_theme.xml
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-mdpi-v4\\vpi__tab_selected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-xhdpi-v4\\vpi__tab_unselected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-xhdpi-v4\\vpi__tab_unselected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\vpi__tab_selected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-xhdpi-v4\\vpi__tab_selected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-xhdpi-v4\\vpi__tab_unselected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-mdpi-v4\\vpi__tab_selected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\vpi__tab_unselected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\vpi__tab_unselected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\vpi__tab_unselected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-hdpi-v4\\vpi__tab_selected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\res\\merged\\release\\drawable-xhdpi-v4\\vpi__tab_selected_pressed_holo.9.png
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeReleaseResources/merged.dir/values/values.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeReleaseResources/merged.dir/values/values.xml
new file mode 100644
index 0000000..f7adf19
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeReleaseResources/merged.dir/values/values.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ true
+ false
+ true
+ true
+ true
+ #FFFFFFFF
+ #00000000
+ #FFDDDDDD
+ #FF33B5E5
+ #FFBBBBBB
+ #FF33B5E5
+ #FFFFFFFF
+ #BBFFFFFF
+ #FF33B5E5
+ #ff000000
+ #fff3f3f3
+ #ff4c4c4c
+ #ffb2b2b2
+ @color/vpi__background_holo_light
+ @color/vpi__background_holo_dark
+ @color/vpi__bright_foreground_holo_light
+ @color/vpi__bright_foreground_holo_dark
+
+
+
+
+
+
+
+
+
+
+
+
+ 3dp
+ 1dp
+ 4dp
+ 12dp
+ 1dp
+ 4dp
+ 4dp
+ 20dp
+ 2dp
+ 7dp
+ 15dp
+ 5dp
+ 7dp
+ 0
+ 2
+ 0
+ 300
+ 400
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeReleaseResources/merger.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeReleaseResources/merger.xml
new file mode 100644
index 0000000..2c5a547
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeReleaseResources/merger.xml
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @color/vpi__background_holo_dark#ff4c4c4c@color/vpi__bright_foreground_holo_dark#ffb2b2b2@color/vpi__bright_foreground_holo_light@color/vpi__background_holo_light#ff000000#fff3f3f35dp1dp4dptrue#0000000020dp3dp40003002#FF33B5E54dp#FF33B5E5false#FFBBBBBB#FFFFFFFF12dp4dp2dp015dp7dp#BBFFFFFFtrue1dp7dp#FFDDDDDD#FF33B5E5true#FFFFFFFFtrue
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeReleaseShaders/merger.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeReleaseShaders/merger.xml
new file mode 100644
index 0000000..7519660
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/mergeReleaseShaders/merger.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageDebugAssets/merger.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageDebugAssets/merger.xml
new file mode 100644
index 0000000..0ce1c9c
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageDebugAssets/merger.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageDebugResources/compile-file-map.properties b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageDebugResources/compile-file-map.properties
new file mode 100644
index 0000000..b983675
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageDebugResources/compile-file-map.properties
@@ -0,0 +1,25 @@
+#Wed May 31 00:51:46 CST 2023
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_focused_holo.9.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_focused_holo.9.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_holo.9.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\vpi__tab_selected_holo.9.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\color\\vpi__dark_theme.xml=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\color\\vpi__dark_theme.xml
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_holo.9.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-mdpi-v4\\vpi__tab_selected_holo.9.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\tab.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\tab.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_focused_holo.9.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\vpi__tab_selected_focused_holo.9.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_focused_holo.9.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_focused_holo.9.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_pressed_holo.9.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_pressed_holo.9.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable\\vpi__tab_indicator.xml=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable\\vpi__tab_indicator.xml
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_focused_holo.9.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_focused_holo.9.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_pressed_holo.9.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\vpi__tab_selected_pressed_holo.9.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\community_tab_subscript.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\community_tab_subscript.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable\\vpi_text_tab_indicator.xml=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable\\vpi_text_tab_indicator.xml
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_pressed_holo.9.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_pressed_holo.9.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\color\\vpi__light_theme.xml=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\color\\vpi__light_theme.xml
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_pressed_holo.9.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_pressed_holo.9.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_focused_holo.9.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-mdpi-v4\\vpi__tab_selected_focused_holo.9.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_pressed_holo.9.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_pressed_holo.9.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_pressed_holo.9.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-mdpi-v4\\vpi__tab_selected_pressed_holo.9.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_holo.9.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-hdpi-v4\\vpi__tab_unselected_holo.9.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_focused_holo.9.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_focused_holo.9.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_holo.9.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-mdpi-v4\\vpi__tab_unselected_holo.9.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_holo.9.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-xhdpi-v4\\vpi__tab_selected_holo.9.png
+C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_holo.9.png=C\:\\Users\\guoliuqian\\Desktop\\ShoppingMall\\ViewPagerIndicator_library\\build\\intermediates\\packaged_res\\debug\\drawable-xhdpi-v4\\vpi__tab_unselected_holo.9.png
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageDebugResources/merged.dir/values/values.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageDebugResources/merged.dir/values/values.xml
new file mode 100644
index 0000000..7ce331f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageDebugResources/merged.dir/values/values.xml
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+ true
+ false
+ true
+ true
+ true
+ #FFFFFFFF
+ #00000000
+ #FFDDDDDD
+ #FF33B5E5
+ #FFBBBBBB
+ #FF33B5E5
+ #FFFFFFFF
+ #BBFFFFFF
+ #FF33B5E5
+ #ff000000
+ #fff3f3f3
+ #ff4c4c4c
+ #ffb2b2b2
+ @color/vpi__background_holo_light
+ @color/vpi__background_holo_dark
+ @color/vpi__bright_foreground_holo_light
+ @color/vpi__bright_foreground_holo_dark
+ 3dp
+ 1dp
+ 4dp
+ 12dp
+ 1dp
+ 4dp
+ 4dp
+ 20dp
+ 2dp
+ 7dp
+ 15dp
+ 5dp
+ 7dp
+ 0
+ 2
+ 0
+ 300
+ 400
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageDebugResources/merger.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageDebugResources/merger.xml
new file mode 100644
index 0000000..95093e3
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageDebugResources/merger.xml
@@ -0,0 +1,214 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #ff000000#fff3f3f3@color/vpi__background_holo_light@color/vpi__background_holo_dark#ff4c4c4c#ffb2b2b2@color/vpi__bright_foreground_holo_light@color/vpi__bright_foreground_holo_darktrue#FFFFFFFF#0000000003dpfalse#FFDDDDDD1dp12dp4dp1dp#FF33B5E5#FFBBBBBBtrue4dp#FF33B5E52dp24dp20dp7dp0#FFFFFFFFtrue#BBFFFFFF15dp5dp7dptrue300400#FF33B5E5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageReleaseResources/compile-file-map.properties b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageReleaseResources/compile-file-map.properties
new file mode 100644
index 0000000..944b4d9
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageReleaseResources/compile-file-map.properties
@@ -0,0 +1,25 @@
+#Mon Nov 14 09:45:30 GMT+08:00 2016
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\color\\vpi__dark_theme.xml=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\color\\vpi__dark_theme.xml
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-mdpi-v4\\vpi__tab_unselected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable\\vpi__tab_indicator.xml=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable\\vpi__tab_indicator.xml
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-hdpi-v4\\vpi__tab_selected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable\\vpi_text_tab_indicator.xml=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable\\vpi_text_tab_indicator.xml
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\community_tab_subscript.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-hdpi-v4\\community_tab_subscript.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\tab.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-hdpi-v4\\tab.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-mdpi-v4\\vpi__tab_unselected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-xhdpi-v4\\vpi__tab_selected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_unselected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-mdpi-v4\\vpi__tab_unselected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-mdpi-v4\\vpi__tab_selected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\color\\vpi__light_theme.xml=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\color\\vpi__light_theme.xml
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-mdpi-v4\\vpi__tab_selected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-xhdpi-v4\\vpi__tab_unselected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-xhdpi-v4\\vpi__tab_unselected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-hdpi-v4\\vpi__tab_selected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-xhdpi-v4\\vpi__tab_selected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_unselected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-xhdpi-v4\\vpi__tab_unselected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-mdpi\\vpi__tab_selected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-mdpi-v4\\vpi__tab_selected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-hdpi-v4\\vpi__tab_unselected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-hdpi-v4\\vpi__tab_unselected_pressed_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_unselected_focused_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-hdpi-v4\\vpi__tab_unselected_focused_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-hdpi\\vpi__tab_selected_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-hdpi-v4\\vpi__tab_selected_holo.9.png
+C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\src\\main\\res\\drawable-xhdpi\\vpi__tab_selected_pressed_holo.9.png=C\:\\Users\\Administrator\\Desktop\\mobile\\ShoppingMall2\\ViewPagerIndicator_library\\build\\intermediates\\bundles\\release\\res\\drawable-xhdpi-v4\\vpi__tab_selected_pressed_holo.9.png
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageReleaseResources/merged.dir/values/values.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageReleaseResources/merged.dir/values/values.xml
new file mode 100644
index 0000000..f7adf19
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageReleaseResources/merged.dir/values/values.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ true
+ false
+ true
+ true
+ true
+ #FFFFFFFF
+ #00000000
+ #FFDDDDDD
+ #FF33B5E5
+ #FFBBBBBB
+ #FF33B5E5
+ #FFFFFFFF
+ #BBFFFFFF
+ #FF33B5E5
+ #ff000000
+ #fff3f3f3
+ #ff4c4c4c
+ #ffb2b2b2
+ @color/vpi__background_holo_light
+ @color/vpi__background_holo_dark
+ @color/vpi__bright_foreground_holo_light
+ @color/vpi__bright_foreground_holo_dark
+
+
+
+
+
+
+
+
+
+
+
+
+ 3dp
+ 1dp
+ 4dp
+ 12dp
+ 1dp
+ 4dp
+ 4dp
+ 20dp
+ 2dp
+ 7dp
+ 15dp
+ 5dp
+ 7dp
+ 0
+ 2
+ 0
+ 300
+ 400
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageReleaseResources/merger.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageReleaseResources/merger.xml
new file mode 100644
index 0000000..da64abb
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/incremental/packageReleaseResources/merger.xml
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @color/vpi__background_holo_dark#ff4c4c4c@color/vpi__bright_foreground_holo_dark#ffb2b2b2@color/vpi__bright_foreground_holo_light@color/vpi__background_holo_light#ff000000#fff3f3f35dp1dp4dptrue#0000000020dp3dp40003002#FF33B5E54dp#FF33B5E5false#FFBBBBBB#FFFFFFFF12dp4dp2dp015dp7dp#BBFFFFFFtrue1dp7dp#FFDDDDDD#FF33B5E5true#FFFFFFFFtrue
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/BuildConfig.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/BuildConfig.class
new file mode 100644
index 0000000..afb3276
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/BuildConfig.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/CirclePageIndicator$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/CirclePageIndicator$1.class
new file mode 100644
index 0000000..28d4ded
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/CirclePageIndicator$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/CirclePageIndicator$SavedState$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/CirclePageIndicator$SavedState$1.class
new file mode 100644
index 0000000..e5cc7e9
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/CirclePageIndicator$SavedState$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/CirclePageIndicator$SavedState.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/CirclePageIndicator$SavedState.class
new file mode 100644
index 0000000..d65dca8
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/CirclePageIndicator$SavedState.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/CirclePageIndicator.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/CirclePageIndicator.class
new file mode 100644
index 0000000..3628c13
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/CirclePageIndicator.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/IconPageIndicator$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/IconPageIndicator$1.class
new file mode 100644
index 0000000..3e3381b
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/IconPageIndicator$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/IconPageIndicator.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/IconPageIndicator.class
new file mode 100644
index 0000000..73317c8
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/IconPageIndicator.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/IconPagerAdapter.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/IconPagerAdapter.class
new file mode 100644
index 0000000..89c75f4
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/IconPagerAdapter.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/IcsLinearLayout.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/IcsLinearLayout.class
new file mode 100644
index 0000000..61870c4
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/IcsLinearLayout.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/LinePageIndicator$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/LinePageIndicator$1.class
new file mode 100644
index 0000000..fa076d5
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/LinePageIndicator$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/LinePageIndicator$SavedState$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/LinePageIndicator$SavedState$1.class
new file mode 100644
index 0000000..bd2d7b6
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/LinePageIndicator$SavedState$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/LinePageIndicator$SavedState.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/LinePageIndicator$SavedState.class
new file mode 100644
index 0000000..e0c25c2
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/LinePageIndicator$SavedState.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/LinePageIndicator.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/LinePageIndicator.class
new file mode 100644
index 0000000..a0a6fe1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/LinePageIndicator.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/PageIndicator.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/PageIndicator.class
new file mode 100644
index 0000000..11bdb01
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/PageIndicator.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TabPageIndicator$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TabPageIndicator$1.class
new file mode 100644
index 0000000..ca2607f
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TabPageIndicator$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TabPageIndicator$2.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TabPageIndicator$2.class
new file mode 100644
index 0000000..2eee80f
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TabPageIndicator$2.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TabPageIndicator$OnTabReselectedListener.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TabPageIndicator$OnTabReselectedListener.class
new file mode 100644
index 0000000..639210b
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TabPageIndicator$OnTabReselectedListener.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TabPageIndicator$TabView.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TabPageIndicator$TabView.class
new file mode 100644
index 0000000..d31e496
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TabPageIndicator$TabView.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TabPageIndicator.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TabPageIndicator.class
new file mode 100644
index 0000000..b2d873e
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TabPageIndicator.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator$1.class
new file mode 100644
index 0000000..6ae55af
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator$IndicatorStyle.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator$IndicatorStyle.class
new file mode 100644
index 0000000..ab9472d
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator$IndicatorStyle.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator$LinePosition.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator$LinePosition.class
new file mode 100644
index 0000000..da70b18
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator$LinePosition.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator$OnCenterItemClickListener.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator$OnCenterItemClickListener.class
new file mode 100644
index 0000000..72339a0
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator$OnCenterItemClickListener.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator$SavedState$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator$SavedState$1.class
new file mode 100644
index 0000000..a3c3e79
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator$SavedState$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator$SavedState.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator$SavedState.class
new file mode 100644
index 0000000..4023c32
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator$SavedState.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator.class
new file mode 100644
index 0000000..5077e22
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/TitlePageIndicator.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/UnderlinePageIndicator$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/UnderlinePageIndicator$1.class
new file mode 100644
index 0000000..5fa6d13
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/UnderlinePageIndicator$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/UnderlinePageIndicator$2.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/UnderlinePageIndicator$2.class
new file mode 100644
index 0000000..8bf9808
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/UnderlinePageIndicator$2.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/UnderlinePageIndicator$SavedState$1.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/UnderlinePageIndicator$SavedState$1.class
new file mode 100644
index 0000000..f088c57
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/UnderlinePageIndicator$SavedState$1.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/UnderlinePageIndicator$SavedState.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/UnderlinePageIndicator$SavedState.class
new file mode 100644
index 0000000..3682c85
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/UnderlinePageIndicator$SavedState.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/UnderlinePageIndicator.class b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/UnderlinePageIndicator.class
new file mode 100644
index 0000000..7e324ce
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/javac/debug/classes/com/viewpagerindicator/UnderlinePageIndicator.class differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/library_java_res/debug/res.jar b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/library_java_res/debug/res.jar
new file mode 100644
index 0000000..15cb0ec
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/library_java_res/debug/res.jar differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/library_manifest/debug/AndroidManifest.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/library_manifest/debug/AndroidManifest.xml
new file mode 100644
index 0000000..34763e8
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/library_manifest/debug/AndroidManifest.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/local_only_symbol_list/debug/R-def.txt b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/local_only_symbol_list/debug/R-def.txt
new file mode 100644
index 0000000..476d22e
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/local_only_symbol_list/debug/R-def.txt
@@ -0,0 +1,100 @@
+R_DEF: Internal format may change without notice
+local
+attr centered
+attr? clipPadding
+attr? fadeDelay
+attr? fadeLength
+attr? fades
+attr? fillColor
+attr? footerColor
+attr? footerIndicatorHeight
+attr? footerIndicatorStyle
+attr? footerIndicatorUnderlinePadding
+attr? footerLineHeight
+attr? footerPadding
+attr? gapWidth
+attr? linePosition
+attr? lineWidth
+attr? pageColor
+attr? radius
+attr? selectedBold
+attr selectedColor
+attr? snap
+attr? strokeColor
+attr strokeWidth
+attr? titlePadding
+attr? topPadding
+attr unselectedColor
+attr? vpiCirclePageIndicatorStyle
+attr? vpiIconPageIndicatorStyle
+attr? vpiLinePageIndicatorStyle
+attr? vpiTabPageIndicatorStyle
+attr? vpiTitlePageIndicatorStyle
+attr? vpiUnderlinePageIndicatorStyle
+bool default_circle_indicator_centered
+bool default_circle_indicator_snap
+bool default_line_indicator_centered
+bool default_title_indicator_selected_bold
+bool default_underline_indicator_fades
+color default_circle_indicator_fill_color
+color default_circle_indicator_page_color
+color default_circle_indicator_stroke_color
+color default_line_indicator_selected_color
+color default_line_indicator_unselected_color
+color default_title_indicator_footer_color
+color default_title_indicator_selected_color
+color default_title_indicator_text_color
+color default_underline_indicator_selected_color
+color vpi__background_holo_dark
+color vpi__background_holo_light
+color vpi__bright_foreground_disabled_holo_dark
+color vpi__bright_foreground_disabled_holo_light
+color vpi__bright_foreground_holo_dark
+color vpi__bright_foreground_holo_light
+color vpi__bright_foreground_inverse_holo_dark
+color vpi__bright_foreground_inverse_holo_light
+color vpi__dark_theme
+color vpi__light_theme
+dimen default_circle_indicator_radius
+dimen default_circle_indicator_stroke_width
+dimen default_line_indicator_gap_width
+dimen default_line_indicator_line_width
+dimen default_line_indicator_stroke_width
+dimen default_title_indicator_clip_padding
+dimen default_title_indicator_footer_indicator_height
+dimen default_title_indicator_footer_indicator_underline_padding
+dimen default_title_indicator_footer_line_height
+dimen default_title_indicator_footer_padding
+dimen default_title_indicator_text_size
+dimen default_title_indicator_title_padding
+dimen default_title_indicator_top_padding
+drawable community_tab_subscript
+drawable tab
+drawable vpi__tab_indicator
+drawable vpi__tab_selected_focused_holo
+drawable vpi__tab_selected_holo
+drawable vpi__tab_selected_pressed_holo
+drawable vpi__tab_unselected_focused_holo
+drawable vpi__tab_unselected_holo
+drawable vpi__tab_unselected_pressed_holo
+drawable vpi_text_tab_indicator
+id bottom
+id none
+id top
+id triangle
+id underline
+integer default_circle_indicator_orientation
+integer default_title_indicator_footer_indicator_style
+integer default_title_indicator_line_position
+integer default_underline_indicator_fade_delay
+integer default_underline_indicator_fade_length
+style TextAppearance.TabPageIndicator
+style Theme.PageIndicatorDefaults
+style Widget
+style Widget.IconPageIndicator
+style Widget.TabPageIndicator
+styleable CirclePageIndicator centered fillColor pageColor android:orientation radius snap strokeColor strokeWidth android:background
+styleable LinePageIndicator centered unselectedColor selectedColor lineWidth strokeWidth gapWidth android:background
+styleable TitlePageIndicator clipPadding footerColor footerLineHeight footerIndicatorStyle footerIndicatorHeight footerIndicatorUnderlinePadding footerPadding linePosition selectedColor selectedBold android:textColor android:textSize titlePadding topPadding android:background
+styleable UnderlinePageIndicator fades fadeDelay fadeLength selectedColor android:background
+styleable ViewPagerIndicator vpiCirclePageIndicatorStyle vpiIconPageIndicatorStyle vpiLinePageIndicatorStyle vpiTitlePageIndicatorStyle vpiTabPageIndicatorStyle vpiUnderlinePageIndicatorStyle
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/manifest/androidTest/debug/AndroidManifest.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/manifest/androidTest/debug/AndroidManifest.xml
new file mode 100644
index 0000000..8b18e8b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/manifest/androidTest/debug/AndroidManifest.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt
new file mode 100644
index 0000000..d8190b1
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt
@@ -0,0 +1,13 @@
+1
+2
+7 C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml
+9 android:targetSdkVersion="23" />
+9-->C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml
+10
+11
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/manifests/aapt/debug/AndroidManifest.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/manifests/aapt/debug/AndroidManifest.xml
new file mode 100644
index 0000000..34763e8
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/manifests/aapt/debug/AndroidManifest.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/manifests/aapt/release/AndroidManifest.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/manifests/aapt/release/AndroidManifest.xml
new file mode 100644
index 0000000..34763e8
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/manifests/aapt/release/AndroidManifest.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/merged_manifests/debug/output.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/merged_manifests/debug/output.json
new file mode 100644
index 0000000..9dac83a
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/merged_manifests/debug/output.json
@@ -0,0 +1 @@
+[{"outputType":{"type":"MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":65,"versionName":"2.4.1","enabled":true,"outputFile":"ViewPagerIndicator_library-debug.aar","fullName":"debug","baseName":"debug","dirName":""},"path":"../../library_manifest/debug/AndroidManifest.xml","properties":{"packageId":"com.viewpagerindicator","split":""}}]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/navigation_json/debug/navigation.json b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/navigation_json/debug/navigation.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/navigation_json/debug/navigation.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/color/vpi__dark_theme.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/color/vpi__dark_theme.xml
new file mode 100644
index 0000000..3e7a08f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/color/vpi__dark_theme.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/color/vpi__light_theme.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/color/vpi__light_theme.xml
new file mode 100644
index 0000000..f955db7
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/color/vpi__light_theme.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/community_tab_subscript.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/community_tab_subscript.png
new file mode 100644
index 0000000..6b98d01
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/community_tab_subscript.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/tab.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/tab.png
new file mode 100644
index 0000000..627ae62
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/tab.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..673e3bf
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..d57df98
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..6278eef
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..294991d
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..19532ab
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..aadc6f8
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-hdpi-v4/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-mdpi-v4/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-mdpi-v4/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..c9972e7
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-mdpi-v4/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-mdpi-v4/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-mdpi-v4/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..587337c
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-mdpi-v4/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-mdpi-v4/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-mdpi-v4/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..155c4fc
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-mdpi-v4/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-mdpi-v4/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-mdpi-v4/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..f0cecd1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-mdpi-v4/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-mdpi-v4/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-mdpi-v4/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..a2dbf42
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-mdpi-v4/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-mdpi-v4/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-mdpi-v4/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..b1223fe
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-mdpi-v4/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..03cfb09
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..e4229f2
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..e862cb1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..f3a5cbd
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..9465173
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..f1eb673
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable-xhdpi-v4/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable/vpi__tab_indicator.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable/vpi__tab_indicator.xml
new file mode 100644
index 0000000..5cc352d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable/vpi__tab_indicator.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable/vpi_text_tab_indicator.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable/vpi_text_tab_indicator.xml
new file mode 100644
index 0000000..28d29bb
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/drawable/vpi_text_tab_indicator.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/values/values.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/values/values.xml
new file mode 100644
index 0000000..7ce331f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/packaged_res/debug/values/values.xml
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+ true
+ false
+ true
+ true
+ true
+ #FFFFFFFF
+ #00000000
+ #FFDDDDDD
+ #FF33B5E5
+ #FFBBBBBB
+ #FF33B5E5
+ #FFFFFFFF
+ #BBFFFFFF
+ #FF33B5E5
+ #ff000000
+ #fff3f3f3
+ #ff4c4c4c
+ #ffb2b2b2
+ @color/vpi__background_holo_light
+ @color/vpi__background_holo_dark
+ @color/vpi__bright_foreground_holo_light
+ @color/vpi__bright_foreground_holo_dark
+ 3dp
+ 1dp
+ 4dp
+ 12dp
+ 1dp
+ 4dp
+ 4dp
+ 20dp
+ 2dp
+ 7dp
+ 15dp
+ 5dp
+ 7dp
+ 0
+ 2
+ 0
+ 300
+ 400
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/color/vpi__dark_theme.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/color/vpi__dark_theme.xml
new file mode 100644
index 0000000..3e7a08f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/color/vpi__dark_theme.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/color/vpi__light_theme.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/color/vpi__light_theme.xml
new file mode 100644
index 0000000..f955db7
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/color/vpi__light_theme.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/community_tab_subscript.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/community_tab_subscript.png
new file mode 100644
index 0000000..6b98d01
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/community_tab_subscript.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/tab.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/tab.png
new file mode 100644
index 0000000..f2e1e2d
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/tab.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..e59e87d
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..53c7d3a
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..e95c45f
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..7f035bd
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..8bbbc50
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..7ced71a
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-hdpi-v4/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-mdpi-v4/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-mdpi-v4/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..e48bfe0
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-mdpi-v4/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-mdpi-v4/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-mdpi-v4/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..480102f
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-mdpi-v4/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-mdpi-v4/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-mdpi-v4/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..7d60392
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-mdpi-v4/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-mdpi-v4/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-mdpi-v4/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..529f537
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-mdpi-v4/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-mdpi-v4/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-mdpi-v4/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..34a3b09
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-mdpi-v4/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-mdpi-v4/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-mdpi-v4/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..b915b65
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-mdpi-v4/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-xhdpi-v4/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-xhdpi-v4/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..ddd218f
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-xhdpi-v4/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-xhdpi-v4/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-xhdpi-v4/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..cd8a2ad
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-xhdpi-v4/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-xhdpi-v4/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-xhdpi-v4/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..e1d9dc2
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-xhdpi-v4/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-xhdpi-v4/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-xhdpi-v4/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..28ebb50
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-xhdpi-v4/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-xhdpi-v4/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-xhdpi-v4/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..1b1ef70
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-xhdpi-v4/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-xhdpi-v4/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-xhdpi-v4/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..ba12729
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable-xhdpi-v4/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable/vpi__tab_indicator.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable/vpi__tab_indicator.xml
new file mode 100644
index 0000000..5cc352d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable/vpi__tab_indicator.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable/vpi_text_tab_indicator.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable/vpi_text_tab_indicator.xml
new file mode 100644
index 0000000..28d29bb
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/drawable/vpi_text_tab_indicator.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/values/values.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/values/values.xml
new file mode 100644
index 0000000..f7adf19
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/androidTest/debug/values/values.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ true
+ false
+ true
+ true
+ true
+ #FFFFFFFF
+ #00000000
+ #FFDDDDDD
+ #FF33B5E5
+ #FFBBBBBB
+ #FF33B5E5
+ #FFFFFFFF
+ #BBFFFFFF
+ #FF33B5E5
+ #ff000000
+ #fff3f3f3
+ #ff4c4c4c
+ #ffb2b2b2
+ @color/vpi__background_holo_light
+ @color/vpi__background_holo_dark
+ @color/vpi__bright_foreground_holo_light
+ @color/vpi__bright_foreground_holo_dark
+
+
+
+
+
+
+
+
+
+
+
+
+ 3dp
+ 1dp
+ 4dp
+ 12dp
+ 1dp
+ 4dp
+ 4dp
+ 20dp
+ 2dp
+ 7dp
+ 15dp
+ 5dp
+ 7dp
+ 0
+ 2
+ 0
+ 300
+ 400
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/color/vpi__dark_theme.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/color/vpi__dark_theme.xml
new file mode 100644
index 0000000..3e7a08f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/color/vpi__dark_theme.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/color/vpi__light_theme.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/color/vpi__light_theme.xml
new file mode 100644
index 0000000..f955db7
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/color/vpi__light_theme.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/community_tab_subscript.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/community_tab_subscript.png
new file mode 100644
index 0000000..6b98d01
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/community_tab_subscript.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/tab.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/tab.png
new file mode 100644
index 0000000..627ae62
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/tab.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..673e3bf
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..d57df98
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..6278eef
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..294991d
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..19532ab
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..aadc6f8
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-hdpi-v4/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-mdpi-v4/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-mdpi-v4/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..c9972e7
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-mdpi-v4/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-mdpi-v4/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-mdpi-v4/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..587337c
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-mdpi-v4/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-mdpi-v4/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-mdpi-v4/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..155c4fc
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-mdpi-v4/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-mdpi-v4/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-mdpi-v4/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..f0cecd1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-mdpi-v4/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-mdpi-v4/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-mdpi-v4/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..a2dbf42
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-mdpi-v4/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-mdpi-v4/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-mdpi-v4/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..b1223fe
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-mdpi-v4/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-xhdpi-v4/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-xhdpi-v4/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..03cfb09
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-xhdpi-v4/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-xhdpi-v4/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-xhdpi-v4/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..e4229f2
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-xhdpi-v4/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-xhdpi-v4/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-xhdpi-v4/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..e862cb1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-xhdpi-v4/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-xhdpi-v4/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-xhdpi-v4/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..f3a5cbd
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-xhdpi-v4/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-xhdpi-v4/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-xhdpi-v4/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..9465173
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-xhdpi-v4/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-xhdpi-v4/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-xhdpi-v4/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..f1eb673
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable-xhdpi-v4/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable/vpi__tab_indicator.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable/vpi__tab_indicator.xml
new file mode 100644
index 0000000..5cc352d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable/vpi__tab_indicator.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable/vpi_text_tab_indicator.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable/vpi_text_tab_indicator.xml
new file mode 100644
index 0000000..28d29bb
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/drawable/vpi_text_tab_indicator.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/values/values.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/values/values.xml
new file mode 100644
index 0000000..f7adf19
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/debug/values/values.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ true
+ false
+ true
+ true
+ true
+ #FFFFFFFF
+ #00000000
+ #FFDDDDDD
+ #FF33B5E5
+ #FFBBBBBB
+ #FF33B5E5
+ #FFFFFFFF
+ #BBFFFFFF
+ #FF33B5E5
+ #ff000000
+ #fff3f3f3
+ #ff4c4c4c
+ #ffb2b2b2
+ @color/vpi__background_holo_light
+ @color/vpi__background_holo_dark
+ @color/vpi__bright_foreground_holo_light
+ @color/vpi__bright_foreground_holo_dark
+
+
+
+
+
+
+
+
+
+
+
+
+ 3dp
+ 1dp
+ 4dp
+ 12dp
+ 1dp
+ 4dp
+ 4dp
+ 20dp
+ 2dp
+ 7dp
+ 15dp
+ 5dp
+ 7dp
+ 0
+ 2
+ 0
+ 300
+ 400
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/color/vpi__dark_theme.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/color/vpi__dark_theme.xml
new file mode 100644
index 0000000..3e7a08f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/color/vpi__dark_theme.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/color/vpi__light_theme.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/color/vpi__light_theme.xml
new file mode 100644
index 0000000..f955db7
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/color/vpi__light_theme.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/community_tab_subscript.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/community_tab_subscript.png
new file mode 100644
index 0000000..6b98d01
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/community_tab_subscript.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/tab.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/tab.png
new file mode 100644
index 0000000..627ae62
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/tab.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..673e3bf
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..d57df98
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..6278eef
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..294991d
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..19532ab
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..aadc6f8
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-hdpi-v4/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-mdpi-v4/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-mdpi-v4/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..c9972e7
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-mdpi-v4/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-mdpi-v4/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-mdpi-v4/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..587337c
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-mdpi-v4/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-mdpi-v4/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-mdpi-v4/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..155c4fc
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-mdpi-v4/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-mdpi-v4/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-mdpi-v4/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..f0cecd1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-mdpi-v4/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-mdpi-v4/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-mdpi-v4/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..a2dbf42
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-mdpi-v4/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-mdpi-v4/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-mdpi-v4/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..b1223fe
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-mdpi-v4/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-xhdpi-v4/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-xhdpi-v4/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..03cfb09
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-xhdpi-v4/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-xhdpi-v4/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-xhdpi-v4/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..e4229f2
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-xhdpi-v4/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-xhdpi-v4/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-xhdpi-v4/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..e862cb1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-xhdpi-v4/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-xhdpi-v4/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-xhdpi-v4/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..f3a5cbd
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-xhdpi-v4/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-xhdpi-v4/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-xhdpi-v4/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..9465173
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-xhdpi-v4/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-xhdpi-v4/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-xhdpi-v4/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..f1eb673
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable-xhdpi-v4/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable/vpi__tab_indicator.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable/vpi__tab_indicator.xml
new file mode 100644
index 0000000..5cc352d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable/vpi__tab_indicator.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable/vpi_text_tab_indicator.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable/vpi_text_tab_indicator.xml
new file mode 100644
index 0000000..28d29bb
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/drawable/vpi_text_tab_indicator.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/values/values.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/values/values.xml
new file mode 100644
index 0000000..f7adf19
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/merged/release/values/values.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+ true
+ false
+ true
+ true
+ true
+ #FFFFFFFF
+ #00000000
+ #FFDDDDDD
+ #FF33B5E5
+ #FFBBBBBB
+ #FF33B5E5
+ #FFFFFFFF
+ #BBFFFFFF
+ #FF33B5E5
+ #ff000000
+ #fff3f3f3
+ #ff4c4c4c
+ #ffb2b2b2
+ @color/vpi__background_holo_light
+ @color/vpi__background_holo_dark
+ @color/vpi__bright_foreground_holo_light
+ @color/vpi__bright_foreground_holo_dark
+
+
+
+
+
+
+
+
+
+
+
+
+ 3dp
+ 1dp
+ 4dp
+ 12dp
+ 1dp
+ 4dp
+ 4dp
+ 20dp
+ 2dp
+ 7dp
+ 15dp
+ 5dp
+ 7dp
+ 0
+ 2
+ 0
+ 300
+ 400
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/resources-debug-androidTest.ap_ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/resources-debug-androidTest.ap_
new file mode 100644
index 0000000..6e711b2
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/res/resources-debug-androidTest.ap_ differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/runtime_library_classes/debug/classes.jar b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/runtime_library_classes/debug/classes.jar
new file mode 100644
index 0000000..314d88e
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/runtime_library_classes/debug/classes.jar differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt
new file mode 100644
index 0000000..9f86bda
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt
@@ -0,0 +1,99 @@
+com.viewpagerindicator
+attr centered
+attr clipPadding
+attr fadeDelay
+attr fadeLength
+attr fades
+attr fillColor
+attr footerColor
+attr footerIndicatorHeight
+attr footerIndicatorStyle
+attr footerIndicatorUnderlinePadding
+attr footerLineHeight
+attr footerPadding
+attr gapWidth
+attr linePosition
+attr lineWidth
+attr pageColor
+attr radius
+attr selectedBold
+attr selectedColor
+attr snap
+attr strokeColor
+attr strokeWidth
+attr titlePadding
+attr topPadding
+attr unselectedColor
+attr vpiCirclePageIndicatorStyle
+attr vpiIconPageIndicatorStyle
+attr vpiLinePageIndicatorStyle
+attr vpiTabPageIndicatorStyle
+attr vpiTitlePageIndicatorStyle
+attr vpiUnderlinePageIndicatorStyle
+bool default_circle_indicator_centered
+bool default_circle_indicator_snap
+bool default_line_indicator_centered
+bool default_title_indicator_selected_bold
+bool default_underline_indicator_fades
+color default_circle_indicator_fill_color
+color default_circle_indicator_page_color
+color default_circle_indicator_stroke_color
+color default_line_indicator_selected_color
+color default_line_indicator_unselected_color
+color default_title_indicator_footer_color
+color default_title_indicator_selected_color
+color default_title_indicator_text_color
+color default_underline_indicator_selected_color
+color vpi__background_holo_dark
+color vpi__background_holo_light
+color vpi__bright_foreground_disabled_holo_dark
+color vpi__bright_foreground_disabled_holo_light
+color vpi__bright_foreground_holo_dark
+color vpi__bright_foreground_holo_light
+color vpi__bright_foreground_inverse_holo_dark
+color vpi__bright_foreground_inverse_holo_light
+color vpi__dark_theme
+color vpi__light_theme
+dimen default_circle_indicator_radius
+dimen default_circle_indicator_stroke_width
+dimen default_line_indicator_gap_width
+dimen default_line_indicator_line_width
+dimen default_line_indicator_stroke_width
+dimen default_title_indicator_clip_padding
+dimen default_title_indicator_footer_indicator_height
+dimen default_title_indicator_footer_indicator_underline_padding
+dimen default_title_indicator_footer_line_height
+dimen default_title_indicator_footer_padding
+dimen default_title_indicator_text_size
+dimen default_title_indicator_title_padding
+dimen default_title_indicator_top_padding
+drawable community_tab_subscript
+drawable tab
+drawable vpi__tab_indicator
+drawable vpi__tab_selected_focused_holo
+drawable vpi__tab_selected_holo
+drawable vpi__tab_selected_pressed_holo
+drawable vpi__tab_unselected_focused_holo
+drawable vpi__tab_unselected_holo
+drawable vpi__tab_unselected_pressed_holo
+drawable vpi_text_tab_indicator
+id bottom
+id none
+id top
+id triangle
+id underline
+integer default_circle_indicator_orientation
+integer default_title_indicator_footer_indicator_style
+integer default_title_indicator_line_position
+integer default_underline_indicator_fade_delay
+integer default_underline_indicator_fade_length
+style TextAppearance_TabPageIndicator
+style Theme_PageIndicatorDefaults
+style Widget
+style Widget_IconPageIndicator
+style Widget_TabPageIndicator
+styleable CirclePageIndicator android_background android_orientation centered fillColor pageColor radius snap strokeColor strokeWidth
+styleable LinePageIndicator android_background centered gapWidth lineWidth selectedColor strokeWidth unselectedColor
+styleable TitlePageIndicator android_background android_textColor android_textSize clipPadding footerColor footerIndicatorHeight footerIndicatorStyle footerIndicatorUnderlinePadding footerLineHeight footerPadding linePosition selectedBold selectedColor titlePadding topPadding
+styleable UnderlinePageIndicator android_background fadeDelay fadeLength fades selectedColor
+styleable ViewPagerIndicator vpiCirclePageIndicatorStyle vpiIconPageIndicatorStyle vpiLinePageIndicatorStyle vpiTabPageIndicatorStyle vpiTitlePageIndicatorStyle vpiUnderlinePageIndicatorStyle
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/symbols/androidTest/debug/R.txt b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/symbols/androidTest/debug/R.txt
new file mode 100644
index 0000000..a00b87f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/symbols/androidTest/debug/R.txt
@@ -0,0 +1,140 @@
+int attr centered 0x7f010000
+int attr clipPadding 0x7f01000b
+int attr fadeDelay 0x7f010017
+int attr fadeLength 0x7f010018
+int attr fades 0x7f010016
+int attr fillColor 0x7f010004
+int attr footerColor 0x7f01000c
+int attr footerIndicatorHeight 0x7f01000f
+int attr footerIndicatorStyle 0x7f01000e
+int attr footerIndicatorUnderlinePadding 0x7f010010
+int attr footerLineHeight 0x7f01000d
+int attr footerPadding 0x7f010011
+int attr gapWidth 0x7f01000a
+int attr linePosition 0x7f010012
+int attr lineWidth 0x7f010009
+int attr pageColor 0x7f010005
+int attr radius 0x7f010006
+int attr selectedBold 0x7f010013
+int attr selectedColor 0x7f010001
+int attr snap 0x7f010007
+int attr strokeColor 0x7f010008
+int attr strokeWidth 0x7f010002
+int attr titlePadding 0x7f010014
+int attr topPadding 0x7f010015
+int attr unselectedColor 0x7f010003
+int attr vpiCirclePageIndicatorStyle 0x7f010019
+int attr vpiIconPageIndicatorStyle 0x7f01001a
+int attr vpiLinePageIndicatorStyle 0x7f01001b
+int attr vpiTabPageIndicatorStyle 0x7f01001d
+int attr vpiTitlePageIndicatorStyle 0x7f01001c
+int attr vpiUnderlinePageIndicatorStyle 0x7f01001e
+int bool default_circle_indicator_centered 0x7f030000
+int bool default_circle_indicator_snap 0x7f030001
+int bool default_line_indicator_centered 0x7f030002
+int bool default_title_indicator_selected_bold 0x7f030003
+int bool default_underline_indicator_fades 0x7f030004
+int color default_circle_indicator_fill_color 0x7f040000
+int color default_circle_indicator_page_color 0x7f040001
+int color default_circle_indicator_stroke_color 0x7f040002
+int color default_line_indicator_selected_color 0x7f040003
+int color default_line_indicator_unselected_color 0x7f040004
+int color default_title_indicator_footer_color 0x7f040005
+int color default_title_indicator_selected_color 0x7f040006
+int color default_title_indicator_text_color 0x7f040007
+int color default_underline_indicator_selected_color 0x7f040008
+int color vpi__background_holo_dark 0x7f040009
+int color vpi__background_holo_light 0x7f04000a
+int color vpi__bright_foreground_disabled_holo_dark 0x7f04000b
+int color vpi__bright_foreground_disabled_holo_light 0x7f04000c
+int color vpi__bright_foreground_holo_dark 0x7f04000d
+int color vpi__bright_foreground_holo_light 0x7f04000e
+int color vpi__bright_foreground_inverse_holo_dark 0x7f04000f
+int color vpi__bright_foreground_inverse_holo_light 0x7f040010
+int color vpi__dark_theme 0x7f040011
+int color vpi__light_theme 0x7f040012
+int dimen default_circle_indicator_radius 0x7f050000
+int dimen default_circle_indicator_stroke_width 0x7f050001
+int dimen default_line_indicator_gap_width 0x7f050002
+int dimen default_line_indicator_line_width 0x7f050003
+int dimen default_line_indicator_stroke_width 0x7f050004
+int dimen default_title_indicator_clip_padding 0x7f050005
+int dimen default_title_indicator_footer_indicator_height 0x7f050006
+int dimen default_title_indicator_footer_indicator_underline_padding 0x7f050007
+int dimen default_title_indicator_footer_line_height 0x7f050008
+int dimen default_title_indicator_footer_padding 0x7f050009
+int dimen default_title_indicator_text_size 0x7f05000a
+int dimen default_title_indicator_title_padding 0x7f05000b
+int dimen default_title_indicator_top_padding 0x7f05000c
+int drawable community_tab_subscript 0x7f020000
+int drawable tab 0x7f020001
+int drawable vpi__tab_indicator 0x7f020002
+int drawable vpi__tab_selected_focused_holo 0x7f020003
+int drawable vpi__tab_selected_holo 0x7f020004
+int drawable vpi__tab_selected_pressed_holo 0x7f020005
+int drawable vpi__tab_unselected_focused_holo 0x7f020006
+int drawable vpi__tab_unselected_holo 0x7f020007
+int drawable vpi__tab_unselected_pressed_holo 0x7f020008
+int drawable vpi_text_tab_indicator 0x7f020009
+int id bottom 0x7f080003
+int id none 0x7f080000
+int id top 0x7f080004
+int id triangle 0x7f080001
+int id underline 0x7f080002
+int integer default_circle_indicator_orientation 0x7f060000
+int integer default_title_indicator_footer_indicator_style 0x7f060001
+int integer default_title_indicator_line_position 0x7f060002
+int integer default_underline_indicator_fade_delay 0x7f060003
+int integer default_underline_indicator_fade_length 0x7f060004
+int style TextAppearance_TabPageIndicator 0x7f070000
+int style Theme_PageIndicatorDefaults 0x7f070001
+int style Widget 0x7f070002
+int style Widget_IconPageIndicator 0x7f070003
+int style Widget_TabPageIndicator 0x7f070004
+int[] styleable CirclePageIndicator { 0x010100c4, 0x010100d4, 0x7f010000, 0x7f010002, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008 }
+int styleable CirclePageIndicator_android_background 1
+int styleable CirclePageIndicator_android_orientation 0
+int styleable CirclePageIndicator_centered 2
+int styleable CirclePageIndicator_fillColor 4
+int styleable CirclePageIndicator_pageColor 5
+int styleable CirclePageIndicator_radius 6
+int styleable CirclePageIndicator_snap 7
+int styleable CirclePageIndicator_strokeColor 8
+int styleable CirclePageIndicator_strokeWidth 3
+int[] styleable LinePageIndicator { 0x010100d4, 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010009, 0x7f01000a }
+int styleable LinePageIndicator_android_background 0
+int styleable LinePageIndicator_centered 1
+int styleable LinePageIndicator_gapWidth 6
+int styleable LinePageIndicator_lineWidth 5
+int styleable LinePageIndicator_selectedColor 2
+int styleable LinePageIndicator_strokeWidth 3
+int styleable LinePageIndicator_unselectedColor 4
+int[] styleable TitlePageIndicator { 0x01010095, 0x01010098, 0x010100d4, 0x7f010001, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012, 0x7f010013, 0x7f010014, 0x7f010015 }
+int styleable TitlePageIndicator_android_background 2
+int styleable TitlePageIndicator_android_textColor 1
+int styleable TitlePageIndicator_android_textSize 0
+int styleable TitlePageIndicator_clipPadding 4
+int styleable TitlePageIndicator_footerColor 5
+int styleable TitlePageIndicator_footerIndicatorHeight 8
+int styleable TitlePageIndicator_footerIndicatorStyle 7
+int styleable TitlePageIndicator_footerIndicatorUnderlinePadding 9
+int styleable TitlePageIndicator_footerLineHeight 6
+int styleable TitlePageIndicator_footerPadding 10
+int styleable TitlePageIndicator_linePosition 11
+int styleable TitlePageIndicator_selectedBold 12
+int styleable TitlePageIndicator_selectedColor 3
+int styleable TitlePageIndicator_titlePadding 13
+int styleable TitlePageIndicator_topPadding 14
+int[] styleable UnderlinePageIndicator { 0x010100d4, 0x7f010001, 0x7f010016, 0x7f010017, 0x7f010018 }
+int styleable UnderlinePageIndicator_android_background 0
+int styleable UnderlinePageIndicator_fadeDelay 3
+int styleable UnderlinePageIndicator_fadeLength 4
+int styleable UnderlinePageIndicator_fades 2
+int styleable UnderlinePageIndicator_selectedColor 1
+int[] styleable ViewPagerIndicator { 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01001c, 0x7f01001d, 0x7f01001e }
+int styleable ViewPagerIndicator_vpiCirclePageIndicatorStyle 0
+int styleable ViewPagerIndicator_vpiIconPageIndicatorStyle 1
+int styleable ViewPagerIndicator_vpiLinePageIndicatorStyle 2
+int styleable ViewPagerIndicator_vpiTabPageIndicatorStyle 4
+int styleable ViewPagerIndicator_vpiTitlePageIndicatorStyle 3
+int styleable ViewPagerIndicator_vpiUnderlinePageIndicatorStyle 5
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/typedefs.txt b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/intermediates/typedefs.txt
new file mode 100644
index 0000000..e69de29
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/outputs/aar/ViewPagerIndicator_library-debug.aar b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/outputs/aar/ViewPagerIndicator_library-debug.aar
new file mode 100644
index 0000000..1e45dee
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/outputs/aar/ViewPagerIndicator_library-debug.aar differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/outputs/aar/ViewPagerIndicator_library-release.aar b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/outputs/aar/ViewPagerIndicator_library-release.aar
new file mode 100644
index 0000000..13f1f3a
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/outputs/aar/ViewPagerIndicator_library-release.aar differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/outputs/logs/manifest-merger-debug-report.txt b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/outputs/logs/manifest-merger-debug-report.txt
new file mode 100644
index 0000000..13fd1ed
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/build/outputs/logs/manifest-merger-debug-report.txt
@@ -0,0 +1,39 @@
+-- Merging decision tree log ---
+manifest
+ADDED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml:3:1-10:12
+INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml:3:1-10:12
+INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml:3:1-10:12
+INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml:3:1-10:12
+INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml:3:1-10:12
+INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml:3:1-10:12
+INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml:3:1-10:12
+ package
+ ADDED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml:4:5-37
+ INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml
+ INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml
+ android:versionName
+ ADDED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml:7:5-32
+ INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml
+ INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml
+ xmlns:tools
+ ADDED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml:5:5-51
+ xmlns:android
+ ADDED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml:3:11-69
+ android:versionCode
+ ADDED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml:6:5-29
+ INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml
+ INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml
+uses-sdk
+INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml reason: use-sdk injection requested
+INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml
+INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml
+INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml
+INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml
+ android:targetSdkVersion
+ INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml
+ ADDED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml
+ INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml
+ android:minSdkVersion
+ INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml
+ ADDED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml
+ INJECTED from C:\Users\guoliuqian\Desktop\ShoppingMall\ViewPagerIndicator_library\src\main\AndroidManifest.xml
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/AndroidManifest.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..3e545a4
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/AndroidManifest.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/CirclePageIndicator.java b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/CirclePageIndicator.java
new file mode 100644
index 0000000..f441e89
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/CirclePageIndicator.java
@@ -0,0 +1,555 @@
+/*
+ * Copyright (C) 2011 Patrik Akerfeldt
+ * Copyright (C) 2011 Jake Wharton
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.viewpagerindicator;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.Paint.Style;
+import android.graphics.drawable.Drawable;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.support.v4.view.MotionEventCompat;
+import android.support.v4.view.ViewConfigurationCompat;
+import android.support.v4.view.ViewPager;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewConfiguration;
+
+import static android.graphics.Paint.ANTI_ALIAS_FLAG;
+import static android.widget.LinearLayout.HORIZONTAL;
+import static android.widget.LinearLayout.VERTICAL;
+
+/**
+ * Draws circles (one for each view). The current view position is filled and
+ * others are only stroked.
+ */
+public class CirclePageIndicator extends View implements PageIndicator {
+ private static final int INVALID_POINTER = -1;
+
+ private float mRadius;
+ private final Paint mPaintPageFill = new Paint(ANTI_ALIAS_FLAG);
+ private final Paint mPaintStroke = new Paint(ANTI_ALIAS_FLAG);
+ private final Paint mPaintFill = new Paint(ANTI_ALIAS_FLAG);
+ private ViewPager mViewPager;
+ private ViewPager.OnPageChangeListener mListener;
+ private int mCurrentPage;
+ private int mSnapPage;
+ private float mPageOffset;
+ private int mScrollState;
+ private int mOrientation;
+ private boolean mCentered;
+ private boolean mSnap;
+
+ private int mTouchSlop;
+ private float mLastMotionX = -1;
+ private int mActivePointerId = INVALID_POINTER;
+ private boolean mIsDragging;
+
+
+ public CirclePageIndicator(Context context) {
+ this(context, null);
+ }
+
+ public CirclePageIndicator(Context context, AttributeSet attrs) {
+ this(context, attrs, R.attr.vpiCirclePageIndicatorStyle);
+ }
+
+ public CirclePageIndicator(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ if (isInEditMode()) return;
+
+ //Load defaults from resources
+ final Resources res = getResources();
+ final int defaultPageColor = res.getColor(R.color.default_circle_indicator_page_color);
+ final int defaultFillColor = res.getColor(R.color.default_circle_indicator_fill_color);
+ final int defaultOrientation = res.getInteger(R.integer.default_circle_indicator_orientation);
+ final int defaultStrokeColor = res.getColor(R.color.default_circle_indicator_stroke_color);
+ final float defaultStrokeWidth = res.getDimension(R.dimen.default_circle_indicator_stroke_width);
+ final float defaultRadius = res.getDimension(R.dimen.default_circle_indicator_radius);
+ final boolean defaultCentered = res.getBoolean(R.bool.default_circle_indicator_centered);
+ final boolean defaultSnap = res.getBoolean(R.bool.default_circle_indicator_snap);
+
+ //Retrieve styles attributes
+ TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CirclePageIndicator, defStyle, 0);
+
+ mCentered = a.getBoolean(R.styleable.CirclePageIndicator_centered, defaultCentered);
+ mOrientation = a.getInt(R.styleable.CirclePageIndicator_android_orientation, defaultOrientation);
+ mPaintPageFill.setStyle(Style.FILL);
+ mPaintPageFill.setColor(a.getColor(R.styleable.CirclePageIndicator_pageColor, defaultPageColor));
+ mPaintStroke.setStyle(Style.STROKE);
+ mPaintStroke.setColor(a.getColor(R.styleable.CirclePageIndicator_strokeColor, defaultStrokeColor));
+ mPaintStroke.setStrokeWidth(a.getDimension(R.styleable.CirclePageIndicator_strokeWidth, defaultStrokeWidth));
+ mPaintFill.setStyle(Style.FILL);
+ mPaintFill.setColor(a.getColor(R.styleable.CirclePageIndicator_fillColor, defaultFillColor));
+ mRadius = a.getDimension(R.styleable.CirclePageIndicator_radius, defaultRadius);
+ mSnap = a.getBoolean(R.styleable.CirclePageIndicator_snap, defaultSnap);
+
+ Drawable background = a.getDrawable(R.styleable.CirclePageIndicator_android_background);
+ if (background != null) {
+ setBackgroundDrawable(background);
+ }
+
+ a.recycle();
+
+ final ViewConfiguration configuration = ViewConfiguration.get(context);
+ mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(configuration);
+ }
+
+
+ public void setCentered(boolean centered) {
+ mCentered = centered;
+ invalidate();
+ }
+
+ public boolean isCentered() {
+ return mCentered;
+ }
+
+ public void setPageColor(int pageColor) {
+ mPaintPageFill.setColor(pageColor);
+ invalidate();
+ }
+
+ public int getPageColor() {
+ return mPaintPageFill.getColor();
+ }
+
+ public void setFillColor(int fillColor) {
+ mPaintFill.setColor(fillColor);
+ invalidate();
+ }
+
+ public int getFillColor() {
+ return mPaintFill.getColor();
+ }
+
+ public void setOrientation(int orientation) {
+ switch (orientation) {
+ case HORIZONTAL:
+ case VERTICAL:
+ mOrientation = orientation;
+ requestLayout();
+ break;
+
+ default:
+ throw new IllegalArgumentException("Orientation must be either HORIZONTAL or VERTICAL.");
+ }
+ }
+
+ public int getOrientation() {
+ return mOrientation;
+ }
+
+ public void setStrokeColor(int strokeColor) {
+ mPaintStroke.setColor(strokeColor);
+ invalidate();
+ }
+
+ public int getStrokeColor() {
+ return mPaintStroke.getColor();
+ }
+
+ public void setStrokeWidth(float strokeWidth) {
+ mPaintStroke.setStrokeWidth(strokeWidth);
+ invalidate();
+ }
+
+ public float getStrokeWidth() {
+ return mPaintStroke.getStrokeWidth();
+ }
+
+ public void setRadius(float radius) {
+ mRadius = radius;
+ invalidate();
+ }
+
+ public float getRadius() {
+ return mRadius;
+ }
+
+ public void setSnap(boolean snap) {
+ mSnap = snap;
+ invalidate();
+ }
+
+ public boolean isSnap() {
+ return mSnap;
+ }
+
+ @Override
+ protected void onDraw(Canvas canvas) {
+ super.onDraw(canvas);
+
+ if (mViewPager == null) {
+ return;
+ }
+ final int count = mViewPager.getAdapter().getCount();
+ if (count == 0) {
+ return;
+ }
+
+ if (mCurrentPage >= count) {
+ setCurrentItem(count - 1);
+ return;
+ }
+
+ int longSize;
+ int longPaddingBefore;
+ int longPaddingAfter;
+ int shortPaddingBefore;
+ if (mOrientation == HORIZONTAL) {
+ longSize = getWidth();
+ longPaddingBefore = getPaddingLeft();
+ longPaddingAfter = getPaddingRight();
+ shortPaddingBefore = getPaddingTop();
+ } else {
+ longSize = getHeight();
+ longPaddingBefore = getPaddingTop();
+ longPaddingAfter = getPaddingBottom();
+ shortPaddingBefore = getPaddingLeft();
+ }
+
+ final float threeRadius = mRadius * 3;
+ final float shortOffset = shortPaddingBefore + mRadius;
+ float longOffset = longPaddingBefore + mRadius;
+ if (mCentered) {
+ longOffset += ((longSize - longPaddingBefore - longPaddingAfter) / 2.0f) - ((count * threeRadius) / 2.0f);
+ }
+
+ float dX;
+ float dY;
+
+ float pageFillRadius = mRadius;
+ if (mPaintStroke.getStrokeWidth() > 0) {
+ pageFillRadius -= mPaintStroke.getStrokeWidth() / 2.0f;
+ }
+
+ //Draw stroked circles
+ for (int iLoop = 0; iLoop < count; iLoop++) {
+ float drawLong = longOffset + (iLoop * threeRadius);
+ if (mOrientation == HORIZONTAL) {
+ dX = drawLong;
+ dY = shortOffset;
+ } else {
+ dX = shortOffset;
+ dY = drawLong;
+ }
+ // Only paint fill if not completely transparent
+ if (mPaintPageFill.getAlpha() > 0) {
+ canvas.drawCircle(dX, dY, pageFillRadius, mPaintPageFill);
+ }
+
+ // Only paint stroke if a stroke width was non-zero
+ if (pageFillRadius != mRadius) {
+ canvas.drawCircle(dX, dY, mRadius, mPaintStroke);
+ }
+ }
+
+ //Draw the filled circle according to the current scroll
+ float cx = (mSnap ? mSnapPage : mCurrentPage) * threeRadius;
+ if (!mSnap) {
+ cx += mPageOffset * threeRadius;
+ }
+ if (mOrientation == HORIZONTAL) {
+ dX = longOffset + cx;
+ dY = shortOffset;
+ } else {
+ dX = shortOffset;
+ dY = longOffset + cx;
+ }
+ canvas.drawCircle(dX, dY, mRadius, mPaintFill);
+ }
+
+ public boolean onTouchEvent(android.view.MotionEvent ev) {
+ if (super.onTouchEvent(ev)) {
+ return true;
+ }
+ if ((mViewPager == null) || (mViewPager.getAdapter().getCount() == 0)) {
+ return false;
+ }
+
+ final int action = ev.getAction() & MotionEventCompat.ACTION_MASK;
+ switch (action) {
+ case MotionEvent.ACTION_DOWN:
+ mActivePointerId = MotionEventCompat.getPointerId(ev, 0);
+ mLastMotionX = ev.getX();
+ break;
+
+ case MotionEvent.ACTION_MOVE: {
+ final int activePointerIndex = MotionEventCompat.findPointerIndex(ev, mActivePointerId);
+ final float x = MotionEventCompat.getX(ev, activePointerIndex);
+ final float deltaX = x - mLastMotionX;
+
+ if (!mIsDragging) {
+ if (Math.abs(deltaX) > mTouchSlop) {
+ mIsDragging = true;
+ }
+ }
+
+ if (mIsDragging) {
+ mLastMotionX = x;
+ if (mViewPager.isFakeDragging() || mViewPager.beginFakeDrag()) {
+ mViewPager.fakeDragBy(deltaX);
+ }
+ }
+
+ break;
+ }
+
+ case MotionEvent.ACTION_CANCEL:
+ case MotionEvent.ACTION_UP:
+ if (!mIsDragging) {
+ final int count = mViewPager.getAdapter().getCount();
+ final int width = getWidth();
+ final float halfWidth = width / 2f;
+ final float sixthWidth = width / 6f;
+
+ if ((mCurrentPage > 0) && (ev.getX() < halfWidth - sixthWidth)) {
+ if (action != MotionEvent.ACTION_CANCEL) {
+ mViewPager.setCurrentItem(mCurrentPage - 1);
+ }
+ return true;
+ } else if ((mCurrentPage < count - 1) && (ev.getX() > halfWidth + sixthWidth)) {
+ if (action != MotionEvent.ACTION_CANCEL) {
+ mViewPager.setCurrentItem(mCurrentPage + 1);
+ }
+ return true;
+ }
+ }
+
+ mIsDragging = false;
+ mActivePointerId = INVALID_POINTER;
+ if (mViewPager.isFakeDragging()) mViewPager.endFakeDrag();
+ break;
+
+ case MotionEventCompat.ACTION_POINTER_DOWN: {
+ final int index = MotionEventCompat.getActionIndex(ev);
+ mLastMotionX = MotionEventCompat.getX(ev, index);
+ mActivePointerId = MotionEventCompat.getPointerId(ev, index);
+ break;
+ }
+
+ case MotionEventCompat.ACTION_POINTER_UP:
+ final int pointerIndex = MotionEventCompat.getActionIndex(ev);
+ final int pointerId = MotionEventCompat.getPointerId(ev, pointerIndex);
+ if (pointerId == mActivePointerId) {
+ final int newPointerIndex = pointerIndex == 0 ? 1 : 0;
+ mActivePointerId = MotionEventCompat.getPointerId(ev, newPointerIndex);
+ }
+ mLastMotionX = MotionEventCompat.getX(ev, MotionEventCompat.findPointerIndex(ev, mActivePointerId));
+ break;
+ }
+
+ return true;
+ }
+
+ @Override
+ public void setViewPager(ViewPager view) {
+ if (mViewPager == view) {
+ return;
+ }
+ if (mViewPager != null) {
+ mViewPager.setOnPageChangeListener(null);
+ }
+ if (view.getAdapter() == null) {
+ throw new IllegalStateException("ViewPager does not have adapter instance.");
+ }
+ mViewPager = view;
+ mViewPager.setOnPageChangeListener(this);
+ invalidate();
+ }
+
+ @Override
+ public void setViewPager(ViewPager view, int initialPosition) {
+ setViewPager(view);
+ setCurrentItem(initialPosition);
+ }
+
+ @Override
+ public void setCurrentItem(int item) {
+ if (mViewPager == null) {
+ throw new IllegalStateException("ViewPager has not been bound.");
+ }
+ mViewPager.setCurrentItem(item);
+ mCurrentPage = item;
+ invalidate();
+ }
+
+ @Override
+ public void notifyDataSetChanged() {
+ invalidate();
+ }
+
+ @Override
+ public void onPageScrollStateChanged(int state) {
+ mScrollState = state;
+
+ if (mListener != null) {
+ mListener.onPageScrollStateChanged(state);
+ }
+ }
+
+ @Override
+ public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+ mCurrentPage = position;
+ mPageOffset = positionOffset;
+ invalidate();
+
+ if (mListener != null) {
+ mListener.onPageScrolled(position, positionOffset, positionOffsetPixels);
+ }
+ }
+
+ @Override
+ public void onPageSelected(int position) {
+ if (mSnap || mScrollState == ViewPager.SCROLL_STATE_IDLE) {
+ mCurrentPage = position;
+ mSnapPage = position;
+ invalidate();
+ }
+
+ if (mListener != null) {
+ mListener.onPageSelected(position);
+ }
+ }
+
+ @Override
+ public void setOnPageChangeListener(ViewPager.OnPageChangeListener listener) {
+ mListener = listener;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see android.view.View#onMeasure(int, int)
+ */
+ @Override
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ if (mOrientation == HORIZONTAL) {
+ setMeasuredDimension(measureLong(widthMeasureSpec), measureShort(heightMeasureSpec));
+ } else {
+ setMeasuredDimension(measureShort(widthMeasureSpec), measureLong(heightMeasureSpec));
+ }
+ }
+
+ /**
+ * Determines the width of this view
+ *
+ * @param measureSpec
+ * A measureSpec packed into an int
+ * @return The width of the view, honoring constraints from measureSpec
+ */
+ private int measureLong(int measureSpec) {
+ int result;
+ int specMode = MeasureSpec.getMode(measureSpec);
+ int specSize = MeasureSpec.getSize(measureSpec);
+
+ if ((specMode == MeasureSpec.EXACTLY) || (mViewPager == null)) {
+ //We were told how big to be
+ result = specSize;
+ } else {
+ //Calculate the width according the views count
+ final int count = mViewPager.getAdapter().getCount();
+ result = (int)(getPaddingLeft() + getPaddingRight()
+ + (count * 2 * mRadius) + (count - 1) * mRadius + 1);
+ //Respect AT_MOST value if that was what is called for by measureSpec
+ if (specMode == MeasureSpec.AT_MOST) {
+ result = Math.min(result, specSize);
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Determines the height of this view
+ *
+ * @param measureSpec
+ * A measureSpec packed into an int
+ * @return The height of the view, honoring constraints from measureSpec
+ */
+ private int measureShort(int measureSpec) {
+ int result;
+ int specMode = MeasureSpec.getMode(measureSpec);
+ int specSize = MeasureSpec.getSize(measureSpec);
+
+ if (specMode == MeasureSpec.EXACTLY) {
+ //We were told how big to be
+ result = specSize;
+ } else {
+ //Measure the height
+ result = (int)(2 * mRadius + getPaddingTop() + getPaddingBottom() + 1);
+ //Respect AT_MOST value if that was what is called for by measureSpec
+ if (specMode == MeasureSpec.AT_MOST) {
+ result = Math.min(result, specSize);
+ }
+ }
+ return result;
+ }
+
+ @Override
+ public void onRestoreInstanceState(Parcelable state) {
+ SavedState savedState = (SavedState)state;
+ super.onRestoreInstanceState(savedState.getSuperState());
+ mCurrentPage = savedState.currentPage;
+ mSnapPage = savedState.currentPage;
+ requestLayout();
+ }
+
+ @Override
+ public Parcelable onSaveInstanceState() {
+ Parcelable superState = super.onSaveInstanceState();
+ SavedState savedState = new SavedState(superState);
+ savedState.currentPage = mCurrentPage;
+ return savedState;
+ }
+
+ static class SavedState extends BaseSavedState {
+ int currentPage;
+
+ public SavedState(Parcelable superState) {
+ super(superState);
+ }
+
+ private SavedState(Parcel in) {
+ super(in);
+ currentPage = in.readInt();
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ super.writeToParcel(dest, flags);
+ dest.writeInt(currentPage);
+ }
+
+ @SuppressWarnings("UnusedDeclaration")
+ public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
+ @Override
+ public SavedState createFromParcel(Parcel in) {
+ return new SavedState(in);
+ }
+
+ @Override
+ public SavedState[] newArray(int size) {
+ return new SavedState[size];
+ }
+ };
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/IconPageIndicator.java b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/IconPageIndicator.java
new file mode 100644
index 0000000..2e7d246
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/IconPageIndicator.java
@@ -0,0 +1,172 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ * Copyright (C) 2012 Jake Wharton
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.viewpagerindicator;
+
+import android.content.Context;
+import android.support.v4.view.PagerAdapter;
+import android.support.v4.view.ViewPager;
+import android.support.v4.view.ViewPager.OnPageChangeListener;
+import android.util.AttributeSet;
+import android.view.Gravity;
+import android.view.View;
+import android.widget.HorizontalScrollView;
+import android.widget.ImageView;
+
+import static android.view.ViewGroup.LayoutParams.FILL_PARENT;
+import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
+
+/**
+ * This widget implements the dynamic action bar tab behavior that can change
+ * across different configurations or circumstances.
+ */
+public class IconPageIndicator extends HorizontalScrollView implements PageIndicator {
+ private final IcsLinearLayout mIconsLayout;
+
+ private ViewPager mViewPager;
+ private OnPageChangeListener mListener;
+ private Runnable mIconSelector;
+ private int mSelectedIndex;
+
+ public IconPageIndicator(Context context) {
+ this(context, null);
+ }
+
+ public IconPageIndicator(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ setHorizontalScrollBarEnabled(false);
+
+ mIconsLayout = new IcsLinearLayout(context, R.attr.vpiIconPageIndicatorStyle);
+ addView(mIconsLayout, new LayoutParams(WRAP_CONTENT, FILL_PARENT, Gravity.CENTER));
+ }
+
+ private void animateToIcon(final int position) {
+ final View iconView = mIconsLayout.getChildAt(position);
+ if (mIconSelector != null) {
+ removeCallbacks(mIconSelector);
+ }
+ mIconSelector = new Runnable() {
+ public void run() {
+ final int scrollPos = iconView.getLeft() - (getWidth() - iconView.getWidth()) / 2;
+ smoothScrollTo(scrollPos, 0);
+ mIconSelector = null;
+ }
+ };
+ post(mIconSelector);
+ }
+
+ @Override
+ public void onAttachedToWindow() {
+ super.onAttachedToWindow();
+ if (mIconSelector != null) {
+ // Re-post the selector we saved
+ post(mIconSelector);
+ }
+ }
+
+ @Override
+ public void onDetachedFromWindow() {
+ super.onDetachedFromWindow();
+ if (mIconSelector != null) {
+ removeCallbacks(mIconSelector);
+ }
+ }
+
+ @Override
+ public void onPageScrollStateChanged(int arg0) {
+ if (mListener != null) {
+ mListener.onPageScrollStateChanged(arg0);
+ }
+ }
+
+ @Override
+ public void onPageScrolled(int arg0, float arg1, int arg2) {
+ if (mListener != null) {
+ mListener.onPageScrolled(arg0, arg1, arg2);
+ }
+ }
+
+ @Override
+ public void onPageSelected(int arg0) {
+ setCurrentItem(arg0);
+ if (mListener != null) {
+ mListener.onPageSelected(arg0);
+ }
+ }
+
+ @Override
+ public void setViewPager(ViewPager view) {
+ if (mViewPager == view) {
+ return;
+ }
+ if (mViewPager != null) {
+ mViewPager.setOnPageChangeListener(null);
+ }
+ PagerAdapter adapter = view.getAdapter();
+ if (adapter == null) {
+ throw new IllegalStateException("ViewPager does not have adapter instance.");
+ }
+ mViewPager = view;
+ view.setOnPageChangeListener(this);
+ notifyDataSetChanged();
+ }
+
+ public void notifyDataSetChanged() {
+ mIconsLayout.removeAllViews();
+ IconPagerAdapter iconAdapter = (IconPagerAdapter) mViewPager.getAdapter();
+ int count = iconAdapter.getCount();
+ for (int i = 0; i < count; i++) {
+ ImageView view = new ImageView(getContext(), null, R.attr.vpiIconPageIndicatorStyle);
+ view.setImageResource(iconAdapter.getIconResId(i));
+ mIconsLayout.addView(view);
+ }
+ if (mSelectedIndex > count) {
+ mSelectedIndex = count - 1;
+ }
+ setCurrentItem(mSelectedIndex);
+ requestLayout();
+ }
+
+ @Override
+ public void setViewPager(ViewPager view, int initialPosition) {
+ setViewPager(view);
+ setCurrentItem(initialPosition);
+ }
+
+ @Override
+ public void setCurrentItem(int item) {
+ if (mViewPager == null) {
+ throw new IllegalStateException("ViewPager has not been bound.");
+ }
+ mSelectedIndex = item;
+ mViewPager.setCurrentItem(item);
+
+ int tabCount = mIconsLayout.getChildCount();
+ for (int i = 0; i < tabCount; i++) {
+ View child = mIconsLayout.getChildAt(i);
+ boolean isSelected = (i == item);
+ child.setSelected(isSelected);
+ if (isSelected) {
+ animateToIcon(item);
+ }
+ }
+ }
+
+ @Override
+ public void setOnPageChangeListener(OnPageChangeListener listener) {
+ mListener = listener;
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/IconPagerAdapter.java b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/IconPagerAdapter.java
new file mode 100644
index 0000000..b133d48
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/IconPagerAdapter.java
@@ -0,0 +1,11 @@
+package com.viewpagerindicator;
+
+public interface IconPagerAdapter {
+ /**
+ * Get icon representing the page at {@code index} in the adapter.
+ */
+ int getIconResId(int index);
+
+ // From PagerAdapter
+ int getCount();
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/IcsLinearLayout.java b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/IcsLinearLayout.java
new file mode 100644
index 0000000..cbf619e
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/IcsLinearLayout.java
@@ -0,0 +1,182 @@
+package com.viewpagerindicator;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.drawable.Drawable;
+import android.view.View;
+import android.widget.LinearLayout;
+
+/**
+ * A simple extension of a regular linear layout that supports the divider API
+ * of Android 4.0+. The dividers are added adjacent to the children by changing
+ * their layout params. If you need to rely on the margins which fall in the
+ * same orientation as the layout you should wrap the child in a simple
+ * {@link android.widget.FrameLayout} so it can receive the margin.
+ */
+class IcsLinearLayout extends LinearLayout {
+ private static final int[] LL = new int[] {
+ /* 0 */ android.R.attr.divider,
+ /* 1 */ android.R.attr.showDividers,
+ /* 2 */ android.R.attr.dividerPadding,
+ };
+ private static final int LL_DIVIDER = 0;
+ private static final int LL_SHOW_DIVIDER = 1;
+ private static final int LL_DIVIDER_PADDING = 2;
+
+ private Drawable mDivider;
+ private int mDividerWidth;
+ private int mDividerHeight;
+ private int mShowDividers;
+ private int mDividerPadding;
+
+
+ public IcsLinearLayout(Context context, int themeAttr) {
+ super(context);
+
+ TypedArray a = context.obtainStyledAttributes(null, LL, themeAttr, 0);
+ setDividerDrawable(a.getDrawable(IcsLinearLayout.LL_DIVIDER));
+ mDividerPadding = a.getDimensionPixelSize(LL_DIVIDER_PADDING, 0);
+ mShowDividers = a.getInteger(LL_SHOW_DIVIDER, SHOW_DIVIDER_NONE);
+ a.recycle();
+ }
+
+ public void setDividerDrawable(Drawable divider) {
+ if (divider == mDivider) {
+ return;
+ }
+ mDivider = divider;
+ if (divider != null) {
+ mDividerWidth = divider.getIntrinsicWidth();
+ mDividerHeight = divider.getIntrinsicHeight();
+ } else {
+ mDividerWidth = 0;
+ mDividerHeight = 0;
+ }
+ setWillNotDraw(divider == null);
+ requestLayout();
+ }
+
+ @Override
+ protected void measureChildWithMargins(View child, int parentWidthMeasureSpec, int widthUsed, int parentHeightMeasureSpec, int heightUsed) {
+ final int index = indexOfChild(child);
+ final int orientation = getOrientation();
+ final LayoutParams params = (LayoutParams) child.getLayoutParams();
+ if (hasDividerBeforeChildAt(index)) {
+ if (orientation == VERTICAL) {
+ //Account for the divider by pushing everything up
+ params.topMargin = mDividerHeight;
+ } else {
+ //Account for the divider by pushing everything left
+ params.leftMargin = mDividerWidth;
+ }
+ }
+
+ final int count = getChildCount();
+ if (index == count - 1) {
+ if (hasDividerBeforeChildAt(count)) {
+ if (orientation == VERTICAL) {
+ params.bottomMargin = mDividerHeight;
+ } else {
+ params.rightMargin = mDividerWidth;
+ }
+ }
+ }
+ super.measureChildWithMargins(child, parentWidthMeasureSpec, widthUsed, parentHeightMeasureSpec, heightUsed);
+ }
+
+ @Override
+ protected void onDraw(Canvas canvas) {
+ if (mDivider != null) {
+ if (getOrientation() == VERTICAL) {
+ drawDividersVertical(canvas);
+ } else {
+ drawDividersHorizontal(canvas);
+ }
+ }
+ super.onDraw(canvas);
+ }
+
+ private void drawDividersVertical(Canvas canvas) {
+ final int count = getChildCount();
+ for (int i = 0; i < count; i++) {
+ final View child = getChildAt(i);
+
+ if (child != null && child.getVisibility() != GONE) {
+ if (hasDividerBeforeChildAt(i)) {
+ final android.widget.LinearLayout.LayoutParams lp = (android.widget.LinearLayout.LayoutParams) child.getLayoutParams();
+ final int top = child.getTop() - lp.topMargin/* - mDividerHeight*/;
+ drawHorizontalDivider(canvas, top);
+ }
+ }
+ }
+
+ if (hasDividerBeforeChildAt(count)) {
+ final View child = getChildAt(count - 1);
+ int bottom = 0;
+ if (child == null) {
+ bottom = getHeight() - getPaddingBottom() - mDividerHeight;
+ } else {
+ //final LayoutParams lp = (LayoutParams) child.getLayoutParams();
+ bottom = child.getBottom()/* + lp.bottomMargin*/;
+ }
+ drawHorizontalDivider(canvas, bottom);
+ }
+ }
+
+ private void drawDividersHorizontal(Canvas canvas) {
+ final int count = getChildCount();
+ for (int i = 0; i < count; i++) {
+ final View child = getChildAt(i);
+
+ if (child != null && child.getVisibility() != GONE) {
+ if (hasDividerBeforeChildAt(i)) {
+ final android.widget.LinearLayout.LayoutParams lp = (android.widget.LinearLayout.LayoutParams) child.getLayoutParams();
+ final int left = child.getLeft() - lp.leftMargin/* - mDividerWidth*/;
+ drawVerticalDivider(canvas, left);
+ }
+ }
+ }
+
+ if (hasDividerBeforeChildAt(count)) {
+ final View child = getChildAt(count - 1);
+ int right = 0;
+ if (child == null) {
+ right = getWidth() - getPaddingRight() - mDividerWidth;
+ } else {
+ //final LayoutParams lp = (LayoutParams) child.getLayoutParams();
+ right = child.getRight()/* + lp.rightMargin*/;
+ }
+ drawVerticalDivider(canvas, right);
+ }
+ }
+
+ private void drawHorizontalDivider(Canvas canvas, int top) {
+ mDivider.setBounds(getPaddingLeft() + mDividerPadding, top,
+ getWidth() - getPaddingRight() - mDividerPadding, top + mDividerHeight);
+ mDivider.draw(canvas);
+ }
+
+ private void drawVerticalDivider(Canvas canvas, int left) {
+ mDivider.setBounds(left, getPaddingTop() + mDividerPadding,
+ left + mDividerWidth, getHeight() - getPaddingBottom() - mDividerPadding);
+ mDivider.draw(canvas);
+ }
+
+ private boolean hasDividerBeforeChildAt(int childIndex) {
+ if (childIndex == 0 || childIndex == getChildCount()) {
+ return false;
+ }
+ if ((mShowDividers & SHOW_DIVIDER_MIDDLE) != 0) {
+ boolean hasVisibleViewBefore = false;
+ for (int i = childIndex - 1; i >= 0; i--) {
+ if (getChildAt(i).getVisibility() != GONE) {
+ hasVisibleViewBefore = true;
+ break;
+ }
+ }
+ return hasVisibleViewBefore;
+ }
+ return false;
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/LinePageIndicator.java b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/LinePageIndicator.java
new file mode 100644
index 0000000..bdc7973
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/LinePageIndicator.java
@@ -0,0 +1,448 @@
+/*
+ * Copyright (C) 2012 Jake Wharton
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.viewpagerindicator;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.drawable.Drawable;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.support.v4.view.MotionEventCompat;
+import android.support.v4.view.ViewConfigurationCompat;
+import android.support.v4.view.ViewPager;
+import android.util.AttributeSet;
+import android.util.FloatMath;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewConfiguration;
+
+/**
+ * Draws a line for each page. The current page line is colored differently
+ * than the unselected page lines.
+ */
+public class LinePageIndicator extends View implements PageIndicator {
+ private static final int INVALID_POINTER = -1;
+
+ private final Paint mPaintUnselected = new Paint(Paint.ANTI_ALIAS_FLAG);
+ private final Paint mPaintSelected = new Paint(Paint.ANTI_ALIAS_FLAG);
+ private ViewPager mViewPager;
+ private ViewPager.OnPageChangeListener mListener;
+ private int mCurrentPage;
+ private boolean mCentered;
+ private float mLineWidth;
+ private float mGapWidth;
+
+ private int mTouchSlop;
+ private float mLastMotionX = -1;
+ private int mActivePointerId = INVALID_POINTER;
+ private boolean mIsDragging;
+
+
+ public LinePageIndicator(Context context) {
+ this(context, null);
+ }
+
+ public LinePageIndicator(Context context, AttributeSet attrs) {
+ this(context, attrs, R.attr.vpiLinePageIndicatorStyle);
+ }
+
+ public LinePageIndicator(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ if (isInEditMode()) return;
+
+ final Resources res = getResources();
+
+ //Load defaults from resources
+ final int defaultSelectedColor = res.getColor(R.color.default_line_indicator_selected_color);
+ final int defaultUnselectedColor = res.getColor(R.color.default_line_indicator_unselected_color);
+ final float defaultLineWidth = res.getDimension(R.dimen.default_line_indicator_line_width);
+ final float defaultGapWidth = res.getDimension(R.dimen.default_line_indicator_gap_width);
+ final float defaultStrokeWidth = res.getDimension(R.dimen.default_line_indicator_stroke_width);
+ final boolean defaultCentered = res.getBoolean(R.bool.default_line_indicator_centered);
+
+ //Retrieve styles attributes
+ TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.LinePageIndicator, defStyle, 0);
+
+ mCentered = a.getBoolean(R.styleable.LinePageIndicator_centered, defaultCentered);
+ mLineWidth = a.getDimension(R.styleable.LinePageIndicator_lineWidth, defaultLineWidth);
+ mGapWidth = a.getDimension(R.styleable.LinePageIndicator_gapWidth, defaultGapWidth);
+ setStrokeWidth(a.getDimension(R.styleable.LinePageIndicator_strokeWidth, defaultStrokeWidth));
+ mPaintUnselected.setColor(a.getColor(R.styleable.LinePageIndicator_unselectedColor, defaultUnselectedColor));
+ mPaintSelected.setColor(a.getColor(R.styleable.LinePageIndicator_selectedColor, defaultSelectedColor));
+
+ Drawable background = a.getDrawable(R.styleable.LinePageIndicator_android_background);
+ if (background != null) {
+ setBackgroundDrawable(background);
+ }
+
+ a.recycle();
+
+ final ViewConfiguration configuration = ViewConfiguration.get(context);
+ mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(configuration);
+ }
+
+
+ public void setCentered(boolean centered) {
+ mCentered = centered;
+ invalidate();
+ }
+
+ public boolean isCentered() {
+ return mCentered;
+ }
+
+ public void setUnselectedColor(int unselectedColor) {
+ mPaintUnselected.setColor(unselectedColor);
+ invalidate();
+ }
+
+ public int getUnselectedColor() {
+ return mPaintUnselected.getColor();
+ }
+
+ public void setSelectedColor(int selectedColor) {
+ mPaintSelected.setColor(selectedColor);
+ invalidate();
+ }
+
+ public int getSelectedColor() {
+ return mPaintSelected.getColor();
+ }
+
+ public void setLineWidth(float lineWidth) {
+ mLineWidth = lineWidth;
+ invalidate();
+ }
+
+ public float getLineWidth() {
+ return mLineWidth;
+ }
+
+ public void setStrokeWidth(float lineHeight) {
+ mPaintSelected.setStrokeWidth(lineHeight);
+ mPaintUnselected.setStrokeWidth(lineHeight);
+ invalidate();
+ }
+
+ public float getStrokeWidth() {
+ return mPaintSelected.getStrokeWidth();
+ }
+
+ public void setGapWidth(float gapWidth) {
+ mGapWidth = gapWidth;
+ invalidate();
+ }
+
+ public float getGapWidth() {
+ return mGapWidth;
+ }
+
+ @Override
+ protected void onDraw(Canvas canvas) {
+ super.onDraw(canvas);
+
+ if (mViewPager == null) {
+ return;
+ }
+ final int count = mViewPager.getAdapter().getCount();
+ if (count == 0) {
+ return;
+ }
+
+ if (mCurrentPage >= count) {
+ setCurrentItem(count - 1);
+ return;
+ }
+
+ final float lineWidthAndGap = mLineWidth + mGapWidth;
+ final float indicatorWidth = (count * lineWidthAndGap) - mGapWidth;
+ final float paddingTop = getPaddingTop();
+ final float paddingLeft = getPaddingLeft();
+ final float paddingRight = getPaddingRight();
+
+ float verticalOffset = paddingTop + ((getHeight() - paddingTop - getPaddingBottom()) / 2.0f);
+ float horizontalOffset = paddingLeft;
+ if (mCentered) {
+ horizontalOffset += ((getWidth() - paddingLeft - paddingRight) / 2.0f) - (indicatorWidth / 2.0f);
+ }
+
+ //Draw stroked circles
+ for (int i = 0; i < count; i++) {
+ float dx1 = horizontalOffset + (i * lineWidthAndGap);
+ float dx2 = dx1 + mLineWidth;
+ canvas.drawLine(dx1, verticalOffset, dx2, verticalOffset, (i == mCurrentPage) ? mPaintSelected : mPaintUnselected);
+ }
+ }
+
+ public boolean onTouchEvent(android.view.MotionEvent ev) {
+ if (super.onTouchEvent(ev)) {
+ return true;
+ }
+ if ((mViewPager == null) || (mViewPager.getAdapter().getCount() == 0)) {
+ return false;
+ }
+
+ final int action = ev.getAction() & MotionEventCompat.ACTION_MASK;
+ switch (action) {
+ case MotionEvent.ACTION_DOWN:
+ mActivePointerId = MotionEventCompat.getPointerId(ev, 0);
+ mLastMotionX = ev.getX();
+ break;
+
+ case MotionEvent.ACTION_MOVE: {
+ final int activePointerIndex = MotionEventCompat.findPointerIndex(ev, mActivePointerId);
+ final float x = MotionEventCompat.getX(ev, activePointerIndex);
+ final float deltaX = x - mLastMotionX;
+
+ if (!mIsDragging) {
+ if (Math.abs(deltaX) > mTouchSlop) {
+ mIsDragging = true;
+ }
+ }
+
+ if (mIsDragging) {
+ mLastMotionX = x;
+ if (mViewPager.isFakeDragging() || mViewPager.beginFakeDrag()) {
+ mViewPager.fakeDragBy(deltaX);
+ }
+ }
+
+ break;
+ }
+
+ case MotionEvent.ACTION_CANCEL:
+ case MotionEvent.ACTION_UP:
+ if (!mIsDragging) {
+ final int count = mViewPager.getAdapter().getCount();
+ final int width = getWidth();
+ final float halfWidth = width / 2f;
+ final float sixthWidth = width / 6f;
+
+ if ((mCurrentPage > 0) && (ev.getX() < halfWidth - sixthWidth)) {
+ if (action != MotionEvent.ACTION_CANCEL) {
+ mViewPager.setCurrentItem(mCurrentPage - 1);
+ }
+ return true;
+ } else if ((mCurrentPage < count - 1) && (ev.getX() > halfWidth + sixthWidth)) {
+ if (action != MotionEvent.ACTION_CANCEL) {
+ mViewPager.setCurrentItem(mCurrentPage + 1);
+ }
+ return true;
+ }
+ }
+
+ mIsDragging = false;
+ mActivePointerId = INVALID_POINTER;
+ if (mViewPager.isFakeDragging()) mViewPager.endFakeDrag();
+ break;
+
+ case MotionEventCompat.ACTION_POINTER_DOWN: {
+ final int index = MotionEventCompat.getActionIndex(ev);
+ mLastMotionX = MotionEventCompat.getX(ev, index);
+ mActivePointerId = MotionEventCompat.getPointerId(ev, index);
+ break;
+ }
+
+ case MotionEventCompat.ACTION_POINTER_UP:
+ final int pointerIndex = MotionEventCompat.getActionIndex(ev);
+ final int pointerId = MotionEventCompat.getPointerId(ev, pointerIndex);
+ if (pointerId == mActivePointerId) {
+ final int newPointerIndex = pointerIndex == 0 ? 1 : 0;
+ mActivePointerId = MotionEventCompat.getPointerId(ev, newPointerIndex);
+ }
+ mLastMotionX = MotionEventCompat.getX(ev, MotionEventCompat.findPointerIndex(ev, mActivePointerId));
+ break;
+ }
+
+ return true;
+ }
+
+ @Override
+ public void setViewPager(ViewPager viewPager) {
+ if (mViewPager == viewPager) {
+ return;
+ }
+ if (mViewPager != null) {
+ //Clear us from the old pager.
+ mViewPager.setOnPageChangeListener(null);
+ }
+ if (viewPager.getAdapter() == null) {
+ throw new IllegalStateException("ViewPager does not have adapter instance.");
+ }
+ mViewPager = viewPager;
+ mViewPager.setOnPageChangeListener(this);
+ invalidate();
+ }
+
+ @Override
+ public void setViewPager(ViewPager view, int initialPosition) {
+ setViewPager(view);
+ setCurrentItem(initialPosition);
+ }
+
+ @Override
+ public void setCurrentItem(int item) {
+ if (mViewPager == null) {
+ throw new IllegalStateException("ViewPager has not been bound.");
+ }
+ mViewPager.setCurrentItem(item);
+ mCurrentPage = item;
+ invalidate();
+ }
+
+ @Override
+ public void notifyDataSetChanged() {
+ invalidate();
+ }
+
+ @Override
+ public void onPageScrollStateChanged(int state) {
+ if (mListener != null) {
+ mListener.onPageScrollStateChanged(state);
+ }
+ }
+
+ @Override
+ public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+ if (mListener != null) {
+ mListener.onPageScrolled(position, positionOffset, positionOffsetPixels);
+ }
+ }
+
+ @Override
+ public void onPageSelected(int position) {
+ mCurrentPage = position;
+ invalidate();
+
+ if (mListener != null) {
+ mListener.onPageSelected(position);
+ }
+ }
+
+ @Override
+ public void setOnPageChangeListener(ViewPager.OnPageChangeListener listener) {
+ mListener = listener;
+ }
+
+ @Override
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ setMeasuredDimension(measureWidth(widthMeasureSpec), measureHeight(heightMeasureSpec));
+ }
+
+ /**
+ * Determines the width of this view
+ *
+ * @param measureSpec
+ * A measureSpec packed into an int
+ * @return The width of the view, honoring constraints from measureSpec
+ */
+ private int measureWidth(int measureSpec) {
+ float result;
+ int specMode = MeasureSpec.getMode(measureSpec);
+ int specSize = MeasureSpec.getSize(measureSpec);
+
+ if ((specMode == MeasureSpec.EXACTLY) || (mViewPager == null)) {
+ //We were told how big to be
+ result = specSize;
+ } else {
+ //Calculate the width according the views count
+ final int count = mViewPager.getAdapter().getCount();
+ result = getPaddingLeft() + getPaddingRight() + (count * mLineWidth) + ((count - 1) * mGapWidth);
+ //Respect AT_MOST value if that was what is called for by measureSpec
+ if (specMode == MeasureSpec.AT_MOST) {
+ result = Math.min(result, specSize);
+ }
+ }
+ return (int)Math.ceil(result);
+ }
+
+ /**
+ * Determines the height of this view
+ *
+ * @param measureSpec
+ * A measureSpec packed into an int
+ * @return The height of the view, honoring constraints from measureSpec
+ */
+ private int measureHeight(int measureSpec) {
+ float result;
+ int specMode = MeasureSpec.getMode(measureSpec);
+ int specSize = MeasureSpec.getSize(measureSpec);
+
+ if (specMode == MeasureSpec.EXACTLY) {
+ //We were told how big to be
+ result = specSize;
+ } else {
+ //Measure the height
+ result = mPaintSelected.getStrokeWidth() + getPaddingTop() + getPaddingBottom();
+ //Respect AT_MOST value if that was what is called for by measureSpec
+ if (specMode == MeasureSpec.AT_MOST) {
+ result = Math.min(result, specSize);
+ }
+ }
+ return (int)Math.ceil(result);
+ }
+
+ @Override
+ public void onRestoreInstanceState(Parcelable state) {
+ SavedState savedState = (SavedState)state;
+ super.onRestoreInstanceState(savedState.getSuperState());
+ mCurrentPage = savedState.currentPage;
+ requestLayout();
+ }
+
+ @Override
+ public Parcelable onSaveInstanceState() {
+ Parcelable superState = super.onSaveInstanceState();
+ SavedState savedState = new SavedState(superState);
+ savedState.currentPage = mCurrentPage;
+ return savedState;
+ }
+
+ static class SavedState extends BaseSavedState {
+ int currentPage;
+
+ public SavedState(Parcelable superState) {
+ super(superState);
+ }
+
+ private SavedState(Parcel in) {
+ super(in);
+ currentPage = in.readInt();
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ super.writeToParcel(dest, flags);
+ dest.writeInt(currentPage);
+ }
+
+ @SuppressWarnings("UnusedDeclaration")
+ public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
+ @Override
+ public SavedState createFromParcel(Parcel in) {
+ return new SavedState(in);
+ }
+
+ @Override
+ public SavedState[] newArray(int size) {
+ return new SavedState[size];
+ }
+ };
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/PageIndicator.java b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/PageIndicator.java
new file mode 100644
index 0000000..c08c00a
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/PageIndicator.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2011 Patrik Akerfeldt
+ * Copyright (C) 2011 Jake Wharton
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.viewpagerindicator;
+
+import android.support.v4.view.ViewPager;
+
+/**
+ * A PageIndicator is responsible to show an visual indicator on the total views
+ * number and the current visible view.
+ */
+public interface PageIndicator extends ViewPager.OnPageChangeListener {
+ /**
+ * Bind the indicator to a ViewPager.
+ *
+ * @param view
+ */
+ void setViewPager(ViewPager view);
+
+ /**
+ * Bind the indicator to a ViewPager.
+ *
+ * @param view
+ * @param initialPosition
+ */
+ void setViewPager(ViewPager view, int initialPosition);
+
+ /**
+ * Set the current page of both the ViewPager and indicator.
+ *
+ * This must be used if you need to set the page before
+ * the views are drawn on screen (e.g., default start page).
+ *
+ * @param item
+ */
+ void setCurrentItem(int item);
+
+ /**
+ * Set a page change listener which will receive forwarded events.
+ *
+ * @param listener
+ */
+ void setOnPageChangeListener(ViewPager.OnPageChangeListener listener);
+
+ /**
+ * Notify the indicator that the fragment list has changed.
+ */
+ void notifyDataSetChanged();
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/TabPageIndicator.java b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/TabPageIndicator.java
new file mode 100644
index 0000000..1fceda3
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/TabPageIndicator.java
@@ -0,0 +1,283 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ * Copyright (C) 2011 Jake Wharton
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.viewpagerindicator;
+
+import android.content.Context;
+import android.support.v4.view.PagerAdapter;
+import android.support.v4.view.ViewPager;
+import android.support.v4.view.ViewPager.OnPageChangeListener;
+import android.util.AttributeSet;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.HorizontalScrollView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
+import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
+
+/**
+ * This widget implements the dynamic action bar tab behavior that can change
+ * across different configurations or circumstances.
+ */
+public class TabPageIndicator extends HorizontalScrollView implements PageIndicator {
+ /** Title text used when no title is provided by the adapter. */
+ private static final CharSequence EMPTY_TITLE = "";
+
+ /**
+ * Interface for a callback when the selected tab has been reselected.
+ */
+ public interface OnTabReselectedListener {
+ /**
+ * Callback when the selected tab has been reselected.
+ *
+ * @param position Position of the current center item.
+ */
+ void onTabReselected(int position);
+ }
+
+ private Runnable mTabSelector;
+
+ private final OnClickListener mTabClickListener = new OnClickListener() {
+ public void onClick(View view) {
+ TabView tabView = (TabView)view;
+ final int oldSelected = mViewPager.getCurrentItem();
+ final int newSelected = tabView.getIndex();
+ mViewPager.setCurrentItem(newSelected);
+ if (oldSelected == newSelected && mTabReselectedListener != null) {
+ mTabReselectedListener.onTabReselected(newSelected);
+ }
+ }
+ };
+
+ private final IcsLinearLayout mTabLayout;
+
+ private ViewPager mViewPager;
+ private ViewPager.OnPageChangeListener mListener;
+
+ private int mMaxTabWidth;
+ private int mSelectedTabIndex;
+
+ private OnTabReselectedListener mTabReselectedListener;
+
+ public TabPageIndicator(Context context) {
+ this(context, null);
+ }
+
+ public TabPageIndicator(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ setHorizontalScrollBarEnabled(false);
+
+ mTabLayout = new IcsLinearLayout(context, R.attr.vpiTabPageIndicatorStyle);
+ addView(mTabLayout, new ViewGroup.LayoutParams(WRAP_CONTENT, MATCH_PARENT));
+ }
+
+ public void setOnTabReselectedListener(OnTabReselectedListener listener) {
+ mTabReselectedListener = listener;
+ }
+
+ @Override
+ public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ final int widthMode = MeasureSpec.getMode(widthMeasureSpec);
+ final boolean lockedExpanded = widthMode == MeasureSpec.EXACTLY;
+ setFillViewport(lockedExpanded);
+
+ final int childCount = mTabLayout.getChildCount();
+ if (childCount > 1 && (widthMode == MeasureSpec.EXACTLY || widthMode == MeasureSpec.AT_MOST)) {
+ if (childCount > 2) {
+ mMaxTabWidth = (int)(MeasureSpec.getSize(widthMeasureSpec) * 0.4f);
+ } else {
+ mMaxTabWidth = MeasureSpec.getSize(widthMeasureSpec) / 2;
+ }
+ } else {
+ mMaxTabWidth = -1;
+ }
+
+ final int oldWidth = getMeasuredWidth();
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+ final int newWidth = getMeasuredWidth();
+
+ if (lockedExpanded && oldWidth != newWidth) {
+ // Recenter the tab display if we're at a new (scrollable) size.
+ setCurrentItem(mSelectedTabIndex);
+ }
+ }
+
+ private void animateToTab(final int position) {
+ final View tabView = mTabLayout.getChildAt(position);
+ if (mTabSelector != null) {
+ removeCallbacks(mTabSelector);
+ }
+ mTabSelector = new Runnable() {
+ public void run() {
+ final int scrollPos = tabView.getLeft() - (getWidth() - tabView.getWidth()) / 2;
+ smoothScrollTo(scrollPos, 0);
+ mTabSelector = null;
+ }
+ };
+ post(mTabSelector);
+ }
+
+ @Override
+ public void onAttachedToWindow() {
+ super.onAttachedToWindow();
+ if (mTabSelector != null) {
+ // Re-post the selector we saved
+ post(mTabSelector);
+ }
+ }
+
+ @Override
+ public void onDetachedFromWindow() {
+ super.onDetachedFromWindow();
+ if (mTabSelector != null) {
+ removeCallbacks(mTabSelector);
+ }
+ }
+
+ private void addTab(int index, CharSequence text, int iconResId) {
+ final TabView tabView = new TabView(getContext());
+ tabView.mIndex = index;
+ tabView.setFocusable(true);
+ tabView.setOnClickListener(mTabClickListener);
+ tabView.setText(text);
+
+ if (iconResId != 0) {
+ tabView.setCompoundDrawablesWithIntrinsicBounds(iconResId, 0, 0, 0);
+ }
+
+ mTabLayout.addView(tabView, new LinearLayout.LayoutParams(0, MATCH_PARENT, 1));
+ }
+
+ @Override
+ public void onPageScrollStateChanged(int arg0) {
+ if (mListener != null) {
+ mListener.onPageScrollStateChanged(arg0);
+ }
+ }
+
+ @Override
+ public void onPageScrolled(int arg0, float arg1, int arg2) {
+ if (mListener != null) {
+ mListener.onPageScrolled(arg0, arg1, arg2);
+ }
+ }
+
+ @Override
+ public void onPageSelected(int arg0) {
+ setCurrentItem(arg0);
+ if (mListener != null) {
+ mListener.onPageSelected(arg0);
+ }
+ }
+
+ @Override
+ public void setViewPager(ViewPager view) {
+ if (mViewPager == view) {
+ return;
+ }
+ if (mViewPager != null) {
+ mViewPager.setOnPageChangeListener(null);
+ }
+ final PagerAdapter adapter = view.getAdapter();
+ if (adapter == null) {
+ throw new IllegalStateException("ViewPager does not have adapter instance.");
+ }
+ mViewPager = view;
+ view.setOnPageChangeListener(this);
+ notifyDataSetChanged();
+ }
+
+ public void notifyDataSetChanged() {
+ mTabLayout.removeAllViews();
+ PagerAdapter adapter = mViewPager.getAdapter();
+ IconPagerAdapter iconAdapter = null;
+ if (adapter instanceof IconPagerAdapter) {
+ iconAdapter = (IconPagerAdapter)adapter;
+ }
+ final int count = adapter.getCount();
+ for (int i = 0; i < count; i++) {
+ CharSequence title = adapter.getPageTitle(i);
+ if (title == null) {
+ title = EMPTY_TITLE;
+ }
+ int iconResId = 0;
+ if (iconAdapter != null) {
+ iconResId = iconAdapter.getIconResId(i);
+ }
+ addTab(i, title, iconResId);
+ }
+ if (mSelectedTabIndex > count) {
+ mSelectedTabIndex = count - 1;
+ }
+ setCurrentItem(mSelectedTabIndex);
+ requestLayout();
+ }
+
+ @Override
+ public void setViewPager(ViewPager view, int initialPosition) {
+ setViewPager(view);
+ setCurrentItem(initialPosition);
+ }
+
+ @Override
+ public void setCurrentItem(int item) {
+ if (mViewPager == null) {
+ throw new IllegalStateException("ViewPager has not been bound.");
+ }
+ mSelectedTabIndex = item;
+ mViewPager.setCurrentItem(item);
+
+ final int tabCount = mTabLayout.getChildCount();
+ for (int i = 0; i < tabCount; i++) {
+ final View child = mTabLayout.getChildAt(i);
+ final boolean isSelected = (i == item);
+ child.setSelected(isSelected);
+ if (isSelected) {
+ animateToTab(item);
+ }
+ }
+ }
+
+ @Override
+ public void setOnPageChangeListener(OnPageChangeListener listener) {
+ mListener = listener;
+ }
+
+ private class TabView extends TextView {
+ private int mIndex;
+
+ public TabView(Context context) {
+ super(context, null, R.attr.vpiTabPageIndicatorStyle);
+ }
+
+ @Override
+ public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+
+ // Re-measure if we went beyond our maximum size.
+ if (mMaxTabWidth > 0 && getMeasuredWidth() > mMaxTabWidth) {
+ super.onMeasure(MeasureSpec.makeMeasureSpec(mMaxTabWidth, MeasureSpec.EXACTLY),
+ heightMeasureSpec);
+ }
+ }
+
+ public int getIndex() {
+ return mIndex;
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/TitlePageIndicator.java b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/TitlePageIndicator.java
new file mode 100644
index 0000000..f155d83
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/TitlePageIndicator.java
@@ -0,0 +1,870 @@
+/*
+ * Copyright (C) 2011 Jake Wharton
+ * Copyright (C) 2011 Patrik Akerfeldt
+ * Copyright (C) 2011 Francisco Figueiredo Jr.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.viewpagerindicator;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.Path;
+import android.graphics.Rect;
+import android.graphics.Typeface;
+import android.graphics.drawable.Drawable;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.support.v4.view.MotionEventCompat;
+import android.support.v4.view.ViewConfigurationCompat;
+import android.support.v4.view.ViewPager;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewConfiguration;
+
+import java.util.ArrayList;
+
+/**
+ * A TitlePageIndicator is a PageIndicator which displays the title of left view
+ * (if exist), the title of the current select view (centered) and the title of
+ * the right view (if exist). When the user scrolls the ViewPager then titles are
+ * also scrolled.
+ */
+public class TitlePageIndicator extends View implements PageIndicator {
+ /**
+ * Percentage indicating what percentage of the screen width away from
+ * center should the underline be fully faded. A value of 0.25 means that
+ * halfway between the center of the screen and an edge.
+ */
+ private static final float SELECTION_FADE_PERCENTAGE = 0.25f;
+
+ /**
+ * Percentage indicating what percentage of the screen width away from
+ * center should the selected text bold turn off. A value of 0.05 means
+ * that 10% between the center and an edge.
+ */
+ private static final float BOLD_FADE_PERCENTAGE = 0.05f;
+
+ /**
+ * Title text used when no title is provided by the adapter.
+ */
+ private static final String EMPTY_TITLE = "";
+
+ /**
+ * Interface for a callback when the center item has been clicked.
+ */
+ public interface OnCenterItemClickListener {
+ /**
+ * Callback when the center item has been clicked.
+ *
+ * @param position Position of the current center item.
+ */
+ void onCenterItemClick(int position);
+ }
+
+ public enum IndicatorStyle {
+ None(0), Triangle(1), Underline(2);
+
+ public final int value;
+
+ private IndicatorStyle(int value) {
+ this.value = value;
+ }
+
+ public static IndicatorStyle fromValue(int value) {
+ for (IndicatorStyle style : IndicatorStyle.values()) {
+ if (style.value == value) {
+ return style;
+ }
+ }
+ return null;
+ }
+ }
+
+ public enum LinePosition {
+ Bottom(0), Top(1);
+
+ public final int value;
+
+ private LinePosition(int value) {
+ this.value = value;
+ }
+
+ public static LinePosition fromValue(int value) {
+ for (LinePosition position : LinePosition.values()) {
+ if (position.value == value) {
+ return position;
+ }
+ }
+ return null;
+ }
+ }
+
+ private ViewPager mViewPager;
+ private ViewPager.OnPageChangeListener mListener;
+ private int mCurrentPage = -1;
+ private float mPageOffset;
+ private int mScrollState;
+ private final Paint mPaintText = new Paint();
+ private boolean mBoldText;
+ private int mColorText;
+ private int mColorSelected;
+ private Path mPath = new Path();
+ private final Rect mBounds = new Rect();
+ private final Paint mPaintFooterLine = new Paint();
+ private IndicatorStyle mFooterIndicatorStyle;
+ private LinePosition mLinePosition;
+ private final Paint mPaintFooterIndicator = new Paint();
+ private float mFooterIndicatorHeight;
+ private float mFooterIndicatorUnderlinePadding;
+ private float mFooterPadding;
+ private float mTitlePadding;
+ private float mTopPadding;
+ /** Left and right side padding for not active view titles. */
+ private float mClipPadding;
+ private float mFooterLineHeight;
+
+ private static final int INVALID_POINTER = -1;
+
+ private int mTouchSlop;
+ private float mLastMotionX = -1;
+ private int mActivePointerId = INVALID_POINTER;
+ private boolean mIsDragging;
+
+ private OnCenterItemClickListener mCenterItemClickListener;
+
+
+ public TitlePageIndicator(Context context) {
+ this(context, null);
+ }
+
+ public TitlePageIndicator(Context context, AttributeSet attrs) {
+ this(context, attrs, R.attr.vpiTitlePageIndicatorStyle);
+ }
+
+ public TitlePageIndicator(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ if (isInEditMode()) return;
+
+ //Load defaults from resources
+ final Resources res = getResources();
+ final int defaultFooterColor = res.getColor(R.color.default_title_indicator_footer_color);
+ final float defaultFooterLineHeight = res.getDimension(R.dimen.default_title_indicator_footer_line_height);
+ final int defaultFooterIndicatorStyle = res.getInteger(R.integer.default_title_indicator_footer_indicator_style);
+ final float defaultFooterIndicatorHeight = res.getDimension(R.dimen.default_title_indicator_footer_indicator_height);
+ final float defaultFooterIndicatorUnderlinePadding = res.getDimension(R.dimen.default_title_indicator_footer_indicator_underline_padding);
+ final float defaultFooterPadding = res.getDimension(R.dimen.default_title_indicator_footer_padding);
+ final int defaultLinePosition = res.getInteger(R.integer.default_title_indicator_line_position);
+ final int defaultSelectedColor = res.getColor(R.color.default_title_indicator_selected_color);
+ final boolean defaultSelectedBold = res.getBoolean(R.bool.default_title_indicator_selected_bold);
+ final int defaultTextColor = res.getColor(R.color.default_title_indicator_text_color);
+ final float defaultTextSize = res.getDimension(R.dimen.default_title_indicator_text_size);
+ final float defaultTitlePadding = res.getDimension(R.dimen.default_title_indicator_title_padding);
+ final float defaultClipPadding = res.getDimension(R.dimen.default_title_indicator_clip_padding);
+ final float defaultTopPadding = res.getDimension(R.dimen.default_title_indicator_top_padding);
+
+ //Retrieve styles attributes
+ TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.TitlePageIndicator, defStyle, 0);
+
+ //Retrieve the colors to be used for this view and apply them.
+ mFooterLineHeight = a.getDimension(R.styleable.TitlePageIndicator_footerLineHeight, defaultFooterLineHeight);
+ mFooterIndicatorStyle = IndicatorStyle.fromValue(a.getInteger(R.styleable.TitlePageIndicator_footerIndicatorStyle, defaultFooterIndicatorStyle));
+ mFooterIndicatorHeight = a.getDimension(R.styleable.TitlePageIndicator_footerIndicatorHeight, defaultFooterIndicatorHeight);
+ mFooterIndicatorUnderlinePadding = a.getDimension(R.styleable.TitlePageIndicator_footerIndicatorUnderlinePadding, defaultFooterIndicatorUnderlinePadding);
+ mFooterPadding = a.getDimension(R.styleable.TitlePageIndicator_footerPadding, defaultFooterPadding);
+ mLinePosition = LinePosition.fromValue(a.getInteger(R.styleable.TitlePageIndicator_linePosition, defaultLinePosition));
+ mTopPadding = a.getDimension(R.styleable.TitlePageIndicator_topPadding, defaultTopPadding);
+ mTitlePadding = a.getDimension(R.styleable.TitlePageIndicator_titlePadding, defaultTitlePadding);
+ mClipPadding = a.getDimension(R.styleable.TitlePageIndicator_clipPadding, defaultClipPadding);
+ mColorSelected = a.getColor(R.styleable.TitlePageIndicator_selectedColor, defaultSelectedColor);
+ mColorText = a.getColor(R.styleable.TitlePageIndicator_android_textColor, defaultTextColor);
+ mBoldText = a.getBoolean(R.styleable.TitlePageIndicator_selectedBold, defaultSelectedBold);
+
+ final float textSize = a.getDimension(R.styleable.TitlePageIndicator_android_textSize, defaultTextSize);
+ final int footerColor = a.getColor(R.styleable.TitlePageIndicator_footerColor, defaultFooterColor);
+ mPaintText.setTextSize(textSize);
+ mPaintText.setAntiAlias(true);
+ mPaintFooterLine.setStyle(Paint.Style.FILL_AND_STROKE);
+ mPaintFooterLine.setStrokeWidth(mFooterLineHeight);
+ mPaintFooterLine.setColor(footerColor);
+ mPaintFooterIndicator.setStyle(Paint.Style.FILL_AND_STROKE);
+ mPaintFooterIndicator.setColor(footerColor);
+
+ Drawable background = a.getDrawable(R.styleable.TitlePageIndicator_android_background);
+ if (background != null) {
+ setBackgroundDrawable(background);
+ }
+
+ a.recycle();
+
+ final ViewConfiguration configuration = ViewConfiguration.get(context);
+ mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(configuration);
+ }
+
+
+ public int getFooterColor() {
+ return mPaintFooterLine.getColor();
+ }
+
+ public void setFooterColor(int footerColor) {
+ mPaintFooterLine.setColor(footerColor);
+ mPaintFooterIndicator.setColor(footerColor);
+ invalidate();
+ }
+
+ public float getFooterLineHeight() {
+ return mFooterLineHeight;
+ }
+
+ public void setFooterLineHeight(float footerLineHeight) {
+ mFooterLineHeight = footerLineHeight;
+ mPaintFooterLine.setStrokeWidth(mFooterLineHeight);
+ invalidate();
+ }
+
+ public float getFooterIndicatorHeight() {
+ return mFooterIndicatorHeight;
+ }
+
+ public void setFooterIndicatorHeight(float footerTriangleHeight) {
+ mFooterIndicatorHeight = footerTriangleHeight;
+ invalidate();
+ }
+
+ public float getFooterIndicatorPadding() {
+ return mFooterPadding;
+ }
+
+ public void setFooterIndicatorPadding(float footerIndicatorPadding) {
+ mFooterPadding = footerIndicatorPadding;
+ invalidate();
+ }
+
+ public IndicatorStyle getFooterIndicatorStyle() {
+ return mFooterIndicatorStyle;
+ }
+
+ public void setFooterIndicatorStyle(IndicatorStyle indicatorStyle) {
+ mFooterIndicatorStyle = indicatorStyle;
+ invalidate();
+ }
+
+ public LinePosition getLinePosition() {
+ return mLinePosition;
+ }
+
+ public void setLinePosition(LinePosition linePosition) {
+ mLinePosition = linePosition;
+ invalidate();
+ }
+
+ public int getSelectedColor() {
+ return mColorSelected;
+ }
+
+ public void setSelectedColor(int selectedColor) {
+ mColorSelected = selectedColor;
+ invalidate();
+ }
+
+ public boolean isSelectedBold() {
+ return mBoldText;
+ }
+
+ public void setSelectedBold(boolean selectedBold) {
+ mBoldText = selectedBold;
+ invalidate();
+ }
+
+ public int getTextColor() {
+ return mColorText;
+ }
+
+ public void setTextColor(int textColor) {
+ mPaintText.setColor(textColor);
+ mColorText = textColor;
+ invalidate();
+ }
+
+ public float getTextSize() {
+ return mPaintText.getTextSize();
+ }
+
+ public void setTextSize(float textSize) {
+ mPaintText.setTextSize(textSize);
+ invalidate();
+ }
+
+ public float getTitlePadding() {
+ return this.mTitlePadding;
+ }
+
+ public void setTitlePadding(float titlePadding) {
+ mTitlePadding = titlePadding;
+ invalidate();
+ }
+
+ public float getTopPadding() {
+ return this.mTopPadding;
+ }
+
+ public void setTopPadding(float topPadding) {
+ mTopPadding = topPadding;
+ invalidate();
+ }
+
+ public float getClipPadding() {
+ return this.mClipPadding;
+ }
+
+ public void setClipPadding(float clipPadding) {
+ mClipPadding = clipPadding;
+ invalidate();
+ }
+
+ public void setTypeface(Typeface typeface) {
+ mPaintText.setTypeface(typeface);
+ invalidate();
+ }
+
+ public Typeface getTypeface() {
+ return mPaintText.getTypeface();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see android.view.View#onDraw(android.graphics.Canvas)
+ */
+ @Override
+ protected void onDraw(Canvas canvas) {
+ super.onDraw(canvas);
+
+ if (mViewPager == null) {
+ return;
+ }
+ final int count = mViewPager.getAdapter().getCount();
+ if (count == 0) {
+ return;
+ }
+
+ // mCurrentPage is -1 on first start and after orientation changed. If so, retrieve the correct index from viewpager.
+ if (mCurrentPage == -1 && mViewPager != null) {
+ mCurrentPage = mViewPager.getCurrentItem();
+ }
+
+ //Calculate views bounds
+ ArrayList bounds = calculateAllBounds(mPaintText);
+ final int boundsSize = bounds.size();
+
+ //Make sure we're on a page that still exists
+ if (mCurrentPage >= boundsSize) {
+ setCurrentItem(boundsSize - 1);
+ return;
+ }
+
+ final int countMinusOne = count - 1;
+ final float halfWidth = getWidth() / 2f;
+ final int left = getLeft();
+ final float leftClip = left + mClipPadding;
+ final int width = getWidth();
+ int height = getHeight();
+ final int right = left + width;
+ final float rightClip = right - mClipPadding;
+
+ int page = mCurrentPage;
+ float offsetPercent;
+ if (mPageOffset <= 0.5) {
+ offsetPercent = mPageOffset;
+ } else {
+ page += 1;
+ offsetPercent = 1 - mPageOffset;
+ }
+ final boolean currentSelected = (offsetPercent <= SELECTION_FADE_PERCENTAGE);
+ final boolean currentBold = (offsetPercent <= BOLD_FADE_PERCENTAGE);
+ final float selectedPercent = (SELECTION_FADE_PERCENTAGE - offsetPercent) / SELECTION_FADE_PERCENTAGE;
+
+ //Verify if the current view must be clipped to the screen
+ Rect curPageBound = bounds.get(mCurrentPage);
+ float curPageWidth = curPageBound.right - curPageBound.left;
+ if (curPageBound.left < leftClip) {
+ //Try to clip to the screen (left side)
+ clipViewOnTheLeft(curPageBound, curPageWidth, left);
+ }
+ if (curPageBound.right > rightClip) {
+ //Try to clip to the screen (right side)
+ clipViewOnTheRight(curPageBound, curPageWidth, right);
+ }
+
+ //Left views starting from the current position
+ if (mCurrentPage > 0) {
+ for (int i = mCurrentPage - 1; i >= 0; i--) {
+ Rect bound = bounds.get(i);
+ //Is left side is outside the screen
+ if (bound.left < leftClip) {
+ int w = bound.right - bound.left;
+ //Try to clip to the screen (left side)
+ clipViewOnTheLeft(bound, w, left);
+ //Except if there's an intersection with the right view
+ Rect rightBound = bounds.get(i + 1);
+ //Intersection
+ if (bound.right + mTitlePadding > rightBound.left) {
+ bound.left = (int) (rightBound.left - w - mTitlePadding);
+ bound.right = bound.left + w;
+ }
+ }
+ }
+ }
+ //Right views starting from the current position
+ if (mCurrentPage < countMinusOne) {
+ for (int i = mCurrentPage + 1 ; i < count; i++) {
+ Rect bound = bounds.get(i);
+ //If right side is outside the screen
+ if (bound.right > rightClip) {
+ int w = bound.right - bound.left;
+ //Try to clip to the screen (right side)
+ clipViewOnTheRight(bound, w, right);
+ //Except if there's an intersection with the left view
+ Rect leftBound = bounds.get(i - 1);
+ //Intersection
+ if (bound.left - mTitlePadding < leftBound.right) {
+ bound.left = (int) (leftBound.right + mTitlePadding);
+ bound.right = bound.left + w;
+ }
+ }
+ }
+ }
+
+ //Now draw views
+ int colorTextAlpha = mColorText >>> 24;
+ for (int i = 0; i < count; i++) {
+ //Get the title
+ Rect bound = bounds.get(i);
+ //Only if one side is visible
+ if ((bound.left > left && bound.left < right) || (bound.right > left && bound.right < right)) {
+ final boolean currentPage = (i == page);
+ final CharSequence pageTitle = getTitle(i);
+
+ //Only set bold if we are within bounds
+ mPaintText.setFakeBoldText(currentPage && currentBold && mBoldText);
+
+ //Draw text as unselected
+ mPaintText.setColor(mColorText);
+ if(currentPage && currentSelected) {
+ //Fade out/in unselected text as the selected text fades in/out
+ mPaintText.setAlpha(colorTextAlpha - (int)(colorTextAlpha * selectedPercent));
+ }
+
+ //Except if there's an intersection with the right view
+ if (i < boundsSize - 1) {
+ Rect rightBound = bounds.get(i + 1);
+ //Intersection
+ if (bound.right + mTitlePadding > rightBound.left) {
+ int w = bound.right - bound.left;
+ bound.left = (int) (rightBound.left - w - mTitlePadding);
+ bound.right = bound.left + w;
+ }
+ }
+ canvas.drawText(pageTitle, 0, pageTitle.length(), bound.left, bound.bottom + mTopPadding, mPaintText);
+
+ //If we are within the selected bounds draw the selected text
+ if (currentPage && currentSelected) {
+ mPaintText.setColor(mColorSelected);
+ mPaintText.setAlpha((int)((mColorSelected >>> 24) * selectedPercent));
+ canvas.drawText(pageTitle, 0, pageTitle.length(), bound.left, bound.bottom + mTopPadding, mPaintText);
+ }
+ }
+ }
+
+ //If we want the line on the top change height to zero and invert the line height to trick the drawing code
+ float footerLineHeight = mFooterLineHeight;
+ float footerIndicatorLineHeight = mFooterIndicatorHeight;
+ if (mLinePosition == LinePosition.Top) {
+ height = 0;
+ footerLineHeight = -footerLineHeight;
+ footerIndicatorLineHeight = -footerIndicatorLineHeight;
+ }
+
+ //Draw the footer line
+ mPath.reset();
+ mPath.moveTo(0, height - footerLineHeight / 2f);
+ mPath.lineTo(width, height - footerLineHeight / 2f);
+ mPath.close();
+ canvas.drawPath(mPath, mPaintFooterLine);
+
+ float heightMinusLine = height - footerLineHeight;
+ switch (mFooterIndicatorStyle) {
+ case Triangle:
+ mPath.reset();
+ mPath.moveTo(halfWidth, heightMinusLine - footerIndicatorLineHeight);
+ mPath.lineTo(halfWidth + footerIndicatorLineHeight, heightMinusLine);
+ mPath.lineTo(halfWidth - footerIndicatorLineHeight, heightMinusLine);
+ mPath.close();
+ canvas.drawPath(mPath, mPaintFooterIndicator);
+ break;
+
+ case Underline:
+ if (!currentSelected || page >= boundsSize) {
+ break;
+ }
+
+ Rect underlineBounds = bounds.get(page);
+ final float rightPlusPadding = underlineBounds.right + mFooterIndicatorUnderlinePadding;
+ final float leftMinusPadding = underlineBounds.left - mFooterIndicatorUnderlinePadding;
+ final float heightMinusLineMinusIndicator = heightMinusLine - footerIndicatorLineHeight;
+
+ mPath.reset();
+ mPath.moveTo(leftMinusPadding, heightMinusLine);
+ mPath.lineTo(rightPlusPadding, heightMinusLine);
+ mPath.lineTo(rightPlusPadding, heightMinusLineMinusIndicator);
+ mPath.lineTo(leftMinusPadding, heightMinusLineMinusIndicator);
+ mPath.close();
+
+ mPaintFooterIndicator.setAlpha((int)(0xFF * selectedPercent));
+ canvas.drawPath(mPath, mPaintFooterIndicator);
+ mPaintFooterIndicator.setAlpha(0xFF);
+ break;
+ }
+ }
+
+ public boolean onTouchEvent(android.view.MotionEvent ev) {
+ if (super.onTouchEvent(ev)) {
+ return true;
+ }
+ if ((mViewPager == null) || (mViewPager.getAdapter().getCount() == 0)) {
+ return false;
+ }
+
+ final int action = ev.getAction() & MotionEventCompat.ACTION_MASK;
+ switch (action) {
+ case MotionEvent.ACTION_DOWN:
+ mActivePointerId = MotionEventCompat.getPointerId(ev, 0);
+ mLastMotionX = ev.getX();
+ break;
+
+ case MotionEvent.ACTION_MOVE: {
+ final int activePointerIndex = MotionEventCompat.findPointerIndex(ev, mActivePointerId);
+ final float x = MotionEventCompat.getX(ev, activePointerIndex);
+ final float deltaX = x - mLastMotionX;
+
+ if (!mIsDragging) {
+ if (Math.abs(deltaX) > mTouchSlop) {
+ mIsDragging = true;
+ }
+ }
+
+ if (mIsDragging) {
+ mLastMotionX = x;
+ if (mViewPager.isFakeDragging() || mViewPager.beginFakeDrag()) {
+ mViewPager.fakeDragBy(deltaX);
+ }
+ }
+
+ break;
+ }
+
+ case MotionEvent.ACTION_CANCEL:
+ case MotionEvent.ACTION_UP:
+ if (!mIsDragging) {
+ final int count = mViewPager.getAdapter().getCount();
+ final int width = getWidth();
+ final float halfWidth = width / 2f;
+ final float sixthWidth = width / 6f;
+ final float leftThird = halfWidth - sixthWidth;
+ final float rightThird = halfWidth + sixthWidth;
+ final float eventX = ev.getX();
+
+ if (eventX < leftThird) {
+ if (mCurrentPage > 0) {
+ if (action != MotionEvent.ACTION_CANCEL) {
+ mViewPager.setCurrentItem(mCurrentPage - 1);
+ }
+ return true;
+ }
+ } else if (eventX > rightThird) {
+ if (mCurrentPage < count - 1) {
+ if (action != MotionEvent.ACTION_CANCEL) {
+ mViewPager.setCurrentItem(mCurrentPage + 1);
+ }
+ return true;
+ }
+ } else {
+ //Middle third
+ if (mCenterItemClickListener != null && action != MotionEvent.ACTION_CANCEL) {
+ mCenterItemClickListener.onCenterItemClick(mCurrentPage);
+ }
+ }
+ }
+
+ mIsDragging = false;
+ mActivePointerId = INVALID_POINTER;
+ if (mViewPager.isFakeDragging()) mViewPager.endFakeDrag();
+ break;
+
+ case MotionEventCompat.ACTION_POINTER_DOWN: {
+ final int index = MotionEventCompat.getActionIndex(ev);
+ mLastMotionX = MotionEventCompat.getX(ev, index);
+ mActivePointerId = MotionEventCompat.getPointerId(ev, index);
+ break;
+ }
+
+ case MotionEventCompat.ACTION_POINTER_UP:
+ final int pointerIndex = MotionEventCompat.getActionIndex(ev);
+ final int pointerId = MotionEventCompat.getPointerId(ev, pointerIndex);
+ if (pointerId == mActivePointerId) {
+ final int newPointerIndex = pointerIndex == 0 ? 1 : 0;
+ mActivePointerId = MotionEventCompat.getPointerId(ev, newPointerIndex);
+ }
+ mLastMotionX = MotionEventCompat.getX(ev, MotionEventCompat.findPointerIndex(ev, mActivePointerId));
+ break;
+ }
+
+ return true;
+ }
+
+ /**
+ * Set bounds for the right textView including clip padding.
+ *
+ * @param curViewBound
+ * current bounds.
+ * @param curViewWidth
+ * width of the view.
+ */
+ private void clipViewOnTheRight(Rect curViewBound, float curViewWidth, int right) {
+ curViewBound.right = (int) (right - mClipPadding);
+ curViewBound.left = (int) (curViewBound.right - curViewWidth);
+ }
+
+ /**
+ * Set bounds for the left textView including clip padding.
+ *
+ * @param curViewBound
+ * current bounds.
+ * @param curViewWidth
+ * width of the view.
+ */
+ private void clipViewOnTheLeft(Rect curViewBound, float curViewWidth, int left) {
+ curViewBound.left = (int) (left + mClipPadding);
+ curViewBound.right = (int) (mClipPadding + curViewWidth);
+ }
+
+ /**
+ * Calculate views bounds and scroll them according to the current index
+ *
+ * @param paint
+ * @return
+ */
+ private ArrayList calculateAllBounds(Paint paint) {
+ ArrayList list = new ArrayList();
+ //For each views (If no values then add a fake one)
+ final int count = mViewPager.getAdapter().getCount();
+ final int width = getWidth();
+ final int halfWidth = width / 2;
+ for (int i = 0; i < count; i++) {
+ Rect bounds = calcBounds(i, paint);
+ int w = bounds.right - bounds.left;
+ int h = bounds.bottom - bounds.top;
+ bounds.left = (int)(halfWidth - (w / 2f) + ((i - mCurrentPage - mPageOffset) * width));
+ bounds.right = bounds.left + w;
+ bounds.top = 0;
+ bounds.bottom = h;
+ list.add(bounds);
+ }
+
+ return list;
+ }
+
+ /**
+ * Calculate the bounds for a view's title
+ *
+ * @param index
+ * @param paint
+ * @return
+ */
+ private Rect calcBounds(int index, Paint paint) {
+ //Calculate the text bounds
+ Rect bounds = new Rect();
+ CharSequence title = getTitle(index);
+ bounds.right = (int) paint.measureText(title, 0, title.length());
+ bounds.bottom = (int) (paint.descent() - paint.ascent());
+ return bounds;
+ }
+
+ @Override
+ public void setViewPager(ViewPager view) {
+ if (mViewPager == view) {
+ return;
+ }
+ if (mViewPager != null) {
+ mViewPager.setOnPageChangeListener(null);
+ }
+ if (view.getAdapter() == null) {
+ throw new IllegalStateException("ViewPager does not have adapter instance.");
+ }
+ mViewPager = view;
+ mViewPager.setOnPageChangeListener(this);
+ invalidate();
+ }
+
+ @Override
+ public void setViewPager(ViewPager view, int initialPosition) {
+ setViewPager(view);
+ setCurrentItem(initialPosition);
+ }
+
+ @Override
+ public void notifyDataSetChanged() {
+ invalidate();
+ }
+
+ /**
+ * Set a callback listener for the center item click.
+ *
+ * @param listener Callback instance.
+ */
+ public void setOnCenterItemClickListener(OnCenterItemClickListener listener) {
+ mCenterItemClickListener = listener;
+ }
+
+ @Override
+ public void setCurrentItem(int item) {
+ if (mViewPager == null) {
+ throw new IllegalStateException("ViewPager has not been bound.");
+ }
+ mViewPager.setCurrentItem(item);
+ mCurrentPage = item;
+ invalidate();
+ }
+
+ @Override
+ public void onPageScrollStateChanged(int state) {
+ mScrollState = state;
+
+ if (mListener != null) {
+ mListener.onPageScrollStateChanged(state);
+ }
+ }
+
+ @Override
+ public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+ mCurrentPage = position;
+ mPageOffset = positionOffset;
+ invalidate();
+
+ if (mListener != null) {
+ mListener.onPageScrolled(position, positionOffset, positionOffsetPixels);
+ }
+ }
+
+ @Override
+ public void onPageSelected(int position) {
+ if (mScrollState == ViewPager.SCROLL_STATE_IDLE) {
+ mCurrentPage = position;
+ invalidate();
+ }
+
+ if (mListener != null) {
+ mListener.onPageSelected(position);
+ }
+ }
+
+ @Override
+ public void setOnPageChangeListener(ViewPager.OnPageChangeListener listener) {
+ mListener = listener;
+ }
+
+ @Override
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ //Measure our width in whatever mode specified
+ final int measuredWidth = MeasureSpec.getSize(widthMeasureSpec);
+
+ //Determine our height
+ float height;
+ final int heightSpecMode = MeasureSpec.getMode(heightMeasureSpec);
+ if (heightSpecMode == MeasureSpec.EXACTLY) {
+ //We were told how big to be
+ height = MeasureSpec.getSize(heightMeasureSpec);
+ } else {
+ //Calculate the text bounds
+ mBounds.setEmpty();
+ mBounds.bottom = (int) (mPaintText.descent() - mPaintText.ascent());
+ height = mBounds.bottom - mBounds.top + mFooterLineHeight + mFooterPadding + mTopPadding;
+ if (mFooterIndicatorStyle != IndicatorStyle.None) {
+ height += mFooterIndicatorHeight;
+ }
+ }
+ final int measuredHeight = (int)height;
+
+ setMeasuredDimension(measuredWidth, measuredHeight);
+ }
+
+ @Override
+ public void onRestoreInstanceState(Parcelable state) {
+ SavedState savedState = (SavedState)state;
+ super.onRestoreInstanceState(savedState.getSuperState());
+ mCurrentPage = savedState.currentPage;
+ requestLayout();
+ }
+
+ @Override
+ public Parcelable onSaveInstanceState() {
+ Parcelable superState = super.onSaveInstanceState();
+ SavedState savedState = new SavedState(superState);
+ savedState.currentPage = mCurrentPage;
+ return savedState;
+ }
+
+ static class SavedState extends BaseSavedState {
+ int currentPage;
+
+ public SavedState(Parcelable superState) {
+ super(superState);
+ }
+
+ private SavedState(Parcel in) {
+ super(in);
+ currentPage = in.readInt();
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ super.writeToParcel(dest, flags);
+ dest.writeInt(currentPage);
+ }
+
+ @SuppressWarnings("UnusedDeclaration")
+ public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
+ @Override
+ public SavedState createFromParcel(Parcel in) {
+ return new SavedState(in);
+ }
+
+ @Override
+ public SavedState[] newArray(int size) {
+ return new SavedState[size];
+ }
+ };
+ }
+
+ private CharSequence getTitle(int i) {
+ CharSequence title = mViewPager.getAdapter().getPageTitle(i);
+ if (title == null) {
+ title = EMPTY_TITLE;
+ }
+ return title;
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/UnderlinePageIndicator.java b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/UnderlinePageIndicator.java
new file mode 100644
index 0000000..dc6f82a
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/java/com/viewpagerindicator/UnderlinePageIndicator.java
@@ -0,0 +1,402 @@
+/*
+ * Copyright (C) 2012 Jake Wharton
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.viewpagerindicator;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.drawable.Drawable;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.support.v4.view.MotionEventCompat;
+import android.support.v4.view.ViewConfigurationCompat;
+import android.support.v4.view.ViewPager;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewConfiguration;
+
+/**
+ * Draws a line for each page. The current page line is colored differently
+ * than the unselected page lines.
+ */
+public class UnderlinePageIndicator extends View implements PageIndicator {
+ private static final int INVALID_POINTER = -1;
+ private static final int FADE_FRAME_MS = 30;
+
+ private final Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+
+ private boolean mFades;
+ private int mFadeDelay;
+ private int mFadeLength;
+ private int mFadeBy;
+
+ private ViewPager mViewPager;
+ private ViewPager.OnPageChangeListener mListener;
+ private int mScrollState;
+ private int mCurrentPage;
+ private float mPositionOffset;
+
+ private int mTouchSlop;
+ private float mLastMotionX = -1;
+ private int mActivePointerId = INVALID_POINTER;
+ private boolean mIsDragging;
+
+ private final Runnable mFadeRunnable = new Runnable() {
+ @Override public void run() {
+ if (!mFades) return;
+
+ final int alpha = Math.max(mPaint.getAlpha() - mFadeBy, 0);
+ mPaint.setAlpha(alpha);
+ invalidate();
+ if (alpha > 0) {
+ postDelayed(this, FADE_FRAME_MS);
+ }
+ }
+ };
+
+ public UnderlinePageIndicator(Context context) {
+ this(context, null);
+ }
+
+ public UnderlinePageIndicator(Context context, AttributeSet attrs) {
+ this(context, attrs, R.attr.vpiUnderlinePageIndicatorStyle);
+ }
+
+ public UnderlinePageIndicator(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ if (isInEditMode()) return;
+
+ final Resources res = getResources();
+
+ //Load defaults from resources
+ final boolean defaultFades = res.getBoolean(R.bool.default_underline_indicator_fades);
+ final int defaultFadeDelay = res.getInteger(R.integer.default_underline_indicator_fade_delay);
+ final int defaultFadeLength = res.getInteger(R.integer.default_underline_indicator_fade_length);
+ final int defaultSelectedColor = res.getColor(R.color.default_underline_indicator_selected_color);
+
+ //Retrieve styles attributes
+ TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.UnderlinePageIndicator, defStyle, 0);
+
+ setFades(a.getBoolean(R.styleable.UnderlinePageIndicator_fades, defaultFades));
+ setSelectedColor(a.getColor(R.styleable.UnderlinePageIndicator_selectedColor, defaultSelectedColor));
+ setFadeDelay(a.getInteger(R.styleable.UnderlinePageIndicator_fadeDelay, defaultFadeDelay));
+ setFadeLength(a.getInteger(R.styleable.UnderlinePageIndicator_fadeLength, defaultFadeLength));
+
+ Drawable background = a.getDrawable(R.styleable.UnderlinePageIndicator_android_background);
+ if (background != null) {
+ setBackgroundDrawable(background);
+ }
+
+ a.recycle();
+
+ final ViewConfiguration configuration = ViewConfiguration.get(context);
+ mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(configuration);
+ }
+
+ public boolean getFades() {
+ return mFades;
+ }
+
+ public void setFades(boolean fades) {
+ if (fades != mFades) {
+ mFades = fades;
+ if (fades) {
+ post(mFadeRunnable);
+ } else {
+ removeCallbacks(mFadeRunnable);
+ mPaint.setAlpha(0xFF);
+ invalidate();
+ }
+ }
+ }
+
+ public int getFadeDelay() {
+ return mFadeDelay;
+ }
+
+ public void setFadeDelay(int fadeDelay) {
+ mFadeDelay = fadeDelay;
+ }
+
+ public int getFadeLength() {
+ return mFadeLength;
+ }
+
+ public void setFadeLength(int fadeLength) {
+ mFadeLength = fadeLength;
+ mFadeBy = 0xFF / (mFadeLength / FADE_FRAME_MS);
+ }
+
+ public int getSelectedColor() {
+ return mPaint.getColor();
+ }
+
+ public void setSelectedColor(int selectedColor) {
+ mPaint.setColor(selectedColor);
+ invalidate();
+ }
+
+ @Override
+ protected void onDraw(Canvas canvas) {
+ super.onDraw(canvas);
+
+ if (mViewPager == null) {
+ return;
+ }
+ final int count = mViewPager.getAdapter().getCount();
+ if (count == 0) {
+ return;
+ }
+
+ if (mCurrentPage >= count) {
+ setCurrentItem(count - 1);
+ return;
+ }
+
+ final int paddingLeft = getPaddingLeft();
+ final float pageWidth = (getWidth() - paddingLeft - getPaddingRight()) / (1f * count);
+ final float left = paddingLeft + pageWidth * (mCurrentPage + mPositionOffset);
+ final float right = left + pageWidth;
+ final float top = getPaddingTop();
+ final float bottom = getHeight() - getPaddingBottom();
+ canvas.drawRect(left, top, right, bottom, mPaint);
+ }
+
+ public boolean onTouchEvent(MotionEvent ev) {
+ if (super.onTouchEvent(ev)) {
+ return true;
+ }
+ if ((mViewPager == null) || (mViewPager.getAdapter().getCount() == 0)) {
+ return false;
+ }
+
+ final int action = ev.getAction() & MotionEventCompat.ACTION_MASK;
+ switch (action) {
+ case MotionEvent.ACTION_DOWN:
+ mActivePointerId = MotionEventCompat.getPointerId(ev, 0);
+ mLastMotionX = ev.getX();
+ break;
+
+ case MotionEvent.ACTION_MOVE: {
+ final int activePointerIndex = MotionEventCompat.findPointerIndex(ev, mActivePointerId);
+ final float x = MotionEventCompat.getX(ev, activePointerIndex);
+ final float deltaX = x - mLastMotionX;
+
+ if (!mIsDragging) {
+ if (Math.abs(deltaX) > mTouchSlop) {
+ mIsDragging = true;
+ }
+ }
+
+ if (mIsDragging) {
+ mLastMotionX = x;
+ if (mViewPager.isFakeDragging() || mViewPager.beginFakeDrag()) {
+ mViewPager.fakeDragBy(deltaX);
+ }
+ }
+
+ break;
+ }
+
+ case MotionEvent.ACTION_CANCEL:
+ case MotionEvent.ACTION_UP:
+ if (!mIsDragging) {
+ final int count = mViewPager.getAdapter().getCount();
+ final int width = getWidth();
+ final float halfWidth = width / 2f;
+ final float sixthWidth = width / 6f;
+
+ if ((mCurrentPage > 0) && (ev.getX() < halfWidth - sixthWidth)) {
+ if (action != MotionEvent.ACTION_CANCEL) {
+ mViewPager.setCurrentItem(mCurrentPage - 1);
+ }
+ return true;
+ } else if ((mCurrentPage < count - 1) && (ev.getX() > halfWidth + sixthWidth)) {
+ if (action != MotionEvent.ACTION_CANCEL) {
+ mViewPager.setCurrentItem(mCurrentPage + 1);
+ }
+ return true;
+ }
+ }
+
+ mIsDragging = false;
+ mActivePointerId = INVALID_POINTER;
+ if (mViewPager.isFakeDragging()) mViewPager.endFakeDrag();
+ break;
+
+ case MotionEventCompat.ACTION_POINTER_DOWN: {
+ final int index = MotionEventCompat.getActionIndex(ev);
+ mLastMotionX = MotionEventCompat.getX(ev, index);
+ mActivePointerId = MotionEventCompat.getPointerId(ev, index);
+ break;
+ }
+
+ case MotionEventCompat.ACTION_POINTER_UP:
+ final int pointerIndex = MotionEventCompat.getActionIndex(ev);
+ final int pointerId = MotionEventCompat.getPointerId(ev, pointerIndex);
+ if (pointerId == mActivePointerId) {
+ final int newPointerIndex = pointerIndex == 0 ? 1 : 0;
+ mActivePointerId = MotionEventCompat.getPointerId(ev, newPointerIndex);
+ }
+ mLastMotionX = MotionEventCompat.getX(ev, MotionEventCompat.findPointerIndex(ev, mActivePointerId));
+ break;
+ }
+
+ return true;
+ }
+
+ @Override
+ public void setViewPager(ViewPager viewPager) {
+ if (mViewPager == viewPager) {
+ return;
+ }
+ if (mViewPager != null) {
+ //Clear us from the old pager.
+ mViewPager.setOnPageChangeListener(null);
+ }
+ if (viewPager.getAdapter() == null) {
+ throw new IllegalStateException("ViewPager does not have adapter instance.");
+ }
+ mViewPager = viewPager;
+ mViewPager.setOnPageChangeListener(this);
+ invalidate();
+ post(new Runnable() {
+ @Override public void run() {
+ if (mFades) {
+ post(mFadeRunnable);
+ }
+ }
+ });
+ }
+
+ @Override
+ public void setViewPager(ViewPager view, int initialPosition) {
+ setViewPager(view);
+ setCurrentItem(initialPosition);
+ }
+
+ @Override
+ public void setCurrentItem(int item) {
+ if (mViewPager == null) {
+ throw new IllegalStateException("ViewPager has not been bound.");
+ }
+ mViewPager.setCurrentItem(item);
+ mCurrentPage = item;
+ invalidate();
+ }
+
+ @Override
+ public void notifyDataSetChanged() {
+ invalidate();
+ }
+
+ @Override
+ public void onPageScrollStateChanged(int state) {
+ mScrollState = state;
+
+ if (mListener != null) {
+ mListener.onPageScrollStateChanged(state);
+ }
+ }
+
+ @Override
+ public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+ mCurrentPage = position;
+ mPositionOffset = positionOffset;
+ if (mFades) {
+ if (positionOffsetPixels > 0) {
+ removeCallbacks(mFadeRunnable);
+ mPaint.setAlpha(0xFF);
+ } else if (mScrollState != ViewPager.SCROLL_STATE_DRAGGING) {
+ postDelayed(mFadeRunnable, mFadeDelay);
+ }
+ }
+ invalidate();
+
+ if (mListener != null) {
+ mListener.onPageScrolled(position, positionOffset, positionOffsetPixels);
+ }
+ }
+
+ @Override
+ public void onPageSelected(int position) {
+ if (mScrollState == ViewPager.SCROLL_STATE_IDLE) {
+ mCurrentPage = position;
+ mPositionOffset = 0;
+ invalidate();
+ mFadeRunnable.run();
+ }
+ if (mListener != null) {
+ mListener.onPageSelected(position);
+ }
+ }
+
+ @Override
+ public void setOnPageChangeListener(ViewPager.OnPageChangeListener listener) {
+ mListener = listener;
+ }
+
+ @Override
+ public void onRestoreInstanceState(Parcelable state) {
+ SavedState savedState = (SavedState)state;
+ super.onRestoreInstanceState(savedState.getSuperState());
+ mCurrentPage = savedState.currentPage;
+ requestLayout();
+ }
+
+ @Override
+ public Parcelable onSaveInstanceState() {
+ Parcelable superState = super.onSaveInstanceState();
+ SavedState savedState = new SavedState(superState);
+ savedState.currentPage = mCurrentPage;
+ return savedState;
+ }
+
+ static class SavedState extends BaseSavedState {
+ int currentPage;
+
+ public SavedState(Parcelable superState) {
+ super(superState);
+ }
+
+ private SavedState(Parcel in) {
+ super(in);
+ currentPage = in.readInt();
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ super.writeToParcel(dest, flags);
+ dest.writeInt(currentPage);
+ }
+
+ @SuppressWarnings("UnusedDeclaration")
+ public static final Creator CREATOR = new Creator() {
+ @Override
+ public SavedState createFromParcel(Parcel in) {
+ return new SavedState(in);
+ }
+
+ @Override
+ public SavedState[] newArray(int size) {
+ return new SavedState[size];
+ }
+ };
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/color/vpi__dark_theme.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/color/vpi__dark_theme.xml
new file mode 100644
index 0000000..3e7a08f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/color/vpi__dark_theme.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/color/vpi__light_theme.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/color/vpi__light_theme.xml
new file mode 100644
index 0000000..f955db7
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/color/vpi__light_theme.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/community_tab_subscript.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/community_tab_subscript.png
new file mode 100644
index 0000000..6b98d01
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/community_tab_subscript.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/tab.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/tab.png
new file mode 100644
index 0000000..627ae62
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/tab.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..673e3bf
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..d57df98
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..6278eef
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..294991d
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..19532ab
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..aadc6f8
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-hdpi/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-mdpi/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-mdpi/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..c9972e7
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-mdpi/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-mdpi/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-mdpi/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..587337c
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-mdpi/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-mdpi/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-mdpi/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..155c4fc
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-mdpi/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-mdpi/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-mdpi/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..f0cecd1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-mdpi/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-mdpi/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-mdpi/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..a2dbf42
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-mdpi/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-mdpi/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-mdpi/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..b1223fe
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-mdpi/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-xhdpi/vpi__tab_selected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-xhdpi/vpi__tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..03cfb09
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-xhdpi/vpi__tab_selected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-xhdpi/vpi__tab_selected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-xhdpi/vpi__tab_selected_holo.9.png
new file mode 100644
index 0000000..e4229f2
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-xhdpi/vpi__tab_selected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-xhdpi/vpi__tab_selected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-xhdpi/vpi__tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..e862cb1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-xhdpi/vpi__tab_selected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-xhdpi/vpi__tab_unselected_focused_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-xhdpi/vpi__tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..f3a5cbd
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-xhdpi/vpi__tab_unselected_focused_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-xhdpi/vpi__tab_unselected_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-xhdpi/vpi__tab_unselected_holo.9.png
new file mode 100644
index 0000000..9465173
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-xhdpi/vpi__tab_unselected_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-xhdpi/vpi__tab_unselected_pressed_holo.9.png b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-xhdpi/vpi__tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..f1eb673
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable-xhdpi/vpi__tab_unselected_pressed_holo.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable/vpi__tab_indicator.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable/vpi__tab_indicator.xml
new file mode 100644
index 0000000..5cc352d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable/vpi__tab_indicator.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable/vpi_text_tab_indicator.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable/vpi_text_tab_indicator.xml
new file mode 100644
index 0000000..28d29bb
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/drawable/vpi_text_tab_indicator.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/values/vpi__attrs.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/values/vpi__attrs.xml
new file mode 100644
index 0000000..a4d1f10
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/values/vpi__attrs.xml
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/values/vpi__colors.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/values/vpi__colors.xml
new file mode 100644
index 0000000..62ca607
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/values/vpi__colors.xml
@@ -0,0 +1,26 @@
+
+
+
+
+ #ff000000
+ #fff3f3f3
+ @color/vpi__background_holo_light
+ @color/vpi__background_holo_dark
+ #ff4c4c4c
+ #ffb2b2b2
+ @color/vpi__bright_foreground_holo_light
+ @color/vpi__bright_foreground_holo_dark
+
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/values/vpi__defaults.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/values/vpi__defaults.xml
new file mode 100644
index 0000000..e4d44cb
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/values/vpi__defaults.xml
@@ -0,0 +1,53 @@
+
+
+
+
+ true
+ #FFFFFFFF
+ #00000000
+ 0
+ 3dp
+ false
+ #FFDDDDDD
+ 1dp
+
+ 12dp
+ 4dp
+ 1dp
+ #FF33B5E5
+ #FFBBBBBB
+ true
+
+ 4dp
+ #FF33B5E5
+ 2dp
+ 2
+ 4dp
+ 20dp
+ 7dp
+ 0
+ #FFFFFFFF
+ true
+ #BBFFFFFF
+ 15dp
+ 5dp
+ 7dp
+
+ true
+ 300
+ 400
+ #FF33B5E5
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/values/vpi__styles.xml b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/values/vpi__styles.xml
new file mode 100644
index 0000000..f3de879
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/ViewPagerIndicator_library/src/main/res/values/vpi__styles.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/.gitignore b/S202014040230郭刘芊/ShoppingMall/app/.gitignore
new file mode 100644
index 0000000..796b96d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/S202014040230郭刘芊/ShoppingMall/app/build.gradle b/S202014040230郭刘芊/ShoppingMall/app/build.gradle
new file mode 100644
index 0000000..64ba12e
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/build.gradle
@@ -0,0 +1,43 @@
+apply plugin: 'com.android.application'
+
+android {
+ compileSdkVersion 23
+ buildToolsVersion "23.0.3"
+ defaultConfig {
+ javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } }
+ applicationId "com.atguigu.shoppingmall"
+ minSdkVersion 14
+ targetSdkVersion 23
+ versionCode 1
+ versionName "1.0"
+ testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ }
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ }
+}
+
+dependencies {
+ compile fileTree(include: ['*.jar'], dir: 'libs')
+ androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
+ exclude group: 'com.android.support', module: 'support-annotations'
+ })
+ compile 'com.android.support:appcompat-v7:23.3.0'
+ testCompile 'junit:junit:4.12'
+ compile 'com.jakewharton:butterknife:7.0.1'
+ compile files('libs/fastjson-1.2.4.jar')
+ compile project(':okhttputils')
+ compile 'com.android.support:recyclerview-v7:23.3.0'
+ compile project(':banner')
+ compile 'com.google.code.gson:gson:2.2.4'
+ compile project(':FlycoTabLayout_Lib')
+ compile files('libs/alipaySdk-20160516.jar')
+ compile project(':ViewPagerIndicator_library')
+ compile files('libs/picasso-2.5.2.jar')
+ compile project(':opendanmaku')
+ compile 'com.android.support:design:23.3.0'
+ compile 'com.android.support:percent:23.3.0'
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/libs/alipaySdk-20160516.jar b/S202014040230郭刘芊/ShoppingMall/app/libs/alipaySdk-20160516.jar
new file mode 100644
index 0000000..ef92d7c
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/libs/alipaySdk-20160516.jar differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/libs/fastjson-1.2.4.jar b/S202014040230郭刘芊/ShoppingMall/app/libs/fastjson-1.2.4.jar
new file mode 100644
index 0000000..a857260
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/libs/fastjson-1.2.4.jar differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/libs/picasso-2.5.2.jar b/S202014040230郭刘芊/ShoppingMall/app/libs/picasso-2.5.2.jar
new file mode 100644
index 0000000..6acbaa1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/libs/picasso-2.5.2.jar differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/proguard-rules.pro b/S202014040230郭刘芊/ShoppingMall/app/proguard-rules.pro
new file mode 100644
index 0000000..119dad5
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/proguard-rules.pro
@@ -0,0 +1,17 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in C:\Android_studio_sdk/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/androidTest/java/com/atguigu/shoppingmall/ExampleInstrumentedTest.java b/S202014040230郭刘芊/ShoppingMall/app/src/androidTest/java/com/atguigu/shoppingmall/ExampleInstrumentedTest.java
new file mode 100644
index 0000000..25c8fc0
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/androidTest/java/com/atguigu/shoppingmall/ExampleInstrumentedTest.java
@@ -0,0 +1,26 @@
+package com.atguigu.shoppingmall;
+
+import android.content.Context;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import static org.junit.Assert.*;
+
+/**
+ * Instrumentation test, which will execute on an Android device.
+ *
+ * @see Testing documentation
+ */
+@RunWith(AndroidJUnit4.class)
+public class ExampleInstrumentedTest {
+ @Test
+ public void useAppContext() throws Exception {
+ // Context of the app under test.
+ Context appContext = InstrumentationRegistry.getTargetContext();
+
+ assertEquals("com.atguigu.shoppingmall", appContext.getPackageName());
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/AndroidManifest.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..10e0ad0
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/AndroidManifest.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/app/CallCenterActivity.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/app/CallCenterActivity.java
new file mode 100644
index 0000000..58961b9
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/app/CallCenterActivity.java
@@ -0,0 +1,45 @@
+package com.atguigu.shoppingmall.app;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.webkit.WebSettings;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.utils.Constants;
+
+
+public class CallCenterActivity extends Activity {
+ private WebView webview;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_call_center);
+ webview = (WebView) findViewById(R.id.webview);
+ setWebView(Constants.CALL_CENTER);
+ }
+
+ private void setWebView(String url) {
+
+ if (url != null) {
+ webview.loadUrl(url);
+ //覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为,使网页用WebView打开
+ webview.setWebViewClient(new WebViewClient() {
+ @Override
+ public boolean shouldOverrideUrlLoading(WebView view, String url) {
+ //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
+ view.loadUrl(url);
+ return true;
+ }
+ });
+ //启用支持javascript
+ WebSettings settings = webview.getSettings();
+ settings.setJavaScriptEnabled(true);
+
+ //优先使用缓存
+ webview.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/app/GoodsInfoActivity.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/app/GoodsInfoActivity.java
new file mode 100644
index 0000000..065e615
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/app/GoodsInfoActivity.java
@@ -0,0 +1,308 @@
+package com.atguigu.shoppingmall.app;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.WindowManager;
+import android.webkit.WebSettings;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+import android.widget.Button;
+import android.widget.ImageButton;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.PopupWindow;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.home.bean.GoodsBean;
+import com.atguigu.shoppingmall.home.uitls.VirtualkeyboardHeight;
+import com.atguigu.shoppingmall.shoppingcart.activity.ShoppingCartActivity;
+import com.atguigu.shoppingmall.shoppingcart.utils.CartProvider;
+import com.atguigu.shoppingmall.shoppingcart.view.NumberAddSubView;
+import com.atguigu.shoppingmall.utils.Constants;
+import com.bumptech.glide.Glide;
+
+import java.util.List;
+
+/**
+ * 商品信息列表
+ */
+public class GoodsInfoActivity extends Activity implements View.OnClickListener {
+ private ImageButton ibGoodInfoBack;
+ private ImageButton ibGoodInfoMore;
+ private ImageView ivGoodInfoImage;
+ private TextView tvGoodInfoName;
+ private TextView tvGoodInfoDesc;
+ private TextView tvGoodInfoPrice;
+ private TextView tvGoodInfoStore;
+ private TextView tvGoodInfoStyle;
+ private WebView wbGoodInfoMore;
+ private TextView tvGoodInfoCallcenter;
+ private TextView tvGoodInfoCollection;
+ private TextView tvGoodInfoCart;
+ private Button btnGoodInfoAddcart;
+ private TextView tvMoreShare;
+ private TextView tvMoreSearch;
+ private TextView tvMoreHome;
+ private LinearLayout ll_root;
+ private Button btn_more;
+
+ private CartProvider cartProvider;
+ // private Boolean isFirst = true;
+
+ /* //模拟商家的数组
+ private String[] sellers = new String[]{"尚硅谷", "画影工作室", "Wacom"};
+ private List goodsLists;
+ private GoodsList goodsList;*/
+ private List goodsBeans;
+ private GoodsBean goods_bean;
+
+ /**
+ * Find the Views in the layout
+ *
+ * Auto-created on 2016-10-09 01:34:23 by Android Layout Finder
+ * (http://www.buzzingandroid.com/tools/android-layout-finder)
+ */
+ private void findViews() {
+ ibGoodInfoBack = (ImageButton) findViewById(R.id.ib_good_info_back);
+ ibGoodInfoMore = (ImageButton) findViewById(R.id.ib_good_info_more);
+ ivGoodInfoImage = (ImageView) findViewById(R.id.iv_good_info_image);
+ tvGoodInfoName = (TextView) findViewById(R.id.tv_good_info_name);
+ tvGoodInfoDesc = (TextView) findViewById(R.id.tv_good_info_desc);
+ tvGoodInfoPrice = (TextView) findViewById(R.id.tv_good_info_price);
+ tvGoodInfoStore = (TextView) findViewById(R.id.tv_good_info_store);
+ tvGoodInfoStyle = (TextView) findViewById(R.id.tv_good_info_style);
+ wbGoodInfoMore = (WebView) findViewById(R.id.wb_good_info_more);
+
+ tvGoodInfoCallcenter = (TextView) findViewById(R.id.tv_good_info_callcenter);
+ tvGoodInfoCollection = (TextView) findViewById(R.id.tv_good_info_collection);
+ tvGoodInfoCart = (TextView) findViewById(R.id.tv_good_info_cart);
+ btnGoodInfoAddcart = (Button) findViewById(R.id.btn_good_info_addcart);
+
+ ll_root = (LinearLayout) findViewById(R.id.ll_root);
+ tvMoreShare = (TextView) findViewById(R.id.tv_more_share);
+ tvMoreSearch = (TextView) findViewById(R.id.tv_more_search);
+ tvMoreHome = (TextView) findViewById(R.id.tv_more_home);
+
+ btn_more = (Button) findViewById(R.id.btn_more);
+
+ ibGoodInfoBack.setOnClickListener(this);
+ ibGoodInfoMore.setOnClickListener(this);
+ btnGoodInfoAddcart.setOnClickListener(this);
+
+ tvMoreShare.setOnClickListener(this);
+ tvMoreSearch.setOnClickListener(this);
+ tvMoreHome.setOnClickListener(this);
+
+ btn_more.setOnClickListener(this);
+
+ tvGoodInfoCallcenter.setOnClickListener(this);
+ tvGoodInfoCollection.setOnClickListener(this);
+ tvGoodInfoCart.setOnClickListener(this);
+ btnGoodInfoAddcart.setOnClickListener(this);
+ tvGoodInfoCallcenter.setOnClickListener(this);
+ }
+
+ /**
+ * Handle button click events
+ *
+ * Auto-created on 2016-10-09 01:34:23 by Android Layout Finder
+ * (http://www.buzzingandroid.com/tools/android-layout-finder)
+ */
+ @Override
+ public void onClick(View v) {
+ if (v == ibGoodInfoBack) {
+ finish();
+ } else if (v == ibGoodInfoMore) {
+ if (ll_root.getVisibility() == View.VISIBLE) {
+ ll_root.setVisibility(View.GONE);
+ } else {
+ ll_root.setVisibility(View.VISIBLE);
+ }
+ } else if (v == btn_more) {
+ ll_root.setVisibility(View.GONE);
+ } else if (v == tvMoreShare) {
+ Toast.makeText(GoodsInfoActivity.this, "分享", Toast.LENGTH_SHORT).show();
+// showShare();
+ } else if (v == tvMoreSearch) {
+ Toast.makeText(GoodsInfoActivity.this, "搜索", Toast.LENGTH_SHORT).show();
+ } else if (v == tvMoreHome) {
+ Constants.isBackHome = true;
+ finish();
+ } else if (v == tvGoodInfoCallcenter) {
+ Toast.makeText(GoodsInfoActivity.this, "客服", Toast.LENGTH_SHORT).show();
+ Intent intent = new Intent(this, CallCenterActivity.class);
+ startActivity(intent);
+ } else if (v == tvGoodInfoCollection) {
+ Toast.makeText(GoodsInfoActivity.this, "收藏", Toast.LENGTH_SHORT).show();
+ } else if (v == tvGoodInfoCart) {
+// Toast.makeText(GoodsInfoActivity.this, "购物车", Toast.LENGTH_SHORT).show();
+ Intent intent = new Intent(this, ShoppingCartActivity.class);
+ startActivity(intent);
+
+ } else if (v == btnGoodInfoAddcart) {
+ //添加购物车
+// cartProvider.addData(goods_bean);
+ showPopwindow();
+// Toast.makeText(GoodsInfoActivity.this, "添加购物车成功", Toast.LENGTH_SHORT).show();
+ }
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_goods_info);
+ findViews();
+
+ cartProvider = CartProvider.getInstance();
+ //取出intent
+ Intent intent = getIntent();
+ goods_bean = (GoodsBean) intent.getSerializableExtra("goods_bean");
+ if (goods_bean != null) {
+ //本地获取存储的数据
+ setDataFormView(goods_bean);
+ }
+
+ }
+
+ private void setWebView(String product_id) {
+
+ if (product_id != null) {
+ //http://192.168.51.104:8080/atguigu/json/GOODSINFO_URL.json2691
+// wbGoodInfoMore.loadUrl(Constants.GOODSINFO_URL + product_id);
+ wbGoodInfoMore.loadUrl("http://www.atguigu.com");
+ //覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为,使网页用WebView打开
+ wbGoodInfoMore.setWebViewClient(new WebViewClient() {
+ @Override
+ public boolean shouldOverrideUrlLoading(WebView view, String url) {
+ //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
+ view.loadUrl(url);
+ return true;
+ }
+ });
+ //启用支持javascript
+ WebSettings settings = wbGoodInfoMore.getSettings();
+ settings.setJavaScriptEnabled(true);
+ settings.setUseWideViewPort(true);
+
+ //优先使用缓存
+ wbGoodInfoMore.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
+ }
+ }
+
+
+ public void setDataFormView(GoodsBean goodsBean) {
+ String name = goodsBean.getName();
+ String cover_price = goodsBean.getCover_price();
+ String figure = goodsBean.getFigure();
+ String product_id = goodsBean.getProduct_id();
+
+ Glide.with(this).load(Constants.BASE_URl_IMAGE + figure).into(ivGoodInfoImage);
+ if (name != null) {
+ tvGoodInfoName.setText(name);
+ }
+ if (cover_price != null) {
+ tvGoodInfoPrice.setText("¥" + cover_price);
+ }
+ setWebView(product_id);
+ }
+
+
+ /**
+ * 显示popupWindow
+ */
+ private void showPopwindow() {
+
+ // 1 利用layoutInflater获得View
+ LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ View view = inflater.inflate(R.layout.popupwindow_add_product, null);
+
+ // 2下面是两种方法得到宽度和高度 getWindow().getDecorView().getWidth()
+ final PopupWindow window = new PopupWindow(view,
+ WindowManager.LayoutParams.MATCH_PARENT,
+ WindowManager.LayoutParams.WRAP_CONTENT);
+
+ // 3 参数设置
+ // 设置popWindow弹出窗体可点击,这句话必须添加,并且是true
+ window.setFocusable(true);
+
+ // 实例化一个ColorDrawable颜色为半透明
+ ColorDrawable dw = new ColorDrawable(0xFFFFFFFF);
+ window.setBackgroundDrawable(dw);
+
+ // 设置popWindow的显示和消失动画
+ window.setAnimationStyle(R.style.mypopwindow_anim_style);
+
+
+ // 4 控件处理
+ ImageView iv_goodinfo_photo = (ImageView) view.findViewById(R.id.iv_goodinfo_photo);
+ TextView tv_goodinfo_name = (TextView) view.findViewById(R.id.tv_goodinfo_name);
+ TextView tv_goodinfo_price = (TextView) view.findViewById(R.id.tv_goodinfo_price);
+ NumberAddSubView nas_goodinfo_num = (NumberAddSubView) view.findViewById(R.id.nas_goodinfo_num);
+ Button bt_goodinfo_cancel = (Button) view.findViewById(R.id.bt_goodinfo_cancel);
+ Button bt_goodinfo_confim = (Button) view.findViewById(R.id.bt_goodinfo_confim);
+
+ // 加载图片
+ Glide.with(GoodsInfoActivity.this).load(Constants.BASE_URl_IMAGE + goods_bean.getFigure()).into(iv_goodinfo_photo);
+
+ // 名称
+ tv_goodinfo_name.setText(goods_bean.getName());
+ // 显示价格
+ tv_goodinfo_price.setText(goods_bean.getCover_price());
+
+ // 设置最大值和当前值
+ nas_goodinfo_num.setMaxValue(8);
+ nas_goodinfo_num.setValue(1);
+
+ nas_goodinfo_num.setOnNumberChangeListener(new NumberAddSubView.OnNumberChangeListener() {
+ @Override
+ public void addNumber(View view, int value) {
+ goods_bean.setNumber(value);
+ }
+
+ @Override
+ public void subNumner(View view, int value) {
+ goods_bean.setNumber(value);
+ }
+ });
+
+ bt_goodinfo_cancel.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ window.dismiss();
+ }
+ });
+
+ bt_goodinfo_confim.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ window.dismiss();
+ //添加购物车
+ cartProvider.addData(goods_bean);
+ Log.e("TAG", "66:" + goods_bean.toString());
+ Toast.makeText(GoodsInfoActivity.this, "添加购物车成功", Toast.LENGTH_SHORT).show();
+ }
+ });
+
+ window.setOnDismissListener(new PopupWindow.OnDismissListener() {
+
+ @Override
+ public void onDismiss() {
+ window.dismiss();
+ }
+ });
+
+ // 5 在底部显示
+ window.showAtLocation(GoodsInfoActivity.this.findViewById(R.id.ll_goods_root),
+ Gravity.BOTTOM, 0, VirtualkeyboardHeight.getBottomStatusHeight(GoodsInfoActivity.this));
+
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/app/LoginActivity.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/app/LoginActivity.java
new file mode 100644
index 0000000..e7f5cea
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/app/LoginActivity.java
@@ -0,0 +1,100 @@
+package com.atguigu.shoppingmall.app;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.InputType;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ImageButton;
+import android.widget.TextView;
+
+import com.atguigu.shoppingmall.R;
+
+public class LoginActivity extends Activity implements View.OnClickListener {
+ private ImageButton ibLoginBack;
+ private EditText etLoginPhone;
+ private EditText etLoginPwd;
+ private ImageButton ibLoginVisible;
+ private Button btnLogin;
+ private TextView tvLoginRegister;
+ private TextView tvLoginForgetPwd;
+ private ImageButton ib_weibo;
+ private ImageButton ib_qq;
+ private ImageButton ib_wechat;
+
+ private int count;
+ private String screen_name;
+ private String profile_image_url;
+
+ private void findViews() {
+ ibLoginBack = (ImageButton) findViewById(R.id.ib_login_back);
+ etLoginPhone = (EditText) findViewById(R.id.et_login_phone);
+ etLoginPwd = (EditText) findViewById(R.id.et_login_pwd);
+ ibLoginVisible = (ImageButton) findViewById(R.id.ib_login_visible);
+ btnLogin = (Button) findViewById(R.id.btn_login);
+ tvLoginRegister = (TextView) findViewById(R.id.tv_login_register);
+ tvLoginForgetPwd = (TextView) findViewById(R.id.tv_login_forget_pwd);
+ ib_weibo = (ImageButton) findViewById(R.id.ib_weibo);
+ ib_qq = (ImageButton) findViewById(R.id.ib_qq);
+ ib_wechat = (ImageButton) findViewById(R.id.ib_wechat);
+
+ ibLoginBack.setOnClickListener(this);
+ ibLoginVisible.setOnClickListener(this);
+ btnLogin.setOnClickListener(this);
+ ib_weibo.setOnClickListener(this);
+ ib_qq.setOnClickListener(this);
+ ib_wechat.setOnClickListener(this);
+ }
+
+ /**
+ * Handle button click events
+ * (http://www.buzzingandroid.com/tools/android-layout-finder)
+ */
+ @Override
+ public void onClick(View v) {
+ if (v == ibLoginBack) {
+ finish();
+ } else if (v == ibLoginVisible) {
+
+ count++;
+ if (count % 2 == 0) {
+ ibLoginVisible.setBackgroundResource(R.drawable.new_password_drawable_invisible);
+ etLoginPwd.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
+ } else {
+ ibLoginVisible.setBackgroundResource(R.drawable.new_password_drawable_visible);
+ etLoginPwd.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
+
+ }
+ } else if (v == btnLogin) {
+
+ } else if (v == ib_weibo) {
+// mShareAPI = UMShareAPI.get(this);
+// mShareAPI.doOauthVerify(this, SHARE_MEDIA.SINA, umAuthListener);
+ } else if (v == ib_qq) {
+// mShareAPI = UMShareAPI.get(this);
+// mShareAPI.doOauthVerify(this, SHARE_MEDIA.QQ, umAuthListener);
+ } else if (v == ib_wechat) {
+// mShareAPI = UMShareAPI.get(this);
+// mShareAPI.doOauthVerify(this, SHARE_MEDIA.WEIXIN, umAuthListener);
+ }
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_login);
+ findViews();
+
+
+ }
+
+
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/app/MainActivity.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/app/MainActivity.java
new file mode 100644
index 0000000..3f5560f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/app/MainActivity.java
@@ -0,0 +1,146 @@
+package com.atguigu.shoppingmall.app;
+
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentActivity;
+import android.support.v4.app.FragmentTransaction;
+import android.widget.FrameLayout;
+import android.widget.RadioButton;
+import android.widget.RadioGroup;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.base.BaseFragment;
+import com.atguigu.shoppingmall.community.fragment.CommunityFragment;
+import com.atguigu.shoppingmall.home.fragment.HomeFragment;
+import com.atguigu.shoppingmall.shoppingcart.fragment.ShoppingCartFragment;
+import com.atguigu.shoppingmall.type.fragment.TypeFragment;
+import com.atguigu.shoppingmall.user.fragment.UserFragment;
+
+import java.util.ArrayList;
+
+import butterknife.Bind;
+import butterknife.ButterKnife;
+
+public class MainActivity extends FragmentActivity {
+
+ @Bind(R.id.frameLayout)
+ FrameLayout frameLayout;
+ @Bind(R.id.rb_home)
+ RadioButton rbHome;
+ @Bind(R.id.rb_type)
+ RadioButton rbType;
+ @Bind(R.id.rb_community)
+ RadioButton rbCommunity;
+ @Bind(R.id.rb_cart)
+ RadioButton rbCart;
+ @Bind(R.id.rb_user)
+ RadioButton rbUser;
+ @Bind(R.id.rg_main)
+ RadioGroup rgMain;
+ private ArrayList fragments;
+ private int position;
+ private TypeFragment typeFragment;
+ private BaseFragment mContext;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+ ButterKnife.bind(this);
+ initFragment();
+ initListener();
+ }
+
+ private void initFragment() {
+ fragments = new ArrayList<>();
+ typeFragment = new TypeFragment();
+ fragments.add(new HomeFragment());
+ fragments.add(typeFragment);
+ fragments.add(new CommunityFragment());
+ fragments.add(new ShoppingCartFragment());
+ fragments.add(new UserFragment());
+ }
+
+ private void initListener() {
+ rgMain.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(RadioGroup group, int checkedId) {
+ switch (checkedId) {
+ case R.id.rb_home:
+ position = 0;
+// dismissAnmiation();
+// typeFragment.hideFragment();
+ break;
+ case R.id.rb_type:
+
+ position = 1;
+
+ break;
+ case R.id.rb_community:
+ position = 2;
+// typeFragment.hideFragment();
+
+ break;
+ case R.id.rb_cart:
+ position = 3;
+
+// fragments.remove(fragments.get(3));
+// ShoppingCartFragment cartFragment = new ShoppingCartFragment();
+// fragments.add(3, cartFragment);
+//
+// typeFragment.hideFragment();
+ break;
+ case R.id.rb_user:
+ position = 4;
+// dismissAnmiation();
+// typeFragment.hideFragment();
+ break;
+ }
+
+ BaseFragment baseFragment = getFragment(position);
+ switchFragment(mContext, baseFragment);
+ }
+ });
+
+ rgMain.check(R.id.rb_home);
+
+ }
+
+
+ /**
+ *
+ * @param position
+ * @return
+ */
+ private BaseFragment getFragment(int position) {
+ if (fragments != null && fragments.size() > 0) {
+ BaseFragment baseFragment = fragments.get(position);
+ return baseFragment;
+ }
+ return null;
+ }
+
+ private void switchFragment(Fragment fromFragment, BaseFragment nextFragment) {
+ if (mContext != nextFragment) {
+ mContext = nextFragment;
+ if (nextFragment != null) {
+ FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
+ //判断nextFragment是否添加
+ if (!nextFragment.isAdded()) {
+ //隐藏当前Fragment
+ if (fromFragment != null) {
+ transaction.hide(fromFragment);
+ }
+ transaction.add(R.id.frameLayout, nextFragment).commit();
+ } else {
+ //隐藏当前Fragment
+ if (fromFragment != null) {
+ transaction.hide(fromFragment);
+ }
+ transaction.show(nextFragment).commit();
+ }
+ }
+ }
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/app/MyAppliction.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/app/MyAppliction.java
new file mode 100644
index 0000000..7176f4a
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/app/MyAppliction.java
@@ -0,0 +1,18 @@
+package com.atguigu.shoppingmall.app;
+
+import android.app.Application;
+import android.content.Context;
+
+public class MyAppliction extends Application {
+ private static Context mContext;
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ this.mContext = this;
+ }
+ // 获取全局上下文
+ public static Context getContext() {
+ return mContext;
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/base/BaseFragment.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/base/BaseFragment.java
new file mode 100644
index 0000000..d3f637b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/base/BaseFragment.java
@@ -0,0 +1,48 @@
+package com.atguigu.shoppingmall.base;
+
+import android.content.Context;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.v4.app.Fragment;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+public abstract class BaseFragment extends Fragment {
+ public Context mContext;
+
+
+ @Override
+ public void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ mContext = getActivity();
+
+ }
+
+ @Nullable
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ return initView();
+ }
+
+ @Override
+ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+ initData();
+ }
+
+ /**
+ * 有子类实现,实现特有效果
+ * @return
+ */
+ public abstract View initView();
+
+ /**
+ * 初始化数据
+ */
+ public void initData() {
+
+ }
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/adapter/CommunityViewPagerAdapter.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/adapter/CommunityViewPagerAdapter.java
new file mode 100644
index 0000000..c9c9cea
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/adapter/CommunityViewPagerAdapter.java
@@ -0,0 +1,44 @@
+package com.atguigu.shoppingmall.community.adapter;
+
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentPagerAdapter;
+
+import com.atguigu.shoppingmall.community.fragment.HotPostFragment;
+import com.atguigu.shoppingmall.community.fragment.NewPostFragment;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+public class CommunityViewPagerAdapter extends FragmentPagerAdapter {
+ private List fragmentList = new ArrayList<>();
+ private String[] titles = new String[]{"新帖", "热帖"};
+
+ public CommunityViewPagerAdapter(FragmentManager fm) {
+ super(fm);
+ initFragments();
+ }
+
+ private void initFragments() {
+ NewPostFragment newPostFragment = new NewPostFragment();
+ HotPostFragment hotPostFragment = new HotPostFragment();
+ fragmentList.add(newPostFragment);
+ fragmentList.add(hotPostFragment);
+ }
+
+ @Override
+ public Fragment getItem(int position) {
+ return fragmentList.get(position);
+ }
+
+ @Override
+ public int getCount() {
+ return fragmentList == null ? 0 : fragmentList.size();
+ }
+
+ @Override
+ public CharSequence getPageTitle(int position) {
+ return titles[position];
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/adapter/HotPostListViewAdapter.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/adapter/HotPostListViewAdapter.java
new file mode 100644
index 0000000..e4ae782
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/adapter/HotPostListViewAdapter.java
@@ -0,0 +1,158 @@
+package com.atguigu.shoppingmall.community.adapter;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.Color;
+import android.view.Gravity;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageButton;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.community.bean.HotPostBean;
+import com.atguigu.shoppingmall.utils.BitmapUtils;
+import com.atguigu.shoppingmall.utils.Constants;
+import com.atguigu.shoppingmall.utils.DensityUtil;
+import com.bumptech.glide.Glide;
+import com.squareup.picasso.Picasso;
+import com.squareup.picasso.Transformation;
+
+import java.text.SimpleDateFormat;
+import java.util.List;
+
+import butterknife.Bind;
+import butterknife.ButterKnife;
+
+public class HotPostListViewAdapter extends BaseAdapter {
+ private Context mContext;
+ private List result;
+
+ public HotPostListViewAdapter(Context mContext, List result) {
+ this.mContext = mContext;
+ this.result = result;
+
+ }
+
+ @Override
+ public int getCount() {
+ return result.size();
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return result.get(position);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ ViewHolder holder;
+ if (convertView == null) {
+ convertView = View.inflate(mContext, R.layout.item_hotpost_listview, null);
+ holder = new ViewHolder(convertView);
+ convertView.setTag(holder);
+ } else {
+ holder = (ViewHolder) convertView.getTag();
+ }
+
+ HotPostBean.ResultBean resultBean = result.get(position);
+ holder.tvHotUsername.setText(resultBean.getUsername());
+
+ SimpleDateFormat myFmt = new SimpleDateFormat("MM-dd HH:mm");
+ holder.tvHotAddtime.setText(myFmt.format(Integer.parseInt(resultBean.getAdd_time())));
+
+ Glide.with(mContext).load(Constants.BASE_URl_IMAGE +resultBean.getFigure()).into(holder.ivHotFigure);
+ holder.tvHotSaying.setText(resultBean.getSaying());
+ holder.tvHotLikes.setText(resultBean.getLikes());
+ holder.tvHotComments.setText(resultBean.getComments());
+
+ Picasso.with(mContext).load(resultBean.getAvatar()).transform(new Transformation() {
+ @Override
+ public Bitmap transform(Bitmap bitmap) {
+ //先对图片进行压缩
+ //Bitmap zoom = BitmapUtils.zoom(bitmap, DensityUtil.dip2px(mContext, 62), DensityUtil.dip2px(mContext, 62));
+ Bitmap zoom = BitmapUtils.zoom(bitmap, 70, 70);
+ //对请求回来的Bitmap进行圆形处理
+ Bitmap ciceBitMap = BitmapUtils.circleBitmap(zoom);
+ bitmap.recycle();//必须队更改之前的进行回收
+ return ciceBitMap;
+ }
+
+ @Override
+ public String key() {
+ return "";
+ }
+ }).into(holder.ibNewPostAvatar);
+
+ String is_top = resultBean.getIs_top();
+
+ if ("1".equals(is_top)) {
+ LinearLayout.LayoutParams textViewLp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+ TextView textView = new TextView(mContext);
+ textView.setText("置顶");
+ textViewLp.setMargins(DensityUtil.dip2px(mContext, 10), 0, DensityUtil.dip2px(mContext, 5), 0);
+ textView.setGravity(Gravity.CENTER);
+ textView.setTextColor(Color.WHITE);
+ textView.setBackgroundResource(R.drawable.is_top_shape);
+ textView.setPadding(DensityUtil.dip2px(mContext, 5), DensityUtil.dip2px(mContext, 5), DensityUtil.dip2px(mContext, 5), DensityUtil.dip2px(mContext, 5));
+ holder.llHotPost.removeAllViews();
+ holder.llHotPost.addView(textView, textViewLp);
+ }
+ String is_hot = resultBean.getIs_hot();
+ if ("1".equals(is_hot)) {
+ LinearLayout.LayoutParams textViewLp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+ TextView textView = new TextView(mContext);
+ textViewLp.setMargins(0, 0, DensityUtil.dip2px(mContext, 5), 0);
+ textView.setText("热门");
+ textView.setGravity(Gravity.CENTER);
+ textView.setTextColor(Color.WHITE);
+ textView.setPadding(DensityUtil.dip2px(mContext, 5), DensityUtil.dip2px(mContext, 5), DensityUtil.dip2px(mContext, 5), DensityUtil.dip2px(mContext, 5));
+ textView.setBackgroundResource(R.drawable.is_hot_shape);
+ holder.llHotPost.addView(textView, textViewLp);
+ }
+ String is_essence = resultBean.getIs_essence();
+ if ("1".equals(is_essence)) {
+ LinearLayout.LayoutParams textViewLp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+ textViewLp.setMargins(0, 0, DensityUtil.dip2px(mContext, 5), 0);
+ TextView textView = new TextView(mContext);
+ textView.setText("精华");
+ textView.setGravity(Gravity.CENTER);
+ textView.setTextColor(Color.WHITE);
+ textView.setPadding(DensityUtil.dip2px(mContext, 5), DensityUtil.dip2px(mContext, 5), DensityUtil.dip2px(mContext, 5), DensityUtil.dip2px(mContext, 5));
+ textView.setBackgroundResource(R.drawable.is_essence_shape);
+ holder.llHotPost.addView(textView, textViewLp);
+ }
+ return convertView;
+ }
+
+ static class ViewHolder {
+ @Bind(R.id.tv_hot_username)
+ TextView tvHotUsername;
+ @Bind(R.id.tv_hot_addtime)
+ TextView tvHotAddtime;
+ @Bind(R.id.iv_hot_figure)
+ ImageView ivHotFigure;
+ @Bind(R.id.ll_hot_post)
+ LinearLayout llHotPost;
+ @Bind(R.id.tv_hot_saying)
+ TextView tvHotSaying;
+ @Bind(R.id.tv_hot_likes)
+ TextView tvHotLikes;
+ @Bind(R.id.tv_hot_comments)
+ TextView tvHotComments;
+ @Bind(R.id.ib_new_post_avatar)
+ ImageButton ibNewPostAvatar;
+
+ ViewHolder(View view) {
+ ButterKnife.bind(this, view);
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/adapter/NewPostListViewAdapter.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/adapter/NewPostListViewAdapter.java
new file mode 100644
index 0000000..52bbc25
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/adapter/NewPostListViewAdapter.java
@@ -0,0 +1,139 @@
+package com.atguigu.shoppingmall.community.adapter;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageButton;
+import android.widget.ImageView;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.community.bean.NewPostBean;
+import com.atguigu.shoppingmall.utils.BitmapUtils;
+import com.atguigu.shoppingmall.utils.Constants;
+import com.bumptech.glide.Glide;
+import com.opendanmaku.DanmakuItem;
+import com.opendanmaku.DanmakuView;
+import com.opendanmaku.IDanmakuItem;
+import com.squareup.picasso.Picasso;
+import com.squareup.picasso.Transformation;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import butterknife.Bind;
+import butterknife.ButterKnife;
+
+public class NewPostListViewAdapter extends BaseAdapter {
+ private Context mContext;
+ private List result;
+ private List comment_list;
+
+ public NewPostListViewAdapter(Context mContext, List result) {
+ this.mContext = mContext;
+ this.result = result;
+ }
+
+ @Override
+ public int getCount() {
+ return result.size();
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return result.get(position);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ ViewHolder holder;
+ if (convertView == null) {
+ convertView = View.inflate(mContext, R.layout.item_listview_newpost, null);
+ holder = new ViewHolder(convertView);
+ convertView.setTag(holder);
+ } else {
+ holder = (ViewHolder) convertView.getTag();
+ }
+ NewPostBean.ResultBean resultBean = result.get(position);
+ holder.tvCommunityUsername.setText(resultBean.getUsername());
+ //holder.tvCommunityAddtime.setText();
+ Glide.with(mContext)
+ .load(Constants.BASE_URl_IMAGE +resultBean.getFigure())
+ .into(holder.ivCommunityFigure);
+
+
+ holder.tvCommunitySaying.setText(resultBean.getSaying());
+ holder.tvCommunityLikes.setText(resultBean.getLikes());
+ holder.tvCommunityComments.setText(resultBean.getComments());
+
+ Picasso.with(mContext).load(resultBean.getAvatar()).transform(new Transformation() {
+ @Override
+ public Bitmap transform(Bitmap bitmap) {
+ //先对图片进行压缩
+ Bitmap zoom = BitmapUtils.zoom(bitmap, 70, 70);
+ //对请求回来的Bitmap进行圆形处理
+ Bitmap ciceBitMap = BitmapUtils.circleBitmap(zoom);
+ bitmap.recycle();//必须队更改之前的进行回收
+ return ciceBitMap;
+ }
+
+ @Override
+ public String key() {
+ return "";
+ }
+ }).into(holder.ibNewPostAvatar);
+
+ //设置弹幕
+ comment_list = (List) resultBean.getComment_list();
+ if (comment_list != null && comment_list.size() > 0) {
+ holder.danmakuView.setVisibility(View.VISIBLE);
+
+ List list = new ArrayList<>();
+ for (int i = 0; i < comment_list.size(); i++) {
+ IDanmakuItem item = new DanmakuItem(mContext, comment_list.get(i), holder.danmakuView.getWidth());
+ list.add(item);
+ }
+ Collections.shuffle(comment_list);
+ holder.danmakuView.addItem(list, true);
+ holder.danmakuView.show();
+ }else{
+ holder.danmakuView.setVisibility(View.GONE);
+ }
+ return convertView;
+ }
+
+
+ static class ViewHolder {
+ @Bind(R.id.tv_community_username)
+ TextView tvCommunityUsername;
+ @Bind(R.id.tv_community_addtime)
+ TextView tvCommunityAddtime;
+ @Bind(R.id.rl)
+ RelativeLayout rl;
+ @Bind(R.id.iv_community_figure)
+ ImageView ivCommunityFigure;
+ @Bind(R.id.danmakuView)
+ DanmakuView danmakuView;
+ @Bind(R.id.tv_community_saying)
+ TextView tvCommunitySaying;
+ @Bind(R.id.tv_community_likes)
+ TextView tvCommunityLikes;
+ @Bind(R.id.tv_community_comments)
+ TextView tvCommunityComments;
+ @Bind(R.id.ib_new_post_avatar)
+ ImageButton ibNewPostAvatar;
+
+ ViewHolder(View view) {
+ ButterKnife.bind(this, view);
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/bean/HotPostBean.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/bean/HotPostBean.java
new file mode 100644
index 0000000..5c654bf
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/bean/HotPostBean.java
@@ -0,0 +1,186 @@
+package com.atguigu.shoppingmall.community.bean;
+
+import java.util.List;
+
+public class HotPostBean {
+
+ /**
+ * code : 200
+ * msg : 请求成功
+ * result : [{"post_id":"2313","user_id":"90437","figure":"http://img01.cycangcdn.com/ugc/post/img/201609/14746252609717297.png","saying":"惊喜不断,新爆款、爆款、爆款,限时预定哦!","add_time":"1474625262","likes":"13","comments":"6","is_hot":"1","is_top":"1","is_essence":"1","username":"尚硅谷首席惊喜官","avatar":"http://img01.cycangcdn.com/ugc/user/avatar/14651924470798522.png","is_like":"0","comment_list":["啦啦","啦啦","吃土快乐,祝我快乐","猝不及防一口土\u2026\u2026","吃土愉快","啊啊啊啊啊啊啊疯掉了!!!!!猝不及防啊啊啊"]},{"post_id":"2199","user_id":"90437","figure":"http://img01.cycangcdn.com/ugc/post/img/201609/14736747792594015.png","saying":"谷的新品-流烟昔泠新款套装【轻梦泽】今晚八点准时在尚硅谷首发,买买买2333\u2026","add_time":"1473674779","likes":"15","comments":"2","is_hot":"1","is_top":"1","is_essence":"1","username":"尚硅谷首席惊喜官","avatar":"http://img01.cycangcdn.com/ugc/user/avatar/14651924470798522.png","is_like":"0","comment_list":["第二!","我第一~~哈哈哈~~沙发~"]},{"post_id":"2345","user_id":"90437","figure":"http://img01.cycangcdn.com/ugc/post/img/201609/14751401203006663.png","saying":"特大惊喜:#谷の盛典# #小谷陪你过国庆# 国庆攻略大曝光!小谷教您买买买!0元备战黄金周~30日前海量优惠券免!费!领!假期福利满天飞~全场满减搭配优惠券!爆款直降白菜价!","add_time":"1475140120","likes":"3","comments":"10","is_hot":"1","is_top":"1","is_essence":"1","username":"尚硅谷首席惊喜官","avatar":"http://img01.cycangcdn.com/ugc/user/avatar/14651924470798522.png","is_like":"0","comment_list":["回复尚硅谷首席铲屎官:wom","回复尚硅谷首席铲屎官:wom","ilcd","回复 @夕夕夕凄:亲 通过首页的\u201c小谷陪你过国庆\u201d的banner进去就可以参加大转盘抽奖了*^_^*","哎找不到大转盘哎","回复 @小鸟~萌萌哒:大转盘9月30日18点上线哦","大转盘在哪里找呀?~~~","回复二次元哒小神棍:满减是可以配合优惠券一起叠加使用的","回复二次元哒小神棍:国庆我们有满减,这个才是重头啦,优惠券这次国庆不是主角!","优惠券的力度减小了,有些商品除了小谷自营的商品不划算。就算有免单的机会也不一定能抽到啊!"]},{"post_id":"2278","user_id":"90437","figure":"http://img01.cycangcdn.com/ugc/post/img/201609/14742827198764639.png","saying":"#谷の闪购# 机智菌爷的判断从来是非常准确的~\r\n食欲之秋已经到来!宝宝们绝对需要今天的大安利!【麦大叔】美味零食~开启超爽8折大狂欢!肉肉肉什么的一波带走!开心果大把大把地塞!一起来放纵吃吃吃吧!","add_time":"1474282720","likes":"2","comments":"5","is_hot":"1","is_top":"1","is_essence":"1","username":"尚硅谷首席惊喜官","avatar":"http://img01.cycangcdn.com/ugc/user/avatar/14651924470798522.png","is_like":"0","comment_list":["恶魔","啊啊啊啊","啊啊啊啊"]},{"post_id":"2350","user_id":"90437","figure":"http://img01.cycangcdn.com/ugc/post/img/201609/14752273661625367.png","saying":"#谷の爆款# 告别了炎夏~小谷内心依然惦记着海边的美好画面!【全职高手】4款新品PU小包包!带你寻味夏季!激萌指数直线飙升!浅蓝色配色充满海洋的气息!趁着国庆优惠把他们一同带回家过节吧~","add_time":"1475227367","likes":"7","comments":"0","is_hot":"1","is_top":"1","is_essence":"1","username":"尚硅谷首席惊喜官","avatar":"http://img01.cycangcdn.com/ugc/user/avatar/14651924470798522.png","is_like":"0","comment_list":[]}]
+ */
+
+ private int code;
+ private String msg;
+ /**
+ * post_id : 2313
+ * user_id : 90437
+ * figure : http://img01.cycangcdn.com/ugc/post/img/201609/14746252609717297.png
+ * saying : 惊喜不断,新爆款、爆款、爆款,限时预定哦!
+ * add_time : 1474625262
+ * likes : 13
+ * comments : 6
+ * is_hot : 1
+ * is_top : 1
+ * is_essence : 1
+ * username : 尚硅谷首席惊喜官
+ * avatar : http://img01.cycangcdn.com/ugc/user/avatar/14651924470798522.png
+ * is_like : 0
+ * comment_list : ["啦啦","啦啦","吃土快乐,祝我快乐","猝不及防一口土\u2026\u2026","吃土愉快","啊啊啊啊啊啊啊疯掉了!!!!!猝不及防啊啊啊"]
+ */
+
+ private List result;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+
+ public List getResult() {
+ return result;
+ }
+
+ public void setResult(List result) {
+ this.result = result;
+ }
+
+ public static class ResultBean {
+ private String post_id;
+ private String user_id;
+ private String figure;
+ private String saying;
+ private String add_time;
+ private String likes;
+ private String comments;
+ private String is_hot;
+ private String is_top;
+ private String is_essence;
+ private String username;
+ private String avatar;
+ private String is_like;
+ private List comment_list;
+
+ public String getPost_id() {
+ return post_id;
+ }
+
+ public void setPost_id(String post_id) {
+ this.post_id = post_id;
+ }
+
+ public String getUser_id() {
+ return user_id;
+ }
+
+ public void setUser_id(String user_id) {
+ this.user_id = user_id;
+ }
+
+ public String getFigure() {
+ return figure;
+ }
+
+ public void setFigure(String figure) {
+ this.figure = figure;
+ }
+
+ public String getSaying() {
+ return saying;
+ }
+
+ public void setSaying(String saying) {
+ this.saying = saying;
+ }
+
+ public String getAdd_time() {
+ return add_time;
+ }
+
+ public void setAdd_time(String add_time) {
+ this.add_time = add_time;
+ }
+
+ public String getLikes() {
+ return likes;
+ }
+
+ public void setLikes(String likes) {
+ this.likes = likes;
+ }
+
+ public String getComments() {
+ return comments;
+ }
+
+ public void setComments(String comments) {
+ this.comments = comments;
+ }
+
+ public String getIs_hot() {
+ return is_hot;
+ }
+
+ public void setIs_hot(String is_hot) {
+ this.is_hot = is_hot;
+ }
+
+ public String getIs_top() {
+ return is_top;
+ }
+
+ public void setIs_top(String is_top) {
+ this.is_top = is_top;
+ }
+
+ public String getIs_essence() {
+ return is_essence;
+ }
+
+ public void setIs_essence(String is_essence) {
+ this.is_essence = is_essence;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public String getAvatar() {
+ return avatar;
+ }
+
+ public void setAvatar(String avatar) {
+ this.avatar = avatar;
+ }
+
+ public String getIs_like() {
+ return is_like;
+ }
+
+ public void setIs_like(String is_like) {
+ this.is_like = is_like;
+ }
+
+ public List getComment_list() {
+ return comment_list;
+ }
+
+ public void setComment_list(List comment_list) {
+ this.comment_list = comment_list;
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/bean/NewPostBean.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/bean/NewPostBean.java
new file mode 100644
index 0000000..39a9637
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/bean/NewPostBean.java
@@ -0,0 +1,187 @@
+package com.atguigu.shoppingmall.community.bean;
+
+import java.util.List;
+
+
+public class NewPostBean {
+
+ /**
+ * code : 200
+ * msg : 请求成功
+ * result : [{"post_id":"2409","user_id":"582363","figure":"http://img01.cycangcdn.com/ugc/post/img/201610/14757383639657991.png","saying":"","add_time":"1475738364","likes":"0","comments":"0","is_hot":"0","is_top":"0","is_essence":"0","username":"面对疾风吧","avatar":"http://s1.cycangcdn.com/img/user_icon.png","is_like":"0","comment_list":[]},{"post_id":"2408","user_id":"563046","figure":"http://img01.cycangcdn.com/ugc/post/img/201610/1475725288195472.jpeg","saying":"发货啊!!!!发货!!!!","add_time":"1475725303","likes":"0","comments":"1","is_hot":"0","is_top":"0","is_essence":"0","username":"君酱","avatar":"http://img01.cycangcdn.com/ugc/user/avatar/14742039706486902.jpeg","is_like":"0","comment_list":["亲 自营现货商品已经恢复发货了,供应商的会在国庆假期结束后恢复发货的,具体的需要看供应商的假期安排哦"]},{"post_id":"2406","user_id":"543961","figure":"http://img01.cycangcdn.com/ugc/post/img/201610/14756614250945495.jpeg","saying":"我想\u2026\u2026请问一下\u2026\u2026我叶的青梅会补货吗。QAQ想拿来凑单\u2026\u2026","add_time":"1475661508","likes":"0","comments":"6","is_hot":"0","is_top":"0","is_essence":"0","username":"-LICHT-","avatar":"http://img01.cycangcdn.com/ugc/user/avatar/14756620336796494.jpeg","is_like":"0","comment_list":["回复 @尚硅谷首席神秘官:嘻嘻谢谢建议!才不会告诉你重点并不是吃的呢。(~˘▾˘)~刚刚去瞄了两眼,好像没有什么种草的\u2026\u2026(不,这个人因为只是没钱orz)","凑单可以考虑别的零食哈,我们有很多进口零食也很不错的","回复 @尚硅谷首席铲屎官:QAQ好的谢谢。","回复 @-LICHT-:具体补货时间还不清楚哦","回复 @尚硅谷首席铲屎官:谢谢~那可以问一下大概要多久吗\u2026\u2026","亲 会补货的,亲可以先收藏哦,到货后就能及时购买了哦"]},{"post_id":"2405","user_id":"531274","figure":"http://img01.cycangcdn.com/ugc/post/img/201610/14756593224672148.png","saying":"昨天下的单。好想问问什么时候发货的锁!!因为后天要走了!","add_time":"1475659322","likes":"0","comments":"2","is_hot":"0","is_top":"0","is_essence":"0","username":"Foehn","avatar":"http://img01.cycangcdn.com/ugc/user/avatar/14700074120478917.png","is_like":"0","comment_list":["回复尚硅谷首席铲屎官:好的 谢谢谷谷","亲 自营现货商品已经恢复发货了,供应商一般会在国庆假期结束后恢复发货的,具体的以供应商的假期安排为准哦(≧▽≦)"]},{"post_id":"2404","user_id":"582149","figure":"http://img01.cycangcdn.com/ugc/post/img/201610/14756492642393210.jpeg","saying":"可约板绘或者手绘,手绘卡片邮寄到家\n","add_time":"1475649350","likes":"2","comments":"2","is_hot":"0","is_top":"0","is_essence":"0","username":"白白空空白空空","avatar":"http://s1.cycangcdn.com/img/user_icon.png","is_like":"0","comment_list":["把你QQ给我,如果哪天需要我会找你的(人´∀`)♡","把你QQ给我,如果哪天需要我会找你的(人´∀`)♡"]}]
+ */
+
+ private int code;
+ private String msg;
+ /**
+ * post_id : 2409
+ * user_id : 582363
+ * figure : http://img01.cycangcdn.com/ugc/post/img/201610/14757383639657991.png
+ * saying :
+ * add_time : 1475738364
+ * likes : 0
+ * comments : 0
+ * is_hot : 0
+ * is_top : 0
+ * is_essence : 0
+ * username : 面对疾风吧
+ * avatar : http://s1.cycangcdn.com/img/user_icon.png
+ * is_like : 0
+ * comment_list : []
+ */
+
+ private List result;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+
+ public List getResult() {
+ return result;
+ }
+
+ public void setResult(List result) {
+ this.result = result;
+ }
+
+ public static class ResultBean {
+ private String post_id;
+ private String user_id;
+ private String figure;
+ private String saying;
+ private String add_time;
+ private String likes;
+ private String comments;
+ private String is_hot;
+ private String is_top;
+ private String is_essence;
+ private String username;
+ private String avatar;
+ private String is_like;
+ private List> comment_list;
+
+ public String getPost_id() {
+ return post_id;
+ }
+
+ public void setPost_id(String post_id) {
+ this.post_id = post_id;
+ }
+
+ public String getUser_id() {
+ return user_id;
+ }
+
+ public void setUser_id(String user_id) {
+ this.user_id = user_id;
+ }
+
+ public String getFigure() {
+ return figure;
+ }
+
+ public void setFigure(String figure) {
+ this.figure = figure;
+ }
+
+ public String getSaying() {
+ return saying;
+ }
+
+ public void setSaying(String saying) {
+ this.saying = saying;
+ }
+
+ public String getAdd_time() {
+ return add_time;
+ }
+
+ public void setAdd_time(String add_time) {
+ this.add_time = add_time;
+ }
+
+ public String getLikes() {
+ return likes;
+ }
+
+ public void setLikes(String likes) {
+ this.likes = likes;
+ }
+
+ public String getComments() {
+ return comments;
+ }
+
+ public void setComments(String comments) {
+ this.comments = comments;
+ }
+
+ public String getIs_hot() {
+ return is_hot;
+ }
+
+ public void setIs_hot(String is_hot) {
+ this.is_hot = is_hot;
+ }
+
+ public String getIs_top() {
+ return is_top;
+ }
+
+ public void setIs_top(String is_top) {
+ this.is_top = is_top;
+ }
+
+ public String getIs_essence() {
+ return is_essence;
+ }
+
+ public void setIs_essence(String is_essence) {
+ this.is_essence = is_essence;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public String getAvatar() {
+ return avatar;
+ }
+
+ public void setAvatar(String avatar) {
+ this.avatar = avatar;
+ }
+
+ public String getIs_like() {
+ return is_like;
+ }
+
+ public void setIs_like(String is_like) {
+ this.is_like = is_like;
+ }
+
+ public List> getComment_list() {
+ return comment_list;
+ }
+
+ public void setComment_list(List> comment_list) {
+ this.comment_list = comment_list;
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/fragment/CommunityFragment.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/fragment/CommunityFragment.java
new file mode 100644
index 0000000..4ac0b0d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/fragment/CommunityFragment.java
@@ -0,0 +1,38 @@
+package com.atguigu.shoppingmall.community.fragment;
+
+import android.support.design.widget.TabLayout;
+import android.support.v4.view.ViewPager;
+import android.view.View;
+import android.widget.ImageButton;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.base.BaseFragment;
+import com.atguigu.shoppingmall.community.adapter.CommunityViewPagerAdapter;
+
+public class CommunityFragment extends BaseFragment {
+ private ImageButton ibCommunityIcon;
+ private TabLayout tablayout;
+ private ViewPager viewPager;
+ private ImageButton ibCommunityMessage;
+
+ @Override
+ public View initView() {
+ View view = View.inflate(mContext, R.layout.fragment_community, null);
+ ibCommunityIcon = (ImageButton) view.findViewById(R.id.ib_community_icon);
+ tablayout = (TabLayout) view.findViewById(R.id.tablayout);
+ viewPager = (ViewPager) view.findViewById(R.id.view_pager);
+ ibCommunityMessage = (ImageButton) view.findViewById(R.id.ib_community_message);
+
+ CommunityViewPagerAdapter adapter = new CommunityViewPagerAdapter(getFragmentManager());
+ viewPager.setAdapter(adapter);
+ tablayout.setVisibility(View.VISIBLE);
+ tablayout.setupWithViewPager(viewPager);
+ return view;
+ }
+
+ @Override
+ public void initData() {
+ super.initData();
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/fragment/HotPostFragment.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/fragment/HotPostFragment.java
new file mode 100644
index 0000000..0be1b77
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/fragment/HotPostFragment.java
@@ -0,0 +1,88 @@
+package com.atguigu.shoppingmall.community.fragment;
+
+import android.util.Log;
+import android.view.View;
+import android.widget.ListView;
+import android.widget.Toast;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.community.adapter.HotPostListViewAdapter;
+import com.atguigu.shoppingmall.base.BaseFragment;
+import com.atguigu.shoppingmall.community.bean.HotPostBean;
+import com.atguigu.shoppingmall.utils.Constants;
+import com.google.gson.Gson;
+import com.zhy.http.okhttp.OkHttpUtils;
+import com.zhy.http.okhttp.callback.StringCallback;
+
+import java.util.List;
+
+import okhttp3.Call;
+import okhttp3.Request;
+
+public class HotPostFragment extends BaseFragment {
+ private ListView lv_hot_post;
+ private List result;
+
+ @Override
+ public View initView() {
+ View view = View.inflate(mContext, R.layout.fragment_hot_post, null);
+ lv_hot_post = (ListView) view.findViewById(R.id.lv_hot_post);
+ return view;
+ }
+
+ @Override
+ public void initData() {
+ getDataFromNet();
+ }
+
+ public void getDataFromNet() {
+ OkHttpUtils
+ .get()
+ .url(Constants.HOT_POST_URL)
+ .id(100)
+ .build()
+ .execute(new MyStringCallback());
+ }
+
+ public class MyStringCallback extends StringCallback {
+
+
+ @Override
+ public void onBefore(Request request, int id) {
+ }
+
+ @Override
+ public void onAfter(int id) {
+ }
+
+ @Override
+ public void onError(Call call, Exception e, int id) {
+ Log.e("TAG", "联网失败" + e.getMessage());
+ }
+
+ @Override
+ public void onResponse(String response, int id) {
+
+ switch (id) {
+ case 100:
+// Toast.makeText(mContext, "http", Toast.LENGTH_SHORT).show();
+ if (response != null) {
+ processData(response);
+ HotPostListViewAdapter adapter = new HotPostListViewAdapter(mContext, result);
+ lv_hot_post.setAdapter(adapter);
+ }
+ break;
+ case 101:
+ Toast.makeText(mContext, "https", Toast.LENGTH_SHORT).show();
+ break;
+ }
+ }
+
+ }
+
+ private void processData(String json) {
+ Gson gson = new Gson();
+ HotPostBean hotPostBean = gson.fromJson(json, HotPostBean.class);
+ result = hotPostBean.getResult();
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/fragment/NewPostFragment.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/fragment/NewPostFragment.java
new file mode 100644
index 0000000..bfd87cb
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/community/fragment/NewPostFragment.java
@@ -0,0 +1,88 @@
+package com.atguigu.shoppingmall.community.fragment;
+
+import android.util.Log;
+import android.view.View;
+import android.widget.ListView;
+import android.widget.Toast;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.community.adapter.NewPostListViewAdapter;
+import com.atguigu.shoppingmall.base.BaseFragment;
+import com.atguigu.shoppingmall.community.bean.NewPostBean;
+import com.atguigu.shoppingmall.utils.Constants;
+import com.google.gson.Gson;
+import com.zhy.http.okhttp.OkHttpUtils;
+import com.zhy.http.okhttp.callback.StringCallback;
+
+import java.util.List;
+
+import okhttp3.Call;
+import okhttp3.Request;
+
+public class NewPostFragment extends BaseFragment {
+ private ListView lv_new_post;
+ private List result;
+
+ @Override
+ public View initView() {
+ View view = View.inflate(mContext, R.layout.fragment_new_post, null);
+ lv_new_post = (ListView) view.findViewById(R.id.lv_new_post);
+ return view;
+ }
+
+ @Override
+ public void initData() {
+ getDataFromNet();
+ }
+
+ public void getDataFromNet() {
+ OkHttpUtils
+ .get()
+ .url(Constants.NEW_POST_URL)
+ .id(100)
+ .build()
+ .execute(new MyStringCallback());
+ }
+
+ public class MyStringCallback extends StringCallback {
+
+
+ @Override
+ public void onBefore(Request request, int id) {
+ }
+
+ @Override
+ public void onAfter(int id) {
+ }
+
+ @Override
+ public void onError(Call call, Exception e, int id) {
+ Log.e("TAG", "联网失败" + e.getMessage());
+ }
+
+ @Override
+ public void onResponse(String response, int id) {
+
+ switch (id) {
+ case 100:
+// Toast.makeText(mContext, "http", Toast.LENGTH_SHORT).show();
+ if (response != null) {
+ processData(response);
+ NewPostListViewAdapter adapter = new NewPostListViewAdapter(mContext, result);
+ lv_new_post.setAdapter(adapter);
+ }
+ break;
+ case 101:
+ Toast.makeText(mContext, "https", Toast.LENGTH_SHORT).show();
+ break;
+ }
+ }
+
+ }
+
+ private void processData(String json) {
+ Gson gson = new Gson();
+ NewPostBean newPostBean = gson.fromJson(json, NewPostBean.class);
+ result = newPostBean.getResult();
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/activity/GoodsListActivity.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/activity/GoodsListActivity.java
new file mode 100644
index 0000000..f47fee2
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/activity/GoodsListActivity.java
@@ -0,0 +1,435 @@
+package com.atguigu.shoppingmall.home.activity;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.graphics.Color;
+import android.os.Bundle;
+import android.support.v4.widget.DrawerLayout;
+import android.support.v7.widget.GridLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.util.Log;
+import android.view.Gravity;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ExpandableListView;
+import android.widget.ImageButton;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.app.GoodsInfoActivity;
+import com.atguigu.shoppingmall.home.adapter.ExpandableListViewAdapter;
+import com.atguigu.shoppingmall.home.adapter.GoodsListAdapter;
+import com.atguigu.shoppingmall.home.bean.GoodsBean;
+import com.atguigu.shoppingmall.home.bean.TypeListBean;
+import com.atguigu.shoppingmall.home.uitls.SpaceItemDecoration;
+import com.atguigu.shoppingmall.utils.Constants;
+import com.google.gson.Gson;
+import com.zhy.http.okhttp.OkHttpUtils;
+import com.zhy.http.okhttp.callback.StringCallback;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import okhttp3.Call;
+import okhttp3.Request;
+
+public class GoodsListActivity extends Activity implements View.OnClickListener {
+
+ private LinearLayout llGoodsListHead;
+ private ImageButton ibGoodsListBack;
+ private TextView tvGoodsListSearch;
+ private ImageButton ibGoodsListHome;
+ private TextView tvGoodsListSort;
+ private LinearLayout llGoodsListPrice;
+ private TextView tvGoodsListPrice;
+ private ImageView ivGoodsListArrow;
+ private TextView tvGoodsListSelect;
+ private RecyclerView recyclerview;
+ private ExpandableListView listView;
+
+ /* private static final int DEFAULE_STATE = 1;
+ private static final int ASC_STATE = 2;
+ private static final int DESC_STATE = 3;*/
+ private int childP;
+ private int groupP;
+
+ private int click_count = 0;
+ private ArrayList group;
+ private ArrayList> child;
+ private ExpandableListViewAdapter adapter;
+
+ private LinearLayout ll_select_root;
+ private LinearLayout ll_price_root;
+ private LinearLayout ll_theme_root;
+ private LinearLayout ll_type_root;
+
+ private ImageButton ib_drawer_layout_back;
+ private Button btn_drawer_layout_confirm;
+ private Button btn_drawer_layout_cancel;
+
+ private Button btn_drawer_type_confirm;
+ private Button btn_drawer_type_cancel;
+
+ private Button btn_drawer_theme_confirm;
+ private Button btn_drawer_theme_cancel;
+
+ private RelativeLayout rl_select_price;
+ private RelativeLayout rl_select_recommend_theme;
+ private RelativeLayout rl_select_type;
+ private RelativeLayout rl_price_30_50;
+ private RelativeLayout rl_theme_note;
+ private int position;
+ private String[] urls = new String[]{
+ Constants.CLOSE_STORE,
+ Constants.GAME_STORE,
+ Constants.COMIC_STORE,
+ Constants.COSPLAY_STORE,
+ Constants.GUFENG_STORE,
+ Constants.STICK_STORE,
+ Constants.WENJU_STORE,
+ Constants.FOOD_STORE,
+ Constants.SHOUSHI_STORE,
+ };
+ private List page_data;
+ private GoodsListAdapter adapter1;
+ private DrawerLayout dl_left;
+
+ private void findViews() {
+ llGoodsListHead = (LinearLayout) findViewById(R.id.ll_goods_list_head);
+ ibGoodsListBack = (ImageButton) findViewById(R.id.ib_goods_list_back);
+ tvGoodsListSearch = (TextView) findViewById(R.id.tv_goods_list_search);
+ ibGoodsListHome = (ImageButton) findViewById(R.id.ib_goods_list_home);
+ tvGoodsListSort = (TextView) findViewById(R.id.tv_goods_list_sort);
+ llGoodsListPrice = (LinearLayout) findViewById(R.id.ll_goods_list_price);
+ tvGoodsListPrice = (TextView) findViewById(R.id.tv_goods_list_price);
+ ivGoodsListArrow = (ImageView) findViewById(R.id.iv_goods_list_arrow);
+ tvGoodsListSelect = (TextView) findViewById(R.id.tv_goods_list_select);
+ recyclerview = (RecyclerView) findViewById(R.id.recyclerview);
+
+ ll_select_root = (LinearLayout) findViewById(R.id.ll_select_root);
+ ll_price_root = (LinearLayout) findViewById(R.id.ll_price_root);
+ ll_theme_root = (LinearLayout) findViewById(R.id.ll_theme_root);
+ ll_type_root = (LinearLayout) findViewById(R.id.ll_type_root);
+
+ ib_drawer_layout_back = (ImageButton) findViewById(R.id.ib_drawer_layout_back);
+ btn_drawer_layout_confirm = (Button) findViewById(R.id.btn_drawer_layout_confirm);
+ btn_drawer_layout_cancel = (Button) findViewById(R.id.btn_drawer_layout_cancel);
+ btn_drawer_type_confirm = (Button) findViewById(R.id.btn_drawer_type_confirm);
+ btn_drawer_type_cancel = (Button) findViewById(R.id.btn_drawer_type_cancel);
+ btn_drawer_theme_confirm = (Button) findViewById(R.id.btn_drawer_theme_confirm);
+ btn_drawer_theme_cancel = (Button) findViewById(R.id.btn_drawer_theme_cancel);
+
+ rl_select_price = (RelativeLayout) findViewById(R.id.rl_select_price);
+ rl_select_recommend_theme = (RelativeLayout) findViewById(R.id.rl_select_recommend_theme);
+ rl_select_type = (RelativeLayout) findViewById(R.id.rl_select_type);
+ rl_price_30_50 = (RelativeLayout) findViewById(R.id.rl_price_30_50);
+ rl_theme_note = (RelativeLayout) findViewById(R.id.rl_theme_note);
+ dl_left = (DrawerLayout) findViewById(R.id.dl_left);
+
+ ibGoodsListBack.setOnClickListener(this);
+ ibGoodsListHome.setOnClickListener(this);
+ tvGoodsListSearch.setOnClickListener(this);
+ llGoodsListPrice.setOnClickListener(this);
+ tvGoodsListSort.setOnClickListener(this);
+ tvGoodsListSelect.setOnClickListener(this);
+ ib_drawer_layout_back.setOnClickListener(this);
+
+ rl_select_price.setOnClickListener(this);
+ rl_select_recommend_theme.setOnClickListener(this);
+ rl_select_type.setOnClickListener(this);
+
+ btn_drawer_layout_confirm.setOnClickListener(this);
+ btn_drawer_layout_cancel.setOnClickListener(this);
+ btn_drawer_type_confirm.setOnClickListener(this);
+ btn_drawer_type_cancel.setOnClickListener(this);
+ btn_drawer_theme_confirm.setOnClickListener(this);
+ btn_drawer_theme_cancel.setOnClickListener(this);
+
+ rl_price_30_50.setOnClickListener(this);
+ rl_theme_note.setOnClickListener(this);
+
+ listView = (ExpandableListView) findViewById(R.id.expandableListView);
+
+ }
+
+
+ @Override
+ public void onClick(View v) {
+ if (v == ibGoodsListBack) {
+ finish();
+ } else if (v == ibGoodsListHome) {
+// Intent intent = new Intent(this, MainActivity.class);
+// startActivity(intent);
+ Constants.isBackHome = true;
+ finish();
+ } else if (v == tvGoodsListSearch) {
+ Toast.makeText(GoodsListActivity.this, "搜索", Toast.LENGTH_SHORT).show();
+ } else if (v == llGoodsListPrice) {
+ //价格点击事件
+ click_count++;
+ //综合排序变为默认
+ tvGoodsListSort.setTextColor(Color.parseColor("#333538"));
+ //价格红
+ tvGoodsListPrice.setTextColor(Color.parseColor("#ed4141"));
+ if (click_count % 2 == 1) {
+ // 箭头向下红
+ ivGoodsListArrow.setBackgroundResource(R.drawable.new_price_sort_desc);
+ } else {
+ // 箭头向上红
+ ivGoodsListArrow.setBackgroundResource(R.drawable.new_price_sort_asc);
+ }
+ } else if (v == tvGoodsListSort) {
+ //综合排序点击事件
+ click_count = 0;
+ ivGoodsListArrow.setBackgroundResource(R.drawable.new_price_sort_normal);
+ tvGoodsListPrice.setTextColor(Color.parseColor("#333538"));
+ tvGoodsListSort.setTextColor(Color.parseColor("#ed4141"));
+ } else if (v == tvGoodsListSelect) {
+ //筛选的点击事件
+ tvGoodsListSelect.setTextColor(Color.parseColor("#ed4141"));
+ dl_left.openDrawer(Gravity.RIGHT);
+
+ } else if (v == rl_select_price) {
+ //价格筛选的页面
+ ll_price_root.setVisibility(View.VISIBLE);
+ ib_drawer_layout_back.setVisibility(View.GONE);
+
+ showPriceLayout();
+ } else if (v == rl_select_recommend_theme) {
+ ll_theme_root.setVisibility(View.VISIBLE);
+ ib_drawer_layout_back.setVisibility(View.GONE);
+
+ showThemeLayout();
+ } else if (v == rl_select_type) {
+ ll_type_root.setVisibility(View.VISIBLE);
+ ib_drawer_layout_back.setVisibility(View.GONE);
+
+ showTypeLayout();
+ } else if (v == ib_drawer_layout_back) {
+ dl_left.closeDrawers();
+ } else if (v == btn_drawer_layout_cancel) {
+ Toast.makeText(GoodsListActivity.this, "取消", Toast.LENGTH_SHORT).show();
+
+ ll_select_root.setVisibility(View.VISIBLE);
+ ib_drawer_layout_back.setVisibility(View.VISIBLE);
+ showSelectorLayout();
+ } else if (v == btn_drawer_layout_confirm) {
+ Toast.makeText(GoodsListActivity.this, "确认", Toast.LENGTH_SHORT).show();
+ } else if (v == rl_price_30_50) {
+ Toast.makeText(GoodsListActivity.this, "123123123", Toast.LENGTH_SHORT).show();
+ } else if (v == rl_theme_note) {
+ Toast.makeText(GoodsListActivity.this, "123123123", Toast.LENGTH_SHORT).show();
+ } else if (v == btn_drawer_type_confirm) {
+ Toast.makeText(GoodsListActivity.this, "确认", Toast.LENGTH_SHORT).show();
+ } else if (v == btn_drawer_type_cancel) {
+ Toast.makeText(GoodsListActivity.this, "取消", Toast.LENGTH_SHORT).show();
+ ll_select_root.setVisibility(View.VISIBLE);
+ ib_drawer_layout_back.setVisibility(View.VISIBLE);
+ showSelectorLayout();
+ } else if (v == btn_drawer_theme_confirm) {
+ Toast.makeText(GoodsListActivity.this, "确认", Toast.LENGTH_SHORT).show();
+ } else if (v == btn_drawer_theme_cancel) {
+ ll_select_root.setVisibility(View.VISIBLE);
+ ib_drawer_layout_back.setVisibility(View.VISIBLE);
+ showSelectorLayout();
+ }
+
+
+ }
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_goods_list);
+ findViews();
+
+ Intent intent = getIntent();
+ position = intent.getIntExtra("position", -1);
+
+ getDataFromNet();
+ ll_select_root.setVisibility(View.VISIBLE);
+ ib_drawer_layout_back.setVisibility(View.VISIBLE);
+ showSelectorLayout();
+
+ initListener();
+ }
+
+ private void initListener() {
+ /* listView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
+ @Override
+ public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
+ Toast.makeText(GoodsListActivity.this, "childPosition" + childPosition, Toast.LENGTH_SHORT).show();
+ childP = childPosition;
+ adapter.notifyDataSetChanged();
+ return false;
+ }
+ });
+
+ listView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
+ @Override
+ public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
+ Toast.makeText(GoodsListActivity.this, "groupPosition" + groupPosition, Toast.LENGTH_SHORT).show();
+ groupP = groupPosition;
+ adapter.notifyDataSetChanged();
+ return false;
+ }
+ });
+
+ listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> parent, View view, int position, long id) {
+ Toast.makeText(GoodsListActivity.this, "position---" + position, Toast.LENGTH_SHORT).show();
+ }
+ });*/
+ }
+
+
+ //筛选页面
+ private void showSelectorLayout() {
+ ll_price_root.setVisibility(View.GONE);
+ ll_theme_root.setVisibility(View.GONE);
+ ll_type_root.setVisibility(View.GONE);
+ }
+
+ //价格页面
+ private void showPriceLayout() {
+ ll_select_root.setVisibility(View.GONE);
+ ll_theme_root.setVisibility(View.GONE);
+ ll_type_root.setVisibility(View.GONE);
+ }
+
+ //主题页面
+ private void showThemeLayout() {
+ ll_select_root.setVisibility(View.GONE);
+ ll_price_root.setVisibility(View.GONE);
+ ll_type_root.setVisibility(View.GONE);
+ }
+
+ //类别页面
+ private void showTypeLayout() {
+ ll_select_root.setVisibility(View.GONE);
+ ll_price_root.setVisibility(View.GONE);
+ ll_theme_root.setVisibility(View.GONE);
+
+ //初始化ExpandableListView
+ initExpandableListView();
+ adapter = new ExpandableListViewAdapter(this, group, child);
+ listView.setAdapter(adapter);
+ }
+
+ private void initExpandableListView() {
+ group = new ArrayList<>();
+ child = new ArrayList<>();
+ //去掉默认箭头
+ listView.setGroupIndicator(null);
+ addInfo("全部", new String[]{});
+ addInfo("上衣", new String[]{"古风", "和风", "lolita", "日常"});
+ addInfo("下装", new String[]{"日常", "泳衣", "汉风", "lolita", "创意T恤"});
+ addInfo("外套", new String[]{"汉风", "古风", "lolita", "胖次", "南瓜裤", "日常"});
+
+ // 这里是控制如果列表没有孩子菜单不展开的效果
+ listView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
+ @Override
+ public boolean onGroupClick(ExpandableListView parent,
+ View v, int groupPosition, long id) {
+ if (child.get(groupPosition).isEmpty()) {// isEmpty没有
+ return true;
+ } else {
+ return false;
+ }
+ }
+ });
+ }
+
+ /**
+ * 添加数据信息
+ *
+ * @param g
+ * @param c
+ */
+ private void addInfo(String g, String[] c) {
+ group.add(g);
+ List list = new ArrayList();
+ for (int i = 0; i < c.length; i++) {
+ list.add(c[i]);
+ }
+ child.add(list);
+ }
+
+
+ public void getDataFromNet() {
+ OkHttpUtils
+ .get()
+ .url(urls[position])
+ .id(100)
+ .build()
+ .execute(new MyStringCallback());
+ }
+
+ public class MyStringCallback extends StringCallback {
+
+
+ @Override
+ public void onBefore(Request request, int id) {
+ }
+
+ @Override
+ public void onAfter(int id) {
+ }
+
+ @Override
+ public void onError(Call call, Exception e, int id) {
+ Log.e("TAG", "联网失败" + e.getMessage());
+ }
+
+ @Override
+ public void onResponse(String response, int id) {
+
+ switch (id) {
+ case 100:
+// Toast.makeText(GoodsListActivity.this, "http", Toast.LENGTH_SHORT).show();
+ if (response != null) {
+ processData(response);
+ GridLayoutManager manager = new GridLayoutManager(GoodsListActivity.this, 2);
+ recyclerview.setLayoutManager(manager);
+ adapter1 = new GoodsListAdapter(GoodsListActivity.this, page_data);
+// recyclerview.addItemDecoration(new DividerItemDecoration(GoodsListActivity.this, manager.getOrientation()));
+ recyclerview.addItemDecoration(new SpaceItemDecoration(10));
+ recyclerview.setAdapter(adapter1);
+
+ adapter1.setOnItemClickListener(new GoodsListAdapter.OnItemClickListener() {
+ @Override
+ public void setOnItemClickListener(TypeListBean.ResultBean.PageDataBean data) {
+ String name = data.getName();
+ String cover_price = data.getCover_price();
+ String figure = data.getFigure();
+ String product_id = data.getProduct_id();
+
+ GoodsBean goodsBean = new GoodsBean(name, cover_price, figure, product_id);
+ Intent intent = new Intent(GoodsListActivity.this, GoodsInfoActivity.class);
+ intent.putExtra("goods_bean", goodsBean);
+ startActivity(intent);
+ }
+ });
+ }
+ break;
+ case 101:
+ Toast.makeText(GoodsListActivity.this, "https", Toast.LENGTH_SHORT).show();
+ break;
+ }
+ }
+
+ }
+
+ private void processData(String response) {
+ Gson gson = new Gson();
+ TypeListBean typeListBean = gson.fromJson(response, TypeListBean.class);
+ page_data = typeListBean.getResult().getPage_data();
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/ChannelAdapter.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/ChannelAdapter.java
new file mode 100644
index 0000000..7e04fec
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/ChannelAdapter.java
@@ -0,0 +1,75 @@
+package com.atguigu.shoppingmall.home.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.home.bean.ResultBean;
+import com.atguigu.shoppingmall.utils.Constants;
+import com.bumptech.glide.Glide;
+
+import java.util.List;
+
+import butterknife.Bind;
+import butterknife.ButterKnife;
+
+
+public class ChannelAdapter extends BaseAdapter {
+ private Context mContext;
+ private List channel_info;
+
+ public ChannelAdapter(Context mContext, List channel_info) {
+ this.mContext = mContext;
+ this.channel_info = channel_info;
+ }
+
+
+ @Override
+ public int getCount() {
+ return channel_info == null ? 0 : channel_info.size();
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return channel_info.get(position);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ ViewHolder holer;
+ if (convertView == null) {
+ convertView = View.inflate(mContext, R.layout.item_channel, null);
+ holer = new ViewHolder(convertView);
+ convertView.setTag(holer);
+ } else {
+ holer = (ViewHolder) convertView.getTag();
+ }
+
+ ResultBean.ChannelInfoBean channelInfoBean = channel_info.get(position);
+ holer.tvChannel.setText(channelInfoBean.getChannel_name());
+ Glide.with(mContext)
+ .load(Constants.BASE_URl_IMAGE +channelInfoBean.getImage())
+ .into(holer.ivChannel);
+ return convertView;
+ }
+
+ class ViewHolder {
+ @Bind(R.id.iv_channel)
+ ImageView ivChannel;
+ @Bind(R.id.tv_channel)
+ TextView tvChannel;
+
+ ViewHolder(View view) {
+ ButterKnife.bind(this, view);
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/ExpandableListViewAdapter.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/ExpandableListViewAdapter.java
new file mode 100644
index 0000000..ea86432
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/ExpandableListViewAdapter.java
@@ -0,0 +1,136 @@
+package com.atguigu.shoppingmall.home.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseExpandableListAdapter;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.home.activity.GoodsListActivity;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+
+public class ExpandableListViewAdapter extends BaseExpandableListAdapter {
+ private Context context;
+ private List group;
+ private List> child;
+ private GoodsListActivity goodsListActivity;
+ private int childP;
+ private int groupP;
+
+ public ExpandableListViewAdapter(GoodsListActivity context, ArrayList group, ArrayList> child) {
+ this.context = context;
+ this.group = group;
+ this.child = child;
+ goodsListActivity = new GoodsListActivity();
+ }
+
+ @Override
+ public int getGroupCount() {
+ return group.size();
+ }
+
+ @Override
+ public int getChildrenCount(int groupPosition) {
+ return child.size();
+ }
+
+ @Override
+ public Object getGroup(int groupPosition) {
+ return group.get(groupPosition);
+ }
+
+ @Override
+ public Object getChild(int groupPosition, int childPosition) {
+ return child.get(childPosition).get(childPosition);
+ }
+
+ @Override
+ public long getGroupId(int groupPosition) {
+ return groupPosition;
+ }
+
+ @Override
+ public long getChildId(int groupPosition, int childPosition) {
+ return childPosition;
+ }
+
+ @Override
+ public boolean hasStableIds() {
+ return true;
+ }
+
+ @Override
+ public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
+ ViewHolder holder;
+ if (convertView == null) {
+ convertView = LayoutInflater.from(context).inflate(R.layout.group_list_item, null);
+ holder = new ViewHolder();
+ holder.textView = (TextView) convertView.findViewById(R.id.textView);
+ holder.imageView = (ImageView) convertView.findViewById(R.id.imageView);
+ convertView.setTag(holder);
+ } else {
+ holder = (ViewHolder) convertView.getTag();
+ }
+ holder.textView.setText(group.get(groupPosition));
+ // holder.textView.setTextSize(20);
+ holder.textView.setPadding(0, 10, 0, 10);
+ if (isExpanded) {
+ holder.imageView.setImageResource(R.drawable.filter_list_selected);
+ } else {
+ holder.imageView.setImageResource(R.drawable.filter_list_unselected);
+ }
+ return convertView;
+
+ }
+
+ @Override
+ public View getChildView(int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
+ final ViewHolder holder;
+ if (convertView == null) {
+ convertView = LayoutInflater.from(context).inflate(R.layout.child_list_item, null);
+ holder = new ViewHolder();
+ holder.textView = (TextView) convertView.findViewById(R.id.textView);
+ holder.childImageView = (ImageView) convertView.findViewById(R.id.childImageView);
+ holder.ll_child_root = (LinearLayout) convertView.findViewById(R.id.ll_child_root);
+ convertView.setTag(holder);
+ } else {
+ holder = (ViewHolder) convertView.getTag();
+ }
+ if (groupPosition != 0) {
+ holder.textView.setText(child.get(groupPosition).get(childPosition));
+ }
+
+ // Toast.makeText(context, "childP" + childP + " " + groupP, Toast.LENGTH_SHORT).show();
+ if (childP == childPosition && groupP == groupPosition) {
+ holder.childImageView.setVisibility(View.VISIBLE);
+ notifyDataSetChanged();
+ } else {
+ holder.childImageView.setVisibility(View.GONE);
+ notifyDataSetChanged();
+ }
+
+ return convertView;
+ }
+
+ @Override
+ public boolean isChildSelectable(int groupPosition, int childPosition) {
+ childP = childPosition;
+ groupP = groupPosition;
+ return true;
+ }
+
+ class ViewHolder {
+ TextView textView;
+ ImageView imageView;
+ ImageView childImageView;
+ LinearLayout ll_child_root;
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/GoodsListAdapter.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/GoodsListAdapter.java
new file mode 100644
index 0000000..4b79cd7
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/GoodsListAdapter.java
@@ -0,0 +1,87 @@
+package com.atguigu.shoppingmall.home.adapter;
+
+import android.content.Context;
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.home.activity.GoodsListActivity;
+import com.atguigu.shoppingmall.home.bean.TypeListBean;
+import com.atguigu.shoppingmall.utils.Constants;
+import com.bumptech.glide.Glide;
+
+import java.util.List;
+
+
+public class GoodsListAdapter extends RecyclerView.Adapter {
+
+ private Context mContext;
+ private List page_data;
+
+ public GoodsListAdapter(GoodsListActivity mContext, List page_data) {
+ this.mContext = mContext;
+ this.page_data = page_data;
+ }
+
+ @Override
+ public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+ return new ViewHolder(View.inflate(mContext, R.layout.item_goods_list_adapter, null));
+ }
+
+ @Override
+ public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
+ ViewHolder viewHolder = (ViewHolder) holder;
+ viewHolder.setData(page_data.get(position));
+
+ }
+
+ @Override
+ public int getItemCount() {
+ return page_data.size();
+ }
+
+ class ViewHolder extends RecyclerView.ViewHolder {
+ private ImageView iv_hot;
+ private TextView tv_name;
+ private TextView tv_price;
+ private TypeListBean.ResultBean.PageDataBean data;
+
+ public ViewHolder(View itemView) {
+ super(itemView);
+ iv_hot = (ImageView) itemView.findViewById(R.id.iv_hot);
+ tv_name = (TextView) itemView.findViewById(R.id.tv_name);
+ tv_price = (TextView) itemView.findViewById(R.id.tv_price);
+
+ itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (onItemClickListener != null) {
+ onItemClickListener.setOnItemClickListener(data);
+ }
+ }
+ });
+ }
+
+ public void setData(TypeListBean.ResultBean.PageDataBean data) {
+ Glide.with(mContext).load(Constants.BASE_URl_IMAGE +data.getFigure()).into(iv_hot);
+ tv_name.setText(data.getName());
+ tv_price.setText("¥" + data.getCover_price());
+ this.data = data;
+
+ }
+ }
+
+
+ private OnItemClickListener onItemClickListener;
+
+ public interface OnItemClickListener {
+ void setOnItemClickListener(TypeListBean.ResultBean.PageDataBean data);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
+ this.onItemClickListener = onItemClickListener;
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/HomeRecycleAdapter.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/HomeRecycleAdapter.java
new file mode 100644
index 0000000..b24e7a3
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/HomeRecycleAdapter.java
@@ -0,0 +1,486 @@
+package com.atguigu.shoppingmall.home.adapter;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Handler;
+import android.os.Message;
+import android.support.v4.view.PagerAdapter;
+import android.support.v4.view.ViewPager;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.GridView;
+import android.widget.ImageView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.app.GoodsInfoActivity;
+import com.atguigu.shoppingmall.home.activity.GoodsListActivity;
+import com.atguigu.shoppingmall.home.bean.GoodsBean;
+import com.atguigu.shoppingmall.home.bean.ResultBean;
+import com.atguigu.shoppingmall.home.uitls.AlphaPageTransformer;
+import com.atguigu.shoppingmall.home.uitls.ScaleInTransformer;
+import com.atguigu.shoppingmall.utils.Constants;
+import com.bumptech.glide.Glide;
+import com.youth.banner.Banner;
+import com.youth.banner.BannerConfig;
+import com.youth.banner.Transformer;
+import com.youth.banner.listener.OnBannerClickListener;
+import com.youth.banner.listener.OnLoadImageListener;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+
+public class HomeRecycleAdapter extends RecyclerView.Adapter {
+
+ public static final String GOODS_BEAN = "goods_bean";
+ /**
+ * 上下文
+ */
+ private Context mContext;
+ /**
+ * 数据Bean对象
+ */
+ private ResultBean resultBean;
+ /**
+ * 五种类型
+ */
+ /**
+ * 横幅广告
+ */
+ public static final int BANNER = 0;
+ /**
+ * 频道
+ */
+ public static final int CHANNEL = 1;
+
+ /**
+ * 活动
+ */
+ public static final int ACT = 2;
+
+ /**
+ * 秒杀
+ */
+ public static final int SECKILL = 3;
+ /**
+ * 推荐
+ */
+ public static final int RECOMMEND = 4;
+ /**
+ * 热卖
+ */
+ public static final int HOT = 5;
+
+ /**
+ * 当前类型
+ */
+ public int currentType = BANNER;
+ private final LayoutInflater mLayoutInflater;
+
+
+
+ public HomeRecycleAdapter(Context mContext, ResultBean resultBean) {
+ this.mContext = mContext;
+ this.resultBean = resultBean;
+ mLayoutInflater = LayoutInflater.from(mContext);
+ }
+
+ /**
+ * 根据位置得到类型-系统调用
+ * @param position
+ * @return
+ */
+ @Override
+ public int getItemViewType(int position) {
+ switch (position) {
+ case BANNER:
+ currentType = BANNER;
+ break;
+ case CHANNEL:
+ currentType = CHANNEL;
+ break;
+ case ACT:
+ currentType = ACT;
+ break;
+ case SECKILL:
+ currentType = SECKILL;
+ break;
+ case RECOMMEND:
+ currentType = RECOMMEND;
+ break;
+ case HOT:
+ currentType = HOT;
+ break;
+ }
+ return currentType;
+ }
+
+ /**
+ * 返回总条数,共六种类型
+ * @return
+ */
+ @Override
+ public int getItemCount() {
+ return 6;
+ }
+
+ @Override
+ public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+ if (viewType == BANNER) {
+ return new BannerViewHolder(mLayoutInflater.inflate(R.layout.banner_viewpager, null), mContext, resultBean);
+ } else if (viewType == CHANNEL) {
+ return new ChannelViewHolder(mLayoutInflater.inflate(R.layout.channel_item, null), mContext);
+ } else if (viewType == ACT) {
+ return new ActViewHolder(mLayoutInflater.inflate(R.layout.act_item, null), mContext);
+ } else if (viewType == SECKILL) {
+ return new SeckillViewHolder(mLayoutInflater.inflate(R.layout.seckill_item, null), mContext);
+ } else if (viewType == RECOMMEND) {
+ return new RecommendViewHolder(mLayoutInflater.inflate(R.layout.recommend_item, null), mContext);
+ } else if (viewType == HOT) {
+ return new HotViewHolder(mLayoutInflater.inflate(R.layout.hot_item, null), mContext);
+ }
+ return null;
+ }
+
+ /**
+ * 绑定数据
+ * @param holder
+ * @param position
+ */
+ @Override
+ public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
+ if (getItemViewType(position) == BANNER) {
+ BannerViewHolder bannerViewHolder = (BannerViewHolder) holder;
+ bannerViewHolder.setData(resultBean.getBanner_info());
+ } else if (getItemViewType(position) == CHANNEL) {
+ ChannelViewHolder channelViewHolder = (ChannelViewHolder) holder;
+ channelViewHolder.setData(resultBean.getChannel_info());
+ } else if (getItemViewType(position) == ACT) {
+ ActViewHolder actViewHolder = (ActViewHolder) holder;
+ actViewHolder.setData(resultBean.getAct_info());
+ } else if (getItemViewType(position) == SECKILL) {
+ SeckillViewHolder seckillViewHolder = (SeckillViewHolder) holder;
+ seckillViewHolder.setData(resultBean.getSeckill_info());
+ } else if (getItemViewType(position) == RECOMMEND) {
+ RecommendViewHolder recommendViewHolder = (RecommendViewHolder) holder;
+ recommendViewHolder.setData(resultBean.getRecommend_info());
+ } else if (getItemViewType(position) == HOT) {
+ HotViewHolder hotViewHolder = (HotViewHolder) holder;
+ hotViewHolder.setData(resultBean.getHot_info());
+ }
+ }
+
+ class HotViewHolder extends RecyclerView.ViewHolder {
+ private TextView tv_more_hot;
+ private GridView gv_hot;
+ private Context mContext;
+
+ public HotViewHolder(View itemView, Context mContext) {
+ super(itemView);
+ tv_more_hot = (TextView) itemView.findViewById(R.id.tv_more_hot);
+ gv_hot = (GridView) itemView.findViewById(R.id.gv_hot);
+ this.mContext = mContext;
+ }
+
+ public void setData(final List data) {
+ HotGridViewAdapter adapter = new HotGridViewAdapter(mContext, data);
+ gv_hot.setAdapter(adapter);
+
+ //点击事件
+ gv_hot.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> parent, View view, int position, long id) {
+ // Toast.makeText(mContext, "position:" + position, Toast.LENGTH_SHORT).show();
+ String cover_price = data.get(position).getCover_price();
+ String name = data.get(position).getName();
+ String figure = data.get(position).getFigure();
+ String product_id = data.get(position).getProduct_id();
+ GoodsBean goodsBean = new GoodsBean(name, cover_price, figure, product_id);
+
+ Intent intent = new Intent(mContext, GoodsInfoActivity.class);
+ intent.putExtra(GOODS_BEAN, goodsBean);
+ mContext.startActivity(intent);
+ }
+ });
+ }
+ }
+
+ class RecommendViewHolder extends RecyclerView.ViewHolder {
+ private TextView tv_more_recommend;
+ private GridView gv_recommend;
+ private Context mContext;
+
+ public RecommendViewHolder(View itemView, Context mContext) {
+ super(itemView);
+ tv_more_recommend = (TextView) itemView.findViewById(R.id.tv_more_recommend);
+ gv_recommend = (GridView) itemView.findViewById(R.id.gv_recommend);
+ this.mContext = mContext;
+ }
+
+ public void setData(final List data) {
+ RecommendGridViewAdapter adapter = new RecommendGridViewAdapter(mContext, data);
+ gv_recommend.setAdapter(adapter);
+
+ //点击事件
+ gv_recommend.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> parent, View view, int position, long id) {
+ //Toast.makeText(mContext, "position:" + position, Toast.LENGTH_SHORT).show();
+ String cover_price = data.get(position).getCover_price();
+ String name = data.get(position).getName();
+ String figure = data.get(position).getFigure();
+ String product_id = data.get(position).getProduct_id();
+ GoodsBean goodsBean = new GoodsBean(name, cover_price, figure, product_id);
+//
+ Intent intent = new Intent(mContext, GoodsInfoActivity.class);
+ intent.putExtra(GOODS_BEAN, goodsBean);
+ mContext.startActivity(intent);
+ }
+ });
+ }
+ }
+
+ private boolean isFirst = true;
+ private TextView tvTime;
+ private int dt;
+ private Handler handler = new Handler() {
+ @Override
+ public void handleMessage(Message msg) {
+ if (msg.what == 0) {
+ dt = dt - 1000;
+ SimpleDateFormat sd = new SimpleDateFormat("HH:mm:ss");
+ tvTime.setText(sd.format(new Date(dt)));
+
+ handler.removeMessages(0);
+ handler.sendEmptyMessageDelayed(0, 1000);
+ if (dt == 0) {
+ handler.removeMessages(0);
+ }
+ }
+
+ }
+ };
+
+ class SeckillViewHolder extends RecyclerView.ViewHolder {
+ private TextView tvMore;
+ private RecyclerView recyclerView;
+ public Context mContext;
+
+ public SeckillViewHolder(View itemView, Context mContext) {
+ super(itemView);
+ tvTime = (TextView) itemView.findViewById(R.id.tv_time_seckill);
+ tvMore = (TextView) itemView.findViewById(R.id.tv_more_seckill);
+ recyclerView = (RecyclerView) itemView.findViewById(R.id.rv_seckill);
+ this.mContext = mContext;
+ }
+
+
+ public void setData(final ResultBean.SeckillInfoBean data) {
+ //设置时间
+ if (isFirst) {
+// dt = (int) (Integer.parseInt(data.getEnd_time()) - System.currentTimeMillis());
+ dt = (int) (Integer.parseInt(data.getEnd_time()) - (Integer.parseInt(data.getStart_time())));
+ isFirst = false;
+ }
+
+ //设置RecyclerView
+ recyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
+ SeckillRecyclerViewAdapter adapter = new SeckillRecyclerViewAdapter(mContext, data);
+ recyclerView.setAdapter(adapter);
+
+ //倒计时
+ handler.sendEmptyMessageDelayed(0, 1000);
+
+ //点击事件
+ adapter.setOnSeckillRecyclerView(new SeckillRecyclerViewAdapter.OnSeckillRecyclerView() {
+ @Override
+ public void onClick(int position) {
+ ResultBean.SeckillInfoBean.ListBean listBean = data.getList().get(position);
+ String name = listBean.getName();
+ String cover_price = listBean.getCover_price();
+ String figure = listBean.getFigure();
+ String product_id = listBean.getProduct_id();
+ GoodsBean goodsBean = new GoodsBean(name, cover_price, figure, product_id);
+//
+ Intent intent = new Intent(mContext, GoodsInfoActivity.class);
+ intent.putExtra(GOODS_BEAN, goodsBean);
+ mContext.startActivity(intent);
+
+ // Toast.makeText(mContext, "position:" + position, Toast.LENGTH_SHORT).show();
+ }
+ });
+
+ }
+ }
+
+ class ActViewHolder extends RecyclerView.ViewHolder {
+ public ViewPager actViewPager;
+ public Context mContext;
+
+ public ActViewHolder(View itemView, Context mContext) {
+ super(itemView);
+ actViewPager = (ViewPager) itemView.findViewById(R.id.act_viewpager);
+ this.mContext = mContext;
+ }
+
+ public void setData(final List data) {
+ actViewPager.setPageMargin(20);
+ actViewPager.setOffscreenPageLimit(3);
+ actViewPager.setPageTransformer(true, new AlphaPageTransformer(new ScaleInTransformer()));
+
+ actViewPager.setAdapter(new PagerAdapter() {
+ @Override
+ public int getCount() {
+ return data.size();
+ }
+
+ @Override
+ public boolean isViewFromObject(View view, Object object) {
+ return view == object;
+ }
+
+ @Override
+ public Object instantiateItem(ViewGroup container, int position) {
+ ImageView view = new ImageView(mContext);
+ view.setScaleType(ImageView.ScaleType.FIT_XY);
+ //绑定数据
+ Glide.with(mContext)
+ .load(Constants.BASE_URl_IMAGE + data.get(position).getIcon_url())
+ .into(view);
+ container.addView(view);
+ return view;
+ }
+
+ @Override
+ public void destroyItem(ViewGroup container, int position, Object object) {
+ container.removeView((View) object);
+ }
+ });
+
+ //点击事件
+ actViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
+ @Override
+ public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+
+ }
+
+ @Override
+ public void onPageSelected(int position) {
+ Toast.makeText(mContext, "position:" + position, Toast.LENGTH_SHORT).show();
+ }
+
+ @Override
+ public void onPageScrollStateChanged(int state) {
+
+ }
+ });
+ }
+ }
+
+ class ChannelViewHolder extends RecyclerView.ViewHolder {
+ public GridView gvChannel;
+ public Context mContext;
+
+ public ChannelViewHolder(View itemView, Context mContext) {
+ super(itemView);
+ gvChannel = (GridView) itemView.findViewById(R.id.gv_channel);
+ this.mContext = mContext;
+ }
+
+ public void setData(final List channel_info) {
+ gvChannel.setAdapter(new ChannelAdapter(mContext, channel_info));
+
+ //点击事件
+ gvChannel.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> parent, View view, int position, long id) {
+ if (position <= 8) {
+ Intent intent = new Intent(mContext, GoodsListActivity.class);
+ intent.putExtra("position", position);
+ mContext.startActivity(intent);
+ } else {
+
+ }
+ }
+ });
+ }
+
+ }
+
+ class BannerViewHolder extends RecyclerView.ViewHolder {
+ public Banner banner;
+ public Context mContext;
+ public ResultBean resultBean;
+
+ public BannerViewHolder(View itemView, Context context, ResultBean resultBean) {
+ super(itemView);
+ banner = (Banner) itemView.findViewById(R.id.banner);
+ this.mContext = context;
+ this.resultBean = resultBean;
+ }
+
+ public void setData(final List banner_info) {
+
+ banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);
+ //如果你想用自己项目的图片加载,那么----->自定义图片加载框架
+ List imageUris = new ArrayList<>();
+ for (int i = 0; i < resultBean.getBanner_info().size(); i++) {
+ imageUris.add(resultBean.getBanner_info().get(i).getImage());
+ }
+ banner.setBannerAnimation(Transformer.Accordion);
+ banner.setImages(imageUris, new OnLoadImageListener() {
+ @Override
+ public void OnLoadImage(ImageView view, Object url) {
+ /**
+ * 这里你可以根据框架灵活设置
+ */
+ Glide.with(mContext)
+ .load(Constants.BASE_URl_IMAGE + url)
+ .into(view);
+ }
+ });
+ //设置点击事件
+ banner.setOnBannerClickListener(new OnBannerClickListener() {
+ @Override
+ public void OnBannerClick(int position) {
+ if(position - 1 < banner_info.size()){
+ int option = banner_info.get(position - 1).getOption();
+ String product_id = "";
+ String name = "";
+ String cover_price = "";
+ if (position - 1 == 0) {
+ product_id = "627";
+ cover_price = "32.00";
+ name = "剑三T恤批发";
+ } else if (position - 1 == 1) {
+ product_id = "21";
+ cover_price = "8.00";
+ name = "同人原创】剑网3 剑侠情缘叁 Q版成男 口袋胸针";
+ } else {
+ product_id = "1341";
+ cover_price = "50.00";
+ name = "【蓝诺】《天下吾双》 剑网3同人本";
+ }
+ String image = banner_info.get(position - 1).getImage();
+ GoodsBean goodsBean = new GoodsBean(name, cover_price, image, product_id);
+
+ Intent intent = new Intent(mContext, GoodsInfoActivity.class);
+ intent.putExtra("goods_bean", goodsBean);
+ mContext.startActivity(intent);
+ }
+
+ }
+ });
+
+ }
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/HotGridViewAdapter.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/HotGridViewAdapter.java
new file mode 100644
index 0000000..a10353a
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/HotGridViewAdapter.java
@@ -0,0 +1,76 @@
+package com.atguigu.shoppingmall.home.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.home.bean.ResultBean;
+import com.atguigu.shoppingmall.utils.Constants;
+import com.bumptech.glide.Glide;
+
+import java.util.List;
+
+import butterknife.Bind;
+import butterknife.ButterKnife;
+
+public class HotGridViewAdapter extends BaseAdapter {
+ private Context mContext;
+ private List data;
+
+ public HotGridViewAdapter(Context mContext, List data) {
+ this.mContext = mContext;
+ this.data = data;
+ }
+
+ @Override
+ public int getCount() {
+ return data.size();
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return data.get(position);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ ViewHolder holder;
+ if (convertView == null) {
+ convertView = View.inflate(mContext, R.layout.item_hot_grid_view, null);
+ holder = new ViewHolder(convertView);
+ convertView.setTag(holder);
+ } else {
+ holder = (ViewHolder) convertView.getTag();
+ }
+
+ ResultBean.HotInfoBean hotInfoBean = data.get(position);
+ Glide.with(mContext)
+ .load(Constants.BASE_URl_IMAGE +hotInfoBean.getFigure())
+ .into(holder.ivHot);
+ holder.tvName.setText(hotInfoBean.getName());
+ holder.tvPrice.setText("¥" + hotInfoBean.getCover_price());
+ return convertView;
+ }
+
+ static class ViewHolder {
+ @Bind(R.id.iv_hot)
+ ImageView ivHot;
+ @Bind(R.id.tv_name)
+ TextView tvName;
+ @Bind(R.id.tv_price)
+ TextView tvPrice;
+
+ ViewHolder(View view) {
+ ButterKnife.bind(this, view);
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/RecommendGridViewAdapter.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/RecommendGridViewAdapter.java
new file mode 100644
index 0000000..dcdf3f7
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/RecommendGridViewAdapter.java
@@ -0,0 +1,78 @@
+package com.atguigu.shoppingmall.home.adapter;
+
+import android.content.Context;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.home.bean.ResultBean;
+import com.atguigu.shoppingmall.utils.Constants;
+import com.bumptech.glide.Glide;
+
+import java.util.List;
+
+import butterknife.Bind;
+import butterknife.ButterKnife;
+
+
+public class RecommendGridViewAdapter extends BaseAdapter {
+ private Context mContext;
+ private List data;
+
+ public RecommendGridViewAdapter(Context mContext, List data) {
+ this.mContext = mContext;
+ this.data = data;
+ }
+
+ @Override
+ public int getCount() {
+ return data.size();
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return data.get(position);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ ViewHolder holder;
+ if (convertView == null) {
+ convertView = View.inflate(mContext, R.layout.item_recommend_grid_view, null);
+ holder = new ViewHolder(convertView);
+ convertView.setTag(holder);
+ } else {
+ holder = (ViewHolder) convertView.getTag();
+ }
+
+ ResultBean.RecommendInfoBean recommendInfoBean = data.get(position);
+ Glide.with(mContext)
+ .load(Constants.BASE_URl_IMAGE +recommendInfoBean.getFigure())
+ .into(holder.ivRecommend);
+ holder.tvName.setText(recommendInfoBean.getName());
+ holder.tvPrice.setText("¥" + recommendInfoBean.getCover_price());
+ return convertView;
+ }
+
+ static class ViewHolder {
+ @Bind(R.id.iv_recommend)
+ ImageView ivRecommend;
+ @Bind(R.id.tv_name)
+ TextView tvName;
+ @Bind(R.id.tv_price)
+ TextView tvPrice;
+
+ ViewHolder(View view) {
+ ButterKnife.bind(this, view);
+
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/SeckillRecyclerViewAdapter.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/SeckillRecyclerViewAdapter.java
new file mode 100644
index 0000000..335c448
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/adapter/SeckillRecyclerViewAdapter.java
@@ -0,0 +1,90 @@
+package com.atguigu.shoppingmall.home.adapter;
+
+import android.content.Context;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.home.bean.ResultBean;
+import com.atguigu.shoppingmall.utils.Constants;
+import com.bumptech.glide.Glide;
+
+import java.util.List;
+
+
+public class SeckillRecyclerViewAdapter extends RecyclerView.Adapter {
+
+ private Context mContext;
+ private ResultBean.SeckillInfoBean data;
+ private final List list;
+
+ public SeckillRecyclerViewAdapter(Context mContext, ResultBean.SeckillInfoBean data) {
+ this.mContext = mContext;
+ this.data = data;
+ list = data.getList();
+ }
+
+ @Override
+ public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+ return new MyViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_seckill, null));
+ }
+
+ @Override
+ public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
+ MyViewHolder myViewHolder = (MyViewHolder) holder;
+ myViewHolder.setData(position);
+ }
+
+ @Override
+ public int getItemCount() {
+ return list.size();
+ }
+
+ class MyViewHolder extends RecyclerView.ViewHolder {
+ private ImageView ivFigure;
+ private TextView tvCoverPrice;
+ private TextView tvOriginPrice;
+ private LinearLayout ll_root;
+
+ public MyViewHolder(View itemView) {
+ super(itemView);
+ ivFigure = (ImageView) itemView.findViewById(R.id.iv_figure);
+ tvCoverPrice = (TextView) itemView.findViewById(R.id.tv_cover_price);
+ tvOriginPrice = (TextView) itemView.findViewById(R.id.tv_origin_price);
+ ll_root = (LinearLayout) itemView.findViewById(R.id.ll_root);
+ }
+
+ public void setData(final int position) {
+ ResultBean.SeckillInfoBean.ListBean listBean = list.get(position);
+ tvCoverPrice.setText("¥" + listBean.getCover_price());
+ tvOriginPrice.setText("¥" + listBean.getOrigin_price());
+ Glide.with(mContext)
+ .load(Constants.BASE_URl_IMAGE +listBean.getFigure())
+ .into(ivFigure);
+ ll_root.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ // Toast.makeText(mContext, "position" + position, Toast.LENGTH_SHORT).show();
+ if (onSeckillRecyclerView != null) {
+ onSeckillRecyclerView.onClick(position);
+ }
+ }
+ });
+ }
+ }
+
+ public interface OnSeckillRecyclerView {
+ void onClick(int position);
+ }
+
+ public void setOnSeckillRecyclerView(OnSeckillRecyclerView onSeckillRecyclerView) {
+ this.onSeckillRecyclerView = onSeckillRecyclerView;
+ }
+
+ private OnSeckillRecyclerView onSeckillRecyclerView;
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/bean/GoodsBean.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/bean/GoodsBean.java
new file mode 100644
index 0000000..ce93350
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/bean/GoodsBean.java
@@ -0,0 +1,104 @@
+package com.atguigu.shoppingmall.home.bean;
+
+import java.io.Serializable;
+
+/**
+ * child商品类
+ */
+public class GoodsBean implements Serializable {
+
+ private String name;
+ private String cover_price;
+ private String figure;
+ private String product_id;
+ private int number = 1;
+
+ /**
+ * 是否处于编辑状态
+ */
+ private boolean isEditing;
+ /**
+ * 是否被选中
+ */
+ private boolean isChildSelected;
+
+ public GoodsBean() {
+ }
+
+ public GoodsBean(String name, String cover_price, String figure, String product_id) {
+ this.name = name;
+ this.cover_price = cover_price;
+ this.figure = figure;
+ this.product_id = product_id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getCover_price() {
+ cover_price.substring(0, cover_price.length() - 1);
+ return cover_price;
+ }
+
+ public void setCover_price(String cover_price) {
+ this.cover_price = cover_price;
+ }
+
+ public String getFigure() {
+ return figure;
+ }
+
+ public void setFigure(String figure) {
+ this.figure = figure;
+ }
+
+ public String getProduct_id() {
+ return product_id;
+ }
+
+ public void setProduct_id(String product_id) {
+ this.product_id = product_id;
+ }
+
+ public boolean isEditing() {
+ return isEditing;
+ }
+
+ public void setIsEditing(boolean isEditing) {
+ this.isEditing = isEditing;
+ }
+
+ public boolean isChildSelected() {
+ return isChildSelected;
+ }
+
+ public void setIsChildSelected(boolean isChildSelected) {
+ this.isChildSelected = isChildSelected;
+ }
+
+ public int getNumber() {
+ return number;
+ }
+
+ public void setNumber(int number) {
+ this.number = number;
+ }
+
+ @Override
+ public String toString() {
+ return "GoodsBean{" +
+ "name='" + name + '\'' +
+ ", cover_price='" + cover_price + '\'' +
+ ", figure='" + figure + '\'' +
+ ", product_id='" + product_id + '\'' +
+ ", number=" + number +
+ ", isEditing=" + isEditing +
+ ", isChildSelected=" + isChildSelected +
+ '}';
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/bean/ResultBean.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/bean/ResultBean.java
new file mode 100644
index 0000000..38ea47b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/bean/ResultBean.java
@@ -0,0 +1,435 @@
+package com.atguigu.shoppingmall.home.bean;
+
+import com.alibaba.fastjson.JSONObject;
+
+import java.util.List;
+
+public class ResultBean extends JSONObject {
+
+ private SeckillInfoBean seckill_info;
+ private List banner_info;
+ private List channel_info;
+ private List act_info;
+ private List hot_info;
+ private List recommend_info;
+
+ public SeckillInfoBean getSeckill_info() {
+ return seckill_info;
+ }
+
+ public void setSeckill_info(SeckillInfoBean seckill_info) {
+ this.seckill_info = seckill_info;
+ }
+
+ public List getBanner_info() {
+ return banner_info;
+ }
+
+ public void setBanner_info(List banner_info) {
+ this.banner_info = banner_info;
+ }
+
+ public List getChannel_info() {
+ return channel_info;
+ }
+
+ public void setChannel_info(List channel_info) {
+ this.channel_info = channel_info;
+ }
+
+ public List getAct_info() {
+ return act_info;
+ }
+
+ public void setAct_info(List act_info) {
+ this.act_info = act_info;
+ }
+
+ public List getHot_info() {
+ return hot_info;
+ }
+
+ public void setHot_info(List hot_info) {
+ this.hot_info = hot_info;
+ }
+
+ public List getRecommend_info() {
+ return recommend_info;
+ }
+
+ public void setRecommend_info(List recommend_info) {
+ this.recommend_info = recommend_info;
+ }
+
+ public static class SeckillInfoBean {
+ private String start_time;
+ private String end_time;
+ private List list;
+
+ public String getStart_time() {
+ return start_time;
+ }
+
+ public void setStart_time(String start_time) {
+ this.start_time = start_time;
+ }
+
+ public String getEnd_time() {
+ return end_time;
+ }
+
+ public void setEnd_time(String end_time) {
+ this.end_time = end_time;
+ }
+
+ public List getList() {
+ return list;
+ }
+
+ public void setList(List list) {
+ this.list = list;
+ }
+
+ @Override
+ public String toString() {
+ return "SeckillInfoBean{" +
+ "start_time='" + start_time + '\'' +
+ ", end_time='" + end_time + '\'' +
+ ", list=" + list +
+ '}';
+ }
+
+ public static class ListBean {
+ private String product_id;
+ private String name;
+ private String cover_price;
+ private String origin_price;
+ private String figure;
+
+ public String getProduct_id() {
+ return product_id;
+ }
+
+ public void setProduct_id(String product_id) {
+ this.product_id = product_id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getCover_price() {
+ return cover_price;
+ }
+
+ public void setCover_price(String cover_price) {
+ this.cover_price = cover_price;
+ }
+
+ public String getOrigin_price() {
+ return origin_price;
+ }
+
+ public void setOrigin_price(String origin_price) {
+ this.origin_price = origin_price;
+ }
+
+ public String getFigure() {
+ return figure;
+ }
+
+ public void setFigure(String figure) {
+ this.figure = figure;
+ }
+ }
+ }
+
+ public static class BannerInfoBean {
+ private String image;
+ private int option;
+ private int type;
+ private ValueBean valueBean;
+
+ public String getImage() {
+ return image;
+ }
+
+ public void setImage(String image) {
+ this.image = image;
+ }
+
+ public int getOption() {
+ return option;
+ }
+
+ public void setOption(int option) {
+ this.option = option;
+ }
+
+ public int getType() {
+ return type;
+ }
+
+ public void setType(int type) {
+ this.type = type;
+ }
+
+ public ValueBean getValueBean() {
+ return valueBean;
+ }
+
+ public void setValueBean(ValueBean valueBean) {
+ this.valueBean = valueBean;
+ }
+
+ @Override
+ public String toString() {
+ return "BannerInfoBean{" +
+ "image='" + image + '\'' +
+ ", option=" + option +
+ ", type=" + type +
+ ", valueBean=" + valueBean +
+ '}';
+ }
+
+ public static class ValueBean {
+ private String url;
+ private String product_id;
+ private String brand_id;
+
+ @Override
+ public String toString() {
+ return "ValueBean{" +
+ "url='" + url + '\'' +
+ ", product_id='" + product_id + '\'' +
+ ", brand_id='" + brand_id + '\'' +
+ '}';
+ }
+
+ public String getUrl() {
+ return url;
+ }
+
+ public void setUrl(String url) {
+ this.url = url;
+ }
+
+ public String getProduct_id() {
+ return product_id;
+ }
+
+ public void setProduct_id(String product_id) {
+ this.product_id = product_id;
+ }
+
+ public String getBrand_id() {
+ return brand_id;
+ }
+
+ public void setBrand_id(String brand_id) {
+ this.brand_id = brand_id;
+ }
+ }
+ }
+
+ public static class ChannelInfoBean {
+ private int option;
+ private int type;
+ private String channel_name;
+ private String image;
+
+ private ValueBean value;
+
+ public int getOption() {
+ return option;
+ }
+
+ public void setOption(int option) {
+ this.option = option;
+ }
+
+ public int getType() {
+ return type;
+ }
+
+ public void setType(int type) {
+ this.type = type;
+ }
+
+ public String getChannel_name() {
+ return channel_name;
+ }
+
+ public void setChannel_name(String channel_name) {
+ this.channel_name = channel_name;
+ }
+
+ public String getImage() {
+ return image;
+ }
+
+ public void setImage(String image) {
+ this.image = image;
+ }
+
+
+ public static class ValueBean {
+ private String channel_id;
+
+ }
+
+ @Override
+ public String toString() {
+ return "ChannelInfoBean{" +
+ "option=" + option +
+ ", type=" + type +
+ ", channel_name='" + channel_name + '\'' +
+ ", image='" + image + '\'' +
+ ", value=" + value +
+ '}';
+ }
+ }
+
+ public static class ActInfoBean {
+ private String name;
+ private String icon_url;
+ private String url;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getIcon_url() {
+ return icon_url;
+ }
+
+ public void setIcon_url(String icon_url) {
+ this.icon_url = icon_url;
+ }
+
+ public String getUrl() {
+ return url;
+ }
+
+ public void setUrl(String url) {
+ this.url = url;
+ }
+
+ @Override
+ public String toString() {
+ return "ActInfoBean{" +
+ "name='" + name + '\'' +
+ ", icon_url='" + icon_url + '\'' +
+ ", url='" + url + '\'' +
+ '}';
+ }
+ }
+
+ public static class HotInfoBean {
+ private String product_id;
+ private String name;
+ private String cover_price;
+ private String figure;
+
+ public String getProduct_id() {
+ return product_id;
+ }
+
+ public void setProduct_id(String product_id) {
+ this.product_id = product_id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getCover_price() {
+ return cover_price;
+ }
+
+ public void setCover_price(String cover_price) {
+ this.cover_price = cover_price;
+ }
+
+ public String getFigure() {
+ return figure;
+ }
+
+ public void setFigure(String figure) {
+ this.figure = figure;
+ }
+
+ @Override
+ public String toString() {
+ return "HotInfoBean{" +
+ "product_id='" + product_id + '\'' +
+ ", name='" + name + '\'' +
+ ", cover_price='" + cover_price + '\'' +
+ ", figure='" + figure + '\'' +
+ '}';
+ }
+ }
+
+ public static class RecommendInfoBean {
+ private String product_id;
+ private String name;
+ private String cover_price;
+ private String figure;
+
+ public String getProduct_id() {
+ return product_id;
+ }
+
+ public void setProduct_id(String product_id) {
+ this.product_id = product_id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getCover_price() {
+ return cover_price;
+ }
+
+ public void setCover_price(String cover_price) {
+ this.cover_price = cover_price;
+ }
+
+ public String getFigure() {
+ return figure;
+ }
+
+ public void setFigure(String figure) {
+ this.figure = figure;
+ }
+
+ @Override
+ public String toString() {
+ return "RecommendInfoBean{" +
+ "product_id='" + product_id + '\'' +
+ ", name='" + name + '\'' +
+ ", cover_price='" + cover_price + '\'' +
+ ", figure='" + figure + '\'' +
+ '}';
+ }
+ }
+
+}
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/bean/TypeListBean.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/bean/TypeListBean.java
new file mode 100644
index 0000000..1864040
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/bean/TypeListBean.java
@@ -0,0 +1,222 @@
+package com.atguigu.shoppingmall.home.bean;
+
+import java.util.List;
+
+public class TypeListBean {
+
+ /**
+ * code : 200
+ * msg : 请求成功
+ * result : {"page_data":[{"product_id":"4183","origin_price":"29.00","channel_id":"12","brand_id":"77","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】猫爪子戒指 925银 开口指环 萌宠 喵星人耳朵","cover_price":"26.00","brief":"","figure":"http://f.p.cycangcdn.com/1453345346749.jpg","sell_time_start":"1453305600","sell_time_end":"1453910400"},{"product_id":"1752","origin_price":"68.00","channel_id":"12","brand_id":"3","p_catalog_id":"73","supplier_type":"1","supplier_code":"0","name":"剑网3门派衍生同人原创手链 ","cover_price":"68.00","brief":"","figure":"http://f.p.cycangcdn.com/1450754469244.jpg","sell_time_start":"1443024000","sell_time_end":"1443628800"},{"product_id":"4166","origin_price":"29.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】 925银耳钉 可爱小猫咪 喵星人 简约","cover_price":"19.00","brief":"","figure":"http://f.p.cycangcdn.com/1468403073978.jpg","sell_time_start":"1453132800","sell_time_end":"1453737600"},{"product_id":"4187","origin_price":"46.00","channel_id":"12","brand_id":"77","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】925银戒指 萌萌喵星人 磨砂猫咪开口指环","cover_price":"36.00","brief":"","figure":"http://f.p.cycangcdn.com/1453347248626.jpg","sell_time_start":"1453305600","sell_time_end":"1453910400"},{"product_id":"5140","origin_price":"99.00","channel_id":"12","brand_id":"77","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【honest首饰】 可爱小猫咪可调节苗银手镯","cover_price":"59.00","brief":"","figure":"http://f.p.cycangcdn.com/1457346160863.png","sell_time_start":"1457280000","sell_time_end":"1457884800"},{"product_id":"4279","origin_price":"35.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】925银戒指 清新 橄榄枝 【Peace & Love】 ","cover_price":"30.00","brief":"","figure":"http://f.p.cycangcdn.com/1453779326000.jpg","sell_time_start":"1453737600","sell_time_end":"1454342400"},{"product_id":"4186","origin_price":"19.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】925纯银戒指 爱的心电图 开口可调节指环","cover_price":"16.00","brief":"","figure":"http://f.p.cycangcdn.com/1453346941582.jpg","sell_time_start":"1453305600","sell_time_end":"1453910400"},{"product_id":"4277","origin_price":"30.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】925银戒指 丘比特的祝福 开口指环 【爱神之箭】","cover_price":"29.00","brief":"","figure":"http://f.p.cycangcdn.com/1453778675514.jpg","sell_time_start":"1453737600","sell_time_end":"1454342400"},{"product_id":"6036","origin_price":"29.00","channel_id":"12","brand_id":"77","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】925银戒指 线条 喵星人 概念猫耳戒指","cover_price":"25.00","brief":"","figure":"http://f.p.cycangcdn.com/1461122800918.jpg","sell_time_start":"1461081600","sell_time_end":"1461686400"},{"product_id":"4168","origin_price":"88.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】925银项链 天然贝壳 花朵镶水钻吊坠短款锁骨链","cover_price":"66.00","brief":"","figure":"http://f.p.cycangcdn.com/1453198627153.jpg","sell_time_start":"1453132800","sell_time_end":"1453737600"},{"product_id":"3322","origin_price":"15.00","channel_id":"12","brand_id":"279","p_catalog_id":"73","supplier_type":"1","supplier_code":"300004","name":"[禹屋原创]甜甜圈 猫咪 戒指 指环","cover_price":"15.00","brief":"内径18mm 合金材质 \r\n\r\n\u203b细节不是很完美哦~比方耳朵凹凸的地方会有模具的凹凸痕迹的~介意慎拍!!","figure":"http://f.p.cycangcdn.com/1449477606198.jpg","sell_time_start":"1449417600","sell_time_end":"1450022400"},{"product_id":"963","origin_price":"59.00","channel_id":"12","brand_id":"113","p_catalog_id":"73","supplier_type":"1","supplier_code":"1104001","name":"【幸运石】野良神耳钉 兆器 夜斗威娜 925银耳环","cover_price":"49.00","brief":"","figure":"http://f.p.cycangcdn.com/1458639478017.jpg","sell_time_start":"1440518400","sell_time_end":"1441123200"},{"product_id":"6321","origin_price":"99.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】可爱麋鹿个性吊坠 银项链","cover_price":"57.00","brief":"预售至8月12日噢,到货后按订单发货噢","figure":"http://f.p.cycangcdn.com/1468471318944.jpg","sell_time_start":"1462723200","sell_time_end":"1463328000"},{"product_id":"4147","origin_price":"39.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】 925银 莲花耳钉 清新气质 【荷语】","cover_price":"26.00","brief":"产品尺寸约0.9*0.9cm","figure":"http://f.p.cycangcdn.com/1453171909056.jpg","sell_time_start":"1453132800","sell_time_end":"1453737600"},{"product_id":"4992","origin_price":"189.00","channel_id":"12","brand_id":"334","p_catalog_id":"73","supplier_type":"2","supplier_code":"1902001","name":"【兰亭别院】三生树 古典盘发头饰剑三衍生发簪子长流苏发钗 ","cover_price":"98.00","brief":"","figure":"http://f.p.cycangcdn.com/1456988512335.jpg","sell_time_start":"1456934400","sell_time_end":"1457539200"},{"product_id":"4269","origin_price":"59.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】925银戒指 紧箍咒 简约开口戒指 可调节尾戒","cover_price":"30.00","brief":"","figure":"http://f.p.cycangcdn.com/1453774185159.jpg","sell_time_start":"1453737600","sell_time_end":"1454342400"},{"product_id":"3476","origin_price":"45.00","channel_id":"12","brand_id":"281","p_catalog_id":"71","supplier_type":"2","supplier_code":"100004","name":"【一方尘寰】和风重樱珍珠流苏簪","cover_price":"35.00","brief":"","figure":"http://f.p.cycangcdn.com/supplier/1449839522267.jpg","sell_time_start":"0","sell_time_end":"0"},{"product_id":"2652","origin_price":"199.00","channel_id":"12","brand_id":"9","p_catalog_id":"73","supplier_type":"2","supplier_code":"1104001","name":"【幸运石】魔卡少女樱项链 百变小樱 封印钥匙925银吊坠","cover_price":"89.00","brief":"","figure":"http://f.p.cycangcdn.com/1446801811626.jpg","sell_time_start":"1446739200","sell_time_end":"1447344000"},{"product_id":"7722","origin_price":"79.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【honest首饰】S925银 白金版 鹿角开口戒指","cover_price":"32.00","brief":"","figure":"http://f.p.cycangcdn.com/1467623589417.png","sell_time_start":"1467561600","sell_time_end":"1468166400"},{"product_id":"4185","origin_price":"50.50","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】925银 方形极光方糖项链 奥地利水晶吊坠 锁骨链","cover_price":"49.00","brief":"","figure":"http://f.p.cycangcdn.com/1453346076369.jpg","sell_time_start":"1453305600","sell_time_end":"1453910400"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}
+ */
+
+ private int code;
+ private String msg;
+ /**
+ * page_data : [{"product_id":"4183","origin_price":"29.00","channel_id":"12","brand_id":"77","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】猫爪子戒指 925银 开口指环 萌宠 喵星人耳朵","cover_price":"26.00","brief":"","figure":"http://f.p.cycangcdn.com/1453345346749.jpg","sell_time_start":"1453305600","sell_time_end":"1453910400"},{"product_id":"1752","origin_price":"68.00","channel_id":"12","brand_id":"3","p_catalog_id":"73","supplier_type":"1","supplier_code":"0","name":"剑网3门派衍生同人原创手链 ","cover_price":"68.00","brief":"","figure":"http://f.p.cycangcdn.com/1450754469244.jpg","sell_time_start":"1443024000","sell_time_end":"1443628800"},{"product_id":"4166","origin_price":"29.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】 925银耳钉 可爱小猫咪 喵星人 简约","cover_price":"19.00","brief":"","figure":"http://f.p.cycangcdn.com/1468403073978.jpg","sell_time_start":"1453132800","sell_time_end":"1453737600"},{"product_id":"4187","origin_price":"46.00","channel_id":"12","brand_id":"77","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】925银戒指 萌萌喵星人 磨砂猫咪开口指环","cover_price":"36.00","brief":"","figure":"http://f.p.cycangcdn.com/1453347248626.jpg","sell_time_start":"1453305600","sell_time_end":"1453910400"},{"product_id":"5140","origin_price":"99.00","channel_id":"12","brand_id":"77","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【honest首饰】 可爱小猫咪可调节苗银手镯","cover_price":"59.00","brief":"","figure":"http://f.p.cycangcdn.com/1457346160863.png","sell_time_start":"1457280000","sell_time_end":"1457884800"},{"product_id":"4279","origin_price":"35.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】925银戒指 清新 橄榄枝 【Peace & Love】 ","cover_price":"30.00","brief":"","figure":"http://f.p.cycangcdn.com/1453779326000.jpg","sell_time_start":"1453737600","sell_time_end":"1454342400"},{"product_id":"4186","origin_price":"19.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】925纯银戒指 爱的心电图 开口可调节指环","cover_price":"16.00","brief":"","figure":"http://f.p.cycangcdn.com/1453346941582.jpg","sell_time_start":"1453305600","sell_time_end":"1453910400"},{"product_id":"4277","origin_price":"30.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】925银戒指 丘比特的祝福 开口指环 【爱神之箭】","cover_price":"29.00","brief":"","figure":"http://f.p.cycangcdn.com/1453778675514.jpg","sell_time_start":"1453737600","sell_time_end":"1454342400"},{"product_id":"6036","origin_price":"29.00","channel_id":"12","brand_id":"77","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】925银戒指 线条 喵星人 概念猫耳戒指","cover_price":"25.00","brief":"","figure":"http://f.p.cycangcdn.com/1461122800918.jpg","sell_time_start":"1461081600","sell_time_end":"1461686400"},{"product_id":"4168","origin_price":"88.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】925银项链 天然贝壳 花朵镶水钻吊坠短款锁骨链","cover_price":"66.00","brief":"","figure":"http://f.p.cycangcdn.com/1453198627153.jpg","sell_time_start":"1453132800","sell_time_end":"1453737600"},{"product_id":"3322","origin_price":"15.00","channel_id":"12","brand_id":"279","p_catalog_id":"73","supplier_type":"1","supplier_code":"300004","name":"[禹屋原创]甜甜圈 猫咪 戒指 指环","cover_price":"15.00","brief":"内径18mm 合金材质 \r\n\r\n\u203b细节不是很完美哦~比方耳朵凹凸的地方会有模具的凹凸痕迹的~介意慎拍!!","figure":"http://f.p.cycangcdn.com/1449477606198.jpg","sell_time_start":"1449417600","sell_time_end":"1450022400"},{"product_id":"963","origin_price":"59.00","channel_id":"12","brand_id":"113","p_catalog_id":"73","supplier_type":"1","supplier_code":"1104001","name":"【幸运石】野良神耳钉 兆器 夜斗威娜 925银耳环","cover_price":"49.00","brief":"","figure":"http://f.p.cycangcdn.com/1458639478017.jpg","sell_time_start":"1440518400","sell_time_end":"1441123200"},{"product_id":"6321","origin_price":"99.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】可爱麋鹿个性吊坠 银项链","cover_price":"57.00","brief":"预售至8月12日噢,到货后按订单发货噢","figure":"http://f.p.cycangcdn.com/1468471318944.jpg","sell_time_start":"1462723200","sell_time_end":"1463328000"},{"product_id":"4147","origin_price":"39.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】 925银 莲花耳钉 清新气质 【荷语】","cover_price":"26.00","brief":"产品尺寸约0.9*0.9cm","figure":"http://f.p.cycangcdn.com/1453171909056.jpg","sell_time_start":"1453132800","sell_time_end":"1453737600"},{"product_id":"4992","origin_price":"189.00","channel_id":"12","brand_id":"334","p_catalog_id":"73","supplier_type":"2","supplier_code":"1902001","name":"【兰亭别院】三生树 古典盘发头饰剑三衍生发簪子长流苏发钗 ","cover_price":"98.00","brief":"","figure":"http://f.p.cycangcdn.com/1456988512335.jpg","sell_time_start":"1456934400","sell_time_end":"1457539200"},{"product_id":"4269","origin_price":"59.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】925银戒指 紧箍咒 简约开口戒指 可调节尾戒","cover_price":"30.00","brief":"","figure":"http://f.p.cycangcdn.com/1453774185159.jpg","sell_time_start":"1453737600","sell_time_end":"1454342400"},{"product_id":"3476","origin_price":"45.00","channel_id":"12","brand_id":"281","p_catalog_id":"71","supplier_type":"2","supplier_code":"100004","name":"【一方尘寰】和风重樱珍珠流苏簪","cover_price":"35.00","brief":"","figure":"http://f.p.cycangcdn.com/supplier/1449839522267.jpg","sell_time_start":"0","sell_time_end":"0"},{"product_id":"2652","origin_price":"199.00","channel_id":"12","brand_id":"9","p_catalog_id":"73","supplier_type":"2","supplier_code":"1104001","name":"【幸运石】魔卡少女樱项链 百变小樱 封印钥匙925银吊坠","cover_price":"89.00","brief":"","figure":"http://f.p.cycangcdn.com/1446801811626.jpg","sell_time_start":"1446739200","sell_time_end":"1447344000"},{"product_id":"7722","origin_price":"79.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【honest首饰】S925银 白金版 鹿角开口戒指","cover_price":"32.00","brief":"","figure":"http://f.p.cycangcdn.com/1467623589417.png","sell_time_start":"1467561600","sell_time_end":"1468166400"},{"product_id":"4185","origin_price":"50.50","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"【Honest首饰】925银 方形极光方糖项链 奥地利水晶吊坠 锁骨链","cover_price":"49.00","brief":"","figure":"http://f.p.cycangcdn.com/1453346076369.jpg","sell_time_start":"1453305600","sell_time_end":"1453910400"}]
+ * catalog_data : false
+ * brand_data : false
+ * is_recommended : 0
+ */
+
+ private ResultBean result;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+
+ public ResultBean getResult() {
+ return result;
+ }
+
+ public void setResult(ResultBean result) {
+ this.result = result;
+ }
+
+ public static class ResultBean {
+ private boolean catalog_data;
+ private boolean brand_data;
+ private String is_recommended;
+ /**
+ * product_id : 4183
+ * origin_price : 29.00
+ * channel_id : 12
+ * brand_id : 77
+ * p_catalog_id : 73
+ * supplier_type : 1
+ * supplier_code : 1101029
+ * name : 【Honest首饰】猫爪子戒指 925银 开口指环 萌宠 喵星人耳朵
+ * cover_price : 26.00
+ * brief :
+ * figure : http://f.p.cycangcdn.com/1453345346749.jpg
+ * sell_time_start : 1453305600
+ * sell_time_end : 1453910400
+ */
+
+ private List page_data;
+
+ public boolean isCatalog_data() {
+ return catalog_data;
+ }
+
+ public void setCatalog_data(boolean catalog_data) {
+ this.catalog_data = catalog_data;
+ }
+
+ public boolean isBrand_data() {
+ return brand_data;
+ }
+
+ public void setBrand_data(boolean brand_data) {
+ this.brand_data = brand_data;
+ }
+
+ public String getIs_recommended() {
+ return is_recommended;
+ }
+
+ public void setIs_recommended(String is_recommended) {
+ this.is_recommended = is_recommended;
+ }
+
+ public List getPage_data() {
+ return page_data;
+ }
+
+ public void setPage_data(List page_data) {
+ this.page_data = page_data;
+ }
+
+ public static class PageDataBean {
+ private String product_id;
+ private String origin_price;
+ private String channel_id;
+ private String brand_id;
+ private String p_catalog_id;
+ private String supplier_type;
+ private String supplier_code;
+ private String name;
+ private String cover_price;
+ private String brief;
+ private String figure;
+ private String sell_time_start;
+ private String sell_time_end;
+
+ public String getProduct_id() {
+ return product_id;
+ }
+
+ public void setProduct_id(String product_id) {
+ this.product_id = product_id;
+ }
+
+ public String getOrigin_price() {
+ return origin_price;
+ }
+
+ public void setOrigin_price(String origin_price) {
+ this.origin_price = origin_price;
+ }
+
+ public String getChannel_id() {
+ return channel_id;
+ }
+
+ public void setChannel_id(String channel_id) {
+ this.channel_id = channel_id;
+ }
+
+ public String getBrand_id() {
+ return brand_id;
+ }
+
+ public void setBrand_id(String brand_id) {
+ this.brand_id = brand_id;
+ }
+
+ public String getP_catalog_id() {
+ return p_catalog_id;
+ }
+
+ public void setP_catalog_id(String p_catalog_id) {
+ this.p_catalog_id = p_catalog_id;
+ }
+
+ public String getSupplier_type() {
+ return supplier_type;
+ }
+
+ public void setSupplier_type(String supplier_type) {
+ this.supplier_type = supplier_type;
+ }
+
+ public String getSupplier_code() {
+ return supplier_code;
+ }
+
+ public void setSupplier_code(String supplier_code) {
+ this.supplier_code = supplier_code;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getCover_price() {
+ return cover_price;
+ }
+
+ public void setCover_price(String cover_price) {
+ this.cover_price = cover_price;
+ }
+
+ public String getBrief() {
+ return brief;
+ }
+
+ public void setBrief(String brief) {
+ this.brief = brief;
+ }
+
+ public String getFigure() {
+ return figure;
+ }
+
+ public void setFigure(String figure) {
+ this.figure = figure;
+ }
+
+ public String getSell_time_start() {
+ return sell_time_start;
+ }
+
+ public void setSell_time_start(String sell_time_start) {
+ this.sell_time_start = sell_time_start;
+ }
+
+ public String getSell_time_end() {
+ return sell_time_end;
+ }
+
+ public void setSell_time_end(String sell_time_end) {
+ this.sell_time_end = sell_time_end;
+ }
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/fragment/HomeFragment.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/fragment/HomeFragment.java
new file mode 100644
index 0000000..9877d8f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/fragment/HomeFragment.java
@@ -0,0 +1,206 @@
+package com.atguigu.shoppingmall.home.fragment;
+
+
+import android.content.Intent;
+import android.support.v7.widget.GridLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.telecom.Call;
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.base.BaseFragment;
+import com.atguigu.shoppingmall.home.adapter.HomeRecycleAdapter;
+import com.atguigu.shoppingmall.home.bean.ResultBean;
+import com.atguigu.shoppingmall.user.activity.MessageCenterActivity;
+import com.atguigu.shoppingmall.utils.Constants;
+import com.zhy.http.okhttp.OkHttpUtils;
+import com.zhy.http.okhttp.callback.StringCallback;
+
+import java.util.List;
+
+import okhttp3.Request;
+
+public class HomeFragment extends BaseFragment {
+
+
+ private ResultBean resultBean;
+ private RecyclerView rvHome;
+ private ImageView ib_top;
+ private HomeRecycleAdapter adapter;
+ private TextView tv_search_home;
+ private TextView tv_message_home;
+
+
+ @Override
+ public View initView() {
+ View view = View.inflate(mContext, R.layout.fragment_home, null);
+ rvHome = (RecyclerView) view.findViewById(R.id.rv_home);
+ ib_top = (ImageView) view.findViewById(R.id.ib_top);
+ tv_search_home = (TextView) view.findViewById(R.id.tv_search_home);
+ tv_message_home = (TextView) view.findViewById(R.id.tv_message_home);
+ return view;
+ }
+
+ @Override
+ public void initData() {
+ //请求网络
+ getDataFromNet();
+
+ }
+
+ public void getDataFromNet() {
+ OkHttpUtils
+ .get()
+ .url(Constants.HOME_URL)
+ .id(100)
+ .build()
+ .execute(new MyStringCallback());
+ }
+
+ public class MyStringCallback extends StringCallback {
+
+
+ @Override
+ public void onBefore(Request request, int id) {
+ }
+
+ @Override
+ public void onAfter(int id) {
+ }
+
+ @Override
+ public void onError(okhttp3.Call call, Exception e, int id) {
+
+ }
+
+ public void onError(Call call, Exception e, int id) {
+ Log.e("TAG", "联网失败" + e.getMessage());
+ }
+
+ @Override
+ public void onResponse(String response, int id) {
+
+ switch (id) {
+ case 100:
+ if (response != null) {
+ processData(response);
+ adapter = new HomeRecycleAdapter(mContext, resultBean);
+ rvHome.setAdapter(adapter);
+
+ GridLayoutManager manager = new GridLayoutManager(getActivity(), 1);
+
+ //设置滑动到哪个位置了的监听
+ manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
+ @Override
+ public int getSpanSize(int position) {
+ if (position <= 3) {
+ ib_top.setVisibility(View.GONE);
+ } else {
+ ib_top.setVisibility(View.VISIBLE);
+ }
+ return 1;
+ }
+ });
+ //设置网格布局
+ rvHome.setLayoutManager(manager);
+
+ initListener();
+ }
+ break;
+ case 101:
+// Toast.makeText(mContext, "https", Toast.LENGTH_SHORT).show();
+ break;
+ }
+ }
+
+ }
+
+ private void initListener() {
+ //置顶的监听
+ ib_top.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ rvHome.scrollToPosition(0);
+ }
+ });
+
+ //搜素的监听
+ tv_search_home.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Toast.makeText(mContext, "搜索", Toast.LENGTH_SHORT).show();
+ }
+ });
+
+ //消息的监听
+ tv_message_home.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(mContext, MessageCenterActivity.class);
+ mContext.startActivity(intent);
+ }
+ });
+
+ }
+
+ private void processData(String json) {
+ if (!TextUtils.isEmpty(json)) {
+ JSONObject jsonObject = JSON.parseObject(json);
+ //得到状态码
+ String code = jsonObject.getString("code");
+ String msg = jsonObject.getString("msg");
+ String result = jsonObject.getString("result");
+
+
+ //得到resultBean的数据
+ JSONObject ResultBean = JSON.parseObject(result, ResultBean.class);
+ String banner_info = ResultBean.getString("banner_info");
+ String act_info = ResultBean.getString("act_info");
+ String channel_info = ResultBean.getString("channel_info");
+ String hot_info = ResultBean.getString("hot_info");
+ String recommend_info = ResultBean.getString("recommend_info");
+ String seckill_info = ResultBean.getString("seckill_info");
+
+
+ resultBean = new ResultBean();
+
+ //设置BannerInfoBean数据
+ List bannerInfoBeans = JSON.parseArray(banner_info, ResultBean.BannerInfoBean.class);
+ resultBean.setBanner_info(bannerInfoBeans);
+ String value = jsonObject.getString("value");
+ com.atguigu.shoppingmall.home.bean.ResultBean.BannerInfoBean.ValueBean valueBean = JSON.parseObject(value, com.atguigu.shoppingmall.home.bean.ResultBean.BannerInfoBean.ValueBean.class);
+
+
+ //设置actInfoBeans数据
+ List actInfoBeans = JSON.parseArray(act_info, ResultBean.ActInfoBean.class);
+ resultBean.setAct_info(actInfoBeans);
+
+ //设置channelInfoBeans的数据
+ List channelInfoBeans = JSON.parseArray(channel_info, ResultBean.ChannelInfoBean.class);
+ resultBean.setChannel_info(channelInfoBeans);
+
+ //设置hotInfoBeans的数据
+ List hotInfoBeans = JSON.parseArray(hot_info, ResultBean.HotInfoBean.class);
+ resultBean.setHot_info(hotInfoBeans);
+
+ //设置recommendInfoBeans的数据
+ List recommendInfoBeans = JSON.parseArray(recommend_info, ResultBean.RecommendInfoBean.class);
+ resultBean.setRecommend_info(recommendInfoBeans);
+
+ //设置seckillInfoBean的数据
+ ResultBean.SeckillInfoBean seckillInfoBean = JSON.parseObject(seckill_info, ResultBean.SeckillInfoBean.class);
+ resultBean.setSeckill_info(seckillInfoBean);
+
+ }
+
+ }
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/uitls/AlphaPageTransformer.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/uitls/AlphaPageTransformer.java
new file mode 100644
index 0000000..8b6bb3c
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/uitls/AlphaPageTransformer.java
@@ -0,0 +1,50 @@
+package com.atguigu.shoppingmall.home.uitls;
+
+import android.annotation.TargetApi;
+import android.os.Build;
+import android.support.v4.view.ViewPager;
+import android.view.View;
+
+public class AlphaPageTransformer extends BasePageTransformer {
+ private static final float DEFAULT_MIN_ALPHA = 0.5f;
+ private float mMinAlpha = DEFAULT_MIN_ALPHA;
+
+ public AlphaPageTransformer() {
+ }
+
+ public AlphaPageTransformer(float minAlpha) {
+ this(minAlpha, NonPageTransformer.INSTANCE);
+ }
+
+ public AlphaPageTransformer(ViewPager.PageTransformer pageTransformer) {
+ this(DEFAULT_MIN_ALPHA, pageTransformer);
+ }
+
+ public AlphaPageTransformer(float minAlpha, ViewPager.PageTransformer pageTransformer) {
+ mMinAlpha = minAlpha;
+ mPageTransformer = pageTransformer;
+ }
+
+ @TargetApi(Build.VERSION_CODES.HONEYCOMB)
+ public void pageTransform(View view, float position) {
+ view.setScaleX(0.999f);//hack
+
+ if (position < -1) { // [-Infinity,-1)
+ view.setAlpha(mMinAlpha);
+ } else if (position <= 1) { // [-1,1]
+
+ if (position < 0) //[0,-1]
+ { //[1,min]
+ float factor = mMinAlpha + (1 - mMinAlpha) * (1 + position);
+ view.setAlpha(factor);
+ } else//[1,0]
+ {
+ //[min,1]
+ float factor = mMinAlpha + (1 - mMinAlpha) * (1 - position);
+ view.setAlpha(factor);
+ }
+ } else { // (1,+Infinity]
+ view.setAlpha(mMinAlpha);
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/uitls/BasePageTransformer.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/uitls/BasePageTransformer.java
new file mode 100644
index 0000000..ba66f09
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/uitls/BasePageTransformer.java
@@ -0,0 +1,27 @@
+package com.atguigu.shoppingmall.home.uitls;
+
+import android.annotation.TargetApi;
+import android.os.Build;
+import android.support.v4.view.ViewPager;
+import android.view.View;
+
+public abstract class BasePageTransformer implements ViewPager.PageTransformer
+{
+ protected ViewPager.PageTransformer mPageTransformer = NonPageTransformer.INSTANCE;
+ public static final float DEFAULT_CENTER = 0.5f;
+
+ @TargetApi(Build.VERSION_CODES.HONEYCOMB)
+ public void transformPage(View view, float position)
+ {
+ if (mPageTransformer != null)
+ {
+ mPageTransformer.transformPage(view, position);
+ }
+
+ pageTransform(view, position);
+ }
+
+ protected abstract void pageTransform(View view, float position);
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/uitls/NonPageTransformer.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/uitls/NonPageTransformer.java
new file mode 100644
index 0000000..3ac5522
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/uitls/NonPageTransformer.java
@@ -0,0 +1,15 @@
+package com.atguigu.shoppingmall.home.uitls;
+
+import android.support.v4.view.ViewPager;
+import android.view.View;
+
+public class NonPageTransformer implements ViewPager.PageTransformer
+{
+ @Override
+ public void transformPage(View page, float position)
+ {
+ page.setScaleX(0.8f);//hack
+ }
+
+ public static final ViewPager.PageTransformer INSTANCE = new NonPageTransformer();
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/uitls/ScaleInTransformer.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/uitls/ScaleInTransformer.java
new file mode 100644
index 0000000..a46b174
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/uitls/ScaleInTransformer.java
@@ -0,0 +1,78 @@
+package com.atguigu.shoppingmall.home.uitls;
+
+import android.annotation.TargetApi;
+import android.os.Build;
+import android.support.v4.view.ViewPager;
+import android.view.View;
+
+public class ScaleInTransformer extends BasePageTransformer
+{
+ private static final float DEFAULT_MIN_SCALE = 0.85f;
+ private float mMinScale = DEFAULT_MIN_SCALE;
+
+ public ScaleInTransformer()
+ {
+
+ }
+
+ public ScaleInTransformer(float minScale)
+ {
+ this(minScale, NonPageTransformer.INSTANCE);
+ }
+
+ public ScaleInTransformer(ViewPager.PageTransformer pageTransformer)
+ {
+ this(DEFAULT_MIN_SCALE, pageTransformer);
+ }
+
+
+ public ScaleInTransformer(float minScale, ViewPager.PageTransformer pageTransformer)
+ {
+ mMinScale = minScale;
+ mPageTransformer = pageTransformer;
+ }
+
+
+ @TargetApi(Build.VERSION_CODES.HONEYCOMB)
+ public void pageTransform(View view, float position)
+ {
+ int pageWidth = view.getWidth();
+ int pageHeight = view.getHeight();
+
+ view.setPivotY(pageHeight / 2);
+ view.setPivotX(pageWidth / 2);
+ if (position < -1)
+ { // [-Infinity,-1)
+ // This page is way off-screen to the left.
+ view.setScaleX(mMinScale);
+ view.setScaleY(mMinScale);
+ view.setPivotX(pageWidth);
+ } else if (position <= 1)
+ { // [-1,1]
+ // Modify the default slide transition to shrink the page as well
+ if (position < 0) //1-2:1[0,-1] ;2-1:1[-1,0]
+ {
+
+ float scaleFactor = (1 + position) * (1 - mMinScale) + mMinScale;
+ view.setScaleX(scaleFactor);
+ view.setScaleY(scaleFactor);
+
+ view.setPivotX(pageWidth * (DEFAULT_CENTER + (DEFAULT_CENTER * -position)));
+
+ } else //1-2:2[1,0] ;2-1:2[0,1]
+ {
+ float scaleFactor = (1 - position) * (1 - mMinScale) + mMinScale;
+ view.setScaleX(scaleFactor);
+ view.setScaleY(scaleFactor);
+ view.setPivotX(pageWidth * ((1 - position) * DEFAULT_CENTER));
+ }
+
+
+ } else
+ { // (1,+Infinity]
+ view.setPivotX(0);
+ view.setScaleX(mMinScale);
+ view.setScaleY(mMinScale);
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/uitls/SpaceItemDecoration.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/uitls/SpaceItemDecoration.java
new file mode 100644
index 0000000..f397349
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/uitls/SpaceItemDecoration.java
@@ -0,0 +1,26 @@
+package com.atguigu.shoppingmall.home.uitls;
+
+import android.graphics.Rect;
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+
+public class SpaceItemDecoration extends RecyclerView.ItemDecoration {
+
+ private int space;
+
+ public SpaceItemDecoration(int space) {
+ this.space = space;
+ }
+
+ @Override
+ public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
+ //不是第一个的格子都设一个左边和底部的间距
+ outRect.left = space;
+ outRect.bottom = space;
+ //由于每行都只有3个,所以第一个都是3的倍数,把左边距设为0
+ if (parent.getChildLayoutPosition(view) %2==0) {
+ outRect.left = 0;
+ }
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/uitls/VirtualkeyboardHeight.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/uitls/VirtualkeyboardHeight.java
new file mode 100644
index 0000000..51f556b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/uitls/VirtualkeyboardHeight.java
@@ -0,0 +1,55 @@
+package com.atguigu.shoppingmall.home.uitls;
+
+import android.content.Context;
+import android.util.DisplayMetrics;
+import android.view.Display;
+import android.view.WindowManager;
+
+import java.lang.reflect.Method;
+
+// 获取虚拟键盘的高度
+public class VirtualkeyboardHeight {
+
+ // 获取屏幕和底部的高度
+ public static int getDpi(Context context){
+
+ int dpi = 0;
+ WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
+ Display display = windowManager.getDefaultDisplay();
+ DisplayMetrics displayMetrics = new DisplayMetrics();
+
+ @SuppressWarnings("rawtypes")
+ Class c;
+ try {
+ c = Class.forName("android.view.Display");
+ @SuppressWarnings("unchecked")
+ Method method = c.getMethod("getRealMetrics",DisplayMetrics.class);
+ method.invoke(display, displayMetrics);
+ dpi=displayMetrics.heightPixels;
+ }catch(Exception e){
+ e.printStackTrace();
+ }
+
+ return dpi;
+ }
+
+ // 获取底部虚拟键盘的高度
+ public static int getBottomStatusHeight(Context context){
+ int totalHeight = getDpi(context);
+
+ int contentHeight = getScreenHeight(context);
+
+ return totalHeight - contentHeight;
+ }
+
+ // 获取屏幕的高度
+ public static int getScreenHeight(Context context){
+
+ WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
+ DisplayMetrics outMetrics = new DisplayMetrics();
+ wm.getDefaultDisplay().getMetrics(outMetrics);
+
+ return outMetrics.heightPixels;
+ }
+}
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/view/ScrollViewContainer.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/view/ScrollViewContainer.java
new file mode 100644
index 0000000..9d482be
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/home/view/ScrollViewContainer.java
@@ -0,0 +1,313 @@
+package com.atguigu.shoppingmall.home.view;
+
+import android.content.Context;
+import android.os.Handler;
+import android.os.Message;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+import android.view.VelocityTracker;
+import android.view.View;
+import android.widget.RelativeLayout;
+import android.widget.ScrollView;
+
+import java.util.Timer;
+import java.util.TimerTask;
+
+/**
+ * 包含两个ScrollView的容器
+ *
+ *
+ *
+ */
+public class ScrollViewContainer extends RelativeLayout {
+
+ /**
+ * 自动上滑
+ */
+ public static final int AUTO_UP = 0;
+ /**
+ * 自动下滑
+ */
+ public static final int AUTO_DOWN = 1;
+ /**
+ * 动画完成
+ */
+ public static final int DONE = 2;
+ /**
+ * 动画速度
+ */
+ public static final float SPEED = 6.5f;
+
+ private boolean isMeasured = false;
+
+ /**
+ * 用于计算手滑动的速度
+ */
+ private VelocityTracker vt;
+
+ private int mViewHeight;
+ private int mViewWidth;
+
+ private View topView;
+ private View bottomView;
+
+ private boolean canPullDown;
+ private boolean canPullUp;
+ private int state = DONE;
+
+ /**
+ * 记录当前展示的是哪个view,0是topView,1是bottomView
+ */
+ private int mCurrentViewIndex = 0;
+ /**
+ * 手滑动距离,这个是控制布局的主要变量
+ */
+ private float mMoveLen;
+ private MyTimer mTimer;
+ private float mLastY;
+ /**
+ * 用于控制是否变动布局的另一个条件,mEvents==0时布局可以拖拽了,mEvents==-1时可以舍弃将要到来的第一个move事件,
+ * 这点是去除多点拖动剧变的关键
+ */
+ private int mEvents;
+ private Context mContext;
+ private Handler handler = new Handler() {
+
+ @Override
+ public void handleMessage(Message msg) {
+ if (mMoveLen != 0) {
+ if (state == AUTO_UP) {
+ mMoveLen -= SPEED;
+ if (mMoveLen <= -mViewHeight) {
+ mMoveLen = -mViewHeight;
+ state = DONE;
+ mCurrentViewIndex = 1;
+ }
+ } else if (state == AUTO_DOWN) {
+ mMoveLen += SPEED;
+ if (mMoveLen >= 0) {
+ mMoveLen = 0;
+ state = DONE;
+ mCurrentViewIndex = 0;
+ }
+ } else {
+ mTimer.cancel();
+ }
+ }
+ requestLayout();
+ }
+
+ };
+
+ public ScrollViewContainer(Context context) {
+ super(context);
+ this.mContext = context;
+ init();
+ }
+
+ public ScrollViewContainer(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ this.mContext = context;
+ init();
+ }
+
+ public ScrollViewContainer(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ this.mContext = context;
+ init();
+ }
+
+ private void init() {
+ mTimer = new MyTimer(handler);
+ }
+
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent ev) {
+ switch (ev.getActionMasked()) {
+ case MotionEvent.ACTION_DOWN:
+ if (vt == null)
+ vt = VelocityTracker.obtain();
+ else
+ vt.clear();
+ mLastY = ev.getY();
+ vt.addMovement(ev);
+ mEvents = 0;
+ break;
+ case MotionEvent.ACTION_POINTER_DOWN:
+ case MotionEvent.ACTION_POINTER_UP:
+ // 多一只手指按下或抬起时舍弃将要到来的第一个事件move,防止多点拖拽的bug
+ mEvents = -1;
+ break;
+ case MotionEvent.ACTION_MOVE:
+ vt.addMovement(ev);
+ if (canPullUp && mCurrentViewIndex == 0 && mEvents == 0) {
+ mMoveLen += (ev.getY() - mLastY);
+ // 防止上下越界
+ if (mMoveLen > 0) {
+ mMoveLen = 0;
+ mCurrentViewIndex = 0;
+ } else if (mMoveLen < -mViewHeight) {
+ mMoveLen = -mViewHeight;
+ mCurrentViewIndex = 1;
+ }
+ if (mMoveLen < -8) {
+ // 防止事件冲突
+ ev.setAction(MotionEvent.ACTION_CANCEL);
+ }
+ } else if (canPullDown && mCurrentViewIndex == 1 && mEvents == 0) {
+ mMoveLen += (ev.getY() - mLastY);
+ // 防止上下越界
+ if (mMoveLen < -mViewHeight) {
+ mMoveLen = -mViewHeight;
+ mCurrentViewIndex = 1;
+ } else if (mMoveLen > 0) {
+ mMoveLen = 0;
+ mCurrentViewIndex = 0;
+ }
+ if (mMoveLen > 8 - mViewHeight) {
+ // 防止事件冲突
+ ev.setAction(MotionEvent.ACTION_CANCEL);
+ }
+ } else
+ mEvents++;
+ mLastY = ev.getY();
+ requestLayout();
+ break;
+ case MotionEvent.ACTION_UP:
+ mLastY = ev.getY();
+ vt.addMovement(ev);
+ vt.computeCurrentVelocity(700);
+ // 获取Y方向的速度
+ float mYV = vt.getYVelocity();
+ if (mMoveLen == 0 || mMoveLen == -mViewHeight)
+ break;
+ if (Math.abs(mYV) < 500) {
+ // 速度小于一定值的时候当作静止释放,这时候两个View往哪移动取决于滑动的距离
+ if (mMoveLen <= -mViewHeight / 2) {
+ state = AUTO_UP;
+ //---------------------------------------------------------
+ } else if (mMoveLen > -mViewHeight / 2) {
+ state = AUTO_DOWN;
+ }
+ } else {
+ // 抬起手指时速度方向决定两个View往哪移动
+ if (mYV < 0) {
+ state = AUTO_UP;
+ //---------------------------------------------------------
+
+ } else {
+
+ state = AUTO_DOWN;
+
+ }
+ }
+ mTimer.schedule(2);
+ try {
+ vt.recycle();
+ //-------------------------------------------------------
+ vt = null;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ break;
+
+ }
+ super.dispatchTouchEvent(ev);
+ return true;
+ }
+
+ @Override
+ protected void onLayout(boolean changed, int l, int t, int r, int b) {
+ topView.layout(0, (int) mMoveLen, mViewWidth,
+ topView.getMeasuredHeight() + (int) mMoveLen);
+ bottomView.layout(0, topView.getMeasuredHeight() + (int) mMoveLen,
+ mViewWidth, topView.getMeasuredHeight() + (int) mMoveLen
+ + bottomView.getMeasuredHeight());
+ }
+
+ @Override
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+ if (!isMeasured) {
+ isMeasured = true;
+
+ mViewHeight = getMeasuredHeight();
+ mViewWidth = getMeasuredWidth();
+
+ topView = getChildAt(0);
+ bottomView = getChildAt(1);
+
+ bottomView.setOnTouchListener(bottomViewTouchListener);
+ topView.setOnTouchListener(topViewTouchListener);
+ }
+ }
+
+ private OnTouchListener topViewTouchListener = new OnTouchListener() {
+
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+ ScrollView sv = (ScrollView) v;
+ if (sv.getScrollY() == (sv.getChildAt(0).getMeasuredHeight() - sv
+ .getMeasuredHeight()) && mCurrentViewIndex == 0)
+ canPullUp = true;
+ else
+ canPullUp = false;
+ return false;
+ }
+ };
+ private OnTouchListener bottomViewTouchListener = new OnTouchListener() {
+
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+ ScrollView sv = (ScrollView) v;
+ if (sv.getScrollY() == 0 && mCurrentViewIndex == 1)
+ canPullDown = true;
+ else
+ canPullDown = false;
+ return false;
+ }
+ };
+
+ class MyTimer {
+ private Handler handler;
+ private Timer timer;
+ private MyTask mTask;
+
+ public MyTimer(Handler handler) {
+ this.handler = handler;
+ timer = new Timer();
+ }
+
+ public void schedule(long period) {
+ if (mTask != null) {
+ mTask.cancel();
+ mTask = null;
+ }
+ mTask = new MyTask(handler);
+ timer.schedule(mTask, 0, period);
+ }
+
+ public void cancel() {
+ if (mTask != null) {
+ mTask.cancel();
+ mTask = null;
+ }
+ }
+
+ class MyTask extends TimerTask {
+ private Handler handler;
+
+ public MyTask(Handler handler) {
+ this.handler = handler;
+ }
+
+ @Override
+ public void run() {
+ handler.obtainMessage().sendToTarget();
+ }
+
+ }
+ }
+
+}
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/activity/ShoppingCartActivity.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/activity/ShoppingCartActivity.java
new file mode 100644
index 0000000..181afd0
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/activity/ShoppingCartActivity.java
@@ -0,0 +1,183 @@
+package com.atguigu.shoppingmall.shoppingcart.activity;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.widget.Button;
+import android.widget.CheckBox;
+import android.widget.ImageButton;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.app.MainActivity;
+import com.atguigu.shoppingmall.shoppingcart.adapter.ShopCartAdapter;
+import com.atguigu.shoppingmall.home.bean.GoodsBean;
+import com.atguigu.shoppingmall.shoppingcart.utils.CartProvider;
+
+import java.util.List;
+
+
+public class ShoppingCartActivity extends Activity implements View.OnClickListener {
+ private ImageButton ibShopcartBack;
+ private TextView tvShopcartEdit;
+ private RecyclerView recyclerview;
+ private CheckBox checkboxAll;
+ private TextView tvShopcartTotal;
+ private LinearLayout ll_check_all;
+ private LinearLayout ll_delete;
+ private CheckBox cb_all;
+ private Button btn_delete;
+ private Button btn_collection;
+ private Button btnCheckOut;
+ private ShopCartAdapter adapter;
+ private LinearLayout ll_empty_shopcart;
+ private TextView tv_empty_cart_tobuy;
+ /**
+ * 编辑状态
+ */
+ private static final int ACTION_EDIT = 0;
+ /**
+ * 完成状态
+ */
+ private static final int ACTION_COMPLETE = 1;
+
+ /**
+ * Find the Views in the layout
+ *
+ * Auto-created on 2016-10-11 21:08:02 by Android Layout Finder
+ * (http://www.buzzingandroid.com/tools/android-layout-finder)
+ */
+ private void findViews() {
+ ibShopcartBack = (ImageButton) findViewById(R.id.ib_shopcart_back);
+ tvShopcartEdit = (TextView) findViewById(R.id.tv_shopcart_edit);
+ recyclerview = (RecyclerView) findViewById(R.id.recyclerview);
+ checkboxAll = (CheckBox) findViewById(R.id.checkbox_all);
+ tvShopcartTotal = (TextView) findViewById(R.id.tv_shopcart_total);
+ btnCheckOut = (Button) findViewById(R.id.btn_check_out);
+ ll_check_all = (LinearLayout) findViewById(R.id.ll_check_all);
+ ll_delete = (LinearLayout) findViewById(R.id.ll_delete);
+ cb_all = (CheckBox) findViewById(R.id.cb_all);
+ btn_delete = (Button) findViewById(R.id.btn_delete);
+ btn_collection = (Button) findViewById(R.id.btn_collection);
+ ll_empty_shopcart = (LinearLayout) findViewById(R.id.ll_empty_shopcart);
+ tv_empty_cart_tobuy = (TextView) findViewById(R.id.tv_empty_cart_tobuy);
+
+ ibShopcartBack.setOnClickListener(this);
+ btnCheckOut.setOnClickListener(this);
+ tvShopcartEdit.setOnClickListener(this);
+ btn_delete.setOnClickListener(this);
+ tv_empty_cart_tobuy.setClickable(true);
+ tv_empty_cart_tobuy.setOnClickListener(this);
+ }
+
+ /**
+ * Handle button click events
+ *
+ * Auto-created on 2016-10-11 21:08:02 by Android Layout Finder
+ * (http://www.buzzingandroid.com/tools/android-layout-finder)
+ */
+ @Override
+ public void onClick(View v) {
+ if (v == ibShopcartBack) {
+ finish();
+ } else if (v == btnCheckOut) {
+ Toast.makeText(ShoppingCartActivity.this, "结算", Toast.LENGTH_SHORT).show();
+ } else if (v == tvShopcartEdit) {
+ //设置编辑的点击事件
+ int tag = (int) tvShopcartEdit.getTag();
+ if (tag == ACTION_EDIT) {
+ //变成完成状态
+ showDelete();
+ } else {
+ //变成编辑状态
+ hideDelete();
+ }
+ } else if (v == btn_delete) {
+ adapter.deleteData();
+ adapter.showTotalPrice();
+ //显示空空如也
+ checkData();
+ adapter.checkAll();
+ } else if (v == tv_empty_cart_tobuy) {
+ Intent intent = new Intent(this, MainActivity.class);
+ startActivity(intent);
+ }
+ }
+
+ private void hideDelete() {
+ tvShopcartEdit.setText("编辑");
+ tvShopcartEdit.setTag(ACTION_EDIT);
+
+ adapter.checkAll_none(true);
+ ll_delete.setVisibility(View.GONE);
+ ll_check_all.setVisibility(View.VISIBLE);
+
+ adapter.showTotalPrice();
+ }
+
+ private void showDelete() {
+ tvShopcartEdit.setText("完成");
+ tvShopcartEdit.setTag(ACTION_COMPLETE);
+
+ adapter.checkAll_none(false);
+ cb_all.setChecked(false);
+ checkboxAll.setChecked(false);
+
+ ll_delete.setVisibility(View.VISIBLE);
+ ll_check_all.setVisibility(View.GONE);
+
+ adapter.showTotalPrice();
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_shopping_cart);
+
+ findViews();
+
+ showData();
+ tvShopcartEdit.setTag(ACTION_EDIT);
+ tvShopcartEdit.setText("编辑");
+
+ }
+
+ //-----------------------------------------
+ private void checkData() {
+ if (adapter != null && adapter.getItemCount() > 0) {
+ tvShopcartEdit.setVisibility(View.VISIBLE);
+ ll_empty_shopcart.setVisibility(View.GONE);
+ ll_check_all.setVisibility(View.GONE);
+ } else {
+ ll_empty_shopcart.setVisibility(View.VISIBLE);
+ tvShopcartEdit.setVisibility(View.GONE);
+ ll_check_all.setVisibility(View.GONE);
+ ll_delete.setVisibility(View.GONE);
+ }
+ }
+
+ private void showData() {
+ CartProvider cartProvider = CartProvider.getInstance();
+
+ List datas = cartProvider.getDataFromLocal();
+ if (datas != null && datas.size() > 0) {
+ tvShopcartEdit.setVisibility(View.VISIBLE);
+ ll_empty_shopcart.setVisibility(View.GONE);
+ adapter = new ShopCartAdapter(this, datas, tvShopcartTotal, cartProvider, checkboxAll, cb_all);
+ recyclerview.setLayoutManager(new LinearLayoutManager(this));
+ recyclerview.setAdapter(adapter);
+ } else {
+ //显示空的
+ tvShopcartEdit.setVisibility(View.GONE);
+ ll_empty_shopcart.setVisibility(View.VISIBLE);
+ ll_check_all.setVisibility(View.GONE);
+ ll_delete.setVisibility(View.GONE);
+ }
+
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/adapter/ShopCartAdapter.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/adapter/ShopCartAdapter.java
new file mode 100644
index 0000000..decd575
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/adapter/ShopCartAdapter.java
@@ -0,0 +1,248 @@
+package com.atguigu.shoppingmall.shoppingcart.adapter;
+
+import android.content.Context;
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.CheckBox;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.home.bean.GoodsBean;
+import com.atguigu.shoppingmall.shoppingcart.view.NumberAddSubView;
+import com.atguigu.shoppingmall.shoppingcart.utils.CartProvider;
+import com.atguigu.shoppingmall.utils.Constants;
+import com.bumptech.glide.Glide;
+
+import java.util.Iterator;
+import java.util.List;
+
+public class ShopCartAdapter extends RecyclerView.Adapter {
+
+ private CartProvider cartProvider;
+
+ private Context mContext;
+ private List datas;
+ private TextView tvShopcartTotal;
+ private CheckBox checkboxAll;
+ private CheckBox cb_all;
+
+ public ShopCartAdapter(Context context, final List datas, TextView tvShopcartTotal, CartProvider cartProvider, CheckBox checkboxAll, CheckBox cb_all) {
+ this.mContext = context;
+ this.datas = datas;
+ this.tvShopcartTotal = tvShopcartTotal;
+ this.cartProvider = cartProvider;
+ this.checkboxAll = checkboxAll;
+ this.cb_all = cb_all;
+
+ //首次加载数据
+ showTotalPrice();
+ checkboxAll.setChecked(true);
+ for (int i = 0; i < datas.size(); i++) {
+ datas.get(i).setIsChildSelected(true);
+ }
+ showTotalPrice();
+
+ setOnItemClickListener(new OnItemClickListener() {
+ @Override
+ public void onItemClickListener(View view, int position) {
+ GoodsBean goodsBean = datas.get(position);
+ goodsBean.setIsChildSelected(!goodsBean.isChildSelected());
+ notifyItemChanged(position);
+ checkAll();
+ showTotalPrice();
+ }
+ });
+
+ //设置全选点击事件
+ checkboxAll.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ boolean checked = getCheckboxAll().isChecked();
+ checkAll_none(checked);
+ showTotalPrice();
+ }
+ });
+
+ cb_all.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ boolean checked = getCb_all().isChecked();
+ checkAll_none(checked);
+ showTotalPrice();
+ }
+ });
+ }
+
+ @Override
+ public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+ return new ViewHolder(View.inflate(mContext, R.layout.item_shop_cart, null));
+ }
+
+ @Override
+ public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
+ ViewHolder viewHolder = (ViewHolder) holder;
+ viewHolder.setData(datas.get(position));
+
+ }
+
+ @Override
+ public int getItemCount() {
+ return datas.size();
+ }
+
+ public void checkAll_none(boolean checked) {
+ if (datas != null && datas.size() > 0) {
+ for (int i = 0; i < datas.size(); i++) {
+ datas.get(i).setIsChildSelected(checked);
+ checkboxAll.setChecked(checked);
+ notifyItemChanged(i);
+ }
+ } else {
+ checkboxAll.setChecked(false);
+
+ }
+ }
+
+ public void deleteData() {
+ if (datas != null && datas.size() > 0) {
+ for (Iterator iterator = datas.iterator(); iterator.hasNext(); ) {
+
+ GoodsBean cart = (GoodsBean) iterator.next();
+
+ if (cart.isChildSelected()) {
+
+ //这行代码放在前面
+ int position = datas.indexOf(cart);
+ //1.删除本地缓存的
+ cartProvider.deleteData(cart);
+
+ //2.删除当前内存的
+ iterator.remove();
+
+ //3.刷新数据
+ notifyItemRemoved(position);
+
+ }
+ }
+ }
+ }
+
+ public void checkAll() {
+ if (datas != null && datas.size() > 0) {
+ for (int i = 0; i < datas.size(); i++) {
+ if (!datas.get(i).isChildSelected()) {
+ checkboxAll.setChecked(false);
+ cb_all.setChecked(false);
+ return;
+ } else {
+ checkboxAll.setChecked(true);
+ cb_all.setChecked(true);
+ }
+ }
+ }
+ }
+
+
+ class ViewHolder extends RecyclerView.ViewHolder {
+
+ private CheckBox cbGov;
+ private ImageView ivGov;
+ private TextView tvDescGov;
+ private TextView tvPriceGov;
+ private NumberAddSubView numberAddSubView;
+
+ ViewHolder(View itemView) {
+ super(itemView);
+ cbGov = (CheckBox) itemView.findViewById(R.id.cb_gov);
+ ivGov = (ImageView) itemView.findViewById(R.id.iv_gov);
+ tvDescGov = (TextView) itemView.findViewById(R.id.tv_desc_gov);
+ tvPriceGov = (TextView) itemView.findViewById(R.id.tv_price_gov);
+ numberAddSubView = (NumberAddSubView) itemView.findViewById(R.id.numberAddSubView);
+
+ itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (onItemClickListener != null) {
+ onItemClickListener.onItemClickListener(v, getLayoutPosition());
+ }
+ }
+ });
+ }
+
+ public void setData(final GoodsBean goodsBean) {
+ cbGov.setChecked(goodsBean.isChildSelected());
+ Glide.with(mContext)
+ .load(Constants.BASE_URl_IMAGE +goodsBean.getFigure())
+ .into(ivGov);
+ tvDescGov.setText(goodsBean.getName());
+ tvPriceGov.setText("¥" + goodsBean.getCover_price());
+
+ //设置数字加减回调
+ numberAddSubView.setValue(goodsBean.getNumber());
+
+ //-------------------------------------------
+ //cartProvider = new CartProvider(mContext);
+
+ numberAddSubView.setOnNumberChangeListener(new NumberAddSubView.OnNumberChangeListener() {
+ @Override
+ public void addNumber(View view, int value) {
+ goodsBean.setNumber(value);
+ cartProvider.updataData(goodsBean);
+ showTotalPrice();
+ }
+
+ @Override
+ public void subNumner(View view, int value) {
+ goodsBean.setNumber(value);
+ cartProvider.updataData(goodsBean);
+ showTotalPrice();
+ }
+ });
+ }
+ }
+
+ public void showTotalPrice() {
+ tvShopcartTotal.setText(getTotalPrice() + "");
+ }
+
+ private double getTotalPrice() {
+ double total = 0;
+ if (datas != null && datas.size() > 0) {
+ for (int i = 0; i < datas.size(); i++) {
+ GoodsBean goodsBean = datas.get(i);
+ if (goodsBean.isChildSelected())
+ total += Double.parseDouble(goodsBean.getCover_price()) * Double.parseDouble(goodsBean.getNumber() + "");
+ }
+ }
+ return total;
+ }
+
+ //回调点击事件的监听
+ private OnItemClickListener onItemClickListener;
+
+ interface OnItemClickListener {
+ void onItemClickListener(View view, int position);
+ }
+
+ public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
+ this.onItemClickListener = onItemClickListener;
+ }
+
+ public CheckBox getCb_all() {
+ return cb_all;
+ }
+
+ public void setCb_all(CheckBox cb_all) {
+ this.cb_all = cb_all;
+ }
+
+ public CheckBox getCheckboxAll() {
+ return checkboxAll;
+ }
+
+ public void setCheckboxAll(CheckBox checkboxAll) {
+ this.checkboxAll = checkboxAll;
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/fragment/ShoppingCartFragment.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/fragment/ShoppingCartFragment.java
new file mode 100644
index 0000000..5494553
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/fragment/ShoppingCartFragment.java
@@ -0,0 +1,405 @@
+package com.atguigu.shoppingmall.shoppingcart.fragment;
+
+
+import android.annotation.SuppressLint;
+import android.app.Activity;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.os.Handler;
+import android.os.Message;
+import android.support.v7.app.AlertDialog;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.Button;
+import android.widget.CheckBox;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.alipay.sdk.app.PayTask;
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.app.MainActivity;
+import com.atguigu.shoppingmall.base.BaseFragment;
+import com.atguigu.shoppingmall.home.bean.GoodsBean;
+import com.atguigu.shoppingmall.shoppingcart.adapter.ShopCartAdapter;
+import com.atguigu.shoppingmall.shoppingcart.pay.PayResult;
+import com.atguigu.shoppingmall.shoppingcart.pay.SignUtils;
+import com.atguigu.shoppingmall.shoppingcart.utils.CartProvider;
+import com.atguigu.shoppingmall.shoppingcart.utils.PayKeys;
+import com.atguigu.shoppingmall.utils.Constants;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+import java.util.Random;
+
+public class ShoppingCartFragment extends BaseFragment {
+
+ private TextView tvShopcartEdit;
+ private RecyclerView recyclerview;
+ private LinearLayout llCheckAll;
+ private CheckBox checkboxAll;
+ private TextView tvShopcartTotal;
+ private Button btnCheckOut;
+ private LinearLayout llDelete;
+ private CheckBox cbAll;
+ private Button btnDelete;
+ private Button btnCollection;
+ private ImageView ivEmpty;
+ private TextView tvEmptyCartTobuy;
+ private LinearLayout ll_empty_shopcart;
+ /**
+ * 编辑状态
+ */
+ private static final int ACTION_EDIT = 0;
+ /**
+ * 完成状态
+ */
+ private static final int ACTION_COMPLETE = 1;
+
+ private ShopCartAdapter adapter;
+
+
+ private void findViews(View view) {
+ tvShopcartEdit = (TextView) view.findViewById(R.id.tv_shopcart_edit);
+ recyclerview = (RecyclerView) view.findViewById(R.id.recyclerview);
+ llCheckAll = (LinearLayout) view.findViewById(R.id.ll_check_all);
+ checkboxAll = (CheckBox) view.findViewById(R.id.checkbox_all);
+ tvShopcartTotal = (TextView) view.findViewById(R.id.tv_shopcart_total);
+ btnCheckOut = (Button) view.findViewById(R.id.btn_check_out);
+ llDelete = (LinearLayout) view.findViewById(R.id.ll_delete);
+ cbAll = (CheckBox) view.findViewById(R.id.cb_all);
+ btnDelete = (Button) view.findViewById(R.id.btn_delete);
+ btnCollection = (Button) view.findViewById(R.id.btn_collection);
+ ivEmpty = (ImageView) view.findViewById(R.id.iv_empty);
+ tvEmptyCartTobuy = (TextView) view.findViewById(R.id.tv_empty_cart_tobuy);
+ ll_empty_shopcart = (LinearLayout) view.findViewById(R.id.ll_empty_shopcart);
+ tvEmptyCartTobuy.setClickable(true);
+ }
+
+
+ @Override
+ public View initView() {
+ View view = View.inflate(mContext, R.layout.fragment_shoppingcart, null);
+ findViews(view);
+ return view;
+ }
+
+ @Override
+ public void initData() {
+ initListener();
+ tvShopcartEdit.setTag(ACTION_EDIT);
+ tvShopcartEdit.setText("编辑");
+ llCheckAll.setVisibility(View.VISIBLE);
+ showData();
+
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ showData();
+ }
+
+ private void initListener() {
+ btnCheckOut.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ pay(v);
+ }
+ });
+ tvShopcartEdit.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ //设置编辑的点击事件
+ int tag = (int) tvShopcartEdit.getTag();
+ if (tag == ACTION_EDIT) {
+ //变成完成状态
+ showDelete();
+ } else {
+ //变成编辑状态
+ hideDelete();
+ }
+ }
+ });
+ btnDelete.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ adapter.deleteData();
+ adapter.showTotalPrice();
+ //显示空空如也
+ checkData();
+ adapter.checkAll();
+ }
+ });
+ tvEmptyCartTobuy.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(mContext, MainActivity.class);
+ startActivity(intent);
+ Constants.isBackHome = true;
+ }
+ });
+
+ }
+
+ private void hideDelete() {
+ tvShopcartEdit.setText("编辑");
+ tvShopcartEdit.setTag(ACTION_EDIT);
+
+ adapter.checkAll_none(true);
+ llDelete.setVisibility(View.GONE);
+ llCheckAll.setVisibility(View.VISIBLE);
+
+ adapter.showTotalPrice();
+ }
+
+ private void showDelete() {
+ tvShopcartEdit.setText("完成");
+ tvShopcartEdit.setTag(ACTION_COMPLETE);
+
+ adapter.checkAll_none(false);
+ cbAll.setChecked(false);
+ checkboxAll.setChecked(false);
+
+ llDelete.setVisibility(View.VISIBLE);
+ llCheckAll.setVisibility(View.GONE);
+
+ adapter.showTotalPrice();
+ }
+
+ private void checkData() {
+ if (adapter != null && adapter.getItemCount() > 0) {
+ tvShopcartEdit.setVisibility(View.VISIBLE);
+ ll_empty_shopcart.setVisibility(View.GONE);
+
+ } else {
+ ll_empty_shopcart.setVisibility(View.VISIBLE);
+ tvShopcartEdit.setVisibility(View.GONE);
+
+ }
+ }
+
+ private void showData() {
+ CartProvider cartProvider = CartProvider.getInstance();
+
+ List datas = cartProvider.getDataFromLocal();
+ if (datas != null && datas.size() > 0) {
+ tvShopcartEdit.setVisibility(View.VISIBLE);
+
+ adapter = new ShopCartAdapter(mContext, datas, tvShopcartTotal, cartProvider, checkboxAll, cbAll);
+ recyclerview.setLayoutManager(new LinearLayoutManager(mContext));
+ recyclerview.setAdapter(adapter);
+ ll_empty_shopcart.setVisibility(View.GONE);
+ } else {
+ //显示空的
+ tvShopcartEdit.setVisibility(View.GONE);
+ ll_empty_shopcart.setVisibility(View.VISIBLE);
+
+
+ }
+
+ }
+
+ //-------------支付------
+
+ // 商户PID
+ public static final String PARTNER = PayKeys.DEFAULT_PARTNER; //这几个用了PayKey中的方法;
+ // 商户收款账号
+ public static final String SELLER = PayKeys.DEFAULT_SELLER;
+ // 商户私钥,pkcs8格式
+ public static final String RSA_PRIVATE = PayKeys.PRIVATE;
+ // 支付宝公钥
+ public static final String RSA_PUBLIC = PayKeys.PUBLIC;
+ private static final int SDK_PAY_FLAG = 1;
+
+
+ @SuppressLint("HandlerLeak")
+ private Handler mHandler = new Handler() {
+ @SuppressWarnings("unused")
+ public void handleMessage(Message msg) {
+ switch (msg.what) {
+ case SDK_PAY_FLAG: {
+ PayResult payResult = new PayResult((String) msg.obj);
+ /**
+ * 同步返回的结果必须放置到服务端进行验证(验证的规则请看https://doc.open.alipay.com/doc2/
+ * detail.htm?spm=0.0.0.0.xdvAU6&treeId=59&articleId=103665&
+ * docType=1) 建议商户依赖异步通知
+ */
+ String resultInfo = payResult.getResult();// 同步返回需要验证的信息
+
+ String resultStatus = payResult.getResultStatus();
+ // 判断resultStatus 为“9000”则代表支付成功,具体状态码代表含义可参考接口文档
+ if (TextUtils.equals(resultStatus, "9000")) {
+ Toast.makeText(mContext, "支付成功", Toast.LENGTH_SHORT).show();
+ } else {
+ // 判断resultStatus 为非"9000"则代表可能支付失败
+ // "8000"代表支付结果因为支付渠道原因或者系统原因还在等待支付结果确认,最终交易是否成功以服务端异步通知为准(小概率状态)
+ if (TextUtils.equals(resultStatus, "8000")) {
+ Toast.makeText(mContext, "支付结果确认中", Toast.LENGTH_SHORT).show();
+
+ } else {
+ // 其他值就可以判断为支付失败,包括用户主动取消支付,或者系统返回的错误
+ Toast.makeText(mContext, "支付失败", Toast.LENGTH_SHORT).show();
+
+ }
+ }
+ break;
+ }
+ default:
+ break;
+ }
+ }
+
+ ;
+ };
+
+ /**
+ * call alipay sdk pay. 调用SDK支付
+ */
+ public void pay(View v) {
+ if (TextUtils.isEmpty(PARTNER) || TextUtils.isEmpty(RSA_PRIVATE) || TextUtils.isEmpty(SELLER)) {
+ new AlertDialog.Builder(mContext).setTitle("警告").setMessage("需要配置PARTNER | RSA_PRIVATE| SELLER")
+ .setPositiveButton("确定", new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialoginterface, int i) {
+ //
+// finish();
+ }
+ }).show();
+ return;
+ }
+ String orderInfo = getOrderInfo("淘宝购物", "爆发了...", tvShopcartTotal.getText().toString().replace("¥", ""));//总价格
+
+ /**
+ * 特别注意,这里的签名逻辑需要放在服务端,切勿将私钥泄露在代码中!
+ */
+ String sign = sign(orderInfo);
+ try {
+ /**
+ * 仅需对sign 做URL编码
+ */
+ sign = URLEncoder.encode(sign, "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+
+ /**
+ * 完整的符合支付宝参数规范的订单信息
+ */
+ final String payInfo = orderInfo + "&sign=\"" + sign + "\"&" + getSignType();
+
+ Runnable payRunnable = new Runnable() {
+
+ @Override
+ public void run() {
+ // 构造PayTask 对象
+ PayTask alipay = new PayTask((Activity) mContext);
+ // 调用支付接口,获取支付结果
+ String result = alipay.pay(payInfo, true);
+
+ Message msg = new Message();
+ msg.what = SDK_PAY_FLAG;
+ msg.obj = result;
+ mHandler.sendMessage(msg);
+ }
+ };
+
+ // 必须异步调用
+ Thread payThread = new Thread(payRunnable);
+ payThread.start();
+ }
+
+
+ /**
+ * create the order info. 创建订单信息
+ */
+ private String getOrderInfo(String subject, String body, String price) {
+
+ // 签约合作者身份ID
+ String orderInfo = "partner=" + "\"" + PARTNER + "\"";
+
+ // 签约卖家支付宝账号
+ orderInfo += "&seller_id=" + "\"" + SELLER + "\"";
+
+ // 商户网站唯一订单号
+ orderInfo += "&out_trade_no=" + "\"" + getOutTradeNo() + "\"";
+
+ // 商品名称
+ orderInfo += "&subject=" + "\"" + subject + "\"";
+
+ // 商品详情
+ orderInfo += "&body=" + "\"" + body + "\"";
+
+ // 商品金额
+ orderInfo += "&total_fee=" + "\"" + price + "\"";
+
+ // 服务器异步通知页面路径
+ orderInfo += "¬ify_url=" + "\"" + "http://notify.msp.hk/notify.htm" + "\"";
+
+ // 服务接口名称, 固定值
+ orderInfo += "&service=\"mobile.securitypay.pay\"";
+
+ // 支付类型, 固定值
+ orderInfo += "&payment_type=\"1\"";
+
+ // 参数编码, 固定值
+ orderInfo += "&_input_charset=\"utf-8\"";
+
+ // 设置未付款交易的超时时间
+ // 默认30分钟,一旦超时,该笔交易就会自动被关闭。
+ // 取值范围:1m~15d。
+ // m-分钟,h-小时,d-天,1c-当天(无论交易何时创建,都在0点关闭)。
+ // 该参数数值不接受小数点,如1.5h,可转换为90m。
+ orderInfo += "&it_b_pay=\"30m\"";
+
+ // extern_token为经过快登授权获取到的alipay_open_id,带上此参数用户将使用授权的账户进行支付
+ // orderInfo += "&extern_token=" + "\"" + extern_token + "\"";
+
+ // 支付宝处理完请求后,当前页面跳转到商户指定页面的路径,可空
+ orderInfo += "&return_url=\"m.alipay.com\"";
+
+ // 调用银行卡支付,需配置此参数,参与签名, 固定值 (需要签约《无线银行卡快捷支付》才能使用)
+ // orderInfo += "&paymethod=\"expressGateway\"";
+
+ return orderInfo;
+ }
+
+ /**
+ * get the out_trade_no for an order. 生成商户订单号,该值在商户端应保持唯一(可自定义格式规范)
+ */
+ private String getOutTradeNo() {
+ SimpleDateFormat format = new SimpleDateFormat("MMddHHmmss", Locale.getDefault());
+ Date date = new Date();
+ String key = format.format(date);
+
+ Random r = new Random();
+ key = key + r.nextInt();
+ key = key.substring(0, 15);
+ return key;
+ }
+
+ /**
+ * sign the order info. 对订单信息进行签名
+ *
+ * @param content 待签名订单信息
+ */
+ private String sign(String content) {
+ return SignUtils.sign(content, RSA_PRIVATE);
+ }
+
+ /**
+ * get the sign type we use. 获取签名方式
+ */
+ private String getSignType() {
+ return "sign_type=\"RSA\"";
+ }
+
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/pay/Base64.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/pay/Base64.java
new file mode 100644
index 0000000..f15fb73
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/pay/Base64.java
@@ -0,0 +1,268 @@
+package com.atguigu.shoppingmall.shoppingcart.pay;
+
+public final class Base64 {
+
+ private static final int BASELENGTH = 128;
+ private static final int LOOKUPLENGTH = 64;
+ private static final int TWENTYFOURBITGROUP = 24;
+ private static final int EIGHTBIT = 8;
+ private static final int SIXTEENBIT = 16;
+ private static final int FOURBYTE = 4;
+ private static final int SIGN = -128;
+ private static char PAD = '=';
+ private static byte[] base64Alphabet = new byte[BASELENGTH];
+ private static char[] lookUpBase64Alphabet = new char[LOOKUPLENGTH];
+
+ static {
+ for (int i = 0; i < BASELENGTH; ++i) {
+ base64Alphabet[i] = -1;
+ }
+ for (int i = 'Z'; i >= 'A'; i--) {
+ base64Alphabet[i] = (byte) (i - 'A');
+ }
+ for (int i = 'z'; i >= 'a'; i--) {
+ base64Alphabet[i] = (byte) (i - 'a' + 26);
+ }
+
+ for (int i = '9'; i >= '0'; i--) {
+ base64Alphabet[i] = (byte) (i - '0' + 52);
+ }
+
+ base64Alphabet['+'] = 62;
+ base64Alphabet['/'] = 63;
+
+ for (int i = 0; i <= 25; i++) {
+ lookUpBase64Alphabet[i] = (char) ('A' + i);
+ }
+
+ for (int i = 26, j = 0; i <= 51; i++, j++) {
+ lookUpBase64Alphabet[i] = (char) ('a' + j);
+ }
+
+ for (int i = 52, j = 0; i <= 61; i++, j++) {
+ lookUpBase64Alphabet[i] = (char) ('0' + j);
+ }
+ lookUpBase64Alphabet[62] = (char) '+';
+ lookUpBase64Alphabet[63] = (char) '/';
+
+ }
+
+ private static boolean isWhiteSpace(char octect) {
+ return (octect == 0x20 || octect == 0xd || octect == 0xa || octect == 0x9);
+ }
+
+ private static boolean isPad(char octect) {
+ return (octect == PAD);
+ }
+
+ private static boolean isData(char octect) {
+ return (octect < BASELENGTH && base64Alphabet[octect] != -1);
+ }
+
+ /**
+ * Encodes hex octects into Base64
+ *
+ * @param binaryData
+ * Array containing binaryData
+ * @return Encoded Base64 array
+ */
+ public static String encode(byte[] binaryData) {
+
+ if (binaryData == null) {
+ return null;
+ }
+
+ int lengthDataBits = binaryData.length * EIGHTBIT;
+ if (lengthDataBits == 0) {
+ return "";
+ }
+
+ int fewerThan24bits = lengthDataBits % TWENTYFOURBITGROUP;
+ int numberTriplets = lengthDataBits / TWENTYFOURBITGROUP;
+ int numberQuartet = fewerThan24bits != 0 ? numberTriplets + 1
+ : numberTriplets;
+ char encodedData[] = null;
+
+ encodedData = new char[numberQuartet * 4];
+
+ byte k = 0, l = 0, b1 = 0, b2 = 0, b3 = 0;
+
+ int encodedIndex = 0;
+ int dataIndex = 0;
+
+ for (int i = 0; i < numberTriplets; i++) {
+ b1 = binaryData[dataIndex++];
+ b2 = binaryData[dataIndex++];
+ b3 = binaryData[dataIndex++];
+
+ l = (byte) (b2 & 0x0f);
+ k = (byte) (b1 & 0x03);
+
+ byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2)
+ : (byte) ((b1) >> 2 ^ 0xc0);
+ byte val2 = ((b2 & SIGN) == 0) ? (byte) (b2 >> 4)
+ : (byte) ((b2) >> 4 ^ 0xf0);
+ byte val3 = ((b3 & SIGN) == 0) ? (byte) (b3 >> 6)
+ : (byte) ((b3) >> 6 ^ 0xfc);
+
+ encodedData[encodedIndex++] = lookUpBase64Alphabet[val1];
+ encodedData[encodedIndex++] = lookUpBase64Alphabet[val2 | (k << 4)];
+ encodedData[encodedIndex++] = lookUpBase64Alphabet[(l << 2) | val3];
+ encodedData[encodedIndex++] = lookUpBase64Alphabet[b3 & 0x3f];
+ }
+
+ // form integral number of 6-bit groups
+ if (fewerThan24bits == EIGHTBIT) {
+ b1 = binaryData[dataIndex];
+ k = (byte) (b1 & 0x03);
+
+ byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2)
+ : (byte) ((b1) >> 2 ^ 0xc0);
+ encodedData[encodedIndex++] = lookUpBase64Alphabet[val1];
+ encodedData[encodedIndex++] = lookUpBase64Alphabet[k << 4];
+ encodedData[encodedIndex++] = PAD;
+ encodedData[encodedIndex++] = PAD;
+ } else if (fewerThan24bits == SIXTEENBIT) {
+ b1 = binaryData[dataIndex];
+ b2 = binaryData[dataIndex + 1];
+ l = (byte) (b2 & 0x0f);
+ k = (byte) (b1 & 0x03);
+
+ byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2)
+ : (byte) ((b1) >> 2 ^ 0xc0);
+ byte val2 = ((b2 & SIGN) == 0) ? (byte) (b2 >> 4)
+ : (byte) ((b2) >> 4 ^ 0xf0);
+
+ encodedData[encodedIndex++] = lookUpBase64Alphabet[val1];
+ encodedData[encodedIndex++] = lookUpBase64Alphabet[val2 | (k << 4)];
+ encodedData[encodedIndex++] = lookUpBase64Alphabet[l << 2];
+ encodedData[encodedIndex++] = PAD;
+ }
+
+ return new String(encodedData);
+ }
+
+ /**
+ * Decodes Base64 data into octects
+ *
+ * @param encoded
+ * string containing Base64 data
+ * @return Array containind decoded data.
+ */
+ public static byte[] decode(String encoded) {
+
+ if (encoded == null) {
+ return null;
+ }
+
+ char[] base64Data = encoded.toCharArray();
+ // remove white spaces
+ int len = removeWhiteSpace(base64Data);
+
+ if (len % FOURBYTE != 0) {
+ return null;// should be divisible by four
+ }
+
+ int numberQuadruple = (len / FOURBYTE);
+
+ if (numberQuadruple == 0) {
+ return new byte[0];
+ }
+
+ byte decodedData[] = null;
+ byte b1 = 0, b2 = 0, b3 = 0, b4 = 0;
+ char d1 = 0, d2 = 0, d3 = 0, d4 = 0;
+
+ int i = 0;
+ int encodedIndex = 0;
+ int dataIndex = 0;
+ decodedData = new byte[(numberQuadruple) * 3];
+
+ for (; i < numberQuadruple - 1; i++) {
+
+ if (!isData((d1 = base64Data[dataIndex++]))
+ || !isData((d2 = base64Data[dataIndex++]))
+ || !isData((d3 = base64Data[dataIndex++]))
+ || !isData((d4 = base64Data[dataIndex++]))) {
+ return null;
+ }// if found "no data" just return null
+
+ b1 = base64Alphabet[d1];
+ b2 = base64Alphabet[d2];
+ b3 = base64Alphabet[d3];
+ b4 = base64Alphabet[d4];
+
+ decodedData[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4);
+ decodedData[encodedIndex++] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf));
+ decodedData[encodedIndex++] = (byte) (b3 << 6 | b4);
+ }
+
+ if (!isData((d1 = base64Data[dataIndex++]))
+ || !isData((d2 = base64Data[dataIndex++]))) {
+ return null;// if found "no data" just return null
+ }
+
+ b1 = base64Alphabet[d1];
+ b2 = base64Alphabet[d2];
+
+ d3 = base64Data[dataIndex++];
+ d4 = base64Data[dataIndex++];
+ if (!isData((d3)) || !isData((d4))) {// Check if they are PAD characters
+ if (isPad(d3) && isPad(d4)) {
+ if ((b2 & 0xf) != 0)// last 4 bits should be zero
+ {
+ return null;
+ }
+ byte[] tmp = new byte[i * 3 + 1];
+ System.arraycopy(decodedData, 0, tmp, 0, i * 3);
+ tmp[encodedIndex] = (byte) (b1 << 2 | b2 >> 4);
+ return tmp;
+ } else if (!isPad(d3) && isPad(d4)) {
+ b3 = base64Alphabet[d3];
+ if ((b3 & 0x3) != 0)// last 2 bits should be zero
+ {
+ return null;
+ }
+ byte[] tmp = new byte[i * 3 + 2];
+ System.arraycopy(decodedData, 0, tmp, 0, i * 3);
+ tmp[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4);
+ tmp[encodedIndex] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf));
+ return tmp;
+ } else {
+ return null;
+ }
+ } else { // No PAD e.g 3cQl
+ b3 = base64Alphabet[d3];
+ b4 = base64Alphabet[d4];
+ decodedData[encodedIndex++] = (byte) (b1 << 2 | b2 >> 4);
+ decodedData[encodedIndex++] = (byte) (((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf));
+ decodedData[encodedIndex++] = (byte) (b3 << 6 | b4);
+
+ }
+
+ return decodedData;
+ }
+
+ /**
+ * remove WhiteSpace from MIME containing encoded Base64 data.
+ *
+ * @param data
+ * the byte array of base64 data (with WS)
+ * @return the new length
+ */
+ private static int removeWhiteSpace(char[] data) {
+ if (data == null) {
+ return 0;
+ }
+
+ // count characters that's not whitespace
+ int newSize = 0;
+ int len = data.length;
+ for (int i = 0; i < len; i++) {
+ if (!isWhiteSpace(data[i])) {
+ data[newSize++] = data[i];
+ }
+ }
+ return newSize;
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/pay/PayKeys.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/pay/PayKeys.java
new file mode 100644
index 0000000..dadceb1
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/pay/PayKeys.java
@@ -0,0 +1,19 @@
+package com.atguigu.shoppingmall.shoppingcart.pay;
+
+public class PayKeys {
+ //
+ // 请参考 Android平台安全支付服务(msp)应用开发接口(4.2 RSA算法签名)部分,
+ // 并使用压缩包中的openssl RSA密钥生成工具,生成一套RSA公私钥。
+ // 这里签名时,只需要使用生成的RSA私钥。
+ // Note: 为安全起见,使用RSA私钥进行签名的操作过程,应该尽量放到商家服务器端去进行。\
+
+ //合作身份者id,以2088开头的16位纯数字 此id用来支付时快速登录
+ public static final String DEFAULT_PARTNER = "2088011085074233";
+ //收款支付宝账号
+ public static final String DEFAULT_SELLER = "917356107@qq.com";
+ //商户私钥,自助生成,在压缩包中有openssl,用此软件生成商户的公钥和私钥,写到此处要不然服务器返回错误。公钥要传到淘宝合作账户里详情请看淘宝的sdk文档
+ public static final String PRIVATE = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAL51jaxQhxW9PnWpW+nz6yJ76tp9eGFXmfGnuxMK+Pmx/qavdsewXOLBfI2OSCR39TzxwMYvCmUrnrt0fVSa7mblbNos2FnMM9ijnx8bsAAhm+i7BKhuaHMunJKH69L+D753zH3P1YIh0ly5DnAr3WPqHydp384qBvb8NS9Tay0HAgMBAAECgYB82PIVknP6fCMFXg8yPQJViIVa1ASlSpdPIXQv93FdvKABA+QI4kMBIXRUFoCT506KtK55OzzFNOLIXoQJgcXj69z0l6pmjJJgXMaBW/9rOzelot13CiGatrIrGngEZO+bCBTud/jQA598zjZ1g182tT+FLDL7GIftW2hC8GqtAQJBAN+XrYsyfL+uSmLdAVEz1vzziU1naGr10Msm1jMnnO/JYdB+84j7FSHxsQ4YOgsmeN5YVsJcVfc/CReOxknns38CQQDaEHnVPDt+Z7sqT7bN0UKh0/CrqkDTiIjhz1lJyIIoqVRoeJjJn1wlEKBV5R9gkTJutQTVU19XFtblMEnOy6p5AkEAw170rEmMSa0QoHw+d2bVtydR1QnDapqqO6kOx5oYfkm4J4eWYx4J5CQdMpSmuzF9scL85E3sa+NvnV8LEm7cHwJALtXzFPWG4bNt47yTSslzQka/Hl/G5Kginj1mtA44xnr4AihEyKlNpThY95nqj1cgOd7vVtI9W/sv1LH2aFAeIQJBAIqXbMc6xGVfuiFAJKtg+AFNMBP0UOEgMEoKo4RPFp21nBhFgL9/WYM4ZjyHUdr45rCySAqQovw4DCHLfQZC23I=";
+ //公钥
+ public static final String PUBLIC = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+dY2sUIcVvT51qVvp8+sie+rafXhhV5nxp7sTCvj5sf6mr3bHsFziwXyNjkgkd/U88cDGLwplK567dH1Umu5m5WzaLNhZzDPYo58fG7AAIZvouwSobmhzLpySh+vS/g++d8x9z9WCIdJcuQ5wK91j6h8nad/OKgb2/DUvU2stBwIDAQAB";
+}
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/pay/PayResult.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/pay/PayResult.java
new file mode 100644
index 0000000..cdb7a31
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/pay/PayResult.java
@@ -0,0 +1 @@
+package com.atguigu.shoppingmall.shoppingcart.pay;
import android.text.TextUtils;
public class PayResult {
private String resultStatus;
private String result;
private String memo;
public PayResult(String rawResult) {
if (TextUtils.isEmpty(rawResult))
return;
String[] resultParams = rawResult.split(";");
for (String resultParam : resultParams) {
if (resultParam.startsWith("resultStatus")) {
resultStatus = gatValue(resultParam, "resultStatus");
}
if (resultParam.startsWith("result")) {
result = gatValue(resultParam, "result");
}
if (resultParam.startsWith("memo")) {
memo = gatValue(resultParam, "memo");
}
}
}
@Override
public String toString() {
return "resultStatus={" + resultStatus + "};memo={" + memo
+ "};result={" + result + "}";
}
private String gatValue(String content, String key) {
String prefix = key + "={";
return content.substring(content.indexOf(prefix) + prefix.length(),
content.lastIndexOf("}"));
}
/**
* @return the resultStatus
*/
public String getResultStatus() {
return resultStatus;
}
/**
* @return the memo
*/
public String getMemo() {
return memo;
}
/**
* @return the result
*/
public String getResult() {
return result;
}
}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/pay/SignUtils.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/pay/SignUtils.java
new file mode 100644
index 0000000..68b20a5
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/pay/SignUtils.java
@@ -0,0 +1,38 @@
+package com.atguigu.shoppingmall.shoppingcart.pay;
+
+import java.security.KeyFactory;
+import java.security.PrivateKey;
+import java.security.spec.PKCS8EncodedKeySpec;
+
+public class SignUtils {
+
+ private static final String ALGORITHM = "RSA";
+
+ private static final String SIGN_ALGORITHMS = "SHA1WithRSA";
+
+ private static final String DEFAULT_CHARSET = "UTF-8";
+
+ public static String sign(String content, String privateKey) {
+ try {
+ PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec(
+ Base64.decode(privateKey));
+ KeyFactory keyf = KeyFactory.getInstance(ALGORITHM);
+ PrivateKey priKey = keyf.generatePrivate(priPKCS8);
+
+ java.security.Signature signature = java.security.Signature
+ .getInstance(SIGN_ALGORITHMS);
+
+ signature.initSign(priKey);
+ signature.update(content.getBytes(DEFAULT_CHARSET));
+
+ byte[] signed = signature.sign();
+
+ return Base64.encode(signed);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return null;
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/utils/CartProvider.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/utils/CartProvider.java
new file mode 100644
index 0000000..945c00e
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/utils/CartProvider.java
@@ -0,0 +1,144 @@
+package com.atguigu.shoppingmall.shoppingcart.utils;
+
+import android.content.Context;
+import android.text.TextUtils;
+import android.util.SparseArray;
+
+import com.atguigu.shoppingmall.app.MyAppliction;
+import com.atguigu.shoppingmall.home.bean.GoodsBean;
+import com.atguigu.shoppingmall.utils.CacheUtils;
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * 购物车数据存储类
+ */
+public class CartProvider {
+ public static final String JSON_CART = "json_cart";
+ private Context context;
+ //优化过的HashMap集合
+ private SparseArray datas;
+
+ private static CartProvider cartProvider;
+
+ private CartProvider(Context context) {
+ this.context = context;
+ datas = new SparseArray<>(100);
+ listToSparse();
+ }
+
+ public static CartProvider getInstance() {
+ if (cartProvider == null) {
+ cartProvider = new CartProvider(MyAppliction.getContext());
+ }
+ return cartProvider;
+ }
+
+ private void listToSparse() {
+ List carts = getAllData();
+ //放到sparseArry中
+ if (carts != null && carts.size() > 0) {
+ for (int i = 0; i < carts.size(); i++) {
+ GoodsBean goodsBean = carts.get(i);
+ datas.put(Integer.parseInt(goodsBean.getProduct_id()), goodsBean);
+ }
+ }
+ }
+
+
+ private List parsesToList() {
+ List carts = new ArrayList<>();
+ if (datas != null && datas.size() > 0) {
+ for (int i = 0; i < datas.size(); i++) {
+ GoodsBean shoppingCart = datas.valueAt(i);
+ carts.add(shoppingCart);
+ }
+ }
+ return carts;
+ }
+
+ public List getAllData() {
+ return getDataFromLocal();
+ }
+
+ //本地获取json数据,并且通过Gson解析成list列表数据
+ public List getDataFromLocal() {
+ List carts = new ArrayList<>();
+ //从本地获取缓存数据
+ String savaJson = CacheUtils.getString(context, JSON_CART);
+ if (!TextUtils.isEmpty(savaJson)) {
+ //把数据转换成列表
+ carts = new Gson().fromJson(savaJson, new TypeToken>() {
+ }.getType());
+ }
+ return carts;
+
+ }
+
+ public void addData(GoodsBean cart) {
+
+ //添加数据
+ GoodsBean tempCart = datas.get(Integer.parseInt(cart.getProduct_id()));
+ if (tempCart != null) {
+ tempCart.setNumber(tempCart.getNumber() + cart.getNumber());
+ } else {
+ tempCart = cart;
+ tempCart.setNumber(1);
+ }
+
+ datas.put(Integer.parseInt(tempCart.getProduct_id()), tempCart);
+
+
+
+ //保存数据
+ commit();
+ }
+
+ //保存数据
+ private void commit() {
+ //把parseArray转换成list
+ List carts = parsesToList();
+ //把转换成String
+ String json = new Gson().toJson(carts);
+
+ // 保存
+ CacheUtils.putString(context, JSON_CART, json);
+
+ }
+
+
+ public void deleteData(GoodsBean cart) {
+
+ //删除数据
+
+ datas.delete(Integer.parseInt(cart.getProduct_id()));
+
+
+ //保存数据
+ commit();
+ }
+
+ public void updataData(GoodsBean cart) {
+ //修改数据
+ datas.put(Integer.parseInt(cart.getProduct_id()), cart);
+ //保存数据
+ commit();
+ }
+
+ /**
+ * 根据key查找书籍
+ * @param goods_bean
+ * @return
+ */
+ public GoodsBean findData(GoodsBean goods_bean) {
+ GoodsBean goodsBean = datas.get(Integer.parseInt(goods_bean.getProduct_id()));
+ if(goodsBean != null){
+ return goods_bean;
+ }
+ return null;
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/utils/PayKeys.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/utils/PayKeys.java
new file mode 100644
index 0000000..5187833
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/utils/PayKeys.java
@@ -0,0 +1,19 @@
+package com.atguigu.shoppingmall.shoppingcart.utils;
+
+public class PayKeys {
+ //
+ // 请参考 Android平台安全支付服务(msp)应用开发接口(4.2 RSA算法签名)部分,
+ // 并使用压缩包中的openssl RSA密钥生成工具,生成一套RSA公私钥。
+ // 这里签名时,只需要使用生成的RSA私钥。
+ // Note: 为安全起见,使用RSA私钥进行签名的操作过程,应该尽量放到商家服务器端去进行。\
+
+ //合作身份者id,以2088开头的16位纯数字 此id用来支付时快速登录
+ public static final String DEFAULT_PARTNER = "2088011085074233";
+ //收款支付宝账号
+ public static final String DEFAULT_SELLER = "917356107@qq.com";
+ //商户私钥,自助生成,在压缩包中有openssl,用此软件生成商户的公钥和私钥,写到此处要不然服务器返回错误。公钥要传到淘宝合作账户里详情请看淘宝的sdk文档
+ public static final String PRIVATE = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAL51jaxQhxW9PnWpW+nz6yJ76tp9eGFXmfGnuxMK+Pmx/qavdsewXOLBfI2OSCR39TzxwMYvCmUrnrt0fVSa7mblbNos2FnMM9ijnx8bsAAhm+i7BKhuaHMunJKH69L+D753zH3P1YIh0ly5DnAr3WPqHydp384qBvb8NS9Tay0HAgMBAAECgYB82PIVknP6fCMFXg8yPQJViIVa1ASlSpdPIXQv93FdvKABA+QI4kMBIXRUFoCT506KtK55OzzFNOLIXoQJgcXj69z0l6pmjJJgXMaBW/9rOzelot13CiGatrIrGngEZO+bCBTud/jQA598zjZ1g182tT+FLDL7GIftW2hC8GqtAQJBAN+XrYsyfL+uSmLdAVEz1vzziU1naGr10Msm1jMnnO/JYdB+84j7FSHxsQ4YOgsmeN5YVsJcVfc/CReOxknns38CQQDaEHnVPDt+Z7sqT7bN0UKh0/CrqkDTiIjhz1lJyIIoqVRoeJjJn1wlEKBV5R9gkTJutQTVU19XFtblMEnOy6p5AkEAw170rEmMSa0QoHw+d2bVtydR1QnDapqqO6kOx5oYfkm4J4eWYx4J5CQdMpSmuzF9scL85E3sa+NvnV8LEm7cHwJALtXzFPWG4bNt47yTSslzQka/Hl/G5Kginj1mtA44xnr4AihEyKlNpThY95nqj1cgOd7vVtI9W/sv1LH2aFAeIQJBAIqXbMc6xGVfuiFAJKtg+AFNMBP0UOEgMEoKo4RPFp21nBhFgL9/WYM4ZjyHUdr45rCySAqQovw4DCHLfQZC23I=";
+ //公钥
+ public static final String PUBLIC = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+dY2sUIcVvT51qVvp8+sie+rafXhhV5nxp7sTCvj5sf6mr3bHsFziwXyNjkgkd/U88cDGLwplK567dH1Umu5m5WzaLNhZzDPYo58fG7AAIZvouwSobmhzLpySh+vS/g++d8x9z9WCIdJcuQ5wK91j6h8nad/OKgb2/DUvU2stBwIDAQAB";
+}
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/view/NumberAddSubView.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/view/NumberAddSubView.java
new file mode 100644
index 0000000..66bd001
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/shoppingcart/view/NumberAddSubView.java
@@ -0,0 +1,147 @@
+package com.atguigu.shoppingmall.shoppingcart.view;
+
+import android.annotation.TargetApi;
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.os.Build;
+import android.support.v7.widget.TintTypedArray;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.atguigu.shoppingmall.R;
+
+
+public class NumberAddSubView extends LinearLayout implements View.OnClickListener {
+ private ImageView btn_sub;
+ private ImageView btn_add;
+ private TextView tv_count;
+ private int value = 1;
+ private int minValue = 1;
+ private int maxValue = 10;
+
+ public int getValue() {
+ String countStr = tv_count.getText().toString().trim();//文本内容
+ if (countStr != null) {
+ value = Integer.valueOf(countStr);
+ }
+ return value;
+ }
+
+ public void setValue(int value) {
+ this.value = value;
+ tv_count.setText(String.valueOf(value));
+ }
+
+ public int getMinValue() {
+ return minValue;
+ }
+
+ public void setMinValue(int minValue) {
+ this.minValue = minValue;
+ }
+
+ public int getMaxValue() {
+ return maxValue;
+ }
+
+ public void setMaxValue(int maxValue) {
+ this.maxValue = maxValue;
+ }
+
+ public NumberAddSubView(Context context) {
+ this(context, null);
+ }
+
+ public NumberAddSubView(Context context, AttributeSet attrs) {
+ this(context, attrs, 0);
+ }
+
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
+ public NumberAddSubView(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ //把布局和当前类形成整体
+ View.inflate(context, R.layout.number_add_sub_layout, this);
+ btn_sub = (ImageView) findViewById(R.id.btn_sub);
+ btn_add = (ImageView) findViewById(R.id.btn_add);
+ tv_count = (TextView) findViewById(R.id.tv_count);
+
+ getValue();
+
+ //设置点击事件
+ btn_add.setOnClickListener(this);
+ btn_sub.setOnClickListener(this);
+
+ if (attrs != null) {
+ //取出属性
+ TintTypedArray tintTypedArray = TintTypedArray.obtainStyledAttributes(context, attrs, R.styleable.NumberAddSubView);
+ int value = tintTypedArray.getInt(R.styleable.NumberAddSubView_value, 0);
+ if (value > 0) {
+ setValue(value);
+ }
+ int minValue = tintTypedArray.getInt(R.styleable.NumberAddSubView_minValue, 0);
+ if (value > 0) {
+ setMinValue(minValue);
+ }
+ int maxValue = tintTypedArray.getInt(R.styleable.NumberAddSubView_maxValue, 0);
+ if (value > 0) {
+ setMaxValue(maxValue);
+ }
+ Drawable addDrawable = tintTypedArray.getDrawable(R.styleable.NumberAddSubView_numberAddBackground);
+ if (addDrawable != null) {
+ btn_add.setImageDrawable(addDrawable);
+ }
+ Drawable subDrawable = tintTypedArray.getDrawable(R.styleable.NumberAddSubView_numberSubBackground);
+ if (subDrawable != null) {
+ btn_sub.setImageDrawable(subDrawable);
+ }
+ }
+ }
+
+ @Override
+ public void onClick(View v) {
+ if (v.getId() == R.id.btn_add) {
+ //加
+ addNumber();
+ if (onNumberChangeListener != null) {
+ onNumberChangeListener.addNumber(v, value);
+ }
+ } else {
+ //减
+ subNumber();
+ if (onNumberChangeListener != null) {
+ onNumberChangeListener.subNumner(v, value);
+ }
+ }
+ }
+
+ private void subNumber() {
+ if (value > minValue) {
+ value -= 1;
+ }
+ setValue(value);
+
+ }
+
+ private void addNumber() {
+ if (value < maxValue) {
+ value += 1;
+ }
+ setValue(value);
+ }
+
+ public interface OnNumberChangeListener {
+ //当按钮被点击的时候回调
+ void addNumber(View view, int value);
+
+ void subNumner(View view, int value);
+ }
+
+ private OnNumberChangeListener onNumberChangeListener;
+
+ public void setOnNumberChangeListener(OnNumberChangeListener onNumberChangeListener) {
+ this.onNumberChangeListener = onNumberChangeListener;
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/adapter/TagGridViewAdapter.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/adapter/TagGridViewAdapter.java
new file mode 100644
index 0000000..d56e4cb
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/adapter/TagGridViewAdapter.java
@@ -0,0 +1,72 @@
+package com.atguigu.shoppingmall.type.adapter;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.type.bean.TagBean;
+
+import java.util.List;
+
+import butterknife.Bind;
+import butterknife.ButterKnife;
+
+
+public class TagGridViewAdapter extends BaseAdapter {
+ private Context mContext;
+ private List result;
+ private int[] colors = {Color.parseColor("#f0a420"), Color.parseColor("#4ba5e2"), Color.parseColor("#f0839a"),
+ Color.parseColor("#4ba5e2"), Color.parseColor("#f0839a"), Color.parseColor("#f0a420"),
+ Color.parseColor("#f0839a"), Color.parseColor("#f0a420"), Color.parseColor("#4ba5e2")
+ };
+
+ public TagGridViewAdapter(Context mContext, List result) {
+ this.mContext = mContext;
+ this.result = result;
+ }
+
+ @Override
+ public int getCount() {
+ return result.size();
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return result.get(position);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ ViewHolder holder;
+ if (convertView == null) {
+ convertView = View.inflate(mContext, R.layout.item_tab_gridview, null);
+ holder = new ViewHolder(convertView);
+ convertView.setTag(holder);
+ } else {
+ holder = (ViewHolder) convertView.getTag();
+ }
+ TagBean.ResultBean resultBean = result.get(position);
+ holder.tvTag.setText(resultBean.getName());
+ holder.tvTag.setTextColor(colors[position % colors.length]);
+
+ return convertView;
+ }
+
+ static class ViewHolder {
+ @Bind(R.id.tv_tag)
+ TextView tvTag;
+
+ ViewHolder(View view) {
+ ButterKnife.bind(this, view);
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/adapter/TypeLeftAdapter.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/adapter/TypeLeftAdapter.java
new file mode 100644
index 0000000..11d2c4d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/adapter/TypeLeftAdapter.java
@@ -0,0 +1,72 @@
+package com.atguigu.shoppingmall.type.adapter;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.atguigu.shoppingmall.R;
+
+
+
+public class TypeLeftAdapter extends BaseAdapter {
+ private Context mContext;
+ private int mSelect = 0;//选中项
+ private String[] titles = new String[]{"小裙子", "上衣", "下装", "外套", "配件", "包包", "装扮", "居家宅品", "办公文具", "数码周边", "游戏专区"};
+
+ public TypeLeftAdapter(Context mContext) {
+ this.mContext = mContext;
+ }
+
+ @Override
+ public int getCount() {
+ return titles.length;
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return titles[position];
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ ViewHolder holder;
+ if (convertView == null) {
+ convertView = View.inflate(mContext, R.layout.item_type, null);
+ holder = new ViewHolder();
+ holder.tv_name = (TextView) convertView.findViewById(R.id.tv_title);
+
+ convertView.setTag(holder);
+ } else {
+ holder = (ViewHolder) convertView.getTag();
+ }
+ holder.tv_name.setText(titles[position]);
+
+ if (mSelect == position) {
+ convertView.setBackgroundResource(R.drawable.type_item_background_selector); //选中项背景
+ holder.tv_name.setTextColor(Color.parseColor("#fd3f3f"));
+ } else {
+ convertView.setBackgroundResource(R.drawable.bg2); //其他项背景
+ holder.tv_name.setTextColor(Color.parseColor("#323437"));
+ }
+ return convertView;
+ }
+
+ public void changeSelected(int positon) { //刷新方法
+ if (positon != mSelect) {
+ mSelect = positon;
+ notifyDataSetChanged();
+ }
+ }
+
+ static class ViewHolder {
+ private TextView tv_name;
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/adapter/TypeRightAdapter.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/adapter/TypeRightAdapter.java
new file mode 100644
index 0000000..bd26151
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/adapter/TypeRightAdapter.java
@@ -0,0 +1,209 @@
+package com.atguigu.shoppingmall.type.adapter;
+
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Color;
+import android.support.v7.widget.RecyclerView;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.app.GoodsInfoActivity;
+import com.atguigu.shoppingmall.home.bean.GoodsBean;
+import com.atguigu.shoppingmall.type.bean.TypeBean;
+import com.atguigu.shoppingmall.utils.Constants;
+import com.atguigu.shoppingmall.utils.DensityUtil;
+import com.bumptech.glide.Glide;
+
+import java.util.List;
+
+
+public class TypeRightAdapter extends RecyclerView.Adapter {
+ private Context mContext;
+ /**
+ * 常用分类
+ */
+ private List child;
+ /**
+ * 热卖商品列表的数据
+ */
+ private List hot_product_list;
+
+ /**
+ * 热卖
+ */
+ public static final int HOT = 0;
+ /**
+ * 普通的
+ */
+ public static final int ORDINARY = 1;
+
+
+ /**
+ * 当前的类型
+ */
+ public int currentType;
+
+ private final LayoutInflater mLayoutInflater;
+
+ public TypeRightAdapter(Context mContext, List result) {
+ this.mContext = mContext;
+
+ mLayoutInflater = LayoutInflater.from(mContext);
+
+ if (result != null && result.size() > 0) {
+ child = result.get(0).getChild();
+ hot_product_list = result.get(0).getHot_product_list();
+ }
+ }
+
+ @Override
+ public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+ if (viewType == HOT) {
+ return new HotViewHolder(mLayoutInflater.inflate(R.layout.item_hot_right, null), mContext);
+ } else {
+ return new OrdinaryViewHolder(mLayoutInflater.inflate(R.layout.item_ordinary_right, null), mContext);
+ }
+ }
+
+ @Override
+ public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
+ if (getItemViewType(position) == HOT) {
+ HotViewHolder hotViewHolder = (HotViewHolder) holder;
+ hotViewHolder.setData(hot_product_list);
+ } else {
+ OrdinaryViewHolder ordinaryViewHolder = (OrdinaryViewHolder) holder;
+ ordinaryViewHolder.setData(child.get(position - 1), position - 1);
+ }
+ }
+
+ @Override
+ public int getItemViewType(int position) {
+ if (position == HOT) {
+ currentType = HOT;
+ } else {
+ currentType = ORDINARY;
+ }
+ return currentType;
+ }
+
+ @Override
+ public int getItemCount() {
+ return child.size() + 1;
+ }
+
+ class OrdinaryViewHolder extends RecyclerView.ViewHolder {
+ private Context mContext;
+ private ImageView iv_ordinary_right;
+ private TextView tv_ordinary_right;
+ private LinearLayout ll_root;
+
+ public OrdinaryViewHolder(View itemView, final Context mContext) {
+ super(itemView);
+ this.mContext = mContext;
+ iv_ordinary_right = (ImageView) itemView.findViewById(R.id.iv_ordinary_right);
+ tv_ordinary_right = (TextView) itemView.findViewById(R.id.tv_ordinary_right);
+ ll_root = (LinearLayout) itemView.findViewById(R.id.ll_root);
+
+
+ }
+
+ public void setData(TypeBean.ResultBean.ChildBean childBean, final int position) {
+ //加载图片
+ Glide.with(mContext)
+ .load(Constants.BASE_URl_IMAGE +childBean.getPic())
+ .into(iv_ordinary_right);
+ //设置名称
+ tv_ordinary_right.setText(childBean.getName());
+
+ ll_root.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Toast.makeText(mContext, "posotion" + position, Toast.LENGTH_SHORT).show();
+ }
+ });
+ }
+ }
+
+ class HotViewHolder extends RecyclerView.ViewHolder {
+ private LinearLayout linear;
+ private Context mContext;
+
+ public HotViewHolder(View itemView, Context mContext) {
+ super(itemView);
+ this.mContext = mContext;
+ linear = (LinearLayout) itemView.findViewById(R.id.linear);
+
+ }
+
+ public void setData(final List hot_product_list) {
+ for (int i = 0; i < hot_product_list.size(); i++) {
+
+ LinearLayout.LayoutParams lineLp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+ final LinearLayout myLinear = new LinearLayout(mContext);
+ lineLp.setMargins(DensityUtil.dip2px(mContext, 5), 0, DensityUtil.dip2px(mContext, 5), DensityUtil.dip2px(mContext, 20));
+ myLinear.setOrientation(LinearLayout.VERTICAL);
+
+
+
+ //添加到孩子里面
+ linear.addView(myLinear, lineLp);
+
+ //设置图片
+ LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(DensityUtil.dip2px(mContext, 80), DensityUtil.dip2px(mContext, 80));
+ ImageView imageView = new ImageView(mContext);
+ //请求图片
+ Glide.with(mContext)
+ .load(Constants.BASE_URl_IMAGE +hot_product_list.get(i).getFigure())
+ .into(imageView);
+ //设置距离底部有10个dp
+ lp.setMargins(0, 0, 0, DensityUtil.dip2px(mContext, 10));
+
+ myLinear.addView(imageView, lp);
+
+
+
+ //设置价格
+ LinearLayout.LayoutParams textViewLp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+ TextView textView = new TextView(mContext);
+ textView.setText("¥" + hot_product_list.get(i).getCover_price());
+ textView.setGravity(Gravity.CENTER);
+ textView.setTextColor(Color.parseColor("#ed3f3f"));
+
+
+ //添加到布局里面
+ myLinear.addView(textView, textViewLp);
+
+
+ myLinear.setTag(i);
+ //点击事件
+ myLinear.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ int i = (int) myLinear.getTag();
+
+ String cover_price = hot_product_list.get(i).getCover_price();
+ String name = hot_product_list.get(i).getName();
+ String figure = hot_product_list.get(i).getFigure();
+ String product_id = hot_product_list.get(i).getProduct_id();
+ GoodsBean goodsBean = new GoodsBean(name, cover_price, figure, product_id);
+
+ Intent intent = new Intent(mContext, GoodsInfoActivity.class);
+ intent.putExtra("goods_bean", goodsBean);
+ mContext.startActivity(intent);
+ // Toast.makeText(mContext, "position" + i, Toast.LENGTH_SHORT).show();
+ }
+ });
+ }
+
+ }
+ }
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/bean/TagBean.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/bean/TagBean.java
new file mode 100644
index 0000000..d27ff27
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/bean/TagBean.java
@@ -0,0 +1,67 @@
+package com.atguigu.shoppingmall.type.bean;
+
+import java.util.List;
+
+
+public class TagBean {
+
+ /**
+ * code : 200
+ * msg : 请求成功
+ * result : [{"tag_id":"1","name":"喵星人"},{"tag_id":"2","name":"尚硅谷"},{"tag_id":"3","name":"星河动漫"},{"tag_id":"4","name":"A3原创洋装店"},{"tag_id":"5","name":"世界线的彼岸"},{"tag_id":"6","name":"一方尘寰"},{"tag_id":"7","name":"彩虹堂正品动漫"},{"tag_id":"8","name":"amovo魔吻"},{"tag_id":"9","name":"SYS艺术说"},{"tag_id":"10","name":"石头人工作室"},{"tag_id":"11","name":"Funko"},{"tag_id":"12","name":"十里丹青"},{"tag_id":"13","name":"创一文化"},{"tag_id":"14","name":"亚蒙兔家"},{"tag_id":"15","name":"宇宙电波"},{"tag_id":"16","name":"禹屋原创"},{"tag_id":"17","name":"符豚甲胄"},{"tag_id":"18","name":"能量天使"},{"tag_id":"19","name":"上海筒菲"},{"tag_id":"20","name":"chairball原创设计"},{"tag_id":"21","name":"砚池工作室"},{"tag_id":"22","name":"云落秋池"},{"tag_id":"23","name":"十一宫"},{"tag_id":"24","name":"长草颜文字"},{"tag_id":"25","name":"网易游戏"},{"tag_id":"26","name":"ISOS"},{"tag_id":"27","name":"绝对萌域"},{"tag_id":"31","name":"雪猫一族"},{"tag_id":"32","name":"天闻角川"},{"tag_id":"33","name":"静悦坊"}]
+ */
+
+ private int code;
+ private String msg;
+ /**
+ * tag_id : 1
+ * name : 喵星人
+ */
+
+ private List result;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+
+ public List getResult() {
+ return result;
+ }
+
+ public void setResult(List result) {
+ this.result = result;
+ }
+
+ public static class ResultBean {
+ private String tag_id;
+ private String name;
+
+ public String getTag_id() {
+ return tag_id;
+ }
+
+ public void setTag_id(String tag_id) {
+ this.tag_id = tag_id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/bean/TypeBean.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/bean/TypeBean.java
new file mode 100644
index 0000000..c6a5ae4
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/bean/TypeBean.java
@@ -0,0 +1,298 @@
+package com.atguigu.shoppingmall.type.bean;
+
+import java.util.List;
+
+public class TypeBean {
+
+ /**
+ * code : 200
+ * msg : 请求成功
+ * result : [{"p_catalog_id":"3","parent_id":"0","name":"小裙子","pic":"","is_deleted":"0","child":[{"p_catalog_id":"10","parent_id":"3","name":"古风","pic":"http://brand.cycangcdn.com/product_catalog/1446016297307.jpg","is_deleted":"0"},{"p_catalog_id":"11","parent_id":"3","name":"和风","pic":"http://brand.cycangcdn.com/product_catalog/1446016509141.jpg","is_deleted":"0"},{"p_catalog_id":"12","parent_id":"3","name":"lolita","pic":"http://brand.cycangcdn.com/product_catalog/1446016728621.jpg","is_deleted":"0"},{"p_catalog_id":"91","parent_id":"3","name":"日常","pic":"http://brand.cycangcdn.com/product_catalog/1446444753067.jpg","is_deleted":"0"}],"hot_product_list":[{"product_id":"2704","channel_id":"6","brand_id":"230","p_catalog_id":"3","supplier_type":"1","supplier_code":"0","name":"中华风lolita -山海经 凤凰图 JSK","cover_price":"300.00","brief":"","figure":"http://f.p.cycangcdn.com/1447239453626.jpg","sell_time_start":"1447171200","sell_time_end":"1447776000"},{"product_id":"5181","channel_id":"6","brand_id":"394","p_catalog_id":"10","supplier_type":"2","supplier_code":"1101037","name":"【画影】汉元素 古风日常\u2014\u2014 仲夏 ","cover_price":"250.00","brief":"","figure":"http://f.p.cycangcdn.com/1457504361484.jpg","sell_time_start":"1457452800","sell_time_end":"1458057600"},{"product_id":"3571","channel_id":"8","brand_id":"259","p_catalog_id":"12","supplier_type":"2","supplier_code":"1801005","name":"【INFANTA.婴梵塔】学院风尖领外套/大衣","cover_price":"287.00","brief":"","figure":"http://f.p.cycangcdn.com/1450433177397.jpg","sell_time_start":"1450368000","sell_time_end":"1450972800"},{"product_id":"7729","channel_id":"8","brand_id":"432","p_catalog_id":"91","supplier_type":"2","supplier_code":"1601008","name":"现货【TUMO】 雨库洛牌元素 软妹森女系短袖连衣裙","cover_price":"179.00","brief":"","figure":"http://f.p.cycangcdn.com/supplier/1467687105197.jpg","sell_time_start":"0","sell_time_end":"0"},{"product_id":"5383","channel_id":"3","brand_id":"77","p_catalog_id":"91","supplier_type":"2","supplier_code":"2105003","name":"【宅漫周边店】猫咪后院 衬衫+背带裙2件套装 超软萌","cover_price":"149.00","brief":"","figure":"http://f.p.cycangcdn.com/1458285839004.jpg","sell_time_start":"1458230400","sell_time_end":"1458835200"},{"product_id":"589","channel_id":"8","brand_id":"266","p_catalog_id":"12","supplier_type":"2","supplier_code":"1801001","name":"定制【Neverland 原创】直发 烫金lolita 人鱼之歌 高腰JSK连衣裙","cover_price":"458.00","brief":"45天工期","figure":"http://f.p.cycangcdn.com/1438772068067.jpg","sell_time_start":"1438704000","sell_time_end":"1439308800"}]}]
+ */
+
+ private int code;
+ private String msg;
+ /**
+ * p_catalog_id : 3
+ * parent_id : 0
+ * name : 小裙子
+ * pic :
+ * is_deleted : 0
+ * child : [{"p_catalog_id":"10","parent_id":"3","name":"古风","pic":"http://brand.cycangcdn.com/product_catalog/1446016297307.jpg","is_deleted":"0"},{"p_catalog_id":"11","parent_id":"3","name":"和风","pic":"http://brand.cycangcdn.com/product_catalog/1446016509141.jpg","is_deleted":"0"},{"p_catalog_id":"12","parent_id":"3","name":"lolita","pic":"http://brand.cycangcdn.com/product_catalog/1446016728621.jpg","is_deleted":"0"},{"p_catalog_id":"91","parent_id":"3","name":"日常","pic":"http://brand.cycangcdn.com/product_catalog/1446444753067.jpg","is_deleted":"0"}]
+ * hot_product_list : [{"product_id":"2704","channel_id":"6","brand_id":"230","p_catalog_id":"3","supplier_type":"1","supplier_code":"0","name":"中华风lolita -山海经 凤凰图 JSK","cover_price":"300.00","brief":"","figure":"http://f.p.cycangcdn.com/1447239453626.jpg","sell_time_start":"1447171200","sell_time_end":"1447776000"},{"product_id":"5181","channel_id":"6","brand_id":"394","p_catalog_id":"10","supplier_type":"2","supplier_code":"1101037","name":"【画影】汉元素 古风日常\u2014\u2014 仲夏 ","cover_price":"250.00","brief":"","figure":"http://f.p.cycangcdn.com/1457504361484.jpg","sell_time_start":"1457452800","sell_time_end":"1458057600"},{"product_id":"3571","channel_id":"8","brand_id":"259","p_catalog_id":"12","supplier_type":"2","supplier_code":"1801005","name":"【INFANTA.婴梵塔】学院风尖领外套/大衣","cover_price":"287.00","brief":"","figure":"http://f.p.cycangcdn.com/1450433177397.jpg","sell_time_start":"1450368000","sell_time_end":"1450972800"},{"product_id":"7729","channel_id":"8","brand_id":"432","p_catalog_id":"91","supplier_type":"2","supplier_code":"1601008","name":"现货【TUMO】 雨库洛牌元素 软妹森女系短袖连衣裙","cover_price":"179.00","brief":"","figure":"http://f.p.cycangcdn.com/supplier/1467687105197.jpg","sell_time_start":"0","sell_time_end":"0"},{"product_id":"5383","channel_id":"3","brand_id":"77","p_catalog_id":"91","supplier_type":"2","supplier_code":"2105003","name":"【宅漫周边店】猫咪后院 衬衫+背带裙2件套装 超软萌","cover_price":"149.00","brief":"","figure":"http://f.p.cycangcdn.com/1458285839004.jpg","sell_time_start":"1458230400","sell_time_end":"1458835200"},{"product_id":"589","channel_id":"8","brand_id":"266","p_catalog_id":"12","supplier_type":"2","supplier_code":"1801001","name":"定制【Neverland 原创】直发 烫金lolita 人鱼之歌 高腰JSK连衣裙","cover_price":"458.00","brief":"45天工期","figure":"http://f.p.cycangcdn.com/1438772068067.jpg","sell_time_start":"1438704000","sell_time_end":"1439308800"}]
+ */
+
+ private List result;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+
+ public List getResult() {
+ return result;
+ }
+
+ public void setResult(List result) {
+ this.result = result;
+ }
+
+ public static class ResultBean {
+ private String p_catalog_id;
+ private String parent_id;
+ private String name;
+ private String pic;
+ private String is_deleted;
+ /**
+ * p_catalog_id : 10
+ * parent_id : 3
+ * name : 古风
+ * pic : http://brand.cycangcdn.com/product_catalog/1446016297307.jpg
+ * is_deleted : 0
+ */
+
+ private List child;
+ /**
+ * product_id : 2704
+ * channel_id : 6
+ * brand_id : 230
+ * p_catalog_id : 3
+ * supplier_type : 1
+ * supplier_code : 0
+ * name : 中华风lolita -山海经 凤凰图 JSK
+ * cover_price : 300.00
+ * brief :
+ * figure : http://f.p.cycangcdn.com/1447239453626.jpg
+ * sell_time_start : 1447171200
+ * sell_time_end : 1447776000
+ */
+
+ private List hot_product_list;
+
+ public String getP_catalog_id() {
+ return p_catalog_id;
+ }
+
+ public void setP_catalog_id(String p_catalog_id) {
+ this.p_catalog_id = p_catalog_id;
+ }
+
+ public String getParent_id() {
+ return parent_id;
+ }
+
+ public void setParent_id(String parent_id) {
+ this.parent_id = parent_id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getPic() {
+ return pic;
+ }
+
+ public void setPic(String pic) {
+ this.pic = pic;
+ }
+
+ public String getIs_deleted() {
+ return is_deleted;
+ }
+
+ public void setIs_deleted(String is_deleted) {
+ this.is_deleted = is_deleted;
+ }
+
+ public List getChild() {
+ return child;
+ }
+
+ public void setChild(List child) {
+ this.child = child;
+ }
+
+ public List getHot_product_list() {
+ return hot_product_list;
+ }
+
+ public void setHot_product_list(List hot_product_list) {
+ this.hot_product_list = hot_product_list;
+ }
+
+ public static class ChildBean {
+ private String p_catalog_id;
+ private String parent_id;
+ private String name;
+ private String pic;
+ private String is_deleted;
+
+ public String getP_catalog_id() {
+ return p_catalog_id;
+ }
+
+ public void setP_catalog_id(String p_catalog_id) {
+ this.p_catalog_id = p_catalog_id;
+ }
+
+ public String getParent_id() {
+ return parent_id;
+ }
+
+ public void setParent_id(String parent_id) {
+ this.parent_id = parent_id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getPic() {
+ return pic;
+ }
+
+ public void setPic(String pic) {
+ this.pic = pic;
+ }
+
+ public String getIs_deleted() {
+ return is_deleted;
+ }
+
+ public void setIs_deleted(String is_deleted) {
+ this.is_deleted = is_deleted;
+ }
+ }
+
+ public static class HotProductListBean {
+ private String product_id;
+ private String channel_id;
+ private String brand_id;
+ private String p_catalog_id;
+ private String supplier_type;
+ private String supplier_code;
+ private String name;
+ private String cover_price;
+ private String brief;
+ private String figure;
+ private String sell_time_start;
+ private String sell_time_end;
+
+ public String getProduct_id() {
+ return product_id;
+ }
+
+ public void setProduct_id(String product_id) {
+ this.product_id = product_id;
+ }
+
+ public String getChannel_id() {
+ return channel_id;
+ }
+
+ public void setChannel_id(String channel_id) {
+ this.channel_id = channel_id;
+ }
+
+ public String getBrand_id() {
+ return brand_id;
+ }
+
+ public void setBrand_id(String brand_id) {
+ this.brand_id = brand_id;
+ }
+
+ public String getP_catalog_id() {
+ return p_catalog_id;
+ }
+
+ public void setP_catalog_id(String p_catalog_id) {
+ this.p_catalog_id = p_catalog_id;
+ }
+
+ public String getSupplier_type() {
+ return supplier_type;
+ }
+
+ public void setSupplier_type(String supplier_type) {
+ this.supplier_type = supplier_type;
+ }
+
+ public String getSupplier_code() {
+ return supplier_code;
+ }
+
+ public void setSupplier_code(String supplier_code) {
+ this.supplier_code = supplier_code;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getCover_price() {
+ return cover_price;
+ }
+
+ public void setCover_price(String cover_price) {
+ this.cover_price = cover_price;
+ }
+
+ public String getBrief() {
+ return brief;
+ }
+
+ public void setBrief(String brief) {
+ this.brief = brief;
+ }
+
+ public String getFigure() {
+ return figure;
+ }
+
+ public void setFigure(String figure) {
+ this.figure = figure;
+ }
+
+ public String getSell_time_start() {
+ return sell_time_start;
+ }
+
+ public void setSell_time_start(String sell_time_start) {
+ this.sell_time_start = sell_time_start;
+ }
+
+ public String getSell_time_end() {
+ return sell_time_end;
+ }
+
+ public void setSell_time_end(String sell_time_end) {
+ this.sell_time_end = sell_time_end;
+ }
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/fragment/ListFragment.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/fragment/ListFragment.java
new file mode 100644
index 0000000..aca2db3
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/fragment/ListFragment.java
@@ -0,0 +1,173 @@
+package com.atguigu.shoppingmall.type.fragment;
+
+
+import android.support.v4.app.Fragment;
+import android.support.v7.widget.GridLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.util.Log;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.FrameLayout;
+import android.widget.ListView;
+import android.widget.Toast;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.type.adapter.TypeLeftAdapter;
+import com.atguigu.shoppingmall.type.adapter.TypeRightAdapter;
+import com.atguigu.shoppingmall.base.BaseFragment;
+import com.atguigu.shoppingmall.type.bean.TypeBean;
+import com.atguigu.shoppingmall.utils.Constants;
+import com.google.gson.Gson;
+import com.zhy.http.okhttp.OkHttpUtils;
+import com.zhy.http.okhttp.callback.StringCallback;
+
+import java.util.List;
+
+import okhttp3.Call;
+import okhttp3.Request;
+
+/**
+ * 分类页面
+ * A simple {@link Fragment} subclass.
+ */
+public class ListFragment extends BaseFragment {
+ private FrameLayout fl_list_container;
+ private ListView lv_left;
+ private RecyclerView rv_right;
+ private List result;
+
+ private String[] urls = new String[]{Constants.SKIRT_URL, Constants.JACKET_URL, Constants.PANTS_URL, Constants.OVERCOAT_URL,
+ Constants.ACCESSORY_URL, Constants.BAG_URL, Constants.DRESS_UP_URL, Constants.HOME_PRODUCTS_URL, Constants.STATIONERY_URL,
+ Constants.DIGIT_URL, Constants.GAME_URL};
+//
+//
+
+ private TypeLeftAdapter leftAdapter;
+ private boolean isFirst = true;
+
+ @Override
+ public View initView() {
+ View view = View.inflate(mContext, R.layout.fragment_list, null);
+ lv_left = (ListView) view.findViewById(R.id.lv_left);
+ rv_right = (RecyclerView) view.findViewById(R.id.rv_right);
+ return view;
+ }
+
+ @Override
+ public void initData() {
+ super.initData();
+ //联网请求
+ getDataFromNet(urls[0]);
+ }
+
+ /**
+ * 具体的联网请求代码
+ * @param url
+ */
+ public void getDataFromNet(String url) {
+ OkHttpUtils
+ .get()
+ .url(url)
+ .id(100)
+ .build()
+ .execute(new MyStringCallback());
+ }
+
+ public class MyStringCallback extends StringCallback {
+
+
+ @Override
+ public void onBefore(Request request, int id) {
+ }
+
+ @Override
+ public void onAfter(int id) {
+ }
+
+ @Override
+ public void onError(Call call, Exception e, int id) {
+ Log.e("TAG", "联网失败" + e.getMessage());
+ }
+
+ @Override
+ public void onResponse(String response, int id) {
+ //两位请求成功
+
+ switch (id) {
+ case 100:
+// Toast.makeText(mContext, "http", Toast.LENGTH_SHORT).show();
+ if (response != null) {
+ //解析数据
+ processData(response);
+ if (isFirst) {
+ leftAdapter = new TypeLeftAdapter(mContext);
+ lv_left.setAdapter(leftAdapter);
+ }
+
+
+ initListener(leftAdapter);
+
+ //解析右边数据
+ TypeRightAdapter rightAdapter = new TypeRightAdapter(mContext, result);
+ rv_right.setAdapter(rightAdapter);
+
+ GridLayoutManager manager = new GridLayoutManager(getActivity(), 3);
+
+ manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
+ @Override
+ public int getSpanSize(int position) {
+ if (position == 0) {
+ return 3;
+ } else {
+ return 1;
+ }
+ }
+ });
+ rv_right.setLayoutManager(manager);
+ }
+
+ break;
+ case 101:
+ Toast.makeText(mContext, "https", Toast.LENGTH_SHORT).show();
+ break;
+ }
+ }
+
+ }
+
+ private void initListener(final TypeLeftAdapter adapter) {
+ //点击监听
+ lv_left.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> parent, View view, int position, long id) {
+ adapter.changeSelected(position);//刷新
+ if (position != 0) {
+ isFirst = false;
+ }
+ getDataFromNet(urls[position]);
+ leftAdapter.notifyDataSetChanged();
+ }
+ });
+
+ //选中监听
+ lv_left.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
+ @Override
+ public void onItemSelected(AdapterView> parent, View view, int position, long id) {
+ adapter.changeSelected(position);//刷新
+
+ }
+
+ @Override
+ public void onNothingSelected(AdapterView> parent) {
+
+ }
+ });
+
+ }
+
+ private void processData(String json) {
+ Gson gson = new Gson();
+ TypeBean typeBean = gson.fromJson(json, TypeBean.class);
+ result = typeBean.getResult();
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/fragment/TagFragment.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/fragment/TagFragment.java
new file mode 100644
index 0000000..827e7cd
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/fragment/TagFragment.java
@@ -0,0 +1,99 @@
+package com.atguigu.shoppingmall.type.fragment;
+
+
+import android.support.v4.app.Fragment;
+import android.util.Log;
+import android.view.View;
+import android.widget.GridView;
+import android.widget.Toast;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.type.adapter.TagGridViewAdapter;
+import com.atguigu.shoppingmall.base.BaseFragment;
+import com.atguigu.shoppingmall.type.bean.TagBean;
+import com.atguigu.shoppingmall.utils.Constants;
+import com.google.gson.Gson;
+import com.zhy.http.okhttp.OkHttpUtils;
+import com.zhy.http.okhttp.callback.StringCallback;
+
+import java.util.List;
+
+import okhttp3.Call;
+import okhttp3.Request;
+
+/**
+ * A simple {@link Fragment} subclass.
+ */
+public class TagFragment extends BaseFragment {
+
+ private GridView gv_tag;
+ private TagGridViewAdapter adapter;
+ private List result;
+
+ @Override
+ public View initView() {
+ View view = View.inflate(mContext, R.layout.fragment_tag, null);
+ gv_tag = (GridView) view.findViewById(R.id.gv_tag);
+
+ return view;
+ }
+
+ @Override
+ public void initData() {
+ getDataFromNet();
+
+ }
+
+
+ public void getDataFromNet() {
+ OkHttpUtils
+ .get()
+ .url(Constants.TAG_URL)
+ .id(100)
+ .build()
+ .execute(new MyStringCallback());
+ }
+
+ public class MyStringCallback extends StringCallback {
+
+
+ @Override
+ public void onBefore(Request request, int id) {
+ }
+
+ @Override
+ public void onAfter(int id) {
+ }
+
+ @Override
+ public void onError(Call call, Exception e, int id) {
+ Log.e("TAG", "联网失败" + e.getMessage());
+ }
+
+ @Override
+ public void onResponse(String response, int id) {
+
+ switch (id) {
+ case 100:
+// Toast.makeText(mContext, "http", Toast.LENGTH_SHORT).show();
+ if (response != null) {
+ processData(response);
+ adapter = new TagGridViewAdapter(mContext, result);
+ gv_tag.setAdapter(adapter);
+ }
+ break;
+ case 101:
+ Toast.makeText(mContext, "https", Toast.LENGTH_SHORT).show();
+ break;
+ }
+ }
+
+ }
+
+ private void processData(String json) {
+ Gson gson = new Gson();
+ TagBean tagBean = gson.fromJson(json, TagBean.class);
+ result = tagBean.getResult();
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/fragment/TypeFragment.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/fragment/TypeFragment.java
new file mode 100644
index 0000000..951c62c
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/type/fragment/TypeFragment.java
@@ -0,0 +1,106 @@
+package com.atguigu.shoppingmall.type.fragment;
+
+
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentTransaction;
+import android.view.View;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.base.BaseFragment;
+import com.flyco.tablayout.SegmentTabLayout;
+import com.flyco.tablayout.listener.OnTabSelectListener;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class TypeFragment extends BaseFragment {
+ private SegmentTabLayout segmentTabLayout;
+ private ImageView iv_type_search;
+ private FrameLayout fl_type;
+ private List fragmentList;
+ private Fragment tempFragment;
+ public ListFragment listFragment;
+ public TagFragment tagFragment;
+
+ @Override
+ public View initView() {
+ View view = View.inflate(mContext, R.layout.fragment_type, null);
+ segmentTabLayout = (SegmentTabLayout) view.findViewById(R.id.tl_1);
+ iv_type_search = (ImageView) view.findViewById(R.id.iv_type_search);
+ fl_type = (FrameLayout) view.findViewById(R.id.fl_type);
+
+ return view;
+
+ }
+
+ @Override
+ public void initData() {
+ super.initData();
+
+ initFragment();
+
+ String[] titles = {"分类", "标签"};
+
+ segmentTabLayout.setTabData(titles);
+
+ segmentTabLayout.setOnTabSelectListener(new OnTabSelectListener() {
+ @Override
+ public void onTabSelect(int position) {
+ switchFragment(tempFragment, fragmentList.get(position));
+ }
+
+ @Override
+ public void onTabReselect(int position) {
+
+ }
+ });
+
+ }
+
+
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ switchFragment(tempFragment, fragmentList.get(0));
+ }
+
+ public void switchFragment(Fragment fromFragment, BaseFragment nextFragment) {
+ if (tempFragment != nextFragment) {
+ tempFragment = nextFragment;
+ if (nextFragment != null) {
+ FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
+ //判断nextFragment是否添加
+ if (!nextFragment.isAdded()) {
+ //隐藏当前Fragment
+ if (fromFragment != null) {
+ transaction.hide(fromFragment);
+ }
+
+ transaction.add(R.id.fl_type, nextFragment, "tagFragment").commit();
+ } else {
+ //隐藏当前Fragment
+ if (fromFragment != null) {
+ transaction.hide(fromFragment);
+ }
+ transaction.show(nextFragment).commit();
+ }
+ }
+ }
+ }
+
+ private void initFragment() {
+ fragmentList = new ArrayList<>();
+ listFragment = new ListFragment();
+ tagFragment = new TagFragment();
+
+ fragmentList.add(listFragment);
+ fragmentList.add(tagFragment);
+
+ switchFragment(tempFragment, fragmentList.get(0));
+ }
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/user/activity/MessageCenterActivity.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/user/activity/MessageCenterActivity.java
new file mode 100644
index 0000000..34d3fc9
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/user/activity/MessageCenterActivity.java
@@ -0,0 +1,27 @@
+package com.atguigu.shoppingmall.user.activity;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.ImageButton;
+
+import com.atguigu.shoppingmall.R;
+
+
+public class MessageCenterActivity extends Activity {
+ private ImageButton ib_login_back;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_mesaage_center);
+ ib_login_back = (ImageButton) findViewById(R.id.ib_login_back);
+
+ ib_login_back.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/user/fragment/UserFragment.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/user/fragment/UserFragment.java
new file mode 100644
index 0000000..99b1792
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/user/fragment/UserFragment.java
@@ -0,0 +1,157 @@
+package com.atguigu.shoppingmall.user.fragment;
+
+
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.ImageButton;
+import android.widget.ScrollView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.atguigu.shoppingmall.R;
+import com.atguigu.shoppingmall.app.LoginActivity;
+import com.atguigu.shoppingmall.base.BaseFragment;
+import com.atguigu.shoppingmall.user.activity.MessageCenterActivity;
+import com.atguigu.shoppingmall.utils.BitmapUtils;
+import com.squareup.picasso.Picasso;
+import com.squareup.picasso.Transformation;
+
+public class UserFragment extends BaseFragment implements View.OnClickListener {
+ private ImageButton ibUserIconAvator;
+ private TextView tvUsername;
+ private TextView tvAllOrder;
+ private TextView tvUserPay;
+ private TextView tvUserReceive;
+ private TextView tvUserFinish;
+ private TextView tvUserDrawback;
+ private TextView tvUserLocation;
+ private TextView tvUserCollect;
+ private TextView tvUserCoupon;
+ private TextView tvUserScore;
+ private TextView tvUserPrize;
+ private TextView tvUserTicket;
+ private TextView tvUserInvitation;
+ private TextView tvUserCallcenter;
+ private TextView tvUserFeedback;
+ private TextView tvUsercenter;
+ private ImageButton ibUserSetting;
+ private ImageButton ibUserMessage;
+ private ScrollView scrollView;
+
+ /**
+ * Find the Views in the layout
+ *
+ * Auto-created on 2016-10-08 09:07:21 by Android Layout Finder
+ * (http://www.buzzingandroid.com/tools/android-layout-finder)
+ *
+ * @param view
+ */
+ private void findViews(View view) {
+ ibUserIconAvator = (ImageButton) view.findViewById(R.id.ib_user_icon_avator);
+ tvUsername = (TextView) view.findViewById(R.id.tv_username);
+ tvAllOrder = (TextView) view.findViewById(R.id.tv_all_order);
+ tvUserPay = (TextView) view.findViewById(R.id.tv_user_pay);
+ tvUserReceive = (TextView) view.findViewById(R.id.tv_user_receive);
+ tvUserFinish = (TextView) view.findViewById(R.id.tv_user_finish);
+ tvUserDrawback = (TextView) view.findViewById(R.id.tv_user_drawback);
+ tvUserLocation = (TextView) view.findViewById(R.id.tv_user_location);
+ tvUserCollect = (TextView) view.findViewById(R.id.tv_user_collect);
+ tvUserCoupon = (TextView) view.findViewById(R.id.tv_user_coupon);
+ tvUserScore = (TextView) view.findViewById(R.id.tv_user_score);
+ tvUserPrize = (TextView) view.findViewById(R.id.tv_user_prize);
+ tvUserTicket = (TextView) view.findViewById(R.id.tv_user_ticket);
+ tvUserInvitation = (TextView) view.findViewById(R.id.tv_user_invitation);
+ tvUserCallcenter = (TextView) view.findViewById(R.id.tv_user_callcenter);
+ tvUserFeedback = (TextView) view.findViewById(R.id.tv_user_feedback);
+ tvUsercenter = (TextView) view.findViewById(R.id.tv_usercenter);
+ ibUserSetting = (ImageButton) view.findViewById(R.id.ib_user_setting);
+ ibUserMessage = (ImageButton) view.findViewById(R.id.ib_user_message);
+ scrollView = (ScrollView) view.findViewById(R.id.scrollview);
+
+ ibUserIconAvator.setOnClickListener(this);
+ ibUserSetting.setOnClickListener(this);
+ ibUserMessage.setOnClickListener(this);
+ }
+
+ /**
+ * Handle button click events
+ *
+ * Auto-created on 2016-10-08 09:07:21 by Android Layout Finder
+ * (http://www.buzzingandroid.com/tools/android-layout-finder)
+ */
+ @Override
+ public void onClick(View v) {
+ if (v == ibUserIconAvator) {
+ Intent intent = new Intent(mContext, LoginActivity.class);
+// startActivityForResult(intent, 0);
+ startActivity(intent);
+
+ } else if (v == ibUserSetting) {
+ Toast.makeText(mContext, "设置", Toast.LENGTH_SHORT).show();
+ } else if (v == ibUserMessage) {
+ Intent intent = new Intent(mContext, MessageCenterActivity.class);
+ startActivity(intent);
+ }
+ }
+
+
+ @Override
+ public View initView() {
+ View view = View.inflate(mContext, R.layout.fragment_user, null);
+ findViews(view);
+ tvUsercenter.setAlpha(0);
+ return view;
+ }
+
+ @Override
+ public void initData() {
+
+ scrollView.setOnTouchListener(new View.OnTouchListener() {
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+ int[] location = new int[2];
+ switch (event.getAction()) {
+ case MotionEvent.ACTION_DOWN:
+ break;
+ case MotionEvent.ACTION_MOVE://下滑是正,上滑是负
+ ibUserIconAvator.getLocationOnScreen(location);//初始状态为125,即最大值是125,全部显示不透明是(40?)
+ float i = (location[1] - 40) / 85f;
+ tvUsercenter.setAlpha(1 - i);
+ break;
+ }
+ return false;
+ }
+ });
+
+ }
+
+ @Override
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if (requestCode == 0) {
+ String screen_name = data.getStringExtra("screen_name");
+ String profile_image_url = data.getStringExtra("profile_image_url");
+
+ Picasso.with(mContext).load(profile_image_url).transform(new Transformation() {
+ @Override
+ public Bitmap transform(Bitmap bitmap) {
+ //先对图片进行压缩
+// Bitmap zoom = BitmapUtils.zoom(bitmap, DensityUtil.dip2px(mContext, 62), DensityUtil.dip2px(mContext, 62));
+ Bitmap zoom = BitmapUtils.zoom(bitmap, 90, 90);
+ //对请求回来的Bitmap进行圆形处理
+ Bitmap ciceBitMap = BitmapUtils.circleBitmap(zoom);
+ bitmap.recycle();//必须队更改之前的进行回收
+ return ciceBitMap;
+ }
+
+ @Override
+ public String key() {
+ return "";
+ }
+ }).into(ibUserIconAvator);
+
+ tvUsername.setText(screen_name);
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/utils/BitmapUtils.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/utils/BitmapUtils.java
new file mode 100644
index 0000000..6131e61
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/utils/BitmapUtils.java
@@ -0,0 +1,45 @@
+package com.atguigu.shoppingmall.utils;
+
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.Matrix;
+import android.graphics.Paint;
+import android.graphics.PorterDuff;
+import android.graphics.PorterDuffXfermode;
+
+public class BitmapUtils {
+
+ //提供一个圆形的Bitmap对象
+ public static Bitmap circleBitmap(Bitmap source) {
+ //获取图片的宽度
+ int width = source.getWidth();
+ //创建一个与source等宽的Bitmap对象
+ Bitmap bitmap = Bitmap.createBitmap(width, width, Bitmap.Config.ARGB_8888);
+ //创建等大小的画布
+ Canvas canvas = new Canvas(bitmap);
+ //绘制一个圆圈:将此圆圈理解为下层图片
+ Paint paint = new Paint();
+ paint.setAntiAlias(true);
+ canvas.drawCircle(width / 2, width / 2, width / 2, paint);
+
+ //设置图片相交情况下的处理方式
+ //setXfermode:设置当绘制的图像出现相交情况时候的处理方式的,它包含的常用模式有哪几种
+ //PorterDuff.Mode.SRC_IN 取两层图像交集部门,只显示上层图像,注意这里是指取相交叉的部分,然后显示上层图像
+ //PorterDuff.Mode.DST_IN 取两层图像交集部门,只显示下层图像
+ paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
+ //source:理解为上层图片
+ canvas.drawBitmap(source, 0, 0, paint);
+
+ return bitmap;
+ }
+ //图片的压缩
+ public static Bitmap zoom(Bitmap source,float w ,float h){//参数2,3:不能声明int
+ Matrix matrix = new Matrix();
+ matrix.postScale(w / source.getWidth(),h / source.getHeight());
+
+ Bitmap bitmap = Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, true);
+ return bitmap;
+
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/utils/CacheUtils.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/utils/CacheUtils.java
new file mode 100644
index 0000000..103ae96
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/utils/CacheUtils.java
@@ -0,0 +1,114 @@
+package com.atguigu.shoppingmall.utils;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+
+import java.io.ByteArrayOutputStream;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+
+public class CacheUtils {
+
+ public static final String SP_NAME = "News";
+ private static FileOutputStream fos;
+ private static ByteArrayOutputStream baos;
+ private static FileInputStream fis;
+
+
+ public static boolean getBoolean(Context context, String key) {
+ SharedPreferences sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
+ return sp.getBoolean(key, false);
+ }
+
+ public static void putBoolean(Context context, String key, boolean b) {
+
+ SharedPreferences sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
+ sp.edit().putBoolean(key, b).commit();
+
+ }
+
+ public static void putString(Context context, String key, String value) {
+// if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
+// //MD5加密
+//// String fileName = MD5.md5(key);
+//
+// File file = new File(Environment.getExternalStorageDirectory() + "/ciyuancang/files", key);
+// File parentFile = file.getParentFile();
+// try {
+//
+// //没有SD卡创建目录
+// if (!parentFile.exists()) {
+// parentFile.mkdirs();
+// }
+// if (!file.exists()) {
+// file.createNewFile();
+// }
+//
+// //保存文本
+// fos = new FileOutputStream(file);
+// fos.write(value.getBytes());
+// } catch (IOException e) {
+// e.printStackTrace();
+// Log.e("TAG", "文本缓存失败+22222222222" + e.getMessage());
+// } finally {
+// if (fos != null) {
+// try {
+// fos.close();
+// } catch (IOException e) {
+// e.printStackTrace();
+// }
+// }
+// }
+// } else {
+// SharedPreferences sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
+// sp.edit().putString(key, value).commit();
+// }
+ SharedPreferences sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
+ sp.edit().putString(key, value).commit();
+ }
+
+ public static String getString(Context mContext, String key) {
+ String result = "";
+// if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
+// //MD5加密
+//// String fileName = MD5.md5(key);
+//
+// File file = new File(Environment.getExternalStorageDirectory() + "/ciyuancang/files", key);
+// try {
+// if (file.exists()) {
+// //取出文本
+// fis = new FileInputStream(file);
+// baos = new ByteArrayOutputStream();
+// int len;
+// byte[] b = new byte[1024];
+// while ((len = fis.read(b)) != -1) {
+// baos.write(b, 0, len);
+// }
+// result = baos.toString();
+// return result;
+// }
+// } catch (IOException e) {
+// e.printStackTrace();
+// Log.e("TAG", "文本取出失败" + e.getMessage());
+// } finally {
+// try {
+// if (baos != null) {
+// baos.close();
+// }
+// if (fis != null) {
+// fis.close();
+// }
+// } catch (IOException e) {
+// e.printStackTrace();
+// }
+// }
+// } else {
+// SharedPreferences sp = mContext.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
+// result = sp.getString(key, "");
+// return result;
+// }
+ SharedPreferences sp = mContext.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
+ result = sp.getString(key, "");
+ return result;
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/utils/Constants.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/utils/Constants.java
new file mode 100644
index 0000000..314f96d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/utils/Constants.java
@@ -0,0 +1,91 @@
+package com.atguigu.shoppingmall.utils;
+
+public class Constants {
+// public static final String BASE = "http://192.168.51.104:8080";
+ //系统默认的模拟器就用这个ip
+ public static final String BASE = "http://10.0.2.2:8080";
+ //使用第三方模拟器--当前电脑的ip地址
+// public static final String BASE = "http://192.168.51.104:8080";
+ //运行到自己的真实手机上:
+ //1.装一个共享wifi的软件-猎豹wifi-把本地电脑分享出一个wifi
+ //2.tomcat是开启的
+ //3.ip地址修改成wifi的ip地址
+ //4.手机一定要连接电脑分享的wifi
+// public static final String BASE = "http://192.168.191.1:8080";
+
+ // 请求Json数据基本URL
+ public static final String BASE_URL_JSON = BASE+"/atguigu/json/";
+
+ // 请求图片基本URL
+ public static final String BASE_URl_IMAGE = BASE+"/atguigu/img";
+
+
+ //小裙子
+ public static final String SKIRT_URL = BASE_URL_JSON + "SKIRT_URL.json";
+ //上衣
+ public static final String JACKET_URL = BASE_URL_JSON + "JACKET_URL.json";
+ //下装(裤子)
+ public static final String PANTS_URL = BASE_URL_JSON + "PANTS_URL.json";
+ //外套
+ public static final String OVERCOAT_URL = BASE_URL_JSON + "OVERCOAT_URL.json";
+ //配件
+ public static final String ACCESSORY_URL = BASE_URL_JSON + "ACCESSORY_URL.json";
+ //包包
+ public static final String BAG_URL = BASE_URL_JSON + "BAG_URL.json";
+ //装扮
+ public static final String DRESS_UP_URL = BASE_URL_JSON + "DRESS_UP_URL.json";
+ //居家宅品
+ public static final String HOME_PRODUCTS_URL = BASE_URL_JSON + "HOME_PRODUCTS_URL.json";
+ //办公文具
+ public static final String STATIONERY_URL = BASE_URL_JSON + "STATIONERY_URL.json";
+ //数码周边
+ public static final String DIGIT_URL = BASE_URL_JSON + "DIGIT_URL.json";
+ //游戏专区
+ public static final String GAME_URL = BASE_URL_JSON + "GAME_URL.json";
+
+
+ //主页Fragment路径
+ public static final String HOME_URL = BASE_URL_JSON + "HOME_URL.json";
+ //分类Fragment里面的标签Fragment页面数据
+ public static final String TAG_URL = BASE_URL_JSON + "TAG_URL.json";
+
+
+ public static final String NEW_POST_URL = BASE_URL_JSON + "NEW_POST_URL.json";
+ public static final String HOT_POST_URL = BASE_URL_JSON + "HOT_POST_URL.json";
+
+
+ //页面的具体数据的id
+ public static final String GOODSINFO_URL = BASE_URL_JSON + "GOODSINFO_URL.json";
+
+ //服饰
+ public static final String CLOSE_STORE = BASE_URL_JSON + "CLOSE_STORE.json";
+ //游戏
+ public static final String GAME_STORE = BASE_URL_JSON + "GAME_STORE.json";
+ //动漫
+ public static final String COMIC_STORE = BASE_URL_JSON + "COMIC_STORE.json";
+ //cosplay
+ public static final String COSPLAY_STORE = BASE_URL_JSON + "COSPLAY_STORE.json";
+ //古风
+ public static final String GUFENG_STORE = BASE_URL_JSON + "GUFENG_STORE.json";
+ //漫展
+ public static final String STICK_STORE = BASE_URL_JSON + "STICK_STORE.json";
+ //文具
+ public static final String WENJU_STORE = BASE_URL_JSON + "WENJU_STORE.json";
+ //零食
+ public static final String FOOD_STORE = BASE_URL_JSON + "FOOD_STORE.json";
+ //首饰厂
+ public static final String SHOUSHI_STORE = BASE_URL_JSON + "SHOUSHI_STORE.json";
+
+
+
+ public static Boolean isBackHome = false;
+
+
+
+ //客服数据
+ public static final String CALL_CENTER = "http://www6.53kf.com/webCompany.php?arg=10007377&style=1&kflist=off&kf=info@atguigu.com,video@atguigu.com,public@atguigu.com,3069368606@qq.com,215648937@qq.com,sudan@atguigu.com,sszhang@atguigu.com&zdkf_type=1&language=zh-cn&charset=gbk&referer=http%3A%2F%2Fwww.atguigu.com%2Fcontant.shtml&keyword=&tfrom=1&tpl=crystal_blue&timeStamp=1479001706368&ucust_id=";
+
+
+}
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/utils/DensityUtil.java b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/utils/DensityUtil.java
new file mode 100644
index 0000000..44ba1f4
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/java/com/atguigu/shoppingmall/utils/DensityUtil.java
@@ -0,0 +1,21 @@
+package com.atguigu.shoppingmall.utils;
+
+import android.content.Context;
+
+public class DensityUtil {
+ /**
+ * 根据手机的分辨率从 dip 的单位 转成为 px(像素)
+ */
+ public static int dip2px(Context context, float dpValue) {
+ final float scale = context.getResources().getDisplayMetrics().density;
+ return (int) (dpValue * scale + 0.5f);
+ }
+
+ /**
+ * 根据手机的分辨率从 px(像素) 的单位 转成为 dp
+ */
+ public static int px2dip(Context context, float pxValue) {
+ final float scale = context.getResources().getDisplayMetrics().density;
+ return (int) (pxValue / scale + 0.5f);
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/anim/pophidden_anim.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/anim/pophidden_anim.xml
new file mode 100644
index 0000000..ab4ead0
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/anim/pophidden_anim.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/anim/popshow_anim.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/anim/popshow_anim.xml
new file mode 100644
index 0000000..3bc05a5
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/anim/popshow_anim.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/atguigu_logo.jpg b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/atguigu_logo.jpg
new file mode 100644
index 0000000..f934937
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/atguigu_logo.jpg differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/bg1.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/bg1.png
new file mode 100644
index 0000000..42d7f35
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/bg1.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/bg2.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/bg2.png
new file mode 100644
index 0000000..1533b6c
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/bg2.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/button_false.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/button_false.png
new file mode 100644
index 0000000..8b644df
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/button_false.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/button_true.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/button_true.png
new file mode 100644
index 0000000..dad59aa
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/button_true.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/comm_share.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/comm_share.png
new file mode 100644
index 0000000..dad1440
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/comm_share.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/community_comment_icon.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/community_comment_icon.png
new file mode 100644
index 0000000..8069491
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/community_comment_icon.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/community_default_user_icon.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/community_default_user_icon.png
new file mode 100644
index 0000000..b12ff42
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/community_default_user_icon.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/community_like_icon.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/community_like_icon.png
new file mode 100644
index 0000000..737886b
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/community_like_icon.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/community_mid_line.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/community_mid_line.png
new file mode 100644
index 0000000..573144b
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/community_mid_line.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/community_tab_subscript.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/community_tab_subscript.png
new file mode 100644
index 0000000..6b98d01
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/community_tab_subscript.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/community_user_name_bg.9.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/community_user_name_bg.9.png
new file mode 100644
index 0000000..82566aa
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/community_user_name_bg.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/good_uncollected.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/good_uncollected.png
new file mode 100644
index 0000000..4d08a61
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/good_uncollected.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/goods_add_btn.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/goods_add_btn.png
new file mode 100644
index 0000000..38c0068
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/goods_add_btn.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/goods_sub_btn.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/goods_sub_btn.png
new file mode 100644
index 0000000..7a56af2
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/goods_sub_btn.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/home_arrow_left_flash.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/home_arrow_left_flash.png
new file mode 100644
index 0000000..3a24371
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/home_arrow_left_flash.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/home_arrow_left_hot.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/home_arrow_left_hot.png
new file mode 100644
index 0000000..7b4a435
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/home_arrow_left_hot.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/home_arrow_left_new.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/home_arrow_left_new.png
new file mode 100644
index 0000000..4502a09
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/home_arrow_left_new.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/home_arrow_right.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/home_arrow_right.png
new file mode 100644
index 0000000..108830f
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/home_arrow_right.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/home_bottom_parent_bg.9.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/home_bottom_parent_bg.9.png
new file mode 100644
index 0000000..5713408
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/home_bottom_parent_bg.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/home_search_icon.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/home_search_icon.png
new file mode 100644
index 0000000..4ca44f1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/home_search_icon.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/icon_callserver_unpressed.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/icon_callserver_unpressed.png
new file mode 100644
index 0000000..a293a2d
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/icon_callserver_unpressed.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/icon_good_detail_cart.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/icon_good_detail_cart.png
new file mode 100644
index 0000000..f8deffd
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/icon_good_detail_cart.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/icon_more.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/icon_more.png
new file mode 100644
index 0000000..8993cc5
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/icon_more.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/icon_search_white.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/icon_search_white.png
new file mode 100644
index 0000000..cfd31b8
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/icon_search_white.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_cart.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_cart.png
new file mode 100644
index 0000000..7dbd6d9
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_cart.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_cart_press.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_cart_press.png
new file mode 100644
index 0000000..bd501b7
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_cart_press.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_community.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_community.png
new file mode 100644
index 0000000..007d08a
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_community.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_community_press.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_community_press.png
new file mode 100644
index 0000000..2f09795
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_community_press.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_home.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_home.png
new file mode 100644
index 0000000..1e243a2
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_home.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_home_press.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_home_press.png
new file mode 100644
index 0000000..4e014bf
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_home_press.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_type.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_type.png
new file mode 100644
index 0000000..7cb9c4b
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_type.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_type_press.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_type_press.png
new file mode 100644
index 0000000..d11cc26
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_type_press.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_user.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_user.png
new file mode 100644
index 0000000..a293a2d
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_user.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_user_press.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_user_press.png
new file mode 100644
index 0000000..2bb722c
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/main_user_press.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/menu_cyc.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/menu_cyc.png
new file mode 100644
index 0000000..4e533f5
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/menu_cyc.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_img_loading_1.jpg b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_img_loading_1.jpg
new file mode 100644
index 0000000..cc9e839
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_img_loading_1.jpg differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_img_loading_2.jpg b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_img_loading_2.jpg
new file mode 100644
index 0000000..6fb808d
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_img_loading_2.jpg differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_message_icon.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_message_icon.png
new file mode 100644
index 0000000..b206660
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_message_icon.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_order_status_fukuan.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_order_status_fukuan.png
new file mode 100644
index 0000000..117c28d
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_order_status_fukuan.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_order_status_help.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_order_status_help.png
new file mode 100644
index 0000000..d723837
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_order_status_help.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_order_status_shouhuo.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_order_status_shouhuo.png
new file mode 100644
index 0000000..8b6933d
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_order_status_shouhuo.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_price_sort_normal.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_price_sort_normal.png
new file mode 100644
index 0000000..a142bf4
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_price_sort_normal.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_user_icon.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_user_icon.png
new file mode 100644
index 0000000..26e1157
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_user_icon.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_user_icon_background.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_user_icon_background.png
new file mode 100644
index 0000000..a5c3263
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/new_user_icon_background.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/top_bar_left_back.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/top_bar_left_back.png
new file mode 100644
index 0000000..68703c6
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/top_bar_left_back.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/top_bar_right_home_btn.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/top_bar_right_home_btn.png
new file mode 100644
index 0000000..8246f45
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/top_bar_right_home_btn.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/top_btn.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/top_btn.png
new file mode 100644
index 0000000..8028e72
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-hdpi-v4/top_btn.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/checkbox_selected.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/checkbox_selected.png
new file mode 100644
index 0000000..604c6a2
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/checkbox_selected.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/checkbox_unselected.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/checkbox_unselected.png
new file mode 100644
index 0000000..0f98bca
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/checkbox_unselected.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/community_message_icon.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/community_message_icon.png
new file mode 100644
index 0000000..01b224f
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/community_message_icon.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/empty_cart.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/empty_cart.png
new file mode 100644
index 0000000..bc73a53
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/empty_cart.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/filter_list_selected.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/filter_list_selected.png
new file mode 100644
index 0000000..4ed46ec
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/filter_list_selected.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/filter_list_unselected.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/filter_list_unselected.png
new file mode 100644
index 0000000..4c8e1ed
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/filter_list_unselected.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/icon_share_qq.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/icon_share_qq.png
new file mode 100644
index 0000000..c30a473
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/icon_share_qq.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/icon_weibo.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/icon_weibo.png
new file mode 100644
index 0000000..9031758
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/icon_weibo.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/icon_weixin.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/icon_weixin.png
new file mode 100644
index 0000000..d3ad9ae
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/icon_weixin.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/mq_bg_edit_view.9.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/mq_bg_edit_view.9.png
new file mode 100644
index 0000000..39feb02
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/mq_bg_edit_view.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_login_background.jpg b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_login_background.jpg
new file mode 100644
index 0000000..19379e4
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_login_background.jpg differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_order_status_fahuo.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_order_status_fahuo.png
new file mode 100644
index 0000000..f0bc487
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_order_status_fahuo.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_password_drawable_invisible.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_password_drawable_invisible.png
new file mode 100644
index 0000000..bb2bd15
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_password_drawable_invisible.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_password_drawable_visible.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_password_drawable_visible.png
new file mode 100644
index 0000000..c5f4013
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_password_drawable_visible.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_price_sort_asc.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_price_sort_asc.png
new file mode 100644
index 0000000..4c216b1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_price_sort_asc.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_price_sort_desc.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_price_sort_desc.png
new file mode 100644
index 0000000..b5add03
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_price_sort_desc.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_user_login_icon.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_user_login_icon.png
new file mode 100644
index 0000000..26e1157
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_user_login_icon.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_user_setting.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_user_setting.png
new file mode 100644
index 0000000..479f6e5
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/new_user_setting.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/news_channel_icon.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/news_channel_icon.png
new file mode 100644
index 0000000..f68db41
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/news_channel_icon.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/news_comment_icon.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/news_comment_icon.png
new file mode 100644
index 0000000..1765cfb
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/news_comment_icon.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/news_good_icon.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/news_good_icon.png
new file mode 100644
index 0000000..b9f80a6
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/news_good_icon.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/news_post_icon.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/news_post_icon.png
new file mode 100644
index 0000000..8796710
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/news_post_icon.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/news_services_icon.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/news_services_icon.png
new file mode 100644
index 0000000..1765cfb
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/news_services_icon.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/tag_bg.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/tag_bg.png
new file mode 100644
index 0000000..5deedf6
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/tag_bg.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_address.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_address.png
new file mode 100644
index 0000000..47ea3eb
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_address.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_callcenter.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_callcenter.png
new file mode 100644
index 0000000..1f4a8da
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_callcenter.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_collect.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_collect.png
new file mode 100644
index 0000000..7a8f5f8
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_collect.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_coupon.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_coupon.png
new file mode 100644
index 0000000..02e185e
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_coupon.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_feedback.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_feedback.png
new file mode 100644
index 0000000..06ae399
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_feedback.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_invitation.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_invitation.png
new file mode 100644
index 0000000..4929197
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_invitation.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_order_no.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_order_no.png
new file mode 100644
index 0000000..f0b0b99
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_order_no.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_prize.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_prize.png
new file mode 100644
index 0000000..cc754d6
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_prize.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_score.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_score.png
new file mode 100644
index 0000000..5fa2024
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_channel_icon_score.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_icon_ticket.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_icon_ticket.png
new file mode 100644
index 0000000..aa7eee9
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/user_icon_ticket.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/words.9.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/words.9.png
new file mode 100644
index 0000000..6f4e3f1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/words.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/wordsred.9.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/wordsred.9.png
new file mode 100644
index 0000000..653bfc4
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xhdpi-v4/wordsred.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xxhdpi-v4/filter_type_selected.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xxhdpi-v4/filter_type_selected.png
new file mode 100644
index 0000000..2ea2cb4
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xxhdpi-v4/filter_type_selected.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xxhdpi-v4/icon_order_status_finish.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xxhdpi-v4/icon_order_status_finish.png
new file mode 100644
index 0000000..c50e281
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xxhdpi-v4/icon_order_status_finish.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xxhdpi-v4/new_black_background_btn.9.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xxhdpi-v4/new_black_background_btn.9.png
new file mode 100644
index 0000000..95ac7cf
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xxhdpi-v4/new_black_background_btn.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xxhdpi-v4/new_red_background_btn.9.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xxhdpi-v4/new_red_background_btn.9.png
new file mode 100644
index 0000000..76619e2
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable-xxhdpi-v4/new_red_background_btn.9.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/add_cart_bg_selector.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/add_cart_bg_selector.xml
new file mode 100644
index 0000000..e3b963a
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/add_cart_bg_selector.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/bottom_button_text_selector.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/bottom_button_text_selector.xml
new file mode 100644
index 0000000..e61e790
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/bottom_button_text_selector.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/btn_number_selector.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/btn_number_selector.xml
new file mode 100644
index 0000000..78c99cd
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/btn_number_selector.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/cart_button_selector.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/cart_button_selector.xml
new file mode 100644
index 0000000..e8caa55
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/cart_button_selector.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/checkbox_selector.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/checkbox_selector.xml
new file mode 100644
index 0000000..962fc2e
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/checkbox_selector.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/community_button_selector.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/community_button_selector.xml
new file mode 100644
index 0000000..f8a25ff
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/community_button_selector.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/community_button_shape.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/community_button_shape.xml
new file mode 100644
index 0000000..d640e69
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/community_button_shape.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/drawer_layout_btn_selector.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/drawer_layout_btn_selector.xml
new file mode 100644
index 0000000..e085134
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/drawer_layout_btn_selector.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/drawer_layout_text_selector.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/drawer_layout_text_selector.xml
new file mode 100644
index 0000000..e31a051
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/drawer_layout_text_selector.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/home_button_selector.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/home_button_selector.xml
new file mode 100644
index 0000000..9233e2e
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/home_button_selector.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/is_essence_shape.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/is_essence_shape.xml
new file mode 100644
index 0000000..11a83db
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/is_essence_shape.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/is_hot_shape.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/is_hot_shape.xml
new file mode 100644
index 0000000..3a30459
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/is_hot_shape.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/is_top_shape.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/is_top_shape.xml
new file mode 100644
index 0000000..7f3e3ba
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/is_top_shape.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/rectangl_shape.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/rectangl_shape.xml
new file mode 100644
index 0000000..de308a2
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/rectangl_shape.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/search_home_shape.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/search_home_shape.xml
new file mode 100644
index 0000000..ed5c1bc
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/search_home_shape.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/search_home_shape_gray.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/search_home_shape_gray.xml
new file mode 100644
index 0000000..15a5594
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/search_home_shape_gray.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/shape_rec_textview.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/shape_rec_textview.xml
new file mode 100644
index 0000000..b5223ac
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/shape_rec_textview.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/time_shape.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/time_shape.xml
new file mode 100644
index 0000000..70b4daf
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/time_shape.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/type_button_selector.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/type_button_selector.xml
new file mode 100644
index 0000000..aaf0e52
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/type_button_selector.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/type_item_background_selector.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/type_item_background_selector.xml
new file mode 100644
index 0000000..d30254b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/type_item_background_selector.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/user_button_selector.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/user_button_selector.xml
new file mode 100644
index 0000000..49938ba
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/drawable/user_button_selector.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/act_item.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/act_item.xml
new file mode 100644
index 0000000..26e7dc3
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/act_item.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_call_center.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_call_center.xml
new file mode 100644
index 0000000..7b9629f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_call_center.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_goods_info.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_goods_info.xml
new file mode 100644
index 0000000..cf26cf2
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_goods_info.xml
@@ -0,0 +1,253 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_goods_info2.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_goods_info2.xml
new file mode 100644
index 0000000..6fa35a4
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_goods_info2.xml
@@ -0,0 +1,13 @@
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_goods_list.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_goods_list.xml
new file mode 100644
index 0000000..575fc40
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_goods_list.xml
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_login.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_login.xml
new file mode 100644
index 0000000..1d8944d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_login.xml
@@ -0,0 +1,194 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_main.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_main.xml
new file mode 100644
index 0000000..b4e55be
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_main.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_mesaage_center.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_mesaage_center.xml
new file mode 100644
index 0000000..7e376e6
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_mesaage_center.xml
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_shopping_cart.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_shopping_cart.xml
new file mode 100644
index 0000000..e1ff718
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/activity_shopping_cart.xml
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/banner_viewpager.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/banner_viewpager.xml
new file mode 100644
index 0000000..15f79bf
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/banner_viewpager.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/channel_item.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/channel_item.xml
new file mode 100644
index 0000000..d1a94f7
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/channel_item.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/child_list_item.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/child_list_item.xml
new file mode 100644
index 0000000..c84d006
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/child_list_item.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/drawer_layout.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/drawer_layout.xml
new file mode 100644
index 0000000..0ec356a
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/drawer_layout.xml
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/drawer_layout_title.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/drawer_layout_title.xml
new file mode 100644
index 0000000..03b4a79
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/drawer_layout_title.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/drawer_price_layout.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/drawer_price_layout.xml
new file mode 100644
index 0000000..21dff27
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/drawer_price_layout.xml
@@ -0,0 +1,306 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/drawer_type_layout.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/drawer_type_layout.xml
new file mode 100644
index 0000000..d51f0ba
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/drawer_type_layout.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/empty_cart.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/empty_cart.xml
new file mode 100644
index 0000000..e8cad00
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/empty_cart.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_community.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_community.xml
new file mode 100644
index 0000000..6714b7e
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_community.xml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_home.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_home.xml
new file mode 100644
index 0000000..950959e
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_home.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_hot_post.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_hot_post.xml
new file mode 100644
index 0000000..59bd4c7
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_hot_post.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_list.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_list.xml
new file mode 100644
index 0000000..00c393b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_list.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_new_post.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_new_post.xml
new file mode 100644
index 0000000..ea74f7b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_new_post.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_shoppingcart.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_shoppingcart.xml
new file mode 100644
index 0000000..16cab18
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_shoppingcart.xml
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_tag.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_tag.xml
new file mode 100644
index 0000000..e75bee4
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_tag.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_type.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_type.xml
new file mode 100644
index 0000000..71c3563
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_type.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_user.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_user.xml
new file mode 100644
index 0000000..a359830
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/fragment_user.xml
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/group_list_item.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/group_list_item.xml
new file mode 100644
index 0000000..63bc07d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/group_list_item.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/hot_item.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/hot_item.xml
new file mode 100644
index 0000000..b0ba35f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/hot_item.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_channel.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_channel.xml
new file mode 100644
index 0000000..8243f44
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_channel.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_goods_list_adapter.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_goods_list_adapter.xml
new file mode 100644
index 0000000..89409e7
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_goods_list_adapter.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_hot_grid_view.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_hot_grid_view.xml
new file mode 100644
index 0000000..31ed34a
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_hot_grid_view.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_hot_right.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_hot_right.xml
new file mode 100644
index 0000000..66c6cae
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_hot_right.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_hotpost_listview.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_hotpost_listview.xml
new file mode 100644
index 0000000..237f713
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_hotpost_listview.xml
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_listview_newpost.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_listview_newpost.xml
new file mode 100644
index 0000000..9febac4
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_listview_newpost.xml
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_ordinary_right.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_ordinary_right.xml
new file mode 100644
index 0000000..c3ec99b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_ordinary_right.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_recommend_grid_view.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_recommend_grid_view.xml
new file mode 100644
index 0000000..37426ad
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_recommend_grid_view.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_seckill.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_seckill.xml
new file mode 100644
index 0000000..85ba455
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_seckill.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_shop_cart.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_shop_cart.xml
new file mode 100644
index 0000000..43ddcbc
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_shop_cart.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_tab_gridview.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_tab_gridview.xml
new file mode 100644
index 0000000..4afd027
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_tab_gridview.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_type.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_type.xml
new file mode 100644
index 0000000..a0d740b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/item_type.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/more_layout.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/more_layout.xml
new file mode 100644
index 0000000..64dd373
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/more_layout.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/number_add_sub_layout.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/number_add_sub_layout.xml
new file mode 100644
index 0000000..f6da290
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/number_add_sub_layout.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/popupwindow_add_product.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/popupwindow_add_product.xml
new file mode 100644
index 0000000..f15a2be
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/popupwindow_add_product.xml
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/recommend_item.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/recommend_item.xml
new file mode 100644
index 0000000..62dc5e5
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/recommend_item.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/recommend_theme_layout.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/recommend_theme_layout.xml
new file mode 100644
index 0000000..2543667
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/recommend_theme_layout.xml
@@ -0,0 +1,336 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/seckill_item.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/seckill_item.xml
new file mode 100644
index 0000000..da1540b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/seckill_item.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/titlebar.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/titlebar.xml
new file mode 100644
index 0000000..0b9678b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/layout/titlebar.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/mipmap-hdpi/ic_launcher.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 0000000..cde69bc
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/mipmap-mdpi/ic_launcher.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 0000000..c133a0c
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/mipmap-xhdpi/atguigu_logo.jpg b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/mipmap-xhdpi/atguigu_logo.jpg
new file mode 100644
index 0000000..0c21352
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/mipmap-xhdpi/atguigu_logo.jpg differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..bfa42f0
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000..324e72c
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000..aee44e1
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/values-w820dp/dimens.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/values-w820dp/dimens.xml
new file mode 100644
index 0000000..63fc816
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/values-w820dp/dimens.xml
@@ -0,0 +1,6 @@
+
+
+ 64dp
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/values/colors.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/values/colors.xml
new file mode 100644
index 0000000..1a3257d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/values/colors.xml
@@ -0,0 +1,9 @@
+
+
+ #3F51B5
+ #303F9F
+ #FF4081
+ #ffff4040
+ #ffbababa
+ #00000000
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/values/dimens.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/values/dimens.xml
new file mode 100644
index 0000000..47c8224
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/values/dimens.xml
@@ -0,0 +1,5 @@
+
+
+ 16dp
+ 16dp
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/values/number_add_sub_view_attrs.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/values/number_add_sub_view_attrs.xml
new file mode 100644
index 0000000..44e0da6
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/values/number_add_sub_view_attrs.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/values/strings.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000..d5fb990
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/values/strings.xml
@@ -0,0 +1,4 @@
+
+ 商城APP
+ 注册账号
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/main/res/values/styles.xml b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/values/styles.xml
new file mode 100644
index 0000000..83bb7de
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/main/res/values/styles.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/app/src/test/java/com/atguigu/shoppingmall/ExampleUnitTest.java b/S202014040230郭刘芊/ShoppingMall/app/src/test/java/com/atguigu/shoppingmall/ExampleUnitTest.java
new file mode 100644
index 0000000..e9f39ce
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/app/src/test/java/com/atguigu/shoppingmall/ExampleUnitTest.java
@@ -0,0 +1,17 @@
+package com.atguigu.shoppingmall;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * @see Testing documentation
+ */
+public class ExampleUnitTest {
+ @Test
+ public void addition_isCorrect() throws Exception {
+ assertEquals(4, 2 + 2);
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/.gitignore b/S202014040230郭刘芊/ShoppingMall/banner/.gitignore
new file mode 100644
index 0000000..796b96d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/build.gradle b/S202014040230郭刘芊/ShoppingMall/banner/build.gradle
new file mode 100644
index 0000000..ff9a416
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/build.gradle
@@ -0,0 +1,109 @@
+apply plugin: 'com.android.library'
+/*apply plugin: 'com.github.dcendents.android-maven'
+apply plugin: 'com.jfrog.bintray'
+version = "1.3.3"*/
+
+android {
+ compileSdkVersion 23
+ buildToolsVersion "23.0.3"
+
+ defaultConfig {
+ minSdkVersion 14
+ targetSdkVersion 23
+ versionCode 30
+ versionName "1.3.3"
+ }
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ }
+}
+
+dependencies {
+ compile fileTree(dir: 'libs', include: ['*.jar'])
+ testCompile 'junit:junit:4.12'
+ compile 'com.android.support:appcompat-v7:23.4.0'
+ compile 'com.github.bumptech.glide:glide:3.6.1'
+}
+
+
+def siteUrl = 'https://github.com/youth5201314/banner' // 项目的主页
+def gitUrl = 'https://github.com/youth5201314/banner.git' // Git仓库的url
+group = "com.youth.banner" //一般填你唯一的包名
+/*//gradlew bintrayUpload
+install {
+ repositories.mavenInstaller {
+ // This generates POM.xml with proper parameters
+ pom {
+ project {
+ packaging 'aar'
+ // Add your description here项目描述
+ name 'Android图片轮播控件'
+ url siteUrl
+ licenses {
+ license {
+ name 'The Apache Software License, Version 2.0'
+ url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+ }
+ }
+ developers {
+ developer {//填写的一些基本信息
+ id 'youth5201314'
+ name 'spring'
+ email '1028729086@qq.com'
+ }
+ }
+ scm {
+ connection gitUrl
+ developerConnection gitUrl
+ url siteUrl
+ }
+ }
+ }
+ }
+}*/
+task sourcesJar(type: Jar) {
+ from android.sourceSets.main.java.srcDirs
+ classifier = 'sources'
+}
+
+task javadoc(type: Javadoc) {
+ source = android.sourceSets.main.java.srcDirs
+ classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
+}
+
+task javadocJar(type: Jar, dependsOn: javadoc) {
+ classifier = 'javadoc'
+ from javadoc.destinationDir
+}
+
+artifacts {
+ archives javadocJar
+ archives sourcesJar
+}
+
+/*Properties properties = new Properties()
+properties.load(project.rootProject.file('local.properties').newDataInputStream())
+bintray {
+ //读取Bintray帐号和密码。
+ //一般的为了保密和安全性,在项目的local.properties文件中添加两行句话即可:
+ //bintray.user=username
+ //bintray.apikey=apikey
+ user = properties.getProperty("bintray.user")
+ key = properties.getProperty("bintray.apikey")
+ configurations = ['archives']
+ pkg {
+ repo = "maven"
+ name = "banner" //发布到JCenter上的项目名字
+ websiteUrl = siteUrl
+ vcsUrl = gitUrl
+ licenses = ["Apache-2.0"]
+ publish = true
+ }*//*
+
+}
+*/
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/proguard-rules.pro b/S202014040230郭刘芊/ShoppingMall/banner/proguard-rules.pro
new file mode 100644
index 0000000..a8d49fd
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/proguard-rules.pro
@@ -0,0 +1,17 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in D:\android\android-sdk-windows/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/androidTest/java/com/youth/banner/ApplicationTest.java b/S202014040230郭刘芊/ShoppingMall/banner/src/androidTest/java/com/youth/banner/ApplicationTest.java
new file mode 100644
index 0000000..0e2a910
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/androidTest/java/com/youth/banner/ApplicationTest.java
@@ -0,0 +1,13 @@
+package com.youth.banner;
+
+import android.app.Application;
+import android.test.ApplicationTestCase;
+
+/**
+ * Testing Fundamentals
+ */
+public class ApplicationTest extends ApplicationTestCase {
+ public ApplicationTest() {
+ super(Application.class);
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/AndroidManifest.xml b/S202014040230郭刘芊/ShoppingMall/banner/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..d8616c4
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/AndroidManifest.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/Banner.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/Banner.java
new file mode 100644
index 0000000..c925e76
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/Banner.java
@@ -0,0 +1,517 @@
+package com.youth.banner;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.os.Handler;
+import android.support.v4.view.PagerAdapter;
+import android.support.v4.view.ViewPager;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+import android.widget.ImageView.ScaleType;
+import android.widget.LinearLayout;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import com.bumptech.glide.Glide;
+import com.youth.banner.listener.OnBannerClickListener;
+import com.youth.banner.listener.OnLoadImageListener;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+
+import static android.support.v4.view.ViewPager.OnPageChangeListener;
+import static android.support.v4.view.ViewPager.PageTransformer;
+
+public class Banner extends FrameLayout implements OnPageChangeListener {
+ public String tag = "banner";
+ private int mIndicatorMargin = BannerConfig.PADDING_SIZE;
+ private int mIndicatorWidth = BannerConfig.INDICATOR_SIZE;
+ private int mIndicatorHeight = BannerConfig.INDICATOR_SIZE;
+ private int bannerStyle = BannerConfig.NOT_INDICATOR;
+ private int delayTime = BannerConfig.TIME;
+ private boolean isAutoPlay = BannerConfig.IS_AUTO_PLAY;
+ private int mIndicatorSelectedResId = R.drawable.gray_radius;
+ private int mIndicatorUnselectedResId = R.drawable.white_radius;
+ private int titleHeight;
+ private int titleBackground;
+ private int titleTextColor;
+ private int titleTextSize;
+ private int defaultImage = -1;
+ private int count = 0;
+ private int currentItem;
+ private int gravity = -1;
+ private int lastPosition = 1;
+ private int scaleType=0;
+ private String[] titles;
+ private List imageViews;
+ private List indicatorImages;
+ private Context context;
+ private ViewPager viewPager;
+ private TextView bannerTitle, numIndicatorInside, numIndicator;
+ private LinearLayout indicator, indicatorInside, titleView;
+ private Handler handler = new Handler();
+ private OnLoadImageListener imageListener;
+ private BannerPagerAdapter adapter;
+ private OnPageChangeListener mOnPageChangeListener;
+ private ViewPagerScroller mScroller;
+ private OnBannerClickListener listener;
+
+ public Banner(Context context) {
+ this(context, null);
+ }
+
+ public Banner(Context context, AttributeSet attrs) {
+ this(context, attrs, 0);
+ }
+
+ public Banner(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ this.context = context;
+ imageViews = new ArrayList();
+ indicatorImages = new ArrayList();
+ initView(context, attrs);
+ }
+
+ private void handleTypedArray(Context context, AttributeSet attrs) {
+ if (attrs == null) {
+ return;
+ }
+ TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.Banner);
+ mIndicatorWidth = typedArray.getDimensionPixelSize(R.styleable.Banner_indicator_width, BannerConfig.INDICATOR_SIZE);
+ mIndicatorHeight = typedArray.getDimensionPixelSize(R.styleable.Banner_indicator_height, BannerConfig.INDICATOR_SIZE);
+ mIndicatorMargin = typedArray.getDimensionPixelSize(R.styleable.Banner_indicator_margin, BannerConfig.PADDING_SIZE);
+ mIndicatorSelectedResId = typedArray.getResourceId(R.styleable.Banner_indicator_drawable_selected, R.drawable.gray_radius);
+ mIndicatorUnselectedResId = typedArray.getResourceId(R.styleable.Banner_indicator_drawable_unselected, R.drawable.white_radius);
+ scaleType=typedArray.getInt(R.styleable.Banner_image_scale_type,0);
+ defaultImage = typedArray.getResourceId(R.styleable.Banner_default_image, defaultImage);
+ delayTime = typedArray.getInt(R.styleable.Banner_delay_time, BannerConfig.TIME);
+ isAutoPlay = typedArray.getBoolean(R.styleable.Banner_is_auto_play, BannerConfig.IS_AUTO_PLAY);
+ titleBackground = typedArray.getColor(R.styleable.Banner_title_background, BannerConfig.TITLE_BACKGROUND);
+ titleHeight = typedArray.getDimensionPixelSize(R.styleable.Banner_title_height, BannerConfig.TITLE_HEIGHT);
+ titleTextColor = typedArray.getColor(R.styleable.Banner_title_textcolor, BannerConfig.TITLE_TEXT_COLOR);
+ titleTextSize = typedArray.getDimensionPixelSize(R.styleable.Banner_title_textsize, BannerConfig.TITLE_TEXT_SIZE);
+ typedArray.recycle();
+ }
+
+ private void initView(Context context, AttributeSet attrs) {
+ imageViews.clear();
+ View view = LayoutInflater.from(context).inflate(R.layout.banner, this, true);
+ viewPager = (ViewPager) view.findViewById(R.id.viewpager);
+ titleView = (LinearLayout) view.findViewById(R.id.titleView);
+ indicator = (LinearLayout) view.findViewById(R.id.indicator);
+ indicatorInside = (LinearLayout) view.findViewById(R.id.indicatorInside);
+ bannerTitle = (TextView) view.findViewById(R.id.bannerTitle);
+ numIndicator = (TextView) view.findViewById(R.id.numIndicator);
+ numIndicatorInside = (TextView) view.findViewById(R.id.numIndicatorInside);
+ handleTypedArray(context, attrs);
+ initViewPagerScroll();
+ }
+
+ public void isAutoPlay(boolean isAutoPlay) {
+ this.isAutoPlay = isAutoPlay;
+ if (isAutoPlay)
+ startAutoPlay();
+ else
+ stopAutoPlay();
+ }
+
+ public void setDelayTime(int delayTime) {
+ this.delayTime = delayTime;
+ }
+
+ public void setIndicatorGravity(int type) {
+ switch (type) {
+ case BannerConfig.LEFT:
+ this.gravity = Gravity.LEFT | Gravity.CENTER_VERTICAL;
+ break;
+ case BannerConfig.CENTER:
+ this.gravity = Gravity.CENTER;
+ break;
+ case BannerConfig.RIGHT:
+ this.gravity = Gravity.RIGHT | Gravity.CENTER_VERTICAL;
+ break;
+ }
+ }
+
+ public void setBannerTitleList(List titles) {
+ setBannerTitle(titles.toArray(new String[titles.size()]));
+ }
+
+ public void setBannerAnimation(Class extends PageTransformer> transformer) {
+ try {
+ setPageTransformer(true, transformer.newInstance());
+ } catch (Exception e) {
+ Log.e(tag,"Please set the PageTransformer class");
+ }
+ }
+
+ public void setPageTransformer(boolean reverseDrawingOrder, PageTransformer transformer) {
+ viewPager.setPageTransformer(reverseDrawingOrder, transformer);
+ }
+
+ public void setBannerTitle(String[] titles) {
+ this.titles = titles;
+ if (bannerStyle == BannerConfig.CIRCLE_INDICATOR_TITLE ||
+ bannerStyle == BannerConfig.NUM_INDICATOR_TITLE ||
+ bannerStyle == BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE) {
+ if (titleBackground != -1) {
+ titleView.setBackgroundColor(titleBackground);
+ }
+ if (titleHeight != -1) {
+ titleView.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, titleHeight));
+ }
+ if (titleTextColor != -1) {
+ bannerTitle.setTextColor(titleTextColor);
+ }
+ if (titleTextSize != -1) {
+ bannerTitle.setTextSize(titleTextSize);
+ }
+ if (titles != null && titles.length > 0) {
+ bannerTitle.setText(titles[0]);
+ bannerTitle.setVisibility(View.VISIBLE);
+ titleView.setVisibility(View.VISIBLE);
+ }
+ }
+ }
+
+ public void setBannerStyle(int bannerStyle) {
+ this.bannerStyle = bannerStyle;
+ switch (bannerStyle) {
+ case BannerConfig.CIRCLE_INDICATOR:
+ indicator.setVisibility(View.VISIBLE);
+ break;
+ case BannerConfig.NUM_INDICATOR:
+ numIndicator.setVisibility(View.VISIBLE);
+ break;
+ case BannerConfig.NUM_INDICATOR_TITLE:
+ numIndicatorInside.setVisibility(View.VISIBLE);
+ break;
+ case BannerConfig.CIRCLE_INDICATOR_TITLE:
+ indicator.setVisibility(View.VISIBLE);
+ break;
+ case BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE:
+ indicatorInside.setVisibility(VISIBLE);
+ break;
+ }
+ }
+
+ public void setImages(Object[] imagesUrl) {
+ setImageArray(imagesUrl, null);
+ }
+
+ public void setImages(Object[] imagesUrl, OnLoadImageListener imageListener) {
+ setImageArray(imagesUrl, imageListener);
+ }
+
+ public void setImages(List> imagesUrl) {
+ setImageList(imagesUrl, null);
+ }
+
+ public void setImages(List> imagesUrl, OnLoadImageListener imageListener) {
+ setImageList(imagesUrl, imageListener);
+ }
+
+ private void initImages() {
+ imageViews.clear();
+ if (bannerStyle == BannerConfig.CIRCLE_INDICATOR ||
+ bannerStyle == BannerConfig.CIRCLE_INDICATOR_TITLE ||
+ bannerStyle == BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE) {
+ createIndicator();
+ } else if (bannerStyle == BannerConfig.NUM_INDICATOR_TITLE) {
+ numIndicatorInside.setText("1/" + count);
+ } else if (bannerStyle == BannerConfig.NUM_INDICATOR) {
+ numIndicator.setText("1/" + count);
+ }
+ }
+
+ private void setImageArray(Object[] imagesUrl, OnLoadImageListener imageListener) {
+ if (imagesUrl == null || imagesUrl.length <= 0) {
+ Log.e(tag, "Please set the images data.");
+ return;
+ }
+ count = imagesUrl.length;
+ initImages();
+ for (int i = 0; i <= count + 1; i++) {
+ ImageView iv = new ImageView(context);
+ if (scaleType==0)
+ iv.setScaleType(ScaleType.FIT_XY);
+ else
+ iv.setScaleType(ScaleType.CENTER_CROP);
+ Object url = null;
+ if (i == 0) {
+ url = imagesUrl[count - 1];
+ } else if (i == count + 1) {
+ url = imagesUrl[0];
+ } else {
+ url = imagesUrl[i - 1];
+ }
+ imageViews.add(iv);
+ if (imageListener != null) {
+ imageListener.OnLoadImage(iv, url);
+ } else {
+ if (defaultImage != -1)
+ Glide.with(context).load(url).crossFade().into(iv);
+ else
+ Glide.with(context).load(url).crossFade().placeholder(defaultImage).into(iv);
+ }
+ }
+ setData();
+ }
+
+ private void setImageList(List> imagesUrl, OnLoadImageListener imageListener) {
+ if (imagesUrl == null || imagesUrl.size() <= 0) {
+ Log.e(tag, "Please set the images data.");
+ return;
+ }
+ count = imagesUrl.size();
+ initImages();
+ for (int i = 0; i <= count + 1; i++) {
+ ImageView iv = new ImageView(context);
+ if (scaleType==0)
+ iv.setScaleType(ScaleType.FIT_XY);
+ else
+ iv.setScaleType(ScaleType.CENTER_CROP);
+ Object url = null;
+ if (i == 0) {
+ url = imagesUrl.get(count - 1);
+ } else if (i == count + 1) {
+ url = imagesUrl.get(0);
+ } else {
+ url = imagesUrl.get(i - 1);
+ }
+ imageViews.add(iv);
+ if (imageListener != null) {
+ imageListener.OnLoadImage(iv, url);
+ } else {
+ if (defaultImage != -1)
+ Glide.with(context).load(url).crossFade().into(iv);
+ else
+ Glide.with(context).load(url).crossFade().placeholder(defaultImage).into(iv);
+ }
+ }
+ setData();
+ }
+
+ private void createIndicator() {
+ indicatorImages.clear();
+ indicator.removeAllViews();
+ indicatorInside.removeAllViews();
+ for (int i = 0; i < count; i++) {
+ ImageView imageView = new ImageView(context);
+ imageView.setScaleType(ScaleType.CENTER_CROP);
+ LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(mIndicatorWidth, mIndicatorHeight);
+ params.leftMargin = mIndicatorMargin;
+ params.rightMargin = mIndicatorMargin;
+ if (i == 0) {
+ imageView.setImageResource(mIndicatorSelectedResId);
+ } else {
+ imageView.setImageResource(mIndicatorUnselectedResId);
+ }
+ indicatorImages.add(imageView);
+ if (bannerStyle == BannerConfig.CIRCLE_INDICATOR ||
+ bannerStyle == BannerConfig.CIRCLE_INDICATOR_TITLE)
+ indicator.addView(imageView, params);
+ else if (bannerStyle == BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE)
+ indicatorInside.addView(imageView, params);
+ }
+ }
+
+
+ private void setData() {
+ currentItem = 1;
+ if (adapter == null) {
+ adapter = new BannerPagerAdapter();
+ viewPager.setAdapter(adapter);
+ } else {
+ adapter.notifyDataSetChanged();
+ }
+ viewPager.setFocusable(true);
+ viewPager.setCurrentItem(1);
+ viewPager.addOnPageChangeListener(this);
+ if (gravity != -1)
+ indicator.setGravity(gravity);
+ if (isAutoPlay)
+ startAutoPlay();
+ }
+
+ private void initViewPagerScroll() {
+ try {
+ Field mField = null;
+ mField = ViewPager.class.getDeclaredField("mScroller");
+ mField.setAccessible(true);
+ mScroller = new ViewPagerScroller(viewPager.getContext());
+ mField.set(viewPager, mScroller);
+ } catch (NoSuchFieldException e) {
+ e.printStackTrace();
+ } catch (IllegalArgumentException e) {
+ e.printStackTrace();
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ }
+ private void startAutoPlay() {
+ handler.removeCallbacks(task);
+ handler.postDelayed(task, delayTime);
+ }
+ public void stopAutoPlay() {
+ handler.removeCallbacks(task);
+ }
+ private final Runnable task = new Runnable() {
+
+ @Override
+ public void run() {
+ if (count > 1&&isAutoPlay) {
+ currentItem = currentItem % (count + 1) + 1;
+ if (currentItem == 1) {
+ viewPager.setCurrentItem(currentItem, false);
+ handler.postDelayed(task, delayTime);
+ }else if(currentItem==count+1){
+ viewPager.setCurrentItem(currentItem);
+ handler.postDelayed(task, 500);
+ }else {
+ viewPager.setCurrentItem(currentItem);
+ handler.postDelayed(task, delayTime);
+ }
+ }
+ }
+ };
+
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent ev) {
+// Log.i(tag, ev.getAction() + "--" + isAutoPlay);
+ if (isAutoPlay) {
+ int action = ev.getAction();
+ if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL
+ || action == MotionEvent.ACTION_OUTSIDE) {
+ startAutoPlay();
+ } else if (action == MotionEvent.ACTION_DOWN) {
+ stopAutoPlay();
+ }
+ }
+ return super.dispatchTouchEvent(ev);
+ }
+
+ class BannerPagerAdapter extends PagerAdapter {
+
+ @Override
+ public int getCount() {
+ return imageViews.size();
+ }
+
+ @Override
+ public boolean isViewFromObject(View arg0, Object arg1) {
+ return arg0 == arg1;
+ }
+
+ @Override
+ public Object instantiateItem(ViewGroup container, final int position) {
+ container.addView(imageViews.get(position));
+ ImageView view = imageViews.get(position);
+ if (listener!=null) {
+ view.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ listener.OnBannerClick(position);
+ }
+ });
+ }
+ return view;
+ }
+
+ @Override
+ public void destroyItem(ViewGroup container, int position, Object object) {
+ container.removeView(imageViews.get(position));
+ }
+
+ }
+
+ @Override
+ public void onPageScrollStateChanged(int state) {
+ currentItem = viewPager.getCurrentItem();
+ switch (state) {
+ case 0:
+ if (currentItem == 0) {
+ viewPager.setCurrentItem(count, false);
+ } else if (currentItem == count + 1) {
+ viewPager.setCurrentItem(1, false);
+ }
+ break;
+ }
+ if (mOnPageChangeListener != null) {
+ mOnPageChangeListener.onPageScrollStateChanged(state);
+ }
+ }
+
+ @Override
+ public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+ if (mOnPageChangeListener != null) {
+ mOnPageChangeListener.onPageScrolled(position, positionOffset, positionOffsetPixels);
+ }
+ }
+
+ @Override
+ public void onPageSelected(int position) {
+ if (mOnPageChangeListener != null) {
+ mOnPageChangeListener.onPageSelected(position);
+ }
+ if (bannerStyle == BannerConfig.CIRCLE_INDICATOR ||
+ bannerStyle == BannerConfig.CIRCLE_INDICATOR_TITLE ||
+ bannerStyle == BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE) {
+ indicatorImages.get((lastPosition - 1 + count) % count).setImageResource(mIndicatorUnselectedResId);
+ indicatorImages.get((position - 1 + count) % count).setImageResource(mIndicatorSelectedResId);
+ lastPosition = position;
+ }
+ if (position == 0) position = 1;
+ switch (bannerStyle) {
+ case BannerConfig.CIRCLE_INDICATOR:
+ break;
+ case BannerConfig.NUM_INDICATOR:
+ if (position > count) position = count;
+ numIndicator.setText(position + "/" + count);
+ break;
+ case BannerConfig.NUM_INDICATOR_TITLE:
+ if (position > count) position = count;
+ numIndicatorInside.setText(position + "/" + count);
+ if (titles != null && titles.length > 0) {
+ if (position > titles.length) position = titles.length;
+ bannerTitle.setText(titles[position - 1]);
+ }
+ break;
+ case BannerConfig.CIRCLE_INDICATOR_TITLE:
+ if (titles != null && titles.length > 0) {
+ if (position > titles.length) position = titles.length;
+ bannerTitle.setText(titles[position - 1]);
+ }
+ break;
+ case BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE:
+ if (titles != null && titles.length > 0) {
+ if (position > titles.length) position = titles.length;
+ bannerTitle.setText(titles[position - 1]);
+ }
+ break;
+ }
+
+ }
+
+
+ public void setOnBannerClickListener(OnBannerClickListener listener) {
+ this.listener=listener;
+ }
+
+ public void setOnBannerImageListener(OnLoadImageListener imageListener) {
+ this.imageListener = imageListener;
+ }
+
+ public void setOnPageChangeListener(OnPageChangeListener onPageChangeListener) {
+ mOnPageChangeListener = onPageChangeListener;
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/BannerConfig.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/BannerConfig.java
new file mode 100644
index 0000000..c9be808
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/BannerConfig.java
@@ -0,0 +1,38 @@
+package com.youth.banner;
+
+
+public class BannerConfig {
+ /**
+ * indicator style
+ */
+ public static final int NOT_INDICATOR=0;
+ public static final int CIRCLE_INDICATOR=1;
+ public static final int NUM_INDICATOR=2;
+ public static final int NUM_INDICATOR_TITLE=3;
+ public static final int CIRCLE_INDICATOR_TITLE=4;
+ public static final int CIRCLE_INDICATOR_TITLE_INSIDE=5;
+ /**
+ * indicator gravity
+ */
+ public static final int LEFT=5;
+ public static final int CENTER=6;
+ public static final int RIGHT=7;
+
+ /**
+ * banner
+ */
+ public static final int INDICATOR_SIZE=8;
+ public static final int PADDING_SIZE=5;
+ public static final int TIME=2000;
+ public static final int DURATION=800;
+ public static final boolean IS_AUTO_PLAY=true;
+
+ /**
+ * title style
+ */
+ public static final int TITLE_BACKGROUND=-1;
+ public static final int TITLE_HEIGHT=-1;
+ public static final int TITLE_TEXT_COLOR=-1;
+ public static final int TITLE_TEXT_SIZE=-1;
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/Transformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/Transformer.java
new file mode 100644
index 0000000..fae91de
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/Transformer.java
@@ -0,0 +1,41 @@
+package com.youth.banner;
+
+import android.support.v4.view.ViewPager.PageTransformer;
+
+import com.youth.banner.transformer.AccordionTransformer;
+import com.youth.banner.transformer.BackgroundToForegroundTransformer;
+import com.youth.banner.transformer.CubeInTransformer;
+import com.youth.banner.transformer.CubeOutTransformer;
+import com.youth.banner.transformer.DefaultTransformer;
+import com.youth.banner.transformer.DepthPageTransformer;
+import com.youth.banner.transformer.FlipHorizontalTransformer;
+import com.youth.banner.transformer.FlipVerticalTransformer;
+import com.youth.banner.transformer.ForegroundToBackgroundTransformer;
+import com.youth.banner.transformer.RotateDownTransformer;
+import com.youth.banner.transformer.RotateUpTransformer;
+import com.youth.banner.transformer.ScaleInOutTransformer;
+import com.youth.banner.transformer.StackTransformer;
+import com.youth.banner.transformer.TabletTransformer;
+import com.youth.banner.transformer.ZoomInTransformer;
+import com.youth.banner.transformer.ZoomOutSlideTransformer;
+import com.youth.banner.transformer.ZoomOutTranformer;
+
+public class Transformer {
+ public static Class extends PageTransformer> Default = DefaultTransformer.class;
+ public static Class extends PageTransformer> Accordion = AccordionTransformer.class;
+ public static Class extends PageTransformer> BackgroundToForeground = BackgroundToForegroundTransformer.class;
+ public static Class extends PageTransformer> ForegroundToBackground = ForegroundToBackgroundTransformer.class;
+ public static Class extends PageTransformer> CubeIn = CubeInTransformer.class;
+ public static Class extends PageTransformer> CubeOut = CubeOutTransformer.class;
+ public static Class extends PageTransformer> DepthPage = DepthPageTransformer.class;
+ public static Class extends PageTransformer> FlipHorizontal = FlipHorizontalTransformer.class;
+ public static Class extends PageTransformer> FlipVertical = FlipVerticalTransformer.class;
+ public static Class extends PageTransformer> RotateDown = RotateDownTransformer.class;
+ public static Class extends PageTransformer> RotateUp = RotateUpTransformer.class;
+ public static Class extends PageTransformer> ScaleInOut = ScaleInOutTransformer.class;
+ public static Class extends PageTransformer> Stack = StackTransformer.class;
+ public static Class extends PageTransformer> Tablet = TabletTransformer.class;
+ public static Class extends PageTransformer> ZoomIn = ZoomInTransformer.class;
+ public static Class extends PageTransformer> ZoomOut = ZoomOutTranformer.class;
+ public static Class extends PageTransformer> ZoomOutSlide = ZoomOutSlideTransformer.class;
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/ViewPagerScroller.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/ViewPagerScroller.java
new file mode 100644
index 0000000..94a11ad
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/ViewPagerScroller.java
@@ -0,0 +1,36 @@
+package com.youth.banner;
+
+import android.content.Context;
+import android.view.animation.Interpolator;
+import android.widget.Scroller;
+
+public class ViewPagerScroller extends Scroller {
+ private int mDuration = BannerConfig.DURATION;
+
+ public ViewPagerScroller(Context context) {
+ super(context);
+ }
+
+ public ViewPagerScroller(Context context, Interpolator interpolator) {
+ super(context, interpolator);
+ }
+
+ public ViewPagerScroller(Context context, Interpolator interpolator, boolean flywheel) {
+ super(context, interpolator, flywheel);
+ }
+
+ @Override
+ public void startScroll(int startX, int startY, int dx, int dy, int duration) {
+ super.startScroll(startX, startY, dx, dy, mDuration);
+ }
+
+ @Override
+ public void startScroll(int startX, int startY, int dx, int dy) {
+ super.startScroll(startX, startY, dx, dy, mDuration);
+ }
+
+ public void setDuration(int time) {
+ mDuration = time;
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/listener/OnBannerClickListener.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/listener/OnBannerClickListener.java
new file mode 100644
index 0000000..be73307
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/listener/OnBannerClickListener.java
@@ -0,0 +1,7 @@
+package com.youth.banner.listener;
+
+import android.view.View;
+
+public interface OnBannerClickListener {
+ public void OnBannerClick(int position);
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/listener/OnLoadImageListener.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/listener/OnLoadImageListener.java
new file mode 100644
index 0000000..4f5a9af
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/listener/OnLoadImageListener.java
@@ -0,0 +1,7 @@
+package com.youth.banner.listener;
+
+import android.widget.ImageView;
+
+public interface OnLoadImageListener {
+ public void OnLoadImage(ImageView view, Object url);
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/ABaseTransformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/ABaseTransformer.java
new file mode 100644
index 0000000..29b6197
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/ABaseTransformer.java
@@ -0,0 +1,130 @@
+/*
+ * Copyright 2014 Toxic Bakery
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.youth.banner.transformer;
+
+import android.support.v4.view.ViewPager.PageTransformer;
+import android.view.View;
+
+public abstract class ABaseTransformer implements PageTransformer {
+
+ /**
+ * Called each {@link #transformPage(View, float)}.
+ *
+ * @param page
+ * Apply the transformation to this page
+ * @param position
+ * Position of page relative to the current front-and-center position of the pager. 0 is front and
+ * center. 1 is one full page position to the right, and -1 is one page position to the left.
+ */
+ protected abstract void onTransform(View page, float position);
+
+ /**
+ * Apply a property transformation to the given page. For most use cases, this method should not be overridden.
+ * Instead use {@link #transformPage(View, float)} to perform typical transformations.
+ *
+ * @param page
+ * Apply the transformation to this page
+ * @param position
+ * Position of page relative to the current front-and-center position of the pager. 0 is front and
+ * center. 1 is one full page position to the right, and -1 is one page position to the left.
+ */
+ @Override
+ public void transformPage(View page, float position) {
+ onPreTransform(page, position);
+ onTransform(page, position);
+ onPostTransform(page, position);
+ }
+
+ /**
+ * If the position offset of a fragment is less than negative one or greater than one, returning true will set the
+ * fragment alpha to 0f. Otherwise fragment alpha is always defaulted to 1f.
+ *
+ * @return
+ */
+ protected boolean hideOffscreenPages() {
+ return true;
+ }
+
+ /**
+ * Indicates if the default animations of the view pager should be used.
+ *
+ * @return
+ */
+ protected boolean isPagingEnabled() {
+ return false;
+ }
+
+ /**
+ * Called each {@link #transformPage(View, float)} before {{@link #onTransform(View, float)}.
+ *
+ * The default implementation attempts to reset all view properties. This is useful when toggling transforms that do
+ * not modify the same page properties. For instance changing from a transformation that applies rotation to a
+ * transformation that fades can inadvertently leave a fragment stuck with a rotation or with some degree of applied
+ * alpha.
+ *
+ * @param page
+ * Apply the transformation to this page
+ * @param position
+ * Position of page relative to the current front-and-center position of the pager. 0 is front and
+ * center. 1 is one full page position to the right, and -1 is one page position to the left.
+ */
+ protected void onPreTransform(View page, float position) {
+ final float width = page.getWidth();
+
+ page.setRotationX(0);
+ page.setRotationY(0);
+ page.setRotation(0);
+ page.setScaleX(1);
+ page.setScaleY(1);
+ page.setPivotX(0);
+ page.setPivotY(0);
+ page.setTranslationY(0);
+ page.setTranslationX(isPagingEnabled() ? 0f : -width * position);
+
+ if (hideOffscreenPages()) {
+ page.setAlpha(position <= -1f || position >= 1f ? 0f : 1f);
+// page.setEnabled(false);
+ } else {
+// page.setEnabled(true);
+ page.setAlpha(1f);
+ }
+ }
+
+ /**
+ * Called each {@link #transformPage(View, float)} after {@link #onTransform(View, float)}.
+ *
+ * @param page
+ * Apply the transformation to this page
+ * @param position
+ * Position of page relative to the current front-and-center position of the pager. 0 is front and
+ * center. 1 is one full page position to the right, and -1 is one page position to the left.
+ */
+ protected void onPostTransform(View page, float position) {
+ }
+
+ /**
+ * Same as {@link Math#min(double, double)} without double casting, zero closest to infinity handling, or NaN support.
+ *
+ * @param val
+ * @param min
+ * @return
+ */
+ protected static final float min(float val, float min) {
+ return val < min ? min : val;
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/AccordionTransformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/AccordionTransformer.java
new file mode 100644
index 0000000..f328d28
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/AccordionTransformer.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2014 Toxic Bakery
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.youth.banner.transformer;
+
+import android.view.View;
+
+public class AccordionTransformer extends ABaseTransformer {
+
+ @Override
+ protected void onTransform(View view, float position) {
+ view.setPivotX(position < 0 ? 0 : view.getWidth());
+ view.setScaleX(position < 0 ? 1f + position : 1f - position);
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/BackgroundToForegroundTransformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/BackgroundToForegroundTransformer.java
new file mode 100644
index 0000000..29ab05a
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/BackgroundToForegroundTransformer.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2014 Toxic Bakery
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.youth.banner.transformer;
+
+import android.view.View;
+
+public class BackgroundToForegroundTransformer extends ABaseTransformer {
+
+ @Override
+ protected void onTransform(View view, float position) {
+ final float height = view.getHeight();
+ final float width = view.getWidth();
+ final float scale = min(position < 0 ? 1f : Math.abs(1f - position), 0.5f);
+
+ view.setScaleX(scale);
+ view.setScaleY(scale);
+ view.setPivotX(width * 0.5f);
+ view.setPivotY(height * 0.5f);
+ view.setTranslationX(position < 0 ? width * position : -width * position * 0.25f);
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/CubeInTransformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/CubeInTransformer.java
new file mode 100644
index 0000000..50d2e62
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/CubeInTransformer.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2014 Toxic Bakery
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.youth.banner.transformer;
+
+import android.view.View;
+
+public class CubeInTransformer extends ABaseTransformer {
+
+ @Override
+ protected void onTransform(View view, float position) {
+ // Rotate the fragment on the left or right edge
+ view.setPivotX(position > 0 ? 0 : view.getWidth());
+ view.setPivotY(0);
+ view.setRotationY(-90f * position);
+ }
+
+ @Override
+ public boolean isPagingEnabled() {
+ return true;
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/CubeOutTransformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/CubeOutTransformer.java
new file mode 100644
index 0000000..5793e40
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/CubeOutTransformer.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2014 Toxic Bakery
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.youth.banner.transformer;
+
+import android.view.View;
+
+public class CubeOutTransformer extends ABaseTransformer {
+
+ @Override
+ protected void onTransform(View view, float position) {
+ view.setPivotX(position < 0f ? view.getWidth() : 0f);
+ view.setPivotY(view.getHeight() * 0.5f);
+ view.setRotationY(90f * position);
+ }
+
+ @Override
+ public boolean isPagingEnabled() {
+ return true;
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/DefaultTransformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/DefaultTransformer.java
new file mode 100644
index 0000000..3b71d12
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/DefaultTransformer.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2014 Toxic Bakery
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.youth.banner.transformer;
+
+import android.view.View;
+
+public class DefaultTransformer extends ABaseTransformer {
+
+ @Override
+ protected void onTransform(View view, float position) {
+ }
+
+ @Override
+ public boolean isPagingEnabled() {
+ return true;
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/DepthPageTransformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/DepthPageTransformer.java
new file mode 100644
index 0000000..98ea97c
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/DepthPageTransformer.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2014 Toxic Bakery
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.youth.banner.transformer;
+
+import android.view.View;
+
+public class DepthPageTransformer extends ABaseTransformer {
+
+ private static final float MIN_SCALE = 0.75f;
+
+ @Override
+ protected void onTransform(View view, float position) {
+ if (position <= 0f) {
+ view.setTranslationX(0f);
+ view.setScaleX(1f);
+ view.setScaleY(1f);
+ } else if (position <= 1f) {
+ final float scaleFactor = MIN_SCALE + (1 - MIN_SCALE) * (1 - Math.abs(position));
+ view.setAlpha(1 - position);
+ view.setPivotY(0.5f * view.getHeight());
+ view.setTranslationX(view.getWidth() * -position);
+ view.setScaleX(scaleFactor);
+ view.setScaleY(scaleFactor);
+ }
+ }
+
+ @Override
+ protected boolean isPagingEnabled() {
+ return true;
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/FlipHorizontalTransformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/FlipHorizontalTransformer.java
new file mode 100644
index 0000000..01b23e0
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/FlipHorizontalTransformer.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2014 Toxic Bakery
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.youth.banner.transformer;
+
+import android.view.View;
+
+public class FlipHorizontalTransformer extends ABaseTransformer {
+
+ @Override
+ protected void onTransform(View view, float position) {
+ final float rotation = 180f * position;
+
+ view.setAlpha(rotation > 90f || rotation < -90f ? 0 : 1);
+ view.setPivotX(view.getWidth() * 0.5f);
+ view.setPivotY(view.getHeight() * 0.5f);
+ view.setRotationY(rotation);
+ }
+
+ @Override
+ protected void onPostTransform(View page, float position) {
+ super.onPostTransform(page, position);
+
+ //resolve problem: new page can't handle click event!
+ if (position > -0.5f && position < 0.5f) {
+ page.setVisibility(View.VISIBLE);
+ } else {
+ page.setVisibility(View.INVISIBLE);
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/FlipVerticalTransformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/FlipVerticalTransformer.java
new file mode 100644
index 0000000..7ea93aa
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/FlipVerticalTransformer.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2014 Toxic Bakery
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.youth.banner.transformer;
+
+import android.view.View;
+
+public class FlipVerticalTransformer extends ABaseTransformer {
+
+ @Override
+ protected void onTransform(View view, float position) {
+ final float rotation = -180f * position;
+
+ view.setAlpha(rotation > 90f || rotation < -90f ? 0f : 1f);
+ view.setPivotX(view.getWidth() * 0.5f);
+ view.setPivotY(view.getHeight() * 0.5f);
+ view.setRotationX(rotation);
+ }
+
+ @Override
+ protected void onPostTransform(View page, float position) {
+ super.onPostTransform(page, position);
+
+ if (position > -0.5f && position < 0.5f) {
+ page.setVisibility(View.VISIBLE);
+ } else {
+ page.setVisibility(View.INVISIBLE);
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/ForegroundToBackgroundTransformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/ForegroundToBackgroundTransformer.java
new file mode 100644
index 0000000..499f3ba
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/ForegroundToBackgroundTransformer.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2014 Toxic Bakery
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.youth.banner.transformer;
+
+import android.view.View;
+
+public class ForegroundToBackgroundTransformer extends ABaseTransformer {
+
+ @Override
+ protected void onTransform(View view, float position) {
+ final float height = view.getHeight();
+ final float width = view.getWidth();
+ final float scale = min(position > 0 ? 1f : Math.abs(1f + position), 0.5f);
+
+ view.setScaleX(scale);
+ view.setScaleY(scale);
+ view.setPivotX(width * 0.5f);
+ view.setPivotY(height * 0.5f);
+ view.setTranslationX(position > 0 ? width * position : -width * position * 0.25f);
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/RotateDownTransformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/RotateDownTransformer.java
new file mode 100644
index 0000000..c6e2e1a
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/RotateDownTransformer.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2014 Toxic Bakery
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.youth.banner.transformer;
+
+import android.view.View;
+
+public class RotateDownTransformer extends ABaseTransformer {
+
+ private static final float ROT_MOD = -15f;
+
+ @Override
+ protected void onTransform(View view, float position) {
+ final float width = view.getWidth();
+ final float height = view.getHeight();
+ final float rotation = ROT_MOD * position * -1.25f;
+
+ view.setPivotX(width * 0.5f);
+ view.setPivotY(height);
+ view.setRotation(rotation);
+ }
+
+ @Override
+ protected boolean isPagingEnabled() {
+ return true;
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/RotateUpTransformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/RotateUpTransformer.java
new file mode 100644
index 0000000..850614d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/RotateUpTransformer.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2014 Toxic Bakery
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.youth.banner.transformer;
+
+import android.view.View;
+
+public class RotateUpTransformer extends ABaseTransformer {
+
+ private static final float ROT_MOD = -15f;
+
+ @Override
+ protected void onTransform(View view, float position) {
+ final float width = view.getWidth();
+ final float rotation = ROT_MOD * position;
+
+ view.setPivotX(width * 0.5f);
+ view.setPivotY(0f);
+ view.setTranslationX(0f);
+ view.setRotation(rotation);
+ }
+
+ @Override
+ protected boolean isPagingEnabled() {
+ return true;
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/ScaleInOutTransformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/ScaleInOutTransformer.java
new file mode 100644
index 0000000..95a4859
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/ScaleInOutTransformer.java
@@ -0,0 +1,16 @@
+package com.youth.banner.transformer;
+
+import android.view.View;
+
+public class ScaleInOutTransformer extends ABaseTransformer {
+
+ @Override
+ protected void onTransform(View view, float position) {
+ view.setPivotX(position < 0 ? 0 : view.getWidth());
+ view.setPivotY(view.getHeight() / 2f);
+ float scale = position < 0 ? 1f + position : 1f - position;
+ view.setScaleX(scale);
+ view.setScaleY(scale);
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/StackTransformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/StackTransformer.java
new file mode 100644
index 0000000..9d8d75e
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/StackTransformer.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2014 Toxic Bakery
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.youth.banner.transformer;
+
+import android.view.View;
+
+public class StackTransformer extends ABaseTransformer {
+
+ @Override
+ protected void onTransform(View view, float position) {
+ view.setTranslationX(position < 0 ? 0f : -view.getWidth() * position);
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/TabletTransformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/TabletTransformer.java
new file mode 100644
index 0000000..bfa985f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/TabletTransformer.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2014 Toxic Bakery
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.youth.banner.transformer;
+
+import android.graphics.Camera;
+import android.graphics.Matrix;
+import android.view.View;
+
+public class TabletTransformer extends ABaseTransformer {
+
+ private static final Matrix OFFSET_MATRIX = new Matrix();
+ private static final Camera OFFSET_CAMERA = new Camera();
+ private static final float[] OFFSET_TEMP_FLOAT = new float[2];
+
+ @Override
+ protected void onTransform(View view, float position) {
+ final float rotation = (position < 0 ? 30f : -30f) * Math.abs(position);
+
+ view.setTranslationX(getOffsetXForRotation(rotation, view.getWidth(), view.getHeight()));
+ view.setPivotX(view.getWidth() * 0.5f);
+ view.setPivotY(0);
+ view.setRotationY(rotation);
+ }
+
+ protected static final float getOffsetXForRotation(float degrees, int width, int height) {
+ OFFSET_MATRIX.reset();
+ OFFSET_CAMERA.save();
+ OFFSET_CAMERA.rotateY(Math.abs(degrees));
+ OFFSET_CAMERA.getMatrix(OFFSET_MATRIX);
+ OFFSET_CAMERA.restore();
+
+ OFFSET_MATRIX.preTranslate(-width * 0.5f, -height * 0.5f);
+ OFFSET_MATRIX.postTranslate(width * 0.5f, height * 0.5f);
+ OFFSET_TEMP_FLOAT[0] = width;
+ OFFSET_TEMP_FLOAT[1] = height;
+ OFFSET_MATRIX.mapPoints(OFFSET_TEMP_FLOAT);
+ return (width - OFFSET_TEMP_FLOAT[0]) * (degrees > 0.0f ? 1.0f : -1.0f);
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/ZoomInTransformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/ZoomInTransformer.java
new file mode 100644
index 0000000..de24a37
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/ZoomInTransformer.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2014 Toxic Bakery
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.youth.banner.transformer;
+
+import android.view.View;
+
+public class ZoomInTransformer extends ABaseTransformer {
+
+ @Override
+ protected void onTransform(View view, float position) {
+ final float scale = position < 0 ? position + 1f : Math.abs(1f - position);
+ view.setScaleX(scale);
+ view.setScaleY(scale);
+ view.setPivotX(view.getWidth() * 0.5f);
+ view.setPivotY(view.getHeight() * 0.5f);
+ view.setAlpha(position < -1f || position > 1f ? 0f : 1f - (scale - 1f));
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/ZoomOutSlideTransformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/ZoomOutSlideTransformer.java
new file mode 100644
index 0000000..2c9a3f0
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/ZoomOutSlideTransformer.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2014 Toxic Bakery
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.youth.banner.transformer;
+
+import android.view.View;
+
+public class ZoomOutSlideTransformer extends ABaseTransformer {
+
+ private static final float MIN_SCALE = 0.85f;
+ private static final float MIN_ALPHA = 0.5f;
+
+ @Override
+ protected void onTransform(View view, float position) {
+ if (position >= -1 || position <= 1) {
+ // Modify the default slide transition to shrink the page as well
+ final float height = view.getHeight();
+ final float width = view.getWidth();
+ final float scaleFactor = Math.max(MIN_SCALE, 1 - Math.abs(position));
+ final float vertMargin = height * (1 - scaleFactor) / 2;
+ final float horzMargin = width * (1 - scaleFactor) / 2;
+
+ // Center vertically
+ view.setPivotY(0.5f * height);
+ view.setPivotX(0.5f * width);
+
+ if (position < 0) {
+ view.setTranslationX(horzMargin - vertMargin / 2);
+ } else {
+ view.setTranslationX(-horzMargin + vertMargin / 2);
+ }
+
+ // Scale the page down (between MIN_SCALE and 1)
+ view.setScaleX(scaleFactor);
+ view.setScaleY(scaleFactor);
+
+ // Fade the page relative to its size.
+ view.setAlpha(MIN_ALPHA + (scaleFactor - MIN_SCALE) / (1 - MIN_SCALE) * (1 - MIN_ALPHA));
+ }
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/ZoomOutTranformer.java b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/ZoomOutTranformer.java
new file mode 100644
index 0000000..c2e9f4b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/java/com/youth/banner/transformer/ZoomOutTranformer.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2014 Toxic Bakery
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.youth.banner.transformer;
+
+import android.view.View;
+
+public class ZoomOutTranformer extends ABaseTransformer {
+
+ @Override
+ protected void onTransform(View view, float position) {
+ final float scale = 1f + Math.abs(position);
+ view.setScaleX(scale);
+ view.setScaleY(scale);
+ view.setPivotX(view.getWidth() * 0.5f);
+ view.setPivotY(view.getHeight() * 0.5f);
+ view.setAlpha(position < -1f || position > 1f ? 0f : 1f - (scale - 1f));
+ if(position == -1){
+ view.setTranslationX(view.getWidth() * -1);
+ }
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/res/animator/scale_with_alpha.xml b/S202014040230郭刘芊/ShoppingMall/banner/src/main/res/animator/scale_with_alpha.xml
new file mode 100644
index 0000000..ce81007
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/res/animator/scale_with_alpha.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/res/drawable/black_background.xml b/S202014040230郭刘芊/ShoppingMall/banner/src/main/res/drawable/black_background.xml
new file mode 100644
index 0000000..205c376
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/res/drawable/black_background.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/res/drawable/gray_radius.xml b/S202014040230郭刘芊/ShoppingMall/banner/src/main/res/drawable/gray_radius.xml
new file mode 100644
index 0000000..e179aca
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/res/drawable/gray_radius.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/res/drawable/white_radius.xml b/S202014040230郭刘芊/ShoppingMall/banner/src/main/res/drawable/white_radius.xml
new file mode 100644
index 0000000..e2d61b4
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/res/drawable/white_radius.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/res/layout/banner.xml b/S202014040230郭刘芊/ShoppingMall/banner/src/main/res/layout/banner.xml
new file mode 100644
index 0000000..a74b185
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/res/layout/banner.xml
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/main/res/values/attr.xml b/S202014040230郭刘芊/ShoppingMall/banner/src/main/res/values/attr.xml
new file mode 100644
index 0000000..538ca9e
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/main/res/values/attr.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/banner/src/test/java/com/youth/banner/ExampleUnitTest.java b/S202014040230郭刘芊/ShoppingMall/banner/src/test/java/com/youth/banner/ExampleUnitTest.java
new file mode 100644
index 0000000..6db5988
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/banner/src/test/java/com/youth/banner/ExampleUnitTest.java
@@ -0,0 +1,15 @@
+package com.youth.banner;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * To work on unit tests, switch the Test Artifact in the Build Variants view.
+ */
+public class ExampleUnitTest {
+ @Test
+ public void addition_isCorrect() throws Exception {
+ assertEquals(4, 2 + 2);
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/build.gradle b/S202014040230郭刘芊/ShoppingMall/build.gradle
new file mode 100644
index 0000000..2d1d9aa
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/build.gradle
@@ -0,0 +1,25 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+
+buildscript {
+ repositories {
+ jcenter()
+ google()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:3.6.1'
+
+ // NOTE: Do not place your application dependencies here; they belong
+ // in the individual module build.gradle files
+ }
+}
+
+allprojects {
+ repositories {
+ jcenter()
+ google()
+ }
+}
+
+task clean(type: Delete) {
+ delete rootProject.buildDir
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/gradle.properties b/S202014040230郭刘芊/ShoppingMall/gradle.properties
new file mode 100644
index 0000000..aac7c9b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/gradle.properties
@@ -0,0 +1,17 @@
+# Project-wide Gradle settings.
+
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+org.gradle.jvmargs=-Xmx1536m
+
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+# org.gradle.parallel=true
diff --git a/S202014040230郭刘芊/ShoppingMall/gradle/wrapper/gradle-wrapper.jar b/S202014040230郭刘芊/ShoppingMall/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000..13372ae
Binary files /dev/null and b/S202014040230郭刘芊/ShoppingMall/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/S202014040230郭刘芊/ShoppingMall/gradle/wrapper/gradle-wrapper.properties b/S202014040230郭刘芊/ShoppingMall/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..2bae9cd
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Mon Dec 28 10:00:20 PST 2015
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
diff --git a/S202014040230郭刘芊/ShoppingMall/gradlew b/S202014040230郭刘芊/ShoppingMall/gradlew
new file mode 100644
index 0000000..9d82f78
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/gradlew
@@ -0,0 +1,160 @@
+#!/usr/bin/env bash
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn ( ) {
+ echo "$*"
+}
+
+die ( ) {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+esac
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
+function splitJvmOpts() {
+ JVM_OPTS=("$@")
+}
+eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
+JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+
+exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
diff --git a/S202014040230郭刘芊/ShoppingMall/gradlew.bat b/S202014040230郭刘芊/ShoppingMall/gradlew.bat
new file mode 100644
index 0000000..8a0b282
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/gradlew.bat
@@ -0,0 +1,90 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windowz variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+if "%@eval[2+2]" == "4" goto 4NT_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+goto execute
+
+:4NT_args
+@rem Get arguments from the 4NT Shell from JP Software
+set CMD_LINE_ARGS=%$
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/.gitignore b/S202014040230郭刘芊/ShoppingMall/okhttputils/.gitignore
new file mode 100644
index 0000000..796b96d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/build.gradle b/S202014040230郭刘芊/ShoppingMall/okhttputils/build.gradle
new file mode 100644
index 0000000..bfd6cd2
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/build.gradle
@@ -0,0 +1,58 @@
+apply plugin: 'com.android.library'
+/*apply plugin: 'com.novoda.bintray-release'//添加*/
+
+
+android {
+ compileSdkVersion 23
+ buildToolsVersion "23.0.1"
+
+ defaultConfig {
+ minSdkVersion 9
+ targetSdkVersion 23
+ versionCode 1
+ versionName "1.0"
+ }
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ }
+ lintOptions{
+ abortOnError false
+ warning 'InvalidPackage'
+ }
+
+}
+
+
+task clearJar(type: Delete) {
+ delete 'build/outputs/okhttputils.jar'
+}
+
+task makeJar(type: Copy) {
+ from('build/intermediates/bundles/release/')
+ into('build/outputs/')
+ include('classes.jar')
+ rename ('classes.jar', 'okhttputils-2_6_2.jar')
+}
+
+makeJar.dependsOn(clearJar, build)
+
+
+
+dependencies {
+ compile fileTree(dir: 'libs', include: ['*.jar'])
+ compile 'com.squareup.okhttp3:okhttp:3.3.1'
+}
+
+/*//添加
+publish {
+ userOrg = 'hongyangandroid'//bintray.com用户名
+ groupId = 'com.zhy'//jcenter上的路径
+ artifactId = 'okhttputils'//项目名称
+ publishVersion = '2.6.2'//版本号
+ desc = 'Oh hi, this is a nice description for a project, right?'
+ website = 'https://github.com/hongyangAndroid/okhttp-utils'
+}*/
+
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/proguard-rules.pro b/S202014040230郭刘芊/ShoppingMall/okhttputils/proguard-rules.pro
new file mode 100644
index 0000000..1c6c033
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/proguard-rules.pro
@@ -0,0 +1,17 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in /Users/zhy/android/sdk/android-sdk-macosx/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/androidTest/java/com/zhy/http/okhttp/ApplicationTest.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/androidTest/java/com/zhy/http/okhttp/ApplicationTest.java
new file mode 100644
index 0000000..c9a114f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/androidTest/java/com/zhy/http/okhttp/ApplicationTest.java
@@ -0,0 +1,15 @@
+package com.zhy.http.okhttp;
+
+import android.app.Application;
+import android.test.ApplicationTestCase;
+
+/**
+ * Testing Fundamentals
+ */
+public class ApplicationTest extends ApplicationTestCase
+{
+ public ApplicationTest()
+ {
+ super(Application.class);
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/AndroidManifest.xml b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..73906c6
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/AndroidManifest.xml
@@ -0,0 +1,5 @@
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/OkHttpUtils.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/OkHttpUtils.java
new file mode 100644
index 0000000..bd13ab9
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/OkHttpUtils.java
@@ -0,0 +1,218 @@
+package com.zhy.http.okhttp;
+
+import com.zhy.http.okhttp.builder.GetBuilder;
+import com.zhy.http.okhttp.builder.HeadBuilder;
+import com.zhy.http.okhttp.builder.OtherRequestBuilder;
+import com.zhy.http.okhttp.builder.PostFileBuilder;
+import com.zhy.http.okhttp.builder.PostFormBuilder;
+import com.zhy.http.okhttp.builder.PostStringBuilder;
+import com.zhy.http.okhttp.callback.Callback;
+import com.zhy.http.okhttp.request.RequestCall;
+import com.zhy.http.okhttp.utils.Platform;
+
+import java.io.IOException;
+import java.util.concurrent.Executor;
+
+import okhttp3.Call;
+import okhttp3.OkHttpClient;
+import okhttp3.Response;
+
+/**
+ * Created by zhy on 15/8/17.
+ */
+public class OkHttpUtils
+{
+ public static final long DEFAULT_MILLISECONDS = 10_000L;
+ private volatile static OkHttpUtils mInstance;
+ private OkHttpClient mOkHttpClient;
+ private Platform mPlatform;
+
+ public OkHttpUtils(OkHttpClient okHttpClient)
+ {
+ if (okHttpClient == null)
+ {
+ mOkHttpClient = new OkHttpClient();
+ } else
+ {
+ mOkHttpClient = okHttpClient;
+ }
+
+ mPlatform = Platform.get();
+ }
+
+
+ public static OkHttpUtils initClient(OkHttpClient okHttpClient)
+ {
+ if (mInstance == null)
+ {
+ synchronized (OkHttpUtils.class)
+ {
+ if (mInstance == null)
+ {
+ mInstance = new OkHttpUtils(okHttpClient);
+ }
+ }
+ }
+ return mInstance;
+ }
+
+ public static OkHttpUtils getInstance()
+ {
+ return initClient(null);
+ }
+
+
+ public Executor getDelivery()
+ {
+ return mPlatform.defaultCallbackExecutor();
+ }
+
+ public OkHttpClient getOkHttpClient()
+ {
+ return mOkHttpClient;
+ }
+
+ public static GetBuilder get()
+ {
+ return new GetBuilder();
+ }
+
+ public static PostStringBuilder postString()
+ {
+ return new PostStringBuilder();
+ }
+
+ public static PostFileBuilder postFile()
+ {
+ return new PostFileBuilder();
+ }
+
+ public static PostFormBuilder post()
+ {
+ return new PostFormBuilder();
+ }
+
+ public static OtherRequestBuilder put()
+ {
+ return new OtherRequestBuilder(METHOD.PUT);
+ }
+
+ public static HeadBuilder head()
+ {
+ return new HeadBuilder();
+ }
+
+ public static OtherRequestBuilder delete()
+ {
+ return new OtherRequestBuilder(METHOD.DELETE);
+ }
+
+ public static OtherRequestBuilder patch()
+ {
+ return new OtherRequestBuilder(METHOD.PATCH);
+ }
+
+ public void execute(final RequestCall requestCall, Callback callback)
+ {
+ if (callback == null)
+ callback = Callback.CALLBACK_DEFAULT;
+ final Callback finalCallback = callback;
+ final int id = requestCall.getOkHttpRequest().getId();
+
+ requestCall.getCall().enqueue(new okhttp3.Callback()
+ {
+ @Override
+ public void onFailure(Call call, final IOException e)
+ {
+ sendFailResultCallback(call, e, finalCallback, id);
+ }
+
+ @Override
+ public void onResponse(final Call call, final Response response)
+ {
+ try
+ {
+ if (call.isCanceled())
+ {
+ sendFailResultCallback(call, new IOException("Canceled!"), finalCallback, id);
+ return;
+ }
+
+ if (!finalCallback.validateReponse(response, id))
+ {
+ sendFailResultCallback(call, new IOException("request failed , reponse's code is : " + response.code()), finalCallback, id);
+ return;
+ }
+
+ Object o = finalCallback.parseNetworkResponse(response, id);
+ sendSuccessResultCallback(o, finalCallback, id);
+ } catch (Exception e)
+ {
+ sendFailResultCallback(call, e, finalCallback, id);
+ } finally
+ {
+ if (response.body() != null)
+ response.body().close();
+ }
+
+ }
+ });
+ }
+
+
+ public void sendFailResultCallback(final Call call, final Exception e, final Callback callback, final int id)
+ {
+ if (callback == null) return;
+
+ mPlatform.execute(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ callback.onError(call, e, id);
+ callback.onAfter(id);
+ }
+ });
+ }
+
+ public void sendSuccessResultCallback(final Object object, final Callback callback, final int id)
+ {
+ if (callback == null) return;
+ mPlatform.execute(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ callback.onResponse(object, id);
+ callback.onAfter(id);
+ }
+ });
+ }
+
+ public void cancelTag(Object tag)
+ {
+ for (Call call : mOkHttpClient.dispatcher().queuedCalls())
+ {
+ if (tag.equals(call.request().tag()))
+ {
+ call.cancel();
+ }
+ }
+ for (Call call : mOkHttpClient.dispatcher().runningCalls())
+ {
+ if (tag.equals(call.request().tag()))
+ {
+ call.cancel();
+ }
+ }
+ }
+
+ public static class METHOD
+ {
+ public static final String HEAD = "HEAD";
+ public static final String DELETE = "DELETE";
+ public static final String PUT = "PUT";
+ public static final String PATCH = "PATCH";
+ }
+}
+
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/GetBuilder.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/GetBuilder.java
new file mode 100644
index 0000000..861f4e3
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/GetBuilder.java
@@ -0,0 +1,66 @@
+package com.zhy.http.okhttp.builder;
+
+import android.net.Uri;
+
+import com.zhy.http.okhttp.request.GetRequest;
+import com.zhy.http.okhttp.request.RequestCall;
+
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * Created by zhy on 15/12/14.
+ */
+public class GetBuilder extends OkHttpRequestBuilder implements HasParamsable
+{
+ @Override
+ public RequestCall build()
+ {
+ if (params != null)
+ {
+ url = appendParams(url, params);
+ }
+
+ return new GetRequest(url, tag, params, headers,id).build();
+ }
+
+ protected String appendParams(String url, Map params)
+ {
+ if (url == null || params == null || params.isEmpty())
+ {
+ return url;
+ }
+ Uri.Builder builder = Uri.parse(url).buildUpon();
+ Set keys = params.keySet();
+ Iterator iterator = keys.iterator();
+ while (iterator.hasNext())
+ {
+ String key = iterator.next();
+ builder.appendQueryParameter(key, params.get(key));
+ }
+ return builder.build().toString();
+ }
+
+
+ @Override
+ public GetBuilder params(Map params)
+ {
+ this.params = params;
+ return this;
+ }
+
+ @Override
+ public GetBuilder addParams(String key, String val)
+ {
+ if (this.params == null)
+ {
+ params = new LinkedHashMap<>();
+ }
+ params.put(key, val);
+ return this;
+ }
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/HasParamsable.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/HasParamsable.java
new file mode 100644
index 0000000..e6c9cdd
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/HasParamsable.java
@@ -0,0 +1,12 @@
+package com.zhy.http.okhttp.builder;
+
+import java.util.Map;
+
+/**
+ * Created by zhy on 16/3/1.
+ */
+public interface HasParamsable
+{
+ OkHttpRequestBuilder params(Map params);
+ OkHttpRequestBuilder addParams(String key, String val);
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/HeadBuilder.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/HeadBuilder.java
new file mode 100644
index 0000000..104750f
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/HeadBuilder.java
@@ -0,0 +1,17 @@
+package com.zhy.http.okhttp.builder;
+
+import com.zhy.http.okhttp.OkHttpUtils;
+import com.zhy.http.okhttp.request.OtherRequest;
+import com.zhy.http.okhttp.request.RequestCall;
+
+/**
+ * Created by zhy on 16/3/2.
+ */
+public class HeadBuilder extends GetBuilder
+{
+ @Override
+ public RequestCall build()
+ {
+ return new OtherRequest(null, null, OkHttpUtils.METHOD.HEAD, url, tag, params, headers,id).build();
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/OkHttpRequestBuilder.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/OkHttpRequestBuilder.java
new file mode 100644
index 0000000..0ffaa33
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/OkHttpRequestBuilder.java
@@ -0,0 +1,55 @@
+package com.zhy.http.okhttp.builder;
+
+import com.zhy.http.okhttp.request.RequestCall;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * Created by zhy on 15/12/14.
+ */
+public abstract class OkHttpRequestBuilder
+{
+ protected String url;
+ protected Object tag;
+ protected Map headers;
+ protected Map params;
+ protected int id;
+
+ public T id(int id)
+ {
+ this.id = id;
+ return (T) this;
+ }
+
+ public T url(String url)
+ {
+ this.url = url;
+ return (T) this;
+ }
+
+
+ public T tag(Object tag)
+ {
+ this.tag = tag;
+ return (T) this;
+ }
+
+ public T headers(Map headers)
+ {
+ this.headers = headers;
+ return (T) this;
+ }
+
+ public T addHeader(String key, String val)
+ {
+ if (this.headers == null)
+ {
+ headers = new LinkedHashMap<>();
+ }
+ headers.put(key, val);
+ return (T) this;
+ }
+
+ public abstract RequestCall build();
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/OtherRequestBuilder.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/OtherRequestBuilder.java
new file mode 100644
index 0000000..12a8c86
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/OtherRequestBuilder.java
@@ -0,0 +1,41 @@
+package com.zhy.http.okhttp.builder;
+
+import com.zhy.http.okhttp.request.OtherRequest;
+import com.zhy.http.okhttp.request.RequestCall;
+
+import okhttp3.RequestBody;
+
+/**
+ * DELETE、PUT、PATCH等其他方法
+ */
+public class OtherRequestBuilder extends OkHttpRequestBuilder
+{
+ private RequestBody requestBody;
+ private String method;
+ private String content;
+
+ public OtherRequestBuilder(String method)
+ {
+ this.method = method;
+ }
+
+ @Override
+ public RequestCall build()
+ {
+ return new OtherRequest(requestBody, content, method, url, tag, params, headers,id).build();
+ }
+
+ public OtherRequestBuilder requestBody(RequestBody requestBody)
+ {
+ this.requestBody = requestBody;
+ return this;
+ }
+
+ public OtherRequestBuilder requestBody(String content)
+ {
+ this.content = content;
+ return this;
+ }
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/PostFileBuilder.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/PostFileBuilder.java
new file mode 100644
index 0000000..3c8aa62
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/PostFileBuilder.java
@@ -0,0 +1,38 @@
+package com.zhy.http.okhttp.builder;
+
+import com.zhy.http.okhttp.request.PostFileRequest;
+import com.zhy.http.okhttp.request.RequestCall;
+
+import java.io.File;
+
+import okhttp3.MediaType;
+
+/**
+ * Created by zhy on 15/12/14.
+ */
+public class PostFileBuilder extends OkHttpRequestBuilder
+{
+ private File file;
+ private MediaType mediaType;
+
+
+ public OkHttpRequestBuilder file(File file)
+ {
+ this.file = file;
+ return this;
+ }
+
+ public OkHttpRequestBuilder mediaType(MediaType mediaType)
+ {
+ this.mediaType = mediaType;
+ return this;
+ }
+
+ @Override
+ public RequestCall build()
+ {
+ return new PostFileRequest(url, tag, params, headers, file, mediaType,id).build();
+ }
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/PostFormBuilder.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/PostFormBuilder.java
new file mode 100644
index 0000000..28dd2ab
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/PostFormBuilder.java
@@ -0,0 +1,87 @@
+package com.zhy.http.okhttp.builder;
+
+import com.zhy.http.okhttp.request.PostFormRequest;
+import com.zhy.http.okhttp.request.RequestCall;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Created by zhy on 15/12/14.
+ */
+public class PostFormBuilder extends OkHttpRequestBuilder implements HasParamsable
+{
+ private List files = new ArrayList<>();
+
+ @Override
+ public RequestCall build()
+ {
+ return new PostFormRequest(url, tag, params, headers, files,id).build();
+ }
+
+ public PostFormBuilder files(String key, Map files)
+ {
+ for (String filename : files.keySet())
+ {
+ this.files.add(new FileInput(key, filename, files.get(filename)));
+ }
+ return this;
+ }
+
+ public PostFormBuilder addFile(String name, String filename, File file)
+ {
+ files.add(new FileInput(name, filename, file));
+ return this;
+ }
+
+ public static class FileInput
+ {
+ public String key;
+ public String filename;
+ public File file;
+
+ public FileInput(String name, String filename, File file)
+ {
+ this.key = name;
+ this.filename = filename;
+ this.file = file;
+ }
+
+ @Override
+ public String toString()
+ {
+ return "FileInput{" +
+ "key='" + key + '\'' +
+ ", filename='" + filename + '\'' +
+ ", file=" + file +
+ '}';
+ }
+ }
+
+
+
+ @Override
+ public PostFormBuilder params(Map params)
+ {
+ this.params = params;
+ return this;
+ }
+
+ @Override
+ public PostFormBuilder addParams(String key, String val)
+ {
+ if (this.params == null)
+ {
+ params = new LinkedHashMap<>();
+ }
+ params.put(key, val);
+ return this;
+ }
+
+
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/PostStringBuilder.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/PostStringBuilder.java
new file mode 100644
index 0000000..581ed6e
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/builder/PostStringBuilder.java
@@ -0,0 +1,36 @@
+package com.zhy.http.okhttp.builder;
+
+import com.zhy.http.okhttp.request.PostStringRequest;
+import com.zhy.http.okhttp.request.RequestCall;
+
+import okhttp3.MediaType;
+
+/**
+ * Created by zhy on 15/12/14.
+ */
+public class PostStringBuilder extends OkHttpRequestBuilder
+{
+ private String content;
+ private MediaType mediaType;
+
+
+ public PostStringBuilder content(String content)
+ {
+ this.content = content;
+ return this;
+ }
+
+ public PostStringBuilder mediaType(MediaType mediaType)
+ {
+ this.mediaType = mediaType;
+ return this;
+ }
+
+ @Override
+ public RequestCall build()
+ {
+ return new PostStringRequest(url, tag, params, headers, content, mediaType,id).build();
+ }
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/callback/BitmapCallback.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/callback/BitmapCallback.java
new file mode 100644
index 0000000..6a55abe
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/callback/BitmapCallback.java
@@ -0,0 +1,19 @@
+package com.zhy.http.okhttp.callback;
+
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+
+import okhttp3.Response;
+
+/**
+ * Created by zhy on 15/12/14.
+ */
+public abstract class BitmapCallback extends Callback
+{
+ @Override
+ public Bitmap parseNetworkResponse(Response response , int id) throws Exception
+ {
+ return BitmapFactory.decodeStream(response.body().byteStream());
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/callback/Callback.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/callback/Callback.java
new file mode 100644
index 0000000..d457e78
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/callback/Callback.java
@@ -0,0 +1,82 @@
+package com.zhy.http.okhttp.callback;
+
+import okhttp3.Call;
+import okhttp3.Request;
+import okhttp3.Response;
+
+public abstract class Callback
+{
+ /**
+ * UI Thread
+ *
+ * @param request
+ */
+ public void onBefore(Request request, int id)
+ {
+ }
+
+ /**
+ * UI Thread
+ *
+ * @param
+ */
+ public void onAfter(int id)
+ {
+ }
+
+ /**
+ * UI Thread
+ *
+ * @param progress
+ */
+ public void inProgress(float progress, long total , int id)
+ {
+
+ }
+
+ /**
+ * if you parse reponse code in parseNetworkResponse, you should make this method return true.
+ *
+ * @param response
+ * @return
+ */
+ public boolean validateReponse(Response response, int id)
+ {
+ return response.isSuccessful();
+ }
+
+ /**
+ * Thread Pool Thread
+ *
+ * @param response
+ */
+ public abstract T parseNetworkResponse(Response response, int id) throws Exception;
+
+ public abstract void onError(Call call, Exception e, int id);
+
+ public abstract void onResponse(T response, int id);
+
+
+ public static Callback CALLBACK_DEFAULT = new Callback()
+ {
+
+ @Override
+ public Object parseNetworkResponse(Response response, int id) throws Exception
+ {
+ return null;
+ }
+
+ @Override
+ public void onError(Call call, Exception e, int id)
+ {
+
+ }
+
+ @Override
+ public void onResponse(Object response, int id)
+ {
+
+ }
+ };
+
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/callback/FileCallBack.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/callback/FileCallBack.java
new file mode 100644
index 0000000..7dd2312
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/callback/FileCallBack.java
@@ -0,0 +1,100 @@
+package com.zhy.http.okhttp.callback;
+
+import com.zhy.http.okhttp.OkHttpUtils;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import okhttp3.Response;
+
+/**
+ * Created by zhy on 15/12/15.
+ */
+public abstract class FileCallBack extends Callback
+{
+ /**
+ * 目标文件存储的文件夹路径
+ */
+ private String destFileDir;
+ /**
+ * 目标文件存储的文件名
+ */
+ private String destFileName;
+
+
+ public FileCallBack(String destFileDir, String destFileName)
+ {
+ this.destFileDir = destFileDir;
+ this.destFileName = destFileName;
+ }
+
+
+ @Override
+ public File parseNetworkResponse(Response response, int id) throws Exception
+ {
+ return saveFile(response,id);
+ }
+
+
+ public File saveFile(Response response,final int id) throws IOException
+ {
+ InputStream is = null;
+ byte[] buf = new byte[2048];
+ int len = 0;
+ FileOutputStream fos = null;
+ try
+ {
+ is = response.body().byteStream();
+ final long total = response.body().contentLength();
+
+ long sum = 0;
+
+ File dir = new File(destFileDir);
+ if (!dir.exists())
+ {
+ dir.mkdirs();
+ }
+ File file = new File(dir, destFileName);
+ fos = new FileOutputStream(file);
+ while ((len = is.read(buf)) != -1)
+ {
+ sum += len;
+ fos.write(buf, 0, len);
+ final long finalSum = sum;
+ OkHttpUtils.getInstance().getDelivery().execute(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+
+ inProgress(finalSum * 1.0f / total,total,id);
+ }
+ });
+ }
+ fos.flush();
+
+ return file;
+
+ } finally
+ {
+ try
+ {
+ response.body().close();
+ if (is != null) is.close();
+ } catch (IOException e)
+ {
+ }
+ try
+ {
+ if (fos != null) fos.close();
+ } catch (IOException e)
+ {
+ }
+
+ }
+ }
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/callback/GenericsCallback.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/callback/GenericsCallback.java
new file mode 100644
index 0000000..215211d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/callback/GenericsCallback.java
@@ -0,0 +1,30 @@
+package com.zhy.http.okhttp.callback;
+
+import java.io.IOException;
+import java.lang.reflect.ParameterizedType;
+
+import okhttp3.Response;
+
+/**
+ * Created by JimGong on 2016/6/23.
+ */
+
+public abstract class GenericsCallback extends Callback {
+ IGenericsSerializator mGenericsSerializator;
+
+ public GenericsCallback(IGenericsSerializator serializator) {
+ mGenericsSerializator = serializator;
+ }
+
+ @Override
+ public T parseNetworkResponse(Response response, int id) throws IOException {
+ String string = response.body().string();
+ Class entityClass = (Class) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
+ if (entityClass == String.class) {
+ return (T) string;
+ }
+ T bean = mGenericsSerializator.transform(string, entityClass);
+ return bean;
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/callback/IGenericsSerializator.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/callback/IGenericsSerializator.java
new file mode 100644
index 0000000..c037cc4
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/callback/IGenericsSerializator.java
@@ -0,0 +1,8 @@
+package com.zhy.http.okhttp.callback;
+
+/**
+ * Created by JimGong on 2016/6/23.
+ */
+public interface IGenericsSerializator {
+ T transform(String response, Class classOfT);
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/callback/StringCallback.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/callback/StringCallback.java
new file mode 100644
index 0000000..da9b527
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/callback/StringCallback.java
@@ -0,0 +1,17 @@
+package com.zhy.http.okhttp.callback;
+
+import java.io.IOException;
+
+import okhttp3.Response;
+
+/**
+ * Created by zhy on 15/12/14.
+ */
+public abstract class StringCallback extends Callback
+{
+ @Override
+ public String parseNetworkResponse(Response response, int id) throws IOException
+ {
+ return response.body().string();
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/cookie/CookieJarImpl.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/cookie/CookieJarImpl.java
new file mode 100644
index 0000000..fe0fd0c
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/cookie/CookieJarImpl.java
@@ -0,0 +1,41 @@
+package com.zhy.http.okhttp.cookie;
+
+import com.zhy.http.okhttp.cookie.store.CookieStore;
+import com.zhy.http.okhttp.utils.Exceptions;
+
+import java.util.List;
+
+import okhttp3.Cookie;
+import okhttp3.CookieJar;
+import okhttp3.HttpUrl;
+
+/**
+ * Created by zhy on 16/3/10.
+ */
+public class CookieJarImpl implements CookieJar
+{
+ private CookieStore cookieStore;
+
+ public CookieJarImpl(CookieStore cookieStore)
+ {
+ if (cookieStore == null) Exceptions.illegalArgument("cookieStore can not be null.");
+ this.cookieStore = cookieStore;
+ }
+
+ @Override
+ public synchronized void saveFromResponse(HttpUrl url, List cookies)
+ {
+ cookieStore.add(url, cookies);
+ }
+
+ @Override
+ public synchronized List loadForRequest(HttpUrl url)
+ {
+ return cookieStore.get(url);
+ }
+
+ public CookieStore getCookieStore()
+ {
+ return cookieStore;
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/cookie/store/CookieStore.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/cookie/store/CookieStore.java
new file mode 100644
index 0000000..0e36f00
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/cookie/store/CookieStore.java
@@ -0,0 +1,21 @@
+package com.zhy.http.okhttp.cookie.store;
+
+import java.util.List;
+
+import okhttp3.Cookie;
+import okhttp3.HttpUrl;
+
+public interface CookieStore
+{
+
+ void add(HttpUrl uri, List cookie);
+
+ List get(HttpUrl uri);
+
+ List getCookies();
+
+ boolean remove(HttpUrl uri, Cookie cookie);
+
+ boolean removeAll();
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/cookie/store/HasCookieStore.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/cookie/store/HasCookieStore.java
new file mode 100644
index 0000000..f071ec1
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/cookie/store/HasCookieStore.java
@@ -0,0 +1,9 @@
+package com.zhy.http.okhttp.cookie.store;
+
+/**
+ * Created by zhy on 16/3/10.
+ */
+public interface HasCookieStore
+{
+ CookieStore getCookieStore();
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/cookie/store/MemoryCookieStore.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/cookie/store/MemoryCookieStore.java
new file mode 100644
index 0000000..da5151c
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/cookie/store/MemoryCookieStore.java
@@ -0,0 +1,94 @@
+package com.zhy.http.okhttp.cookie.store;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import okhttp3.Cookie;
+import okhttp3.HttpUrl;
+
+/**
+ * Created by zhy on 16/3/10.
+ */
+public class MemoryCookieStore implements CookieStore
+{
+ private final HashMap> allCookies = new HashMap<>();
+
+ @Override
+ public void add(HttpUrl url, List cookies)
+ {
+ List oldCookies = allCookies.get(url.host());
+
+ if (oldCookies != null)
+ {
+ Iterator itNew = cookies.iterator();
+ Iterator itOld = oldCookies.iterator();
+ while (itNew.hasNext())
+ {
+ String va = itNew.next().name();
+ while (va != null && itOld.hasNext())
+ {
+ String v = itOld.next().name();
+ if (v != null && va.equals(v))
+ {
+ itOld.remove();
+ }
+ }
+ }
+ oldCookies.addAll(cookies);
+ } else
+ {
+ allCookies.put(url.host(), cookies);
+ }
+
+
+ }
+
+ @Override
+ public List get(HttpUrl uri)
+ {
+ List cookies = allCookies.get(uri.host());
+ if (cookies == null)
+ {
+ cookies = new ArrayList<>();
+ allCookies.put(uri.host(), cookies);
+ }
+ return cookies;
+
+ }
+
+ @Override
+ public boolean removeAll()
+ {
+ allCookies.clear();
+ return true;
+ }
+
+ @Override
+ public List getCookies()
+ {
+ List cookies = new ArrayList<>();
+ Set httpUrls = allCookies.keySet();
+ for (String url : httpUrls)
+ {
+ cookies.addAll(allCookies.get(url));
+ }
+ return cookies;
+ }
+
+
+ @Override
+ public boolean remove(HttpUrl uri, Cookie cookie)
+ {
+ List cookies = allCookies.get(uri.host());
+ if (cookie != null)
+ {
+ return cookies.remove(cookie);
+ }
+ return false;
+ }
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/cookie/store/PersistentCookieStore.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/cookie/store/PersistentCookieStore.java
new file mode 100644
index 0000000..4c4c48a
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/cookie/store/PersistentCookieStore.java
@@ -0,0 +1,281 @@
+package com.zhy.http.okhttp.cookie.store;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.text.TextUtils;
+import android.util.Log;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import okhttp3.Cookie;
+import okhttp3.HttpUrl;
+
+/**
+ *
+ * OkHttpClient client = new OkHttpClient.Builder()
+ * .cookieJar(new JavaNetCookieJar(new CookieManager(
+ * new PersistentCookieStore(getApplicationContext()),
+ * CookiePolicy.ACCEPT_ALL))
+ * .build();
+ *
+ *
+ *
+ * from http://stackoverflow.com/questions/25461792/persistent-cookie-store-using-okhttp-2-on-android
+ *
+ *
+ * A persistent cookie store which implements the Apache HttpClient CookieStore interface.
+ * Cookies are stored and will persist on the user's device between application sessions since they
+ * are serialized and stored in SharedPreferences. Instances of this class are
+ * designed to be used with AsyncHttpClient#setCookieStore, but can also be used with a
+ * regular old apache HttpClient/HttpContext if you prefer.
+ */
+public class PersistentCookieStore implements CookieStore
+{
+
+ private static final String LOG_TAG = "PersistentCookieStore";
+ private static final String COOKIE_PREFS = "CookiePrefsFile";
+ private static final String COOKIE_NAME_PREFIX = "cookie_";
+
+ private final HashMap> cookies;
+ private final SharedPreferences cookiePrefs;
+
+ /**
+ * Construct a persistent cookie store.
+ *
+ * @param context Context to attach cookie store to
+ */
+ public PersistentCookieStore(Context context)
+ {
+ cookiePrefs = context.getSharedPreferences(COOKIE_PREFS, 0);
+ cookies = new HashMap>();
+
+ // Load any previously stored cookies into the store
+ Map prefsMap = cookiePrefs.getAll();
+ for (Map.Entry entry : prefsMap.entrySet())
+ {
+ if (((String) entry.getValue()) != null && !((String) entry.getValue()).startsWith(COOKIE_NAME_PREFIX))
+ {
+ String[] cookieNames = TextUtils.split((String) entry.getValue(), ",");
+ for (String name : cookieNames)
+ {
+ String encodedCookie = cookiePrefs.getString(COOKIE_NAME_PREFIX + name, null);
+ if (encodedCookie != null)
+ {
+ Cookie decodedCookie = decodeCookie(encodedCookie);
+ if (decodedCookie != null)
+ {
+ if (!cookies.containsKey(entry.getKey()))
+ cookies.put(entry.getKey(), new ConcurrentHashMap());
+ cookies.get(entry.getKey()).put(name, decodedCookie);
+ }
+ }
+ }
+
+ }
+ }
+ }
+
+ protected void add(HttpUrl uri, Cookie cookie)
+ {
+ String name = getCookieToken(cookie);
+
+ if (cookie.persistent())
+ {
+ if (!cookies.containsKey(uri.host()))
+ {
+ cookies.put(uri.host(), new ConcurrentHashMap());
+ }
+ cookies.get(uri.host()).put(name, cookie);
+ } else
+ {
+ if (cookies.containsKey(uri.host()))
+ {
+ cookies.get(uri.host()).remove(name);
+ }else
+ {
+ return ;
+ }
+ }
+
+ // Save cookie into persistent store
+ SharedPreferences.Editor prefsWriter = cookiePrefs.edit();
+ prefsWriter.putString(uri.host(), TextUtils.join(",", cookies.get(uri.host()).keySet()));
+ prefsWriter.putString(COOKIE_NAME_PREFIX + name, encodeCookie(new SerializableHttpCookie(cookie)));
+ prefsWriter.apply();
+ }
+
+ protected String getCookieToken(Cookie cookie)
+ {
+ return cookie.name() + cookie.domain();
+ }
+
+ @Override
+ public void add(HttpUrl uri, List cookies)
+ {
+ for (Cookie cookie : cookies)
+ {
+ add(uri, cookie);
+ }
+ }
+
+ @Override
+ public List get(HttpUrl uri)
+ {
+ ArrayList ret = new ArrayList();
+ if (cookies.containsKey(uri.host()))
+ {
+ Collection cookies = this.cookies.get(uri.host()).values();
+ for (Cookie cookie : cookies)
+ {
+ if (isCookieExpired(cookie))
+ {
+ remove(uri, cookie);
+ } else
+ {
+ ret.add(cookie);
+ }
+ }
+ }
+
+ return ret;
+ }
+
+ private static boolean isCookieExpired(Cookie cookie)
+ {
+ return cookie.expiresAt() < System.currentTimeMillis();
+ }
+
+ @Override
+ public boolean removeAll()
+ {
+ SharedPreferences.Editor prefsWriter = cookiePrefs.edit();
+ prefsWriter.clear();
+ prefsWriter.apply();
+ cookies.clear();
+ return true;
+ }
+
+
+ @Override
+ public boolean remove(HttpUrl uri, Cookie cookie)
+ {
+ String name = getCookieToken(cookie);
+
+ if (cookies.containsKey(uri.host()) && cookies.get(uri.host()).containsKey(name))
+ {
+ cookies.get(uri.host()).remove(name);
+
+ SharedPreferences.Editor prefsWriter = cookiePrefs.edit();
+ if (cookiePrefs.contains(COOKIE_NAME_PREFIX + name))
+ {
+ prefsWriter.remove(COOKIE_NAME_PREFIX + name);
+ }
+ prefsWriter.putString(uri.host(), TextUtils.join(",", cookies.get(uri.host()).keySet()));
+ prefsWriter.apply();
+
+ return true;
+ } else
+ {
+ return false;
+ }
+ }
+
+ @Override
+ public List getCookies()
+ {
+ ArrayList ret = new ArrayList();
+ for (String key : cookies.keySet())
+ ret.addAll(cookies.get(key).values());
+
+ return ret;
+ }
+
+
+ protected String encodeCookie(SerializableHttpCookie cookie)
+ {
+ if (cookie == null)
+ return null;
+ ByteArrayOutputStream os = new ByteArrayOutputStream();
+ try
+ {
+ ObjectOutputStream outputStream = new ObjectOutputStream(os);
+ outputStream.writeObject(cookie);
+ } catch (IOException e)
+ {
+ Log.d(LOG_TAG, "IOException in encodeCookie", e);
+ return null;
+ }
+
+ return byteArrayToHexString(os.toByteArray());
+ }
+
+ protected Cookie decodeCookie(String cookieString)
+ {
+ byte[] bytes = hexStringToByteArray(cookieString);
+ ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
+ Cookie cookie = null;
+ try
+ {
+ ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);
+ cookie = ((SerializableHttpCookie) objectInputStream.readObject()).getCookie();
+ } catch (IOException e)
+ {
+ Log.d(LOG_TAG, "IOException in decodeCookie", e);
+ } catch (ClassNotFoundException e)
+ {
+ Log.d(LOG_TAG, "ClassNotFoundException in decodeCookie", e);
+ }
+
+ return cookie;
+ }
+
+ /**
+ * Using some super basic byte array <-> hex conversions so we don't have to rely on any
+ * large Base64 libraries. Can be overridden if you like!
+ *
+ * @param bytes byte array to be converted
+ * @return string containing hex values
+ */
+ protected String byteArrayToHexString(byte[] bytes)
+ {
+ StringBuilder sb = new StringBuilder(bytes.length * 2);
+ for (byte element : bytes)
+ {
+ int v = element & 0xff;
+ if (v < 16)
+ {
+ sb.append('0');
+ }
+ sb.append(Integer.toHexString(v));
+ }
+ return sb.toString().toUpperCase(Locale.US);
+ }
+
+ /**
+ * Converts hex values from strings to byte arra
+ *
+ * @param hexString string of hex-encoded values
+ * @return decoded byte array
+ */
+ protected byte[] hexStringToByteArray(String hexString)
+ {
+ int len = hexString.length();
+ byte[] data = new byte[len / 2];
+ for (int i = 0; i < len; i += 2)
+ {
+ data[i / 2] = (byte) ((Character.digit(hexString.charAt(i), 16) << 4) + Character.digit(hexString.charAt(i + 1), 16));
+ }
+ return data;
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/cookie/store/SerializableHttpCookie.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/cookie/store/SerializableHttpCookie.java
new file mode 100644
index 0000000..64589fc
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/cookie/store/SerializableHttpCookie.java
@@ -0,0 +1,74 @@
+package com.zhy.http.okhttp.cookie.store;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+
+import okhttp3.Cookie;
+
+/**
+ * from http://stackoverflow.com/questions/25461792/persistent-cookie-store-using-okhttp-2-on-android
+ * and
+ * http://www.geebr.com/post/okHttp3%E4%B9%8BCookies%E7%AE%A1%E7%90%86%E5%8F%8A%E6%8C%81%E4%B9%85%E5%8C%96
+ */
+
+public class SerializableHttpCookie implements Serializable
+{
+ private static final long serialVersionUID = 6374381323722046732L;
+
+ private transient final Cookie cookie;
+ private transient Cookie clientCookie;
+
+ public SerializableHttpCookie(Cookie cookie)
+ {
+ this.cookie = cookie;
+ }
+
+ public Cookie getCookie()
+ {
+ Cookie bestCookie = cookie;
+ if (clientCookie != null)
+ {
+ bestCookie = clientCookie;
+ }
+
+ return bestCookie;
+ }
+
+ private void writeObject(ObjectOutputStream out) throws IOException
+ {
+ out.writeObject(cookie.name());
+ out.writeObject(cookie.value());
+ out.writeLong(cookie.expiresAt());
+ out.writeObject(cookie.domain());
+ out.writeObject(cookie.path());
+ out.writeBoolean(cookie.secure());
+ out.writeBoolean(cookie.httpOnly());
+ out.writeBoolean(cookie.hostOnly());
+ out.writeBoolean(cookie.persistent());
+ }
+
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
+ {
+ String name = (String) in.readObject();
+ String value = (String) in.readObject();
+ long expiresAt = in.readLong();
+ String domain = (String) in.readObject();
+ String path = (String) in.readObject();
+ boolean secure = in.readBoolean();
+ boolean httpOnly = in.readBoolean();
+ boolean hostOnly = in.readBoolean();
+ boolean persistent = in.readBoolean();
+ Cookie.Builder builder = new Cookie.Builder();
+ builder = builder.name(name);
+ builder = builder.value(value);
+ builder = builder.expiresAt(expiresAt);
+ builder = hostOnly ? builder.hostOnlyDomain(domain) : builder.domain(domain);
+ builder = builder.path(path);
+ builder = secure ? builder.secure() : builder;
+ builder = httpOnly ? builder.httpOnly() : builder;
+ clientCookie = builder.build();
+
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/https/HttpsUtils.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/https/HttpsUtils.java
new file mode 100644
index 0000000..513e884
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/https/HttpsUtils.java
@@ -0,0 +1,232 @@
+package com.zhy.http.okhttp.https;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.KeyManagementException;
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.UnrecoverableKeyException;
+import java.security.cert.CertificateException;
+import java.security.cert.CertificateFactory;
+import java.security.cert.X509Certificate;
+
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.KeyManager;
+import javax.net.ssl.KeyManagerFactory;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSession;
+import javax.net.ssl.SSLSocketFactory;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.TrustManagerFactory;
+import javax.net.ssl.X509TrustManager;
+
+/**
+ * Created by zhy on 15/12/14.
+ */
+public class HttpsUtils
+{
+ public static class SSLParams
+ {
+ public SSLSocketFactory sSLSocketFactory;
+ public X509TrustManager trustManager;
+ }
+
+ public static SSLParams getSslSocketFactory(InputStream[] certificates, InputStream bksFile, String password)
+ {
+ SSLParams sslParams = new SSLParams();
+ try
+ {
+ TrustManager[] trustManagers = prepareTrustManager(certificates);
+ KeyManager[] keyManagers = prepareKeyManager(bksFile, password);
+ SSLContext sslContext = SSLContext.getInstance("TLS");
+ X509TrustManager trustManager = null;
+ if (trustManagers != null)
+ {
+ trustManager = new MyTrustManager(chooseTrustManager(trustManagers));
+ } else
+ {
+ trustManager = new UnSafeTrustManager();
+ }
+ sslContext.init(keyManagers, new TrustManager[]{trustManager},null);
+ sslParams.sSLSocketFactory = sslContext.getSocketFactory();
+ sslParams.trustManager = trustManager;
+ return sslParams;
+ } catch (NoSuchAlgorithmException e)
+ {
+ throw new AssertionError(e);
+ } catch (KeyManagementException e)
+ {
+ throw new AssertionError(e);
+ } catch (KeyStoreException e)
+ {
+ throw new AssertionError(e);
+ }
+ }
+
+ private class UnSafeHostnameVerifier implements HostnameVerifier
+ {
+ @Override
+ public boolean verify(String hostname, SSLSession session)
+ {
+ return true;
+ }
+ }
+
+ private static class UnSafeTrustManager implements X509TrustManager
+ {
+ @Override
+ public void checkClientTrusted(X509Certificate[] chain, String authType)
+ throws CertificateException
+ {
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] chain, String authType)
+ throws CertificateException
+ {
+ }
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers()
+ {
+ return new java.security.cert.X509Certificate[]{};
+ }
+ }
+
+ private static TrustManager[] prepareTrustManager(InputStream... certificates)
+ {
+ if (certificates == null || certificates.length <= 0) return null;
+ try
+ {
+
+ CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
+ KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
+ keyStore.load(null);
+ int index = 0;
+ for (InputStream certificate : certificates)
+ {
+ String certificateAlias = Integer.toString(index++);
+ keyStore.setCertificateEntry(certificateAlias, certificateFactory.generateCertificate(certificate));
+ try
+ {
+ if (certificate != null)
+ certificate.close();
+ } catch (IOException e)
+
+ {
+ }
+ }
+ TrustManagerFactory trustManagerFactory = null;
+
+ trustManagerFactory = TrustManagerFactory.
+ getInstance(TrustManagerFactory.getDefaultAlgorithm());
+ trustManagerFactory.init(keyStore);
+
+ TrustManager[] trustManagers = trustManagerFactory.getTrustManagers();
+
+ return trustManagers;
+ } catch (NoSuchAlgorithmException e)
+ {
+ e.printStackTrace();
+ } catch (CertificateException e)
+ {
+ e.printStackTrace();
+ } catch (KeyStoreException e)
+ {
+ e.printStackTrace();
+ } catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ return null;
+
+ }
+
+ private static KeyManager[] prepareKeyManager(InputStream bksFile, String password)
+ {
+ try
+ {
+ if (bksFile == null || password == null) return null;
+
+ KeyStore clientKeyStore = KeyStore.getInstance("BKS");
+ clientKeyStore.load(bksFile, password.toCharArray());
+ KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
+ keyManagerFactory.init(clientKeyStore, password.toCharArray());
+ return keyManagerFactory.getKeyManagers();
+
+ } catch (KeyStoreException e)
+ {
+ e.printStackTrace();
+ } catch (NoSuchAlgorithmException e)
+ {
+ e.printStackTrace();
+ } catch (UnrecoverableKeyException e)
+ {
+ e.printStackTrace();
+ } catch (CertificateException e)
+ {
+ e.printStackTrace();
+ } catch (IOException e)
+ {
+ e.printStackTrace();
+ } catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ private static X509TrustManager chooseTrustManager(TrustManager[] trustManagers)
+ {
+ for (TrustManager trustManager : trustManagers)
+ {
+ if (trustManager instanceof X509TrustManager)
+ {
+ return (X509TrustManager) trustManager;
+ }
+ }
+ return null;
+ }
+
+
+ private static class MyTrustManager implements X509TrustManager
+ {
+ private X509TrustManager defaultTrustManager;
+ private X509TrustManager localTrustManager;
+
+ public MyTrustManager(X509TrustManager localTrustManager) throws NoSuchAlgorithmException, KeyStoreException
+ {
+ TrustManagerFactory var4 = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
+ var4.init((KeyStore) null);
+ defaultTrustManager = chooseTrustManager(var4.getTrustManagers());
+ this.localTrustManager = localTrustManager;
+ }
+
+
+ @Override
+ public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException
+ {
+
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException
+ {
+ try
+ {
+ defaultTrustManager.checkServerTrusted(chain, authType);
+ } catch (CertificateException ce)
+ {
+ localTrustManager.checkServerTrusted(chain, authType);
+ }
+ }
+
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers()
+ {
+ return new X509Certificate[0];
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/log/LoggerInterceptor.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/log/LoggerInterceptor.java
new file mode 100644
index 0000000..3f760ec
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/log/LoggerInterceptor.java
@@ -0,0 +1,165 @@
+package com.zhy.http.okhttp.log;
+
+import android.text.TextUtils;
+import android.util.Log;
+
+import java.io.IOException;
+
+import okhttp3.Headers;
+import okhttp3.Interceptor;
+import okhttp3.MediaType;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+import okhttp3.Response;
+import okhttp3.ResponseBody;
+import okio.Buffer;
+
+/**
+ * Created by zhy on 16/3/1.
+ */
+public class LoggerInterceptor implements Interceptor
+{
+ public static final String TAG = "OkHttpUtils";
+ private String tag;
+ private boolean showResponse;
+
+ public LoggerInterceptor(String tag, boolean showResponse)
+ {
+ if (TextUtils.isEmpty(tag))
+ {
+ tag = TAG;
+ }
+ this.showResponse = showResponse;
+ this.tag = tag;
+ }
+
+ public LoggerInterceptor(String tag)
+ {
+ this(tag, false);
+ }
+
+ @Override
+ public Response intercept(Chain chain) throws IOException
+ {
+ Request request = chain.request();
+ logForRequest(request);
+ Response response = chain.proceed(request);
+ return logForResponse(response);
+ }
+
+ private Response logForResponse(Response response)
+ {
+ try
+ {
+ //===>response log
+ Log.e(tag, "========response'log=======");
+ Response.Builder builder = response.newBuilder();
+ Response clone = builder.build();
+ Log.e(tag, "url : " + clone.request().url());
+ Log.e(tag, "code : " + clone.code());
+ Log.e(tag, "protocol : " + clone.protocol());
+ if (!TextUtils.isEmpty(clone.message()))
+ Log.e(tag, "message : " + clone.message());
+
+ if (showResponse)
+ {
+ ResponseBody body = clone.body();
+ if (body != null)
+ {
+ MediaType mediaType = body.contentType();
+ if (mediaType != null)
+ {
+ Log.e(tag, "responseBody's contentType : " + mediaType.toString());
+ if (isText(mediaType))
+ {
+ String resp = body.string();
+ Log.e(tag, "responseBody's content : " + resp);
+
+ body = ResponseBody.create(mediaType, resp);
+ return response.newBuilder().body(body).build();
+ } else
+ {
+ Log.e(tag, "responseBody's content : " + " maybe [file part] , too large too print , ignored!");
+ }
+ }
+ }
+ }
+
+ Log.e(tag, "========response'log=======end");
+ } catch (Exception e)
+ {
+// e.printStackTrace();
+ }
+
+ return response;
+ }
+
+ private void logForRequest(Request request)
+ {
+ try
+ {
+ String url = request.url().toString();
+ Headers headers = request.headers();
+
+ Log.e(tag, "========request'log=======");
+ Log.e(tag, "method : " + request.method());
+ Log.e(tag, "url : " + url);
+ if (headers != null && headers.size() > 0)
+ {
+ Log.e(tag, "headers : " + headers.toString());
+ }
+ RequestBody requestBody = request.body();
+ if (requestBody != null)
+ {
+ MediaType mediaType = requestBody.contentType();
+ if (mediaType != null)
+ {
+ Log.e(tag, "requestBody's contentType : " + mediaType.toString());
+ if (isText(mediaType))
+ {
+ Log.e(tag, "requestBody's content : " + bodyToString(request));
+ } else
+ {
+ Log.e(tag, "requestBody's content : " + " maybe [file part] , too large too print , ignored!");
+ }
+ }
+ }
+ Log.e(tag, "========request'log=======end");
+ } catch (Exception e)
+ {
+// e.printStackTrace();
+ }
+ }
+
+ private boolean isText(MediaType mediaType)
+ {
+ if (mediaType.type() != null && mediaType.type().equals("text"))
+ {
+ return true;
+ }
+ if (mediaType.subtype() != null)
+ {
+ if (mediaType.subtype().equals("json") ||
+ mediaType.subtype().equals("xml") ||
+ mediaType.subtype().equals("html") ||
+ mediaType.subtype().equals("webviewhtml")
+ )
+ return true;
+ }
+ return false;
+ }
+
+ private String bodyToString(final Request request)
+ {
+ try
+ {
+ final Request copy = request.newBuilder().build();
+ final Buffer buffer = new Buffer();
+ copy.body().writeTo(buffer);
+ return buffer.readUtf8();
+ } catch (final IOException e)
+ {
+ return "something error when show requestBody.";
+ }
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/CountingRequestBody.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/CountingRequestBody.java
new file mode 100644
index 0000000..5341c3d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/CountingRequestBody.java
@@ -0,0 +1,92 @@
+package com.zhy.http.okhttp.request;
+
+import okhttp3.MediaType;
+import okhttp3.RequestBody;
+
+import java.io.IOException;
+
+import okio.Buffer;
+import okio.BufferedSink;
+import okio.ForwardingSink;
+import okio.Okio;
+import okio.Sink;
+
+/**
+ * Decorates an OkHttp request body to count the number of bytes written when writing it. Can
+ * decorate any request body, but is most useful for tracking the upload progress of large
+ * multipart requests.
+ *
+ * @author Leo Nikkilä
+ */
+public class CountingRequestBody extends RequestBody
+{
+
+ protected RequestBody delegate;
+ protected Listener listener;
+
+ protected CountingSink countingSink;
+
+ public CountingRequestBody(RequestBody delegate, Listener listener)
+ {
+ this.delegate = delegate;
+ this.listener = listener;
+ }
+
+ @Override
+ public MediaType contentType()
+ {
+ return delegate.contentType();
+ }
+
+ @Override
+ public long contentLength()
+ {
+ try
+ {
+ return delegate.contentLength();
+ } catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ return -1;
+ }
+
+ @Override
+ public void writeTo(BufferedSink sink) throws IOException
+ {
+
+ countingSink = new CountingSink(sink);
+ BufferedSink bufferedSink = Okio.buffer(countingSink);
+
+ delegate.writeTo(bufferedSink);
+
+ bufferedSink.flush();
+ }
+
+ protected final class CountingSink extends ForwardingSink
+ {
+
+ private long bytesWritten = 0;
+
+ public CountingSink(Sink delegate)
+ {
+ super(delegate);
+ }
+
+ @Override
+ public void write(Buffer source, long byteCount) throws IOException
+ {
+ super.write(source, byteCount);
+
+ bytesWritten += byteCount;
+ listener.onRequestProgress(bytesWritten, contentLength());
+ }
+
+ }
+
+ public static interface Listener
+ {
+ public void onRequestProgress(long bytesWritten, long contentLength);
+ }
+
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/GetRequest.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/GetRequest.java
new file mode 100644
index 0000000..fda0d60
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/GetRequest.java
@@ -0,0 +1,31 @@
+package com.zhy.http.okhttp.request;
+
+import java.util.Map;
+
+import okhttp3.Request;
+import okhttp3.RequestBody;
+
+/**
+ * Created by zhy on 15/12/14.
+ */
+public class GetRequest extends OkHttpRequest
+{
+ public GetRequest(String url, Object tag, Map params, Map headers,int id)
+ {
+ super(url, tag, params, headers,id);
+ }
+
+ @Override
+ protected RequestBody buildRequestBody()
+ {
+ return null;
+ }
+
+ @Override
+ protected Request buildRequest(RequestBody requestBody)
+ {
+ return builder.get().build();
+ }
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/OkHttpRequest.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/OkHttpRequest.java
new file mode 100644
index 0000000..1f16bc8
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/OkHttpRequest.java
@@ -0,0 +1,94 @@
+package com.zhy.http.okhttp.request;
+
+import com.zhy.http.okhttp.callback.Callback;
+import com.zhy.http.okhttp.utils.Exceptions;
+
+import java.util.Map;
+
+import okhttp3.Headers;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+
+/**
+ * Created by zhy on 15/11/6.
+ */
+public abstract class OkHttpRequest
+{
+ protected String url;
+ protected Object tag;
+ protected Map params;
+ protected Map headers;
+ protected int id;
+
+ protected Request.Builder builder = new Request.Builder();
+
+ protected OkHttpRequest(String url, Object tag,
+ Map params, Map headers,int id)
+ {
+ this.url = url;
+ this.tag = tag;
+ this.params = params;
+ this.headers = headers;
+ this.id = id ;
+
+ if (url == null)
+ {
+ Exceptions.illegalArgument("url can not be null.");
+ }
+
+ initBuilder();
+ }
+
+
+
+ /**
+ * 初始化一些基本参数 url , tag , headers
+ */
+ private void initBuilder()
+ {
+ builder.url(url).tag(tag);
+ appendHeaders();
+ }
+
+ protected abstract RequestBody buildRequestBody();
+
+ protected RequestBody wrapRequestBody(RequestBody requestBody, final Callback callback)
+ {
+ return requestBody;
+ }
+
+ protected abstract Request buildRequest(RequestBody requestBody);
+
+ public RequestCall build()
+ {
+ return new RequestCall(this);
+ }
+
+
+ public Request generateRequest(Callback callback)
+ {
+ RequestBody requestBody = buildRequestBody();
+ RequestBody wrappedRequestBody = wrapRequestBody(requestBody, callback);
+ Request request = buildRequest(wrappedRequestBody);
+ return request;
+ }
+
+
+ protected void appendHeaders()
+ {
+ Headers.Builder headerBuilder = new Headers.Builder();
+ if (headers == null || headers.isEmpty()) return;
+
+ for (String key : headers.keySet())
+ {
+ headerBuilder.add(key, headers.get(key));
+ }
+ builder.headers(headerBuilder.build());
+ }
+
+ public int getId()
+ {
+ return id ;
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/OtherRequest.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/OtherRequest.java
new file mode 100644
index 0000000..c0f5b76
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/OtherRequest.java
@@ -0,0 +1,74 @@
+package com.zhy.http.okhttp.request;
+
+import android.text.TextUtils;
+
+import com.zhy.http.okhttp.OkHttpUtils;
+import com.zhy.http.okhttp.utils.Exceptions;
+
+import java.util.Map;
+
+import okhttp3.MediaType;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+import okhttp3.internal.http.HttpMethod;
+
+/**
+ * Created by zhy on 16/2/23.
+ */
+public class OtherRequest extends OkHttpRequest
+{
+ private static MediaType MEDIA_TYPE_PLAIN = MediaType.parse("text/plain;charset=utf-8");
+
+ private RequestBody requestBody;
+ private String method;
+ private String content;
+
+ public OtherRequest(RequestBody requestBody, String content, String method, String url, Object tag, Map params, Map headers,int id)
+ {
+ super(url, tag, params, headers,id);
+ this.requestBody = requestBody;
+ this.method = method;
+ this.content = content;
+
+ }
+
+ @Override
+ protected RequestBody buildRequestBody()
+ {
+ if (requestBody == null && TextUtils.isEmpty(content) && HttpMethod.requiresRequestBody(method))
+ {
+ Exceptions.illegalArgument("requestBody and content can not be null in method:" + method);
+ }
+
+ if (requestBody == null && !TextUtils.isEmpty(content))
+ {
+ requestBody = RequestBody.create(MEDIA_TYPE_PLAIN, content);
+ }
+
+ return requestBody;
+ }
+
+ @Override
+ protected Request buildRequest(RequestBody requestBody)
+ {
+ if (method.equals(OkHttpUtils.METHOD.PUT))
+ {
+ builder.put(requestBody);
+ } else if (method.equals(OkHttpUtils.METHOD.DELETE))
+ {
+ if (requestBody == null)
+ builder.delete();
+ else
+ builder.delete(requestBody);
+ } else if (method.equals(OkHttpUtils.METHOD.HEAD))
+ {
+ builder.head();
+ } else if (method.equals(OkHttpUtils.METHOD.PATCH))
+ {
+ builder.patch(requestBody);
+ }
+
+ return builder.build();
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/PostFileRequest.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/PostFileRequest.java
new file mode 100644
index 0000000..17c4448
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/PostFileRequest.java
@@ -0,0 +1,78 @@
+package com.zhy.http.okhttp.request;
+
+import com.zhy.http.okhttp.OkHttpUtils;
+import com.zhy.http.okhttp.callback.Callback;
+import com.zhy.http.okhttp.utils.Exceptions;
+
+import java.io.File;
+import java.util.Map;
+
+import okhttp3.MediaType;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+
+/**
+ * Created by zhy on 15/12/14.
+ */
+public class PostFileRequest extends OkHttpRequest
+{
+ private static MediaType MEDIA_TYPE_STREAM = MediaType.parse("application/octet-stream");
+
+ private File file;
+ private MediaType mediaType;
+
+ public PostFileRequest(String url, Object tag, Map params, Map headers, File file, MediaType mediaType,int id)
+ {
+ super(url, tag, params, headers,id);
+ this.file = file;
+ this.mediaType = mediaType;
+
+ if (this.file == null)
+ {
+ Exceptions.illegalArgument("the file can not be null !");
+ }
+ if (this.mediaType == null)
+ {
+ this.mediaType = MEDIA_TYPE_STREAM;
+ }
+ }
+
+ @Override
+ protected RequestBody buildRequestBody()
+ {
+ return RequestBody.create(mediaType, file);
+ }
+
+ @Override
+ protected RequestBody wrapRequestBody(RequestBody requestBody, final Callback callback)
+ {
+ if (callback == null) return requestBody;
+ CountingRequestBody countingRequestBody = new CountingRequestBody(requestBody, new CountingRequestBody.Listener()
+ {
+ @Override
+ public void onRequestProgress(final long bytesWritten, final long contentLength)
+ {
+
+ OkHttpUtils.getInstance().getDelivery().execute(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ callback.inProgress(bytesWritten * 1.0f / contentLength,contentLength,id);
+ }
+ });
+
+ }
+ });
+ return countingRequestBody;
+ }
+
+ @Override
+ protected Request buildRequest(RequestBody requestBody)
+ {
+ return builder.post(requestBody).build();
+ }
+
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/PostFormRequest.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/PostFormRequest.java
new file mode 100644
index 0000000..d7c6954
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/PostFormRequest.java
@@ -0,0 +1,130 @@
+package com.zhy.http.okhttp.request;
+
+import com.zhy.http.okhttp.OkHttpUtils;
+import com.zhy.http.okhttp.builder.PostFormBuilder;
+import com.zhy.http.okhttp.callback.Callback;
+
+import java.io.UnsupportedEncodingException;
+import java.net.FileNameMap;
+import java.net.URLConnection;
+import java.net.URLEncoder;
+import java.util.List;
+import java.util.Map;
+
+import okhttp3.FormBody;
+import okhttp3.Headers;
+import okhttp3.MediaType;
+import okhttp3.MultipartBody;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+
+/**
+ * Created by zhy on 15/12/14.
+ */
+public class PostFormRequest extends OkHttpRequest
+{
+ private List files;
+
+ public PostFormRequest(String url, Object tag, Map params, Map headers, List files,int id)
+ {
+ super(url, tag, params, headers,id);
+ this.files = files;
+ }
+
+ @Override
+ protected RequestBody buildRequestBody()
+ {
+ if (files == null || files.isEmpty())
+ {
+ FormBody.Builder builder = new FormBody.Builder();
+ addParams(builder);
+ FormBody formBody = builder.build();
+ return formBody;
+ } else
+ {
+ MultipartBody.Builder builder = new MultipartBody.Builder()
+ .setType(MultipartBody.FORM);
+ addParams(builder);
+
+ for (int i = 0; i < files.size(); i++)
+ {
+ PostFormBuilder.FileInput fileInput = files.get(i);
+ RequestBody fileBody = RequestBody.create(MediaType.parse(guessMimeType(fileInput.filename)), fileInput.file);
+ builder.addFormDataPart(fileInput.key, fileInput.filename, fileBody);
+ }
+ return builder.build();
+ }
+ }
+
+ @Override
+ protected RequestBody wrapRequestBody(RequestBody requestBody, final Callback callback)
+ {
+ if (callback == null) return requestBody;
+ CountingRequestBody countingRequestBody = new CountingRequestBody(requestBody, new CountingRequestBody.Listener()
+ {
+ @Override
+ public void onRequestProgress(final long bytesWritten, final long contentLength)
+ {
+
+ OkHttpUtils.getInstance().getDelivery().execute(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ callback.inProgress(bytesWritten * 1.0f / contentLength,contentLength,id);
+ }
+ });
+
+ }
+ });
+ return countingRequestBody;
+ }
+
+ @Override
+ protected Request buildRequest(RequestBody requestBody)
+ {
+ return builder.post(requestBody).build();
+ }
+
+ private String guessMimeType(String path)
+ {
+ FileNameMap fileNameMap = URLConnection.getFileNameMap();
+ String contentTypeFor = null;
+ try
+ {
+ contentTypeFor = fileNameMap.getContentTypeFor(URLEncoder.encode(path, "UTF-8"));
+ } catch (UnsupportedEncodingException e)
+ {
+ e.printStackTrace();
+ }
+ if (contentTypeFor == null)
+ {
+ contentTypeFor = "application/octet-stream";
+ }
+ return contentTypeFor;
+ }
+
+ private void addParams(MultipartBody.Builder builder)
+ {
+ if (params != null && !params.isEmpty())
+ {
+ for (String key : params.keySet())
+ {
+ builder.addPart(Headers.of("Content-Disposition", "form-data; name=\"" + key + "\""),
+ RequestBody.create(null, params.get(key)));
+ }
+ }
+ }
+
+ private void addParams(FormBody.Builder builder)
+ {
+ if (params != null)
+ {
+ for (String key : params.keySet())
+ {
+ builder.add(key, params.get(key));
+ }
+ }
+ }
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/PostStringRequest.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/PostStringRequest.java
new file mode 100644
index 0000000..ed1d532
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/PostStringRequest.java
@@ -0,0 +1,52 @@
+package com.zhy.http.okhttp.request;
+
+import com.zhy.http.okhttp.utils.Exceptions;
+
+import java.util.Map;
+
+import okhttp3.MediaType;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+
+/**
+ * Created by zhy on 15/12/14.
+ */
+public class PostStringRequest extends OkHttpRequest
+{
+ private static MediaType MEDIA_TYPE_PLAIN = MediaType.parse("text/plain;charset=utf-8");
+
+ private String content;
+ private MediaType mediaType;
+
+
+ public PostStringRequest(String url, Object tag, Map params, Map headers, String content, MediaType mediaType,int id)
+ {
+ super(url, tag, params, headers,id);
+ this.content = content;
+ this.mediaType = mediaType;
+
+ if (this.content == null)
+ {
+ Exceptions.illegalArgument("the content can not be null !");
+ }
+ if (this.mediaType == null)
+ {
+ this.mediaType = MEDIA_TYPE_PLAIN;
+ }
+
+ }
+
+ @Override
+ protected RequestBody buildRequestBody()
+ {
+ return RequestBody.create(mediaType, content);
+ }
+
+ @Override
+ protected Request buildRequest( RequestBody requestBody)
+ {
+ return builder.post(requestBody).build();
+ }
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/RequestCall.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/RequestCall.java
new file mode 100644
index 0000000..1e75607
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/request/RequestCall.java
@@ -0,0 +1,124 @@
+package com.zhy.http.okhttp.request;
+
+import com.zhy.http.okhttp.OkHttpUtils;
+import com.zhy.http.okhttp.callback.Callback;
+
+import java.io.IOException;
+import java.util.concurrent.TimeUnit;
+
+import okhttp3.Call;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+
+/**
+ * Created by zhy on 15/12/15.
+ * 对OkHttpRequest的封装,对外提供更多的接口:cancel(),readTimeOut()...
+ */
+public class RequestCall
+{
+ private OkHttpRequest okHttpRequest;
+ private Request request;
+ private Call call;
+
+ private long readTimeOut;
+ private long writeTimeOut;
+ private long connTimeOut;
+
+ private OkHttpClient clone;
+
+ public RequestCall(OkHttpRequest request)
+ {
+ this.okHttpRequest = request;
+ }
+
+ public RequestCall readTimeOut(long readTimeOut)
+ {
+ this.readTimeOut = readTimeOut;
+ return this;
+ }
+
+ public RequestCall writeTimeOut(long writeTimeOut)
+ {
+ this.writeTimeOut = writeTimeOut;
+ return this;
+ }
+
+ public RequestCall connTimeOut(long connTimeOut)
+ {
+ this.connTimeOut = connTimeOut;
+ return this;
+ }
+
+ public Call buildCall(Callback callback)
+ {
+ request = generateRequest(callback);
+
+ if (readTimeOut > 0 || writeTimeOut > 0 || connTimeOut > 0)
+ {
+ readTimeOut = readTimeOut > 0 ? readTimeOut : OkHttpUtils.DEFAULT_MILLISECONDS;
+ writeTimeOut = writeTimeOut > 0 ? writeTimeOut : OkHttpUtils.DEFAULT_MILLISECONDS;
+ connTimeOut = connTimeOut > 0 ? connTimeOut : OkHttpUtils.DEFAULT_MILLISECONDS;
+
+ clone = OkHttpUtils.getInstance().getOkHttpClient().newBuilder()
+ .readTimeout(readTimeOut, TimeUnit.MILLISECONDS)
+ .writeTimeout(writeTimeOut, TimeUnit.MILLISECONDS)
+ .connectTimeout(connTimeOut, TimeUnit.MILLISECONDS)
+ .build();
+
+ call = clone.newCall(request);
+ } else
+ {
+ call = OkHttpUtils.getInstance().getOkHttpClient().newCall(request);
+ }
+ return call;
+ }
+
+ private Request generateRequest(Callback callback)
+ {
+ return okHttpRequest.generateRequest(callback);
+ }
+
+ public void execute(Callback callback)
+ {
+ buildCall(callback);
+
+ if (callback != null)
+ {
+ callback.onBefore(request, getOkHttpRequest().getId());
+ }
+
+ OkHttpUtils.getInstance().execute(this, callback);
+ }
+
+ public Call getCall()
+ {
+ return call;
+ }
+
+ public Request getRequest()
+ {
+ return request;
+ }
+
+ public OkHttpRequest getOkHttpRequest()
+ {
+ return okHttpRequest;
+ }
+
+ public Response execute() throws IOException
+ {
+ buildCall(null);
+ return call.execute();
+ }
+
+ public void cancel()
+ {
+ if (call != null)
+ {
+ call.cancel();
+ }
+ }
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/utils/Exceptions.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/utils/Exceptions.java
new file mode 100644
index 0000000..0902223
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/utils/Exceptions.java
@@ -0,0 +1,14 @@
+package com.zhy.http.okhttp.utils;
+
+/**
+ * Created by zhy on 15/12/14.
+ */
+public class Exceptions
+{
+ public static void illegalArgument(String msg, Object... params)
+ {
+ throw new IllegalArgumentException(String.format(msg, params));
+ }
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/utils/ImageUtils.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/utils/ImageUtils.java
new file mode 100644
index 0000000..b6e3db2
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/utils/ImageUtils.java
@@ -0,0 +1,196 @@
+package com.zhy.http.okhttp.utils;
+
+import android.graphics.BitmapFactory;
+import android.util.DisplayMetrics;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+
+import java.io.InputStream;
+import java.lang.reflect.Field;
+
+/**
+ * Created by zhy on 15/11/6.
+ */
+public class ImageUtils
+{
+ /**
+ * 根据InputStream获取图片实际的宽度和高度
+ *
+ * @param imageStream
+ * @return
+ */
+ public static ImageSize getImageSize(InputStream imageStream)
+ {
+ BitmapFactory.Options options = new BitmapFactory.Options();
+ options.inJustDecodeBounds = true;
+ BitmapFactory.decodeStream(imageStream, null, options);
+ return new ImageSize(options.outWidth, options.outHeight);
+ }
+
+ public static class ImageSize
+ {
+ int width;
+ int height;
+
+ public ImageSize()
+ {
+ }
+
+ public ImageSize(int width, int height)
+ {
+ this.width = width;
+ this.height = height;
+ }
+
+ @Override
+ public String toString()
+ {
+ return "ImageSize{" +
+ "width=" + width +
+ ", height=" + height +
+ '}';
+ }
+ }
+
+ public static int calculateInSampleSize(ImageSize srcSize, ImageSize targetSize)
+ {
+ // 源图片的宽度
+ int width = srcSize.width;
+ int height = srcSize.height;
+ int inSampleSize = 1;
+
+ int reqWidth = targetSize.width;
+ int reqHeight = targetSize.height;
+
+ if (width > reqWidth && height > reqHeight)
+ {
+ // 计算出实际宽度和目标宽度的比率
+ int widthRatio = Math.round((float) width / (float) reqWidth);
+ int heightRatio = Math.round((float) height / (float) reqHeight);
+ inSampleSize = Math.max(widthRatio, heightRatio);
+ }
+ return inSampleSize;
+ }
+
+ /**
+ * 根据ImageView获适当的压缩的宽和高
+ *
+ * @param view
+ * @return
+ */
+ public static ImageSize getImageViewSize(View view)
+ {
+
+ ImageSize imageSize = new ImageSize();
+
+ imageSize.width = getExpectWidth(view);
+ imageSize.height = getExpectHeight(view);
+
+ return imageSize;
+ }
+
+ /**
+ * 根据view获得期望的高度
+ *
+ * @param view
+ * @return
+ */
+ private static int getExpectHeight(View view)
+ {
+
+ int height = 0;
+ if (view == null) return 0;
+
+ final ViewGroup.LayoutParams params = view.getLayoutParams();
+ //如果是WRAP_CONTENT,此时图片还没加载,getWidth根本无效
+ if (params != null && params.height != ViewGroup.LayoutParams.WRAP_CONTENT)
+ {
+ height = view.getWidth(); // 获得实际的宽度
+ }
+ if (height <= 0 && params != null)
+ {
+ height = params.height; // 获得布局文件中的声明的宽度
+ }
+
+ if (height <= 0)
+ {
+ height = getImageViewFieldValue(view, "mMaxHeight");// 获得设置的最大的宽度
+ }
+
+ //如果宽度还是没有获取到,憋大招,使用屏幕的宽度
+ if (height <= 0)
+ {
+ DisplayMetrics displayMetrics = view.getContext().getResources()
+ .getDisplayMetrics();
+ height = displayMetrics.heightPixels;
+ }
+
+ return height;
+ }
+
+ /**
+ * 根据view获得期望的宽度
+ *
+ * @param view
+ * @return
+ */
+ private static int getExpectWidth(View view)
+ {
+ int width = 0;
+ if (view == null) return 0;
+
+ final ViewGroup.LayoutParams params = view.getLayoutParams();
+ //如果是WRAP_CONTENT,此时图片还没加载,getWidth根本无效
+ if (params != null && params.width != ViewGroup.LayoutParams.WRAP_CONTENT)
+ {
+ width = view.getWidth(); // 获得实际的宽度
+ }
+ if (width <= 0 && params != null)
+ {
+ width = params.width; // 获得布局文件中的声明的宽度
+ }
+
+ if (width <= 0)
+
+ {
+ width = getImageViewFieldValue(view, "mMaxWidth");// 获得设置的最大的宽度
+ }
+ //如果宽度还是没有获取到,憋大招,使用屏幕的宽度
+ if (width <= 0)
+
+ {
+ DisplayMetrics displayMetrics = view.getContext().getResources()
+ .getDisplayMetrics();
+ width = displayMetrics.widthPixels;
+ }
+
+ return width;
+ }
+
+ /**
+ * 通过反射获取imageview的某个属性值
+ *
+ * @param object
+ * @param fieldName
+ * @return
+ */
+ private static int getImageViewFieldValue(Object object, String fieldName)
+ {
+ int value = 0;
+ try
+ {
+ Field field = ImageView.class.getDeclaredField(fieldName);
+ field.setAccessible(true);
+ int fieldValue = field.getInt(object);
+ if (fieldValue > 0 && fieldValue < Integer.MAX_VALUE)
+ {
+ value = fieldValue;
+ }
+ } catch (Exception e)
+ {
+ }
+ return value;
+
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/utils/L.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/utils/L.java
new file mode 100644
index 0000000..b7dac71
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/utils/L.java
@@ -0,0 +1,21 @@
+package com.zhy.http.okhttp.utils;
+
+import android.util.Log;
+
+/**
+ * Created by zhy on 15/11/6.
+ */
+public class L
+{
+ private static boolean debug = false;
+
+ public static void e(String msg)
+ {
+ if (debug)
+ {
+ Log.e("OkHttp", msg);
+ }
+ }
+
+}
+
diff --git a/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/utils/Platform.java b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/utils/Platform.java
new file mode 100644
index 0000000..44dd5f0
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/okhttputils/src/main/java/com/zhy/http/okhttp/utils/Platform.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2013 Square, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.zhy.http.okhttp.utils;
+
+import android.os.Build;
+import android.os.Handler;
+import android.os.Looper;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+public class Platform
+{
+ private static final Platform PLATFORM = findPlatform();
+
+ public static Platform get()
+ {
+ L.e(PLATFORM.getClass().toString());
+ return PLATFORM;
+ }
+
+ private static Platform findPlatform()
+ {
+ try
+ {
+ Class.forName("android.os.Build");
+ if (Build.VERSION.SDK_INT != 0)
+ {
+ return new Android();
+ }
+ } catch (ClassNotFoundException ignored)
+ {
+ }
+ return new Platform();
+ }
+
+ public Executor defaultCallbackExecutor()
+ {
+ return Executors.newCachedThreadPool();
+ }
+
+ public void execute(Runnable runnable)
+ {
+ defaultCallbackExecutor().execute(runnable);
+ }
+
+
+ static class Android extends Platform
+ {
+ @Override
+ public Executor defaultCallbackExecutor()
+ {
+ return new MainThreadExecutor();
+ }
+
+ static class MainThreadExecutor implements Executor
+ {
+ private final Handler handler = new Handler(Looper.getMainLooper());
+
+ @Override
+ public void execute(Runnable r)
+ {
+ handler.post(r);
+ }
+ }
+ }
+
+
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/opendanmaku/.gitignore b/S202014040230郭刘芊/ShoppingMall/opendanmaku/.gitignore
new file mode 100644
index 0000000..796b96d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/opendanmaku/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/S202014040230郭刘芊/ShoppingMall/opendanmaku/build.gradle b/S202014040230郭刘芊/ShoppingMall/opendanmaku/build.gradle
new file mode 100644
index 0000000..422428e
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/opendanmaku/build.gradle
@@ -0,0 +1,134 @@
+apply plugin: 'com.android.library'
+/*apply plugin: 'com.github.dcendents.android-maven'
+apply plugin: "com.jfrog.bintray"*/
+
+// This is the library version used when deploying the artifact
+version = "1.0.0"
+
+android {
+ compileSdkVersion 23
+ buildToolsVersion "23.0.3"
+
+ defaultConfig {
+ minSdkVersion 14
+ targetSdkVersion 23
+ versionCode 1
+ versionName "1.0.0"
+ }
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ }
+}
+
+tasks.withType(JavaCompile) {
+ options.encoding = "UTF-8"
+}
+
+/*javadoc {
+ options.charSet = 'UTF-8'
+}*/
+
+dependencies {
+ compile fileTree(dir: 'libs', include: ['*.jar'])
+ compile 'com.android.support:appcompat-v7:23.3.0'
+}
+
+/*def siteUrl = 'https://github.com/linsea/OpenDanmaku' // Homepage URL of the library
+def gitUrl = 'https://github.com/linsea/OpenDanmaku.git' // Git repository URL
+group = "com.linsea" // Maven Group ID for the artifact
+
+//distribute library to Jcenter guide :
+// http://blog.csdn.net/u013308121/article/details/46360703
+// https://github.com/danielemaddaluno/gradle-jcenter-publish
+install {
+ repositories.mavenInstaller {
+ // This generates POM.xml with proper parameters
+ pom {
+ project {
+ packaging 'aar'
+
+ // Add your description here
+ name 'Android Open Danmaku'
+ description = '一个Android的弹幕控件.Open Danmaku is a Android widget which shows danmaku.'
+ url siteUrl
+
+ // Set your license
+ licenses {
+ license {
+ name 'The Apache Software License, Version 2.0'
+ url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+ }
+ }
+ developers {
+ developer {
+ id 'linsea'
+ name 'linsea'
+ email 'dictfb@gmail.com'
+ }
+ }
+ scm {
+ connection gitUrl
+ developerConnection gitUrl
+ url siteUrl
+
+ }
+ }
+ }
+ }
+}
+
+task sourcesJar(type: Jar) {
+ from android.sourceSets.main.java.srcDirs
+ classifier = 'sources'
+}
+
+task javadoc(type: Javadoc) {
+ options.encoding = "utf-8"
+ source = android.sourceSets.main.java.srcDirs
+ classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
+}
+
+task javadocJar(type: Jar, dependsOn: javadoc) {
+ classifier = 'javadoc'
+ from javadoc.destinationDir
+}
+artifacts {
+ archives javadocJar
+ archives sourcesJar
+}
+
+Properties properties = new Properties()
+properties.load(project.rootProject.file('local.properties').newDataInputStream())
+
+// https://github.com/bintray/gradle-bintray-plugin
+bintray {
+ user = properties.getProperty("bintray.user")
+ key = properties.getProperty("bintray.apikey")
+
+ configurations = ['archives']
+ pkg {
+ repo = "maven"
+ // it is the name that appears in bintray when logged
+ name = "AndroidOpenDanmaku"
+ websiteUrl = siteUrl
+ vcsUrl = gitUrl
+ licenses = ["Apache-2.0"]
+ publish = true
+ version {
+ gpg {
+ sign = true //Determines whether to GPG sign the files. The default is false
+ passphrase = properties.getProperty("bintray.gpg.password") //Optional. The passphrase for GPG signing'
+ }
+// mavenCentralSync {
+// sync = true //Optional (true by default). Determines whether to sync the version to Maven Central.
+// user = properties.getProperty("bintray.oss.user") //OSS user token
+// password = properties.getProperty("bintray.oss.password") //OSS user password
+// close = '1' //Optional property. By default the staging repository is closed and artifacts are released to Maven Central. You can optionally turn this behaviour off (by puting 0 as value) and release the version manually.
+// }
+ }
+ }
+}*/
+
diff --git a/S202014040230郭刘芊/ShoppingMall/opendanmaku/proguard-rules.pro b/S202014040230郭刘芊/ShoppingMall/opendanmaku/proguard-rules.pro
new file mode 100644
index 0000000..559fbe7
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/opendanmaku/proguard-rules.pro
@@ -0,0 +1,17 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in E:\AndroidDev\sdk/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
diff --git a/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/androidTest/java/com/opendanmaku/ApplicationTest.java b/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/androidTest/java/com/opendanmaku/ApplicationTest.java
new file mode 100644
index 0000000..51dec4b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/androidTest/java/com/opendanmaku/ApplicationTest.java
@@ -0,0 +1,13 @@
+package com.opendanmaku;
+
+import android.app.Application;
+import android.test.ApplicationTestCase;
+
+/**
+ * Testing Fundamentals
+ */
+public class ApplicationTest extends ApplicationTestCase {
+ public ApplicationTest() {
+ super(Application.class);
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/main/AndroidManifest.xml b/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..af31b1b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/main/AndroidManifest.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/main/java/com/opendanmaku/DanmakuItem.java b/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/main/java/com/opendanmaku/DanmakuItem.java
new file mode 100644
index 0000000..c72255b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/main/java/com/opendanmaku/DanmakuItem.java
@@ -0,0 +1,234 @@
+package com.opendanmaku;
+
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.text.Layout;
+import android.text.SpannableString;
+import android.text.StaticLayout;
+import android.text.TextPaint;
+
+public class DanmakuItem implements IDanmakuItem {
+
+ /** X axis base speed*/
+ private static int sBaseSpeed = 3;
+
+ private Context mContext;
+
+ /**DanmakuView width, height*/
+ private int mContainerWidth, mContainerHeight;
+
+ private int mTextSize;
+
+ private int mTextColor = Color.WHITE;
+
+ private SpannableString mContent;
+
+ private int mCurrX, mCurrY;
+
+ /** X axis speed factor*/
+ private float mFactor;
+
+ private StaticLayout staticLayout;
+ private StaticLayout borderStaticLayout;
+ private static TextPaint strokePaint = new TextPaint();
+
+ private int mContentWidth , mContentHeight;
+
+
+ static {
+ strokePaint.setARGB(255, 0, 0, 0);
+// strokePaint.setTextAlign(Paint.Align.CENTER);
+// strokePaint.setTextSize(16);
+// strokePaint.setTypeface(Typeface.DEFAULT_BOLD);
+ strokePaint.setStyle(Paint.Style.STROKE);
+ strokePaint.setStrokeWidth(4);
+ strokePaint.setAntiAlias(true);
+
+ }
+ /**
+ * construct a DanmakuItem
+ * @param context Context
+ * @param content paint text as content
+ * @param startX start position of X axis,
+ * normally should be the screen width, e.g. right side of the view).
+ * the Y axis position will be assigned a channel by the DanmakuView randomly.
+ */
+ public DanmakuItem(Context context, CharSequence content, int startX) {
+ this(context, new SpannableString(content), startX, 0, 0, 0, 1f);
+ }
+
+ public DanmakuItem(Context context, CharSequence content, int startX, int startY) {
+ this(context, new SpannableString(content), startX, startY, 0, 0, 1f);
+ }
+
+
+ public DanmakuItem(Context context, SpannableString content, int startX, int startY,
+ int textColorResId, int textSizeInDip, float speedFactor) {
+ this.mContext = context;
+ this.mContent = content;
+ this.mCurrX = startX;
+ this.mCurrY = startY;
+ setTextColor(textColorResId);
+ setTextSize(textSizeInDip);
+ mFactor = speedFactor;
+ measure();
+ }
+
+ private void measure() {
+ TextPaint tp = new TextPaint();
+ tp.setAntiAlias(true);
+ tp.setColor(mTextColor);
+ tp.setTextSize(mTextSize);
+ strokePaint.setTextSize(mTextSize);
+// tp.setShadowLayer(4, 0, 0, Color.BLACK);
+ mContentHeight = getFontHeight(tp);
+ staticLayout = new StaticLayout(mContent,
+ tp,
+ (int) Layout.getDesiredWidth(mContent, 0, mContent.length(), tp) + 1,
+ Layout.Alignment.ALIGN_NORMAL,
+ 1.0f,
+ 0.0f,
+ false);
+ mContentWidth = staticLayout.getWidth();
+ borderStaticLayout = new StaticLayout(mContent,
+ strokePaint,
+ (int) Layout.getDesiredWidth(mContent, 0, mContent.length(), tp) + 1,
+ Layout.Alignment.ALIGN_NORMAL,
+ 1.0f,
+ 0.0f,
+ false);
+ }
+
+ @Override
+ public void doDraw(Canvas canvas) {
+ int canvasWidth = canvas.getWidth();
+ int canvasHeight = canvas.getHeight();
+
+ if (canvasWidth != this.mContainerWidth || canvasHeight != this.mContainerHeight) {//phone rotated !
+ this.mContainerWidth = canvasWidth;
+ this.mContainerHeight = canvasHeight;
+ }
+ canvas.save();
+ canvas.translate(mCurrX,mCurrY);
+// for (int i = 0; i < 4; i++) { //加深阴影,产生描边效果. stroke/outline effect
+// staticLayout.draw(canvas);
+// }
+ borderStaticLayout.draw(canvas);
+ staticLayout.draw(canvas);
+ canvas.restore();
+ mCurrX = (int) (mCurrX - sBaseSpeed * mFactor);//only support moving along X axis
+ }
+
+ @Override
+ public void setTextSize(int textSizeInDip) {
+ if (textSizeInDip > 0) {
+ this.mTextSize = dip2px(mContext, textSizeInDip);
+ measure();
+ } else {
+ this.mTextSize = dip2px(mContext, 12); // textSize default to 12 dp
+ }
+
+ }
+
+ @Override
+ public void setTextColor(int textColorResId) {
+ if (textColorResId > 0) {
+ this.mTextColor = mContext.getResources().getColor(textColorResId);
+ measure();
+ }
+ }
+
+ @Override
+ public void setStartPosition(int x, int y) {
+ this.mCurrX = x;
+ this.mCurrY = y;
+ }
+
+ @Override
+ public void setSpeedFactor(float factor) {
+ this.mFactor = factor;
+ }
+
+ @Override
+ public float getSpeedFactor() {
+ return mFactor;
+ }
+
+ @Override
+ public boolean isOut() {
+ return mCurrX < 0 && Math.abs(mCurrX) > mContentWidth;
+ }
+
+ @Override
+ public void release() {
+ mContext = null;
+ }
+
+ @Override
+ public int getWidth() {
+ return mContentWidth;
+ }
+
+ @Override
+ public int getHeight() {
+ return mContentHeight;
+ }
+
+ @Override
+ public int getCurrX() {
+ return mCurrX;
+ }
+
+ @Override
+ public int getCurrY() {
+ return mCurrY;
+ }
+
+ /***
+ * test whether this Danmaku Item would be hit the already running one or not
+ * if it to be run on the same channel
+ * @param runningItem item is already moving on the channel
+ * @return hit or not
+ */
+ public boolean willHit(IDanmakuItem runningItem) {
+ if (runningItem.getWidth() + runningItem.getCurrX() > mContainerWidth) {
+ return true;
+ }
+
+ if (runningItem.getSpeedFactor()>= mFactor) {
+ return false;
+ }
+
+ float len1 = runningItem.getCurrX() + runningItem.getWidth();
+ float t1 = len1 / (runningItem.getSpeedFactor() * DanmakuItem.sBaseSpeed);
+ float len2 = t1 * mFactor * DanmakuItem.sBaseSpeed;
+ if (len2 > len1) {
+ return true;
+ } else {
+ return false;
+ }
+
+ }
+
+
+ public static int getBaseSpeed() {
+ return sBaseSpeed;
+ }
+
+ public static void setBaseSpeed(int baseSpeed) {
+ DanmakuItem.sBaseSpeed = baseSpeed;
+ }
+
+
+ private static int dip2px(Context context, float dipValue) {
+ final float scale = context.getResources().getDisplayMetrics().density;
+ return (int) (dipValue * scale + 0.5f);
+ }
+
+ private static int getFontHeight(TextPaint paint){
+ Paint.FontMetrics fm = paint.getFontMetrics();
+ return (int) Math.ceil(fm.descent - fm.top) + 2;
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/main/java/com/opendanmaku/DanmakuView.java b/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/main/java/com/opendanmaku/DanmakuView.java
new file mode 100644
index 0000000..eb2972b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/main/java/com/opendanmaku/DanmakuView.java
@@ -0,0 +1,364 @@
+package com.opendanmaku;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.PorterDuff;
+import android.text.TextPaint;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.View;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * 弹幕View
+ */
+public class DanmakuView extends View {
+
+ public static final String TAG = "DanmakuView";
+
+ private final Context mContext;
+
+ private int mMaxRow = 1; //最多几条弹道
+ private int mPickItemInterval = 1000;//每隔多长时间取出一条弹幕来播放.
+ private int mMaxRunningPerRow = 1; //每条弹道上最多同时有几个弹幕在屏幕上运行
+ private float mStartYOffset = 0.1f; //第一个弹道在Y轴上的偏移占整个View的百分比
+ private float mEndYOffset = 0.9f;//最后一个弹道在Y轴上的偏移占整个View的百分比
+
+
+
+ private HashMap> mChannelMap;
+ private final java.util.Deque mWaitingItems = new LinkedList<>();
+ private int[] mChannelY; //每条弹道的Y坐标
+ private static final float mPartition = 0.95f; //仅View顶部的部分可以播放弹幕百分比
+
+ private static final int STATUS_RUNNING = 1;
+ private static final int STATUS_PAUSE = 2;
+ private static final int STATUS_STOP = 3;
+
+ private volatile int status = STATUS_STOP;
+
+ private static Random random = new Random();
+
+ private boolean mShowDebug = false;
+ private LinkedList times;
+ private Paint fpsPaint;
+ private long previousTime = 0;
+ private LinkedList lines;
+
+
+ public DanmakuView(Context context) {
+ this(context, null);
+ }
+
+ public DanmakuView(Context context, AttributeSet attrs) {
+ this(context, attrs, 0);
+ }
+
+ public DanmakuView(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ mContext = context;
+ TypedArray a = mContext.obtainStyledAttributes(attrs, R.styleable.DanmakuView, 0, 0);
+ mMaxRow = a.getInteger(R.styleable.DanmakuView_max_row, 1);
+ mPickItemInterval = a.getInteger(R.styleable.DanmakuView_pick_interval, 1000);
+ mMaxRunningPerRow = a.getInteger(R.styleable.DanmakuView_max_running_per_row, 1);
+ mShowDebug = a.getBoolean(R.styleable.DanmakuView_show_debug, false);
+ mStartYOffset = a.getFloat(R.styleable.DanmakuView_start_Y_offset, 0.1f);
+ mEndYOffset = a.getFloat(R.styleable.DanmakuView_end_Y_offset, 0.9f);
+ a.recycle();
+ checkYOffset(mStartYOffset, mEndYOffset);
+ init();
+ }
+
+ private void checkYOffset(float start, float end) {
+ if (start >= end ){
+ throw new IllegalArgumentException("start_Y_offset must < end_Y_offset");
+ }
+ if (start < 0f || start >= 1f || end < 0f || end > 1f) {
+ throw new IllegalArgumentException("start_Y_offset and end_Y_offset must between 0 and 1)");
+ }
+ }
+
+ private void init() {
+ setBackgroundColor(Color.TRANSPARENT);
+ setDrawingCacheBackgroundColor(Color.TRANSPARENT);
+ calculation();
+ }
+
+ private void calculation() {
+ if (mShowDebug) {
+ fpsPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG);
+ fpsPaint.setColor(Color.YELLOW);
+ fpsPaint.setTextSize(20);
+ times = new LinkedList<>();
+ lines = new LinkedList<>();
+ }
+ initChannelMap();
+ initChannelY();
+ }
+
+ private void initChannelMap(){
+ mChannelMap = new HashMap<>(mMaxRow);
+ for (int i = 0; i < mMaxRow; i++) {
+ ArrayList runningRow= new ArrayList(mMaxRunningPerRow);
+ mChannelMap.put(i, runningRow);
+ }
+ }
+
+ private void initChannelY() {
+ if (mChannelY == null){
+ mChannelY = new int[mMaxRow];
+ }
+
+ float rowHeight = getHeight() * (mEndYOffset - mStartYOffset) / mMaxRow;
+ float baseOffset = getHeight() * mStartYOffset;
+ for (int i = 0; i < mMaxRow; i++) {
+ mChannelY[i] = (int) (baseOffset + rowHeight * (i + 1) - rowHeight * 3 / 4);//每一行空间顶部留1/4,剩下3/4显示文字
+
+ }
+ if (mShowDebug) {
+ lines.add(baseOffset);
+ for (int i = 0; i < mMaxRow; i++) {
+ lines.add(baseOffset + rowHeight * (i + 1));
+ }
+ }
+ }
+
+ @Override
+ protected void onDraw(Canvas canvas) {
+ super.onDraw(canvas);
+ if (status == STATUS_RUNNING) {
+ try {
+ canvas.drawColor(Color.TRANSPARENT);
+
+ //先绘制正在播放的弹幕
+ for (int i = 0; i < mChannelMap.size(); i++) {
+ ArrayList list = mChannelMap.get(i);
+ for (Iterator it = list.iterator(); it.hasNext(); ) {
+ IDanmakuItem item = it.next();
+ if (item.isOut()) {
+ it.remove();
+ } else {
+ item.doDraw(canvas);
+ }
+ }
+ }
+
+ //检查是否需要加载播放下一个弹幕
+ if (System.currentTimeMillis() - previousTime > mPickItemInterval) {
+ previousTime = System.currentTimeMillis();
+// Log.d(TAG, "start pick new item..");
+ IDanmakuItem di = mWaitingItems.pollFirst();
+ if (di != null) {
+ int indexY = findVacant(di);
+ if (indexY >= 0) {
+// Log.d(TAG, "find vacant channel");
+ di.setStartPosition(canvas.getWidth() - 2, mChannelY[indexY]);
+// Log.d(TAG, "draw new, text:" + di.getText());
+ //Log.d(TAG, String.format("doDraw, position,x=%s,y=%s", c.getWidth() - 1, mChannelY[indexY]));
+ di.doDraw(canvas);
+ mChannelMap.get(indexY).add(di);//不要忘记加入正运行的维护的列表中
+
+ } else {
+// Log.d(TAG, "Not find vacant channel, add it back");
+ addItemToHead(di);//找不到可以播放的弹道,则把它放回列表中
+ }
+
+ } else {
+ //no item 弹幕播放完毕,
+ }
+
+ }
+
+ if (mShowDebug) {
+ int fps = (int) fps();
+ canvas.drawText("FPS:" + fps, 5f, 20f, fpsPaint);
+ for (float yp : lines) {
+ canvas.drawLine(0f, yp, getWidth(), yp, fpsPaint);
+ }
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ invalidate();
+
+ } else {//暂停或停止,隐藏弹幕内容
+ canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
+ }
+ }
+
+
+ /**随机寻找一个可以播放弹幕而不会发生碰撞的弹道,返回弹道的Y坐标在mChannelY上的index,如果没有找到则返回-1*/
+ private int findVacant(IDanmakuItem item) {
+ try {//fix NPT exception
+ for (int i = 0; i < mMaxRow; i++) {
+ ArrayList list = mChannelMap.get(i);
+ if (list.size() == 0) {
+ return i;
+ }
+ }
+ int ind = random.nextInt(mMaxRow);
+ for (int i = 0; i < mMaxRow; i++) {
+ ArrayList list = mChannelMap.get((i + ind) % mMaxRow);
+ if (list.size() > mMaxRunningPerRow) {//每个弹道最多mMaxRunning个弹幕
+ continue;
+ }
+ IDanmakuItem di = list.get(list.size() - 1);
+ if (!item.willHit(di)) {
+ return (i + ind) % mMaxRow;
+ }
+ }
+ } catch (Exception e) {
+ Log.w(TAG, "findVacant,Exception:" + e.toString());
+// e.printStackTrace();
+ }
+
+ return -1;
+ }
+
+ private void clearPlayingItems() {
+ if (mChannelMap != null) {
+ synchronized (mChannelMap) {
+ for (int i = 0; i < mChannelMap.size(); i++) {
+ ArrayList list = mChannelMap.get(i);
+ if (list != null) {
+ list.clear();
+ }
+ }
+ }
+ }
+ }
+
+ @Override
+ protected void onSizeChanged(int w, int h, int oldw, int oldh) {
+ super.onSizeChanged(w, h, oldw, oldh);
+ initChannelY();//可能屏幕方向切换了,得重新计算坐标
+ }
+
+ public boolean isPaused() {
+ return STATUS_PAUSE == status;
+ }
+
+
+ /**播放显示弹幕*/
+ public void show() {
+ status = STATUS_RUNNING;
+ invalidate();
+ }
+
+ /**隐藏弹幕,暂停播放*/
+ public void hide() {
+ status = STATUS_PAUSE;
+ invalidate();
+ }
+
+ /**清空正在播放和等待播放的弹幕*/
+ public void clear() {
+ status = STATUS_STOP;
+ clearItems();
+ invalidate();
+ }
+
+// /**清空弹幕等待队列,暂停播放*/
+// public void pauseAndClear() {
+// if (mWaitingItems != null) {
+// synchronized (mWaitingItems) {
+// mWaitingItems.clear();
+// }
+// }
+// clearPlayingItems();
+// }
+
+ private void clearItems() {
+ clearRunning();
+ clearWaiting();
+ }
+
+ private void clearRunning() {
+ if (null != mChannelMap && !mChannelMap.isEmpty()) {
+ mChannelMap.clear();
+ }
+ }
+
+ private void clearWaiting(){
+ if (null != mWaitingItems && !mWaitingItems.isEmpty()) {
+ mWaitingItems.clear();
+ }
+ }
+
+ public void setMaxRow(int maxRow) {
+ this.mMaxRow = maxRow;
+ calculation();
+ clearRunning();
+ }
+
+ public void setPickItemInterval(int pickItemInterval) {
+ this.mPickItemInterval = pickItemInterval;
+ }
+
+ public void setMaxRunningPerRow(int maxRunningPerRow) {
+ this.mMaxRunningPerRow = maxRunningPerRow;
+ }
+
+ public void setStartYOffset(float startYOffset, float endYOffset) {
+ checkYOffset(startYOffset, endYOffset);
+ clearRunning();
+ this.mStartYOffset = startYOffset;
+ this.mEndYOffset = endYOffset;
+ calculation();
+ }
+
+
+ public void addItem(IDanmakuItem item) {
+ synchronized (mWaitingItems) {
+ this.mWaitingItems.add(item);
+ }
+ }
+
+ public void addItemToHead(IDanmakuItem item) {
+ synchronized (mWaitingItems) {
+ this.mWaitingItems.offerFirst(item);
+ }
+ }
+
+ /**是否新建后台线程来执行添加任务*/
+ public void addItem(final List list, boolean backgroundLoad) {
+ if (backgroundLoad) {
+ new Thread(){
+ @Override
+ public void run() {
+ synchronized (mWaitingItems) {
+ mWaitingItems.addAll(list);
+ }
+ postInvalidate();
+ }
+ }.start();
+ } else {
+ this.mWaitingItems.addAll(list);
+ }
+ }
+
+
+ /** Calculates and returns frames per second */
+ private double fps() {
+ long lastTime = System.nanoTime();
+ times.addLast(lastTime);
+ double NANOS = 1000000000.0;
+ double difference = (lastTime - times.getFirst()) / NANOS;
+ int size = times.size();
+ int MAX_SIZE = 100;
+ if (size > MAX_SIZE) {
+ times.removeFirst();
+ }
+ return difference > 0 ? times.size() / difference : 0.0;
+ }
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/main/java/com/opendanmaku/IDanmakuItem.java b/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/main/java/com/opendanmaku/IDanmakuItem.java
new file mode 100644
index 0000000..54e079b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/main/java/com/opendanmaku/IDanmakuItem.java
@@ -0,0 +1,32 @@
+package com.opendanmaku;
+
+import android.graphics.Canvas;
+
+public interface IDanmakuItem {
+
+ void doDraw(Canvas canvas);
+
+ void setTextSize(int sizeInDip);
+
+ void setTextColor(int colorResId);
+
+ void setStartPosition(int x, int y);
+
+ void setSpeedFactor(float factor);
+
+ float getSpeedFactor();
+
+ boolean isOut();
+
+ boolean willHit(IDanmakuItem runningItem);
+
+ void release();
+
+ int getWidth();
+
+ int getHeight();
+
+ int getCurrX();
+
+ int getCurrY();
+}
diff --git a/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/main/res/values/danmaku_attrs.xml b/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/main/res/values/danmaku_attrs.xml
new file mode 100644
index 0000000..5bb605d
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/main/res/values/danmaku_attrs.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/main/res/values/strings.xml b/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/main/res/values/strings.xml
new file mode 100644
index 0000000..8542005
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/opendanmaku/src/main/res/values/strings.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/S202014040230郭刘芊/ShoppingMall/settings.gradle b/S202014040230郭刘芊/ShoppingMall/settings.gradle
new file mode 100644
index 0000000..9dbf88b
--- /dev/null
+++ b/S202014040230郭刘芊/ShoppingMall/settings.gradle
@@ -0,0 +1 @@
+include ':app', ':okhttputils', ':banner', ':FlycoTabLayout_Lib', ':ViewPagerIndicator_library', ':opendanmaku'
diff --git a/S202014040230郭刘芊/atguigu/img/1432113201786.jpg b/S202014040230郭刘芊/atguigu/img/1432113201786.jpg
new file mode 100644
index 0000000..4354ef1
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1432113201786.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1435116836598.jpg b/S202014040230郭刘芊/atguigu/img/1435116836598.jpg
new file mode 100644
index 0000000..6954a3c
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1435116836598.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1438680345318.jpg b/S202014040230郭刘芊/atguigu/img/1438680345318.jpg
new file mode 100644
index 0000000..da1b513
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1438680345318.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1438772068067.jpg b/S202014040230郭刘芊/atguigu/img/1438772068067.jpg
new file mode 100644
index 0000000..7635928
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1438772068067.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1438946011155.jpg b/S202014040230郭刘芊/atguigu/img/1438946011155.jpg
new file mode 100644
index 0000000..351f015
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1438946011155.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1439367400560.jpg b/S202014040230郭刘芊/atguigu/img/1439367400560.jpg
new file mode 100644
index 0000000..0b38e37
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1439367400560.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1441701271917.jpg b/S202014040230郭刘芊/atguigu/img/1441701271917.jpg
new file mode 100644
index 0000000..0db91ae
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1441701271917.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1441702026328.jpg b/S202014040230郭刘芊/atguigu/img/1441702026328.jpg
new file mode 100644
index 0000000..042971d
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1441702026328.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1441768007825.jpg b/S202014040230郭刘芊/atguigu/img/1441768007825.jpg
new file mode 100644
index 0000000..f045056
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1441768007825.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1441768803916.jpg b/S202014040230郭刘芊/atguigu/img/1441768803916.jpg
new file mode 100644
index 0000000..da5703d
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1441768803916.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1442219020234.jpg b/S202014040230郭刘芊/atguigu/img/1442219020234.jpg
new file mode 100644
index 0000000..a315a6c
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1442219020234.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1442827291184.jpg b/S202014040230郭刘芊/atguigu/img/1442827291184.jpg
new file mode 100644
index 0000000..1f60f61
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1442827291184.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1443527992618.jpg b/S202014040230郭刘芊/atguigu/img/1443527992618.jpg
new file mode 100644
index 0000000..44d480e
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1443527992618.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1444883979497.jpg b/S202014040230郭刘芊/atguigu/img/1444883979497.jpg
new file mode 100644
index 0000000..dad4609
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1444883979497.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1445418450175.jpg b/S202014040230郭刘芊/atguigu/img/1445418450175.jpg
new file mode 100644
index 0000000..01f81b1
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1445418450175.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1445568698438.jpg b/S202014040230郭刘芊/atguigu/img/1445568698438.jpg
new file mode 100644
index 0000000..44d480e
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1445568698438.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1446607168578.jpg b/S202014040230郭刘芊/atguigu/img/1446607168578.jpg
new file mode 100644
index 0000000..9e3d91c
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1446607168578.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1447036942992.jpg b/S202014040230郭刘芊/atguigu/img/1447036942992.jpg
new file mode 100644
index 0000000..cb422c9
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1447036942992.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1447232577216.jpg b/S202014040230郭刘芊/atguigu/img/1447232577216.jpg
new file mode 100644
index 0000000..76ad577
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1447232577216.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1447239453626.jpg b/S202014040230郭刘芊/atguigu/img/1447239453626.jpg
new file mode 100644
index 0000000..3960e7e
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1447239453626.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1447732345223.jpg b/S202014040230郭刘芊/atguigu/img/1447732345223.jpg
new file mode 100644
index 0000000..8b5f47c
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1447732345223.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1447741774568.jpg b/S202014040230郭刘芊/atguigu/img/1447741774568.jpg
new file mode 100644
index 0000000..6954a3c
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1447741774568.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1447903575122.jpg b/S202014040230郭刘芊/atguigu/img/1447903575122.jpg
new file mode 100644
index 0000000..746367f
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1447903575122.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1447904724654.jpg b/S202014040230郭刘芊/atguigu/img/1447904724654.jpg
new file mode 100644
index 0000000..99e5710
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1447904724654.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1447999535316.jpg b/S202014040230郭刘芊/atguigu/img/1447999535316.jpg
new file mode 100644
index 0000000..9380617
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1447999535316.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1448549924430.jpg b/S202014040230郭刘芊/atguigu/img/1448549924430.jpg
new file mode 100644
index 0000000..6144fbc
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1448549924430.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1448610769178.jpg b/S202014040230郭刘芊/atguigu/img/1448610769178.jpg
new file mode 100644
index 0000000..6fadb97
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1448610769178.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1448613918568.jpg b/S202014040230郭刘芊/atguigu/img/1448613918568.jpg
new file mode 100644
index 0000000..da5703d
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1448613918568.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1448615420723.jpg b/S202014040230郭刘芊/atguigu/img/1448615420723.jpg
new file mode 100644
index 0000000..625043f
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1448615420723.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1448622974578.jpg b/S202014040230郭刘芊/atguigu/img/1448622974578.jpg
new file mode 100644
index 0000000..46aa2fc
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1448622974578.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1448941498675.jpg b/S202014040230郭刘芊/atguigu/img/1448941498675.jpg
new file mode 100644
index 0000000..589980b
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1448941498675.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1449715360061.jpg b/S202014040230郭刘芊/atguigu/img/1449715360061.jpg
new file mode 100644
index 0000000..1f60f61
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1449715360061.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1450433177397.jpg b/S202014040230郭刘芊/atguigu/img/1450433177397.jpg
new file mode 100644
index 0000000..4354ef1
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1450433177397.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1450754469244.jpg b/S202014040230郭刘芊/atguigu/img/1450754469244.jpg
new file mode 100644
index 0000000..956f708
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1450754469244.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1450859589972.jpg b/S202014040230郭刘芊/atguigu/img/1450859589972.jpg
new file mode 100644
index 0000000..e405c13
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1450859589972.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1451012249243.jpg b/S202014040230郭刘芊/atguigu/img/1451012249243.jpg
new file mode 100644
index 0000000..8c85d8e
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1451012249243.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1451892252653.jpg b/S202014040230郭刘芊/atguigu/img/1451892252653.jpg
new file mode 100644
index 0000000..6144fbc
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1451892252653.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1451967280855.jpg b/S202014040230郭刘芊/atguigu/img/1451967280855.jpg
new file mode 100644
index 0000000..44b386f
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1451967280855.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1452161899947.jpg b/S202014040230郭刘芊/atguigu/img/1452161899947.jpg
new file mode 100644
index 0000000..76ad577
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1452161899947.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1452570260015.jpg b/S202014040230郭刘芊/atguigu/img/1452570260015.jpg
new file mode 100644
index 0000000..b04d3c7
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1452570260015.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1452653909042.jpg b/S202014040230郭刘芊/atguigu/img/1452653909042.jpg
new file mode 100644
index 0000000..c713760
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1452653909042.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1452742997932.jpg b/S202014040230郭刘芊/atguigu/img/1452742997932.jpg
new file mode 100644
index 0000000..eca0d02
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1452742997932.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1453172839680.jpg b/S202014040230郭刘芊/atguigu/img/1453172839680.jpg
new file mode 100644
index 0000000..6fadb97
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1453172839680.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1453477900441.jpg b/S202014040230郭刘芊/atguigu/img/1453477900441.jpg
new file mode 100644
index 0000000..4b3c6a7
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1453477900441.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1453800011829.jpg b/S202014040230郭刘芊/atguigu/img/1453800011829.jpg
new file mode 100644
index 0000000..181e594
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1453800011829.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1453801249769.jpg b/S202014040230郭刘芊/atguigu/img/1453801249769.jpg
new file mode 100644
index 0000000..b94ad17
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1453801249769.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1453801322543.jpg b/S202014040230郭刘芊/atguigu/img/1453801322543.jpg
new file mode 100644
index 0000000..2173a3e
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1453801322543.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1453803545242.jpg b/S202014040230郭刘芊/atguigu/img/1453803545242.jpg
new file mode 100644
index 0000000..68b7c45
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1453803545242.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1453808102031.jpg b/S202014040230郭刘芊/atguigu/img/1453808102031.jpg
new file mode 100644
index 0000000..625043f
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1453808102031.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1453808433909.jpg b/S202014040230郭刘芊/atguigu/img/1453808433909.jpg
new file mode 100644
index 0000000..a19c287
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1453808433909.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1453808814639.jpg b/S202014040230郭刘芊/atguigu/img/1453808814639.jpg
new file mode 100644
index 0000000..9c345c5
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1453808814639.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1453951153356.jpg b/S202014040230郭刘芊/atguigu/img/1453951153356.jpg
new file mode 100644
index 0000000..ceee514
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1453951153356.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1453952341385.jpg b/S202014040230郭刘芊/atguigu/img/1453952341385.jpg
new file mode 100644
index 0000000..f9cc124
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1453952341385.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1453954210885.jpg b/S202014040230郭刘芊/atguigu/img/1453954210885.jpg
new file mode 100644
index 0000000..b54a9b2
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1453954210885.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1453965346657.jpg b/S202014040230郭刘芊/atguigu/img/1453965346657.jpg
new file mode 100644
index 0000000..358995f
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1453965346657.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1453965598031.jpg b/S202014040230郭刘芊/atguigu/img/1453965598031.jpg
new file mode 100644
index 0000000..1598857
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1453965598031.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1453965821848.jpg b/S202014040230郭刘芊/atguigu/img/1453965821848.jpg
new file mode 100644
index 0000000..2f4d1d7
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1453965821848.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1453972512018.jpg b/S202014040230郭刘芊/atguigu/img/1453972512018.jpg
new file mode 100644
index 0000000..82ae922
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1453972512018.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1453973020061.jpg b/S202014040230郭刘芊/atguigu/img/1453973020061.jpg
new file mode 100644
index 0000000..a4cec57
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1453973020061.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1453973531623.jpg b/S202014040230郭刘芊/atguigu/img/1453973531623.jpg
new file mode 100644
index 0000000..c643d1b
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1453973531623.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1455528800732.png b/S202014040230郭刘芊/atguigu/img/1455528800732.png
new file mode 100644
index 0000000..ae95d66
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1455528800732.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/1455610201833.png b/S202014040230郭刘芊/atguigu/img/1455610201833.png
new file mode 100644
index 0000000..8bb64f2
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1455610201833.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/1455610972270.png b/S202014040230郭刘芊/atguigu/img/1455610972270.png
new file mode 100644
index 0000000..d173bca
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1455610972270.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/1455766294751.jpg b/S202014040230郭刘芊/atguigu/img/1455766294751.jpg
new file mode 100644
index 0000000..c643d1b
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1455766294751.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1455775424896.jpg b/S202014040230郭刘芊/atguigu/img/1455775424896.jpg
new file mode 100644
index 0000000..0af6131
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1455775424896.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1456802841958.png b/S202014040230郭刘芊/atguigu/img/1456802841958.png
new file mode 100644
index 0000000..12a0de9
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1456802841958.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/1456803491198.png b/S202014040230郭刘芊/atguigu/img/1456803491198.png
new file mode 100644
index 0000000..57518fc
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1456803491198.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/1457323096680.jpg b/S202014040230郭刘芊/atguigu/img/1457323096680.jpg
new file mode 100644
index 0000000..31c0ce4
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1457323096680.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1457323196217.jpg b/S202014040230郭刘芊/atguigu/img/1457323196217.jpg
new file mode 100644
index 0000000..6b4bebe
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1457323196217.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1457504361484.jpg b/S202014040230郭刘芊/atguigu/img/1457504361484.jpg
new file mode 100644
index 0000000..cfbf706
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1457504361484.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1458044708337.jpg b/S202014040230郭刘芊/atguigu/img/1458044708337.jpg
new file mode 100644
index 0000000..bd9f886
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1458044708337.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1458101262670.jpg b/S202014040230郭刘芊/atguigu/img/1458101262670.jpg
new file mode 100644
index 0000000..6e73e61
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1458101262670.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1459131888532.jpg b/S202014040230郭刘芊/atguigu/img/1459131888532.jpg
new file mode 100644
index 0000000..b086fc9
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1459131888532.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1459135580746.jpg b/S202014040230郭刘芊/atguigu/img/1459135580746.jpg
new file mode 100644
index 0000000..aeda8ad
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1459135580746.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1459159615480.png b/S202014040230郭刘芊/atguigu/img/1459159615480.png
new file mode 100644
index 0000000..e6a2746
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1459159615480.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/1459219437816.png b/S202014040230郭刘芊/atguigu/img/1459219437816.png
new file mode 100644
index 0000000..c4ae251
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1459219437816.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/1459244102585.png b/S202014040230郭刘芊/atguigu/img/1459244102585.png
new file mode 100644
index 0000000..c4c595a
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1459244102585.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/1459245209430.png b/S202014040230郭刘芊/atguigu/img/1459245209430.png
new file mode 100644
index 0000000..5bdebdb
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1459245209430.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/1459325961533.jpg b/S202014040230郭刘芊/atguigu/img/1459325961533.jpg
new file mode 100644
index 0000000..0a24b2f
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1459325961533.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1460960946762.png b/S202014040230郭刘芊/atguigu/img/1460960946762.png
new file mode 100644
index 0000000..bce7710
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1460960946762.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/1461228273193.jpg b/S202014040230郭刘芊/atguigu/img/1461228273193.jpg
new file mode 100644
index 0000000..efe0d39
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1461228273193.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1461571069605.jpg b/S202014040230郭刘芊/atguigu/img/1461571069605.jpg
new file mode 100644
index 0000000..3ddd20c
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1461571069605.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1462352934101.jpg b/S202014040230郭刘芊/atguigu/img/1462352934101.jpg
new file mode 100644
index 0000000..29d1658
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1462352934101.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1462436113392.jpg b/S202014040230郭刘芊/atguigu/img/1462436113392.jpg
new file mode 100644
index 0000000..8b20d3b
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1462436113392.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1462530064674.jpg b/S202014040230郭刘芊/atguigu/img/1462530064674.jpg
new file mode 100644
index 0000000..f8d5f8c
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1462530064674.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1462531089095.jpg b/S202014040230郭刘芊/atguigu/img/1462531089095.jpg
new file mode 100644
index 0000000..d6783af
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1462531089095.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1463385771450.jpg b/S202014040230郭刘芊/atguigu/img/1463385771450.jpg
new file mode 100644
index 0000000..6c2d4c1
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1463385771450.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1464245798979.jpg b/S202014040230郭刘芊/atguigu/img/1464245798979.jpg
new file mode 100644
index 0000000..900915b
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1464245798979.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1464419271883.jpg b/S202014040230郭刘芊/atguigu/img/1464419271883.jpg
new file mode 100644
index 0000000..7f7480b
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1464419271883.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1464776087422.jpg b/S202014040230郭刘芊/atguigu/img/1464776087422.jpg
new file mode 100644
index 0000000..9975a47
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1464776087422.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1465268743242.jpg b/S202014040230郭刘芊/atguigu/img/1465268743242.jpg
new file mode 100644
index 0000000..189175f
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1465268743242.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1465295954097.jpg b/S202014040230郭刘芊/atguigu/img/1465295954097.jpg
new file mode 100644
index 0000000..9975a47
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1465295954097.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1465296158907.jpg b/S202014040230郭刘芊/atguigu/img/1465296158907.jpg
new file mode 100644
index 0000000..6224a57
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1465296158907.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1465296453463.jpg b/S202014040230郭刘芊/atguigu/img/1465296453463.jpg
new file mode 100644
index 0000000..3caa196
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1465296453463.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1466154447310.jpg b/S202014040230郭刘芊/atguigu/img/1466154447310.jpg
new file mode 100644
index 0000000..189175f
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1466154447310.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1466157188535.jpg b/S202014040230郭刘芊/atguigu/img/1466157188535.jpg
new file mode 100644
index 0000000..9975a47
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1466157188535.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1466157626768.jpg b/S202014040230郭刘芊/atguigu/img/1466157626768.jpg
new file mode 100644
index 0000000..4e6c01c
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1466157626768.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1466159282724.jpg b/S202014040230郭刘芊/atguigu/img/1466159282724.jpg
new file mode 100644
index 0000000..5037df8
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1466159282724.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1466159681694.jpg b/S202014040230郭刘芊/atguigu/img/1466159681694.jpg
new file mode 100644
index 0000000..cc577a9
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1466159681694.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1466160018941.jpg b/S202014040230郭刘芊/atguigu/img/1466160018941.jpg
new file mode 100644
index 0000000..82ae922
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1466160018941.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1466759461799.jpg b/S202014040230郭刘芊/atguigu/img/1466759461799.jpg
new file mode 100644
index 0000000..4e6c01c
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1466759461799.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1466759853976.jpg b/S202014040230郭刘芊/atguigu/img/1466759853976.jpg
new file mode 100644
index 0000000..edfa6c0
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1466759853976.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1467361365770.jpg b/S202014040230郭刘芊/atguigu/img/1467361365770.jpg
new file mode 100644
index 0000000..eb0ae79
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1467361365770.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1468840600394.jpg b/S202014040230郭刘芊/atguigu/img/1468840600394.jpg
new file mode 100644
index 0000000..1bb3cf5
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1468840600394.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1469173640233.jpg b/S202014040230郭刘芊/atguigu/img/1469173640233.jpg
new file mode 100644
index 0000000..841c750
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1469173640233.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1469184599346.jpg b/S202014040230郭刘芊/atguigu/img/1469184599346.jpg
new file mode 100644
index 0000000..9975a47
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1469184599346.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1469587052018.jpg b/S202014040230郭刘芊/atguigu/img/1469587052018.jpg
new file mode 100644
index 0000000..44e8f2c
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1469587052018.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1469772518639.jpg b/S202014040230郭刘芊/atguigu/img/1469772518639.jpg
new file mode 100644
index 0000000..1f60f61
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1469772518639.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1470711927785.jpg b/S202014040230郭刘芊/atguigu/img/1470711927785.jpg
new file mode 100644
index 0000000..82ae922
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1470711927785.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1470972860379.jpg b/S202014040230郭刘芊/atguigu/img/1470972860379.jpg
new file mode 100644
index 0000000..cc577a9
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1470972860379.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1471501055587.jpg b/S202014040230郭刘芊/atguigu/img/1471501055587.jpg
new file mode 100644
index 0000000..d6ea5e7
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1471501055587.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1471501518349.jpg b/S202014040230郭刘芊/atguigu/img/1471501518349.jpg
new file mode 100644
index 0000000..438fa3a
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1471501518349.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1472112184129.jpg b/S202014040230郭刘芊/atguigu/img/1472112184129.jpg
new file mode 100644
index 0000000..cc577a9
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1472112184129.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1474370572805.jpg b/S202014040230郭刘芊/atguigu/img/1474370572805.jpg
new file mode 100644
index 0000000..01ddee4
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1474370572805.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1475045805488.jpg b/S202014040230郭刘芊/atguigu/img/1475045805488.jpg
new file mode 100644
index 0000000..4c308d9
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1475045805488.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1475979038217.jpg b/S202014040230郭刘芊/atguigu/img/1475979038217.jpg
new file mode 100644
index 0000000..5037df8
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1475979038217.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1476170715116.jpg b/S202014040230郭刘芊/atguigu/img/1476170715116.jpg
new file mode 100644
index 0000000..208720d
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1476170715116.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1477360350123.png b/S202014040230郭刘芊/atguigu/img/1477360350123.png
new file mode 100644
index 0000000..399f498
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1477360350123.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/1477984921265.jpg b/S202014040230郭刘芊/atguigu/img/1477984921265.jpg
new file mode 100644
index 0000000..f20a058
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1477984921265.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1477984931882.jpg b/S202014040230郭刘芊/atguigu/img/1477984931882.jpg
new file mode 100644
index 0000000..97146fa
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1477984931882.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1478489000522.png b/S202014040230郭刘芊/atguigu/img/1478489000522.png
new file mode 100644
index 0000000..a2c574c
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1478489000522.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/1478489035167.png b/S202014040230郭刘芊/atguigu/img/1478489035167.png
new file mode 100644
index 0000000..e7eaf27
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1478489035167.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/1478489878735.png b/S202014040230郭刘芊/atguigu/img/1478489878735.png
new file mode 100644
index 0000000..eb4c4cf
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1478489878735.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/1478678511949.png b/S202014040230郭刘芊/atguigu/img/1478678511949.png
new file mode 100644
index 0000000..cb65d5b
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1478678511949.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/1478770583834.png b/S202014040230郭刘芊/atguigu/img/1478770583834.png
new file mode 100644
index 0000000..e9e9af3
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1478770583834.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/1478770583835.png b/S202014040230郭刘芊/atguigu/img/1478770583835.png
new file mode 100644
index 0000000..cb34d21
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1478770583835.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/1478770583836.png b/S202014040230郭刘芊/atguigu/img/1478770583836.png
new file mode 100644
index 0000000..9cd4bd4
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1478770583836.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/1478833408658.jpg b/S202014040230郭刘芊/atguigu/img/1478833408658.jpg
new file mode 100644
index 0000000..efe0d39
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1478833408658.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1478849792177.jpg b/S202014040230郭刘芊/atguigu/img/1478849792177.jpg
new file mode 100644
index 0000000..a19c287
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1478849792177.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1478850234799.jpg b/S202014040230郭刘芊/atguigu/img/1478850234799.jpg
new file mode 100644
index 0000000..6c2d4c1
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1478850234799.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/1478860081305.jpg b/S202014040230郭刘芊/atguigu/img/1478860081305.jpg
new file mode 100644
index 0000000..82e6466
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/1478860081305.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/act20161111 b/S202014040230郭刘芊/atguigu/img/act20161111
new file mode 100644
index 0000000..41a306c
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/img/act20161111
@@ -0,0 +1,427 @@
+
+
+
+ 二次元狂欢购物节-次元仓
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
11.11-11.13小仓带你嗨翻二次元狂欢购物节,心机仓为你们准备了两大玩法,分别是优惠券闪购和品牌折扣,优惠券加上折扣,这个实惠是妥妥的~
(小仓密语:活动期间购买次元仓自营商品送小仓贴纸)
+
+
+
+
+
+
+ -
+
+
60-20元
+ 二次元购物节
+ 特供优惠券
+
+
+
+
+
+
160-40元
+ 二次元购物节
+ 特供优惠券
+
+
+
+
+
+
300-80元
+ 二次元购物节
+ 特供优惠券
+
+
+
+
+
+
600-120元
+ 二次元购物节
+ 特供优惠券
+
+
+
+ 查看更多闪购商品
+
+
+
+
+
+
+

+
+
+
+
+
+
+

+
+
+
+
+
+
+
+

+
+
+
+
+
+
+
+
+
+
+
+
+

+
+
+
+
+
+
+
+
+
+
二次元购物节活动规则
+
1.二次元购物节活动时间: 11月10日18:00:00-11月13日23:59:59,活动期间,凡购买次元仓自营商品,发货时将免费赠送一张小仓专属定制贴纸。
+
2.二次元购物节活动期间,四种二次元购物节特供优惠券登陆闪购仓,分别是满60-20优惠券(5元购买可得,买满60元可用)、满160-40优惠券(5元购买可得,买满160元可用)、满300-80优惠券(10元购买可得,买满300元可得)和满600-120优惠券(20元购买可得,买满600元可用)。二次元购物节特供优惠券售卖时间: 11月10日18:00:00-11月13日23:59:59。
+
3.二次元购物节优惠券使用时间:11月10日18:00:00-11月13日23:59:59。
+
4.11月10日—11月13日二次元购物节活动期间,每个订单仅可叠加一张优惠券进行结算。
+
5.欧气大转盘活动期间(11月2日16:00:00-11月10日23:59:59) 用户通过欧气大转盘活动所抽中的优惠券可跨供应商使用,使用期限为11月10日18:00:00-11月13日23:59:59。
+
6.优惠券一经购买,即时充入用户账户中,用户可在“我的优惠券”一栏中查看。优惠券不接受折现和替换。
+
7.使用优惠券的订单不支持合并。
+
8.优惠券一经使用不予退回,若产生退换,金额按比例分摊,退款金额不超过实际支付金额。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/img/app/img/menu-carttoon.png b/S202014040230郭刘芊/atguigu/img/app/img/menu-carttoon.png
new file mode 100644
index 0000000..2dee776
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/app/img/menu-carttoon.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/app/img/menu-collect.png b/S202014040230郭刘芊/atguigu/img/app/img/menu-collect.png
new file mode 100644
index 0000000..e840eab
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/app/img/menu-collect.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/app/img/menu-cosplay.png b/S202014040230郭刘芊/atguigu/img/app/img/menu-cosplay.png
new file mode 100644
index 0000000..20c4d76
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/app/img/menu-cosplay.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/app/img/menu-cyc.png b/S202014040230郭刘芊/atguigu/img/app/img/menu-cyc.png
new file mode 100644
index 0000000..b663664
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/app/img/menu-cyc.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/app/img/menu-game.png b/S202014040230郭刘芊/atguigu/img/app/img/menu-game.png
new file mode 100644
index 0000000..ef4b75c
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/app/img/menu-game.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/app/img/menu-jewelry.png b/S202014040230郭刘芊/atguigu/img/app/img/menu-jewelry.png
new file mode 100644
index 0000000..3105c7b
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/app/img/menu-jewelry.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/app/img/menu-model.png b/S202014040230郭刘芊/atguigu/img/app/img/menu-model.png
new file mode 100644
index 0000000..7e67fd0
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/app/img/menu-model.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/app/img/menu-more.png b/S202014040230郭刘芊/atguigu/img/app/img/menu-more.png
new file mode 100644
index 0000000..91acdcd
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/app/img/menu-more.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/app/img/menu-oldage.png b/S202014040230郭刘芊/atguigu/img/app/img/menu-oldage.png
new file mode 100644
index 0000000..9bc4eba
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/app/img/menu-oldage.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/app/img/menu-snack.png b/S202014040230郭刘芊/atguigu/img/app/img/menu-snack.png
new file mode 100644
index 0000000..50276a3
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/app/img/menu-snack.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/app/img/menu-stationery.png b/S202014040230郭刘芊/atguigu/img/app/img/menu-stationery.png
new file mode 100644
index 0000000..ee5f9d8
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/app/img/menu-stationery.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/img/user_icon.png b/S202014040230郭刘芊/atguigu/img/img/user_icon.png
new file mode 100644
index 0000000..b12ff42
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/img/user_icon.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/oper/1478169868app.html b/S202014040230郭刘芊/atguigu/img/oper/1478169868app.html
new file mode 100644
index 0000000..83f8081
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/img/oper/1478169868app.html
@@ -0,0 +1,220 @@
+
+
+
+ 吃土汪福利专区之111.1专区
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+
+
+
+
+
+
+ -
+
+
+
+

+
【画影】现货 次元仓特供 小狐狸羽织--红黑款
+
¥111.10¥132.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
预售【MIXX】 神奇宝贝皮卡丘秋冬内搭卫衣
+
¥111.10¥338.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
预售【MIXX】仙子精灵软萌花边袖卫衣
+
¥111.10¥278.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
预售【MIXX】皮卡丘潮流卫衣
+
¥111.10¥279.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
福袋【桂】超值cos假发福袋 内含4件 限量40组
+
¥111.10¥290.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
【古怪舍】双11超值福袋!!
+
¥111.10¥111.10
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
现货【TUMO】背带裙套装 女式连衣裙
+
¥111.10¥198.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
现货【TUMO】 可爱软妹连衣裙动漫 星空魔法阵套装裙
+
¥111.10¥238.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
现货【Uwowo】机巧少女不会受伤cosplay服 振袖和服短裙 夜夜cos
+
¥111.10¥159.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
现货【Uwowo】lovelive 职业未觉醒 南小鸟 警察小鸟 cosplay服
+
¥111.10¥179.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
现货【Uwowo】lovelive 海军未觉醒 西木野真姬 cosplay服
+
¥111.10¥169.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
现货【Uwowo】刀剑乱舞cosplay服 物吉贞宗内番服cos 物吉内番cos
+
¥111.10¥199.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
【TUMO】兔魔王双11限量111元福袋 软妹服女装套装专属福袋!
+
¥111.10¥199.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
【南萌北逗】魔法补给箱 萌物 卡通动漫周边福袋双十一礼包
+
¥111.10¥999.90
+
+
立即购买
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/atguigu/img/oper/1478763176app.html b/S202014040230郭刘芊/atguigu/img/oper/1478763176app.html
new file mode 100644
index 0000000..56a0a02
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/img/oper/1478763176app.html
@@ -0,0 +1,268 @@
+
+
+
+ 吃土汪福利专区 黄金狗粮限量11.1元抢
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+
+
+
+
+
+
+ -
+
+
+
+

+
【绝对萌域】刀剑乱舞 亚克力Q版钥匙扣 挂件挂饰
+
¥11.10¥25.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
【绝对萌域】Love live! 人鱼SR 亚克力小挂件 绕线器
+
¥11.10¥25.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
【南萌北逗】被感染的魔法补给箱 卡通动漫周边福袋双十一礼包
+
¥11.10¥99.90
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
超软萌 兔叽/海豹/草莓 短围巾 卖萌神器
+
¥11.10¥38.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
【画影】日常发带 露秋 / 露寒 / 茜茸
+
¥11.10¥20.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
【画影】 古风原创发带
+
¥11.10¥20.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
【喵鹿酱】Girlwill正品 萌系手机支架 糖果天使&恶魔 守护之翼 自带镜子
+
¥11.10¥26.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
Bandai万代正版扭蛋玩具带花环的小动物挂饰仓鼠猫咪小狗挂件
+
¥11.10¥15.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
Bandai万代正版扭蛋玩具 挂件 Anikora COS 2小狗造型吊饰
+
¥11.10¥15.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
Epoch正版扭蛋玩具招财猫想睡觉篇懒懒的猫咪宠物猫造型摆件
+
¥11.10¥15.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
Epoch正版扭蛋玩具 猫咪喝奶时间吊饰 小喵喵在吃饭奶瓶挂件
+
¥11.10¥15.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
TOMY多美正版扭蛋玩具 麻糬的日常生活草饼点心饭团造型挂件
+
¥11.10¥15.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
【官方正版】蛋黄哥文具用品 TOMY多美卡正版扭蛋 懒蛋蛋
+
¥11.10¥15.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
【官方正版】 火影忍者 The Last剧场版 橡胶挂件 扭蛋
+
¥11.10¥18.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
【官方正版】Takaratomy 夏目友人帐 猫老师酒樽 醉酒扭蛋
+
¥11.10¥15.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
【喵鹿酱】手绘 日常 小清新 古风 发带 三款可选
+
¥11.10¥19.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
【喵鹿酱】Girlwill 诞生月栽培 创意办公室 DIY植物
+
¥11.10¥25.00
+
+
立即购买
+
+
+
+ -
+
+
+
+

+
【喵鹿酱】Girlwill 水瓶栽培夏日驱蚊香草 创意办公室植物
+
¥11.10¥40.00
+
+
立即购买
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S202014040230郭刘芊/atguigu/img/operation/img/1478169868/1478761370286.png b/S202014040230郭刘芊/atguigu/img/operation/img/1478169868/1478761370286.png
new file mode 100644
index 0000000..ced27d3
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/operation/img/1478169868/1478761370286.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/operation/img/1478763176/1478762941492.png b/S202014040230郭刘芊/atguigu/img/operation/img/1478763176/1478762941492.png
new file mode 100644
index 0000000..37c41db
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/operation/img/1478763176/1478762941492.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446016297307.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016297307.jpg
new file mode 100644
index 0000000..5af1b1f
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016297307.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446016509141.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016509141.jpg
new file mode 100644
index 0000000..fb3aaf2
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016509141.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446016631439.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016631439.jpg
new file mode 100644
index 0000000..e6300f3
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016631439.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446016650875.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016650875.jpg
new file mode 100644
index 0000000..392ee9a
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016650875.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446016673365.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016673365.jpg
new file mode 100644
index 0000000..87edfff
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016673365.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446016713541.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016713541.jpg
new file mode 100644
index 0000000..5dd569b
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016713541.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446016728621.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016728621.jpg
new file mode 100644
index 0000000..bd77a7b
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016728621.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446016762275.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016762275.jpg
new file mode 100644
index 0000000..4157bc3
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016762275.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446016784975.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016784975.jpg
new file mode 100644
index 0000000..0206604
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016784975.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446016836847.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016836847.jpg
new file mode 100644
index 0000000..328083c
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016836847.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446016851701.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016851701.jpg
new file mode 100644
index 0000000..514ff61
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016851701.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446016874422.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016874422.jpg
new file mode 100644
index 0000000..c1b812d
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016874422.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446016891091.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016891091.jpg
new file mode 100644
index 0000000..14c9aa9
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016891091.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446016906565.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016906565.jpg
new file mode 100644
index 0000000..a98ce58
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016906565.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446016944877.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016944877.jpg
new file mode 100644
index 0000000..6765f3b
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016944877.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446016961418.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016961418.jpg
new file mode 100644
index 0000000..28be2d7
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016961418.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446016974517.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016974517.jpg
new file mode 100644
index 0000000..0c23fcf
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016974517.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446016989168.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016989168.jpg
new file mode 100644
index 0000000..bf8d385
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446016989168.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017012089.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017012089.jpg
new file mode 100644
index 0000000..64ab2a1
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017012089.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017029488.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017029488.jpg
new file mode 100644
index 0000000..93de71b
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017029488.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017074190.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017074190.jpg
new file mode 100644
index 0000000..1960015
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017074190.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017110058.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017110058.jpg
new file mode 100644
index 0000000..370a220
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017110058.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017158779.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017158779.jpg
new file mode 100644
index 0000000..29bb598
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017158779.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017175586.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017175586.jpg
new file mode 100644
index 0000000..104f87a
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017175586.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017226590.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017226590.jpg
new file mode 100644
index 0000000..693d839
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017226590.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017259628.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017259628.jpg
new file mode 100644
index 0000000..df5ec8a
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017259628.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017278468.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017278468.jpg
new file mode 100644
index 0000000..0e39b06
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017278468.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017289189.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017289189.jpg
new file mode 100644
index 0000000..36d6296
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017289189.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017305527.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017305527.jpg
new file mode 100644
index 0000000..aa55cec
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017305527.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017320396.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017320396.jpg
new file mode 100644
index 0000000..57542d0
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017320396.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017336258.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017336258.jpg
new file mode 100644
index 0000000..6046d10
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017336258.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017382141.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017382141.jpg
new file mode 100644
index 0000000..95d356e
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017382141.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017408013.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017408013.jpg
new file mode 100644
index 0000000..6981568
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017408013.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017422349.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017422349.jpg
new file mode 100644
index 0000000..5ba8994
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017422349.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017444813.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017444813.jpg
new file mode 100644
index 0000000..4aa6e38
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017444813.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017464778.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017464778.jpg
new file mode 100644
index 0000000..e1e55e0
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017464778.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017524434.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017524434.jpg
new file mode 100644
index 0000000..cddea72
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017524434.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017570261.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017570261.jpg
new file mode 100644
index 0000000..e4ee976
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017570261.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017583897.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017583897.jpg
new file mode 100644
index 0000000..26f524d
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017583897.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017608030.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017608030.jpg
new file mode 100644
index 0000000..a561669
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017608030.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017628543.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017628543.jpg
new file mode 100644
index 0000000..897c7e1
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017628543.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017713072.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017713072.jpg
new file mode 100644
index 0000000..5981f7e
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017713072.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017725424.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017725424.jpg
new file mode 100644
index 0000000..5a2d151
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017725424.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017744373.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017744373.jpg
new file mode 100644
index 0000000..5445829
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017744373.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017786075.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017786075.jpg
new file mode 100644
index 0000000..1a09836
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017786075.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017802214.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017802214.jpg
new file mode 100644
index 0000000..95286bd
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017802214.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017835551.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017835551.jpg
new file mode 100644
index 0000000..a85859a
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017835551.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017867549.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017867549.jpg
new file mode 100644
index 0000000..8db77da
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017867549.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017886090.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017886090.jpg
new file mode 100644
index 0000000..c9ce16f
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017886090.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017897843.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017897843.jpg
new file mode 100644
index 0000000..00c194e
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017897843.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017920333.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017920333.jpg
new file mode 100644
index 0000000..c3945ed
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017920333.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017931323.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017931323.jpg
new file mode 100644
index 0000000..9701df5
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017931323.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017947046.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017947046.jpg
new file mode 100644
index 0000000..30f5a56
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017947046.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446017977747.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017977747.jpg
new file mode 100644
index 0000000..0297bae
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446017977747.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446018023668.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446018023668.jpg
new file mode 100644
index 0000000..64b2598
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446018023668.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446018040491.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446018040491.jpg
new file mode 100644
index 0000000..ce6d02b
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446018040491.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446018052794.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446018052794.jpg
new file mode 100644
index 0000000..bd4f197
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446018052794.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446018101470.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446018101470.jpg
new file mode 100644
index 0000000..ea49054
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446018101470.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1446444753067.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1446444753067.jpg
new file mode 100644
index 0000000..a75ea60
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1446444753067.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1449216802403.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1449216802403.jpg
new file mode 100644
index 0000000..6ca73a2
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1449216802403.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1449660841905.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1449660841905.jpg
new file mode 100644
index 0000000..db48d97
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1449660841905.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1449660885387.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1449660885387.jpg
new file mode 100644
index 0000000..c7e13a4
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1449660885387.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1449828955995.png b/S202014040230郭刘芊/atguigu/img/product_catalog/1449828955995.png
new file mode 100644
index 0000000..eeb39ba
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1449828955995.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1450682473783.png b/S202014040230郭刘芊/atguigu/img/product_catalog/1450682473783.png
new file mode 100644
index 0000000..26e1157
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1450682473783.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1454060084922.png b/S202014040230郭刘芊/atguigu/img/product_catalog/1454060084922.png
new file mode 100644
index 0000000..2b86b68
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1454060084922.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1454061108683.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1454061108683.jpg
new file mode 100644
index 0000000..24bed45
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1454061108683.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1454061759825.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1454061759825.jpg
new file mode 100644
index 0000000..349c8fd
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1454061759825.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1454484273989.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1454484273989.jpg
new file mode 100644
index 0000000..4ca386c
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1454484273989.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1461642090192.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1461642090192.jpg
new file mode 100644
index 0000000..e1d3966
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1461642090192.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1461814801527.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1461814801527.jpg
new file mode 100644
index 0000000..383c207
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1461814801527.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1465383063303.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1465383063303.jpg
new file mode 100644
index 0000000..4ca386c
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1465383063303.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1465383093721.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1465383093721.jpg
new file mode 100644
index 0000000..f7ceed4
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1465383093721.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1465383117300.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1465383117300.jpg
new file mode 100644
index 0000000..74c4670
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1465383117300.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1465384002640.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1465384002640.jpg
new file mode 100644
index 0000000..bd404b2
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1465384002640.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1465384012358.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1465384012358.jpg
new file mode 100644
index 0000000..4ca386c
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1465384012358.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1465808719970.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1465808719970.jpg
new file mode 100644
index 0000000..ddad281
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1465808719970.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1468306500168.jpg b/S202014040230郭刘芊/atguigu/img/product_catalog/1468306500168.jpg
new file mode 100644
index 0000000..2b0c5e5
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1468306500168.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/product_catalog/1469183837648.png b/S202014040230郭刘芊/atguigu/img/product_catalog/1469183837648.png
new file mode 100644
index 0000000..26e1157
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/product_catalog/1469183837648.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/supplier/1467687105197.jpg b/S202014040230郭刘芊/atguigu/img/supplier/1467687105197.jpg
new file mode 100644
index 0000000..9e22667
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/supplier/1467687105197.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/supplier/1467702094592.jpg b/S202014040230郭刘芊/atguigu/img/supplier/1467702094592.jpg
new file mode 100644
index 0000000..ae1e519
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/supplier/1467702094592.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/supplier/1469436115002.jpg b/S202014040230郭刘芊/atguigu/img/supplier/1469436115002.jpg
new file mode 100644
index 0000000..06d1a71
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/supplier/1469436115002.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/supplier/1469436287434.jpg b/S202014040230郭刘芊/atguigu/img/supplier/1469436287434.jpg
new file mode 100644
index 0000000..43ac9be
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/supplier/1469436287434.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/supplier/1471315793182.jpg b/S202014040230郭刘芊/atguigu/img/supplier/1471315793182.jpg
new file mode 100644
index 0000000..be359cc
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/supplier/1471315793182.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/supplier/1478867468462.jpg b/S202014040230郭刘芊/atguigu/img/supplier/1478867468462.jpg
new file mode 100644
index 0000000..2a74cdc
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/supplier/1478867468462.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/supplier/1478873369497.jpg b/S202014040230郭刘芊/atguigu/img/supplier/1478873369497.jpg
new file mode 100644
index 0000000..43ac9be
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/supplier/1478873369497.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/supplier/1478873740576.jpg b/S202014040230郭刘芊/atguigu/img/supplier/1478873740576.jpg
new file mode 100644
index 0000000..9e22667
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/supplier/1478873740576.jpg differ
diff --git a/S202014040230郭刘芊/atguigu/img/ugc/post/img/201609/14736747792594015.png b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201609/14736747792594015.png
new file mode 100644
index 0000000..47fcd23
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201609/14736747792594015.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/ugc/post/img/201609/14746252609717297.png b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201609/14746252609717297.png
new file mode 100644
index 0000000..09d0911
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201609/14746252609717297.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/ugc/post/img/201609/14751401203006663.png b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201609/14751401203006663.png
new file mode 100644
index 0000000..f9f167d
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201609/14751401203006663.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/14786815026026582.png b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/14786815026026582.png
new file mode 100644
index 0000000..9042d81
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/14786815026026582.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/14788481411252582.jpeg b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/14788481411252582.jpeg
new file mode 100644
index 0000000..4c96fbb
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/14788481411252582.jpeg differ
diff --git a/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/14789215131699196.jpeg b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/14789215131699196.jpeg
new file mode 100644
index 0000000..321db6f
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/14789215131699196.jpeg differ
diff --git a/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/1478921704069437.jpeg b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/1478921704069437.jpeg
new file mode 100644
index 0000000..0d19652
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/1478921704069437.jpeg differ
diff --git a/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/14789239838413293.jpeg b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/14789239838413293.jpeg
new file mode 100644
index 0000000..3bf7370
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/14789239838413293.jpeg differ
diff --git a/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/14789268972077411.jpeg b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/14789268972077411.jpeg
new file mode 100644
index 0000000..f7d46e6
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/14789268972077411.jpeg differ
diff --git a/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/14789355052991819.jpeg b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/14789355052991819.jpeg
new file mode 100644
index 0000000..33cee43
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/ugc/post/img/201611/14789355052991819.jpeg differ
diff --git a/S202014040230郭刘芊/atguigu/img/ugc/user/avatar/14602584403004045.png b/S202014040230郭刘芊/atguigu/img/ugc/user/avatar/14602584403004045.png
new file mode 100644
index 0000000..f79308a
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/ugc/user/avatar/14602584403004045.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/ugc/user/avatar/14611224500881026.jpeg b/S202014040230郭刘芊/atguigu/img/ugc/user/avatar/14611224500881026.jpeg
new file mode 100644
index 0000000..6511551
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/ugc/user/avatar/14611224500881026.jpeg differ
diff --git a/S202014040230郭刘芊/atguigu/img/ugc/user/avatar/14651924470798522.png b/S202014040230郭刘芊/atguigu/img/ugc/user/avatar/14651924470798522.png
new file mode 100644
index 0000000..f79308a
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/ugc/user/avatar/14651924470798522.png differ
diff --git a/S202014040230郭刘芊/atguigu/img/ugc/user/avatar/14664121254125921.jpeg b/S202014040230郭刘芊/atguigu/img/ugc/user/avatar/14664121254125921.jpeg
new file mode 100644
index 0000000..6511551
Binary files /dev/null and b/S202014040230郭刘芊/atguigu/img/ugc/user/avatar/14664121254125921.jpeg differ
diff --git a/S202014040230郭刘芊/atguigu/json/ACCESSORY_URL.json b/S202014040230郭刘芊/atguigu/json/ACCESSORY_URL.json
new file mode 100644
index 0000000..e53c134
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/ACCESSORY_URL.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":[{"p_catalog_id":"69","parent_id":"0","name":"\u914d\u4ef6","pic":"","is_deleted":"0","child":[{"p_catalog_id":"70","parent_id":"69","name":"\u5e3d\u5b50","pic":"\/product_catalog\/1446017867549.jpg","is_deleted":"0"},{"p_catalog_id":"105","parent_id":"69","name":"\u56f4\u5dfe","pic":"\/product_catalog\/1461642090192.jpg","is_deleted":"0"},{"p_catalog_id":"71","parent_id":"69","name":"\u914d\u9970","pic":"\/product_catalog\/1446017886090.jpg","is_deleted":"0"},{"p_catalog_id":"72","parent_id":"69","name":"\u624b\u8868","pic":"\/product_catalog\/1446017897843.jpg","is_deleted":"0"},{"p_catalog_id":"73","parent_id":"69","name":"\u9996\u9970","pic":"\/product_catalog\/1446017920333.jpg","is_deleted":"0"},{"p_catalog_id":"74","parent_id":"69","name":"\u978b\u5b50","pic":"\/product_catalog\/1446017931323.jpg","is_deleted":"0"},{"p_catalog_id":"84","parent_id":"69","name":"\u889c\u5b50","pic":"\/product_catalog\/1446017947046.jpg","is_deleted":"0"}],"hot_product_list":[{"product_id":"8312","channel_id":"3","brand_id":"72","p_catalog_id":"71","supplier_type":"1","supplier_code":"300011","name":"\u3010\u827e\u6f2b\u3011\u5168\u804c\u9ad8\u624b-\u590f\u65e5\u6c34\u624b\u670d\u5fbd\u7ae0\u5957","cover_price":"30.00","brief":"\u5230\u8d27\u5566~","figure":"\/1469184599346.jpg","sell_time_start":"1469116800","sell_time_end":"1469721600"},{"product_id":"3831","channel_id":"8","brand_id":"429","p_catalog_id":"84","supplier_type":"1","supplier_code":"1101035","name":"\u3010\u55b5\u9e7f\u9171\u3011\u8d85\u840c \u5047\u900f\u8089 \u62fc\u63a5 \u8e29\u811a\u8fc7\u819d\u6253\u5e95\u889c \u88e4\u889c-\u52a0\u7ed2\u4fdd\u6696","cover_price":"29.00","brief":"","figure":"\/1452161899947.jpg","sell_time_start":"1477563362","sell_time_end":"1452182400"},{"product_id":"1969","channel_id":"6","brand_id":"80","p_catalog_id":"71","supplier_type":"1","supplier_code":"1101037","name":"\u3010\u753b\u5f71\u3011\u53e4\u98ce \u5934\u9970 Lolita \u7f8a\u5c3e\u5df4 \u88c5\u9970\u6bdb\u94b1\u6d41\u82cf\u53d1\u5939","cover_price":"12.00","brief":"","figure":"\/1443527992618.jpg","sell_time_start":"1443456000","sell_time_end":"1444060800"},{"product_id":"3845","channel_id":"8","brand_id":"183","p_catalog_id":"70","supplier_type":"2","supplier_code":"100003","name":"\u9884\u552e \u3010\u4e16\u754c\u7ebf\u7684\u5f7c\u5cb8\u3011\u70b8\u9e21\u5757 \u989c\u6587\u5b57 \u7f8a\u6bdb\u5462\u8d1d\u96f7\u5e3d \u5706\u6da6\u70e7\u997c\u5e3d \u4fdd\u6696","cover_price":"49.00","brief":"","figure":"\/1451967280855.jpg","sell_time_start":"1451923200","sell_time_end":"1452528000"},{"product_id":"1752","channel_id":"12","brand_id":"3","p_catalog_id":"73","supplier_type":"1","supplier_code":"0","name":"\u5251\u7f513\u95e8\u6d3e\u884d\u751f\u540c\u4eba\u539f\u521b\u624b\u94fe ","cover_price":"68.00","brief":"","figure":"\/1450754469244.jpg","sell_time_start":"1443024000","sell_time_end":"1443628800"},{"product_id":"4947","channel_id":"8","brand_id":"5","p_catalog_id":"71","supplier_type":"2","supplier_code":"1101026","name":"\u3010USEE\u54df\u559c\u3011 \u539f\u521b\u7eb9\u8eab\u8d34\u9632\u6c34 \u9ed1\u767d\u5f69\u8272\u6301\u4e45\u7537\u5973\u68ee\u5973\u8774\u8776\u9e7f \u7279\u60e0\u5957\u88c5","cover_price":"22.00","brief":"","figure":"\/1467361365770.jpg","sell_time_start":"1456848000","sell_time_end":"1457452800"}]}]}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/BAG_URL.json b/S202014040230郭刘芊/atguigu/json/BAG_URL.json
new file mode 100644
index 0000000..c325550
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/BAG_URL.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":[{"p_catalog_id":"75","parent_id":"0","name":"\u5305\u5305","pic":"","is_deleted":"0","child":[{"p_catalog_id":"76","parent_id":"75","name":"\u5973\u5305","pic":"\/product_catalog\/1446017977747.jpg","is_deleted":"0"},{"p_catalog_id":"82","parent_id":"75","name":"\u5355\u80a9\u5305","pic":"\/product_catalog\/1446018101470.jpg","is_deleted":"0"},{"p_catalog_id":"104","parent_id":"75","name":"\u5176\u4ed6","pic":"\/product_catalog\/1465384002640.jpg","is_deleted":"0"},{"p_catalog_id":"77","parent_id":"75","name":"\u94b1\u5305","pic":"\/product_catalog\/1446018023668.jpg","is_deleted":"0"},{"p_catalog_id":"78","parent_id":"75","name":"\u5e06\u5e03\u888b","pic":"\/product_catalog\/1446018040491.jpg","is_deleted":"0"},{"p_catalog_id":"79","parent_id":"75","name":"\u80cc\u5305","pic":"\/product_catalog\/1446018052794.jpg","is_deleted":"0"},{"p_catalog_id":"97","parent_id":"75","name":"\u62c9\u7bb1","pic":"\/product_catalog\/1449660841905.jpg","is_deleted":"0"}],"hot_product_list":[{"product_id":"2944","channel_id":"4","brand_id":"3","p_catalog_id":"77","supplier_type":"1","supplier_code":"1101036","name":"\u3010\u5c0f\u8ff7\u5154\u3011\u5251\u7f513 \u5251\u4e09\u5468\u8fb9 \u8f6f\u9762\u62c9\u94fe\u96f6\u94b1\u5305 \u5973\u5f0f\u624b\u62ff\u5305\u5305 \u4e10\u5e2e\u9152\u58f6","cover_price":"33.15","brief":"","figure":"\/1447999535316.jpg","sell_time_start":"1478772000","sell_time_end":"1448553600"},{"product_id":"7228","channel_id":"8","brand_id":"234","p_catalog_id":"82","supplier_type":"2","supplier_code":"2101001","name":"\u3010\u53e4\u602a\u820d\u3011 \u539f\u521b \u65e5\u5f0f\u548c\u98ce \u5355\u80a9\u659c\u630e\u5305 \u5973\u5f0f\u5370\u82b1\u80cc\u5305 A103","cover_price":"40.00","brief":"\u9884\u552e\u52307\u6708\u4e0b\u65ec","figure":"\/1466154447310.jpg","sell_time_start":"1478772000","sell_time_end":"1466697600"},{"product_id":"2879","channel_id":"8","brand_id":"178","p_catalog_id":"76","supplier_type":"2","supplier_code":"1101003","name":"ISOS\u539f\u521b\u68ee\u7cfb\u751c\u7f8e\u5370\u82b1\u5355\u80a9\u659c\u630e\u5305\u5c0f\u65b9\u5305","cover_price":"59.00","brief":"","figure":"\/1447903575122.jpg","sell_time_start":"1447862400","sell_time_end":"1448467200"},{"product_id":"2654","channel_id":"3","brand_id":"191","p_catalog_id":"76","supplier_type":"2","supplier_code":"1101004","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u8bf7\u95ee\u60a8\u4eca\u5929\u8981\u6765\u70b9\u5154\u5b50\u5417 \u667a\u4e43 \u8ff7\u4f60\u5355\u80a9\u659c\u630e\u5c0f\u5305","cover_price":"43.12","brief":"","figure":"\/1450859589972.jpg","sell_time_start":"1478772000","sell_time_end":"1447603200"},{"product_id":"3404","channel_id":"3","brand_id":"69","p_catalog_id":"82","supplier_type":"1","supplier_code":"0","name":"[\u6563\u6f2b\u820d]\u602a\u7269\u730e\u4eba4 \u827e\u9732\u732b \u732b\u722a\u5207\u7247 \u80cc\u5305 \u5355\u80a9\u5305 \u659c\u8de8\u5305","cover_price":"79.00","brief":"\u672c\u5546\u54c1\u7531\u6563\u6f2b\u820d\u63d0\u4f9b\uff0c5\u4e2a\u5de5\u4f5c\u65e5\u5185\u53d1\u8d27","figure":"\/1449715360061.jpg","sell_time_start":"1449676800","sell_time_end":"1450281600"},{"product_id":"6414","channel_id":"4","brand_id":"3","p_catalog_id":"77","supplier_type":"1","supplier_code":"1101036","name":"\u3010\u5c0f\u8ff7\u5154\u3011\u5251\u7f513\u5251\u4e09\u5468\u8fb9 \u65b0\u5ba0\u5361\u901a\u95e8\u6d3e\u96f6\u94b1\u5305 \u5c0f\u94b1\u5305 \u5973\u58eb\u5305","cover_price":"15.00","brief":"","figure":"\/1469587052018.jpg","sell_time_start":"1462896000","sell_time_end":"1463500800"}]}]}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/CALL_CENTER.json b/S202014040230郭刘芊/atguigu/json/CALL_CENTER.json
new file mode 100644
index 0000000..8b22f33
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/CALL_CENTER.json
@@ -0,0 +1 @@
+在线咨询
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/CLOSE_STORE.json b/S202014040230郭刘芊/atguigu/json/CLOSE_STORE.json
new file mode 100644
index 0000000..bd9a3ee
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/CLOSE_STORE.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"6633","origin_price":"132.00","channel_id":"8","brand_id":"394","p_catalog_id":"67","supplier_type":"2","supplier_code":"1101037","name":"\u3010\u753b\u5f71\u3011\u73b0\u8d27 \u5c0f\u72d0\u72f8\u7fbd\u7ec7 ","cover_price":"132.00","brief":"\u7ea2\u9ed1\u6b3e\u662f\u73b0\u8d27\u54e6\u00b7~\u73b0\u8d27\u4e0d\u914d\u9001\u53d1\u5e26~~\u7ea2\u9ed1\u6b3e\u662f\u73b0\u8d27\u54e6\u00b7~\u73b0\u8d27\u4e0d\u914d\u9001\u53d1\u5e26~~\u7ea2\u9ed1\u6b3e\u662f\u73b0\u8d27\u54e6\u00b7~\u73b0\u8d27\u4e0d\u914d\u9001\u53d1\u5e26~~ \u91cd\u8981\u7684\u4e8b\u60c5\u8bf4\u4e09\u6b21~","figure":"\/1466759461799.jpg","sell_time_start":"1464019200","sell_time_end":"1464624000"},{"product_id":"3831","origin_price":"54.00","channel_id":"8","brand_id":"429","p_catalog_id":"84","supplier_type":"1","supplier_code":"1101035","name":"\u3010\u55b5\u9e7f\u9171\u3011\u8d85\u840c \u5047\u900f\u8089 \u62fc\u63a5 \u8e29\u811a\u8fc7\u819d\u6253\u5e95\u889c \u88e4\u889c-\u52a0\u7ed2\u4fdd\u6696","cover_price":"29.00","brief":"","figure":"\/1452161899947.jpg","sell_time_start":"1477563362","sell_time_end":"1452182400"},{"product_id":"6634","origin_price":"98.00","channel_id":"8","brand_id":"5","p_catalog_id":"88","supplier_type":"2","supplier_code":"1101037","name":"\u3010\u753b\u5f71\u3011\u5c0f\u72d0\u72f8\u77ed\u88d9","cover_price":"98.00","brief":"\u7ea2\u9ed1\u77ed\u88d9\u662f\u73b0\u8d27\u54e6~","figure":"\/1466759853976.jpg","sell_time_start":"1464019200","sell_time_end":"1464624000"},{"product_id":"3845","origin_price":"49.00","channel_id":"8","brand_id":"183","p_catalog_id":"70","supplier_type":"2","supplier_code":"100003","name":"\u9884\u552e \u3010\u4e16\u754c\u7ebf\u7684\u5f7c\u5cb8\u3011\u70b8\u9e21\u5757 \u989c\u6587\u5b57 \u7f8a\u6bdb\u5462\u8d1d\u96f7\u5e3d \u5706\u6da6\u70e7\u997c\u5e3d \u4fdd\u6696","cover_price":"49.00","brief":"","figure":"\/1451967280855.jpg","sell_time_start":"1451923200","sell_time_end":"1452528000"},{"product_id":"4947","origin_price":"22.00","channel_id":"8","brand_id":"5","p_catalog_id":"71","supplier_type":"2","supplier_code":"1101026","name":"\u3010USEE\u54df\u559c\u3011 \u539f\u521b\u7eb9\u8eab\u8d34\u9632\u6c34 \u9ed1\u767d\u5f69\u8272\u6301\u4e45\u7537\u5973\u68ee\u5973\u8774\u8776\u9e7f \u7279\u60e0\u5957\u88c5","cover_price":"22.00","brief":"","figure":"\/1467361365770.jpg","sell_time_start":"1456848000","sell_time_end":"1457452800"},{"product_id":"6969","origin_price":"68.00","channel_id":"8","brand_id":"403","p_catalog_id":"29","supplier_type":"2","supplier_code":"100015","name":"\u3010\u6d89\u5ddd\u539f\u521b\u3011\u5468\u8fb9\u5c0f\u7269 \u624b\u611f\u8d85\u597d\u8d85\u840c\u7684\u5154\u6bdb\u5c0f\u5154\u7eb8\u5305\u6302\/\u6bdb\u7ed2\u73a9\u5076","cover_price":"68.00","brief":"\u5154\u5154\u521a\u5230\u624b\u4f1a\u6709\u6d6e\u6bdb\uff0c\u591a\u62cd\u62cd\u6296\u6296\u5439\u5439\u63c9\u63c9\u5c31\u597d\u5566(","figure":"\/1465620442251.jpg","sell_time_start":"1465574400","sell_time_end":"1466179200"},{"product_id":"4628","origin_price":"142.00","channel_id":"8","brand_id":"5","p_catalog_id":"56","supplier_type":"2","supplier_code":"1201001","name":"\u3010\u6f2b\u8e2a\u3011 \u539f\u521b\u53ef\u7231\u840c\u732b\u54aa\u5927\u4eba \u7acb\u4f53\u732b\u5c3eT\u6064 \u857e\u4e1d\u82b1\u8fb9\u5973","cover_price":"79.00","brief":"","figure":"\/1461571069605.jpg","sell_time_start":"1455638400","sell_time_end":"1456243200"},{"product_id":"3571","origin_price":"287.00","channel_id":"8","brand_id":"259","p_catalog_id":"12","supplier_type":"2","supplier_code":"1801005","name":"\u3010INFANTA.\u5a74\u68b5\u5854\u3011\u5b66\u9662\u98ce\u5c16\u9886\u5916\u5957\/\u5927\u8863","cover_price":"287.00","brief":"","figure":"\/1450433177397.jpg","sell_time_start":"1450368000","sell_time_end":"1450972800"},{"product_id":"589","origin_price":"458.00","channel_id":"8","brand_id":"266","p_catalog_id":"12","supplier_type":"2","supplier_code":"1801001","name":"\u5b9a\u5236\u3010Neverland \u539f\u521b\u3011\u76f4\u53d1 \u70eb\u91d1lolita \u4eba\u9c7c\u4e4b\u6b4c \u9ad8\u8170JSK\u8fde\u8863\u88d9","cover_price":"403.04","brief":"45\u5929\u5de5\u671f","figure":"\/1438772068067.jpg","sell_time_start":"1478772000","sell_time_end":"1439308800"},{"product_id":"5970","origin_price":"138.00","channel_id":"8","brand_id":"356","p_catalog_id":"91","supplier_type":"2","supplier_code":"1101004","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011 \u9ed1\u767d\u732b\u54aa \u9ed1\u55b5\u54aa \u77ed\u8896\u8fde\u8863\u88d9","cover_price":"121.44","brief":"\u732b\u54aa\u662f\u795e\u79d8\u7684\u5c0f\u52a8\u7269\u3002\u4f20\u8bf4\u5b83\u4eec\u80fd\u901a\u7075\u548c\u9a71\u9b54\uff0c\u7ed9\u4e3b\u4eba\u5e26\u6765\u597d\u8fd0\u3002\u53ef\u732b\u54aa\u4e5f\u88ab\u8ba4\u4e3a\u662f\u5973\u5deb\u5f79\u4f7f\u7684\u90aa\u6076\u7cbe\u7075\uff0c\u662f\u6076\u9b54\u7684\u5316\u8eab\u3002\u840c\u57df\u4e3a\u7231\u7f8e\u53c8\u7565\u5fae\u4e2d\u4e8c\u7684\u5b85MM\u4eec\uff0c\u8bbe\u8ba1\u4e86\u9ed1\u732b\u3001\u767d\u732b\u4e3b\u9898\u88d9\u88c5\uff0c\u4e0d\u540c\u7684\u98ce\u683c\u3001\u4e00\u6837\u7684\u53ef\u7231\u3002\u767d\u732b\u5957\u88c5\u7a7f\u4e0a\u6027\u611f\u4fcf\u76ae\uff0c\u9ed1\u8272\u8fde\u8863\u88d9\u8ba9\u4f60\u50cf\u732b\u54aa\u4e00\u6837\u4f18\u96c5\u53c8\u6709\u6c14\u8d28\u3002","figure":"\/1463385771450.jpg","sell_time_start":"1478772000","sell_time_end":"1461254400"},{"product_id":"6981","origin_price":"6.90","channel_id":"8","brand_id":"5","p_catalog_id":"84","supplier_type":"1","supplier_code":"1101035","name":"\u3010\u539f\u521b\u77ed\u889c\u3011\u8f6f\u59b9\u5973\u889c \u539f\u521b \u523a\u7ee3\u889c\u5b50 \u767e\u642d \u5c11\u5973\u5fc3 jk\u65e5\u5e38","cover_price":"6.90","brief":"","figure":"\/1465959861797.jpg","sell_time_start":"1465660800","sell_time_end":"1466265600"},{"product_id":"7729","origin_price":"358.00","channel_id":"8","brand_id":"432","p_catalog_id":"91","supplier_type":"2","supplier_code":"1601008","name":"\u73b0\u8d27\u3010TUMO\u3011 \u96e8\u5e93\u6d1b\u724c\u5143\u7d20 \u8f6f\u59b9\u68ee\u5973\u7cfb\u77ed\u8896\u8fde\u8863\u88d9","cover_price":"179.00","brief":"","figure":"\/supplier\/1467687105197.jpg","sell_time_start":"0","sell_time_end":"0"},{"product_id":"3691","origin_price":"170.00","channel_id":"8","brand_id":"90","p_catalog_id":"52","supplier_type":"2","supplier_code":"1201001","name":"\u3010\u6f2b\u8e2a\u3011\u5bab\u5d0e\u9a8f \u9f99\u732b\u5957\u88c5 \u5973\u51ac \u5e3d\u5b50\u886c\u886b\u80cc\u5fc3\u6253\u5e95\u88e4\u77ed\u88e4","cover_price":"105.00","brief":"\u80cc\u5fc3\u4e0a\u5c0f\u6302\u4ef6\u8d60\u5b8c\u5373\u6b62\u54e6\n","figure":"\/1451012249243.jpg","sell_time_start":"1450972800","sell_time_end":"1451577600"},{"product_id":"7228","origin_price":"45.00","channel_id":"8","brand_id":"234","p_catalog_id":"82","supplier_type":"2","supplier_code":"2101001","name":"\u3010\u53e4\u602a\u820d\u3011 \u539f\u521b \u65e5\u5f0f\u548c\u98ce \u5355\u80a9\u659c\u630e\u5305 \u5973\u5f0f\u5370\u82b1\u80cc\u5305 A103","cover_price":"40.00","brief":"\u9884\u552e\u52307\u6708\u4e0b\u65ec","figure":"\/1466154447310.jpg","sell_time_start":"1478772000","sell_time_end":"1466697600"},{"product_id":"2879","origin_price":"59.00","channel_id":"8","brand_id":"178","p_catalog_id":"76","supplier_type":"2","supplier_code":"1101003","name":"ISOS\u539f\u521b\u68ee\u7cfb\u751c\u7f8e\u5370\u82b1\u5355\u80a9\u659c\u630e\u5305\u5c0f\u65b9\u5305","cover_price":"59.00","brief":"","figure":"\/1447903575122.jpg","sell_time_start":"1447862400","sell_time_end":"1448467200"},{"product_id":"5605","origin_price":"99.00","channel_id":"8","brand_id":"234","p_catalog_id":"67","supplier_type":"2","supplier_code":"2101001","name":"\u3010\u53e4\u602a\u820d\u3011\u539f\u521b \u65e5\u672c\u548c\u98ce \u62db\u8d22\u732b\u548c\u670d\u6d74\u8863 \u5916\u5957 \u7a7a\u8c03\u5f00\u886bA8","cover_price":"99.00","brief":"","figure":"\/1459131888532.jpg","sell_time_start":"1459094400","sell_time_end":"1459699200"},{"product_id":"6263","origin_price":"72.00","channel_id":"8","brand_id":"234","p_catalog_id":"56","supplier_type":"2","supplier_code":"2101001","name":"\u3010\u53e4\u602a\u820d\u3011\u539f\u521b\u8bbe\u8ba1 \u6076\u7075\u9000\u6563\u7eaf\u68c9\u4e03\u5206\u8896T\u6064 \u79cb\u5b63\u65e5\u7cfb\u539f\u5bbf\u7537\u5973\u88c5A21","cover_price":"63.00","brief":"","figure":"\/1464245798979.jpg","sell_time_start":"1478772000","sell_time_end":"1462982400"},{"product_id":"5914","origin_price":"89.00","channel_id":"8","brand_id":"234","p_catalog_id":"88","supplier_type":"2","supplier_code":"2101001","name":"\u3010\u53e4\u602a\u820d\u3011\u539f\u521b\u8bbe\u8ba1 \u767e\u9b3c\u591c\u884c-\u51a5\u5e9c\u9b54\u9053\u548c\u98ce\u77ed\u88e4 \u65e5\u5f0f\u68c9\u9ebb\u9614\u817f\u88e4A70","cover_price":"89.00","brief":"","figure":"\/1462352934101.jpg","sell_time_start":"1460476800","sell_time_end":"1461081600"},{"product_id":"2406","origin_price":"159.00","channel_id":"8","brand_id":"23","p_catalog_id":"65","supplier_type":"2","supplier_code":"1101004","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u8230\u961fCollection \u5317\u65b9\u9171 \u7eaf\u68c9\u62c9\u94fe\u8fde\u5e3d\u536b\u8863\u5916\u5957\u79cb\u51ac","cover_price":"139.92","brief":"\u5df2\u5230\u8d27\uff0c\u53d1\u8d27\u4e2d","figure":"\/1445568698438.jpg","sell_time_start":"1478772000","sell_time_end":"1446134400"},{"product_id":"4226","origin_price":"348.00","channel_id":"8","brand_id":"5","p_catalog_id":"65","supplier_type":"2","supplier_code":"1801007","name":"\u3010 \u4e09\u8272\u747e\u3011\u7f8e\u5c11\u5973\u7684\u51ac\u5929 \u957f\u6b3e\u98ce\u8863 LOLITA \u65e5\u5e38 \u54e5\u7279\u98ce\u8863","cover_price":"280.60","brief":"","figure":"\/1453477900441.jpg","sell_time_start":"1453392000","sell_time_end":"1453996800"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/COMIC_STORE.json b/S202014040230郭刘芊/atguigu/json/COMIC_STORE.json
new file mode 100644
index 0000000..cc128f1
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/COMIC_STORE.json
@@ -0,0 +1,321 @@
+{
+ "code": 200,
+ "msg": "请求成功",
+ "result": {
+ "brand_data": false,
+ "catalog_data": false,
+ "is_recommended": "0",
+ "page_data": [
+ {
+ "brand_id": "72",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "25.00",
+ "figure": "/1464419271883.jpg",
+ "name": "【艾漫】全职高手 星座亚克力挂件",
+ "origin_price": "25.00",
+ "p_catalog_id": "26",
+ "product_id": "6698",
+ "sell_time_end": "1464969600",
+ "sell_time_start": "1464364800",
+ "supplier_code": "300011",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "72",
+ "brief": "预计2016年10月发货",
+ "channel_id": "3",
+ "cover_price": "12.00",
+ "figure": "/1470711927785.jpg",
+ "name": "【预售】【艾漫】全职高手-七夕心形徽章徽章",
+ "origin_price": "12.00",
+ "p_catalog_id": "90",
+ "product_id": "8629",
+ "sell_time_end": "1471276800",
+ "sell_time_start": "1470672000",
+ "supplier_code": "300011",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "5",
+ "brief": "3款可供选择,小仓送镊子、胶水等工具哦~",
+ "channel_id": "3",
+ "cover_price": "36.00",
+ "figure": "/1455775424896.jpg",
+ "name": "【智趣屋】DIY小屋盒子剧场 手工拼装房子 模型玩具创意礼品 送工具",
+ "origin_price": "36.00",
+ "p_catalog_id": "30",
+ "product_id": "4640",
+ "sell_time_end": "1456329600",
+ "sell_time_start": "1455724800",
+ "supplier_code": "0",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "72",
+ "brief": "到货啦~",
+ "channel_id": "3",
+ "cover_price": "30.00",
+ "figure": "/1469184599346.jpg",
+ "name": "【艾漫】全职高手-夏日水手服徽章套",
+ "origin_price": "30.00",
+ "p_catalog_id": "71",
+ "product_id": "8312",
+ "sell_time_end": "1469721600",
+ "sell_time_start": "1469116800",
+ "supplier_code": "300011",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "5",
+ "brief": "此商品只作为补差价或邮费专用,小伙伴们不要乱拍呀~差几元拍几个~ o(*≧▽≦)ツ",
+ "channel_id": "3",
+ "cover_price": "1.00",
+ "figure": "/1452742997932.jpg",
+ "name": "邮费补拍专用万能拍【请不要乱拍哦~】",
+ "origin_price": "1.00",
+ "p_catalog_id": "100",
+ "product_id": "4063",
+ "sell_time_end": "1453305600",
+ "sell_time_start": "1452700800",
+ "supplier_code": "3300001",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "72",
+ "brief": "钥匙扣已开始陆续发货的说~
+不含底板~底板背板组合玩法可戳关联商品。",
+ "channel_id": "3",
+ "cover_price": "18.00",
+ "figure": "/1466157188535.jpg",
+ "name": "【官方正版】 全职高手 国家队系列挂件 Q版 亚克力 挂件--叶修",
+ "origin_price": "18.00",
+ "p_catalog_id": "26",
+ "product_id": "7238",
+ "sell_time_end": "1466697600",
+ "sell_time_start": "1466092800",
+ "supplier_code": "0",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "72",
+ "brief": "钥匙扣已开始陆续发货的说~
+不含底板~底板背板组合玩法可戳关联商品。",
+ "channel_id": "3",
+ "cover_price": "18.00",
+ "figure": "/1466159282724.jpg",
+ "name": "【官方正版】 全职高手 新春系列挂件 Q版 亚克力 挂件--叶修",
+ "origin_price": "18.00",
+ "p_catalog_id": "26",
+ "product_id": "7263",
+ "sell_time_end": "1466697600",
+ "sell_time_start": "1466092800",
+ "supplier_code": "0",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "72",
+ "brief": "第二批出货日至8月17日左右~出货后将按订单顺序安排发货噢~~随书赠独家首发王杰希个人签名板+精美大海报tj",
+ "channel_id": "3",
+ "cover_price": "32.00",
+ "figure": "/1469772518639.jpg",
+ "name": "【官方正版】 全职高手2《副本制霸》 随书赠独家首发王杰希个人签名板+精美大海报",
+ "origin_price": "38.00",
+ "p_catalog_id": "24",
+ "product_id": "8509",
+ "sell_time_end": "1470326400",
+ "sell_time_start": "1469721600",
+ "supplier_code": "0",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "234",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "17.50",
+ "figure": "/1453172839680.jpg",
+ "name": "【古怪舍】萌萌黑白猫咪陶瓷马克杯",
+ "origin_price": "17.50",
+ "p_catalog_id": "28",
+ "product_id": "4152",
+ "sell_time_end": "1453737600",
+ "sell_time_start": "1453132800",
+ "supplier_code": "2101001",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "77",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "18.00",
+ "figure": "/1459325961533.jpg",
+ "name": " 【喵鹿酱】动物咖啡杯碟 猫咪水杯子 猫爪碟子牛奶杯",
+ "origin_price": "23.00",
+ "p_catalog_id": "28",
+ "product_id": "5704",
+ "sell_time_end": "1459872000",
+ "sell_time_start": "1459267200",
+ "supplier_code": "1101035",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "258",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "168.00",
+ "figure": "/1476170715116.jpg",
+ "name": "【宅漫周边店】柴犬doge周边 可爱萌 牛角扣学院风呢子大衣 动漫外套",
+ "origin_price": "168.00",
+ "p_catalog_id": "65",
+ "product_id": "2855",
+ "sell_time_end": "1448380800",
+ "sell_time_start": "1447776000",
+ "supplier_code": "2105003",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "234",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "27.50",
+ "figure": "/1448941498675.jpg",
+ "name": "【古怪舍】和风樱花动物-猫/兔/鹿 创意玻璃水杯子茶杯 C31",
+ "origin_price": "28.50",
+ "p_catalog_id": "28",
+ "product_id": "3120",
+ "sell_time_end": "1449504000",
+ "sell_time_start": "1448899200",
+ "supplier_code": "2101001",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "364",
+ "brief": " 7CM,(限汉字3字以内,英文6个字母以内);
+10CM,(限汉字3字以内,英文6个字母以内);
+15CM,(限汉字10字以内,英文20个字母以内)。
+发货时间为设计师定稿后5-7天内发货。
+",
+ "channel_id": "3",
+ "cover_price": "139.00",
+ "figure": "/1461228273193.jpg",
+ "name": "【匠心诚品】 揽月3D打印立体月亮灯 创意月球灯 充电夜灯Luna 定制版",
+ "origin_price": "510.00",
+ "p_catalog_id": "90",
+ "product_id": "6052",
+ "sell_time_end": "1461772800",
+ "sell_time_start": "1461168000",
+ "supplier_code": "100013",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "291",
+ "brief": "★★专为喜欢萌文化的小伙伴创作的周边产物★★卷起来是迷你公仔摆饰,展开就是实用小毛毯★★优选法兰绒面料使产品在使用过程中更加安全舒适★★又萌又好玩还在等什么,抓紧抱回家呢!
+",
+ "channel_id": "3",
+ "cover_price": "37.24",
+ "figure": "/1452570260015.jpg",
+ "name": "【长草颜文字】 炒鸡萌萌哒毛毯",
+ "origin_price": "49.00",
+ "p_catalog_id": "81",
+ "product_id": "3967",
+ "sell_time_end": "1453132800",
+ "sell_time_start": "1452528000",
+ "supplier_code": "1001001",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "72",
+ "brief": "由于销售火爆,预计2016国庆后发货",
+ "channel_id": "3",
+ "cover_price": "10.00",
+ "figure": "/1470972860379.jpg",
+ "name": "【艾漫】全职高手-PVC海报",
+ "origin_price": "10.00",
+ "p_catalog_id": "27",
+ "product_id": "8684",
+ "sell_time_end": "1471536000",
+ "sell_time_start": "1470931200",
+ "supplier_code": "300011",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "72",
+ "brief": "钥匙扣已开始陆续发货的说~
+不含底板~底板背板组合玩法可戳关联商品。",
+ "channel_id": "3",
+ "cover_price": "18.00",
+ "figure": "/1466159681694.jpg",
+ "name": "【官方正版】 全职高手 新春系列挂件 Q版 亚克力 挂件--黄少天",
+ "origin_price": "18.00",
+ "p_catalog_id": "26",
+ "product_id": "7268",
+ "sell_time_end": "1466697600",
+ "sell_time_start": "1466092800",
+ "supplier_code": "0",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "72",
+ "brief": "钥匙扣已开始陆续发货的说~
+不含底板~底板背板组合玩法可戳关联商品。",
+ "channel_id": "3",
+ "cover_price": "18.00",
+ "figure": "/1466157626768.jpg",
+ "name": "【官方正版】 全职高手 国家队系列挂件 Q版 亚克力 挂件--黄少天",
+ "origin_price": "18.00",
+ "p_catalog_id": "26",
+ "product_id": "7241",
+ "sell_time_end": "1466697600",
+ "sell_time_start": "1466092800",
+ "supplier_code": "0",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "77",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "25.00",
+ "figure": "/1442219020234.jpg",
+ "name": "【喵鹿酱】毛绒公仔 喵星人 萌萌哒 饼干猫咪抱枕",
+ "origin_price": "25.00",
+ "p_catalog_id": "22",
+ "product_id": "1365",
+ "sell_time_end": "1442764800",
+ "sell_time_start": "1442160000",
+ "supplier_code": "1101035",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "72",
+ "brief": "钥匙扣已开始陆续发货的说~
+不含底板~底板背板组合玩法可戳关联商品。",
+ "channel_id": "3",
+ "cover_price": "18.00",
+ "figure": "/1466160018941.jpg",
+ "name": "【官方正版】 全职高手 新春系列挂件 Q版 亚克力 挂件--周泽楷",
+ "origin_price": "18.00",
+ "p_catalog_id": "26",
+ "product_id": "7272",
+ "sell_time_end": "1466697600",
+ "sell_time_start": "1466092800",
+ "supplier_code": "0",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "72",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "20.00",
+ "figure": "/1462436113392.jpg",
+ "name": "【艾漫】全职高手-海报组2",
+ "origin_price": "20.00",
+ "p_catalog_id": "27",
+ "product_id": "6269",
+ "sell_time_end": "1462982400",
+ "sell_time_start": "1462377600",
+ "supplier_code": "300011",
+ "supplier_type": "1"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/COSPLAY_STORE.json b/S202014040230郭刘芊/atguigu/json/COSPLAY_STORE.json
new file mode 100644
index 0000000..cd8f854
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/COSPLAY_STORE.json
@@ -0,0 +1,318 @@
+{
+ "code": 200,
+ "msg": "请求成功",
+ "result": {
+ "brand_data": false,
+ "catalog_data": false,
+ "is_recommended": "0",
+ "page_data": [
+ {
+ "brand_id": "5",
+ "brief": "现货~尚硅谷有售道具原材料哦~",
+ "channel_id": "5",
+ "cover_price": "65.00",
+ "figure": "/1448622974578.jpg",
+ "name": "【大公制作】COSPLAY道具制作专业教程 切割粘合上色贴皮养护方法技巧制作步骤详解 ",
+ "origin_price": "65.00",
+ "p_catalog_id": "20",
+ "product_id": "3088",
+ "sell_time_end": "1449158400",
+ "sell_time_start": "1448553600",
+ "supplier_code": "0",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "5",
+ "brief": "提示:现货,现货,现货噢~一包等于30片噢~~一包等于30片噢~~一包等于30片噢~~ 重要的事情我是会喊三遍的!么么(づ ̄3 ̄)づ╭❤~",
+ "channel_id": "5",
+ "cover_price": "19.80",
+ "figure": "/1467606608602.jpg",
+ "name": "【SICS希丞品牌店】樱花布 卸妆神器 漫展必备 清水即可卸浓妆 日常妆 各种妆面",
+ "origin_price": "19.80",
+ "p_catalog_id": "98",
+ "product_id": "7709",
+ "sell_time_end": "1468166400",
+ "sell_time_start": "1467561600",
+ "supplier_code": "0",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "19.00",
+ "figure": "/1446607168578.jpg",
+ "name": "【主宰者】透气隐形 束胸 裹胸 cos汉子必备",
+ "origin_price": "38.00",
+ "p_catalog_id": "18",
+ "product_id": "2573",
+ "sell_time_end": "1447171200",
+ "sell_time_start": "1446566400",
+ "supplier_code": "1607002",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "436",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "94.50",
+ "figure": "/supplier/1471315793182.jpg",
+ "name": "现货【桂】苏葉 洛丽塔空气刘海 青灰色日常软妹lolita原宿假发",
+ "origin_price": "109.00",
+ "p_catalog_id": "19",
+ "product_id": "8759",
+ "sell_time_end": "0",
+ "sell_time_start": "1478772000",
+ "supplier_code": "1601009",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "5",
+ "brief": "皇冠可变形=> 女皇/皇帝",
+ "channel_id": "5",
+ "cover_price": "35.00",
+ "figure": "/1438844970464.jpg",
+ "name": "【欧式小皇冠】 头饰 发夹 配送丝带 可拆卸变装",
+ "origin_price": "35.00",
+ "p_catalog_id": "71",
+ "product_id": "594",
+ "sell_time_end": "1439395200",
+ "sell_time_start": "1438790400",
+ "supplier_code": "1101001",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "436",
+ "brief": "精灵之舞之幻雾 空气刘海 长发及腰卷发 深灰色 长70cm",
+ "channel_id": "5",
+ "cover_price": "79.00",
+ "figure": "/supplier/1469436115002.jpg",
+ "name": "现货【桂】幻雾 洛丽塔空气刘海奶奶灰 及腰长卷发lolita日系假发",
+ "origin_price": "99.00",
+ "p_catalog_id": "19",
+ "product_id": "8351",
+ "sell_time_end": "0",
+ "sell_time_start": "1478772000",
+ "supplier_code": "1601009",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "286",
+ "brief": "3-5天发货 随机保税仓直发。可以试试哦,咬唇效果很好的。染色是樱花提取物,不小心吃。这个是咬唇妆哦,不会化的,或者觉得平时用的麻烦的亲们
+可以试试哦,咬唇效果很好的。染色是樱花提取物可以食用,
+染色相对更均匀, 而且使用后不会觉得干,很滋润,非常容
+易上色,使用后颜色很好看,非常嫩~",
+ "channel_id": "5",
+ "cover_price": "39.00",
+ "figure": "/1455766294751.jpg",
+ "name": "【海鸟跨境】 泰国mistine双头咬唇唇彩",
+ "origin_price": "88.00",
+ "p_catalog_id": "21",
+ "product_id": "4638",
+ "sell_time_end": "1456329600",
+ "sell_time_start": "1455724800",
+ "supplier_code": "1111001",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "436",
+ "brief": "精灵之舞系列之绿林 渐变梨花头 收脸鬓角 发尾自然内扣 爱不释手~ 自留款~",
+ "channel_id": "5",
+ "cover_price": "69.00",
+ "figure": "/supplier/1469436287434.jpg",
+ "name": "现货【桂】绿林 梨花头内扣Lolita日常绿色渐变原宿 洛丽塔假发",
+ "origin_price": "89.00",
+ "p_catalog_id": "19",
+ "product_id": "8352",
+ "sell_time_end": "0",
+ "sell_time_start": "1478772000",
+ "supplier_code": "1601009",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "280",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "98.00",
+ "figure": "/1447051007554.jpg",
+ "name": "【主宰者】空气刘海 日常 原宿风 黑色短发",
+ "origin_price": "98.00",
+ "p_catalog_id": "19",
+ "product_id": "2656",
+ "sell_time_end": "1447603200",
+ "sell_time_start": "1446998400",
+ "supplier_code": "1607002",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "436",
+ "brief": "精灵之舞 -迷雾 大头皮 中分流海 大卷及腰长发 深灰色 长70cm 洛丽塔假发",
+ "channel_id": "5",
+ "cover_price": "79.00",
+ "figure": "/supplier/1469435884668.jpg",
+ "name": "现货【桂】迷雾 洛丽塔假毛 深灰色中分长发大卷 原宿 lolita假发",
+ "origin_price": "99.00",
+ "p_catalog_id": "19",
+ "product_id": "8350",
+ "sell_time_end": "0",
+ "sell_time_start": "1478772000",
+ "supplier_code": "1601009",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "8",
+ "brief": "请注意长短袖区别!!!",
+ "channel_id": "5",
+ "cover_price": "181.30",
+ "figure": "/1469180985479.jpg",
+ "name": "现货【Uwowo】刀剑乱舞 同人cos水手服 刀剑cos jk制服",
+ "origin_price": "259.00",
+ "p_catalog_id": "18",
+ "product_id": "8288",
+ "sell_time_end": "1469721600",
+ "sell_time_start": "1478772000",
+ "supplier_code": "1606002",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "363",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "39.00",
+ "figure": "/supplier/1469417013606.jpg",
+ "name": "现货【桂】从零开始的异世界生活 蕾姆cos 雷姆拉姆幼年假发",
+ "origin_price": "47.00",
+ "p_catalog_id": "19",
+ "product_id": "8331",
+ "sell_time_end": "0",
+ "sell_time_start": "1478772000",
+ "supplier_code": "1601009",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "436",
+ "brief": "茶会时间系列之和果子 上层波波短发 下层长卷发 一发两用 可随意变换造型 ~自然渐变的哦~",
+ "channel_id": "5",
+ "cover_price": "89.00",
+ "figure": "/supplier/1469435496813.jpg",
+ "name": "现货【桂】和果子 日常原宿洛丽塔 香芋紫混浅粉 软妹lolita假发",
+ "origin_price": "102.00",
+ "p_catalog_id": "19",
+ "product_id": "8348",
+ "sell_time_end": "0",
+ "sell_time_start": "1478772000",
+ "supplier_code": "1601009",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "436",
+ "brief": "茶会时间之朱古力 空气刘海 双重渐变 泡面卷及腰长发 长80cm 深棕色渐变酒红",
+ "channel_id": "5",
+ "cover_price": "89.00",
+ "figure": "/supplier/1469439195790.jpg",
+ "name": "现货【桂】朱古力洛丽塔假发大卷深棕色渐变酒红泡面卷lolita假发",
+ "origin_price": "109.00",
+ "p_catalog_id": "19",
+ "product_id": "8360",
+ "sell_time_end": "0",
+ "sell_time_start": "1478772000",
+ "supplier_code": "1601009",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "8",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "49.00",
+ "figure": "/supplier/1469434054047.jpg",
+ "name": "现货【桂】刀剑乱舞 鹤丸国永 槙岛圣护 cosplay假发 灰白色造型",
+ "origin_price": "56.00",
+ "p_catalog_id": "19",
+ "product_id": "8341",
+ "sell_time_end": "0",
+ "sell_time_start": "1478772000",
+ "supplier_code": "1601009",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "286",
+ "brief": "Step1 单独使用
+薄薄的涂上一层,瞬间滋润嘴唇让美唇不在干燥or黏腻,刚开始上去颜色比较浅,随着时间跟温度的变化,颜色会越来越粉,不化妆或者搭配淡淡的底妆都可以提升气色,很不错的选择。
+
+Step2 用在口红或者唇蜜之前
+小草莓是变色唇膏,润唇效果也非常好,当口红又觉得口红比较干的时候,可以用小草莓打底,那效果棒棒哒。",
+ "channel_id": "5",
+ "cover_price": "21.25",
+ "figure": "/1463989227553.jpg",
+ "name": "【海鸟跨境】 Mistine草莓变色唇膏",
+ "origin_price": "25.00",
+ "p_catalog_id": "21",
+ "product_id": "6626",
+ "sell_time_end": "1464537600",
+ "sell_time_start": "1463932800",
+ "supplier_code": "1111001",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "436",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "69.00",
+ "figure": "/supplier/1469439502897.jpg",
+ "name": "现货【桂】空气刘海长卷发女大波浪卷 酒芯糖lolita洛丽塔假发",
+ "origin_price": "98.00",
+ "p_catalog_id": "19",
+ "product_id": "8362",
+ "sell_time_end": "0",
+ "sell_time_start": "1478772000",
+ "supplier_code": "1601009",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "280",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "120.00",
+ "figure": "/1447054807610.jpg",
+ "name": "【主宰者】空气刘海 日常原宿 Lolita 混灰 长发 cos假发",
+ "origin_price": "120.00",
+ "p_catalog_id": "19",
+ "product_id": "2659",
+ "sell_time_end": "1447603200",
+ "sell_time_start": "1446998400",
+ "supplier_code": "1607002",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "357",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "49.00",
+ "figure": "/1478506900660.jpg",
+ "name": "【漫趣】JK制服包日本学生包单肩斜跨包手提包",
+ "origin_price": "0.00",
+ "p_catalog_id": "82",
+ "product_id": "10525",
+ "sell_time_end": "1479052800",
+ "sell_time_start": "1478506827",
+ "supplier_code": "300013",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "234",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "22.00",
+ "figure": "/1469000758954.jpg",
+ "name": "【古怪舍】 棒棒糖茶漏 双层透明吸管杯子 创意卡通便携塑料水杯 F99",
+ "origin_price": "22.00",
+ "p_catalog_id": "28",
+ "product_id": "8148",
+ "sell_time_end": "1469548800",
+ "sell_time_start": "1468944000",
+ "supplier_code": "2101001",
+ "supplier_type": "2"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/DIGIT_URL.json b/S202014040230郭刘芊/atguigu/json/DIGIT_URL.json
new file mode 100644
index 0000000..dc5dee4
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/DIGIT_URL.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":[{"p_catalog_id":"7","parent_id":"0","name":"\u6570\u7801\u5468\u8fb9","pic":"","is_deleted":"0","child":[{"p_catalog_id":"119","parent_id":"7","name":"\u81ea\u62cd\u6746","pic":"","is_deleted":"0"},{"p_catalog_id":"118","parent_id":"7","name":"\u5c4f\u5e55\u4fdd\u62a4\u819c","pic":"","is_deleted":"0"},{"p_catalog_id":"116","parent_id":"7","name":"Wacom\u7cfb\u5217","pic":"\/1472112184129.jpg","is_deleted":"0"},{"p_catalog_id":"112","parent_id":"7","name":"\u4ea4\u901a\u5361","pic":"\/product_catalog\/1465808719970.jpg","is_deleted":"0"},{"p_catalog_id":"103","parent_id":"7","name":"\u9f20\u952e","pic":"\/product_catalog\/1454061759825.jpg","is_deleted":"0"},{"p_catalog_id":"102","parent_id":"7","name":"U\u76d8","pic":"\/product_catalog\/1454061108683.jpg","is_deleted":"0"},{"p_catalog_id":"101","parent_id":"7","name":"\u8033\u673a","pic":"\/product_catalog\/1454060084922.png","is_deleted":"0"},{"p_catalog_id":"93","parent_id":"7","name":"\u7968\u52a1","pic":"\/product_catalog\/1454484273989.jpg","is_deleted":"0"},{"p_catalog_id":"50","parent_id":"7","name":"\u624b\u673a\u58f3","pic":"\/product_catalog\/1446017444813.jpg","is_deleted":"0"},{"p_catalog_id":"39","parent_id":"7","name":"\u79fb\u52a8\u7535\u6e90","pic":"\/product_catalog\/1446017382141.jpg","is_deleted":"0"},{"p_catalog_id":"40","parent_id":"7","name":"\u9f20\u6807\u57ab","pic":"\/product_catalog\/1446017408013.jpg","is_deleted":"0"},{"p_catalog_id":"41","parent_id":"7","name":"\u91d1\u5c5e\u8d34","pic":"\/product_catalog\/1446017422349.jpg","is_deleted":"0"}],"hot_product_list":[{"product_id":"8262","channel_id":"3","brand_id":"5","p_catalog_id":"101","supplier_type":"2","supplier_code":"1102013","name":"Censi \u58f0\u6c0f Moecen\u732b\u8033\u8033\u673a \u4e8c\u6b21\u5143 \u52a8\u6f2b \u5356\u840c \u5934\u6234\u5f0f \u84dd\u7259\u8033\u673a\u3010\u767d\u8272\u7248\u3011","cover_price":"299.00","brief":"","figure":"\/1469173640233.jpg","sell_time_start":"1469116800","sell_time_end":"1469721600"},{"product_id":"7752","channel_id":"3","brand_id":"421","p_catalog_id":"116","supplier_type":"2","supplier_code":"400003","name":"\u3010wacom\u3011\u6570\u4f4d\u677f\u753b\u677fctl471\u624b\u7ed8\u677fbamboo\u7535\u8111\u7ed8\u753b\u7535\u5b50\u7ed8\u56fe\u677fps","cover_price":"329.00","brief":"WACOM CTL471","figure":"\/supplier\/1467702094592.jpg","sell_time_start":"0","sell_time_end":"0"},{"product_id":"2361","channel_id":"3","brand_id":"5","p_catalog_id":"7","supplier_type":"2","supplier_code":"2101001","name":"\u3010\u53e4\u602a\u820d\u3011 \u51ac\u5b63\u6696\u6696 \u548c\u98ce\u624b\u673a\u88ab\u5957 \u4ed3\u9f20\u88ab\u7a9d","cover_price":"15.00","brief":"","figure":"\/1445418450175.jpg","sell_time_start":"1478772000","sell_time_end":"1445961600"},{"product_id":"8120","channel_id":"4","brand_id":"274","p_catalog_id":"41","supplier_type":"2","supplier_code":"802001","name":"\u3010\u781a\u6c60\u5de5\u4f5c\u5ba4\u3011\u5251\u7f51\u4e09 \u52513\u540c\u4eba\u5168\u95e8\u6d3e\u884d\u751flogo\u5468\u8fb9 \u91d1\u5c5e\u624b\u673a\u8d34\u3010\u94f6\u8272\u3011","cover_price":"30.00","brief":"","figure":"\/1468840600394.jpg","sell_time_start":"1468771200","sell_time_end":"1469376000"},{"product_id":"10652","channel_id":"3","brand_id":"5","p_catalog_id":"101","supplier_type":"2","supplier_code":"2101002","name":"\u3010\u6b6a\u74dc\u51fa\u54c1\u3011Spirit E666\u7cbe\u7075\u8033\u6735 \u5165\u8033\u5f0f\u8033\u673a cos\u6444\u5f71\u9053\u5177\u76f4\u64ad\u8033\u585e","cover_price":"99.00","brief":"","figure":"\/1478833408658.jpg","sell_time_start":"1478793600","sell_time_end":"1479398400"},{"product_id":"9709","channel_id":"3","brand_id":"305","p_catalog_id":"119","supplier_type":"1","supplier_code":"1102019","name":"\u3010ROCK\u3011\u54c6\u5566A\u68a6\u81ea\u62cd\u6746\u795e\u5668","cover_price":"49.00","brief":"","figure":"\/1475979038217.jpg","sell_time_start":"1478581200","sell_time_end":"1478581200"}]}]}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/DRESS_UP_URL.json b/S202014040230郭刘芊/atguigu/json/DRESS_UP_URL.json
new file mode 100644
index 0000000..b30e29b
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/DRESS_UP_URL.json
@@ -0,0 +1,132 @@
+{
+ "code": 200,
+ "msg": "请求成功",
+ "result": [
+ {
+ "child": [
+ {
+ "is_deleted": "0",
+ "name": "服装",
+ "p_catalog_id": "18",
+ "parent_id": "4",
+ "pic": "/product_catalog/1446016631439.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "假发",
+ "p_catalog_id": "19",
+ "parent_id": "4",
+ "pic": "/product_catalog/1446016650875.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "道具",
+ "p_catalog_id": "20",
+ "parent_id": "4",
+ "pic": "/product_catalog/1446016673365.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "妆面",
+ "p_catalog_id": "21",
+ "parent_id": "4",
+ "pic": "/product_catalog/1446016713541.jpg"
+ }
+ ],
+ "hot_product_list": [
+ {
+ "brand_id": "5",
+ "brief": "现货~尚硅谷有售道具原材料哦~",
+ "channel_id": "5",
+ "cover_price": "65.00",
+ "figure": "/1448622974578.jpg",
+ "name": "【大公制作】COSPLAY道具制作专业教程 切割粘合上色贴皮养护方法技巧制作步骤详解 ",
+ "p_catalog_id": "20",
+ "product_id": "3088",
+ "sell_time_end": "1449158400",
+ "sell_time_start": "1448553600",
+ "supplier_code": "0",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "19.00",
+ "figure": "/1446607168578.jpg",
+ "name": "【主宰者】透气隐形 束胸 裹胸 cos汉子必备",
+ "p_catalog_id": "18",
+ "product_id": "2573",
+ "sell_time_end": "1447171200",
+ "sell_time_start": "1446566400",
+ "supplier_code": "1607002",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "436",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "94.50",
+ "figure": "/supplier/1471315793182.jpg",
+ "name": "现货【桂】苏葉 洛丽塔空气刘海 青灰色日常软妹lolita原宿假发",
+ "p_catalog_id": "19",
+ "product_id": "8759",
+ "sell_time_end": "0",
+ "sell_time_start": "1478772000",
+ "supplier_code": "1601009",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "436",
+ "brief": "精灵之舞之幻雾 空气刘海 长发及腰卷发 深灰色 长70cm",
+ "channel_id": "5",
+ "cover_price": "79.00",
+ "figure": "/supplier/1469436115002.jpg",
+ "name": "现货【桂】幻雾 洛丽塔空气刘海奶奶灰 及腰长卷发lolita日系假发",
+ "p_catalog_id": "19",
+ "product_id": "8351",
+ "sell_time_end": "0",
+ "sell_time_start": "1478772000",
+ "supplier_code": "1601009",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "286",
+ "brief": "3-5天发货 随机保税仓直发。可以试试哦,咬唇效果很好的。染色是樱花提取物,不小心吃。这个是咬唇妆哦,不会化的,或者觉得平时用的麻烦的亲们
+可以试试哦,咬唇效果很好的。染色是樱花提取物可以食用,
+染色相对更均匀, 而且使用后不会觉得干,很滋润,非常容
+易上色,使用后颜色很好看,非常嫩~",
+ "channel_id": "5",
+ "cover_price": "39.00",
+ "figure": "/1455766294751.jpg",
+ "name": "【海鸟跨境】 泰国mistine双头咬唇唇彩",
+ "p_catalog_id": "21",
+ "product_id": "4638",
+ "sell_time_end": "1456329600",
+ "sell_time_start": "1455724800",
+ "supplier_code": "1111001",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "436",
+ "brief": "精灵之舞系列之绿林 渐变梨花头 收脸鬓角 发尾自然内扣 爱不释手~ 自留款~",
+ "channel_id": "5",
+ "cover_price": "69.00",
+ "figure": "/supplier/1469436287434.jpg",
+ "name": "现货【桂】绿林 梨花头内扣Lolita日常绿色渐变原宿 洛丽塔假发",
+ "p_catalog_id": "19",
+ "product_id": "8352",
+ "sell_time_end": "0",
+ "sell_time_start": "1478772000",
+ "supplier_code": "1601009",
+ "supplier_type": "2"
+ }
+ ],
+ "is_deleted": "0",
+ "name": "装扮",
+ "p_catalog_id": "4",
+ "parent_id": "0",
+ "pic": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/FOOD_STORE.json b/S202014040230郭刘芊/atguigu/json/FOOD_STORE.json
new file mode 100644
index 0000000..112a321
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/FOOD_STORE.json
@@ -0,0 +1,358 @@
+{
+ "code": 200,
+ "msg": "请求成功",
+ "result": {
+ "brand_data": false,
+ "catalog_data": false,
+ "is_recommended": "0",
+ "page_data": [
+ {
+ "brand_id": "72",
+ "brief": "",
+ "channel_id": "10",
+ "cover_price": "4.80",
+ "figure": "/1465268743242.jpg",
+ "name": "【艾漫】全职高手-蜜饯系列",
+ "origin_price": "4.80",
+ "p_catalog_id": "99",
+ "product_id": "6869",
+ "sell_time_end": "1465833600",
+ "sell_time_start": "1465228800",
+ "supplier_code": "300012",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "386",
+ "brief": "拍下后在2-3个工作日内发货
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+",
+ "channel_id": "10",
+ "cover_price": "15.50",
+ "figure": "/1463561094599.png",
+ "name": "【零食】 【麦大叔】热卖猪肉脯 正宗靖江肉脯批发 休闲食品 4味 ",
+ "origin_price": "15.50",
+ "p_catalog_id": "99",
+ "product_id": "6558",
+ "sell_time_end": "1464105600",
+ "sell_time_start": "1463500800",
+ "supplier_code": "100014",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "286",
+ "brief": "保税区发货有3-5天的审核时间",
+ "channel_id": "10",
+ "cover_price": "8.91",
+ "figure": "/supplier/1475076492566.jpg",
+ "name": "【海鸟跨境】 日本进口 暮制玫瑰花香糖 32g 食用散发玫瑰体香软糖",
+ "origin_price": "9.90",
+ "p_catalog_id": "99",
+ "product_id": "7066",
+ "sell_time_end": "1466524800",
+ "sell_time_start": "1465920000",
+ "supplier_code": "1111001",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "5",
+ "brief": "本店糖果制作供不应求,所以大家尝到的都是新鲜的糖果,下手要快哦!",
+ "channel_id": "10",
+ "cover_price": "19.80",
+ "figure": "/1467711054083.jpg",
+ "name": "【CandyLife】澳洲 创意星空 进口手工切片 棒棒糖果 ",
+ "origin_price": "32.00",
+ "p_catalog_id": "99",
+ "product_id": "7780",
+ "sell_time_end": "1468252800",
+ "sell_time_start": "1467648000",
+ "supplier_code": "2102001",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "286",
+ "brief": " 保税区发货有3-5天的审核时间",
+ "channel_id": "10",
+ "cover_price": "8.00",
+ "figure": "/1466062787621.png",
+ "name": "【海鸟跨境】日本进口 松尾抹茶味QQ年糕夹心糯米糍巧克力7个入",
+ "origin_price": "10.00",
+ "p_catalog_id": "99",
+ "product_id": "7114",
+ "sell_time_end": "1466611200",
+ "sell_time_start": "1466006400",
+ "supplier_code": "1111001",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "386",
+ "brief": "拍下后在2-3个工作日内发货
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+",
+ "channel_id": "10",
+ "cover_price": "16.80",
+ "figure": "/1463563169103.png",
+ "name": "【零食】 【麦大叔】零食 肉类食品 蜜汁xo酱烤 香肠 ",
+ "origin_price": "16.80",
+ "p_catalog_id": "99",
+ "product_id": "6561",
+ "sell_time_end": "1464105600",
+ "sell_time_start": "1463500800",
+ "supplier_code": "100014",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "286",
+ "brief": "保税区发货有3-5天的审核时间",
+ "channel_id": "10",
+ "cover_price": "16.00",
+ "figure": "/1466066989915.jpg",
+ "name": "【海鸟跨境】 日本进口 marutai 九州名面 拉面",
+ "origin_price": "16.00",
+ "p_catalog_id": "99",
+ "product_id": "7127",
+ "sell_time_end": "1466611200",
+ "sell_time_start": "1466006400",
+ "supplier_code": "1111001",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "386",
+ "brief": "拍下后在2-3个工作日内发货
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+",
+ "channel_id": "10",
+ "cover_price": "15.00",
+ "figure": "/1463561619288.png",
+ "name": "【零食】 【麦大叔】台湾xo酱烤肉粒 猪肉干",
+ "origin_price": "15.00",
+ "p_catalog_id": "99",
+ "product_id": "6559",
+ "sell_time_end": "1464105600",
+ "sell_time_start": "1463500800",
+ "supplier_code": "100014",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "286",
+ "brief": "乳酸菌是一种存在于人类体内的益生菌。乳酸菌能够将碳水化合物发酵成乳酸,因而得名。益生菌能够帮助消化,有助人体肠道的健康! 那就是记忆中尘封多年的玻珠糖啊
+ 保税区发货有3-5天的审核时间",
+ "channel_id": "10",
+ "cover_price": "3.15",
+ "figure": "/1465974481532.jpg",
+ "name": "【海鸟跨境】 日本进口 味觉超人 乳酸菌健康糖 300万活性乳酸菌",
+ "origin_price": "3.50",
+ "p_catalog_id": "99",
+ "product_id": "7067",
+ "sell_time_end": "1466524800",
+ "sell_time_start": "1465920000",
+ "supplier_code": "1111001",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "441",
+ "brief": "我想大声告诉你,我要包养你 o(*≧▽≦)ツ",
+ "channel_id": "10",
+ "cover_price": "36.40",
+ "figure": "/supplier/1472029546790.jpg",
+ "name": "【疯兔盒子】 告白神器 【包养你】 进口零食礼盒",
+ "origin_price": "41.80",
+ "p_catalog_id": "99",
+ "product_id": "8497",
+ "sell_time_end": "1470326400",
+ "sell_time_start": "1469721600",
+ "supplier_code": "100016",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "10",
+ "cover_price": "10.20",
+ "figure": "/1468306781206.jpg",
+ "name": "【独角兽浆果】新鲜冻干草莓 风味蜜饯 食品特产 即食36g",
+ "origin_price": "11.60",
+ "p_catalog_id": "99",
+ "product_id": "7937",
+ "sell_time_end": "1468857600",
+ "sell_time_start": "1468252800",
+ "supplier_code": "2102002",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "5",
+ "brief": "澳洲手工糖Handmade sugar Australia,起源于澳大利亚。 手工糖每颗都是由成熟的制糖师戴着隔热手套,在100℃高温下手工制作,糖果上的造型和文字也都是糖果师手工揉制 进去。因糖果制作工艺复杂,样式精美,产量较低,所以每颗糖果都有很高的价值。",
+ "channel_id": "10",
+ "cover_price": "45.00",
+ "figure": "/1467964002747.jpg",
+ "name": "【CandyLife】澳洲 创意星空 进口手工切片 棒棒糖果【龙猫糖礼】",
+ "origin_price": "98.00",
+ "p_catalog_id": "99",
+ "product_id": "7791",
+ "sell_time_end": "1468339200",
+ "sell_time_start": "1467734400",
+ "supplier_code": "2102001",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "8",
+ "brief": "",
+ "channel_id": "10",
+ "cover_price": "28.00",
+ "figure": "/1451289711090.jpg",
+ "name": "【古怪舍】男神七日汤红茶茶包 FREE!/刀剑乱舞 礼物 E44",
+ "origin_price": "32.00",
+ "p_catalog_id": "99",
+ "product_id": "3751",
+ "sell_time_end": "1451836800",
+ "sell_time_start": "1478772000",
+ "supplier_code": "2101001",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "286",
+ "brief": " 保税区发货有3-5天的审核时间",
+ "channel_id": "10",
+ "cover_price": "18.00",
+ "figure": "/supplier/1466135546395.jpg",
+ "name": "【海鸟跨境】日本进口 一平蛋黄酱夜店炒面拌面",
+ "origin_price": "28.00",
+ "p_catalog_id": "99",
+ "product_id": "7170",
+ "sell_time_end": "0",
+ "sell_time_start": "0",
+ "supplier_code": "1111001",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "286",
+ "brief": "保税区发货有3-5天的审核时间",
+ "channel_id": "10",
+ "cover_price": "7.92",
+ "figure": "/supplier/1478108838086.jpg",
+ "name": "【海鸟跨境】 日本进口 桃哈多Tohato蜡笔小新粟米星巧克力味鳄鱼饼干25g",
+ "origin_price": "8.80",
+ "p_catalog_id": "99",
+ "product_id": "7063",
+ "sell_time_end": "1466524800",
+ "sell_time_start": "1465920000",
+ "supplier_code": "1111001",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "440",
+ "brief": "",
+ "channel_id": "10",
+ "cover_price": "89.10",
+ "figure": "/1469785306096.jpg",
+ "name": "【味蕾之诗发光星空礼盒】七夕情人节 会发光的零食大礼包",
+ "origin_price": "99.00",
+ "p_catalog_id": "99",
+ "product_id": "8523",
+ "sell_time_end": "1470326400",
+ "sell_time_start": "1469721600",
+ "supplier_code": "1000018",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "234",
+ "brief": "",
+ "channel_id": "10",
+ "cover_price": "31.00",
+ "figure": "/1456727301334.jpg",
+ "name": "【古怪舍】 男神七日汤动漫周边 红茶茶包 银魂/刀剑乱舞",
+ "origin_price": "35.00",
+ "p_catalog_id": "99",
+ "product_id": "4829",
+ "sell_time_end": "1457280000",
+ "sell_time_start": "1478772000",
+ "supplier_code": "2101001",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "286",
+ "brief": " 保税区发货有3-5天的审核时间",
+ "channel_id": "10",
+ "cover_price": "8.00",
+ "figure": "/1466064768557.jpg",
+ "name": "【海鸟跨境】 日本进口 丸玉水产 北海道 新鲜长脚蟹肉棒 蟹肉卷蟹柳45g",
+ "origin_price": "9.00",
+ "p_catalog_id": "99",
+ "product_id": "7122",
+ "sell_time_end": "1466611200",
+ "sell_time_start": "1466006400",
+ "supplier_code": "1111001",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "386",
+ "brief": "",
+ "channel_id": "10",
+ "cover_price": "16.80",
+ "figure": "/1463560623060.png",
+ "name": "【零食】 【麦大叔】奶油味 夏威夷果 即食干果坚果 ",
+ "origin_price": "16.80",
+ "p_catalog_id": "99",
+ "product_id": "6557",
+ "sell_time_end": "1464105600",
+ "sell_time_start": "1463500800",
+ "supplier_code": "100014",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "286",
+ "brief": "一盒有9个味道的巧克力。每粒的口感都不一样,这种巧克力在实店里风黀年轻的。嗲嗲的一款巧克力,可爱极了,绝对让女生爱不释手,在日本已风靡一时,很多吃过的朋友都会来问。一盒9粒装,9种不同味道,9种不同的味觉享受。放一盒在包包里,冷不丁的掏出给心爱的人,一定会让TA非常惊喜,好滋味要用心品尝哦~
+ 保税区发货有3-5天的审核时间",
+ "channel_id": "10",
+ "cover_price": "8.80",
+ "figure": "/1465973421863.jpg",
+ "name": "【海鸟跨境】 日本进口 松尾MIX 什锦巧克力50g 9口味多彩迷你朱古力",
+ "origin_price": "9.90",
+ "p_catalog_id": "99",
+ "product_id": "7062",
+ "sell_time_end": "1466524800",
+ "sell_time_start": "1465920000",
+ "supplier_code": "1111001",
+ "supplier_type": "2"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/GAME_STORE.json b/S202014040230郭刘芊/atguigu/json/GAME_STORE.json
new file mode 100644
index 0000000..e02699b
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/GAME_STORE.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"627","origin_price":"32.00","channel_id":"4","brand_id":"3","p_catalog_id":"52","supplier_type":"1","supplier_code":"1101001","name":"\u5251\u4e09T\u6064\u6279\u53d1","cover_price":"32.00","brief":"","figure":"\/1439367400560.jpg","sell_time_start":"1439308800","sell_time_end":"1439913600"},{"product_id":"3340","origin_price":"55.00","channel_id":"4","brand_id":"3","p_catalog_id":"28","supplier_type":"1","supplier_code":"1101036","name":"\u3010\u5c0f\u8ff7\u5154\u3011\u5251\u7f513\u5251\u4e09\u5468\u8fb9 \u6ce1\u9762\u7897 \u5929\u7b56 \u7eaf\u9633 \u660e\u6559","cover_price":"46.75","brief":"","figure":"\/1478681924760.jpg","sell_time_start":"1478772000","sell_time_end":"1450108800"},{"product_id":"7591","origin_price":"69.00","channel_id":"4","brand_id":"3","p_catalog_id":"26","supplier_type":"1","supplier_code":"0","name":" \u3010\u540c\u4eba\u5bc4\u5356\u3011\u5251\u7f513 \u5251\u4e09 \u70ae\u592a\u96c6\u5408 \u540c\u4ebaQ\u7248\u6302\u4ef6 \u7ed8\u5e08\u5b64\u4e5d","cover_price":"10.00","brief":"\u73b0\u8d27","figure":"\/1467018883461.jpg","sell_time_start":"1466956800","sell_time_end":"1467561600"},{"product_id":"3269","origin_price":"68.00","channel_id":"4","brand_id":"3","p_catalog_id":"90","supplier_type":"2","supplier_code":"802001","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4]\u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u624b\u5de5\u5b9a\u5236\u53d1\u5149\u5c0f\u591c\u706f","cover_price":"68.00","brief":"\u4e0d\u5305\u542b\u63d0\u624b~\u4e0d\u5305\u542b\u63d0\u624b~\u4e0d\u5305\u542b\u63d0\u624b~OVO \u91cd\u8981\u7684si\u60c5\u55e6\u4e09\u904d~~~ \u5de5\u671f\u4e3a5-10\u4e2a\u5de5\u4f5c\u65e5~\r\n","figure":"\/1449219464141.jpg","sell_time_start":"1449158400","sell_time_end":"1449763200"},{"product_id":"3209","origin_price":"30.00","channel_id":"4","brand_id":"3","p_catalog_id":"26","supplier_type":"2","supplier_code":"802001","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u624b\u5de5\u5b9a\u5236\u793c\u7269\u6728\u8d28\u5361\u5957","cover_price":"26.40","brief":"","figure":"\/1449134007474.jpg","sell_time_start":"1478772000","sell_time_end":"1449676800"},{"product_id":"2944","origin_price":"39.00","channel_id":"4","brand_id":"3","p_catalog_id":"77","supplier_type":"1","supplier_code":"1101036","name":"\u3010\u5c0f\u8ff7\u5154\u3011\u5251\u7f513 \u5251\u4e09\u5468\u8fb9 \u8f6f\u9762\u62c9\u94fe\u96f6\u94b1\u5305 \u5973\u5f0f\u624b\u62ff\u5305\u5305 \u4e10\u5e2e\u9152\u58f6","cover_price":"33.15","brief":"","figure":"\/1447999535316.jpg","sell_time_start":"1478772000","sell_time_end":"1448553600"},{"product_id":"15","origin_price":"90.00","channel_id":"4","brand_id":"3","p_catalog_id":"17","supplier_type":"1","supplier_code":"1101036","name":"\u3010\u5c0f\u8ff7\u5154\u3011\u5251\u7f513 \u5251\u4e09 \u957f\u67c4 \u81ea\u52a8 \u53e4\u98ce\u96e8\u4f1e \u590f\u65e5\u51fa\u884c","cover_price":"76.50","brief":"\u5251\u7f51\u4e09 \u52513 \u7f57\u4f1e\u9716\u96e8\u6625 \u7a7a\u8c37\u5e7d\u5170\u00a0\u96e8\u4f1e\u957f\u67c4 \u7537\u5973\u96e8\u4f1e \u51fa\u54c1\uff1a\u5c0f\u8ff7\u5154\u7684\u5468\u8fb9","figure":"\/1460529658392.jpg","sell_time_start":"1478772000","sell_time_end":"0"},{"product_id":"3212","origin_price":"230.00","channel_id":"4","brand_id":"3","p_catalog_id":"90","supplier_type":"2","supplier_code":"802001","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u539f\u521b\u8bbe\u8ba1\u53ef\u8c03\u5149\u5145\u7535\u53f0\u706f\u3010\u4e4c\u591c\u557c\u3011","cover_price":"202.40","brief":"\u6b64\u4e3a\u4e0b\u5355\u5b9a\u5236\u3002\u5de5\u671f7-10\u5929\u3002\u7531\u781a\u6c60\u53d1\u8d27\u3002\u975e\u8d28\u91cf\u95ee\u9898\u4e0b\u5355\u4e0d\u4f5c\u9000\u6362\u3002","figure":"\/1474971558864.jpg","sell_time_start":"1478772000","sell_time_end":"1449676800"},{"product_id":"5","origin_price":"13.00","channel_id":"4","brand_id":"3","p_catalog_id":"26","supplier_type":"1","supplier_code":"0","name":"\u3010\u884d\u751f\u539f\u521b\u3011\u5251\u4fa0\u60c5\u7f18\u53c1 \u5251\u7f513 \u5251\u4e09\u62a4\u8eab\u7b26\u9999\u5305 \u6302\u4ef6 \u5fa1\u5b88","cover_price":"13.00","brief":"\u51fa\u54c1\uff1a\u55b5\u53fd\u53fd\u53fd\u5927\u8054\u840c","figure":"\/1429840421737.jpg","sell_time_start":"0","sell_time_end":"0"},{"product_id":"2945","origin_price":"68.00","channel_id":"4","brand_id":"3","p_catalog_id":"105","supplier_type":"1","supplier_code":"1101036","name":"\u3010\u5c0f\u8ff7\u5154\u3011\u5251\u7f513\u5468\u8fb9\u95e8\u6d3eLOGO \u7eaf\u68c9\u9488\u7ec7\u56f4\u5dfe ","cover_price":"57.80","brief":"","figure":"\/1447999737252.jpg","sell_time_start":"1478772000","sell_time_end":"1448553600"},{"product_id":"2514","origin_price":"15.00","channel_id":"4","brand_id":"3","p_catalog_id":"26","supplier_type":"1","supplier_code":"0","name":"\u3010\u540c\u4eba\u539f\u521b\u3011\u5251\u7f513 \u55b5\u54e5\u6821\u670dQ\u7248 \u8d85\u840c\u55b5\u53fd \u6302\u4ef6","cover_price":"15.00","brief":"","figure":"\/1446101440788.jpg","sell_time_start":"1446048000","sell_time_end":"1446652800"},{"product_id":"6414","origin_price":"20.00","channel_id":"4","brand_id":"3","p_catalog_id":"77","supplier_type":"1","supplier_code":"1101036","name":"\u3010\u5c0f\u8ff7\u5154\u3011\u5251\u7f513\u5251\u4e09\u5468\u8fb9 \u65b0\u5ba0\u5361\u901a\u95e8\u6d3e\u96f6\u94b1\u5305 \u5c0f\u94b1\u5305 \u5973\u58eb\u5305","cover_price":"15.00","brief":"","figure":"\/1469587052018.jpg","sell_time_start":"1462896000","sell_time_end":"1463500800"},{"product_id":"6113","origin_price":"45.00","channel_id":"4","brand_id":"182","p_catalog_id":"31","supplier_type":"1","supplier_code":"1101009","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u5200\u5251\u4e71\u821e-ONLINE- \u5200\u7537\u6298\u6247","cover_price":"45.00","brief":"","figure":"\/1461665662734.jpg","sell_time_start":"1461600000","sell_time_end":"1462204800"},{"product_id":"3281","origin_price":"159.00","channel_id":"4","brand_id":"281","p_catalog_id":"71","supplier_type":"2","supplier_code":"100004","name":"\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u5251\u4e09 \u4e07\u82b1 \u5170\u4ead\u9999\u96ea 95\u5927\u6a59\u6b66\u53d1\u7c2a\u5468\u8fb9\u6446\u4ef6\u9884\u552e","cover_price":"120.00","brief":"\u6700\u540e\u4e00\u6b21\u5f0095\u4e07\u82b1\u56e2\u4e86\uff01\uff01\uff01\u6700\u540e500\u4e2a\u5b8c\u552e\u540e\u5c31\u6b63\u5f0f\u5c01\u4ed3\u4e0d\u518d\u505a\u4e86\uff01\uff01 \r\n\u5927\u8d27\u6837\u56fe\u5df2\u51fa\uff01\uff01\u6539\u7248\u4e4b\u540e\u66f4\u5c4c\u6709\u6728\u6709\uff01\u771f\u91d1\u7535\u9540\u7edd\u5bf9\u8d85\u503c\uff01 \u5b9e\u529b\u6253\u9020\uff0c\u4e0d\u5bb9\u9519\u8fc7\uff01 \u7528\u5fc3\u6253\u78e8\uff0c\u53ea\u4e3a\u613f\u60a8\u4e00\u4e2a\u6a59\u6b66\u68a6\uff01\uff01\uff01\r\n\u56fe\u4e3a\u6700\u7ec8\u6837\uff0c\u9646\u7eed\u4f1a\u653e\u5927\u8d27\u9ad8\u6e05\u5927\u56fe\uff01\uff01\u5b9e\u529b\u6253\u9020\uff0c\u4e0d\u5bb9\u9519\u8fc7\uff01 \u7528\u5fc3\u6253\u78e8\uff0c\u53ea\u4e3a\u5706\u5c3c\u4e00\u4e2a\u6a59\u6b66\u68a6\uff01\uff01\uff01","figure":"\/1453194827823.jpg","sell_time_start":"0","sell_time_end":"0"},{"product_id":"3211","origin_price":"15.00","channel_id":"4","brand_id":"3","p_catalog_id":"26","supplier_type":"2","supplier_code":"802001","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u793c\u7269 \u95e8\u6d3e\u884d\u751f\u91d1\u5c5e\u4e66\u7b7e","cover_price":"13.20","brief":"","figure":"\/1449137495482.jpg","sell_time_start":"1478772000","sell_time_end":"1449676800"},{"product_id":"5774","origin_price":"92.00","channel_id":"4","brand_id":"3","p_catalog_id":"90","supplier_type":"2","supplier_code":"802001","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u5b9a\u5236\u793c\u7269\u50a8\u84c4\u7f50\u6536\u7eb3\u76d2","cover_price":"80.96","brief":"","figure":"\/supplier\/1478517808928.jpg","sell_time_start":"1478772000","sell_time_end":"1460044800"},{"product_id":"21","origin_price":"8.00","channel_id":"4","brand_id":"3","p_catalog_id":"26","supplier_type":"1","supplier_code":"0","name":"\u3010\u540c\u4eba\u539f\u521b\u3011\u5251\u7f513 \u5251\u4fa0\u60c5\u7f18\u53c1 Q\u7248\u6210\u7537 \u53e3\u888b\u80f8\u9488","cover_price":"8.00","brief":"\u3010\u540c\u4eba\u539f\u521b\u3011\u5251\u4fa0\u60c5\u7f18\u53c1 \u53e3\u888b\u80f8\u9488\u00a0\u5251\u7f51\u4e09\u7cfb\u5217","figure":"\/1460456357286.jpg","sell_time_start":"0","sell_time_end":"0"},{"product_id":"1341","origin_price":"50.00","channel_id":"4","brand_id":"3","p_catalog_id":"24","supplier_type":"1","supplier_code":"0","name":"\u3010\u84dd\u8bfa\u3011\u300a\u5929\u4e0b\u543e\u53cc\u300b \u5251\u7f513\u540c\u4eba\u672c","cover_price":"50.00","brief":"","figure":"\/1441850026602.jpg","sell_time_start":"1441814400","sell_time_end":"1442419200"},{"product_id":"1351","origin_price":"35.00","channel_id":"4","brand_id":"3","p_catalog_id":"104","supplier_type":"1","supplier_code":"0","name":"\u3010\u94b1\u5858\u591c\u753b\u3011\u5251\u7f513 \u5251\u4e09 \u5468\u8fb9 11\u5927\u95e8\u6d3e\u624b\u673a\u5305 \u624b\u5de5\u5c0f\u5305","cover_price":"35.00","brief":"\u5176\u4f59\u95e8\u6d3e\u6b63\u5728\u5236\u4f5c\u7ec4 = 3=","figure":"\/1441953751100.jpg","sell_time_start":"1441900800","sell_time_end":"1442505600"},{"product_id":"3540","origin_price":"79.00","channel_id":"4","brand_id":"3","p_catalog_id":"24","supplier_type":"1","supplier_code":"0","name":"\u3010\u5408\u5fd7\u3011\u3010\u4e8c\u5237\u73b0\u8d27\u3011\u300a\u82cd\u5929\u9976\u8fc7\u8c01\u300b \u5251\u7f513 \u5251\u4e09 \u540c\u4eba\u6f2b\u753b","cover_price":"70.00","brief":"\u9650\u91cf\u4e8c\u5237\u73b0\u8d27~","figure":"\/1450271803680.jpg","sell_time_start":"1450195200","sell_time_end":"1450800000"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/GAME_URL.json b/S202014040230郭刘芊/atguigu/json/GAME_URL.json
new file mode 100644
index 0000000..49a0bfb
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/GAME_URL.json
@@ -0,0 +1,108 @@
+{
+ "code": 200,
+ "msg": "请求成功",
+ "result": [
+ {
+ "child": [
+ {
+ "is_deleted": "0",
+ "name": "AR专区",
+ "p_catalog_id": "42",
+ "parent_id": "8",
+ "pic": "/product_catalog/1446017464778.jpg"
+ }
+ ],
+ "hot_product_list": [
+ {
+ "brand_id": "72",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "15.00",
+ "figure": "/1448549924430.jpg",
+ "name": "【官方正版】全职高手 叶修 苏沐橙 尚硅谷 AR卡",
+ "p_catalog_id": "42",
+ "product_id": "3041",
+ "sell_time_end": "1449072000",
+ "sell_time_start": "1448467200",
+ "supplier_code": "0",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "8",
+ "brief": "",
+ "channel_id": "4",
+ "cover_price": "12.00",
+ "figure": "/1448610769178.jpg",
+ "name": "尚硅谷 AR卡AR同人卡 刀剑乱舞 三日月宗近 小狐丸2.5次元",
+ "p_catalog_id": "42",
+ "product_id": "3056",
+ "sell_time_end": "1449158400",
+ "sell_time_start": "1448553600",
+ "supplier_code": "0",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "8",
+ "cover_price": "69.00",
+ "figure": "/1464776087422.jpg",
+ "name": "【尚硅谷出品】一发入魂 BUFFT恤 ART恤 2.5次元",
+ "p_catalog_id": "42",
+ "product_id": "6805",
+ "sell_time_end": "1465315200",
+ "sell_time_start": "1464710400",
+ "supplier_code": "0",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "42",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "12.00",
+ "figure": "/1448613918568.jpg",
+ "name": "尚硅谷 AR卡AR同人卡 黑执事系列动漫 漫画 塞巴斯蒂安 夏尔",
+ "p_catalog_id": "42",
+ "product_id": "3067",
+ "sell_time_end": "1449158400",
+ "sell_time_start": "1448553600",
+ "supplier_code": "0",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "86",
+ "brief": "",
+ "channel_id": "4",
+ "cover_price": "12.00",
+ "figure": "/1448615420723.jpg",
+ "name": "尚硅谷 AR卡AR同人卡 K系列 伊佐那社 夜刀神狗朗 伏见美咲 2.5次元",
+ "p_catalog_id": "42",
+ "product_id": "3078",
+ "sell_time_end": "1449158400",
+ "sell_time_start": "1448553600",
+ "supplier_code": "0",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "20",
+ "brief": "此宝贝需结合2.5次元应用使用 下载地址:http://www.artongren.com/download/",
+ "channel_id": "4",
+ "cover_price": "48.00",
+ "figure": "/1432113201786.jpg",
+ "name": "尚硅谷 AR卡AR同人卡 vocaloid/V家 初音未来 系列全套装 全套4款",
+ "p_catalog_id": "42",
+ "product_id": "56",
+ "sell_time_end": "0",
+ "sell_time_start": "0",
+ "supplier_code": "0",
+ "supplier_type": "1"
+ }
+ ],
+ "is_deleted": "0",
+ "name": "游戏专区",
+ "p_catalog_id": "8",
+ "parent_id": "0",
+ "pic": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/GOODSINFO_URL.json b/S202014040230郭刘芊/atguigu/json/GOODSINFO_URL.json
new file mode 100644
index 0000000..4f54fad
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/GOODSINFO_URL.json
@@ -0,0 +1,33 @@
+
+
+
+404-次元仓
+
+
+
+
+
+
+
+
+
+

+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/GUFENG_STORE.json b/S202014040230郭刘芊/atguigu/json/GUFENG_STORE.json
new file mode 100644
index 0000000..4733c9c
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/GUFENG_STORE.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"2704","origin_price":"300.00","channel_id":"6","brand_id":"230","p_catalog_id":"3","supplier_type":"1","supplier_code":"0","name":"\u4e2d\u534e\u98celolita -\u5c71\u6d77\u7ecf \u51e4\u51f0\u56fe JSK","cover_price":"300.00","brief":"","figure":"\/1447239453626.jpg","sell_time_start":"1447171200","sell_time_end":"1447776000"},{"product_id":"1969","origin_price":"12.00","channel_id":"6","brand_id":"80","p_catalog_id":"71","supplier_type":"1","supplier_code":"1101037","name":"\u3010\u753b\u5f71\u3011\u53e4\u98ce \u5934\u9970 Lolita \u7f8a\u5c3e\u5df4 \u88c5\u9970\u6bdb\u94b1\u6d41\u82cf\u53d1\u5939","cover_price":"12.00","brief":"","figure":"\/1443527992618.jpg","sell_time_start":"1443456000","sell_time_end":"1444060800"},{"product_id":"2215","origin_price":"158.00","channel_id":"6","brand_id":"215","p_catalog_id":"59","supplier_type":"1","supplier_code":"1101015","name":"\u3010\u6e38\u9e64\u5de5\u4f5c\u5ba4\u3011\u95f2\u68a6\u6c84\u6c84\u4e0b\u88d9\u523a\u7ee3\u767d\u9e7f\uff08\u77ed\u6b3e\uff09- \u85cf\u9752","cover_price":"110.60","brief":"\u73b0\u8d27 ","figure":"\/1444883979497.jpg","sell_time_start":"1444838400","sell_time_end":"1445443200"},{"product_id":"6727","origin_price":"9.90","channel_id":"6","brand_id":"80","p_catalog_id":"71","supplier_type":"1","supplier_code":"0","name":"\u3010\u55b5\u9e7f\u9171\u3011\u53e4\u98ce\u53d1\u5e26 \u548c\u98ce\u53d1\u5e26 \u591a\u6b3e\u53ef\u9009","cover_price":"9.90","brief":"","figure":"\/1464601009314.jpg","sell_time_start":"1464537600","sell_time_end":"1465142400"},{"product_id":"5181","origin_price":"250.00","channel_id":"6","brand_id":"394","p_catalog_id":"10","supplier_type":"2","supplier_code":"1101037","name":"\u3010\u753b\u5f71\u3011\u6c49\u5143\u7d20 \u53e4\u98ce\u65e5\u5e38\u2014\u2014 \u4ef2\u590f ","cover_price":"250.00","brief":"","figure":"\/1457504361484.jpg","sell_time_start":"1457452800","sell_time_end":"1458057600"},{"product_id":"1910","origin_price":"148.00","channel_id":"6","brand_id":"3","p_catalog_id":"17","supplier_type":"2","supplier_code":"1601002","name":"\u3010\u9038\u5f71\u9601\u3011\u5251\u7f513 \u5251\u4e09 \u591c\u5e55\u661f\u6cb3\u4f1e \u76f4\u9aa8\u957f\u67c4\/\u6298\u53e0\u96e8\u4f1e \u590f\u65e5\u51fa\u884c","cover_price":"148.00","brief":"","figure":"\/supplier\/1464589918004.jpg","sell_time_start":"1443369600","sell_time_end":"1443974400"},{"product_id":"2703","origin_price":"280.00","channel_id":"6","brand_id":"230","p_catalog_id":"3","supplier_type":"1","supplier_code":"0","name":"\u5c71\u6d77\u7ecf \u516b\u9e1f\u56fe \u53e4\u98ce\u65e5\u5e38","cover_price":"280.00","brief":"","figure":"\/1447239117492.jpg","sell_time_start":"1447171200","sell_time_end":"1447776000"},{"product_id":"555","origin_price":"69.00","channel_id":"6","brand_id":"3","p_catalog_id":"17","supplier_type":"1","supplier_code":"0","name":"\u3010\u53e4\u98ce\u539f\u521b\u3011 \u81ea\u52a8\u76f4\u67c4\u4f1e \u6674\u96e8\u4f1e \u3010\u9752\u7af9\u8bcd\u3011\u5305\u90ae \u65b0\u589e\u6298\u53e0\u4f1e","cover_price":"59.00","brief":"","figure":"\/1438680345318.jpg","sell_time_start":"1438617600","sell_time_end":"1439222400"},{"product_id":"6631","origin_price":"160.00","channel_id":"6","brand_id":"3","p_catalog_id":"10","supplier_type":"1","supplier_code":"0","name":"\u3010\u55b5\u9e7f\u9171\u3011\u6c49\u5143\u7d20\u65e5\u5e38\u77ed\u8966\u88d9\u5957\u88c5","cover_price":"160.00","brief":"","figure":"\/1463996769108.jpg","sell_time_start":"1463932800","sell_time_end":"1464537600"},{"product_id":"4948","origin_price":"120.00","channel_id":"6","brand_id":"336","p_catalog_id":"10","supplier_type":"2","supplier_code":"1907001","name":"\u3010\u6e05\u8d8a\u4e4b\u9e23\u3011\u539f\u521b\u6c49\u5143\u7d20\u65f6\u88c5 \u4e00\u4ef6\u5f0f\u9f50\u80f8\u8966\u88d9 \u4e8c\u5341\u56db\u8282\u6c14\u4e4b\u8c37\u96e8","cover_price":"120.00","brief":"\u3010\u73b0\u8d27\u3011\u552e\u5b8c\u4e0d\u8865\r\n\u539f\u521b\u6c49\u5143\u7d20\uff0c\u8c37\u96e8\uff0c\u4e09\u7c73\u5927\u6446\uff0c\u56e0\u5149\u7ebf\u548c\u62cd\u6444\u7b49\u95ee\u9898\u53ef\u80fd\u4f1a\u6709\u4e9b\u8bb8\u8272\u5dee\uff0c\u4ecb\u610f\u614e\u62cd\u3002\r\n\u6ee1128\u5143\u5168\u56fd\u5305\u90ae\u3002","figure":"\/supplier\/1456923360503.jpg","sell_time_start":"0","sell_time_end":"0"},{"product_id":"3015","origin_price":"98.00","channel_id":"6","brand_id":"230","p_catalog_id":"65","supplier_type":"1","supplier_code":"1101037","name":"\u3010\u753b\u5f71\u3011 \u96ea\u57df\u8537\u8587 \u65e5\u5e38\u4e24\u7528\u62ab\u80a9","cover_price":"98.00","brief":"\u73b0\u8d27","figure":"\/1448423767352.jpg","sell_time_start":"1448294400","sell_time_end":"1448899200"},{"product_id":"2220","origin_price":"48.00","channel_id":"6","brand_id":"3","p_catalog_id":"52","supplier_type":"1","supplier_code":"0","name":"\u3010\u753b\u5f71\u3011\u53e4\u98ce\u4e07\u7528\u6253\u5e95\u4e2d\u8349\u836f\u80cc\u5fc3 \u2014\u2014\u836f\u85cf\u79cb\u77f3 \u9f99\u80c6","cover_price":"48.00","brief":"","figure":"\/1444990060523.jpg","sell_time_start":"1444924800","sell_time_end":"1445529600"},{"product_id":"8161","origin_price":"115.00","channel_id":"6","brand_id":"234","p_catalog_id":"109","supplier_type":"2","supplier_code":"2101001","name":"\u3010\u53e4\u602a\u820d\u3011\u539f\u521b\u8bbe\u8ba1 \u9e64\u7cfb\u5217-\u96ea\u7eba\u9632\u6652\u670d \u4e2d\u56fd\u98ce\u5916\u5957\u5f00\u886b A86","cover_price":"101.00","brief":"","figure":"\/1469003481664.jpg","sell_time_start":"1478772000","sell_time_end":"1469548800"},{"product_id":"4632","origin_price":"38.00","channel_id":"6","brand_id":"3","p_catalog_id":"90","supplier_type":"2","supplier_code":"802001","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u5b9a\u5236\u793c\u7269 \u968f\u8eab\u955c\u5316\u5986\u955c\u3010\u4eff\u94dc\u6b3e\u3011","cover_price":"33.44","brief":"","figure":"\/1455763241297.jpg","sell_time_start":"1478772000","sell_time_end":"1456329600"},{"product_id":"554","origin_price":"69.00","channel_id":"6","brand_id":"3","p_catalog_id":"17","supplier_type":"1","supplier_code":"0","name":"\u3010\u53e4\u98ce\u539f\u521b\u3011 \u81ea\u52a8\u76f4\u67c4\u4f1e \u6674\u96e8\u4f1e \u3010\u96e8\u83b2\u3011\u5305\u90ae \u65b0\u589e\u6298\u53e0\u4f1e","cover_price":"59.00","brief":"","figure":"\/1438679465905.jpg","sell_time_start":"1438617600","sell_time_end":"1439222400"},{"product_id":"3419","origin_price":"25.00","channel_id":"6","brand_id":"80","p_catalog_id":"71","supplier_type":"1","supplier_code":"1101037","name":"\u3010\u753b\u5f71\u3011\u53e4\u98ce\u9ed1\u6a80\u6728\u53d1\u7c2a\u2014\u2014\u9f99\u89d2","cover_price":"21.00","brief":"","figure":"\/1449737056723.jpg","sell_time_start":"1449676800","sell_time_end":"1450281600"},{"product_id":"614","origin_price":"15.90","channel_id":"6","brand_id":"5","p_catalog_id":"32","supplier_type":"1","supplier_code":"0","name":"\u3010\u5c81\u6708\u574a\u3011\u624b\u5de5\u672c\u6c34\u58a8\u98ce\u4e4b\u58a8\u8377","cover_price":"9.90","brief":"","figure":"\/1438946011155.jpg","sell_time_start":"1438876800","sell_time_end":"1439481600"},{"product_id":"4023","origin_price":"68.00","channel_id":"6","brand_id":"5","p_catalog_id":"77","supplier_type":"2","supplier_code":"802001","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] [\u539f\u521b] \u5173\u5c71\u6708\u53cc\u9762\u7ee3\u82b1\u675f\u53e3\u8377\u5305","cover_price":"68.00","brief":"","figure":"\/1452670588009.jpg","sell_time_start":"1452614400","sell_time_end":"1453219200"},{"product_id":"1968","origin_price":"15.00","channel_id":"6","brand_id":"80","p_catalog_id":"71","supplier_type":"1","supplier_code":"1101037","name":"\u3010\u753b\u5f71\u3011\u53e4\u98ce \u5934\u9970 \u4eff\u771f\u7ee2\u82b1\u51b0\u4e1d\u6d41\u82cf\u624b\u5de5\u53d1\u5939","cover_price":"15.00","brief":"","figure":"\/1443527174561.jpg","sell_time_start":"1443456000","sell_time_end":"1444060800"},{"product_id":"8727","origin_price":"398.00","channel_id":"6","brand_id":"394","p_catalog_id":"88","supplier_type":"2","supplier_code":"1101037","name":"\u9884\u552e\u3010\u753b\u5f71\u3011 \u523a\u7ee3\u6b3e\u53e4\u98ce\u539f\u521b\u6c49\u5143\u7d20\u6539\u826f\u5957\u88c5 \u9c9b\u4eba\u6b4c \u6e56\u84dd\u9ed1-\u88d9\u5b50","cover_price":"398.00","brief":"\u9884\u552e\u671f\u81f38\u670828\u65e5\u665a12\u70b9\uff0c\u9884\u552e\u7ed3\u675f\u540e\u5f00\u59cb\u5236\u4f5c\uff0c\u5de5\u671f65\u5929\uff0c\u5b8c\u5de5\u540e\u5b89\u6392\u53d1\u8d27\u3002","figure":"\/1471227129244.jpg","sell_time_start":"1471190400","sell_time_end":"1471795200"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/HOME_PRODUCTS_URL.json b/S202014040230郭刘芊/atguigu/json/HOME_PRODUCTS_URL.json
new file mode 100644
index 0000000..3ce3528
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/HOME_PRODUCTS_URL.json
@@ -0,0 +1,270 @@
+{
+ "code": 200,
+ "msg": "请求成功",
+ "result": [
+ {
+ "child": [
+ {
+ "is_deleted": "0",
+ "name": "优惠券",
+ "p_catalog_id": "115",
+ "parent_id": "5",
+ "pic": "/product_catalog/1469183837648.png"
+ },
+ {
+ "is_deleted": "0",
+ "name": "家纺品",
+ "p_catalog_id": "81",
+ "parent_id": "5",
+ "pic": "/product_catalog/1446017029488.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "眼镜布",
+ "p_catalog_id": "85",
+ "parent_id": "5",
+ "pic": "/product_catalog/1446017110058.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "毛巾",
+ "p_catalog_id": "86",
+ "parent_id": "5",
+ "pic": "/product_catalog/1446017158779.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "创意宅物",
+ "p_catalog_id": "90",
+ "parent_id": "5",
+ "pic": "/product_catalog/1446017175586.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "零食",
+ "p_catalog_id": "99",
+ "parent_id": "5",
+ "pic": "/product_catalog/1449828955995.png"
+ },
+ {
+ "is_deleted": "0",
+ "name": "节日特典",
+ "p_catalog_id": "100",
+ "parent_id": "5",
+ "pic": "/product_catalog/1450682473783.png"
+ },
+ {
+ "is_deleted": "0",
+ "name": "桌游",
+ "p_catalog_id": "106",
+ "parent_id": "5",
+ "pic": "/product_catalog/1461814801527.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "兵人",
+ "p_catalog_id": "107",
+ "parent_id": "5",
+ "pic": "/product_catalog/1465383093721.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "BJD",
+ "p_catalog_id": "113",
+ "parent_id": "5",
+ "pic": "/product_catalog/1468306500168.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "手办",
+ "p_catalog_id": "48",
+ "parent_id": "5",
+ "pic": "/product_catalog/1446017012089.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "明信片",
+ "p_catalog_id": "23",
+ "parent_id": "5",
+ "pic": "/product_catalog/1446016836847.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "书籍",
+ "p_catalog_id": "24",
+ "parent_id": "5",
+ "pic": "/product_catalog/1446016851701.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "扭蛋/蛋盒",
+ "p_catalog_id": "25",
+ "parent_id": "5",
+ "pic": "/product_catalog/1446016874422.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "挂件",
+ "p_catalog_id": "26",
+ "parent_id": "5",
+ "pic": "/product_catalog/1446016891091.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "挂画海报",
+ "p_catalog_id": "27",
+ "parent_id": "5",
+ "pic": "/product_catalog/1446016906565.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "餐具",
+ "p_catalog_id": "28",
+ "parent_id": "5",
+ "pic": "/product_catalog/1446016944877.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "公仔",
+ "p_catalog_id": "29",
+ "parent_id": "5",
+ "pic": "/product_catalog/1446016961418.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "雨伞",
+ "p_catalog_id": "17",
+ "parent_id": "5",
+ "pic": "/product_catalog/1446016762275.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "DIY",
+ "p_catalog_id": "30",
+ "parent_id": "5",
+ "pic": "/product_catalog/1446016974517.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "扇子",
+ "p_catalog_id": "31",
+ "parent_id": "5",
+ "pic": "/product_catalog/1446016989168.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "抱枕",
+ "p_catalog_id": "22",
+ "parent_id": "5",
+ "pic": "/product_catalog/1446016784975.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "等身抱枕",
+ "p_catalog_id": "83",
+ "parent_id": "5",
+ "pic": "/product_catalog/1446017074190.jpg"
+ },
+ {
+ "is_deleted": "0",
+ "name": "护肤品",
+ "p_catalog_id": "98",
+ "parent_id": "5",
+ "pic": "/product_catalog/1449660885387.jpg"
+ }
+ ],
+ "hot_product_list": [
+ {
+ "brand_id": "72",
+ "brief": "",
+ "channel_id": "10",
+ "cover_price": "4.80",
+ "figure": "/1465268743242.jpg",
+ "name": "【艾漫】全职高手-蜜饯系列",
+ "p_catalog_id": "99",
+ "product_id": "6869",
+ "sell_time_end": "1465833600",
+ "sell_time_start": "1465228800",
+ "supplier_code": "300012",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "72",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "25.00",
+ "figure": "/1464419271883.jpg",
+ "name": "【艾漫】全职高手 星座亚克力挂件",
+ "p_catalog_id": "26",
+ "product_id": "6698",
+ "sell_time_end": "1464969600",
+ "sell_time_start": "1464364800",
+ "supplier_code": "300011",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "72",
+ "brief": "预计2016年10月发货",
+ "channel_id": "3",
+ "cover_price": "12.00",
+ "figure": "/1470711927785.jpg",
+ "name": "【预售】【艾漫】全职高手-七夕心形徽章徽章",
+ "p_catalog_id": "90",
+ "product_id": "8629",
+ "sell_time_end": "1471276800",
+ "sell_time_start": "1470672000",
+ "supplier_code": "300011",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "5",
+ "brief": "3款可供选择,小仓送镊子、胶水等工具哦~",
+ "channel_id": "3",
+ "cover_price": "36.00",
+ "figure": "/1455775424896.jpg",
+ "name": "【智趣屋】DIY小屋盒子剧场 手工拼装房子 模型玩具创意礼品 送工具",
+ "p_catalog_id": "30",
+ "product_id": "4640",
+ "sell_time_end": "1456329600",
+ "sell_time_start": "1455724800",
+ "supplier_code": "0",
+ "supplier_type": "1"
+ },
+ {
+ "brand_id": "5",
+ "brief": "此商品只作为补差价或邮费专用,小伙伴们不要乱拍呀~差几元拍几个~ o(*≧▽≦)ツ",
+ "channel_id": "3",
+ "cover_price": "1.00",
+ "figure": "/1452742997932.jpg",
+ "name": "尚硅谷邮费补拍专用万能拍【请不要乱拍哦~】",
+ "p_catalog_id": "100",
+ "product_id": "4063",
+ "sell_time_end": "1453305600",
+ "sell_time_start": "1452700800",
+ "supplier_code": "3300001",
+ "supplier_type": "2"
+ },
+ {
+ "brand_id": "72",
+ "brief": "钥匙扣已开始陆续发货的说~
+不含底板~底板背板组合玩法可戳关联商品。",
+ "channel_id": "3",
+ "cover_price": "18.00",
+ "figure": "/1466157188535.jpg",
+ "name": "【官方正版】 全职高手 国家队系列挂件 Q版 亚克力 挂件--叶修",
+ "p_catalog_id": "26",
+ "product_id": "7238",
+ "sell_time_end": "1466697600",
+ "sell_time_start": "1466092800",
+ "supplier_code": "0",
+ "supplier_type": "1"
+ }
+ ],
+ "is_deleted": "0",
+ "name": "居家宅品",
+ "p_catalog_id": "5",
+ "parent_id": "0",
+ "pic": ""
+ }
+ ]
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/HOME_URL.json b/S202014040230郭刘芊/atguigu/json/HOME_URL.json
new file mode 100644
index 0000000..d2ab15b
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/HOME_URL.json
@@ -0,0 +1,272 @@
+{
+ "code": 200,
+ "msg": "请求成功",
+ "result": {
+ "act_info": [
+ {
+ "icon_url": "/operation/img/1478169868/1478761370286.png",
+ "name": "尚硅谷福利专区之111.1专区",
+ "url": "/oper/1478169868app.html"
+ },
+ {
+ "icon_url": "/operation/img/1478763176/1478762941492.png",
+ "name": "尚硅谷福利专区 黄金狗粮限量11.1元抢",
+ "url": "/oper/1478763176app.html"
+ }
+ ],
+ "banner_info": [
+ {
+ "image": "/1478770583834.png",
+ "option": 3,
+ "type": 0,
+ "value": {
+ "url": "/act20161111?cyc_app=1"
+ }
+ },
+ {
+ "image": "/1478770583835.png",
+ "option": 2,
+ "type": 0,
+ "value": {
+ "url": "/act20161111?cyc_app=1"
+ }
+ },
+ {
+ "image": "/1478770583836.png",
+ "option": 1,
+ "type": 0,
+ "value": {
+ "url": "/act20161111?cyc_app=1"
+ }
+ }
+ ],
+ "channel_info": [
+ {
+ "channel_name": "服饰",
+ "image": "/app/img/menu-cyc.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "8"
+ }
+ },
+ {
+ "channel_name": "游戏",
+ "image": "/app/img/menu-game.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "4"
+ }
+ },
+ {
+ "channel_name": "动漫",
+ "image": "/app/img/menu-carttoon.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "3"
+ }
+ },
+ {
+ "channel_name": "装扮",
+ "image": "/app/img/menu-cosplay.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "5"
+ }
+ },
+ {
+ "channel_name": "古风",
+ "image": "/app/img/menu-oldage.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "6"
+ }
+ },
+ {
+ "channel_name": "漫展票务",
+ "image": "/app/img/menu-collect.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "9"
+ }
+ },
+ {
+ "channel_name": "文具",
+ "image": "/app/img/menu-stationery.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "11"
+ }
+ },
+ {
+ "channel_name": "零食",
+ "image": "/app/img/menu-snack.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "10"
+ }
+ },
+ {
+ "channel_name": "首饰",
+ "image": "/app/img/menu-jewelry.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "12"
+ }
+ },
+ {
+ "channel_name": "更多",
+ "image": "/app/img/menu-more.png",
+ "option": 6,
+ "type": 1,
+ "value": {
+ "channel_id": "13"
+ }
+ }
+ ],
+ "hot_info": [
+ {
+ "cover_price": "159.00",
+ "figure": "/1477984921265.jpg",
+ "name": "现货【一方尘寰】剑侠情缘三剑三七秀 干将莫邪 90橙武仿烧蓝复古对簪",
+ "product_id": "9356"
+ },
+ {
+ "cover_price": "159.00",
+ "figure": "/1477984931882.jpg",
+ "name": "现货【一方尘寰】剑侠情缘三剑三七秀 干将莫邪 90橙武仿烧蓝复古对簪-特典版",
+ "product_id": "10391"
+ },
+ {
+ "cover_price": "29.00",
+ "figure": "/1452161899947.jpg",
+ "name": "【喵鹿酱】超萌 假透肉 拼接 踩脚过膝打底袜 裤袜-加绒保暖",
+ "product_id": "3831"
+ },
+ {
+ "cover_price": "199.00",
+ "figure": "/1447232577216.jpg",
+ "name": "【漫踪】原创 宫崎骏 龙猫 可爱雪地靴动漫保暖鞋周边冬季毛绒鞋子",
+ "product_id": "2691"
+ },
+ {
+ "cover_price": "70.00",
+ "figure": "/1474370572805.jpg",
+ "name": "【现货】【GIRLISM少女主义】 第4期 2016夏秋刊 lolita",
+ "product_id": "9414"
+ },
+ {
+ "cover_price": "4.80",
+ "figure": "/1465268743242.jpg",
+ "name": "【艾漫】全职高手-蜜饯系列",
+ "product_id": "6869"
+ },
+ {
+ "cover_price": "143.10",
+ "figure": "/1477360350123.png",
+ "name": "【高冷猫】暗黑系软妹病娇药丸少女秋装假俩件加厚卫衣帽衫 预售",
+ "product_id": "10136"
+ },
+ {
+ "cover_price": "329.00",
+ "figure": "/supplier/1467702094592.jpg",
+ "name": "【wacom】数位板画板ctl471手绘板bamboo电脑绘画电子绘图板ps",
+ "product_id": "7752"
+ }
+ ],
+ "recommend_info": [
+ {
+ "cover_price": "138.00",
+ "figure": "/supplier/1478873740576.jpg",
+ "name": "【尚硅谷】日常 萌系小天使卫衣--白色款",
+ "product_id": "10659"
+ },
+ {
+ "cover_price": "138.00",
+ "figure": "/supplier/1478873369497.jpg",
+ "name": "【尚硅谷】日常 萌系小恶魔卫衣--黑色款",
+ "product_id": "10658"
+ },
+ {
+ "cover_price": "32.00",
+ "figure": "/supplier/1478867468462.jpg",
+ "name": "预售【漫友文化】全职高手6 天闻角川 流地徽章 全新典藏版 蝴蝶蓝 猫树绘 赠精美大海报+首刷限定赠2017年活页台历",
+ "product_id": "10657"
+ },
+ {
+ "cover_price": "18.00",
+ "figure": "/1478860081305.jpg",
+ "name": "【幸运星】烫金雪纺JSK的配件小物:手 套、项链",
+ "product_id": "10656"
+ },
+ {
+ "cover_price": "178.00",
+ "figure": "/1478850234799.jpg",
+ "name": "【尚硅谷】妖狐图腾 阴阳师同人元素卫衣",
+ "product_id": "10655"
+ },
+ {
+ "cover_price": "138.00",
+ "figure": "/1478849792177.jpg",
+ "name": "【尚硅谷】学院风 日常百搭 宽松长袖衬衫",
+ "product_id": "10654"
+ }
+ ],
+ "seckill_info": {
+ "end_time": "1479052800",
+ "list": [
+ {
+ "cover_price": "20.00",
+ "figure": "/1478489000522.png",
+ "name": "尚硅谷购物节特供优惠券 满600-120优惠券",
+ "origin_price": "20.00",
+ "product_id": "7100"
+ },
+ {
+ "cover_price": "10.00",
+ "figure": "/1478489035167.png",
+ "name": "尚硅谷购物节特供优惠券 满300-80优惠券",
+ "origin_price": "10.00",
+ "product_id": "7101"
+ },
+ {
+ "cover_price": "5.00",
+ "figure": "/1478489878735.png",
+ "name": "尚硅谷购物节特供优惠券 满160-40优惠券",
+ "origin_price": "5.00",
+ "product_id": "7102"
+ },
+ {
+ "cover_price": "49.00",
+ "figure": "/1475045805488.jpg",
+ "name": "【古风原创】 自动直柄伞 晴雨伞 【云鹤游】包邮 新增折叠伞",
+ "origin_price": "69.00",
+ "product_id": "9593"
+ },
+ {
+ "cover_price": "5.00",
+ "figure": "/1478678511949.png",
+ "name": "尚硅谷购物节特供优惠券 满60-20优惠券",
+ "origin_price": "5.00",
+ "product_id": "10536"
+ },
+ {
+ "cover_price": "49.00",
+ "figure": "/1438680345318.jpg",
+ "name": "【古风原创】 自动直柄伞 晴雨伞 【青竹词】包邮 新增折叠伞",
+ "origin_price": "59.00",
+ "product_id": "555"
+ }
+ ],
+ "start_time": "1478772000"
+ }
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/HOME_URL.json.bak b/S202014040230郭刘芊/atguigu/json/HOME_URL.json.bak
new file mode 100644
index 0000000..8941140
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/HOME_URL.json.bak
@@ -0,0 +1,270 @@
+{
+ "code": 200,
+ "msg": "请求成功",
+ "result": {
+ "act_info": [
+ {
+ "icon_url": "/operation/img/1478169868/1478761370286.png",
+ "name": "尚硅谷福利专区之111.1专区",
+ "url": "/oper/1478169868app.html"
+ },
+ {
+ "icon_url": "/operation/img/1478763176/1478762941492.png",
+ "name": "尚硅谷福利专区 黄金狗粮限量11.1元抢",
+ "url": "/oper/1478763176app.html"
+ }
+ ],
+ "banner_info": [
+ {
+ "image": "/1478770583834.png",
+ "option": 3,
+ "type": 0,
+ "value": {
+ "url": "/act20161111?cyc_app=1"
+ }
+ },
+ {
+ "image": "/1478770583835.png",
+ "option": 2,
+ "type": 0,
+ "value": {
+ "url": "/act20161111?cyc_app=1"
+ }
+ },
+ {
+ "image": "/1478770583836.png",
+ "option": 1,
+ "type": 0,
+ "value": {
+ "url": "/act20161111?cyc_app=1"
+ }
+ }
+ ],
+ "channel_info": [
+ {
+ "channel_name": "服饰",
+ "image": "/app/img/menu-cyc.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "8"
+ }
+ },
+ {
+ "channel_name": "游戏",
+ "image": "/app/img/menu-game.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "4"
+ }
+ },
+ {
+ "channel_name": "动漫",
+ "image": "/app/img/menu-carttoon.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "3"
+ }
+ },
+ {
+ "channel_name": "装扮",
+ "image": "/app/img/menu-cosplay.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "5"
+ }
+ },
+ {
+ "channel_name": "古风",
+ "image": "/app/img/menu-oldage.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "6"
+ }
+ },
+ {
+ "channel_name": "漫展票务",
+ "image": "/app/img/menu-collect.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "9"
+ }
+ },
+ {
+ "channel_name": "文具",
+ "image": "/app/img/menu-stationery.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "11"
+ }
+ },
+ {
+ "channel_name": "零食",
+ "image": "/app/img/menu-snack.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "10"
+ }
+ },
+ {
+ "channel_name": "首饰",
+ "image": "/app/img/menu-jewelry.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "12"
+ }
+ },
+ {
+ "channel_name": "更多",
+ "image": "/app/img/menu-more.png",
+ "option": 6,
+ "type": 1,
+ "value": []
+ }
+ ],
+ "hot_info": [
+ {
+ "cover_price": "159.00",
+ "figure": "/1477984921265.jpg",
+ "name": "现货【一方尘寰】剑侠情缘三剑三七秀 干将莫邪 90橙武仿烧蓝复古对簪",
+ "product_id": "9356"
+ },
+ {
+ "cover_price": "159.00",
+ "figure": "/1477984931882.jpg",
+ "name": "现货【一方尘寰】剑侠情缘三剑三七秀 干将莫邪 90橙武仿烧蓝复古对簪-特典版",
+ "product_id": "10391"
+ },
+ {
+ "cover_price": "29.00",
+ "figure": "/1452161899947.jpg",
+ "name": "【喵鹿酱】超萌 假透肉 拼接 踩脚过膝打底袜 裤袜-加绒保暖",
+ "product_id": "3831"
+ },
+ {
+ "cover_price": "199.00",
+ "figure": "/1447232577216.jpg",
+ "name": "【漫踪】原创 宫崎骏 龙猫 可爱雪地靴动漫保暖鞋周边冬季毛绒鞋子",
+ "product_id": "2691"
+ },
+ {
+ "cover_price": "70.00",
+ "figure": "/1474370572805.jpg",
+ "name": "【现货】【GIRLISM少女主义】 第4期 2016夏秋刊 lolita",
+ "product_id": "9414"
+ },
+ {
+ "cover_price": "4.80",
+ "figure": "/1465268743242.jpg",
+ "name": "【艾漫】全职高手-蜜饯系列",
+ "product_id": "6869"
+ },
+ {
+ "cover_price": "143.10",
+ "figure": "/1477360350123.png",
+ "name": "【高冷猫】暗黑系软妹病娇药丸少女秋装假俩件加厚卫衣帽衫 预售",
+ "product_id": "10136"
+ },
+ {
+ "cover_price": "329.00",
+ "figure": "/supplier/1467702094592.jpg",
+ "name": "【wacom】数位板画板ctl471手绘板bamboo电脑绘画电子绘图板ps",
+ "product_id": "7752"
+ }
+ ],
+ "recommend_info": [
+ {
+ "cover_price": "138.00",
+ "figure": "/supplier/1478873740576.jpg",
+ "name": "【尚硅谷】日常 萌系小天使卫衣--白色款",
+ "product_id": "10659"
+ },
+ {
+ "cover_price": "138.00",
+ "figure": "/supplier/1478873369497.jpg",
+ "name": "【尚硅谷】日常 萌系小恶魔卫衣--黑色款",
+ "product_id": "10658"
+ },
+ {
+ "cover_price": "32.00",
+ "figure": "/supplier/1478867468462.jpg",
+ "name": "预售【漫友文化】全职高手6 天闻角川 流地徽章 全新典藏版 蝴蝶蓝 猫树绘 赠精美大海报+首刷限定赠2017年活页台历",
+ "product_id": "10657"
+ },
+ {
+ "cover_price": "18.00",
+ "figure": "/1478860081305.jpg",
+ "name": "【幸运星】烫金雪纺JSK的配件小物:手 套、项链",
+ "product_id": "10656"
+ },
+ {
+ "cover_price": "178.00",
+ "figure": "/1478850234799.jpg",
+ "name": "【尚硅谷】妖狐图腾 阴阳师同人元素卫衣",
+ "product_id": "10655"
+ },
+ {
+ "cover_price": "138.00",
+ "figure": "/1478849792177.jpg",
+ "name": "【尚硅谷】学院风 日常百搭 宽松长袖衬衫",
+ "product_id": "10654"
+ }
+ ],
+ "seckill_info": {
+ "end_time": "1479052800",
+ "list": [
+ {
+ "cover_price": "20.00",
+ "figure": "/1478489000522.png",
+ "name": "尚硅谷购物节特供优惠券 满600-120优惠券",
+ "origin_price": "20.00",
+ "product_id": "7100"
+ },
+ {
+ "cover_price": "10.00",
+ "figure": "/1478489035167.png",
+ "name": "尚硅谷购物节特供优惠券 满300-80优惠券",
+ "origin_price": "10.00",
+ "product_id": "7101"
+ },
+ {
+ "cover_price": "5.00",
+ "figure": "/1478489878735.png",
+ "name": "尚硅谷购物节特供优惠券 满160-40优惠券",
+ "origin_price": "5.00",
+ "product_id": "7102"
+ },
+ {
+ "cover_price": "49.00",
+ "figure": "/1475045805488.jpg",
+ "name": "【古风原创】 自动直柄伞 晴雨伞 【云鹤游】包邮 新增折叠伞",
+ "origin_price": "69.00",
+ "product_id": "9593"
+ },
+ {
+ "cover_price": "5.00",
+ "figure": "/1478678511949.png",
+ "name": "尚硅谷购物节特供优惠券 满60-20优惠券",
+ "origin_price": "5.00",
+ "product_id": "10536"
+ },
+ {
+ "cover_price": "49.00",
+ "figure": "/1438680345318.jpg",
+ "name": "【古风原创】 自动直柄伞 晴雨伞 【青竹词】包邮 新增折叠伞",
+ "origin_price": "59.00",
+ "product_id": "555"
+ }
+ ],
+ "start_time": "1478772000"
+ }
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/HOT_POST_URL.json b/S202014040230郭刘芊/atguigu/json/HOT_POST_URL.json
new file mode 100644
index 0000000..2c7797f
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/HOT_POST_URL.json
@@ -0,0 +1,116 @@
+{
+ "code": 200,
+ "msg": "请求成功",
+ "result": [
+ {
+ "add_time": "1478848148",
+ "avatar": "/ugc/user/avatar/14611224500881026.jpeg",
+ "comment_list": [
+ "一定要双十一那天发帖么?_(:з」∠)_"
+ ],
+ "comments": "1",
+ "figure": "/ugc/post/img/201611/14788481411252582.jpeg",
+ "is_essence": "1",
+ "is_hot": "1",
+ "is_like": "0",
+ "is_top": "1",
+ "likes": "2",
+ "post_id": "2616",
+ "saying": "【购物节活动】从今天起!民那桑在社区晒出购物节期间购买的订单~活动期间每天抽一位用户免单哦!!是免!单!哦!快来晒出你的订单吧!",
+ "user_id": "246715",
+ "username": "飞天小谷"
+ },
+ {
+ "add_time": "1478681505",
+ "avatar": "/ugc/user/avatar/14651924470798522.png",
+ "comment_list": [
+ "然而看一眼,真没想要买的……",
+ "回复尚硅谷首席神秘官:猴!",
+ "回复胖成球:这次会送,另外也会上架售卖",
+ "这个有卖吗!还是只有这次送呢?",
+ "好可爱!!!"
+ ],
+ "comments": "5",
+ "figure": "/ugc/post/img/201611/14786815026026582.png",
+ "is_essence": "0",
+ "is_hot": "0",
+ "is_like": "0",
+ "is_top": "1",
+ "likes": "3",
+ "post_id": "2602",
+ "saying": "2333双十一马上到啦,小仓给您们带来惊喜了哦:凡是在10号18点到13号24点之间购买次元仓自营发货的订单都赠送萌萌哒小仓贴纸哦!",
+ "user_id": "90437",
+ "username": "尚硅谷首席惊喜官"
+ },
+ {
+ "add_time": "1475140120",
+ "avatar": "/ugc/user/avatar/14651924470798522.png",
+ "comment_list": [
+ "666",
+ "回复尚硅谷首席铲屎官:wom",
+ "回复尚硅谷首席铲屎官:wom",
+ "ilcd",
+ "回复 @夕夕夕凄:亲 通过首页的“小谷陪你过国庆”的banner进去就可以参加大转盘抽奖了*^_^*",
+ "哎找不到大转盘哎",
+ "回复 @小鸟~萌萌哒:大转盘9月30日18点上线哦",
+ "大转盘在哪里找呀?~~~",
+ "回复尚硅谷哒小神棍:满减是可以配合优惠券一起叠加使用的",
+ "回复尚硅谷哒小神棍:国庆我们有满减,这个才是重头啦,优惠券这次国庆不是主角!",
+ "优惠券的力度减小了,有些商品除了小仓自营的商品不划算。就算有免单的机会也不一定能抽到啊!"
+ ],
+ "comments": "11",
+ "figure": "/ugc/post/img/201609/14751401203006663.png",
+ "is_essence": "1",
+ "is_hot": "1",
+ "is_like": "0",
+ "is_top": "1",
+ "likes": "18",
+ "post_id": "2345",
+ "saying": "特大惊喜:#谷の盛典# #小谷陪你过国庆# 国庆攻略大曝光!小谷教您买买买!0元备战黄金周~30日前海量优惠券免!费!领!假期福利满天飞~全场满减搭配优惠券!爆款直降白菜价!",
+ "user_id": "90437",
+ "username": "尚硅谷首席惊喜官"
+ },
+ {
+ "add_time": "1474625262",
+ "avatar": "/ugc/user/avatar/14651924470798522.png",
+ "comment_list": [
+ "啦啦",
+ "啦啦",
+ "吃土快乐,祝我快乐",
+ "猝不及防一口土……",
+ "吃土愉快",
+ "啊啊啊啊啊啊啊疯掉了!!!!!猝不及防啊啊啊"
+ ],
+ "comments": "7",
+ "figure": "/ugc/post/img/201609/14746252609717297.png",
+ "is_essence": "1",
+ "is_hot": "1",
+ "is_like": "0",
+ "is_top": "1",
+ "likes": "15",
+ "post_id": "2313",
+ "saying": "惊喜不断,新爆款、爆款、爆款,限时预定哦!",
+ "user_id": "90437",
+ "username": "尚硅谷首席惊喜官"
+ },
+ {
+ "add_time": "1473674779",
+ "avatar": "/ugc/user/avatar/14651924470798522.png",
+ "comment_list": [
+ "第二!",
+ "我第一~~哈哈哈~~沙发~"
+ ],
+ "comments": "2",
+ "figure": "/ugc/post/img/201609/14736747792594015.png",
+ "is_essence": "1",
+ "is_hot": "1",
+ "is_like": "0",
+ "is_top": "1",
+ "likes": "22",
+ "post_id": "2199",
+ "saying": "尚硅谷的新品-流烟昔泠新款套装【轻梦泽】今晚八点准时在次元仓首发,买买买2333…",
+ "user_id": "90437",
+ "username": "尚硅谷首席惊喜官"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/JACKET_URL.json b/S202014040230郭刘芊/atguigu/json/JACKET_URL.json
new file mode 100644
index 0000000..4af70e9
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/JACKET_URL.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":[{"p_catalog_id":"51","parent_id":"0","name":"\u4e0a\u8863","pic":"","is_deleted":"0","child":[{"p_catalog_id":"52","parent_id":"51","name":"\u65e5\u5e38","pic":"\/product_catalog\/1446017524434.jpg","is_deleted":"0"},{"p_catalog_id":"96","parent_id":"51","name":"\u6cf3\u8863","pic":"\/product_catalog\/1449216802403.jpg","is_deleted":"0"},{"p_catalog_id":"109","parent_id":"51","name":"\u6c49\u98ce","pic":"\/product_catalog\/1465383063303.jpg","is_deleted":"0"},{"p_catalog_id":"117","parent_id":"51","name":"\u53e4\u98ce","pic":"","is_deleted":"0"},{"p_catalog_id":"55","parent_id":"51","name":"lolita","pic":"\/product_catalog\/1446017570261.jpg","is_deleted":"0"},{"p_catalog_id":"56","parent_id":"51","name":"\u521b\u610fT\u6064","pic":"\/product_catalog\/1446017583897.jpg","is_deleted":"0"}],"hot_product_list":[{"product_id":"627","channel_id":"4","brand_id":"3","p_catalog_id":"52","supplier_type":"1","supplier_code":"1101001","name":"\u5251\u4e09T\u6064\u6279\u53d1","cover_price":"32.00","brief":"","figure":"\/1439367400560.jpg","sell_time_start":"1439308800","sell_time_end":"1439913600"},{"product_id":"6895","channel_id":"15","brand_id":"402","p_catalog_id":"52","supplier_type":"2","supplier_code":"802004","name":"\u3010\u6d41\u70df\u6614\u6ce0\u3011\u6c49\u5143\u7d20 \u534a\u81c2 \u77ed\u5b8b\u88e4 \u540a\u5e26 \u523a\u7ee3 \u8c46\u853b\u5e74\u534e\u5c11\u5973\u7cfb\u5217-\u6e05\u79cb\u5154 \u534a\u81c2","cover_price":"99.00","brief":"7\u670815\u65e5\u8d77\u8fdb\u5165\u7b2c\u56db\u6279\u9884\u5b9a\uff0c\u7b2c\u56db\u6279\u7ea67\u670831\u65e5\u5de6\u53f3\u53d1\u8d27","figure":"\/1465295954097.jpg","sell_time_start":"1465228800","sell_time_end":"1465833600"},{"product_id":"6896","channel_id":"15","brand_id":"402","p_catalog_id":"52","supplier_type":"2","supplier_code":"802004","name":"\u3010\u6d41\u70df\u6614\u6ce0\u3011\u6c49\u5143\u7d20 \u534a\u81c2 \u77ed\u5b8b\u88e4 \u540a\u5e26 \u523a\u7ee3 \u8c46\u853b\u5e74\u534e\u5c11\u5973\u7cfb\u5217-\u6e05\u79cb\u5154 \u540a\u5e26","cover_price":"59.00","brief":"7\u670815\u65e5\u8d77\u8fdb\u5165\u7b2c\u56db\u6279\u9884\u5b9a\uff0c\u7b2c\u56db\u6279\u7ea67\u670831\u65e5\u5de6\u53f3\u53d1\u8d27","figure":"\/1465296158907.jpg","sell_time_start":"1465228800","sell_time_end":"1465833600"},{"product_id":"4628","channel_id":"8","brand_id":"5","p_catalog_id":"56","supplier_type":"2","supplier_code":"1201001","name":"\u3010\u6f2b\u8e2a\u3011 \u539f\u521b\u53ef\u7231\u840c\u732b\u54aa\u5927\u4eba \u7acb\u4f53\u732b\u5c3eT\u6064 \u857e\u4e1d\u82b1\u8fb9\u5973","cover_price":"79.00","brief":"","figure":"\/1461571069605.jpg","sell_time_start":"1455638400","sell_time_end":"1456243200"},{"product_id":"3691","channel_id":"8","brand_id":"90","p_catalog_id":"52","supplier_type":"2","supplier_code":"1201001","name":"\u3010\u6f2b\u8e2a\u3011\u5bab\u5d0e\u9a8f \u9f99\u732b\u5957\u88c5 \u5973\u51ac \u5e3d\u5b50\u886c\u886b\u80cc\u5fc3\u6253\u5e95\u88e4\u77ed\u88e4","cover_price":"105.00","brief":"\u80cc\u5fc3\u4e0a\u5c0f\u6302\u4ef6\u8d60\u5b8c\u5373\u6b62\u54e6\n","figure":"\/1451012249243.jpg","sell_time_start":"1450972800","sell_time_end":"1451577600"},{"product_id":"6263","channel_id":"8","brand_id":"234","p_catalog_id":"56","supplier_type":"2","supplier_code":"2101001","name":"\u3010\u53e4\u602a\u820d\u3011\u539f\u521b\u8bbe\u8ba1 \u6076\u7075\u9000\u6563\u7eaf\u68c9\u4e03\u5206\u8896T\u6064 \u79cb\u5b63\u65e5\u7cfb\u539f\u5bbf\u7537\u5973\u88c5A21","cover_price":"63.00","brief":"","figure":"\/1464245798979.jpg","sell_time_start":"1478772000","sell_time_end":"1462982400"}]}]}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/MORE_STORE.json b/S202014040230郭刘芊/atguigu/json/MORE_STORE.json
new file mode 100644
index 0000000..4e9604d
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/MORE_STORE.json
@@ -0,0 +1,96 @@
+{
+ "code": 200,
+ "msg": "请求成功",
+ "result": [
+ {
+ "channel_name": "服饰",
+ "image": "/app/img/menu-cyc.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "8"
+ }
+ },
+ {
+ "channel_name": "游戏",
+ "image": "/app/img/menu-game.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "4"
+ }
+ },
+ {
+ "channel_name": "动漫",
+ "image": "/app/img/menu-carttoon.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "3"
+ }
+ },
+ {
+ "channel_name": "装扮",
+ "image": "/app/img/menu-cosplay.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "5"
+ }
+ },
+ {
+ "channel_name": "古风",
+ "image": "/app/img/menu-oldage.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "6"
+ }
+ },
+ {
+ "channel_name": "动漫",
+ "image": "/app/img/menu-collect.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "9"
+ }
+ },
+ {
+ "channel_name": "文具",
+ "image": "/app/img/menu-stationery.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "11"
+ }
+ },
+ {
+ "channel_name": "零食",
+ "image": "/app/img/menu-snack.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "10"
+ }
+ },
+ {
+ "channel_name": "首饰",
+ "image": "/app/img/menu-jewelry.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "12"
+ }
+ },
+ {
+ "channel_name": "手办",
+ "image": "/app/img/menu-model.png",
+ "option": 2,
+ "type": 1,
+ "value": {
+ "channel_id": "13"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/NEW_POST_URL.json b/S202014040230郭刘芊/atguigu/json/NEW_POST_URL.json
new file mode 100644
index 0000000..9ac24ff
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/NEW_POST_URL.json
@@ -0,0 +1,95 @@
+{
+ "code": 200,
+ "msg": "请求成功",
+ "result": [
+ {
+ "add_time": "1478935514",
+ "avatar": "/img/user_icon.png",
+ "comment_list": [
+ "亲,有任何货物质量问题请及时联系我哦",
+ "亲,快来抢购吧"
+ ],
+ "comments": "0",
+ "figure": "/ugc/post/img/201611/14789355052991819.jpeg",
+ "is_essence": "0",
+ "is_hot": "0",
+ "is_like": "0",
+ "is_top": "0",
+ "likes": "0",
+ "post_id": "2646",
+ "saying": "[尚硅谷购物节]抽我抽我抽我",
+ "user_id": "261219",
+ "username": "下一个明天丶高姿态活着"
+ },
+ {
+ "add_time": "1478926966",
+ "avatar": "/ugc/user/avatar/14602584403004045.png",
+ "comment_list": [
+ "亲,有任何货物质量问题请及时联系我哦",
+ "亲,快来抢购吧"
+ ],
+ "comments": "0",
+ "figure": "/ugc/post/img/201611/14789268972077411.jpeg",
+ "is_essence": "0",
+ "is_hot": "0",
+ "is_like": "0",
+ "is_top": "0",
+ "likes": "0",
+ "post_id": "2645",
+ "saying": "有一张350-100的优惠券,但是感觉没有什么想买的了,毕竟吃土",
+ "user_id": "13956",
+ "username": "礿尣SAMA"
+ },
+ {
+ "add_time": "1478924129",
+ "avatar": "/img/user_icon.png",
+ "comment_list": [
+ "亲,有任何货物质量问题请及时联系我哦",
+ "亲,快来抢购吧"
+ ],
+ "comments": "0",
+ "figure": "/ugc/post/img/201611/14789239838413293.jpeg",
+ "is_essence": "0",
+ "is_hot": "0",
+ "is_like": "0",
+ "is_top": "0",
+ "likes": "0",
+ "post_id": "2644",
+ "saying": "尚硅谷购物节。(ノ∀`)σ你没钱了。然而作为一个穷银,并没有money。求小仓抽我,把我的爱(*´。`*)传达到吧",
+ "user_id": "527824",
+ "username": "霞"
+ },
+ {
+ "add_time": "1478921801",
+ "avatar": "/ugc/user/avatar/14664121254125921.jpeg",
+ "comment_list": [],
+ "comments": "0",
+ "figure": "/ugc/post/img/201611/1478921704069437.jpeg",
+ "is_essence": "0",
+ "is_hot": "0",
+ "is_like": "0",
+ "is_top": "0",
+ "likes": "0",
+ "post_id": "2643",
+ "saying": "[尚硅谷购物节]剁手党来补晒单!(๑><๑)看看能不能抽到(。ò ∀ ó。)",
+ "user_id": "257648",
+ "username": "木"
+ },
+ {
+ "add_time": "1478921533",
+ "avatar": "/img/user_icon.png",
+ "comment_list": [],
+ "comments": "0",
+ "figure": "/ugc/post/img/201611/14789215131699196.jpeg",
+ "is_essence": "0",
+ "is_hot": "0",
+ "is_like": "0",
+ "is_top": "0",
+ "likes": "1",
+ "post_id": "2642",
+ "saying": "求好运QuQ",
+ "user_id": "55746",
+ "username": "PaleCrow"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/OVERCOAT_URL.json b/S202014040230郭刘芊/atguigu/json/OVERCOAT_URL.json
new file mode 100644
index 0000000..8355a52
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/OVERCOAT_URL.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":[{"p_catalog_id":"64","parent_id":"0","name":"\u5916\u5957","pic":"","is_deleted":"0","child":[{"p_catalog_id":"65","parent_id":"64","name":"\u65e5\u5e38","pic":"\/product_catalog\/1446017786075.jpg","is_deleted":"0"},{"p_catalog_id":"111","parent_id":"64","name":"\u6c49\u98ce","pic":"\/product_catalog\/1465384012358.jpg","is_deleted":"0"},{"p_catalog_id":"67","parent_id":"64","name":"\u548c\u98ce","pic":"\/product_catalog\/1446017802214.jpg","is_deleted":"0"},{"p_catalog_id":"68","parent_id":"64","name":"lolita","pic":"\/product_catalog\/1446017835551.jpg","is_deleted":"0"}],"hot_product_list":[{"product_id":"6633","channel_id":"8","brand_id":"394","p_catalog_id":"67","supplier_type":"2","supplier_code":"1101037","name":"\u3010\u753b\u5f71\u3011\u73b0\u8d27 \u5c0f\u72d0\u72f8\u7fbd\u7ec7 ","cover_price":"132.00","brief":"\u7ea2\u9ed1\u6b3e\u662f\u73b0\u8d27\u54e6\u00b7~\u73b0\u8d27\u4e0d\u914d\u9001\u53d1\u5e26~~\u7ea2\u9ed1\u6b3e\u662f\u73b0\u8d27\u54e6\u00b7~\u73b0\u8d27\u4e0d\u914d\u9001\u53d1\u5e26~~\u7ea2\u9ed1\u6b3e\u662f\u73b0\u8d27\u54e6\u00b7~\u73b0\u8d27\u4e0d\u914d\u9001\u53d1\u5e26~~ \u91cd\u8981\u7684\u4e8b\u60c5\u8bf4\u4e09\u6b21~","figure":"\/1466759461799.jpg","sell_time_start":"1464019200","sell_time_end":"1464624000"},{"product_id":"2855","channel_id":"3","brand_id":"258","p_catalog_id":"65","supplier_type":"2","supplier_code":"2105003","name":"\u3010\u5b85\u6f2b\u5468\u8fb9\u5e97\u3011\u67f4\u72acdoge\u5468\u8fb9 \u53ef\u7231\u840c \u725b\u89d2\u6263\u5b66\u9662\u98ce\u5462\u5b50\u5927\u8863 \u52a8\u6f2b\u5916\u5957","cover_price":"168.00","brief":"","figure":"\/1476170715116.jpg","sell_time_start":"1447776000","sell_time_end":"1448380800"},{"product_id":"5605","channel_id":"8","brand_id":"234","p_catalog_id":"67","supplier_type":"2","supplier_code":"2101001","name":"\u3010\u53e4\u602a\u820d\u3011\u539f\u521b \u65e5\u672c\u548c\u98ce \u62db\u8d22\u732b\u548c\u670d\u6d74\u8863 \u5916\u5957 \u7a7a\u8c03\u5f00\u886bA8","cover_price":"99.00","brief":"","figure":"\/1459131888532.jpg","sell_time_start":"1459094400","sell_time_end":"1459699200"},{"product_id":"2406","channel_id":"8","brand_id":"23","p_catalog_id":"65","supplier_type":"2","supplier_code":"1101004","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u8230\u961fCollection \u5317\u65b9\u9171 \u7eaf\u68c9\u62c9\u94fe\u8fde\u5e3d\u536b\u8863\u5916\u5957\u79cb\u51ac","cover_price":"139.92","brief":"\u5df2\u5230\u8d27\uff0c\u53d1\u8d27\u4e2d","figure":"\/1445568698438.jpg","sell_time_start":"1478772000","sell_time_end":"1446134400"},{"product_id":"4226","channel_id":"8","brand_id":"5","p_catalog_id":"65","supplier_type":"2","supplier_code":"1801007","name":"\u3010 \u4e09\u8272\u747e\u3011\u7f8e\u5c11\u5973\u7684\u51ac\u5929 \u957f\u6b3e\u98ce\u8863 LOLITA \u65e5\u5e38 \u54e5\u7279\u98ce\u8863","cover_price":"280.60","brief":"","figure":"\/1453477900441.jpg","sell_time_start":"1453392000","sell_time_end":"1453996800"},{"product_id":"2653","channel_id":"8","brand_id":"191","p_catalog_id":"65","supplier_type":"2","supplier_code":"1101004","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u8bf7\u95ee\u60a8\u4eca\u5929\u8981\u6765\u70b9\u5154\u5b50\u5417 \u9999\u98ce\u667a\u4e43 \u7eaf\u68c9\u536b\u8863\u5916\u5957","cover_price":"128.00","brief":"","figure":"\/1447036942992.jpg","sell_time_start":"1478772000","sell_time_end":"1447603200"}]}]}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/PANTS_URL.json b/S202014040230郭刘芊/atguigu/json/PANTS_URL.json
new file mode 100644
index 0000000..2fb9cf2
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/PANTS_URL.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":[{"p_catalog_id":"57","parent_id":"0","name":"\u4e0b\u88c5","pic":"","is_deleted":"0","child":[{"p_catalog_id":"110","parent_id":"57","name":"\u6c49\u98ce","pic":"\/product_catalog\/1465383117300.jpg","is_deleted":"0"},{"p_catalog_id":"59","parent_id":"57","name":"\u53e4\u98ce","pic":"\/product_catalog\/1446017608030.jpg","is_deleted":"0"},{"p_catalog_id":"61","parent_id":"57","name":"lolita","pic":"\/product_catalog\/1446017628543.jpg","is_deleted":"0"},{"p_catalog_id":"62","parent_id":"57","name":"\u80d6\u6b21","pic":"\/product_catalog\/1446017713072.jpg","is_deleted":"0"},{"p_catalog_id":"63","parent_id":"57","name":"\u5357\u74dc\u88e4","pic":"\/product_catalog\/1446017725424.jpg","is_deleted":"0"},{"p_catalog_id":"88","parent_id":"57","name":"\u65e5\u5e38","pic":"\/product_catalog\/1446017744373.jpg","is_deleted":"0"}],"hot_product_list":[{"product_id":"6634","channel_id":"8","brand_id":"5","p_catalog_id":"88","supplier_type":"2","supplier_code":"1101037","name":"\u3010\u753b\u5f71\u3011\u5c0f\u72d0\u72f8\u77ed\u88d9","cover_price":"98.00","brief":"\u7ea2\u9ed1\u77ed\u88d9\u662f\u73b0\u8d27\u54e6~","figure":"\/1466759853976.jpg","sell_time_start":"1464019200","sell_time_end":"1464624000"},{"product_id":"6897","channel_id":"15","brand_id":"402","p_catalog_id":"88","supplier_type":"2","supplier_code":"802004","name":"\u3010\u6d41\u70df\u6614\u6ce0\u3011\u6c49\u5143\u7d20 \u534a\u81c2 \u77ed\u5b8b\u88e4 \u540a\u5e26 \u523a\u7ee3 \u8c46\u853b\u5e74\u534e\u5c11\u5973\u7cfb\u5217-\u6e05\u79cb\u5154 \u77ed\u5b8b\u88e4","cover_price":"99.00","brief":"7\u670815\u65e5\u8d77\u8fdb\u5165\u7b2c\u56db\u6279\u9884\u5b9a\uff0c\u7b2c\u56db\u6279\u7ea67\u670831\u65e5\u5de6\u53f3\u53d1\u8d27","figure":"\/1465296453463.jpg","sell_time_start":"1465228800","sell_time_end":"1465833600"},{"product_id":"2215","channel_id":"6","brand_id":"215","p_catalog_id":"59","supplier_type":"1","supplier_code":"1101015","name":"\u3010\u6e38\u9e64\u5de5\u4f5c\u5ba4\u3011\u95f2\u68a6\u6c84\u6c84\u4e0b\u88d9\u523a\u7ee3\u767d\u9e7f\uff08\u77ed\u6b3e\uff09- \u85cf\u9752","cover_price":"110.60","brief":"\u73b0\u8d27 ","figure":"\/1444883979497.jpg","sell_time_start":"1444838400","sell_time_end":"1445443200"},{"product_id":"5914","channel_id":"8","brand_id":"234","p_catalog_id":"88","supplier_type":"2","supplier_code":"2101001","name":"\u3010\u53e4\u602a\u820d\u3011\u539f\u521b\u8bbe\u8ba1 \u767e\u9b3c\u591c\u884c-\u51a5\u5e9c\u9b54\u9053\u548c\u98ce\u77ed\u88e4 \u65e5\u5f0f\u68c9\u9ebb\u9614\u817f\u88e4A70","cover_price":"89.00","brief":"","figure":"\/1462352934101.jpg","sell_time_start":"1460476800","sell_time_end":"1461081600"},{"product_id":"5614","channel_id":"8","brand_id":"234","p_catalog_id":"88","supplier_type":"2","supplier_code":"2101001","name":"\u3010\u53e4\u602a\u820d\u3011\u539f\u521b \u65e5\u672c\u548c\u98ce\u670d\u9970-\u548c\u3002\u6247 \u68c9\u9ebb\u5370\u82b1\u77ed\u88e4 \u5973\u88c5\u9614\u817f\u88e4 A11","cover_price":"78.00","brief":"\u9884\u552e\u622a\u6b62\u52302\u53f7\u53d1\u8d27\u54e6~\r\n\u9884\u552e\u622a\u6b62\u52302\u53f7\u53d1\u8d27\u54e6~\r\n\u9884\u552e\u622a\u6b62\u52302\u53f7\u53d1\u8d27\u54e6~","figure":"\/1459135580746.jpg","sell_time_start":"1459094400","sell_time_end":"1459699200"},{"product_id":"4011","channel_id":"8","brand_id":"234","p_catalog_id":"88","supplier_type":"2","supplier_code":"2101001","name":"\u3010\u53e4\u602a\u820d\u3011\u5b9a\u5236\u6b3e \u6b27\u5f0f\u590d\u53e4\u6b4c\u7279\u98ce\u7cfb\u5e26\u9ad8\u8170\u77ed\u88d9 \u534a\u8eab\u88d9\u5b50 \u4f1e\u88d9 A52","cover_price":"79.00","brief":"","figure":"\/1452653909042.jpg","sell_time_start":"1452614400","sell_time_end":"1453219200"}]}]}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/SHOUSHI_STORE.json b/S202014040230郭刘芊/atguigu/json/SHOUSHI_STORE.json
new file mode 100644
index 0000000..ad4faf3
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/SHOUSHI_STORE.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"1752","origin_price":"68.00","channel_id":"12","brand_id":"3","p_catalog_id":"73","supplier_type":"1","supplier_code":"0","name":"\u5251\u7f513\u95e8\u6d3e\u884d\u751f\u540c\u4eba\u539f\u521b\u624b\u94fe ","cover_price":"68.00","brief":"","figure":"\/1450754469244.jpg","sell_time_start":"1443024000","sell_time_end":"1443628800"},{"product_id":"6036","origin_price":"29.00","channel_id":"12","brand_id":"77","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"\u3010Honest\u9996\u9970\u3011925\u94f6\u6212\u6307 \u7ebf\u6761 \u55b5\u661f\u4eba \u6982\u5ff5\u732b\u8033\u6212\u6307","cover_price":"25.00","brief":"","figure":"\/1461122800918.jpg","sell_time_start":"1461081600","sell_time_end":"1461686400"},{"product_id":"5140","origin_price":"99.00","channel_id":"12","brand_id":"77","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"\u3010honest\u9996\u9970\u3011 \u53ef\u7231\u5c0f\u732b\u54aa\u53ef\u8c03\u8282\u82d7\u94f6\u624b\u956f","cover_price":"59.00","brief":"","figure":"\/1457346160863.png","sell_time_start":"1457280000","sell_time_end":"1457884800"},{"product_id":"6321","origin_price":"99.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"\u3010Honest\u9996\u9970\u3011\u53ef\u7231\u9e8b\u9e7f\u4e2a\u6027\u540a\u5760 \u94f6\u9879\u94fe","cover_price":"57.00","brief":"\u9884\u552e\u81f38\u670812\u65e5\u5662\uff0c\u5230\u8d27\u540e\u6309\u8ba2\u5355\u53d1\u8d27\u5662","figure":"\/1468471318944.jpg","sell_time_start":"1462723200","sell_time_end":"1463328000"},{"product_id":"5866","origin_price":"22.00","channel_id":"12","brand_id":"72","p_catalog_id":"26","supplier_type":"1","supplier_code":"300011","name":"\u3010\u5b98\u65b9\u6b63\u7248\u3011\u827e\u6f2b \u5168\u804c\u9ad8\u624b\u6a31\u82b1\u624b\u673a\u6302\u4ef6","cover_price":"22.00","brief":"","figure":"\/1460342400795.jpg","sell_time_start":"1460343600","sell_time_end":"1460908800"},{"product_id":"4277","origin_price":"30.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"\u3010Honest\u9996\u9970\u3011925\u94f6\u6212\u6307 \u4e18\u6bd4\u7279\u7684\u795d\u798f \u5f00\u53e3\u6307\u73af \u3010\u7231\u795e\u4e4b\u7bad\u3011","cover_price":"29.00","brief":"","figure":"\/1453778675514.jpg","sell_time_start":"1453737600","sell_time_end":"1454342400"},{"product_id":"4279","origin_price":"35.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"\u3010Honest\u9996\u9970\u3011925\u94f6\u6212\u6307 \u6e05\u65b0 \u6a44\u6984\u679d \u3010Peace & Love\u3011 ","cover_price":"30.00","brief":"","figure":"\/1453779326000.jpg","sell_time_start":"1453737600","sell_time_end":"1454342400"},{"product_id":"4168","origin_price":"88.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"\u3010Honest\u9996\u9970\u3011925\u94f6\u9879\u94fe \u5929\u7136\u8d1d\u58f3 \u82b1\u6735\u9576\u6c34\u94bb\u540a\u5760\u77ed\u6b3e\u9501\u9aa8\u94fe","cover_price":"66.00","brief":"","figure":"\/1476263150347.jpg","sell_time_start":"1453132800","sell_time_end":"1453737600"},{"product_id":"3322","origin_price":"15.00","channel_id":"12","brand_id":"279","p_catalog_id":"73","supplier_type":"1","supplier_code":"300004","name":"[\u79b9\u5c4b\u539f\u521b]\u751c\u751c\u5708 \u732b\u54aa \u6212\u6307 \u6307\u73af","cover_price":"15.00","brief":"\u5185\u5f8418mm \u5408\u91d1\u6750\u8d28 \n\n\u203b\u7ec6\u8282\u4e0d\u662f\u5f88\u5b8c\u7f8e\u54e6~\u6bd4\u65b9\u8033\u6735\u51f9\u51f8\u7684\u5730\u65b9\u4f1a\u6709\u6a21\u5177\u7684\u51f9\u51f8\u75d5\u8ff9\u7684~\u4ecb\u610f\u614e\u62cd!!","figure":"\/1449477606198.jpg","sell_time_start":"1449417600","sell_time_end":"1450022400"},{"product_id":"963","origin_price":"59.00","channel_id":"12","brand_id":"113","p_catalog_id":"73","supplier_type":"1","supplier_code":"1104001","name":"\u3010\u5e78\u8fd0\u77f3\u3011\u91ce\u826f\u795e\u8033\u9489 \u5146\u5668 \u591c\u6597\u5a01\u5a1c 925\u94f6\u8033\u73af","cover_price":"49.00","brief":"","figure":"\/1458639478017.jpg","sell_time_start":"1440518400","sell_time_end":"1441123200"},{"product_id":"1348","origin_price":"59.00","channel_id":"12","brand_id":"3","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101036","name":"\u3010\u5c0f\u8ff7\u5154\u3011\u5251\u7f513 \u5341\u5927\u95e8\u6d3e \u5929\u7136\u5f69\u77f3\u6c34\u6676 \u624b\u94fe","cover_price":"50.15","brief":"","figure":"\/1441940476267.jpg","sell_time_start":"1478772000","sell_time_end":"1442505600"},{"product_id":"4147","origin_price":"39.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"\u3010Honest\u9996\u9970\u3011 925\u94f6 \u83b2\u82b1\u8033\u9489 \u6e05\u65b0\u6c14\u8d28 \u3010\u8377\u8bed\u3011","cover_price":"26.00","brief":"\u4ea7\u54c1\u5c3a\u5bf8\u7ea60.9*0.9cm","figure":"\/1453171909056.jpg","sell_time_start":"1453132800","sell_time_end":"1453737600"},{"product_id":"3813","origin_price":"288.00","channel_id":"12","brand_id":"3","p_catalog_id":"73","supplier_type":"2","supplier_code":"1106001","name":"\u3010\u8d24\u54c1\u3011\u5251\u7f51\u4e09 \u4e94\u6bd2\u5e7d\u9b42 \u7d2b\u6c34\u6676\u9542\u7a7a\u9879\u94fe 925\u94f6\u540a\u5760 \u60c5\u7f18\u793c\u54c1\u7cfb\u5217","cover_price":"244.80","brief":"","figure":"\/supplier\/1477113328497.jpg","sell_time_start":"1478772000","sell_time_end":"1451923200"},{"product_id":"4269","origin_price":"59.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"\u3010Honest\u9996\u9970\u3011925\u94f6\u6212\u6307 \u7d27\u7b8d\u5492 \u7b80\u7ea6\u5f00\u53e3\u6212\u6307 \u53ef\u8c03\u8282\u5c3e\u6212","cover_price":"30.00","brief":"","figure":"\/1453774185159.jpg","sell_time_start":"1453737600","sell_time_end":"1454342400"},{"product_id":"4992","origin_price":"189.00","channel_id":"12","brand_id":"334","p_catalog_id":"73","supplier_type":"2","supplier_code":"1902001","name":"\u3010\u5170\u4ead\u522b\u9662\u3011\u4e09\u751f\u6811 \u53e4\u5178\u76d8\u53d1\u5934\u9970\u5251\u4e09\u884d\u751f\u53d1\u7c2a\u5b50\u957f\u6d41\u82cf\u53d1\u9497 ","cover_price":"98.00","brief":"","figure":"\/1456988512335.jpg","sell_time_start":"1456934400","sell_time_end":"1457539200"},{"product_id":"7648","origin_price":"55.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"\u3010Honest\u9996\u9970\u3011925\u94f6 \u8d85\u7ec6\u9576\u94bb\u4e94\u89d2\u661f\u624b\u956f ","cover_price":"40.00","brief":"","figure":"\/1467193037655.jpg","sell_time_start":"1467129600","sell_time_end":"1467734400"},{"product_id":"4185","origin_price":"50.50","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"\u3010Honest\u9996\u9970\u3011925\u94f6 \u65b9\u5f62\u6781\u5149\u65b9\u7cd6\u9879\u94fe \u5965\u5730\u5229\u6c34\u6676\u540a\u5760 \u9501\u9aa8\u94fe","cover_price":"49.00","brief":"","figure":"\/1453346076369.jpg","sell_time_start":"1453305600","sell_time_end":"1453910400"},{"product_id":"6094","origin_price":"5.60","channel_id":"12","brand_id":"254","p_catalog_id":"73","supplier_type":"2","supplier_code":"1201001","name":"\u3010\u6f2b\u8e2a\u3011\u76ae\u5361\u4e18\u53d1\u5361\u8f7b\u677e\u718a\u76ae\u7b4b\u8377\u5305\u86cb\u53d1\u5939 \u5934\u9970 \u5934\u7ef3 \u53d1\u9970","cover_price":"2.90","brief":"","figure":"\/1461639184271.jpg","sell_time_start":"1461600000","sell_time_end":"1462204800"},{"product_id":"4721","origin_price":"28.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"\u3010Honest\u9996\u9970\u3011\u5c0f\u6e05\u65b0\u94c3\u94db\u9542\u7a7a\u5f00\u53e3\u6212\u6307 \u9632\u8fc7\u654f","cover_price":"23.00","brief":"","figure":"\/1456131046914.png","sell_time_start":"1456070400","sell_time_end":"1456675200"},{"product_id":"4167","origin_price":"18.00","channel_id":"12","brand_id":"5","p_catalog_id":"73","supplier_type":"1","supplier_code":"1101029","name":"\u3010Honest\u9996\u9970\u3011925\u94f6 \u8ff7\u4f60\u78e8\u7802\u5706\u7403 \u5c0f\u8033\u9489 \u8033\u9aa8\u9489\u9632\u8fc7\u654f\u60c5\u4fa3","cover_price":"9.00","brief":"","figure":"\/1453198348922.jpg","sell_time_start":"1453132800","sell_time_end":"1453737600"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/SKIRT_URL.json b/S202014040230郭刘芊/atguigu/json/SKIRT_URL.json
new file mode 100644
index 0000000..7b0db2f
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/SKIRT_URL.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":[{"p_catalog_id":"3","parent_id":"0","name":"\u5c0f\u88d9\u5b50","pic":"","is_deleted":"0","child":[{"p_catalog_id":"10","parent_id":"3","name":"\u53e4\u98ce","pic":"\/product_catalog\/1446016297307.jpg","is_deleted":"0"},{"p_catalog_id":"11","parent_id":"3","name":"\u548c\u98ce","pic":"\/product_catalog\/1446016509141.jpg","is_deleted":"0"},{"p_catalog_id":"12","parent_id":"3","name":"lolita","pic":"\/product_catalog\/1446016728621.jpg","is_deleted":"0"},{"p_catalog_id":"91","parent_id":"3","name":"\u65e5\u5e38","pic":"\/product_catalog\/1446444753067.jpg","is_deleted":"0"}],"hot_product_list":[{"product_id":"2704","channel_id":"6","brand_id":"230","p_catalog_id":"3","supplier_type":"1","supplier_code":"0","name":"\u4e2d\u534e\u98celolita -\u5c71\u6d77\u7ecf \u51e4\u51f0\u56fe JSK","cover_price":"300.00","brief":"","figure":"\/1447239453626.jpg","sell_time_start":"1447171200","sell_time_end":"1447776000"},{"product_id":"3571","channel_id":"8","brand_id":"259","p_catalog_id":"12","supplier_type":"2","supplier_code":"1801005","name":"\u3010INFANTA.\u5a74\u68b5\u5854\u3011\u5b66\u9662\u98ce\u5c16\u9886\u5916\u5957\/\u5927\u8863","cover_price":"287.00","brief":"","figure":"\/1450433177397.jpg","sell_time_start":"1450368000","sell_time_end":"1450972800"},{"product_id":"589","channel_id":"8","brand_id":"266","p_catalog_id":"12","supplier_type":"2","supplier_code":"1801001","name":"\u5b9a\u5236\u3010Neverland \u539f\u521b\u3011\u76f4\u53d1 \u70eb\u91d1lolita \u4eba\u9c7c\u4e4b\u6b4c \u9ad8\u8170JSK\u8fde\u8863\u88d9","cover_price":"403.04","brief":"45\u5929\u5de5\u671f","figure":"\/1438772068067.jpg","sell_time_start":"1478772000","sell_time_end":"1439308800"},{"product_id":"5970","channel_id":"8","brand_id":"356","p_catalog_id":"91","supplier_type":"2","supplier_code":"1101004","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011 \u9ed1\u767d\u732b\u54aa \u9ed1\u55b5\u54aa \u77ed\u8896\u8fde\u8863\u88d9","cover_price":"121.44","brief":"\u732b\u54aa\u662f\u795e\u79d8\u7684\u5c0f\u52a8\u7269\u3002\u4f20\u8bf4\u5b83\u4eec\u80fd\u901a\u7075\u548c\u9a71\u9b54\uff0c\u7ed9\u4e3b\u4eba\u5e26\u6765\u597d\u8fd0\u3002\u53ef\u732b\u54aa\u4e5f\u88ab\u8ba4\u4e3a\u662f\u5973\u5deb\u5f79\u4f7f\u7684\u90aa\u6076\u7cbe\u7075\uff0c\u662f\u6076\u9b54\u7684\u5316\u8eab\u3002\u840c\u57df\u4e3a\u7231\u7f8e\u53c8\u7565\u5fae\u4e2d\u4e8c\u7684\u5b85MM\u4eec\uff0c\u8bbe\u8ba1\u4e86\u9ed1\u732b\u3001\u767d\u732b\u4e3b\u9898\u88d9\u88c5\uff0c\u4e0d\u540c\u7684\u98ce\u683c\u3001\u4e00\u6837\u7684\u53ef\u7231\u3002\u767d\u732b\u5957\u88c5\u7a7f\u4e0a\u6027\u611f\u4fcf\u76ae\uff0c\u9ed1\u8272\u8fde\u8863\u88d9\u8ba9\u4f60\u50cf\u732b\u54aa\u4e00\u6837\u4f18\u96c5\u53c8\u6709\u6c14\u8d28\u3002","figure":"\/1463385771450.jpg","sell_time_start":"1478772000","sell_time_end":"1461254400"},{"product_id":"5181","channel_id":"6","brand_id":"394","p_catalog_id":"10","supplier_type":"2","supplier_code":"1101037","name":"\u3010\u753b\u5f71\u3011\u6c49\u5143\u7d20 \u53e4\u98ce\u65e5\u5e38\u2014\u2014 \u4ef2\u590f ","cover_price":"250.00","brief":"","figure":"\/1457504361484.jpg","sell_time_start":"1457452800","sell_time_end":"1458057600"},{"product_id":"7729","channel_id":"8","brand_id":"432","p_catalog_id":"91","supplier_type":"2","supplier_code":"1601008","name":"\u73b0\u8d27\u3010TUMO\u3011 \u96e8\u5e93\u6d1b\u724c\u5143\u7d20 \u8f6f\u59b9\u68ee\u5973\u7cfb\u77ed\u8896\u8fde\u8863\u88d9","cover_price":"179.00","brief":"","figure":"\/supplier\/1467687105197.jpg","sell_time_start":"0","sell_time_end":"0"}]}]}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/STATIONERY_URL.json b/S202014040230郭刘芊/atguigu/json/STATIONERY_URL.json
new file mode 100644
index 0000000..32d483c
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/STATIONERY_URL.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":[{"p_catalog_id":"6","parent_id":"0","name":"\u529e\u516c\u6587\u5177","pic":"","is_deleted":"0","child":[{"p_catalog_id":"32","parent_id":"6","name":"\u7b14\u8bb0\u672c","pic":"\/product_catalog\/1446017226590.jpg","is_deleted":"0"},{"p_catalog_id":"33","parent_id":"6","name":"\u6587\u4ef6\u5939","pic":"\/product_catalog\/1446017259628.jpg","is_deleted":"0"},{"p_catalog_id":"34","parent_id":"6","name":"\u4fbf\u7b7e\u672c","pic":"\/product_catalog\/1446017278468.jpg","is_deleted":"0"},{"p_catalog_id":"35","parent_id":"6","name":"\u7b14\u888b\u7b14\u7b52","pic":"\/product_catalog\/1446017289189.jpg","is_deleted":"0"},{"p_catalog_id":"37","parent_id":"6","name":"\u5361\u5957\/\u5361\u8d34","pic":"\/product_catalog\/1446017305527.jpg","is_deleted":"0"},{"p_catalog_id":"38","parent_id":"6","name":"\u548c\u98ce\u7eb8\u80f6\u5e26","pic":"\/product_catalog\/1446017320396.jpg","is_deleted":"0"},{"p_catalog_id":"87","parent_id":"6","name":"\u7b14\u58a8","pic":"\/product_catalog\/1446017336258.jpg","is_deleted":"0"}],"hot_product_list":[{"product_id":"14","channel_id":"11","brand_id":"3","p_catalog_id":"32","supplier_type":"1","supplier_code":"1101036","name":"\u3010\u5c0f\u8ff7\u5154\u7684\u5468\u8fb9\u3011\u5251\u7f513 \u5251\u4fa0\u60c5\u7f18\u53c1\u95e8\u6d3e\u538b\u76ae\u6d3b\u9875\u7b14\u8bb0\u672c","cover_price":"29.00","brief":"\u00a0\u5251\u7f51\u4e09 \u52513\u00a0\u538b\u76ae\u6d3b\u9875\u7b14\u8bb0\u672c
<\/p>
\u51fa\u54c1\uff1a\u5c0f\u8ff7\u5154\u7684\u5468\u8fb9<\/p>","figure":"\/1471501055587.jpg","sell_time_start":"0","sell_time_end":"0"},{"product_id":"6298","channel_id":"11","brand_id":"5","p_catalog_id":"38","supplier_type":"1","supplier_code":"2101002","name":"\u3010\u6b6a\u74dc\u51fa\u54c1\u3011 \u7b26\u6587\u7eb8\u80f6\u5e26 \u9053\u58eb\u7b26\u7eb8 \u5c01\u5370\u4e2d\u4e8c \u624b\u8d26\u88c5\u9970\u80f6\u5e26","cover_price":"15.00","brief":"","figure":"\/1462531089095.jpg","sell_time_start":"1462464000","sell_time_end":"1463068800"},{"product_id":"6293","channel_id":"11","brand_id":"5","p_catalog_id":"32","supplier_type":"1","supplier_code":"2101002","name":"\u9884\u552e\u3010\u6b6a\u74dc\u51fa\u54c1\u3011 \u4e94\u5e74\u9ad8\u8003\u4e09\u5e74\u6a21\u62df\u7b14\u8bb0 \u521b\u610f\u6587\u5177\u65e5\u8bb0\u672c\u8bb0\u4e8b\u672c \u6d41\u884c\u6897","cover_price":"15.00","brief":"6\u6708\u4e2d\u65ec\u53d1\u8d27~","figure":"\/1462530064674.jpg","sell_time_start":"1462464000","sell_time_end":"1463068800"},{"product_id":"10","channel_id":"4","brand_id":"3","p_catalog_id":"37","supplier_type":"1","supplier_code":"1101036","name":"\u3010\u5c0f\u8ff7\u5154\u3011\u5251\u4fa0\u60c5\u7f18\u53c1 \u5251\u7f513 \u5251\u4e09\u95e8\u6d3e\u52a8\u7269\u7845\u80f6\u5361\u5957","cover_price":"15.00","brief":"\u51fa\u54c1\uff1a\u5c0f\u8ff7\u5154\u7684\u5468\u8fb9\n~\u5361\u5957\u53ea\u5e26\u80f6\u5e26\uff0c\u65e0\u6302\u7ef3\u5662\u266a(^\u2207^*)","figure":"\/1471501518349.jpg","sell_time_start":"0","sell_time_end":"0"},{"product_id":"235","channel_id":"11","brand_id":"33","p_catalog_id":"32","supplier_type":"1","supplier_code":"0","name":"\u3010orz\u6f2b\u5de5\u5382\u3011COSPLAY\u9053\u5177 \u590f\u76ee\u53cb\u4eba\u5e10\u672c \u8bb0\u4e8b\u8584\u8bb0\u4e8b\u7b14\u8bb0\u672c\u5b50","cover_price":"12.00","brief":"","figure":"\/1435116836598.jpg","sell_time_start":"0","sell_time_end":"0"},{"product_id":"614","channel_id":"6","brand_id":"5","p_catalog_id":"32","supplier_type":"1","supplier_code":"0","name":"\u3010\u5c81\u6708\u574a\u3011\u624b\u5de5\u672c\u6c34\u58a8\u98ce\u4e4b\u58a8\u8377","cover_price":"9.90","brief":"","figure":"\/1438946011155.jpg","sell_time_start":"1438876800","sell_time_end":"1439481600"}]}]}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/STICK_STORE.json b/S202014040230郭刘芊/atguigu/json/STICK_STORE.json
new file mode 100644
index 0000000..0222c73
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/STICK_STORE.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"10557","origin_price":"0.00","channel_id":"9","brand_id":"5","p_catalog_id":"93","supplier_type":"2","supplier_code":"3300001","name":"\u3010\u7535\u5b50\u7968\u3011\u3010\u5e1d\u90fd\u3011IDO 20 \u52a8\u6f2b\u6e38\u620f\u5609\u5e74\u534e","cover_price":"50.00","brief":"","figure":"\/1478596679261.jpg","sell_time_start":"1478596281","sell_time_end":"1479139200"},{"product_id":"7583","origin_price":"280.00","channel_id":"9","brand_id":"51","p_catalog_id":"93","supplier_type":"1","supplier_code":"0","name":"Live Spectacle\u300aNARUTO-\u706b\u5f71\u5fcd\u8005-\u300bWorld Tour\u4e2d\u56fd\u5de1\u6f14\u2014\u5e7f\u5dde\u7ad9-16-12-10--13:30","cover_price":"280.00","brief":"","figure":"\/1466996276064.jpg","sell_time_start":"1466956800","sell_time_end":"1467561600"},{"product_id":"7584","origin_price":"280.00","channel_id":"9","brand_id":"51","p_catalog_id":"93","supplier_type":"1","supplier_code":"0","name":"Live Spectacle\u300aNARUTO-\u706b\u5f71\u5fcd\u8005-\u300bWorld Tour\u4e2d\u56fd\u5de1\u6f14\u2014\u5e7f\u5dde\u7ad9-16-12-10--19:30","cover_price":"280.00","brief":"","figure":"\/1466996492134.jpg","sell_time_start":"1466956800","sell_time_end":"1467561600"},{"product_id":"7585","origin_price":"280.00","channel_id":"9","brand_id":"51","p_catalog_id":"93","supplier_type":"1","supplier_code":"0","name":"Live Spectacle\u300aNARUTO-\u706b\u5f71\u5fcd\u8005-\u300bWorld Tour\u4e2d\u56fd\u5de1\u6f14\u2014\u5e7f\u5dde\u7ad9-16-12-11--13:30","cover_price":"280.00","brief":"","figure":"\/1466996935443.jpg","sell_time_start":"1466956800","sell_time_end":"1467561600"},{"product_id":"8888","origin_price":"50.00","channel_id":"9","brand_id":"5","p_catalog_id":"93","supplier_type":"2","supplier_code":"3300001","name":"\u3010\u7535\u5b50\u7968\u3011I DO 18\u4e2d\u56fd\uff08\u5317\u4eac\uff09\u52a8\u6f2b\u6e38\u620f\u5609\u5e74\u534e\u6f2b\u5c55\u95e8\u7968","cover_price":"50.00","brief":"","figure":"\/1472437083583.jpg","sell_time_start":"1471881600","sell_time_end":"1472486400"},{"product_id":"7586","origin_price":"280.00","channel_id":"9","brand_id":"51","p_catalog_id":"93","supplier_type":"1","supplier_code":"0","name":"Live Spectacle\u300aNARUTO-\u706b\u5f71\u5fcd\u8005-\u300bWorld Tour\u4e2d\u56fd\u5de1\u6f14\u2014\u5e7f\u5dde\u7ad9-16-12-11--19:30","cover_price":"280.00","brief":"","figure":"\/1466997050407.jpg","sell_time_start":"1466956800","sell_time_end":"1467561600"},{"product_id":"7582","origin_price":"280.00","channel_id":"9","brand_id":"51","p_catalog_id":"93","supplier_type":"1","supplier_code":"0","name":"Live Spectacle\u300aNARUTO-\u706b\u5f71\u5fcd\u8005-\u300bWorld Tour\u4e2d\u56fd\u5de1\u6f14\u2014\u5e7f\u5dde\u7ad9-16-12-09--19:30","cover_price":"280.00","brief":"","figure":"\/1466995768005.jpg","sell_time_start":"1466956800","sell_time_end":"1467561600"},{"product_id":"7503","origin_price":"35.00","channel_id":"9","brand_id":"5","p_catalog_id":"93","supplier_type":"2","supplier_code":"3300001","name":"\u3010\u7535\u5b50\u7968\u3011\u7b2c\u4e8c\u5c4a\u5929\u6d25\u5927\u80fd\u732b\u52a8\u6f2b\u8282","cover_price":"35.00","brief":"","figure":"\/1466664921153.jpg","sell_time_start":"1466611200","sell_time_end":"1467216000"},{"product_id":"10023","origin_price":"50.00","channel_id":"9","brand_id":"5","p_catalog_id":"93","supplier_type":"2","supplier_code":"3300001","name":"\u3010\u7535\u5b50\u7968\u3011\u5317\u4eac\u00b7\u56e7\u795e19\u5723\u8bde\u8db4\uff0112\/24~25\u548c\u4f60\u4e00\u9f50\u55e8\u76ae\uff01","cover_price":"50.00","brief":"","figure":"\/1476943798642.jpg","sell_time_start":"1476892800","sell_time_end":"1477497600"},{"product_id":"10059","origin_price":"35.00","channel_id":"9","brand_id":"5","p_catalog_id":"93","supplier_type":"2","supplier_code":"3300001","name":"\u3010\u7535\u5b50\u7968\u3011\u3010\u5996\u90fd\u3011\u9752\u5bab\u52a8\u6f2b\u5609\u5e74\u534eComic member04","cover_price":"35.00","brief":"","figure":"\/1478760430805.jpg","sell_time_start":"1476979200","sell_time_end":"1477584000"},{"product_id":"9845","origin_price":"45.00","channel_id":"9","brand_id":"5","p_catalog_id":"93","supplier_type":"2","supplier_code":"3300001","name":"\u3010CA14\u3011\u6b66\u6c49ComiAi\u52a8\u6f2b\u6e38\u620f\u540c\u4eba\u535a\u89c8\u4f1a14 \u7535\u5b50\u7968","cover_price":"45.00","brief":"","figure":"\/1476414516806.jpg","sell_time_start":"1476374400","sell_time_end":"1476979200"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/TAG_URL.json b/S202014040230郭刘芊/atguigu/json/TAG_URL.json
new file mode 100644
index 0000000..2de08db
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/TAG_URL.json
@@ -0,0 +1,126 @@
+{
+ "code": 200,
+ "msg": "请求成功",
+ "result": [
+ {
+ "name": "尚硅谷",
+ "tag_id": "1"
+ },
+ {
+ "name": "JAVA",
+ "tag_id": "2"
+ },
+ {
+ "name": "Android",
+ "tag_id": "3"
+ },
+ {
+ "name": "HTML5",
+ "tag_id": "4"
+ },
+ {
+ "name": "PHP",
+ "tag_id": "5"
+ },
+ {
+ "name": "UI",
+ "tag_id": "6"
+ },
+ {
+ "name": "Activity",
+ "tag_id": "7"
+ },
+ {
+ "name": "Fragment",
+ "tag_id": "8"
+ },
+ {
+ "name": "Button",
+ "tag_id": "9"
+ },
+ {
+ "name": "TextView",
+ "tag_id": "10"
+ },
+ {
+ "name": "JNI",
+ "tag_id": "11"
+ },
+ {
+ "name": "NDK",
+ "tag_id": "12"
+ },
+ {
+ "name": "手机影音",
+ "tag_id": "13"
+ },
+ {
+ "name": "硅谷社交",
+ "tag_id": "14"
+ },
+ {
+ "name": "硅谷商城",
+ "tag_id": "15"
+ },
+ {
+ "name": "硅谷金融",
+ "tag_id": "16"
+ },
+ {
+ "name": "自定义控件",
+ "tag_id": "17"
+ },
+ {
+ "name": "硅谷",
+ "tag_id": "18"
+ },
+ {
+ "name": "OKHttp",
+ "tag_id": "19"
+ },
+ {
+ "name": "Volley",
+ "tag_id": "20"
+ },
+ {
+ "name": "xUtils",
+ "tag_id": "21"
+ },
+ {
+ "name": "Imageloader",
+ "tag_id": "22"
+ },
+ {
+ "name": "Glide",
+ "tag_id": "23"
+ },
+ {
+ "name": "尚硅谷",
+ "tag_id": "24"
+ },
+ {
+ "name": "WEB基础",
+ "tag_id": "25"
+ },
+ {
+ "name": "混合开发",
+ "tag_id": "26"
+ },
+ {
+ "name": "尚硅谷",
+ "tag_id": "27"
+ },
+ {
+ "name": "棒棒达",
+ "tag_id": "31"
+ },
+ {
+ "name": "么么哒",
+ "tag_id": "32"
+ },
+ {
+ "name": "呵呵哒",
+ "tag_id": "33"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/WENJU_STORE.json b/S202014040230郭刘芊/atguigu/json/WENJU_STORE.json
new file mode 100644
index 0000000..0222c73
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/WENJU_STORE.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"10557","origin_price":"0.00","channel_id":"9","brand_id":"5","p_catalog_id":"93","supplier_type":"2","supplier_code":"3300001","name":"\u3010\u7535\u5b50\u7968\u3011\u3010\u5e1d\u90fd\u3011IDO 20 \u52a8\u6f2b\u6e38\u620f\u5609\u5e74\u534e","cover_price":"50.00","brief":"","figure":"\/1478596679261.jpg","sell_time_start":"1478596281","sell_time_end":"1479139200"},{"product_id":"7583","origin_price":"280.00","channel_id":"9","brand_id":"51","p_catalog_id":"93","supplier_type":"1","supplier_code":"0","name":"Live Spectacle\u300aNARUTO-\u706b\u5f71\u5fcd\u8005-\u300bWorld Tour\u4e2d\u56fd\u5de1\u6f14\u2014\u5e7f\u5dde\u7ad9-16-12-10--13:30","cover_price":"280.00","brief":"","figure":"\/1466996276064.jpg","sell_time_start":"1466956800","sell_time_end":"1467561600"},{"product_id":"7584","origin_price":"280.00","channel_id":"9","brand_id":"51","p_catalog_id":"93","supplier_type":"1","supplier_code":"0","name":"Live Spectacle\u300aNARUTO-\u706b\u5f71\u5fcd\u8005-\u300bWorld Tour\u4e2d\u56fd\u5de1\u6f14\u2014\u5e7f\u5dde\u7ad9-16-12-10--19:30","cover_price":"280.00","brief":"","figure":"\/1466996492134.jpg","sell_time_start":"1466956800","sell_time_end":"1467561600"},{"product_id":"7585","origin_price":"280.00","channel_id":"9","brand_id":"51","p_catalog_id":"93","supplier_type":"1","supplier_code":"0","name":"Live Spectacle\u300aNARUTO-\u706b\u5f71\u5fcd\u8005-\u300bWorld Tour\u4e2d\u56fd\u5de1\u6f14\u2014\u5e7f\u5dde\u7ad9-16-12-11--13:30","cover_price":"280.00","brief":"","figure":"\/1466996935443.jpg","sell_time_start":"1466956800","sell_time_end":"1467561600"},{"product_id":"8888","origin_price":"50.00","channel_id":"9","brand_id":"5","p_catalog_id":"93","supplier_type":"2","supplier_code":"3300001","name":"\u3010\u7535\u5b50\u7968\u3011I DO 18\u4e2d\u56fd\uff08\u5317\u4eac\uff09\u52a8\u6f2b\u6e38\u620f\u5609\u5e74\u534e\u6f2b\u5c55\u95e8\u7968","cover_price":"50.00","brief":"","figure":"\/1472437083583.jpg","sell_time_start":"1471881600","sell_time_end":"1472486400"},{"product_id":"7586","origin_price":"280.00","channel_id":"9","brand_id":"51","p_catalog_id":"93","supplier_type":"1","supplier_code":"0","name":"Live Spectacle\u300aNARUTO-\u706b\u5f71\u5fcd\u8005-\u300bWorld Tour\u4e2d\u56fd\u5de1\u6f14\u2014\u5e7f\u5dde\u7ad9-16-12-11--19:30","cover_price":"280.00","brief":"","figure":"\/1466997050407.jpg","sell_time_start":"1466956800","sell_time_end":"1467561600"},{"product_id":"7582","origin_price":"280.00","channel_id":"9","brand_id":"51","p_catalog_id":"93","supplier_type":"1","supplier_code":"0","name":"Live Spectacle\u300aNARUTO-\u706b\u5f71\u5fcd\u8005-\u300bWorld Tour\u4e2d\u56fd\u5de1\u6f14\u2014\u5e7f\u5dde\u7ad9-16-12-09--19:30","cover_price":"280.00","brief":"","figure":"\/1466995768005.jpg","sell_time_start":"1466956800","sell_time_end":"1467561600"},{"product_id":"7503","origin_price":"35.00","channel_id":"9","brand_id":"5","p_catalog_id":"93","supplier_type":"2","supplier_code":"3300001","name":"\u3010\u7535\u5b50\u7968\u3011\u7b2c\u4e8c\u5c4a\u5929\u6d25\u5927\u80fd\u732b\u52a8\u6f2b\u8282","cover_price":"35.00","brief":"","figure":"\/1466664921153.jpg","sell_time_start":"1466611200","sell_time_end":"1467216000"},{"product_id":"10023","origin_price":"50.00","channel_id":"9","brand_id":"5","p_catalog_id":"93","supplier_type":"2","supplier_code":"3300001","name":"\u3010\u7535\u5b50\u7968\u3011\u5317\u4eac\u00b7\u56e7\u795e19\u5723\u8bde\u8db4\uff0112\/24~25\u548c\u4f60\u4e00\u9f50\u55e8\u76ae\uff01","cover_price":"50.00","brief":"","figure":"\/1476943798642.jpg","sell_time_start":"1476892800","sell_time_end":"1477497600"},{"product_id":"10059","origin_price":"35.00","channel_id":"9","brand_id":"5","p_catalog_id":"93","supplier_type":"2","supplier_code":"3300001","name":"\u3010\u7535\u5b50\u7968\u3011\u3010\u5996\u90fd\u3011\u9752\u5bab\u52a8\u6f2b\u5609\u5e74\u534eComic member04","cover_price":"35.00","brief":"","figure":"\/1478760430805.jpg","sell_time_start":"1476979200","sell_time_end":"1477584000"},{"product_id":"9845","origin_price":"45.00","channel_id":"9","brand_id":"5","p_catalog_id":"93","supplier_type":"2","supplier_code":"3300001","name":"\u3010CA14\u3011\u6b66\u6c49ComiAi\u52a8\u6f2b\u6e38\u620f\u540c\u4eba\u535a\u89c8\u4f1a14 \u7535\u5b50\u7968","cover_price":"45.00","brief":"","figure":"\/1476414516806.jpg","sell_time_start":"1476374400","sell_time_end":"1476979200"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/json_download.bat b/S202014040230郭刘芊/atguigu/json/json_download.bat
new file mode 100644
index 0000000..d54ae71
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/json_download.bat
@@ -0,0 +1,59 @@
+@echo off
+aria2c -c -o HOME_URL.json "http://mi2.cycang.com/index.php?c=shop&a=getIndexPageInfo&sign=d3d44bf63d5c3be2cd82f578fe673129&seckill_nums=6&hot_nums=8&channel_nums=10&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=&ver=7.0&recommend_nums=6"
+aria2c -c -o TAG_URL.json "http://mi2.cycang.com/index.php?c=shop&a=getTagList&cyc_tk=&start=0&sign=ff00ff44a11deedd30b07f2df5dd0198&nums=30&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o SKIRT_URL.json "http://mi2.cycang.com/index.php?c=shop&a=getCatalogInFormByCid&cyc_tk=cyctk_26b801e11f8c3d517f94d5e420b94b6a&catalog_id=3&sign=6cbf0d708dc5fcd9fd99a1c30317de9b&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o NEW_POST_URL.json "http://mi2.cycang.com/index.php?c=ugc&a=getPostList&sign=3e02dbad65481a70ea8a48156925c5b2&is_new=1&start=0&nums=5&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=&ver=5.0"
+aria2c -c -o HOT_POST_URL.json "http://mi2.cycang.com/index.php?c=ugc&a=getPostList&sign=09f8e9a14bae124a92f023d2b9d600c8&is_new=0&start=0&nums=5&is_hot=1&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=&ver=5.0"
+aria2c -c -o JACKET_URL.json "http://mi2.cycang.com/index.php?c=shop&a=getCatalogInFormByCid&cyc_tk=&catalog_id=51&sign=63949e24bd2032c7e405d5428b9fd5dc&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o PANTS_URL.json "http://mi2.cycang.com/index.php?c=shop&a=getCatalogInFormByCid&cyc_tk=&catalog_id=57&sign=867fddff0b871d136f64373e0d1a7b88&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o OVERCOAT_URL.json "http://mi2.cycang.com/index.php?c=shop&a=getCatalogInFormByCid&cyc_tk=&catalog_id=64&sign=812e7ff3033d46dce63bf00858037b5d&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o ACCESSORY_URL.json "http://mi2.cycang.com/index.php?c=shop&a=getCatalogInFormByCid&cyc_tk=&catalog_id=69&sign=dcd66b8f93382e6c0ecebcd7f2ee2d56&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o BAG_URL.json "http://mi2.cycang.com/index.php?c=shop&a=getCatalogInFormByCid&sign=cc6988751f2eedf9e4cdd5b8b4c75fc0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=&catalog_id=75"
+aria2c -c -o DRESS_UP_URL.json "http://mi2.cycang.com/index.php?c=shop&a=getCatalogInFormByCid&cyc_tk=&catalog_id=4&sign=84e5e02f56c5ad3a85721eb9ec7e3ed9&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o HOME_PRODUCTS_URL.json "http://mi2.cycang.com/index.php?c=shop&a=getCatalogInFormByCid&cyc_tk=&catalog_id=5&sign=5f058e6e68449d699a46628c7d989675&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o STATIONERY_URL.json "http://mi2.cycang.com/index.php?c=shop&a=getCatalogInFormByCid&sign=87a3460a3657d8e0f3e9ca58be3bdc4b&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=&catalog_id=6"
+aria2c -c -o DIGIT_URL.json "http://mi2.cycang.com/index.php?c=shop&a=getCatalogInFormByCid&sign=9bff79ed5f4aeda52781a1fbd12fdb13&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=cyctk_55af6f0c945c3abb7aed7e584ec0a225&catalog_id=7"
+aria2c -c -o GAME_URL.json "http://mi2.cycang.com/index.php?c=shop&a=getCatalogInFormByCid&sign=903b9968b85c7a9ac81d5e3674292370&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=&catalog_id=8"
+aria2c -c -o GOODSINFO_URL.json "http://app.cycang.com/index.php?c=product&a=detail&id="
+aria2c -c -o CALL_CENTER.json "https://static.meiqia.com/dist/standalone.html?eid=17853&metadata=%7B%22%5Cu5546%5Cu54c1%5Cu94fe%5Cu63a5%22%3A%22http%3A%5C%2F%5C%2Fcycang.com%5C%2Findex.php%3Fa%3Dp%26id%3D9528%22%7D"
+aria2c -c -o CLOSE_STORE.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=8&sign=c863ab6cbea94ac9e49962c844d5fcdd&is_new=0&price=1%7C99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=&catalog_id=0"
+aria2c -c -o GAME_STORE.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=4&sign=fbf5b52fa4c8c5b680d9794f66b207dd&is_new=0&price=1%7C99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=&catalog_id=0"
+aria2c -c -o COMIC_STORE.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=3&sign=5c51930c358fa382f1179aceb504c340&is_new=0&price=1|99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=cyctk_6394d57f761f64287492fc1e2e6f2fa3&catalog_id=0"
+aria2c -c -o COSPLAY_STORE.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=5&sign=4f64c21854287d9bee9e0738323b5510&is_new=0&price=1%7C99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=&catalog_id=0"
+aria2c -c -o GUFENG_STORE.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=6&sign=7e3501651b64c39267349ccfedee63c9&is_new=0&price=1%7C99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=&catalog_id=0"
+aria2c -c -o STICK_STORE.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=9&sign=29599a771677353247a8bd3fb32a710e&is_new=0&price=1%7C99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=&catalog_id=0"
+aria2c -c -o WENJU_STORE.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=9&sign=29599a771677353247a8bd3fb32a710e&is_new=0&price=1%7C99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=&catalog_id=0"
+aria2c -c -o FOOD_STORE.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=10&sign=d0b15400e36dcde99490c96537c11900&is_new=0&price=1%7C99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=&catalog_id=0"
+aria2c -c -o SHOUSHI_STORE.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=12&sign=1961210152215031728290818f94d14b&is_new=0&price=1%7C99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=&catalog_id=0"
+aria2c -c -o MORE_STORE.json "http://mi2.cycang.com/index.php?c=shop&a=getAllChannelList&sign=6efc40a6dabe3f184000180d70c4712b&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=&start=0&nums=100"
+aria2c -c -o urls_00.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=0&sign=bdb9d2c58fc1f9a2989fa844c89bd632&catalog_id=0&is_new=0&price=1%7C99999&supplier_type=0&nums=20&is_hot=0&keyword=%E5%96%B5%E6%98%9F%E4%BA%BA&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_01.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=0&sign=10b33e8526b1f464c95efba2570ffb44&catalog_id=0&is_new=0&price=1%7C99999&supplier_type=0&nums=20&is_hot=0&keyword=%E6%AC%A1%E5%85%83%E4%BB%93&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_02.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=0&sign=9f3e692ec766acb311f1cd2d80c224af&catalog_id=0&is_new=0&price=1%7C99999&supplier_type=0&nums=20&is_hot=0&keyword=%E6%98%9F%E6%B2%B3%E5%8A%A8%E6%BC%AB&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_03.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=0&sign=d86d05b1a8356935155b9fb3fff8e818&catalog_id=0&is_new=0&price=1%7C99999&supplier_type=0&nums=20&is_hot=0&keyword=A3%E5%8E%9F%E5%88%9B%E6%B4%8B%E8%A3%85%E5%BA%97&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_04.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=0&sign=f2dd7d910c8cbc4bfd90c478241a5d97&catalog_id=0&is_new=0&price=1%7C99999&supplier_type=0&nums=20&is_hot=0&keyword=%E4%B8%96%E7%95%8C%E7%BA%BF%E7%9A%84%E5%BD%BC%E5%B2%B8&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_05.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=0&sign=988b470341ee9032916a54d73a592222&catalog_id=0&is_new=0&price=1%7C99999&supplier_type=0&nums=20&is_hot=0&keyword=%E4%B8%80%E6%96%B9%E5%B0%98%E5%AF%B0&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_06.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=0&sign=dff20a8b9f2dd373405387f9fb867563&catalog_id=0&is_new=0&price=1|99999&supplier_type=0&nums=20&is_hot=0&keyword=%E5%BD%A9%E8%99%B9%E5%A0%82%E6%AD%A3%E5%93%81%E5%8A%A8%E6%BC%AB&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_07.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=0&sign=0919cee6db92ad4ed30c313d2198c029&catalog_id=0&is_new=0&price=1|99999&supplier_type=0&nums=20&is_hot=0&keyword=amovo%E9%AD%94%E5%90%BB&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_08.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=0&sign=49fe3ef7d35c2458bb2c68371e77950a&catalog_id=0&is_new=0&price=1|99999&supplier_type=0&nums=20&is_hot=0&keyword=SYS%E8%89%BA%E6%9C%AF%E8%AF%B4&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_09.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=0&sign=6e3804417b594e3c376521813cc36152&catalog_id=0&is_new=0&price=1|99999&supplier_type=0&nums=20&is_hot=0&keyword=%E7%9F%B3%E5%A4%B4%E4%BA%BA%E5%B7%A5%E4%BD%9C%E5%AE%A4&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_10.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=0&sign=e2c37c40140a8be505337bc498e9fe9a&catalog_id=0&is_new=0&price=1|99999&supplier_type=0&nums=20&is_hot=0&keyword=Funko&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_11.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=0&sign=1db77d5c309a547b8037cac9a36ec055&catalog_id=0&is_new=0&price=1|99999&supplier_type=0&nums=20&is_hot=0&keyword=%E5%8D%81%E9%87%8C%E4%B8%B9%E9%9D%92&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_12.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=0&sign=512a8ea330263aec6fca5bfe6dac0f7c&catalog_id=0&is_new=0&price=1%7C99999&supplier_type=0&nums=20&is_hot=0&keyword=%E5%88%9B%E4%B8%80%E6%96%87%E5%8C%96&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_13.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=0&sign=9200ce69ce8d4c3461ab923da37403a5&catalog_id=0&is_new=0&price=1%7C99999&supplier_type=0&nums=20&is_hot=0&keyword=%E4%BA%9A%E8%92%99%E5%85%94%E5%AE%B6&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_14.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=0&sign=e8800d340f65fe70f364f816caa52883&catalog_id=0&is_new=0&price=1%7C99999&supplier_type=0&nums=20&is_hot=0&keyword=%E5%AE%87%E5%AE%99%E7%94%B5%E6%B3%A2&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_15.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=%E7%A6%B9%E5%B1%8B%E5%8E%9F%E5%88%9B&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=0&sign=a5e566bb6eb3c582f547d74a5ebcd94e&is_new=0&price=1|99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=cyctk_a36caf0fe0c84be73704af03ea0baef9&catalog_id=0"
+aria2c -c -o urls_16.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=%E7%AC%A6%E8%B1%9A%E7%94%B2%E8%83%84&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=0&sign=10a6204f4964d9f40f26f325d4b8a839&is_new=0&price=1|99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=cyctk_a36caf0fe0c84be73704af03ea0baef9&catalog_id=0"
+aria2c -c -o urls_17.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=%E8%83%BD%E9%87%8F%E5%A4%A9%E4%BD%BF&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=0&sign=2d4a280ab4d01062da615e998624c051&is_new=0&price=1|99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=cyctk_a36caf0fe0c84be73704af03ea0baef9&catalog_id=0"
+aria2c -c -o urls_18.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=%E4%B8%8A%E6%B5%B7%E7%AD%92%E8%8F%B2&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=0&sign=99c9cca4b780237ed43d4431f0907a5b&is_new=0&price=1|99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=&catalog_id=0"
+aria2c -c -o urls_19.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=chairball%E5%8E%9F%E5%88%9B%E8%AE%BE%E8%AE%A1&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=0&sign=17af6593634c42994652a35e739f6ed8&is_new=0&price=1|99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=&catalog_id=0"
+aria2c -c -o urls_20.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=%E7%A0%9A%E6%B1%A0%E5%B7%A5%E4%BD%9C%E5%AE%A4&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=0&sign=479793b6e153b01182240075273044d9&is_new=0&price=1|99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=&catalog_id=0"
+aria2c -c -o urls_21.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=0&sign=8ab3608370703f051ff2579966cf7d48&catalog_id=0&is_new=0&price=1|99999&supplier_type=0&nums=20&is_hot=0&keyword=%E4%BA%91%E8%90%BD%E7%A7%8B%E6%B1%A0&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_22.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=0&sign=be3093e73620284de7e18e202a9dcd9e&catalog_id=0&is_new=0&price=1|99999&supplier_type=0&nums=20&is_hot=0&keyword=%E5%8D%81%E4%B8%80%E5%AE%AB&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_23.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=0&sign=26be150f078aac4b44082150194f2408&catalog_id=0&is_new=0&price=1|99999&supplier_type=0&nums=20&is_hot=0&keyword=%E9%95%BF%E8%8D%89%E9%A2%9C%E6%96%87%E5%AD%97&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_24.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=%E7%BD%91%E6%98%93%E6%B8%B8%E6%88%8F&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=0&sign=63a6e7f0a1dc1177a952f6f4d555de17&is_new=0&price=1|99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=cyctk_a36caf0fe0c84be73704af03ea0baef9&catalog_id=0"
+aria2c -c -o urls_25.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=ISOS&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=0&sign=d278532c73d69d70b97a82663b94656e&is_new=0&price=1|99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=cyctk_a36caf0fe0c84be73704af03ea0baef9&catalog_id=0"
+aria2c -c -o urls_26.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=40&sign=45bab10ee57b97d23a3cbca807bc7f54&catalog_id=0&is_new=0&price=1|99999&supplier_type=0&nums=20&is_hot=0&keyword=%E7%BB%9D%E5%AF%B9%E8%90%8C%E5%9F%9F&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_27.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=%E9%9B%AA%E7%8C%AB%E4%B8%80%E6%97%8F&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=0&sign=bbe046f48d3c9dd1bb6de0132f33937f&is_new=0&price=1|99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=cyctk_a36caf0fe0c84be73704af03ea0baef9&catalog_id=0"
+aria2c -c -o urls_28.json "http://mi2.cycang.com/index.php?c=shop&a=page&cyc_tk=&start=20&sign=e105da03dfb69c3b989e451fcad63007&catalog_id=0&is_new=0&price=1|99999&supplier_type=0&nums=20&is_hot=0&keyword=ŽǴ&channel_id=0&supplier_code=0&sale_type=1&sort=sort_order&brand_id=0&ver=5.0&public_key=c16abd9f3dd734a628e17cd6fef39e93"
+aria2c -c -o urls_29.json "http://mi2.cycang.com/index.php?c=shop&a=page&supplier_code=0&sort=sort_order&keyword=%E9%9D%99%E6%82%A6%E5%9D%8A&supplier_type=0&brand_id=0&ver=5.0&sale_type=1&channel_id=0&sign=aa181ff8ceef97ac07243c3e17b11f86&is_new=0&price=1|99999&start=0&nums=20&is_hot=0&public_key=c16abd9f3dd734a628e17cd6fef39e93&cyc_tk=cyctk_a36caf0fe0c84be73704af03ea0baef9&catalog_id=0"
+pause
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_00.json b/S202014040230郭刘芊/atguigu/json/urls_00.json
new file mode 100644
index 0000000..2b5a9a7
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_00.json
@@ -0,0 +1,231 @@
+{
+ "code": 200,
+ "msg": "请求成功",
+ "result": {
+ "brand_data": false,
+ "catalog_data": false,
+ "is_recommended": "0",
+ "page_data": [
+ {
+ "brand_id": "77",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "25.00",
+ "figure": "/1442219020234.jpg",
+ "name": "【喵鹿酱】毛绒公仔 喵星人 萌萌哒 饼干猫咪抱枕",
+ "origin_price": "25.00",
+ "p_catalog_id": "22",
+ "product_id": "1365"
+ },
+ {
+ "brand_id": "77",
+ "brief": "",
+ "channel_id": "12",
+ "cover_price": "25.00",
+ "figure": "/1461122800918.jpg",
+ "name": "【Honest首饰】925银戒指 线条 喵星人 概念猫耳戒指",
+ "origin_price": "29.00",
+ "p_catalog_id": "73",
+ "product_id": "6036"
+ },
+ {
+ "brand_id": "77",
+ "brief": "",
+ "channel_id": "8",
+ "cover_price": "49.00",
+ "figure": "/1451107788981.jpg",
+ "name": "【漫踪】原创 EVA 明日香 喵星人 超萌猫耳帽 徽章帽 遮阳帽子",
+ "origin_price": "69.00",
+ "p_catalog_id": "70",
+ "product_id": "3722"
+ },
+ {
+ "brand_id": "77",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "48.00",
+ "figure": "/1458284283746.jpg",
+ "name": "[散漫舍]颜文字炸鸡块萌系猫咪喵星人单肩绒毛",
+ "origin_price": "68.00",
+ "p_catalog_id": "82",
+ "product_id": "3346"
+ },
+ {
+ "brand_id": "77",
+ "brief": "ACG作品名: 颜文字出售状态: 现货动漫地区: 日本周边产品: 抱枕/靠垫品牌: 漫趣型号: 颜文字材质: 毛绒",
+ "channel_id": "3",
+ "cover_price": "59.00",
+ "figure": "/1435655316506.jpg",
+ "name": "【漫趣】颜文字 炸鸡块 抱枕 天使 喵星人 午睡枕",
+ "origin_price": "69.00",
+ "p_catalog_id": "22",
+ "product_id": "291"
+ },
+ {
+ "brand_id": "254",
+ "brief": "预售期至11月22日,出货后将按订单顺序安排发货噢~",
+ "channel_id": "3",
+ "cover_price": "49.00",
+ "figure": "/1478684458165.jpg",
+ "name": "预售【漫踪】尚硅谷毛绒玩偶秋冬保暖喵星人猫咪后院暖手捂大抱枕",
+ "origin_price": "0.00",
+ "p_catalog_id": "22",
+ "product_id": "10577"
+ },
+ {
+ "brand_id": "383",
+ "brief": "",
+ "channel_id": "8",
+ "cover_price": "31.20",
+ "figure": "/1478771479131.jpg",
+ "name": "【蜜茶联萌】原创喵星人流行梗 纯棉长袖T恤 日常创意打底 早睡醒了",
+ "origin_price": "39.00",
+ "p_catalog_id": "56",
+ "product_id": "10613"
+ },
+ {
+ "brand_id": "383",
+ "brief": "",
+ "channel_id": "8",
+ "cover_price": "31.20",
+ "figure": "/1478770606292.jpg",
+ "name": "【蜜茶联萌】原创喵星人流行梗 纯棉长袖T恤 日常创意打底 上天",
+ "origin_price": "39.00",
+ "p_catalog_id": "56",
+ "product_id": "10606"
+ },
+ {
+ "brand_id": "383",
+ "brief": "",
+ "channel_id": "8",
+ "cover_price": "31.20",
+ "figure": "/1478770259484.jpg",
+ "name": "【蜜茶联萌】原创喵星人流行梗 纯棉长袖T恤 日常创意打底 人生苦短",
+ "origin_price": "39.00",
+ "p_catalog_id": "56",
+ "product_id": "10605"
+ },
+ {
+ "brand_id": "383",
+ "brief": "",
+ "channel_id": "8",
+ "cover_price": "31.20",
+ "figure": "/1478771356352.jpg",
+ "name": "【蜜茶联萌】原创喵星人流行梗 纯棉长袖T恤 日常创意打底 给机会多说",
+ "origin_price": "39.00",
+ "p_catalog_id": "56",
+ "product_id": "10612"
+ },
+ {
+ "brand_id": "383",
+ "brief": "",
+ "channel_id": "8",
+ "cover_price": "31.20",
+ "figure": "/1478771175422.jpg",
+ "name": "【蜜茶联萌】原创喵星人流行梗 纯棉长袖T恤 日常创意打底 洪荒之力",
+ "origin_price": "39.00",
+ "p_catalog_id": "56",
+ "product_id": "10611"
+ },
+ {
+ "brand_id": "383",
+ "brief": "",
+ "channel_id": "8",
+ "cover_price": "31.20",
+ "figure": "/1478771065211.jpg",
+ "name": "【蜜茶联萌】原创喵星人流行梗 纯棉长袖T恤 日常创意打底 嘿嘿嘿",
+ "origin_price": "39.00",
+ "p_catalog_id": "56",
+ "product_id": "10609"
+ },
+ {
+ "brand_id": "383",
+ "brief": "",
+ "channel_id": "8",
+ "cover_price": "31.20",
+ "figure": "/1478770896479.jpg",
+ "name": "【蜜茶联萌】原创喵星人流行梗 纯棉长袖T恤 日常创意打底 上车了",
+ "origin_price": "39.00",
+ "p_catalog_id": "56",
+ "product_id": "10608"
+ },
+ {
+ "brand_id": "383",
+ "brief": "",
+ "channel_id": "8",
+ "cover_price": "31.20",
+ "figure": "/1478770777024.jpg",
+ "name": "【蜜茶联萌】原创喵星人流行梗 纯棉长袖T恤 日常创意打底 静静看着",
+ "origin_price": "39.00",
+ "p_catalog_id": "56",
+ "product_id": "10607"
+ },
+ {
+ "brand_id": "77",
+ "brief": "",
+ "channel_id": "12",
+ "cover_price": "19.00",
+ "figure": "/1461121730483.jpg",
+ "name": "【Honest】925银耳钉 喵星人 精灵猫",
+ "origin_price": "29.00",
+ "p_catalog_id": "73",
+ "product_id": "6033"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "12",
+ "cover_price": "28.00",
+ "figure": "/1467626635120.png",
+ "name": "【Honest首饰】 925银耳钉 白金版 可爱小猫咪 喵星人 简约",
+ "origin_price": "39.00",
+ "p_catalog_id": "73",
+ "product_id": "7725"
+ },
+ {
+ "brand_id": "182",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "20.00",
+ "figure": "/1437034378542.jpg",
+ "name": "【天闻角川】直供 喵星人 挂绳卡套02·西瓜",
+ "origin_price": "20.00",
+ "p_catalog_id": "37",
+ "product_id": "385"
+ },
+ {
+ "brand_id": "77",
+ "brief": "",
+ "channel_id": "12",
+ "cover_price": "17.00",
+ "figure": "/1461122483808.jpg",
+ "name": "【Honest】925银耳钉 喵星人 卷尾猫",
+ "origin_price": "27.00",
+ "p_catalog_id": "73",
+ "product_id": "6035"
+ },
+ {
+ "brand_id": "77",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "25.00",
+ "figure": "/1435115327659.jpg",
+ "name": "【orz漫工厂】cosplay 百搭饰品 猫领结 铃铛 猫爪 喵星人手套",
+ "origin_price": "30.00",
+ "p_catalog_id": "20",
+ "product_id": "234"
+ },
+ {
+ "brand_id": "77",
+ "brief": "",
+ "channel_id": "12",
+ "cover_price": "26.00",
+ "figure": "/1461123395992.jpg",
+ "name": "【Honest】925银戒指 Hello kitty 喵星人 开口可调节戒指",
+ "origin_price": "38.00",
+ "p_catalog_id": "73",
+ "product_id": "6039"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_01.json b/S202014040230郭刘芊/atguigu/json/urls_01.json
new file mode 100644
index 0000000..5c43164
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_01.json
@@ -0,0 +1,55 @@
+{
+ "code": 200,
+ "msg": "请求成功",
+ "result": {
+ "brand_data": false,
+ "catalog_data": false,
+ "is_recommended": "0",
+ "page_data": [
+ {
+ "brand_id": "5",
+ "brief": "此商品只作为补差价或邮费专用,小伙伴们不要乱拍呀~差几元拍几个~ o(*≧▽≦)ツ",
+ "channel_id": "3",
+ "cover_price": "1.00",
+ "figure": "/1452742997932.jpg",
+ "name": "尚硅谷邮费补拍专用万能拍【请不要乱拍哦~】",
+ "origin_price": "1.00",
+ "p_catalog_id": "100",
+ "product_id": "4063"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "69.00",
+ "figure": "/1478593271170.jpg",
+ "name": "【尚硅谷】超萌 捧心 尚硅谷 毛绒公仔【全款预售】",
+ "origin_price": "69.00",
+ "p_catalog_id": "29",
+ "product_id": "10545"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "8",
+ "cover_price": "69.00",
+ "figure": "/1464776087422.jpg",
+ "name": "【尚硅谷出品】一发入魂 BUFFT恤 ART恤 2.5次元",
+ "origin_price": "69.00",
+ "p_catalog_id": "42",
+ "product_id": "6805"
+ },
+ {
+ "brand_id": "394",
+ "brief": "尚硅谷双十一特供小狐狸羽织!!小仓特意委托画影工作室制作了一批红黑款小狐狸羽织(๑•̀ㅂ•́)و✧,会在双十一活动期间出售哦!!(特供款不含发带、裙子)",
+ "channel_id": "8",
+ "cover_price": "111.10",
+ "figure": "/1477560742373.jpg",
+ "name": "【画影】现货 尚硅谷特供 小狐狸羽织--红黑款",
+ "origin_price": "132.00",
+ "p_catalog_id": "67",
+ "product_id": "10290"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_02.json b/S202014040230郭刘芊/atguigu/json/urls_02.json
new file mode 100644
index 0000000..ef04939
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_02.json
@@ -0,0 +1,165 @@
+{
+ "code": 200,
+ "msg": "请求成功",
+ "result": {
+ "brand_data": false,
+ "catalog_data": false,
+ "is_recommended": "1",
+ "page_data": [
+ {
+ "brand_id": "258",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "168.00",
+ "figure": "/1476170715116.jpg",
+ "name": "【宅漫周边店】柴犬doge周边 可爱萌 牛角扣学院风呢子大衣 动漫外套",
+ "origin_price": "168.00",
+ "p_catalog_id": "65",
+ "product_id": "2855"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "299.00",
+ "figure": "/1469173640233.jpg",
+ "name": "Censi 声氏 Moecen猫耳耳机 尚硅谷 动漫 卖萌 头戴式 蓝牙耳机【白色版】",
+ "origin_price": "439.00",
+ "p_catalog_id": "101",
+ "product_id": "8262"
+ },
+ {
+ "brand_id": "90",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "199.00",
+ "figure": "/1447232577216.jpg",
+ "name": "【漫踪】原创 宫崎骏 龙猫 可爱雪地靴动漫保暖鞋周边冬季毛绒鞋子",
+ "origin_price": "318.00",
+ "p_catalog_id": "74",
+ "product_id": "2691"
+ },
+ {
+ "brand_id": "77",
+ "brief": "本宝宝由漫T周边店提供,下单后7个工作日内发货~此款产品不支持7天无理由退换!小主们请明鉴噢♪(^∇^*)",
+ "channel_id": "3",
+ "cover_price": "114.00",
+ "figure": "/1474974516830.jpg",
+ "name": "【宅漫周边店】可爱猫咪后院周边 PU皮单肩包 大包 挎包 动漫周边",
+ "origin_price": "114.00",
+ "p_catalog_id": "82",
+ "product_id": "2889"
+ },
+ {
+ "brand_id": "254",
+ "brief": "深蓝色预售期至7月22日~ 米色现货哦~~",
+ "channel_id": "8",
+ "cover_price": "99.00",
+ "figure": "/1465716158434.jpg",
+ "name": "【漫踪】猫咪后院T恤短袖 猫咪老师衣服闺蜜上衣动漫t",
+ "origin_price": "159.00",
+ "p_catalog_id": "56",
+ "product_id": "6979"
+ },
+ {
+ "brand_id": "3",
+ "brief": "",
+ "channel_id": "4",
+ "cover_price": "22.00",
+ "figure": "/1450427011059.jpg",
+ "name": "【狐狸de动漫小屋】全门派职业·成男·金属书签 剑三",
+ "origin_price": "22.00",
+ "p_catalog_id": "26",
+ "product_id": "3563"
+ },
+ {
+ "brand_id": "9",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "59.00",
+ "figure": "/1462528256303.jpg",
+ "name": "【歪瓜出品】 魔卡少女樱百变小樱魔法阵pvc小夜灯led3d台灯动漫周边",
+ "origin_price": "118.00",
+ "p_catalog_id": "90",
+ "product_id": "6291"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "8",
+ "cover_price": "39.00",
+ "figure": "/1467796809278.jpg",
+ "name": "【漫境天空】恶搞表情包动漫T恤夏季短袖 沉迷学习日渐消瘦",
+ "origin_price": "39.00",
+ "p_catalog_id": "56",
+ "product_id": "7826"
+ },
+ {
+ "brand_id": "34",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "118.30",
+ "figure": "/1451294929366.jpg",
+ "name": "【漫踪】银魂正版帆布鞋女动漫板鞋",
+ "origin_price": "169.00",
+ "p_catalog_id": "74",
+ "product_id": "3760"
+ },
+ {
+ "brand_id": "77",
+ "brief": "本商品由漫T周边店提供,7个工作日内发货",
+ "channel_id": "3",
+ "cover_price": "77.00",
+ "figure": "/1472198398679.jpg",
+ "name": "【宅漫周边店】猫咪后院 动漫周边 格子百褶/高腰/短裙 伞裙",
+ "origin_price": "77.00",
+ "p_catalog_id": "88",
+ "product_id": "2858"
+ },
+ {
+ "brand_id": "3",
+ "brief": "",
+ "channel_id": "6",
+ "cover_price": "148.00",
+ "figure": "/supplier/1464589918004.jpg",
+ "name": "【逸影阁】剑网3 剑三 夜幕星河伞 直骨长柄/折叠雨伞 夏日出行",
+ "origin_price": "148.00",
+ "p_catalog_id": "17",
+ "product_id": "1910"
+ },
+ {
+ "brand_id": "435",
+ "brief": "",
+ "channel_id": "6",
+ "cover_price": "29.00",
+ "figure": "/1469177978876.jpg",
+ "name": "【现货】【溪月兰心】原创印花发带 星河·白鹿 花青色",
+ "origin_price": "29.00",
+ "p_catalog_id": "71",
+ "product_id": "8278"
+ },
+ {
+ "brand_id": "3",
+ "brief": "",
+ "channel_id": "4",
+ "cover_price": "115.00",
+ "figure": "/supplier/1464669637362.jpg",
+ "name": "【逸影阁】剑网3剑网三夜幕星河伞双层纸伞油纸伞刺绣纱幔",
+ "origin_price": "115.00",
+ "p_catalog_id": "17",
+ "product_id": "6730"
+ },
+ {
+ "brand_id": "435",
+ "brief": "",
+ "channel_id": "6",
+ "cover_price": "29.00",
+ "figure": "/1469177815658.jpg",
+ "name": "【现货】【溪月兰心】原创印花发带 星河·白鹿 抹茶色 ",
+ "origin_price": "29.00",
+ "p_catalog_id": "71",
+ "product_id": "8277"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_03.json b/S202014040230郭刘芊/atguigu/json/urls_03.json
new file mode 100644
index 0000000..1369b1e
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_03.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"8868","channel_id":"8","brand_id":"450","p_catalog_id":"12","name":"\u9884\u552e \u3010Ever Tales\u3011\u4e2d\u534e\u98ce-\u9e64\u5f52-lolita\u6d0b\u88c5-JSK\u8fde\u8863\u88d9","cover_price":"418.00","origin_price":"418.00","brief":"\u5168\u6b3e\u9884\u552e\uff01\uff01\u9884\u552e\u671f\u81f39\u67085\u65e5\uff0c\u5236\u4f5c\u5de5\u671f\u7ea660\u65e5\uff0c11\u6708\u4e2d\u4e0b\u65ec\u53d1\u8d27\u3002","figure":"\/1471832397944.jpg"},{"product_id":"8705","channel_id":"8","brand_id":"5","p_catalog_id":"55","name":"\u5927\u8d27\u5236\u4f5c\u4e2d\u3010\u65f6\u4e4b\u7802lolita\u6d0b\u88c5\u3011\u91d1\u9c7c\u59ec\u886c\u8863\u3010\u5c55\u793a\u3011","cover_price":"999.00","origin_price":"999.00","brief":"\u3010\u91d1\u9c7c\u59ec\u3011 \u6539\u826f\u548c\u98ce\u3001\u5929\u4f7f\u632f\u8896\u3001\u8774\u8776\u7ed3\u3001\u6d41\u82cf\u3001\u76d8\u6263\uff0c\u53ef\u642d\u914d\u767d\u663c\u68a6\u548c\u670d\u88b4\uff0c5\u5904\u523a\u7ee3\uff0c4\u5904\u5927\u9762\u79ef\u523a\u7ee3\/\u53cc\u9762\u523a\u7ee3\u6210\u672c\u5f88\u9ad8\uff0c\u5927\u8d27\u9762\u6599\u91c7\u7528\u94f6\u4e1d\u7af9\u8282\u68c9 \uff08\u7eaf\u68c9\uff09\u8fdb\u53e3\u6377\u514b\u6c34\u6676\u540a\u5760\u3001\u739b\u7459\u6563\u73e0\u3001\u7f0e\u9762\u8774\u8776\u7ed3\u3002\u672c\u5546\u54c1\u76ee\u524d\u662f\u9884\u552e\uff0c\u5168\u6b3e298\u5143\uff0c\u9884\u552e\u65f6\u95f42016\u5e747\u6708\u81f39\u670830\u65e5\uff0c\u53d1\u8d27\u65f6\u95f411\u670815\u65e5\u81f311\u670830\u65e5\u3002\u6ce8\uff1a\u672c\u5546\u54c1\u4ece10\u6708\u4efd\u8d77\u4ef7\u683c\u4f1a\u8c03\u6574\u4e3a\u73b0\u8d27\u4ef7\u683c\uff08\u5c11\u91cf\u6389\u843d\uff09\uff0c\u73b0\u8d27\u4ef7\u683c\u4e3a368RMB\u3002","figure":"\/supplier\/1470994412753.jpg"},{"product_id":"3005","channel_id":"8","brand_id":"266","p_catalog_id":"12","name":"\u3010Neverland\u3011\u539f\u521b lolita\u6d0b\u88c5-X'mas Deer\u5723\u8bde\u5c0f\u9e7f\u80cc\u5e26SK","cover_price":"235.84","origin_price":"268.00","brief":"\u5b9a\u5236\u65f6\u95f4\u7ea645\u65e5\u5de6\u53f3","figure":"\/1448336885329.jpg"},{"product_id":"7064","channel_id":"8","brand_id":"383","p_catalog_id":"84","name":"\u3010KIKISS\u3011\u539f\u521b\u82b1\u7eb9 lolita \u6d0b\u88c5 \u8f6f\u59b9 \u767e\u642d\u70eb\u91d1 \u8537\u8587 \u67c4\u4e1d\u889c","cover_price":"31.20","origin_price":"39.00","brief":"","figure":"\/1465973714433.jpg"},{"product_id":"8869","channel_id":"8","brand_id":"450","p_catalog_id":"71","name":"\u9884\u552e \u3010Ever Tales\u3011 \u4e2d\u534e\u98ce-\u9e64\u5f52-lolita\u6d0b\u88c5-\u62ab\u80a9","cover_price":"168.00","origin_price":"168.00","brief":"\u5168\u6b3e\u9884\u552e\uff01\uff01\u9884\u552e\u671f\u81f39\u67085\u65e5\uff0c\u5236\u4f5c\u5de5\u671f\u7ea660\u65e5\uff0c11\u6708\u4e2d\u4e0b\u65ec\u53d1\u8d27\u3002","figure":"\/1471834004439.jpg"},{"product_id":"8183","channel_id":"6","brand_id":"435","p_catalog_id":"10","name":"\u3010\u5c11\u91cf\u73b0\u8d27\u3011\u3010\u6eaa\u6708\u5170\u5fc3\u3011\u4e2d\u534e\u98ce\u6d0b\u88c5 \u53e4\u98ce\u5143\u7d20\u5957\u88c5\u88d9 \u8336\u4ed9\u9752\u74f7\u00b7\u9edb\u84dd \u4e00\u56e2\u5f81\u96c6","cover_price":"294.40","origin_price":"368.00","brief":"\u3010\u5c11\u91cf\u73b0\u8d27\u3011\u4e00\u56e2\u5f81\u96c6\u4f18\u60e0\u4ef7\uff1a\u4e0a\u8eab160\u5143 \u4e0b\u88d9208\u5143\uff0c\u4e00\u5957368\u5143\u3002\u4e00\u5957\u542b\u4e0a\u8863\u3001\u53ef\u62c6\u4e91\u80a9\u3001\u4e0b\u88d9\u3002\u4e0d\u542b\u5934\u9970\u3001\u978b\u5b50\u3001\u5305\u5305\u3002","figure":"\/1469153160526.jpg"},{"product_id":"10535","channel_id":"8","brand_id":"482","p_catalog_id":"12","name":"\u3010This-Time\u6d0b\u88c5\u3011\u3010\u82ad\u857e\u7cfb\u5217\u2014\u2014\u831c\u5c14\u7ef4\u5a05\u3011Lolita jsk \u8fde\u8863\u88d9","cover_price":"450.00","origin_price":"450.00","brief":"","figure":"\/1478576247598.jpg"},{"product_id":"10539","channel_id":"8","brand_id":"482","p_catalog_id":"12","name":"\u3010This-Time\u6d0b\u88c5\u3011-\u9f99\u7684\u5b9d\u85cf\u95f4-\u504f\u751c\u65e5\u5e38\u6b3e lolita \u8fde\u8863\u88d9 JSK","cover_price":"430.00","origin_price":"430.00","brief":"","figure":"\/1478586404573.jpg"},{"product_id":"10538","channel_id":"8","brand_id":"482","p_catalog_id":"12","name":"\u3010This-Time\u6d0b\u88c5\u3011-\u9f99\u7684\u5b9d\u85cf\u95f4-\u504f\u751c\u65e5\u5e38\u6b3e lolita \u8fde\u8863\u88d9 OP","cover_price":"430.00","origin_price":"430.00","brief":"","figure":"\/1478577358795.jpg"},{"product_id":"8652","channel_id":"8","brand_id":"309","p_catalog_id":"71","name":"\u3010\u5341\u91cc\u4e39\u9752\u3011\u539f\u521blolita\u6d0b\u88c5 \u68ee\u6797\u7cbe\u7075 \u7f69\u7eb1","cover_price":"168.00","origin_price":"168.00","brief":"","figure":"\/1470796463083.jpg"},{"product_id":"1752","channel_id":"12","brand_id":"3","p_catalog_id":"73","name":"\u5251\u7f513\u95e8\u6d3e\u884d\u751f\u540c\u4eba\u539f\u521b\u624b\u94fe ","cover_price":"68.00","origin_price":"68.00","brief":"","figure":"\/1450754469244.jpg"},{"product_id":"3269","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4]\u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u624b\u5de5\u5b9a\u5236\u53d1\u5149\u5c0f\u591c\u706f","cover_price":"68.00","origin_price":"68.00","brief":"\u4e0d\u5305\u542b\u63d0\u624b~\u4e0d\u5305\u542b\u63d0\u624b~\u4e0d\u5305\u542b\u63d0\u624b~OVO \u91cd\u8981\u7684si\u60c5\u55e6\u4e09\u904d~~~ \u5de5\u671f\u4e3a5-10\u4e2a\u5de5\u4f5c\u65e5~\r\n","figure":"\/1449219464141.jpg"},{"product_id":"4947","channel_id":"8","brand_id":"5","p_catalog_id":"71","name":"\u3010USEE\u54df\u559c\u3011 \u539f\u521b\u7eb9\u8eab\u8d34\u9632\u6c34 \u9ed1\u767d\u5f69\u8272\u6301\u4e45\u7537\u5973\u68ee\u5973\u8774\u8776\u9e7f \u7279\u60e0\u5957\u88c5","cover_price":"22.00","origin_price":"22.00","brief":"","figure":"\/1467361365770.jpg"},{"product_id":"3209","channel_id":"4","brand_id":"3","p_catalog_id":"26","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u624b\u5de5\u5b9a\u5236\u793c\u7269\u6728\u8d28\u5361\u5957","cover_price":"26.40","origin_price":"30.00","brief":"","figure":"\/1449134007474.jpg"},{"product_id":"6969","channel_id":"8","brand_id":"403","p_catalog_id":"29","name":"\u3010\u6d89\u5ddd\u539f\u521b\u3011\u5468\u8fb9\u5c0f\u7269 \u624b\u611f\u8d85\u597d\u8d85\u840c\u7684\u5154\u6bdb\u5c0f\u5154\u7eb8\u5305\u6302\/\u6bdb\u7ed2\u73a9\u5076","cover_price":"68.00","origin_price":"68.00","brief":"\u5154\u5154\u521a\u5230\u624b\u4f1a\u6709\u6d6e\u6bdb\uff0c\u591a\u62cd\u62cd\u6296\u6296\u5439\u5439\u63c9\u63c9\u5c31\u597d\u5566(","figure":"\/1465620442251.jpg"},{"product_id":"4628","channel_id":"8","brand_id":"5","p_catalog_id":"56","name":"\u3010\u6f2b\u8e2a\u3011 \u539f\u521b\u53ef\u7231\u840c\u732b\u54aa\u5927\u4eba \u7acb\u4f53\u732b\u5c3eT\u6064 \u857e\u4e1d\u82b1\u8fb9\u5973","cover_price":"79.00","origin_price":"142.00","brief":"","figure":"\/1461571069605.jpg"},{"product_id":"589","channel_id":"8","brand_id":"266","p_catalog_id":"12","name":"\u5b9a\u5236\u3010Neverland \u539f\u521b\u3011\u76f4\u53d1 \u70eb\u91d1lolita \u4eba\u9c7c\u4e4b\u6b4c \u9ad8\u8170JSK\u8fde\u8863\u88d9","cover_price":"403.04","origin_price":"458.00","brief":"45\u5929\u5de5\u671f","figure":"\/1438772068067.jpg"},{"product_id":"3212","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u539f\u521b\u8bbe\u8ba1\u53ef\u8c03\u5149\u5145\u7535\u53f0\u706f\u3010\u4e4c\u591c\u557c\u3011","cover_price":"202.40","origin_price":"230.00","brief":"\u6b64\u4e3a\u4e0b\u5355\u5b9a\u5236\u3002\u5de5\u671f7-10\u5929\u3002\u7531\u781a\u6c60\u53d1\u8d27\u3002\u975e\u8d28\u91cf\u95ee\u9898\u4e0b\u5355\u4e0d\u4f5c\u9000\u6362\u3002","figure":"\/1474971558864.jpg"},{"product_id":"6981","channel_id":"8","brand_id":"5","p_catalog_id":"84","name":"\u3010\u539f\u521b\u77ed\u889c\u3011\u8f6f\u59b9\u5973\u889c \u539f\u521b \u523a\u7ee3\u889c\u5b50 \u767e\u642d \u5c11\u5973\u5fc3 jk\u65e5\u5e38","cover_price":"6.90","origin_price":"6.90","brief":"","figure":"\/1465959861797.jpg"},{"product_id":"5","channel_id":"4","brand_id":"3","p_catalog_id":"26","name":"\u3010\u884d\u751f\u539f\u521b\u3011\u5251\u4fa0\u60c5\u7f18\u53c1 \u5251\u7f513 \u5251\u4e09\u62a4\u8eab\u7b26\u9999\u5305 \u6302\u4ef6 \u5fa1\u5b88","cover_price":"13.00","origin_price":"13.00","brief":"\u51fa\u54c1\uff1a\u55b5\u53fd\u53fd\u53fd\u5927\u8054\u840c","figure":"\/1429840421737.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"1"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_04.json b/S202014040230郭刘芊/atguigu/json/urls_04.json
new file mode 100644
index 0000000..9c3fd5b
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_04.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"3845","channel_id":"8","brand_id":"183","p_catalog_id":"70","name":"\u9884\u552e \u3010\u4e16\u754c\u7ebf\u7684\u5f7c\u5cb8\u3011\u70b8\u9e21\u5757 \u989c\u6587\u5b57 \u7f8a\u6bdb\u5462\u8d1d\u96f7\u5e3d \u5706\u6da6\u70e7\u997c\u5e3d \u4fdd\u6696","cover_price":"49.00","origin_price":"49.00","brief":"","figure":"\/1451967280855.jpg"},{"product_id":"3570","channel_id":"6","brand_id":"285","p_catalog_id":"71","name":"\u3010\u4e16\u754c\u7ebf\u7684\u5f7c\u5cb8\u3011\u539f\u521b\u6c49\u670d\u523a\u7ee3 \u96ea\u82b1\u5154 \u53d1\u5e26\u5934\u9970","cover_price":"30.00","origin_price":"28.00","brief":"","figure":"\/1450431989769.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_05.json b/S202014040230郭刘芊/atguigu/json/urls_05.json
new file mode 100644
index 0000000..35df538
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_05.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"3281","channel_id":"4","brand_id":"281","p_catalog_id":"71","name":"\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u5251\u4e09 \u4e07\u82b1 \u5170\u4ead\u9999\u96ea 95\u5927\u6a59\u6b66\u53d1\u7c2a\u5468\u8fb9\u6446\u4ef6\u9884\u552e","cover_price":"120.00","origin_price":"159.00","brief":"\u6700\u540e\u4e00\u6b21\u5f0095\u4e07\u82b1\u56e2\u4e86\uff01\uff01\uff01\u6700\u540e500\u4e2a\u5b8c\u552e\u540e\u5c31\u6b63\u5f0f\u5c01\u4ed3\u4e0d\u518d\u505a\u4e86\uff01\uff01 \r\n\u5927\u8d27\u6837\u56fe\u5df2\u51fa\uff01\uff01\u6539\u7248\u4e4b\u540e\u66f4\u5c4c\u6709\u6728\u6709\uff01\u771f\u91d1\u7535\u9540\u7edd\u5bf9\u8d85\u503c\uff01 \u5b9e\u529b\u6253\u9020\uff0c\u4e0d\u5bb9\u9519\u8fc7\uff01 \u7528\u5fc3\u6253\u78e8\uff0c\u53ea\u4e3a\u613f\u60a8\u4e00\u4e2a\u6a59\u6b66\u68a6\uff01\uff01\uff01\r\n\u56fe\u4e3a\u6700\u7ec8\u6837\uff0c\u9646\u7eed\u4f1a\u653e\u5927\u8d27\u9ad8\u6e05\u5927\u56fe\uff01\uff01\u5b9e\u529b\u6253\u9020\uff0c\u4e0d\u5bb9\u9519\u8fc7\uff01 \u7528\u5fc3\u6253\u78e8\uff0c\u53ea\u4e3a\u5706\u5c3c\u4e00\u4e2a\u6a59\u6b66\u68a6\uff01\uff01\uff01","figure":"\/1453194827823.jpg"},{"product_id":"3476","channel_id":"12","brand_id":"281","p_catalog_id":"71","name":"\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u548c\u98ce\u91cd\u6a31\u73cd\u73e0\u6d41\u82cf\u7c2a","cover_price":"35.00","origin_price":"45.00","brief":"","figure":"\/supplier\/1449839522267.jpg"},{"product_id":"6784","channel_id":"12","brand_id":"281","p_catalog_id":"71","name":"\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u5251\u4e0995\u5927\u6a59\u6b66\u4e94\u6bd2\u00b7\u7edb\u7389\u62e8\u4e91 \u53d1\u7c2aBJD cos\u9053\u5177","cover_price":"95.00","origin_price":"105.00","brief":"\u5168\u90e8\u73b0\u8d27\u5168\u90e8\u73b0\u8d27\uff01\uff01\u6a21\u7279\u56fe\u5df2\u51fa\uff01\uff01\u6539\u7248\u4e4b\u540e\u66f4\u5c4c\u6709\u6728\u6709\uff01\u9ad8\u54c1\u8d28\u72ec\u5bb6\u6253\u7248\u5f00\u6a21\u7edd\u5bf9\u8d85\u503c\uff01 \u5b9e\u529b\u6253\u9020\uff0c\u4e0d\u5bb9\u9519\u8fc7\uff01 \u7528\u5fc3\u6253\u78e8\uff0c\u53ea\u4e3a\u5706\u60a8\u4e00\u4e2a\u6a59\u6b66\u68a6\uff01\uff01\uff01","figure":"\/supplier\/1469697386716.jpg"},{"product_id":"3304","channel_id":"6","brand_id":"281","p_catalog_id":"71","name":"\u5b9a\u5236\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u6c49\u670d\u53e4\u98ce\u590d\u53e4\u798f\u5bff\u94f6\u9501\u538b\u895f","cover_price":"100.00","origin_price":"100.00","brief":"\u7cbe\u5de7\u73b2\u73d1\uff0c\u798f\u5bff\u7ef5\u957f","figure":"\/supplier\/1449469096054.jpg"},{"product_id":"3474","channel_id":"12","brand_id":"281","p_catalog_id":"71","name":"\u5b9a\u5236\u3010\u4e00\u65b9\u5c18\u5bf0\u3011 \u5251\u4e09 \u85cf\u5251 90 \u6a59\u6b66 \u884d\u751f\u7c2a \u95ee\u6c34\u00b7\u63a2\u6885 {\u94f6\u674f*\u6885\u82b1}","cover_price":"80.00","origin_price":"99.00","brief":"\u5de5\u671f\uff1a\u4e00\u5468","figure":"\/supplier\/1449836871249.jpg"},{"product_id":"3306","channel_id":"6","brand_id":"281","p_catalog_id":"71","name":"\u5b9a\u5236\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u6c49\u670d\u53e4\u98ce\u590d\u53e4\u798f\u5bff\u91d1\u9501\u538b\u895f","cover_price":"150.00","origin_price":"160.00","brief":"\u7cbe\u5de7\u73b2\u73d1\uff0c\u798f\u5bff\u7ef5\u5ef6","figure":"\/supplier\/1452141325215.jpg"},{"product_id":"9356","channel_id":"12","brand_id":"281","p_catalog_id":"71","name":"\u73b0\u8d27\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u5251\u4fa0\u60c5\u7f18\u4e09\u5251\u4e09\u4e03\u79c0 \u5e72\u5c06\u83ab\u90aa 90\u6a59\u6b66\u4eff\u70e7\u84dd\u590d\u53e4\u5bf9\u7c2a","cover_price":"159.00","origin_price":"169.00","brief":"\u60f3\u8981\u505a\u4f18\u96c5\u8ff7\u4eba\u7684\u79c0\u59d1\u5a18\u4e48\uff01 \u60f3\u8981\u4e0d\u6f0f\u58f0\u8272\u5b9e\u73b0\u4f4e\u8c03\u5962\u534e\u6709\u5185\u6db5\u4e48\uff01\uff01 \u8fd9\u4e48\u4e0b\u72e0\u5fc3\u505a\u8fd9\u6b3e\u7c2a\u5b50\u7684\u5168\u7f51\u5e94\u8be5\u4e5f\u5c31\u6211\u4eec\u4e86\u5427QWQ \u4e0d\u662f\u6211\u5439~\u6211\u4eec\u75af\u8d77\u6765\u81ea\u5df1\u4e5f\u6253\u3010\u6342\u8138","figure":"\/1477984921265.jpg"},{"product_id":"3327","channel_id":"6","brand_id":"281","p_catalog_id":"71","name":"\u5b9a\u5236\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u6c49\u670d\u590d\u53e4\u534e\u4e3d\u748e\u73de\u9879\u5708","cover_price":"268.00","origin_price":"300.00","brief":"Soufflesong \u539f\u521b\u4e2d\u534e\u98ce \u5bab\u706f\u7cfb\u5217 \u6c49\u670d\u957f\u8966\u88d9 \u5408\u4f5c\u72ec\u5bb6\u6b3e\u642d\u914d\u9996\u9970","figure":"\/supplier\/1449566477049.jpg"},{"product_id":"3330","channel_id":"6","brand_id":"281","p_catalog_id":"71","name":"\u5b9a\u505a\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u6c49\u670d\u590d\u53e4\u4e91\u4f69\u7389\u538b\u895f","cover_price":"100.00","origin_price":"120.00","brief":"\u7f8e\u4eba\u5982\u7389\uff0c\u6b65\u6b65\u83b2\u534e","figure":"\/supplier\/1449482505035.jpg"},{"product_id":"3468","channel_id":"12","brand_id":"281","p_catalog_id":"71","name":"\u5b9a\u5236\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u535c\u7b97\u5b50\u00b7\u4ed5\u5973\u98d8\u82b1\u6b65\u6447","cover_price":"40.00","origin_price":"99.00","brief":"","figure":"\/supplier\/1449832603056.jpg"},{"product_id":"3309","channel_id":"6","brand_id":"281","p_catalog_id":"71","name":"\u5b9a\u5236\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u82b1\u5343\u9aa8\u4e4b\u767d\u5b50\u753b\u83b2\u82b1\u51a0","cover_price":"190.00","origin_price":"320.00","brief":"\u72ec\u5bb6\u8bbe\u8ba1\uff0c\u534e\u4e3d\u800c\u4e0d\u5931\u98d8\u9038\uff0c\u53ef\u901a\u7528\u5176\u4ed6\u540c\u7c7b\u578b\u53e4\u98ce\u4eba\u7269\u4f7f\u7528","figure":"\/supplier\/1449473468967.jpg"},{"product_id":"3472","channel_id":"12","brand_id":"281","p_catalog_id":"71","name":"\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u7f24\u7eb7\u53cc\u8272 \u6a31\u82b1\u548c\u98ce\u53d1\u68b3","cover_price":"38.00","origin_price":"49.00","brief":"","figure":"\/supplier\/1449833812695.jpg"},{"product_id":"3539","channel_id":"12","brand_id":"281","p_catalog_id":"71","name":"\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u548c\u98ce\u9e64\u67c4 \u53cc\u5c42\u73cd\u73e0 \u94f6\u674f\u7c2a","cover_price":"30.00","origin_price":"39.00","brief":"","figure":"\/supplier\/1450271472289.png"},{"product_id":"10391","channel_id":"12","brand_id":"281","p_catalog_id":"71","name":"\u73b0\u8d27\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u5251\u4fa0\u60c5\u7f18\u4e09\u5251\u4e09\u4e03\u79c0 \u5e72\u5c06\u83ab\u90aa 90\u6a59\u6b66\u4eff\u70e7\u84dd\u590d\u53e4\u5bf9\u7c2a-\u7279\u5178\u7248","cover_price":"159.00","origin_price":"169.00","brief":"\u60f3\u8981\u505a\u4f18\u96c5\u8ff7\u4eba\u7684\u79c0\u59d1\u5a18\u4e48\uff01 \u60f3\u8981\u4e0d\u6f0f\u58f0\u8272\u5b9e\u73b0\u4f4e\u8c03\u5962\u534e\u6709\u5185\u6db5\u4e48\uff01\uff01 \u8fd9\u4e48\u4e0b\u72e0\u5fc3\u505a\u8fd9\u6b3e\u7c2a\u5b50\u7684\u5168\u7f51\u5e94\u8be5\u4e5f\u5c31\u6211\u4eec\u4e86\u5427QWQ \u4e0d\u662f\u6211\u5439~\u6211\u4eec\u75af\u8d77\u6765\u81ea\u5df1\u4e5f\u6253\u3010\u6342\u8138","figure":"\/1477984931882.jpg"},{"product_id":"3312","channel_id":"3","brand_id":"281","p_catalog_id":"71","name":"\u5b9a\u505a\u3010\u4e00\u65b9\u5c18\u5bf0\u3011lolita\u4e2d\u534e\u8774\u8776\u8fb9\u5939","cover_price":"100.00","origin_price":"120.00","brief":"","figure":"\/supplier\/1449474765425.jpg"},{"product_id":"3545","channel_id":"12","brand_id":"281","p_catalog_id":"71","name":"\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u548c\u98ce\u9cd6\u7532\u98ce \u6a31\u82b1\u6d41\u6c34\u67c4 \u94f6\u674f\u7c2a","cover_price":"28.00","origin_price":"30.00","brief":"","figure":"\/supplier\/1450274082803.png"},{"product_id":"3301","channel_id":"12","brand_id":"281","p_catalog_id":"73","name":"\u3010\u4e00\u65b9\u5c18\u5bf0\u3011BJD\u5a03\u7528 \u82b1\u9b41\u53d1\u7c2a\u5927\u5957\u88c5","cover_price":"350.00","origin_price":"350.00","brief":"\u7269\u7f8e\u4ef7\u5ec9\uff0c\u5de5\u5382\u5f00\u6a21\u5236\u4f5c\u65e0\u8bba\u662f\u5de5\u827a\u7cbe\u7ec6\u5ea6\u8fd8\u662f\u8868\u9762\u5149\u6cfd\u5ea6\u90fd\u662f\u624b\u5de5\u5236\u54c1\u65e0\u6cd5\u8fbe\u5230\u7684\u5b8c\u7f8e\uff01\r\n\u9020\u798f\u5404\u4f4d\u5a03\u5a18\u5a03\u7239\uff0c\u72ec\u5bb6\u3010\u82b1\u5bb5\u9053\u4e2d\u3011\u3010BJD\u6b3e\u5a03\u7528\u4e8c\u5341\u4ef6\u5957\u5927\u5957\u88c5\u3011\u73b0\u8d27\u51fa\u552e\u54e6~~~","figure":"\/supplier\/1449484440237.jpg"},{"product_id":"3423","channel_id":"5","brand_id":"281","p_catalog_id":"20","name":"\u5b9a\u505a\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u957f\u5b89\u5e7b\u591c\u516b\u91cd\u96ea\u82d7\u9996\u9970\u5957\u88c5","cover_price":"750.00","origin_price":"0.00","brief":"","figure":"\/supplier\/1449800743737.jpg"},{"product_id":"3359","channel_id":"3","brand_id":"281","p_catalog_id":"71","name":"\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u82b1\u5bb5\u9053\u4e2d \u82b1\u9b41\u6b3e \u6854\u6897\u548c\u98ce\u7c2a","cover_price":"30.00","origin_price":"30.00","brief":"","figure":"\/supplier\/1449645368462.jpg"},{"product_id":"3475","channel_id":"5","brand_id":"281","p_catalog_id":"20","name":"\u5b9a\u5236\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u9739\u96f3\u9f99\u5bbf\u4e00\u7248 \u4eba\u7528\u9053\u5177\u6247","cover_price":"450.00","origin_price":"499.00","brief":"\u5236\u4f5c\u5de5\u671f\uff1a\u4e00\u4e2a\u6708\r\n\u7279\u6b8a\u9053\u5177\uff0c\u4e00\u7ecf\u53d1\u51fa\uff0c\u6536\u8d27\u8bf7\u5f53\u9762\u7b7e\u6536\u9a8c\u8d27\uff0c\u5982\u65e0\u8d28\u91cf\u95ee\u9898\u6982\u4e0d\u9000\u6362\uff01","figure":"\/supplier\/1449838077722.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_06.json b/S202014040230郭刘芊/atguigu/json/urls_06.json
new file mode 100644
index 0000000..12c3366
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_06.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"3179","channel_id":"3","brand_id":"277","p_catalog_id":"29","name":"\u3010\u5f69\u8679\u5802\u3011\u6b63\u7248\u7f57\u5c0f\u9ed1\u6218\u8bb0\u73a9\u5076\u8db4\u8db4\u6b3e\u9ed1\u732b\u840c\u732b\u6bdb\u7ed2\u516c\u4ed4","cover_price":"319.00","origin_price":"319.00","brief":"","figure":"\/1449048894730.jpg"},{"product_id":"7739","channel_id":"15","brand_id":"419","p_catalog_id":"73","name":"\u3010\u4e24\u758f\u5802\u3011\u624b\u5de5 \u53e4\u5178\u7c2a\u5b50 \u70e7\u84dd\u53d1\u7c2a \u6d41\u82cf\u6b65\u6447 \u666f\u6cf0\u84dd \u5409\u7965\u83b2\u82b1","cover_price":"49.30","origin_price":"58.00","brief":"\u5236\u4f5c\u5de5\u671f\u7ea614\u5929\u5de6\u53f3\uff0c\u5b8c\u5de5\u540e\u5b89\u6392\u53d1\u8d27\u3002","figure":"\/1467699147760.jpg"},{"product_id":"7841","channel_id":"15","brand_id":"419","p_catalog_id":"73","name":"\u3010 \u4e24\u758f\u5802\u3011\u624b\u5de5\u53e4\u5178\u7c2a\u5b50 \u6c49\u670d\u53d1\u7c2a \u4e2d\u79cb\u8282\u7279\u5236","cover_price":"38.25","origin_price":"45.00","brief":"\u5236\u4f5c\u5de5\u671f\u7ea614\u5929\u5de6\u53f3\uff0c\u5b8c\u5de5\u540e\u5b89\u6392\u53d1\u8d27\u3002\n","figure":"\/supplier\/1467821957419.jpg"},{"product_id":"7774","channel_id":"15","brand_id":"419","p_catalog_id":"73","name":"\u3010\u4e24\u758f\u5802\u3011\u624b\u5de5 \u53e4\u5178\u70e7\u84dd\u7c2a\u5b50 \u53e4\u88c5\u5934\u9970 \u6d41\u82cf \u666f\u6cf0\u84dd\u53d1\u7c2a \u3010\u4e0d\u77e5\u6101","cover_price":"70.40","origin_price":"88.00","brief":"\u5236\u4f5c\u5de5\u671f\u7ea614\u5929\u5de6\u53f3\uff0c\u5b8c\u5de5\u540e\u5b89\u6392\u53d1\u8d27\u3002","figure":"\/1467708693817.jpg"},{"product_id":"7733","channel_id":"15","brand_id":"419","p_catalog_id":"73","name":"\u3010\u4e24\u758f\u5802\u3011 \u624b\u5de5 \u6c49\u670d\u53d1\u9970 \u53e4\u98ce\u53d1\u7c2a \u5510\u98ce\u53e4\u88c5 \u5927\u6247\u5f62","cover_price":"33.15","origin_price":"39.00","brief":"\u5236\u4f5c\u5de5\u671f\u7ea614\u5929\u5de6\u53f3\uff0c\u5b8c\u5de5\u540e\u5b89\u6392\u53d1\u8d27\u3002","figure":"\/1467688478811.jpg"},{"product_id":"7740","channel_id":"15","brand_id":"419","p_catalog_id":"73","name":"\u3010\u4e24\u758f\u5802\u3011\u539f\u521b \u624b\u5de5 \u53e4\u88c5\u5934\u9970 \u666f\u6cf0\u84dd\u53d1\u7c2a \u3010\u4e09\u83b2\u56fe","cover_price":"49.30","origin_price":"58.00","brief":"\u5236\u4f5c\u5de5\u671f\u7ea620\u5929\u5de6\u53f3\uff0c\u5b8c\u5de5\u540e\u5b89\u6392\u53d1\u8d27\u3002","figure":"\/1467699366110.jpg"},{"product_id":"7846","channel_id":"15","brand_id":"419","p_catalog_id":"73","name":"\u3010 \u4e24\u758f\u5802\u3011\u539f\u521b\u624b\u5de5 \u6c49\u670d\u53d1\u9970\u53d1\u5939 \u53e4\u5178\u62ab\u98ce\u6263\u5706\u5f62\u80f8\u9488","cover_price":"72.25","origin_price":"85.00","brief":"","figure":"\/supplier\/1467822832168.jpg"},{"product_id":"10329","channel_id":"12","brand_id":"419","p_catalog_id":"73","name":"\u3010\u4e24\u758f\u5802\u3011 \u624b\u5de5 \u53e4\u5178\u53d1\u7c2a \u4e2d\u5f0f\u6c49\u670d \u914d\u9970 \u6b65\u6447 \u53e4\u88c5\u5934\u9970 \u53e4\u98ce\u6d41\u82cf\u7c2a\u5b50--\u5143\u5915","cover_price":"75.65","origin_price":"89.00","brief":"\u6ca1\u6709\u73b0\u8d27\uff01\u5236\u4f5c\u5de5\u671f\u7ea615\u5929\u5de6\u53f3\uff0c\u5b8c\u5de5\u540e\u5b89\u6392\u53d1\u8d27\uff01\uff01","figure":"\/1477653755698.jpg"},{"product_id":"7844","channel_id":"15","brand_id":"419","p_catalog_id":"73","name":"\u3010\u4e24\u758f\u5802\u3011\u539f\u521b\u624b\u5de5 \u6c49\u670d\u53d1\u7c2a \u70e7\u84dd\u8774\u8776","cover_price":"55.25","origin_price":"65.00","brief":"\u5236\u4f5c\u5de5\u671f\u7ea620\u5929\uff0c\u5b8c\u5de5\u540e\u5b89\u6392\u53d1\u8d27","figure":"\/supplier\/1467822511193.jpg"},{"product_id":"10331","channel_id":"12","brand_id":"419","p_catalog_id":"73","name":"\u3010\u4e24\u758f\u5802\u3011 \u624b\u5de5 \u53e4\u5178\u53d1\u7c2a \u4e2d\u5f0f\u6c49\u670d\u914d\u9970 \u6b65\u6447 \u53e4\u88c5\u5934\u9970 \u53e4\u98ce\u6d41\u82cf\u7c2a\u5b50","cover_price":"38.25","origin_price":"45.00","brief":"\u6ca1\u6709\u73b0\u8d27\uff01\uff01\u5236\u4f5c\u5de5\u671f\u7ea615\u5929\u5de6\u53f3\uff0c\u5b8c\u5de5\u540e\u5b89\u6392\u53d1\u8d27\uff01","figure":"\/1477656465825.jpg"},{"product_id":"3179","channel_id":"3","brand_id":"277","p_catalog_id":"29","name":"\u3010\u5f69\u8679\u5802\u3011\u6b63\u7248\u7f57\u5c0f\u9ed1\u6218\u8bb0\u73a9\u5076\u8db4\u8db4\u6b3e\u9ed1\u732b\u840c\u732b\u6bdb\u7ed2\u516c\u4ed4","cover_price":"319.00","origin_price":"319.00","brief":"","figure":"\/1449048894730.jpg"},{"product_id":"3368","channel_id":"3","brand_id":"277","p_catalog_id":"97","name":"\u3010\u5f69\u8679\u5802\u3011\u6b63\u54c1 \u7f57\u5c0f\u9ed1\u53ef\u7231\u5361\u901a\u9ed1\u8272\u70ab\u9177\u62c9\u6746\u7bb1 \u65c5\u884c\u7bb1 \u767b\u673a\u7bb1","cover_price":"329.00","origin_price":"359.00","brief":"","figure":"\/1449646802386.jpg"},{"product_id":"3364","channel_id":"3","brand_id":"277","p_catalog_id":"17","name":"\u3010\u5f69\u8679\u5802\u3011\u6b63\u54c1 \u7f57\u5c0f\u9ed1\u96e8\u4f1e \u9632\u6652\u7d2b\u5916\u7ebf\u592a\u9633\u4f1e \u4fbf\u643a\u4e09\u6298\u53cc\u5c42\u6674\u96e8\u4f1e \u590f\u65e5\u51fa\u884c","cover_price":"89.00","origin_price":"168.00","brief":"","figure":"\/1460100813444.jpg"},{"product_id":"3356","channel_id":"3","brand_id":"277","p_catalog_id":"81","name":"\u3010\u5f69\u8679\u5802\u3011\u6b63\u54c1 \u7f57\u5c0f\u9ed1\u6218\u8bb0 \u563f\u563f\u563f\u56db\u4ef6\u5957 \u97e9\u7248\u52a0\u539a\u73ca\u745a\u7ed2 \u88ab\u5b50","cover_price":"249.00","origin_price":"249.00","brief":"","figure":"\/1449645488851.jpg"},{"product_id":"3184","channel_id":"3","brand_id":"277","p_catalog_id":"105","name":"\u3010\u5f69\u8679\u5802\u3011\u6b63\u7248\u7f57\u5c0f\u9ed1\u8fde\u5e3d\u56f4\u5dfe\u624b\u5957\u53ef\u7231\u5973\u52a0\u539a\u767e\u642d\u56f4\u8116\u5e3d\u5b50","cover_price":"128.00","origin_price":"169.00","brief":"","figure":"\/1449050544323.jpg"},{"product_id":"3183","channel_id":"3","brand_id":"277","p_catalog_id":"77","name":"\u3010\u5f69\u8679\u5802\u3011\u6b63\u7248\u7f57\u5c0f\u9ed1 \u6bd4\u4e22\u6bdb\u7ed2\u624b\u673a\u5305\u5361\u5305\u96f6\u94b1\u5305","cover_price":"69.00","origin_price":"88.00","brief":"","figure":"\/1449050430294.jpg"},{"product_id":"3363","channel_id":"3","brand_id":"277","p_catalog_id":"79","name":"\u3010\u5f69\u8679\u5802\u3011\u6b63\u54c1 \u7f57\u5c0f\u9ed1\u53cc\u80a9\u5305 \u5355\u80a9\u5305\u624b\u63d0 \u4e66\u5305","cover_price":"244.00","origin_price":"468.00","brief":"","figure":"\/1449646253876.jpg"},{"product_id":"3176","channel_id":"3","brand_id":"277","p_catalog_id":"26","name":"\u3010\u5f69\u8679\u5802\u3011\u6b63\u7248\u7f57\u5c0f\u9ed1 \u6bd4\u4e22\u6bdb\u7ed2\u94a5\u5319\u5305\u96f6\u94b1\u5305","cover_price":"35.00","origin_price":"59.00","brief":"","figure":"\/1449048540214.jpg"},{"product_id":"4504","channel_id":"3","brand_id":"302","p_catalog_id":"70","name":"\u3010\u5f69\u8679\u5802\u3011\u963f\u72f8\u6b63\u7248 \u9488\u7ec7\u5e26\u8033\u6735\u840c\u840c\u54d2\u51ac\u5e3d\u5b50 Ali\u7ecf\u5178\u7ea2\u51ac\u5b63\u4fdd\u6696","cover_price":"69.00","origin_price":"99.00","brief":"","figure":"\/1454576075791.jpg"},{"product_id":"3351","channel_id":"3","brand_id":"277","p_catalog_id":"90","name":"\u3010\u5f69\u8679\u5802\u3011\u6b63\u54c1 \u7f57\u5c0f\u9ed1\u50a8\u94b1\u7f50 \u9676\u74f7\u6251\u6ee1\u5b58\u94b1\u7f50 \u684c\u9762\u6446\u4ef6\u50a8\u84c4\u7f50","cover_price":"98.00","origin_price":"129.00","brief":"","figure":"\/1449644345692.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"1"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_07.json b/S202014040230郭刘芊/atguigu/json/urls_07.json
new file mode 100644
index 0000000..9fda423
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_07.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"3328","channel_id":"3","brand_id":"9","p_catalog_id":"28","name":"[\u79b9\u5c4b\u539f\u521b]\u9b54\u5361\u5c11\u5973\u6a31 \u52fa\u5b50 \u5496\u5561\u52fa \u86cb\u7cd5\u52fa \u51b0\u6fc0\u51cc\u52fa","cover_price":"15.00","origin_price":"15.00","brief":"","figure":"\/1449482952463.jpg"},{"product_id":"5914","channel_id":"8","brand_id":"234","p_catalog_id":"88","name":"\u3010\u53e4\u602a\u820d\u3011\u539f\u521b\u8bbe\u8ba1 \u767e\u9b3c\u591c\u884c-\u51a5\u5e9c\u9b54\u9053\u548c\u98ce\u77ed\u88e4 \u65e5\u5f0f\u68c9\u9ebb\u9614\u817f\u88e4A70","cover_price":"89.00","origin_price":"89.00","brief":"","figure":"\/1462352934101.jpg"},{"product_id":"3790","channel_id":"3","brand_id":"3","p_catalog_id":"90","name":"\u3010\u6b6a\u74dc\u51fa\u54c1\u3011doge \u795e\u70e6\u72d7 \u9b54\u6027\u62fc\u56fe \u4e27\u5fc3\u75c5\u72c2\u62fc\u56fe \u6d41\u884c\u6897","cover_price":"25.00","origin_price":"25.00","brief":"","figure":"\/1451355845174.jpg"},{"product_id":"4563","channel_id":"8","brand_id":"234","p_catalog_id":"84","name":"\u3010\u53e4\u602a\u820d\u3011\u65e5\u7cfb\u539f\u5bbf \u523a\u7ee3\u516d\u8292\u661f\u9b54\u6cd5\u9635\u7eaf\u68c9\u77ed\u889c \u5806\u5806\u889c\u5b50E86","cover_price":"9.90","origin_price":"9.90","brief":"","figure":"\/1455592654992.jpg"},{"product_id":"6291","channel_id":"3","brand_id":"9","p_catalog_id":"90","name":"\u3010\u6b6a\u74dc\u51fa\u54c1\u3011 \u9b54\u5361\u5c11\u5973\u6a31\u767e\u53d8\u5c0f\u6a31\u9b54\u6cd5\u9635pvc\u5c0f\u591c\u706fled3d\u53f0\u706f\u52a8\u6f2b\u5468\u8fb9","cover_price":"59.00","origin_price":"118.00","brief":"","figure":"\/1462528256303.jpg"},{"product_id":"2824","channel_id":"8","brand_id":"230","p_catalog_id":"65","name":"\u3010\u753b\u5f71\u3011\u6076\u9b54\u55b5 \u4e07\u5723\u8282Ver. \u732b\u661f\u4eba \u539f\u521b\u65e5\u5e38\u52a0\u7ed2\u536b\u8863 ","cover_price":"118.00","origin_price":"118.00","brief":"\u73b0\u8d27~","figure":"\/1447676573565.jpg"},{"product_id":"3405","channel_id":"3","brand_id":"18","p_catalog_id":"82","name":"[\u6563\u6f2b\u820d]\u4e1c\u65b9project\u5e15\u79cb\u8389 lolita\u98ce \u9b54\u6cd5\u4e66\u672c \u5355\u80a9\u5305 \u659c\u630e\u5305","cover_price":"98.00","origin_price":"98.00","brief":"\u9b54\u6cd5\u4e66(bao)\u7531\u6563\u6f2b\u820d\u63d0\u4f9b\uff0c5\u4e2a\u5de5\u4f5c\u65e5\u5185\u65bd\u653e\u53d1\u8d27\u9b54\u6cd5","figure":"\/1449715757610.jpg"},{"product_id":"2696","channel_id":"4","brand_id":"18","p_catalog_id":"82","name":"\u3010\u6f2b\u8e2a\u3011\u4e1c\u65b9project \u96fe\u96e8\u9b54\u7406\u6c99 \u9ed1\u767d\u5355\u80a9\u5305\u659c\u630e\u5305","cover_price":"101.60","origin_price":"127.00","brief":"","figure":"\/1447234476825.jpg"},{"product_id":"2652","channel_id":"12","brand_id":"9","p_catalog_id":"73","name":"\u3010\u5e78\u8fd0\u77f3\u3011\u9b54\u5361\u5c11\u5973\u6a31\u9879\u94fe \u767e\u53d8\u5c0f\u6a31 \u5c01\u5370\u94a5\u5319925\u94f6\u540a\u5760","cover_price":"89.00","origin_price":"199.00","brief":"","figure":"\/1446801811626.jpg"},{"product_id":"5197","channel_id":"8","brand_id":"5","p_catalog_id":"71","name":"\u3010USEE\u54df\u559c\u3011 \u539f\u521b\u7eb9\u8eab\u8d34\u9632\u6c34 \u5929\u4f7f\u9b54\u9b3c\u7fc5\u8180 \u60c5\u4fa3\u6b3e \u9ed1\u767d\u6301\u4e45 \u4e07\u5723\u8282\u9970\u54c1","cover_price":"2.00","origin_price":"2.00","brief":"","figure":"\/supplier\/1469806936403.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"1"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_08.json b/S202014040230郭刘芊/atguigu/json/urls_08.json
new file mode 100644
index 0000000..c9e1ea1
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_08.json
@@ -0,0 +1,157 @@
+{
+ "code": 200,
+ "msg": "请求成功",
+ "result": {
+ "brand_data": false,
+ "catalog_data": false,
+ "is_recommended": "1",
+ "page_data": [
+ {
+ "brand_id": "441",
+ "brief": "我想给你一个不一样的生日,用8种语言对你说生日快乐~ 收到礼物的TA一定会超惊喜啦 o(*≧▽≦)ツ",
+ "channel_id": "10",
+ "cover_price": "67.90",
+ "figure": "/supplier/1472023903092.jpg",
+ "name": "【疯兔盒子】用8种语言对你说生日快乐 【创意生日礼物】 进口零食",
+ "origin_price": "78.00",
+ "p_catalog_id": "99",
+ "product_id": "8536"
+ },
+ {
+ "brand_id": "383",
+ "brief": "",
+ "channel_id": "8",
+ "cover_price": "31.20",
+ "figure": "/1478771356352.jpg",
+ "name": "【蜜茶联萌】原创喵星人流行梗 纯棉长袖T恤 日常创意打底 给机会多说",
+ "origin_price": "39.00",
+ "p_catalog_id": "56",
+ "product_id": "10612"
+ },
+ {
+ "brand_id": "441",
+ "brief": "o(*≧▽≦)ツ 8寸蛋糕大小的盒子,用9种语言说我爱你,慢满满创意和惊喜~",
+ "channel_id": "10",
+ "cover_price": "86.10",
+ "figure": "/supplier/1472031204907.jpg",
+ "name": "【疯兔盒子】 用9种语言说我爱你 【创意表白】进口零食",
+ "origin_price": "99.00",
+ "p_catalog_id": "99",
+ "product_id": "8551"
+ },
+ {
+ "brand_id": "100",
+ "brief": "来自星星的你不容错过的暖心童话绘本集,LISK、贵图子等漫画家为你打造星空之城!带给你不一样的童话阅读体验,唤起你童年记忆里柔软的渴望
",
+ "channel_id": "3",
+ "cover_price": "24.00",
+ "figure": "/1445833851245.jpg",
+ "name": "《星空之城》 暖心童话绘本集 诉说六个星空下的精彩故事",
+ "origin_price": "29.80",
+ "p_catalog_id": "24",
+ "product_id": "2434"
+ },
+ {
+ "brand_id": "100",
+ "brief": "",
+ "channel_id": "6",
+ "cover_price": "22.00",
+ "figure": "/1439443195494.jpg",
+ "name": "《白蛇》 柳宫燐 首次创作短篇小说 策马天下 古风彩图 漫画",
+ "origin_price": "22.00",
+ "p_catalog_id": "24",
+ "product_id": "663"
+ },
+ {
+ "brand_id": "36",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "25.00",
+ "figure": "/1433745952842.jpg",
+ "name": "【正版授权】秦时明月原著小说(全册8本)",
+ "origin_price": "25.00",
+ "p_catalog_id": "24",
+ "product_id": "83"
+ },
+ {
+ "brand_id": "348",
+ "brief": "",
+ "channel_id": "13",
+ "cover_price": "767.00",
+ "figure": "/1458717113419.jpg",
+ "name": "【猫受屋】ALTER Tales of Zestiria 情热传说 艾多娜 手办【全款预定】",
+ "origin_price": "767.00",
+ "p_catalog_id": "48",
+ "product_id": "5562"
+ },
+ {
+ "brand_id": "384",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "49.00",
+ "figure": "/1465701233183.jpg",
+ "name": "【宅电舍】 对方不想和你说话并向你扔了一只狗 表情包 抱枕 ",
+ "origin_price": "130.00",
+ "p_catalog_id": "22",
+ "product_id": "6975"
+ },
+ {
+ "brand_id": "424",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "49.00",
+ "figure": "/supplier/1468239163650.jpg",
+ "name": "【漫能出品】商城对方不想和你说话并且向你扔了一只狗 玩具抱枕狗",
+ "origin_price": "128.00",
+ "p_catalog_id": "22",
+ "product_id": "7922"
+ },
+ {
+ "brand_id": "5",
+ "brief": "304文化&绪慈(威向文化)
+赵小春 cn黄靖翔
+东方云倾 cn乐乐
+经典耽美小说《浪荡江湖之药师》",
+ "channel_id": "3",
+ "cover_price": "160.00",
+ "figure": "/supplier/1469607872576.jpg",
+ "name": "【304文化&绪慈】浪荡江湖之药师 黄靖翔 乐乐封面 特别套组版小说 次元文化;",
+ "origin_price": "160.00",
+ "p_catalog_id": "24",
+ "product_id": "8451"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "59.00",
+ "figure": "/1452828890543.jpg",
+ "name": "【SYS】春联来啦&双福到",
+ "origin_price": "101.00",
+ "p_catalog_id": "27",
+ "product_id": "4094"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "39.00",
+ "figure": "/1452768636880.jpg",
+ "name": "【SYS】贴门神 保平安",
+ "origin_price": "69.00",
+ "p_catalog_id": "27",
+ "product_id": "4090"
+ },
+ {
+ "brand_id": "5",
+ "brief": "红包一套十个",
+ "channel_id": "3",
+ "cover_price": "19.00",
+ "figure": "/1452766751335.jpg",
+ "name": "【SYS艺术说】红包来啦",
+ "origin_price": "39.00",
+ "p_catalog_id": "90",
+ "product_id": "4086"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_09.json b/S202014040230郭刘芊/atguigu/json/urls_09.json
new file mode 100644
index 0000000..51f6741
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_09.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"2215","channel_id":"6","brand_id":"215","p_catalog_id":"59","name":"\u3010\u6e38\u9e64\u5de5\u4f5c\u5ba4\u3011\u95f2\u68a6\u6c84\u6c84\u4e0b\u88d9\u523a\u7ee3\u767d\u9e7f\uff08\u77ed\u6b3e\uff09- \u85cf\u9752","cover_price":"110.60","origin_price":"158.00","brief":"\u73b0\u8d27 ","figure":"\/1444883979497.jpg"},{"product_id":"3269","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4]\u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u624b\u5de5\u5b9a\u5236\u53d1\u5149\u5c0f\u591c\u706f","cover_price":"68.00","origin_price":"68.00","brief":"\u4e0d\u5305\u542b\u63d0\u624b~\u4e0d\u5305\u542b\u63d0\u624b~\u4e0d\u5305\u542b\u63d0\u624b~OVO \u91cd\u8981\u7684si\u60c5\u55e6\u4e09\u904d~~~ \u5de5\u671f\u4e3a5-10\u4e2a\u5de5\u4f5c\u65e5~\r\n","figure":"\/1449219464141.jpg"},{"product_id":"3209","channel_id":"4","brand_id":"3","p_catalog_id":"26","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u624b\u5de5\u5b9a\u5236\u793c\u7269\u6728\u8d28\u5361\u5957","cover_price":"26.40","origin_price":"30.00","brief":"","figure":"\/1449134007474.jpg"},{"product_id":"3212","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u539f\u521b\u8bbe\u8ba1\u53ef\u8c03\u5149\u5145\u7535\u53f0\u706f\u3010\u4e4c\u591c\u557c\u3011","cover_price":"202.40","origin_price":"230.00","brief":"\u6b64\u4e3a\u4e0b\u5355\u5b9a\u5236\u3002\u5de5\u671f7-10\u5929\u3002\u7531\u781a\u6c60\u53d1\u8d27\u3002\u975e\u8d28\u91cf\u95ee\u9898\u4e0b\u5355\u4e0d\u4f5c\u9000\u6362\u3002","figure":"\/1474971558864.jpg"},{"product_id":"3211","channel_id":"4","brand_id":"3","p_catalog_id":"26","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u793c\u7269 \u95e8\u6d3e\u884d\u751f\u91d1\u5c5e\u4e66\u7b7e","cover_price":"13.20","origin_price":"15.00","brief":"","figure":"\/1449137495482.jpg"},{"product_id":"5774","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u5b9a\u5236\u793c\u7269\u50a8\u84c4\u7f50\u6536\u7eb3\u76d2","cover_price":"80.96","origin_price":"92.00","brief":"","figure":"\/supplier\/1478517808928.jpg"},{"product_id":"3522","channel_id":"8","brand_id":"5","p_catalog_id":"52","name":"\u3010\u6e38\u9e64\u5de5\u4f5c\u5ba4\u3011\u767e\u642d\u767d\u886c\u886b lo\u88c5\u767e\u642d \u65e5\u5e38\u767e\u642d","cover_price":"168.00","origin_price":"188.00","brief":"","figure":"\/1450092601010.jpg"},{"product_id":"8120","channel_id":"4","brand_id":"274","p_catalog_id":"41","name":"\u3010\u781a\u6c60\u5de5\u4f5c\u5ba4\u3011\u5251\u7f51\u4e09 \u52513\u540c\u4eba\u5168\u95e8\u6d3e\u884d\u751flogo\u5468\u8fb9 \u91d1\u5c5e\u624b\u673a\u8d34\u3010\u94f6\u8272\u3011","cover_price":"30.00","origin_price":"30.00","brief":"","figure":"\/1468840600394.jpg"},{"product_id":"4632","channel_id":"6","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u5b9a\u5236\u793c\u7269 \u968f\u8eab\u955c\u5316\u5986\u955c\u3010\u4eff\u94dc\u6b3e\u3011","cover_price":"33.44","origin_price":"38.00","brief":"","figure":"\/1455763241297.jpg"},{"product_id":"6031","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5468\u8fb9\u539f\u521b\u8bbe\u8ba1 \u95e8\u6d3e\u6821\u670d\u884d\u751f\u5ba0\u7269\u670d\u3010\u72f8\u5974\u3011","cover_price":"83.60","origin_price":"95.00","brief":"\u5236\u4f5c\u5de5\u671f\u970015\u5929\uff0c\u5236\u4f5c\u5b8c\u6210\u540e\u53d1\u8d27~~","figure":"\/1461121218550.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"1"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_10.json b/S202014040230郭刘芊/atguigu/json/urls_10.json
new file mode 100644
index 0000000..ff005e1
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_10.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"4326","channel_id":"3","brand_id":"308","p_catalog_id":"25","name":"\u3010FUNKO\u3011\u6b63\u7248 pop \u5351\u9119\u7684\u6211 \u5c0f\u9ec4\u4eba\u5916\u4f20\u5927\u773c\u840c \u76d2\u86cb\u5957\u88c5","cover_price":"58.00","origin_price":"128.00","brief":"","figure":"\/1453954210885.jpg"},{"product_id":"4292","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011\u6b63\u7248 pop\u661f\u7403\u5927\u62187\u539f\u529b\u89c9\u9192 \u673a\u5668\u4ebaBB-8\u624b\u529e","cover_price":"75.00","origin_price":"128.00","brief":"","figure":"\/1453800011829.jpg"},{"product_id":"5104","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011 POP \u706b\u5f71\u5fcd\u8005 \u6f29\u6da1\u9e23\u4eba \u6a21\u578b","cover_price":"79.00","origin_price":"88.00","brief":"","figure":"\/1457323096680.jpg"},{"product_id":"4353","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011 \u6b63\u7248 pop\u8fea\u58eb\u5c3c \u661f\u9645\u5b9d\u8d1d \u53f2\u8fea\u5947\u624b\u529e","cover_price":"75.00","origin_price":"128.00","brief":"","figure":"\/1453973020061.jpg"},{"product_id":"5105","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011 POP \u706b\u5f71\u5fcd\u8005 \u5b87\u667a\u6ce2\u4f50\u52a9 \u6a21\u578b","cover_price":"88.00","origin_price":"128.00","brief":"","figure":"\/1457323196217.jpg"},{"product_id":"4304","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011\u6b63\u7248 POP\u661f\u7403\u5927\u6218 R2-D2\u673a\u5668\u4eba\u624b\u529e","cover_price":"75.00","origin_price":"128.00","brief":"","figure":"\/1453803545242.jpg"},{"product_id":"4338","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011 \u6b63\u7248 pop \u9b54\u517d\u4e16\u754c \u5deb\u5996\u738b \u963f\u5c14\u8428\u65af \u624b\u529e","cover_price":"75.00","origin_price":"128.00","brief":"","figure":"\/1453965346657.jpg"},{"product_id":"4340","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011\u6b63\u7248 pop \u9b54\u517d\u4e16\u754c \u5e0c\u5c14\u74e6\u5a1c\u65af \u624b\u529e","cover_price":"75.00","origin_price":"128.00","brief":"","figure":"\/1453965821848.jpg"},{"product_id":"4309","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011 \u6b63\u7248 pop \u897f\u6e38\u8bb0 \u5b59\u609f\u7a7a \u624b\u529e","cover_price":"75.00","origin_price":"128.00","brief":"","figure":"\/1453808814639.jpg"},{"product_id":"4339","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011\u6b63\u7248 pop \u9b54\u517d\u4e16\u754c \u8428\u5c14 \u624b\u529e","cover_price":"75.00","origin_price":"128.00","brief":"","figure":"\/1453965598031.jpg"},{"product_id":"4352","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011\u6b63\u7248 POP \u661f\u9645\u5b9d\u8d1d \u732b\u738b\u53f2\u8fea\u5947 \u624b\u529e","cover_price":"75.00","origin_price":"128.00","brief":"","figure":"\/1453972512018.jpg"},{"product_id":"4293","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011 \u6b63\u7248 POP\u661f\u7403\u5927\u62187 \u9ed1\u6b66\u58eb\u8fbe\u65af\u7ef4\u8fbe\u624b\u529e","cover_price":"75.00","origin_price":"128.00","brief":"","figure":"\/1453801249769.jpg"},{"product_id":"4354","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011 \u6b63\u7248 pop \u8d85\u80fd\u9646\u6218\u961f \u5927\u767d\u624b\u529e","cover_price":"108.00","origin_price":"140.00","brief":"","figure":"\/1453973531623.jpg"},{"product_id":"4306","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011 \u6b63\u7248 pop \u529f\u592b\u718a\u732b \u963f\u5b9d\u624b\u529e","cover_price":"88.00","origin_price":"128.00","brief":"","figure":"\/1453808102031.jpg"},{"product_id":"4308","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011 \u6b63\u7248 pop \u529f\u592b\u718a\u732b \u608d\u5a07\u864e \u624b\u529e","cover_price":"88.00","origin_price":"128.00","brief":"","figure":"\/1453808433909.jpg"},{"product_id":"4296","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011\u6b63\u7248 pop \u661f\u7403\u5927\u62187 \u514b\u9686\u4eba\u767d\u5175\u624b\u529e","cover_price":"75.00","origin_price":"128.00","brief":"","figure":"\/1453801322543.jpg"},{"product_id":"5296","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011\u6b63\u7248 pop \u65e5\u672c\u7ae5\u8bdd \u6a31\u5b50 \u624b\u529e","cover_price":"75.00","origin_price":"125.00","brief":"","figure":"\/1458044708337.jpg"},{"product_id":"4325","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011\u6b63\u7248 pop \u5351\u9119\u7684\u62112 \u5c0f\u9ec4\u4eba\u5361\u5c14 \u624b\u529e","cover_price":"67.00","origin_price":"75.00","brief":"","figure":"\/1458101262670.jpg"},{"product_id":"4324","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011 \u6b63\u7248 pop \u5351\u9119\u7684\u62112 \u5c0f\u9ec4\u4eba\u6234\u592b \u624b\u529e","cover_price":"67.00","origin_price":"75.00","brief":"","figure":"\/1453952341385.jpg"},{"product_id":"4322","channel_id":"13","brand_id":"308","p_catalog_id":"48","name":"\u3010FUNKO\u3011\u6b63\u7248 pop \u4e07\u4e07\u6ca1\u60f3\u5230 \u7535\u5f71\u7cfb\u5217 \u738b\u5927\u9524 \u624b\u529e","cover_price":"75.00","origin_price":"128.00","brief":"","figure":"\/1453951153356.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_11.json b/S202014040230郭刘芊/atguigu/json/urls_11.json
new file mode 100644
index 0000000..cb6ce61
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_11.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"8652","channel_id":"8","brand_id":"309","p_catalog_id":"71","name":"\u3010\u5341\u91cc\u4e39\u9752\u3011\u539f\u521blolita\u6d0b\u88c5 \u68ee\u6797\u7cbe\u7075 \u7f69\u7eb1","cover_price":"168.00","origin_price":"168.00","brief":"","figure":"\/1470796463083.jpg"},{"product_id":"8647","channel_id":"8","brand_id":"309","p_catalog_id":"12","name":"\u3010\u5341\u91cc\u4e39\u9752\u3011\u539f\u521blolita\u6d0b\u88c5 \u68ee\u6797\u7cbe\u7075 OP \u8fde\u8863\u88d9","cover_price":"498.00","origin_price":"498.00","brief":"","figure":"\/1470793682870.jpg"},{"product_id":"8649","channel_id":"8","brand_id":"309","p_catalog_id":"61","name":"\u3010\u5341\u91cc\u4e39\u9752\u3011\u539f\u521blolita\u6d0b\u88c5 \u68ee\u6797\u7cbe\u7075 SK \u534a\u8eab\u88d9","cover_price":"268.00","origin_price":"268.00","brief":"","figure":"\/1470794437494.jpg"},{"product_id":"8648","channel_id":"8","brand_id":"309","p_catalog_id":"12","name":"\u3010\u5341\u91cc\u4e39\u9752\u3011\u539f\u521blolita\u6d0b\u88c5 \u68ee\u6797\u7cbe\u7075 JSK \u8fde\u8863\u88d9","cover_price":"458.00","origin_price":"458.00","brief":"","figure":"\/1470794135000.jpg"},{"product_id":"9804","channel_id":"8","brand_id":"309","p_catalog_id":"12","name":"\u3010\u5341\u91cc\u4e39\u9752\u3011\u539f\u521b\u6c49\u5143\u7d20\u4e2d\u534e\u98ce lolita\u6d0b\u88c5\u8fde\u8863\u88d9","cover_price":"368.00","origin_price":"368.00","brief":"","figure":"\/1476330686974.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_12.json b/S202014040230郭刘芊/atguigu/json/urls_12.json
new file mode 100644
index 0000000..eb3c6e4
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_12.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"3281","channel_id":"4","brand_id":"281","p_catalog_id":"71","name":"\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u5251\u4e09 \u4e07\u82b1 \u5170\u4ead\u9999\u96ea 95\u5927\u6a59\u6b66\u53d1\u7c2a\u5468\u8fb9\u6446\u4ef6\u9884\u552e","cover_price":"120.00","origin_price":"159.00","brief":"\u6700\u540e\u4e00\u6b21\u5f0095\u4e07\u82b1\u56e2\u4e86\uff01\uff01\uff01\u6700\u540e500\u4e2a\u5b8c\u552e\u540e\u5c31\u6b63\u5f0f\u5c01\u4ed3\u4e0d\u518d\u505a\u4e86\uff01\uff01 \r\n\u5927\u8d27\u6837\u56fe\u5df2\u51fa\uff01\uff01\u6539\u7248\u4e4b\u540e\u66f4\u5c4c\u6709\u6728\u6709\uff01\u771f\u91d1\u7535\u9540\u7edd\u5bf9\u8d85\u503c\uff01 \u5b9e\u529b\u6253\u9020\uff0c\u4e0d\u5bb9\u9519\u8fc7\uff01 \u7528\u5fc3\u6253\u78e8\uff0c\u53ea\u4e3a\u613f\u60a8\u4e00\u4e2a\u6a59\u6b66\u68a6\uff01\uff01\uff01\r\n\u56fe\u4e3a\u6700\u7ec8\u6837\uff0c\u9646\u7eed\u4f1a\u653e\u5927\u8d27\u9ad8\u6e05\u5927\u56fe\uff01\uff01\u5b9e\u529b\u6253\u9020\uff0c\u4e0d\u5bb9\u9519\u8fc7\uff01 \u7528\u5fc3\u6253\u78e8\uff0c\u53ea\u4e3a\u5706\u5c3c\u4e00\u4e2a\u6a59\u6b66\u68a6\uff01\uff01\uff01","figure":"\/1453194827823.jpg"},{"product_id":"3794","channel_id":"3","brand_id":"234","p_catalog_id":"28","name":"\u3010\u53e4\u602a\u820d\u3011\u65e5\u672c\u534e\u4e3d\u548c\u98ce \u7e41\u534e\u94c1\u6728\u7b77\u5b50 \u4e00\u59575\u53cc \u793c\u76d2\u88c5 \u65e5\u5f0f\u9910\u5177 D43","cover_price":"29.40","origin_price":"30.00","brief":"","figure":"\/1451358670565.jpg"},{"product_id":"4948","channel_id":"6","brand_id":"336","p_catalog_id":"10","name":"\u3010\u6e05\u8d8a\u4e4b\u9e23\u3011\u539f\u521b\u6c49\u5143\u7d20\u65f6\u88c5 \u4e00\u4ef6\u5f0f\u9f50\u80f8\u8966\u88d9 \u4e8c\u5341\u56db\u8282\u6c14\u4e4b\u8c37\u96e8","cover_price":"120.00","origin_price":"120.00","brief":"\u3010\u73b0\u8d27\u3011\u552e\u5b8c\u4e0d\u8865\r\n\u539f\u521b\u6c49\u5143\u7d20\uff0c\u8c37\u96e8\uff0c\u4e09\u7c73\u5927\u6446\uff0c\u56e0\u5149\u7ebf\u548c\u62cd\u6444\u7b49\u95ee\u9898\u53ef\u80fd\u4f1a\u6709\u4e9b\u8bb8\u8272\u5dee\uff0c\u4ecb\u610f\u614e\u62cd\u3002\r\n\u6ee1128\u5143\u5168\u56fd\u5305\u90ae\u3002","figure":"\/supplier\/1456923360503.jpg"},{"product_id":"2526","channel_id":"8","brand_id":"77","p_catalog_id":"105","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u751c\u751c\u79c1\u623f\u732b \u5c0f\u8d77\u53f8\u732b \u5e3d\u5b50\u56f4\u5dfe\u624b\u5957\u4e00\u4f53\u4e09\u4ef6\u5957\u79cb\u51ac","cover_price":"93.90","origin_price":"198.00","brief":"","figure":"\/1446112383959.jpg"},{"product_id":"3476","channel_id":"12","brand_id":"281","p_catalog_id":"71","name":"\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u548c\u98ce\u91cd\u6a31\u73cd\u73e0\u6d41\u82cf\u7c2a","cover_price":"35.00","origin_price":"45.00","brief":"","figure":"\/supplier\/1449839522267.jpg"},{"product_id":"2467","channel_id":"3","brand_id":"27","p_catalog_id":"25","name":"\u3010\u53e4\u602a\u820d\u3011Free \u8d85\u840cQ\u7248\u6e38\u6cf3\u5708 \u7537\u5b50\u57fa\u6cf3\u90e8\u624b\u529e\u516c\u4ed4 \u4e00\u5957","cover_price":"114.00","origin_price":"129.00","brief":"","figure":"\/1445935768822.jpg"},{"product_id":"7170","channel_id":"10","brand_id":"286","p_catalog_id":"99","name":"\u3010\u6d77\u9e1f\u8de8\u5883\u3011\u65e5\u672c\u8fdb\u53e3 \u4e00\u5e73\u86cb\u9ec4\u9171\u591c\u5e97\u7092\u9762\u62cc\u9762","cover_price":"18.00","origin_price":"28.00","brief":" \u4fdd\u7a0e\u533a\u53d1\u8d27\u67093-5\u5929\u7684\u5ba1\u6838\u65f6\u95f4","figure":"\/supplier\/1466135546395.jpg"},{"product_id":"3719","channel_id":"3","brand_id":"77","p_catalog_id":"105","name":"\u3010\u6f2b\u8da3\u3011\u732b\u54aa\u5ead\u9662 \u732b\u54aa\u540e\u9662 \u6bdb\u7ed2\u56f4\u5dfe\u5e3d\u5b50\u624b\u5957\u4e09\u5408\u4e00","cover_price":"68.00","origin_price":"118.00","brief":"","figure":"\/1451107024809.jpg"},{"product_id":"6784","channel_id":"12","brand_id":"281","p_catalog_id":"71","name":"\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u5251\u4e0995\u5927\u6a59\u6b66\u4e94\u6bd2\u00b7\u7edb\u7389\u62e8\u4e91 \u53d1\u7c2aBJD cos\u9053\u5177","cover_price":"95.00","origin_price":"105.00","brief":"\u5168\u90e8\u73b0\u8d27\u5168\u90e8\u73b0\u8d27\uff01\uff01\u6a21\u7279\u56fe\u5df2\u51fa\uff01\uff01\u6539\u7248\u4e4b\u540e\u66f4\u5c4c\u6709\u6728\u6709\uff01\u9ad8\u54c1\u8d28\u72ec\u5bb6\u6253\u7248\u5f00\u6a21\u7edd\u5bf9\u8d85\u503c\uff01 \u5b9e\u529b\u6253\u9020\uff0c\u4e0d\u5bb9\u9519\u8fc7\uff01 \u7528\u5fc3\u6253\u78e8\uff0c\u53ea\u4e3a\u5706\u60a8\u4e00\u4e2a\u6a59\u6b66\u68a6\uff01\uff01\uff01","figure":"\/supplier\/1469697386716.jpg"},{"product_id":"6452","channel_id":"8","brand_id":"254","p_catalog_id":"22","name":"\u3010\u6f2b\u8e2a\u3011 \u539f\u521b\u5bf9\u65b9\u62d2\u7edd\u6d88\u606f\u5e76\u5411\u60a8\u6254\u4e86\u4e00\u53ea\u72d7\u8868\u60c5\u5305\u6076\u641e\u6bdb\u7ed2\u62b1\u6795","cover_price":"59.00","origin_price":"95.00","brief":"\u9884\u552e\u81f310\u670813\u65e5\u53d1\u8d27~\u51fa\u8d27\u540e\u5c06\u6309\u8ba2\u5355\u987a\u5e8f\u5b89\u6392\u53d1\u8d27~","figure":"\/1463121542577.jpg"},{"product_id":"4640","channel_id":"3","brand_id":"5","p_catalog_id":"30","name":"\u3010\u667a\u8da3\u5c4b\u3011DIY\u5c0f\u5c4b\u76d2\u5b50\u5267\u573a \u624b\u5de5\u62fc\u88c5\u623f\u5b50 \u6a21\u578b\u73a9\u5177\u521b\u610f\u793c\u54c1 \u9001\u5de5\u5177","cover_price":"36.00","origin_price":"36.00","brief":"3\u6b3e\u53ef\u4f9b\u9009\u62e9\uff0c\u5c0f\u4ed3\u9001\u954a\u5b50\u3001\u80f6\u6c34\u7b49\u5de5\u5177\u54e6~","figure":"\/1455775424896.jpg"},{"product_id":"1752","channel_id":"12","brand_id":"3","p_catalog_id":"73","name":"\u5251\u7f513\u95e8\u6d3e\u884d\u751f\u540c\u4eba\u539f\u521b\u624b\u94fe ","cover_price":"68.00","origin_price":"68.00","brief":"","figure":"\/1450754469244.jpg"},{"product_id":"3269","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4]\u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u624b\u5de5\u5b9a\u5236\u53d1\u5149\u5c0f\u591c\u706f","cover_price":"68.00","origin_price":"68.00","brief":"\u4e0d\u5305\u542b\u63d0\u624b~\u4e0d\u5305\u542b\u63d0\u624b~\u4e0d\u5305\u542b\u63d0\u624b~OVO \u91cd\u8981\u7684si\u60c5\u55e6\u4e09\u904d~~~ \u5de5\u671f\u4e3a5-10\u4e2a\u5de5\u4f5c\u65e5~\r\n","figure":"\/1449219464141.jpg"},{"product_id":"3120","channel_id":"3","brand_id":"234","p_catalog_id":"28","name":"\u3010\u53e4\u602a\u820d\u3011\u548c\u98ce\u6a31\u82b1\u52a8\u7269-\u732b\/\u5154\/\u9e7f \u521b\u610f\u73bb\u7483\u6c34\u676f\u5b50\u8336\u676f C31","cover_price":"27.50","origin_price":"28.50","brief":"","figure":"\/1448941498675.jpg"},{"product_id":"6052","channel_id":"3","brand_id":"364","p_catalog_id":"90","name":"\u3010\u5320\u5fc3\u8bda\u54c1\u3011 \u63fd\u67083D\u6253\u5370\u7acb\u4f53\u6708\u4eae\u706f \u521b\u610f\u6708\u7403\u706f \u5145\u7535\u591c\u706fLuna \u5b9a\u5236\u7248","cover_price":"139.00","origin_price":"510.00","brief":" 7CM\uff0c\uff08\u9650\u6c49\u5b573\u5b57\u4ee5\u5185\uff0c\u82f1\u65876\u4e2a\u5b57\u6bcd\u4ee5\u5185\uff09\uff1b\r\n10CM\uff0c\uff08\u9650\u6c49\u5b573\u5b57\u4ee5\u5185\uff0c\u82f1\u65876\u4e2a\u5b57\u6bcd\u4ee5\u5185\uff09\uff1b\r\n15CM\uff0c\uff08\u9650\u6c49\u5b5710\u5b57\u4ee5\u5185\uff0c\u82f1\u658720\u4e2a\u5b57\u6bcd\u4ee5\u5185\uff09\u3002\r\n\u53d1\u8d27\u65f6\u95f4\u4e3a\u8bbe\u8ba1\u5e08\u5b9a\u7a3f\u540e5-7\u5929\u5185\u53d1\u8d27\u3002\r\n","figure":"\/1461228273193.jpg"},{"product_id":"4947","channel_id":"8","brand_id":"5","p_catalog_id":"71","name":"\u3010USEE\u54df\u559c\u3011 \u539f\u521b\u7eb9\u8eab\u8d34\u9632\u6c34 \u9ed1\u767d\u5f69\u8272\u6301\u4e45\u7537\u5973\u68ee\u5973\u8774\u8776\u9e7f \u7279\u60e0\u5957\u88c5","cover_price":"22.00","origin_price":"22.00","brief":"","figure":"\/1467361365770.jpg"},{"product_id":"3209","channel_id":"4","brand_id":"3","p_catalog_id":"26","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u624b\u5de5\u5b9a\u5236\u793c\u7269\u6728\u8d28\u5361\u5957","cover_price":"26.40","origin_price":"30.00","brief":"","figure":"\/1449134007474.jpg"},{"product_id":"6969","channel_id":"8","brand_id":"403","p_catalog_id":"29","name":"\u3010\u6d89\u5ddd\u539f\u521b\u3011\u5468\u8fb9\u5c0f\u7269 \u624b\u611f\u8d85\u597d\u8d85\u840c\u7684\u5154\u6bdb\u5c0f\u5154\u7eb8\u5305\u6302\/\u6bdb\u7ed2\u73a9\u5076","cover_price":"68.00","origin_price":"68.00","brief":"\u5154\u5154\u521a\u5230\u624b\u4f1a\u6709\u6d6e\u6bdb\uff0c\u591a\u62cd\u62cd\u6296\u6296\u5439\u5439\u63c9\u63c9\u5c31\u597d\u5566(","figure":"\/1465620442251.jpg"},{"product_id":"4628","channel_id":"8","brand_id":"5","p_catalog_id":"56","name":"\u3010\u6f2b\u8e2a\u3011 \u539f\u521b\u53ef\u7231\u840c\u732b\u54aa\u5927\u4eba \u7acb\u4f53\u732b\u5c3eT\u6064 \u857e\u4e1d\u82b1\u8fb9\u5973","cover_price":"79.00","origin_price":"142.00","brief":"","figure":"\/1461571069605.jpg"},{"product_id":"589","channel_id":"8","brand_id":"266","p_catalog_id":"12","name":"\u5b9a\u5236\u3010Neverland \u539f\u521b\u3011\u76f4\u53d1 \u70eb\u91d1lolita \u4eba\u9c7c\u4e4b\u6b4c \u9ad8\u8170JSK\u8fde\u8863\u88d9","cover_price":"403.04","origin_price":"458.00","brief":"45\u5929\u5de5\u671f","figure":"\/1438772068067.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"1"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_13.json b/S202014040230郭刘芊/atguigu/json/urls_13.json
new file mode 100644
index 0000000..f531257
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_13.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"7238","channel_id":"3","brand_id":"72","p_catalog_id":"26","name":"\u3010\u5b98\u65b9\u6b63\u7248\u3011 \u5168\u804c\u9ad8\u624b \u56fd\u5bb6\u961f\u7cfb\u5217\u6302\u4ef6 Q\u7248 \u4e9a\u514b\u529b \u6302\u4ef6--\u53f6\u4fee","cover_price":"18.00","origin_price":"18.00","brief":"\u94a5\u5319\u6263\u5df2\u5f00\u59cb\u9646\u7eed\u53d1\u8d27\u7684\u8bf4~\r\n\u4e0d\u542b\u5e95\u677f~\u5e95\u677f\u80cc\u677f\u7ec4\u5408\u73a9\u6cd5\u53ef\u6233\u5173\u8054\u5546\u54c1\u3002","figure":"\/1466157188535.jpg"},{"product_id":"8509","channel_id":"3","brand_id":"72","p_catalog_id":"24","name":"\u3010\u5b98\u65b9\u6b63\u7248\u3011 \u5168\u804c\u9ad8\u624b2\u300a\u526f\u672c\u5236\u9738\u300b \u968f\u4e66\u8d60\u72ec\u5bb6\u9996\u53d1\u738b\u6770\u5e0c\u4e2a\u4eba\u7b7e\u540d\u677f+\u7cbe\u7f8e\u5927\u6d77\u62a5","cover_price":"32.00","origin_price":"38.00","brief":"\u7b2c\u4e8c\u6279\u51fa\u8d27\u65e5\u81f38\u670817\u65e5\u5de6\u53f3~\u51fa\u8d27\u540e\u5c06\u6309\u8ba2\u5355\u987a\u5e8f\u5b89\u6392\u53d1\u8d27\u5662~~\u968f\u4e66\u8d60\u72ec\u5bb6\u9996\u53d1\u738b\u6770\u5e0c\u4e2a\u4eba\u7b7e\u540d\u677f+\u7cbe\u7f8e\u5927\u6d77\u62a5tj","figure":"\/1469772518639.jpg"},{"product_id":"3269","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4]\u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u624b\u5de5\u5b9a\u5236\u53d1\u5149\u5c0f\u591c\u706f","cover_price":"68.00","origin_price":"68.00","brief":"\u4e0d\u5305\u542b\u63d0\u624b~\u4e0d\u5305\u542b\u63d0\u624b~\u4e0d\u5305\u542b\u63d0\u624b~OVO \u91cd\u8981\u7684si\u60c5\u55e6\u4e09\u904d~~~ \u5de5\u671f\u4e3a5-10\u4e2a\u5de5\u4f5c\u65e5~\r\n","figure":"\/1449219464141.jpg"},{"product_id":"3209","channel_id":"4","brand_id":"3","p_catalog_id":"26","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u624b\u5de5\u5b9a\u5236\u793c\u7269\u6728\u8d28\u5361\u5957","cover_price":"26.40","origin_price":"30.00","brief":"","figure":"\/1449134007474.jpg"},{"product_id":"7241","channel_id":"3","brand_id":"72","p_catalog_id":"26","name":"\u3010\u5b98\u65b9\u6b63\u7248\u3011 \u5168\u804c\u9ad8\u624b \u56fd\u5bb6\u961f\u7cfb\u5217\u6302\u4ef6 Q\u7248 \u4e9a\u514b\u529b \u6302\u4ef6--\u9ec4\u5c11\u5929","cover_price":"18.00","origin_price":"18.00","brief":"\u94a5\u5319\u6263\u5df2\u5f00\u59cb\u9646\u7eed\u53d1\u8d27\u7684\u8bf4~\r\n\u4e0d\u542b\u5e95\u677f~\u5e95\u677f\u80cc\u677f\u7ec4\u5408\u73a9\u6cd5\u53ef\u6233\u5173\u8054\u5546\u54c1\u3002","figure":"\/1466157626768.jpg"},{"product_id":"7252","channel_id":"3","brand_id":"72","p_catalog_id":"26","name":"\u3010\u5b98\u65b9\u6b63\u7248\u3011 \u5168\u804c\u9ad8\u624b \u56fd\u5bb6\u961f\u7cfb\u5217\u6302\u4ef6 Q\u7248 \u4e9a\u514b\u529b \u6302\u4ef6--\u5468\u6cfd\u6977","cover_price":"18.00","origin_price":"18.00","brief":"\u94a5\u5319\u6263\u5df2\u5f00\u59cb\u9646\u7eed\u53d1\u8d27\u7684\u8bf4~\r\n\u4e0d\u542b\u5e95\u677f~\u5e95\u677f\u80cc\u677f\u7ec4\u5408\u73a9\u6cd5\u53ef\u6233\u5173\u8054\u5546\u54c1\u3002","figure":"\/1466158339746.jpg"},{"product_id":"3211","channel_id":"4","brand_id":"3","p_catalog_id":"26","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u793c\u7269 \u95e8\u6d3e\u884d\u751f\u91d1\u5c5e\u4e66\u7b7e","cover_price":"13.20","origin_price":"15.00","brief":"","figure":"\/1449137495482.jpg"},{"product_id":"5774","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u5b9a\u5236\u793c\u7269\u50a8\u84c4\u7f50\u6536\u7eb3\u76d2","cover_price":"80.96","origin_price":"92.00","brief":"","figure":"\/supplier\/1478517808928.jpg"},{"product_id":"2854","channel_id":"3","brand_id":"258","p_catalog_id":"65","name":"\u3010\u5b85\u6f2b\u5468\u8fb9\u5e97\u3011doge \u53ef\u7231\u7684Muco\/\u5bb6\u6709\u7a46\u73c2 \u67f4\u72ac\u4e3b\u9898\u8fde\u5e3d\u536b\u8863 \u6625\u5b63\u8584\u6b3e","cover_price":"119.00","origin_price":"119.00","brief":"\u8584\u6b3e S\u7801\u8ddfM\u780110\u6708\u4e2d\u4e0b\u65ec\u53d1\u8d27\u5662~\u5176\u4ed6\u73b0\u8d27\u54d2~\u4e3b\u4eba\u4eec\u8bf7\u77e5\u6089\u5462\u266a(^\u2207^*)","figure":"\/1474974249878.jpg"},{"product_id":"666","channel_id":"3","brand_id":"100","p_catalog_id":"24","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u6700\u53d7\u77a9\u76ee\u7684\u4eba\u6c14\u6f2b\u753b\u5bb6old\u5148 \u540c\u540d\u753b\u96c6\u9996\u90e8\u5b8c\u7f8e\u5448\u73b0","cover_price":"33.60","origin_price":"33.60","brief":"","figure":"\/1439443792543.jpg"},{"product_id":"6895","channel_id":"15","brand_id":"402","p_catalog_id":"52","name":"\u3010\u6d41\u70df\u6614\u6ce0\u3011\u6c49\u5143\u7d20 \u534a\u81c2 \u77ed\u5b8b\u88e4 \u540a\u5e26 \u523a\u7ee3 \u8c46\u853b\u5e74\u534e\u5c11\u5973\u7cfb\u5217-\u6e05\u79cb\u5154 \u534a\u81c2","cover_price":"99.00","origin_price":"128.00","brief":"7\u670815\u65e5\u8d77\u8fdb\u5165\u7b2c\u56db\u6279\u9884\u5b9a\uff0c\u7b2c\u56db\u6279\u7ea67\u670831\u65e5\u5de6\u53f3\u53d1\u8d27","figure":"\/1465295954097.jpg"},{"product_id":"3340","channel_id":"4","brand_id":"3","p_catalog_id":"28","name":"\u3010\u5c0f\u8ff7\u5154\u3011\u5251\u7f513\u5251\u4e09\u5468\u8fb9 \u6ce1\u9762\u7897 \u5929\u7b56 \u7eaf\u9633 \u660e\u6559","cover_price":"46.75","origin_price":"55.00","brief":"","figure":"\/1478681924760.jpg"},{"product_id":"6897","channel_id":"15","brand_id":"402","p_catalog_id":"88","name":"\u3010\u6d41\u70df\u6614\u6ce0\u3011\u6c49\u5143\u7d20 \u534a\u81c2 \u77ed\u5b8b\u88e4 \u540a\u5e26 \u523a\u7ee3 \u8c46\u853b\u5e74\u534e\u5c11\u5973\u7cfb\u5217-\u6e05\u79cb\u5154 \u77ed\u5b8b\u88e4","cover_price":"99.00","origin_price":"168.00","brief":"7\u670815\u65e5\u8d77\u8fdb\u5165\u7b2c\u56db\u6279\u9884\u5b9a\uff0c\u7b2c\u56db\u6279\u7ea67\u670831\u65e5\u5de6\u53f3\u53d1\u8d27","figure":"\/1465296453463.jpg"},{"product_id":"6896","channel_id":"15","brand_id":"402","p_catalog_id":"52","name":"\u3010\u6d41\u70df\u6614\u6ce0\u3011\u6c49\u5143\u7d20 \u534a\u81c2 \u77ed\u5b8b\u88e4 \u540a\u5e26 \u523a\u7ee3 \u8c46\u853b\u5e74\u534e\u5c11\u5973\u7cfb\u5217-\u6e05\u79cb\u5154 \u540a\u5e26","cover_price":"59.00","origin_price":"88.00","brief":"7\u670815\u65e5\u8d77\u8fdb\u5165\u7b2c\u56db\u6279\u9884\u5b9a\uff0c\u7b2c\u56db\u6279\u7ea67\u670831\u65e5\u5de6\u53f3\u53d1\u8d27","figure":"\/1465296158907.jpg"},{"product_id":"3120","channel_id":"3","brand_id":"234","p_catalog_id":"28","name":"\u3010\u53e4\u602a\u820d\u3011\u548c\u98ce\u6a31\u82b1\u52a8\u7269-\u732b\/\u5154\/\u9e7f \u521b\u610f\u73bb\u7483\u6c34\u676f\u5b50\u8336\u676f C31","cover_price":"27.50","origin_price":"28.50","brief":"","figure":"\/1448941498675.jpg"},{"product_id":"6969","channel_id":"8","brand_id":"403","p_catalog_id":"29","name":"\u3010\u6d89\u5ddd\u539f\u521b\u3011\u5468\u8fb9\u5c0f\u7269 \u624b\u611f\u8d85\u597d\u8d85\u840c\u7684\u5154\u6bdb\u5c0f\u5154\u7eb8\u5305\u6302\/\u6bdb\u7ed2\u73a9\u5076","cover_price":"68.00","origin_price":"68.00","brief":"\u5154\u5154\u521a\u5230\u624b\u4f1a\u6709\u6d6e\u6bdb\uff0c\u591a\u62cd\u62cd\u6296\u6296\u5439\u5439\u63c9\u63c9\u5c31\u597d\u5566(","figure":"\/1465620442251.jpg"},{"product_id":"14","channel_id":"11","brand_id":"3","p_catalog_id":"32","name":"\u3010\u5c0f\u8ff7\u5154\u7684\u5468\u8fb9\u3011\u5251\u7f513 \u5251\u4fa0\u60c5\u7f18\u53c1\u95e8\u6d3e\u538b\u76ae\u6d3b\u9875\u7b14\u8bb0\u672c","cover_price":"29.00","origin_price":"29.00","brief":"
\u00a0\u5251\u7f51\u4e09 \u52513\u00a0\u538b\u76ae\u6d3b\u9875\u7b14\u8bb0\u672c
<\/p>
\u51fa\u54c1\uff1a\u5c0f\u8ff7\u5154\u7684\u5468\u8fb9<\/p>","figure":"\/1471501055587.jpg"},{"product_id":"2944","channel_id":"4","brand_id":"3","p_catalog_id":"77","name":"\u3010\u5c0f\u8ff7\u5154\u3011\u5251\u7f513 \u5251\u4e09\u5468\u8fb9 \u8f6f\u9762\u62c9\u94fe\u96f6\u94b1\u5305 \u5973\u5f0f\u624b\u62ff\u5305\u5305 \u4e10\u5e2e\u9152\u58f6","cover_price":"33.15","origin_price":"39.00","brief":"","figure":"\/1447999535316.jpg"},{"product_id":"15","channel_id":"4","brand_id":"3","p_catalog_id":"17","name":"\u3010\u5c0f\u8ff7\u5154\u3011\u5251\u7f513 \u5251\u4e09 \u957f\u67c4 \u81ea\u52a8 \u53e4\u98ce\u96e8\u4f1e \u590f\u65e5\u51fa\u884c","cover_price":"76.50","origin_price":"90.00","brief":"\u5251\u7f51\u4e09 \u52513 \u7f57\u4f1e\u9716\u96e8\u6625 \u7a7a\u8c37\u5e7d\u5170\u00a0\u96e8\u4f1e\u957f\u67c4 \u7537\u5973\u96e8\u4f1e \u51fa\u54c1\uff1a\u5c0f\u8ff7\u5154\u7684\u5468\u8fb9","figure":"\/1460529658392.jpg"},{"product_id":"2945","channel_id":"4","brand_id":"3","p_catalog_id":"105","name":"\u3010\u5c0f\u8ff7\u5154\u3011\u5251\u7f513\u5468\u8fb9\u95e8\u6d3eLOGO \u7eaf\u68c9\u9488\u7ec7\u56f4\u5dfe ","cover_price":"57.80","origin_price":"68.00","brief":"","figure":"\/1447999737252.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"1"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_14.json b/S202014040230郭刘芊/atguigu/json/urls_14.json
new file mode 100644
index 0000000..6d7f67f
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_14.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"3207","channel_id":"3","brand_id":"5","p_catalog_id":"52","name":"\u3010\u5b87\u5b99\u7535\u6ce2\u3011\u67f4\u72ac \u72d7\u72d7 \u5409\u7965\u7269 \u65e5\u7cfb \u840c\u7269 \u79cb\u51ac \u957f\u8896\u536b\u8863","cover_price":"119.00","origin_price":"119.00","brief":"","figure":"\/1449132876265.jpg"},{"product_id":"3200","channel_id":"3","brand_id":"180","p_catalog_id":"22","name":"\u3010\u5b87\u5b99\u7535\u6ce2\u3011\u5e72\u7269\u59b9\uff01\u5c0f\u57cb \u79cb\u51ac \u6696\u624b\u6342 \u5750\u57ab ","cover_price":"39.00","origin_price":"39.00","brief":"","figure":"\/1449112576927.jpg"},{"product_id":"3365","channel_id":"3","brand_id":"248","p_catalog_id":"52","name":"\u3010\u5b87\u5b99\u7535\u6ce2\u3011\u65e5\u672c\u8d85\u840c\u7269 \u61d2\u86cb\u86cb \u65b0\u83dc\u9505\u5b50 \u840c\u840c\u54d2 \u957f\u8896\u536b\u8863","cover_price":"119.00","origin_price":"119.00","brief":"","figure":"\/1449646448428.jpg"},{"product_id":"3202","channel_id":"3","brand_id":"43","p_catalog_id":"52","name":"\u3010\u5b87\u5b99\u7535\u6ce2\u3011\u9b54\u6cd5\u5c11\u5973\u5c0f\u5706 \u9a6c\u7334\u70e7\u9152 \u957f\u8896\u536b\u8863","cover_price":"119.00","origin_price":"119.00","brief":"","figure":"\/1449115118137.jpg"},{"product_id":"3203","channel_id":"8","brand_id":"5","p_catalog_id":"84","name":"\u3010\u5b87\u5b99\u7535\u6ce2\u3011\u5c0f\u6d77\u8c79 \u53ef\u7231 \u840c \u8f6f\u59b9 \u52a8\u7269 \u79cb\u51ac \u889c\u5b50 \u6bdb\u5dfe\u5ba4\u5185\u889c\u52a0\u539a","cover_price":"17.00","origin_price":"17.00","brief":"","figure":"\/1449129265217.jpg"},{"product_id":"3206","channel_id":"3","brand_id":"5","p_catalog_id":"52","name":"\u3010\u5b87\u5b99\u7535\u6ce2\u3011\u6c61 \u65e5\u7cfb \u6587\u5b57 \u79cb\u51ac \u5b85 \u957f\u8896\u536b\u8863 \u7537\u5973\u540c\u6b3e","cover_price":"119.00","origin_price":"119.00","brief":"","figure":"\/1449132057078.jpg"},{"product_id":"3362","channel_id":"3","brand_id":"5","p_catalog_id":"52","name":"\u3010\u5b87\u5b99\u7535\u6ce2\u3011\u9738\u9053\u603b\u88c1\u732b \u9152\u676f \u840c\u52a8\u7269 \u79cb\u51ac \u957f\u6b3e\u536b\u8863","cover_price":"119.00","origin_price":"119.00","brief":"","figure":"\/1449646208249.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_15.json b/S202014040230郭刘芊/atguigu/json/urls_15.json
new file mode 100644
index 0000000..52e76d8
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_15.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"3328","channel_id":"3","brand_id":"9","p_catalog_id":"28","name":"[\u79b9\u5c4b\u539f\u521b]\u9b54\u5361\u5c11\u5973\u6a31 \u52fa\u5b50 \u5496\u5561\u52fa \u86cb\u7cd5\u52fa \u51b0\u6fc0\u51cc\u52fa","cover_price":"15.00","origin_price":"15.00","brief":"","figure":"\/1449482952463.jpg"},{"product_id":"3322","channel_id":"12","brand_id":"279","p_catalog_id":"73","name":"[\u79b9\u5c4b\u539f\u521b]\u751c\u751c\u5708 \u732b\u54aa \u6212\u6307 \u6307\u73af","cover_price":"15.00","origin_price":"15.00","brief":"\u5185\u5f8418mm \u5408\u91d1\u6750\u8d28 \n\n\u203b\u7ec6\u8282\u4e0d\u662f\u5f88\u5b8c\u7f8e\u54e6~\u6bd4\u65b9\u8033\u6735\u51f9\u51f8\u7684\u5730\u65b9\u4f1a\u6709\u6a21\u5177\u7684\u51f9\u51f8\u75d5\u8ff9\u7684~\u4ecb\u610f\u614e\u62cd!!","figure":"\/1449477606198.jpg"},{"product_id":"3314","channel_id":"3","brand_id":"9","p_catalog_id":"77","name":"[\u79b9\u5c4b\u539f\u521b]\u9b54\u5361\u5c11\u5973\u6a31 \u9b54\u6cd5\u4e66 \u624b\u5305 ","cover_price":"66.00","origin_price":"66.00","brief":"\u5c3a\u5bf8:\u7ea6200*115*25mm\/\u6750\u8d28:Pu\r\n\u5173\u4e8e\u552e\u540e\u95ee\u9898:\u8bf7\u52a1\u5fc5\u770b\u4e0b!!!\u4e0d\u80fd\u63a5\u53d7\u7684\u8bf7\u4e0d\u8981\u4e0b\u5355!!!\r\n\u203b\u624b\u5e26\u4e94\u91d1\u90e8\u5206,\u65b0\u7684\u90fd\u5f88\u7d27!\u5728\u684c\u89d2\u6309\u4e00\u4e0b\u5c31\u53ef\u4ee5\u6253\u5f00!!\u4e0d\u662f\u574f\u4e86\u8bf7\u6ce8\u610f~\r\n\u5382\u5bb6\u4e0d\u53ef\u80fd\u6bcf\u4e2a\u90fd\u505a\u5230\u4f60\u5fc3\u76ee\u4e2d\u7684\u5b8c\u7f8e\u72b6\u6001\u7684\r\n\u5370\u82b1\u7565\u6a21\u7cca,\u8dd1\u7ebf\u90e8\u5206\u6b6a\u659c,\u8fb9\u7f18\u5fae\u78e8\u635f,\u7ec6\u5c0f\u7834\u635f\/\u5370\u82b1\u6574\u4f53\u504f\u79fb\u7b49\u9020\u6210\u7684\u9000\u6362\u8fd0\u8d39\u81ea\u7406!\r\n\u203b\u8868\u9762\u7f1d\u5408\u90e8\u5206\u53ef\u80fd\u6709\u7ebf\u6bd4\u8f83\u7d27\u9020\u6210\u7684PU\u8868\u9762\u5fae\u88c2!\u51ed\u56fe\u53ef\u4ee5\u8fd4\u73b03\u5143(\u9000\u6362\u8fd0\u8d39\u81ea\u7406)\r\n\u5305\u5305","figure":"\/1449475131325.jpg"},{"product_id":"3252","channel_id":"3","brand_id":"9","p_catalog_id":"96","name":"[\u79b9\u5c4b\u539f\u521b] \u9b54\u5361\u5c11\u5973\u6a31 \u9542\u82b1\u6cf3\u8863 \u5c0f\u6a31&\u77e5\u4e16","cover_price":"99.00","origin_price":"99.00","brief":"","figure":"\/1449216938742.jpg"},{"product_id":"3321","channel_id":"3","brand_id":"9","p_catalog_id":"72","name":"[\u79b9\u5c4b\u539f\u521b]\u9b54\u5361\u5c11\u5973\u6a31 \u661f\u661f \u6000\u8868","cover_price":"88.00","origin_price":"88.00","brief":"\u8bf7\u4ee5\u5927\u8d27\u5b9e\u7269\u4e3a\u4e3b!!!\u6837\u54c1\u56fe\u4ec5\u4f9b\u53c2\u8003!!!\u65b0\u7684\u4e94\u91d1\u6263\u5b50\u90fd\u4f1a\u6bd4\u8f83\u7d27\u5728\u684c\u89d2\u6309\u4e00\u4e0b\u5c31\u884c\u4e86!\r\n\r\n\u94fe\u5b50\u662f\u94c1\u5236\u54c1,\u4e0d\u8981\u78b0\u6c34,\u4f1a\u751f\u9508\u7684\u54e6~!!!\u6000\u8868\u53ef\u80fd\u4f1a\u6709\u8d70\u65f6\u4e0d\u591f\u51c6\u60c5\u51b5,\u4ecb\u610f\u614e\u62cd!\r\n\u5b9a\u5236\u5546\u54c1\u4e0d\u63a5\u53d7\u9000\u6362!!\u62b1\u7740\u9000\u8d27\u5fc3\u91cc\u6765\u4e70\u7684\u9ebb\u70e6\u4f60\u522b\u4e0b\u5355\u4e86!!!\r\n\u6750\u8d28:\u5408\u91d1\u8868\u58f3\/\u94c1\u5236\u94fe\/\u65e5\u672c\u77f3\u82f1\u673a\u82af\/\u9001\u7535\u6c60\r\n\r\n\u5c3a\u5bf8:\u8868\u9762\u76f4\u5f844\u5398\u7c73 \u94fe\u957f\u7ea613.5cm","figure":"\/1449477393886.jpg"},{"product_id":"3316","channel_id":"3","brand_id":"279","p_catalog_id":"82","name":"[\u79b9\u5c4b\u539f\u521b] \u5723\u6d01\u4e0e\u6551\u8d4e \u5341\u5b57\u67b6 \u5236\u670d\u5305","cover_price":"118.00","origin_price":"118.00","brief":"\u5c3a\u5bf8:\u7ea6 37 *25 *19 \u5398\u7c73\r\n\u4f5c\u8005:\u4e0d\u4f1a\u753b\u753b\u7684A\u53d4\r\n\u540d\u5b57 \u5723\u6d01\u4e0e\u6551\u8d4e\u5341\u5b57\u67b6\u5236\u670d\u5305\r\n\u8bf4\u660e \u641e\u6b7b\u7cfb\u5236\u670d\u5305\uff0c\u767d\u91d1\u4ee3\u8868\u5723\u6d01\uff0c\u9ed1\u94f6\u4ee3\u8868\u6551\u8d4e\uff0c\u5177\u4f53\u6750\u8d28\u8bf7\u770b\u8be6\u60c5\u56fe\u3002\r\n\u6ce8\u610f\uff01\uff01\uff01\uff01\u8d2d\u4e70\u7684\u5305\u5305\u4e0d\u5305\u542b\u56fe\u4e2d\u7684\u5341\u5b57\u67b6\uff01\uff01\uff01\u5341\u5b57\u67b6\u4e3a\u5355\u5356\u54c1\u5df2\u65ad\u8d27\uff01\uff01\uff01","figure":"\/1449475564966.jpg"},{"product_id":"3234","channel_id":"3","brand_id":"279","p_catalog_id":"82","name":"[\u79b9\u5c4b\u539f\u521b]\u6c34\u624b\u670d\u98ce JK\u5236\u670d\u5305 \u4e66\u5305 \u5355\u80a9\u5305","cover_price":"158.00","origin_price":"158.00","brief":"","figure":"\/1449213133085.jpg"},{"product_id":"3333","channel_id":"3","brand_id":"9","p_catalog_id":"26","name":"[\u79b9\u5c4b\u539f\u521b]\u9b54\u5361\u5c11\u5973\u6a31 \u9632\u5c18\u585e \u661f\u6756 \u5c01\u5370\u6756 \u5c0f\u53ef \u65af\u6bd4 \u6302\u4ef6","cover_price":"12.00","origin_price":"12.00","brief":"","figure":"\/1449484186963.jpg"},{"product_id":"4779","channel_id":"8","brand_id":"279","p_catalog_id":"28","name":"[\u79b9\u5c4b\u539f\u521b] \u732b\u54aa \u70b9\u5fc3\u52fa 2\u6b3e","cover_price":"8.00","origin_price":"8.00","brief":"","figure":"\/1456313020013.jpg"},{"product_id":"3243","channel_id":"3","brand_id":"9","p_catalog_id":"74","name":"[\u79b9\u5c4b\u539f\u521b] \u9b54\u5361\u5c11\u5973\u6a31 \u5e06\u5e03\u978b \u4f11\u95f2\u978b","cover_price":"88.00","origin_price":"88.00","brief":"","figure":"\/1449215006263.jpg"},{"product_id":"4766","channel_id":"8","brand_id":"279","p_catalog_id":"65","name":"[\u79b9\u5c4b\u539f\u521b] \u6c34\u624b\u98ce \u5047\u9886\u5b50 \u732b\u54aa \u5154\u5b50 \u718a","cover_price":"48.00","origin_price":"48.00","brief":"","figure":"\/1456309781092.jpg"},{"product_id":"3332","channel_id":"3","brand_id":"9","p_catalog_id":"90","name":"[\u79b9\u5c4b\u539f\u521b] \u9b54\u5361\u5c11\u5973\u6a31 \u9b54\u6cd5\u4e66 \u8ff7\u4f60\u9996\u9970\u76d2","cover_price":"48.00","origin_price":"48.00","brief":"","figure":"\/1449483885995.jpg"},{"product_id":"3319","channel_id":"3","brand_id":"9","p_catalog_id":"76","name":"[\u79b9\u5c4b\u539f\u521b] \u9b54\u5361\u5c11\u5973\u6a31\u5316\u5986\u5305\u8ff7\u4f60\u630e\u5305","cover_price":"88.00","origin_price":"88.00","brief":"\u5c3a\u5bf8\u5927\u7ea6\u662f 18*13*5cm (\u5316\u5986\u5305\u5927\u5c0f~\u53ef\u4ee5\u653e6p~)\r\n\u91d1\u53e3\u90e8\u5206\u5f00\u6a21\u5236\u4f5c\u5355\u72ec\u7684\u73af \u53ef\u4ee5\u81ea\u5df1\u642d\u914d\u559c\u6b22\u7684\u6302\u4ef6~\u672c\u5546\u54c1\u4e0d\u542b\u6302\u4ef6!!!\r\n\u5185\u90e8\u6709\u53ef\u8131\u5378\u7684\u5305\u94fe~\u53ef\u4ee5\u5f53\u630e\u5305\u4f7f\u7528~\r\n\u6ce8\u610f\u672c\u5546\u54c1\u662f\u5b9a\u5236\u5546\u54c1,\u53ef\u80fd\u5b58\u5728\u7ec6\u5c0f\u7455\u75b5!!\u975e\u529f\u80fd\u969c\u788d\u7684\u95ee\u9898\u4e00\u5f8b\u4e0d\u9000\u6362\u54e6!!\u4ecb\u610f\u614e\u62cd!!!","figure":"\/1449475820083.jpg"},{"product_id":"6071","channel_id":"3","brand_id":"279","p_catalog_id":"82","name":"[\u79b9\u5c4b\u539f\u521b][\u73b0\u8d27]\u7231\u4e3d\u4e1d\u68a6\u6e38\u4ed9\u5883 \u65f6\u949f \u5154\u5b50\u5148\u751f \u659c\u630e\u5305","cover_price":"98.00","origin_price":"98.00","brief":"\u672c\u5546\u54c1\u5b58\u5728\u7455\u75b5!!\u4ecb\u610f\u614e\u62cd~!!\u8be6\u7ec6\u770b\u56fe\u7247\u8bf4\u660e!!\u975e\u529f\u80fd\u969c\u788d\u4e0d\u63a5\u53d7\u9000\u6362~\u81ea\u5df1\u89c9\u5f97\u8fd9\u4e9b\u7455\u75b5\u4e0d\u80fd\u63a5\u53d7\u7684\u6c42\u5343\u4e07\u522b\u62cd\u54c8~","figure":"\/1461564629138.jpg"},{"product_id":"3392","channel_id":"8","brand_id":"5","p_catalog_id":"65","name":"[\u79b9\u5c4b\u539f\u521b]\u5723\u8bde\u8282\u9650\u5b9a \u5c0f\u9e7f\u6597\u7bf7 \u8d1d\u96f7\u5e3d \u86cb\u7cd5\u88d9","cover_price":"10.00","origin_price":"10.00","brief":"\u6b64\u4e3a\u5b9a\u91d1\u9700\u8981\u8865\u5c3e\u6b3e~\u6b64\u6b3e\u5b9a\u91d1\u4e0d\u9000\u54df~\u6b64\u4e3a\u5b9a\u91d1\u9700\u8981\u8865\u5c3e\u6b3e~\u6b64\u6b3e\u5b9a\u91d1\u4e0d\u9000\u54df~\u6b64\u4e3a\u5b9a\u91d1\u9700\u8981\u8865\u5c3e\u6b3e~\u6b64\u6b3e\u5b9a\u91d1\u4e0d\u9000\u54df~\u91cd\u8981\u7684\u4e8b\u60c5\u8bf4\u4e09\u6b21~","figure":"\/1449661450845.jpg"},{"product_id":"4762","channel_id":"12","brand_id":"279","p_catalog_id":"73","name":" [\u79b9\u5c4b\u539f\u521b] \u9b54\u5361\u5c11\u5973\u6a31 \u7231\u5fc3\u7fc5\u8180 \u80f8\u9488 \u53d1\u5939 \u9879\u94fe","cover_price":"25.00","origin_price":"25.00","brief":"\u5408\u91d1\u5236\u54c1\u53ef\u80fd\u5b58\u5728\u7455\u75b5\u4ecb\u610f\u614e\u62cd!!!\n\u672c\u5546\u54c1\u4e0d\u652f\u6301\u9000\u6362\uff01\uff01\uff01\u672c\u5546\u54c1\u4e0d\u652f\u6301\u9000\u6362\uff01\uff01\uff01\u672c\u5546\u54c1\u4e0d\u652f\u6301\u9000\u6362\uff01\uff01\uff01","figure":"\/1456309070949.jpg"},{"product_id":"3253","channel_id":"3","brand_id":"9","p_catalog_id":"52","name":"[\u79b9\u5c4b\u539f\u521b] \u9b54\u5361\u5c11\u5973\u6a31 \u53cb\u679d\u5c0f\u5b66\u98ce T\u6064 2\u6b3e\u5165","cover_price":"88.00","origin_price":"88.00","brief":"","figure":"\/1449217285280.jpg"},{"product_id":"6062","channel_id":"3","brand_id":"279","p_catalog_id":"82","name":"\u5b9a\u5236 [\u79b9\u5c4b\u539f\u521b] \u5c0f\u52a8\u7269 \u5236\u670d\u5305 \u5154\u5b50 \u5c0f\u718a \u732b\u54aa \u5305\u5305","cover_price":"128.00","origin_price":"168.00","brief":"","figure":"\/1461317929323.jpg"},{"product_id":"3235","channel_id":"3","brand_id":"53","p_catalog_id":"82","name":"[\u79b9\u5c4b\u539f\u521b]\u7f8e\u5c11\u5973\u6218\u58eb \u73e0\u5149\u538b\u82b1 \u624b\u63d0\u5305 \u5355\u80a9\u5305","cover_price":"178.00","origin_price":"178.00","brief":"","figure":"\/1449213524463.jpg"},{"product_id":"6064","channel_id":"8","brand_id":"279","p_catalog_id":"71","name":"[\u79b9\u5c4b\u539f\u521b] \u73b0\u8d27 \u9542\u82b1\u6708\u7259 \u6708\u4eae \u661f\u661f \u8033\u73af \u8033\u9489","cover_price":"16.00","origin_price":"16.00","brief":"\u5408\u91d1\u5236\u54c1\u53ef\u80fd\u5b58\u5728\u5c0f\u7455\u75b5 \u4ecb\u610f\u614e\u62cd\u54e6~~\r\n\u672c\u5546\u54c1\u4e0d\u652f\u6301\u9000\u6362\uff01\uff01\uff01\u672c\u5546\u54c1\u4e0d\u652f\u6301\u9000\u6362\uff01\uff01\uff01\u672c\u5546\u54c1\u4e0d\u652f\u6301\u9000\u6362\uff01\uff01\uff01","figure":"\/1461554037475.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_16.json b/S202014040230郭刘芊/atguigu/json/urls_16.json
new file mode 100644
index 0000000..cf014a8
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_16.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"3911","channel_id":"8","brand_id":"3","p_catalog_id":"84","name":"\u3010\u7b26\u8c5a\u7532\u80c4\u3011\u3010\u5251\u4e09\u540c\u4eba\u3011\u5251\u4e09 \u5929\u7b56 \u85cf\u5251 \u519b\u841d\u9e21\u841d\u70eb\u91d1\u889c \u65e5\u5e38lo\u889c","cover_price":"48.00","origin_price":"66.00","brief":"\u5404\u4f4d\u5973\u4fa0\u62ff\u5230\u889c\u5b50\u540e\u53ef\u4ee5\u5148\u8fdb\u884c\u68c0\u67e5\uff0c\u5982\u679c\u53d1\u73b0\u6709\u8d28\u91cf\u95ee\u9898\uff0c\u5982\u7834\u6d1e\uff0c\u56fe\u6848\u5370\u5237\u9519\u8bef\u7b49\u53ef\u4ee5\u76f4\u63a5\u8054\u7cfb\u5ba2\u670d\u8fdb\u884c\u9000\u6362\u8d27\u4e8b\u5b9c\u3002\u4f46\u662f\u9700\u8981\u8bf4\u660e\u7684\u662f\uff0c\u7531\u4e8e\u889c\u5b50\u5c5e\u4e8e\u8d34\u8eab\u7a7f\u7740\u5f39\u6027\u7269\u54c1\uff0c\u4e00\u65e6\u7a7f\u8fc7\u5f71\u54cd\u4e8c\u6b21\u9500\u552e\u5c06\u65e0\u6cd5\u9000\u6362\u8d27\uff01\u7a7f\u4e4b\u524d\u5148\u9a8c\u8d27\uff0c\u8c22\u8c22-3-","figure":"\/supplier\/1452738608458.jpg"},{"product_id":"3910","channel_id":"8","brand_id":"3","p_catalog_id":"84","name":"\u3010\u7b26\u8c5a\u7532\u80c4\u3011\u3010\u5251\u4e09\u540c\u4eba\u3011\u5251\u4e09 \u660e\u6559\u9ed1\u55b5\u9634\u9633\u773c\u5370\u82b1\u8fde\u88e4\u889c","cover_price":"88.00","origin_price":"110.00","brief":"\u5404\u4f4d\u5973\u4fa0\u62ff\u5230\u889c\u5b50\u540e\u53ef\u4ee5\u5148\u8fdb\u884c\u68c0\u67e5\uff0c\u5982\u679c\u53d1\u73b0\u6709\u8d28\u91cf\u95ee\u9898\u5982\u7834\u6d1e\uff0c\u56fe\u6848\u5370\u5237\u9519\u8bef\u7b49\u53ef\u4ee5\u76f4\u63a5\u8054\u7cfb\u5ba2\u670d\u8fdb\u884c\u9000\u6362\u8d27\u4e8b\u5b9c\u3002\u4f46\u662f\u9700\u8981\u8bf4\u660e\u7684\u662f\uff0c\u7531\u4e8e\u889c\u5b50\u5c5e\u4e8e\u8d34\u8eab\u7a7f\u7740\u5f39\u6027\u7269\u54c1\uff0c\u4e00\u65e6\u7a7f\u8fc7\u5f71\u54cd\u4e8c\u6b21\u9500\u552e\u5c06\u65e0\u6cd5\u9000\u6362\u8d27\uff01\u7a7f\u4e4b\u524d\u5148\u9a8c\u8d27\uff0c\u8c22\u8c22-3-","figure":"\/1452245451112.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_17.json b/S202014040230郭刘芊/atguigu/json/urls_17.json
new file mode 100644
index 0000000..a6d9d1f
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_17.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"4248","channel_id":"3","brand_id":"33","p_catalog_id":"26","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011 \u590f\u76ee\u53cb\u4eba\u5e10 \u732b\u54aa\u8001\u5e08\u624b\u673a\u5145\u7535\u5b9d\u6bdb\u7ed2\u516c\u4ed4\u6302\u4ef6 \u805a\u5212\u7b97","cover_price":"99.00","origin_price":"210.00","brief":"","figure":"\/1455766606952.jpg"},{"product_id":"8875","channel_id":"3","brand_id":"96","p_catalog_id":"39","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011\u53e3\u888b\u5996\u602a\u795e\u5947\u5b9d\u8d1d\u7cbe\u7075\u7403\u5ba0\u7269\u5c0f\u7cbe\u7075go\u79fb\u52a8\u7535\u6e90","cover_price":"95.00","origin_price":"160.00","brief":"","figure":"\/1473232404020.jpg"},{"product_id":"4409","channel_id":"3","brand_id":"75","p_catalog_id":"102","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011 \u6708\u520a\u5c11\u5973\u91ce\u5d0e\u541b \u72f8\u732b U\u76d8","cover_price":"85.00","origin_price":"171.00","brief":"","figure":"\/1454405979932.jpg"},{"product_id":"8827","channel_id":"3","brand_id":"248","p_catalog_id":"90","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011\u5455\u5410\u86cb\u86cb\u54e5\u634f\u634f\u4e50 \u5976\u9ec4\u5305 \u61d2\u86cb\u86cb \u86cb\u9ec4\u54e5\u73a9\u5177\u52a8\u6f2b\u5468\u8fb9","cover_price":"14.50","origin_price":"29.00","brief":"","figure":"\/1473315916811.jpg"},{"product_id":"4500","channel_id":"12","brand_id":"64","p_catalog_id":"73","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011 \u52a0\u901f\u4e16\u754c \u9ed1\u96ea\u59ec \u9ed1\u51e4\u8776 \u8033\u9489","cover_price":"22.00","origin_price":"40.00","brief":"","figure":"\/1454573904561.jpg"},{"product_id":"4247","channel_id":"3","brand_id":"34","p_catalog_id":"17","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011\u94f6\u9b42 \u4e07\u4e8b\u5c4b \u795e\u4e50\u96e8\u4f1e\u906e\u9633\u4f1e \u590f\u65e5\u51fa\u884c","cover_price":"59.00","origin_price":"101.00","brief":"","figure":"\/1453696820462.jpg"},{"product_id":"5922","channel_id":"3","brand_id":"23","p_catalog_id":"102","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011 \u8230\u961fcollection \u8230\u5a18 \u54b8\u9c7c\u62b1\u6795\u6b3e U\u76d8","cover_price":"85.00","origin_price":"121.00","brief":"\u516d\u6708\u5e95\u5230\u8d27","figure":"\/1460535477279.jpg"},{"product_id":"4243","channel_id":"12","brand_id":"32","p_catalog_id":"73","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011 \u6d77\u8d3c\u738b \u4e54\u5df4\u624b\u94fe ","cover_price":"78.00","origin_price":"115.00","brief":"","figure":"\/1453695687445.jpg"},{"product_id":"4233","channel_id":"3","brand_id":"287","p_catalog_id":"17","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011 \u753b\u6c5f\u6e56\u4e4b\u4e0d\u826f\u4eba \u96e8\u4f1e\u906e\u9633\u4f1e \u590f\u65e5\u51fa\u884c","cover_price":"89.00","origin_price":"158.00","brief":"","figure":"\/1453691245149.jpg"},{"product_id":"4596","channel_id":"3","brand_id":"23","p_catalog_id":"90","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011 \u7eb8\u5dfe \u5317\u65b9\u8230\u5a18\u88c5\u903c\u7075 \u8fc5\u901f\u63d0\u5347\u903c\u683c200% \u6d41\u884c\u6897","cover_price":"9.90","origin_price":"16.50","brief":"","figure":"\/1455617277903.jpg"},{"product_id":"4790","channel_id":"3","brand_id":"23","p_catalog_id":"28","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011 \u8230\u961fcollection \u5317\u65b9\u6816\u59ec\u5f39\u5e55 \u73bb\u7483\u676f \u6d41\u884c\u6897","cover_price":"36.00","origin_price":"68.00","brief":"\u9884\u552e\uff01\u9884\u8ba13\u670825\u65e5\u5de6\u53f3\u53d1\u8d27~~","figure":"\/1456386709965.jpg"},{"product_id":"4603","channel_id":"3","brand_id":"34","p_catalog_id":"90","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011 \u7eb8\u5dfe \u94f6\u9b42\u9999\u70df \u6211\u53ea\u662f\u8214\u5f97\u5feb\u4e86\u70b9\u4e86\u6240\u4ee5\u5192\u70df\u4e86~ \u6d41\u884c\u6897","cover_price":"9.90","origin_price":"16.50","brief":"\u7ed9\u4f608000\u4e0d\u82b1\u5b8c~\u618b\u56de\u6765\uff01\u8fd9\u4e0d\u662f\u80a5\u7682 \u4e0d\u53ef\u4ee5\u7528\u6765***\u5e74\u8f7b\u4eba\u8981\u63a7\u5236\u4f4f\u6b32\u5ff5\uff01\u4e0d\u8981\u4e09\u56db\u767e,\u4e0d\u8981\u4e00\u4e8c\u767e\uff0c1piece6S \u503c\u5f97\u4f60\u62e5\u6709\uff01V+MIKU\u9a9a\u5e74\u6765\u4e00\u5305\u4f10~\uff01\u88c5\u903c\u7075 \u4e00\u5929\u4e00\u7247\u6548\u679c\u4e0d\u9519\u8fd8\u5b9e\u60e0~\uff01\u94f6\u4ed6\u5988\u5bb6\u7684XIANG\u70df\uff0c\u53ef\u4ee5\u5728\u8001\u6e7f\u9762\u524d\u62bd\u5566 ^~^\uff01","figure":"\/1455619994224.jpg"},{"product_id":"8353","channel_id":"3","brand_id":"251","p_catalog_id":"28","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011\u718a\u672c\u718a\u4fdd\u6e29\u676f\u52a8\u6f2b\u5468\u8fb9\u4e0d\u9508\u94a2\u6c34\u676f","cover_price":"32.00","origin_price":"72.00","brief":"","figure":"\/1469436811070.jpg"},{"product_id":"4237","channel_id":"3","brand_id":"89","p_catalog_id":"17","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011\u5f39\u4e38\u8bba\u7834 \u9ed1\u767d\u718a \u906e\u9633\u4f1e \u590f\u65e5\u51fa\u884c","cover_price":"59.00","origin_price":"101.00","brief":"","figure":"\/1453692598547.jpg"},{"product_id":"4384","channel_id":"3","brand_id":"117","p_catalog_id":"103","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011 \u673a\u52a8\u6218\u58eb\u9ad8\u8fbe00 \u62a5\u4e27\u5973\u5996 \u72ec\u89d2\u517d Led\u53d1\u5149 \u6982\u5ff5\u952e\u76d8 \u805a\u5212\u7b97","cover_price":"138.00","origin_price":"230.00","brief":"\u952e\u9f20\u5957\u88c5\u8bf7\u5907\u6ce8\u6b3e\u5f0f\uff0c\u4e0d\u5907\u6ce8\u5c0f\u4ed3\u4f1a\u9ed8\u8ba4\u968f\u673a\u6b3e\u5f0f\u53d1\u8d27\u54e6~\r\n","figure":"\/1455762967790.jpg"},{"product_id":"6098","channel_id":"8","brand_id":"34","p_catalog_id":"91","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011\u94f6\u9b42\u5370\u82b1\u7eaf\u68c9\u9a6c\u7532\u540a\u5e26\u5f0f\u7761\u8863","cover_price":"88.00","origin_price":"188.00","brief":"\u9884\u8ba16\u670815\u53d1\u8d27","figure":"\/1461659021743.jpg"},{"product_id":"4249","channel_id":"3","brand_id":"180","p_catalog_id":"26","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011 \u5e72\u7269\u59b9\u5c0f\u57cb \u571f\u95f4\u57cb\u5145\u7535\u5b9d\u6bdb\u7ed2\u516c\u4ed4\u6302\u4ef6 \u805a\u5212\u7b97","cover_price":"99.00","origin_price":"210.00","brief":"","figure":"\/1455779623117.jpg"},{"product_id":"4534","channel_id":"12","brand_id":"20","p_catalog_id":"73","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011 MIKU \u96ea\u82b1\u8033\u73af","cover_price":"24.00","origin_price":"38.00","brief":"","figure":"\/1455439626138.jpg"},{"product_id":"5760","channel_id":"8","brand_id":"69","p_catalog_id":"56","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011 \u602a\u7269\u730e\u4eba \u827e\u9732\u732b \u77ed\u8896T\u6064 \u5706\u9886\u7eaf\u68c9\u5bbd\u677e\u6253\u5e95\u886b","cover_price":"88.00","origin_price":"170.00","brief":"","figure":"\/1459492756125.jpg"},{"product_id":"6101","channel_id":"8","brand_id":"23","p_catalog_id":"91","name":"\u3010\u80fd\u91cf\u5929\u4f7f\u3011\u8230\u961fcollection\u8230\u5a18 \u5317\u65b9\u6816\u59ec \u9a6c\u7532\u88d9\u540a\u5e26\u88d9\u7761\u8863","cover_price":"78.00","origin_price":"160.00","brief":"","figure":"\/1461660501470.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_18.json b/S202014040230郭刘芊/atguigu/json/urls_18.json
new file mode 100644
index 0000000..fea96b4
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_18.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"4199","channel_id":"8","brand_id":"5","p_catalog_id":"52","name":"\u3010\u7b52\u83f2\u3011 \u5a03\u5a03\u9886\u94a2\u7434\u8936\u886c\u8863-\u767d\u8272\u6b3e","cover_price":"68.00","origin_price":"88.00","brief":"","figure":"\/1453430837730.png"},{"product_id":"3703","channel_id":"5","brand_id":"286","p_catalog_id":"21","name":"\u3010\u6d77\u9e1f\u8de8\u5883\u3011The Face Shop\u83f2\u8bd7\u5c0f\u94fa\u776b\u6bdb\u818f","cover_price":"25.50","origin_price":"30.00","brief":"3-5\u5929\u53d1\u8d27 \u968f\u673a\u4fdd\u7a0e\u4ed3\u76f4\u53d1\r\n\r\n\u4f7f\u7528\u65b9\u6cd5\uff1a\uff08\u4f7f\u7528\u773c\u971c\u540e\u4e00\u5b9a\u8981\u773c\u971c\u5438\u6536\u540e\u518d\u5237\u776b\u6bdb\u818f\uff09\r\n1.\u5c06\u776b\u6bdb\u818f\u6162\u6162\u5730\u5411\u4e0a\u65cb\u8f6c\u53d6\u51fa\u3002\r\n2.\u8f7b\u8f7b\u5730\u5237\u4e0a\u776b\u6bdb\uff0c\u4ece\u4e0b\u65b9\u7531\u776b\u6bdb\u6839\u90e8\u5411\u672b\u68a2\u90e8\u6162\u6162\u6d82\u5300\u3002\r\n3.\u5c06\u776b\u6bdb\u818f\u5782\u76f4\u7acb\u8d77\uff0c\u5de6\u53f3\u6765\u56de\u4ed4\u7ec6\u5730\u5237\u4e0b\u776b\u6bdb\u3002\r\n4.\u91cd\u590d\u4e0a\u8272\u80fd\u66f4\u52a0\u7a81\u51fa\u776b\u6bdb\u8272\u5f69","figure":"\/supplier\/1451030845987.jpg"},{"product_id":"4202","channel_id":"8","brand_id":"5","p_catalog_id":"52","name":"\u3010\u7b52\u83f2\u3011\u7eaf\u68c9\u7eaf\u8272\u5a03\u5a03\u9886\u957f\u8896\u886c\u886b-\u767d\u8272\u6b3e","cover_price":"79.00","origin_price":"110.00","brief":"","figure":"\/1453433171935.png"},{"product_id":"4191","channel_id":"8","brand_id":"5","p_catalog_id":"52","name":"\u3010\u7b52\u83f2\u3011T.M.E 03\u4fee\u8eab\u767e\u642d\u523a\u7ee3\u6ce1\u6ce1\u8896 \u957f\u8896\u886c\u886b","cover_price":"83.00","origin_price":"118.00","brief":"","figure":"\/1453370215241.png"},{"product_id":"4190","channel_id":"8","brand_id":"5","p_catalog_id":"52","name":"\u3010\u7b52\u83f2\u3011T.M.E 02\u4fee\u8eab\u767e\u642d\u523a\u7ee3\u6ce1\u6ce1\u8896 \u957f\u8896\u886c\u886b","cover_price":"83.00","origin_price":"118.00","brief":"","figure":"\/1453369685753.png"},{"product_id":"4198","channel_id":"8","brand_id":"5","p_catalog_id":"52","name":"\u3010\u7b52\u83f2\u3011 \u7acb\u9886\u857e\u4e1d\u957f\u8896\u886c\u886b","cover_price":"76.00","origin_price":"88.00","brief":"","figure":"\/1453374854939.png"},{"product_id":"9220","channel_id":"3","brand_id":"459","p_catalog_id":"113","name":"\u3010GEM\u3011 1\/3bjd\u5a03\u5a03\uff0c\u7537\u5a03 \u58a8\u83f2 Murphy","cover_price":"1742.50","origin_price":"2980.00","brief":"GEM\u5b98\u65b9\u5165\u9a7b\uff01","figure":"\/supplier\/1473431709207.jpg"},{"product_id":"4205","channel_id":"8","brand_id":"5","p_catalog_id":"52","name":"\u3010\u7b52\u83f2\u3011\u7eaf\u68c9\u7eaf\u8272\u5a03\u5a03\u9886\u957f\u8896\u886c\u886b-\u6d45\u7eff\u6b3e","cover_price":"79.00","origin_price":"110.00","brief":"","figure":"\/1453434028981.png"},{"product_id":"8905","channel_id":"13","brand_id":"127","p_catalog_id":"48","name":"\u3010INMAX\u3011\u9884\u552e\u6b63\u7248square enix FF7\u6700\u7ec8\u5e7b\u60f3VII \u518d\u4e34\u4e4b\u5b50 \u8428\u83f2\u7f57\u65af\u624b\u529e\u65b0\u54c1","cover_price":"992.00","origin_price":"992.00","brief":"","figure":"\/supplier\/1471945412643.jpg"},{"product_id":"4804","channel_id":"13","brand_id":"326","p_catalog_id":"48","name":"\u3010\u732b\u53d7\u5c4b\u3011FREEING \u9b54\u6cd5\u6218\u8bb0\u5948\u53f6Force \u83f2\u7279 \u5f3a\u88ad\u6a21\u5f0f \u624b\u529e \u9884\u5b9a","cover_price":"1250.00","origin_price":"1250.00","brief":"","figure":"\/1456458527339.jpg"},{"product_id":"2692","channel_id":"4","brand_id":"69","p_catalog_id":"74","name":"\u3010\u6f2b\u8e2a\u3011\u539f\u521b \u602a\u7269\u730e\u4eba \u767d\u5154\u517d \u77ed\u7b52\u96ea\u5730\u9774 \u6bdb\u7ed2\u7ef5\u978b\u51ac\u5b63\u978b\u5b50","cover_price":"139.30","origin_price":"199.00","brief":"","figure":"\/1447233155511.jpg"},{"product_id":"6021","channel_id":"8","brand_id":"234","p_catalog_id":"84","name":"\u3010\u53e4\u602a\u820d\u3011\u539f\u521b \u65e5\u5f0f\u5b66\u9662\u98ce\u7eaf\u68c9\u9ed1\u8272\u4e2d\u7b52\u53ca\u819d\u5c0f\u817f\u889c\u5b50-\u6076\u7075\u9000\u6563A18","cover_price":"16.00","origin_price":"16.00","brief":"","figure":"\/1461061822636.jpg"},{"product_id":"10616","channel_id":"4","brand_id":"254","p_catalog_id":"90","name":"\u9884\u552e\u3010\u6f2b\u8e2a\u3011\u4e8c\u6b21\u5143\u7535\u5439\u98ce\u7b52\u53ef\u6298\u53e0\u9759\u97f3 \u4e9a\u7d22\u9762\u5bf9\u75be\u98ce\u5427\u5439\u98ce\u673a","cover_price":"129.00","origin_price":"0.00","brief":"\u9884\u552e\u671f\u81f312\u670816\u65e5\uff0c\u51fa\u8d27\u540e\u5c06\u6309\u8ba2\u5355\u987a\u5e8f\u5b89\u6392\u53d1\u8d27\u5662~","figure":"\/1478773271555.jpg"},{"product_id":"4746","channel_id":"3","brand_id":"5","p_catalog_id":"101","name":"\u3010\u840c\u5947\u3011Mr\uff0eleaf \u9b54\u9b3c\u732b-\u97f3\u9b54\u8033\u673a\u5934\u6234\u5f0f\u91cd\u4f4e\u97f3 \u624b\u673a\u7535\u8111\u6e38\u620f\u8033\u9ea6\u5e26\u8bdd\u7b52","cover_price":"168.00","origin_price":"386.00","brief":"\u5934\u6234\u5f0f\u8033\u673a \u8212\u9002\u4e4b\u9009 \u91cd\u4f4e\u97f3 \u624b\u673a\u7535\u8111\u6e38\u620f \u8033\u9ea6","figure":"\/1459306999997.jpg"},{"product_id":"503","channel_id":"11","brand_id":"3","p_catalog_id":"35","name":"\u3010\u884d\u751f\u539f\u521b\u3011\u5251\u7f513 \u5251\u4e09\u95e8\u6d3e\u7af9\u5236\u7b14\u7b52 ","cover_price":"20.00","origin_price":"20.00","brief":"
\u5251\u4fa0\u60c5\u7f18\u53c1 \u85cf\u5251\u7b14\u7b52<\/p>
\u4ea7\u54c1\u6750\u8d28\u4e3a\u7eaf\u5929\u7136\u7af9\u7b52~<\/p>
\u51fa\u54c1\uff1a\u55b5\u53fd\u53fd\u53fd\u5927\u8054\u840c\u2014\u2014\u94f6\u6247\u8349\u5de5\u574a<\/p>","figure":"\/1438152915273.jpg"},{"product_id":"4199","channel_id":"8","brand_id":"5","p_catalog_id":"52","name":"\u3010\u7b52\u83f2\u3011 \u5a03\u5a03\u9886\u94a2\u7434\u8936\u886c\u8863-\u767d\u8272\u6b3e","cover_price":"68.00","origin_price":"88.00","brief":"","figure":"\/1453430837730.png"},{"product_id":"4202","channel_id":"8","brand_id":"5","p_catalog_id":"52","name":"\u3010\u7b52\u83f2\u3011\u7eaf\u68c9\u7eaf\u8272\u5a03\u5a03\u9886\u957f\u8896\u886c\u886b-\u767d\u8272\u6b3e","cover_price":"79.00","origin_price":"110.00","brief":"","figure":"\/1453433171935.png"},{"product_id":"8298","channel_id":"5","brand_id":"8","p_catalog_id":"18","name":"\u73b0\u8d27\u3010Uwowo\u3011\u5200\u5251\u4e71\u821ecosplay \u540c\u4ebacos \u65e5\u672c\u6c34\u624b\u670d\u889c\u5b50 jk\u957f\u7b52\u889c","cover_price":"13.00","origin_price":"13.00","brief":"","figure":"\/1469182594457.jpg"},{"product_id":"346","channel_id":"4","brand_id":"182","p_catalog_id":"27","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u7b52\u88c5\u6a2a\u5e45\u6d77\u62a5\u2022\u666f\u6b8a\u6b3e","cover_price":"25.00","origin_price":"25.00","brief":"\u5546\u54c1\u540d\uff1a\u7b52\u88c5\u6a2a\u5e45\u6d77\u62a5\u00b7\u666f\u6b8a\u6b3e\u5c3a\u5bf8\uff1a1000x243mm\u6750\u8d28\uff1a\u7279\u79cd\u7eb8 \u5546\u54c1\u7b80\u4ecb\uff1a\u5341\u5927\u95e8\u6d3e\u5171\u805a\u6c5f\u6e56\uff0c\u5171\u8c31\u4e00\u66f2\u82f1\u96c4\u610f\uff01\u5929\u95fb\u89d2\u5ddd\u7279\u522b\u63a8\u51fa1\u7c73\u6a2a\u5e45\u5927\u6d77\u62a5\uff0c\u5c06\u5341\u5927\u95e8\u6d3e\u7684\u5973\u4fa0\u6536\u5165\u753b\u5377\uff0c\u5b9b\u5982\u4e00\u5377\u8299\u84c9\u5982\u9762\u67f3\u5982\u7709\u7684\u58ee\u4e3d\u957f\u6b4c\u3002\u5305\u88c5\u91c7\u7528\u5377\u8f74\u8bbe\u8ba1\uff0c\u62ff\u5728\u624b\u4e2d\u4eff\u4f5b\u968f\u65f6\u90fd\u80fd\u7a7f\u8d8a\u5230\u90a3\u5200\u5149\u5251\u5f71\u3001\u4fa0\u9aa8\u67d4\u60c5\u7684\u6b66\u4fa0\u4e16\u754c\uff01","figure":"\/1436514566285.jpg"},{"product_id":"4191","channel_id":"8","brand_id":"5","p_catalog_id":"52","name":"\u3010\u7b52\u83f2\u3011T.M.E 03\u4fee\u8eab\u767e\u642d\u523a\u7ee3\u6ce1\u6ce1\u8896 \u957f\u8896\u886c\u886b","cover_price":"83.00","origin_price":"118.00","brief":"","figure":"\/1453370215241.png"}],"catalog_data":false,"brand_data":false,"is_recommended":"1"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_19.json b/S202014040230郭刘芊/atguigu/json/urls_19.json
new file mode 100644
index 0000000..de8deda
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_19.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"3212","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u539f\u521b\u8bbe\u8ba1\u53ef\u8c03\u5149\u5145\u7535\u53f0\u706f\u3010\u4e4c\u591c\u557c\u3011","cover_price":"202.40","origin_price":"230.00","brief":"\u6b64\u4e3a\u4e0b\u5355\u5b9a\u5236\u3002\u5de5\u671f7-10\u5929\u3002\u7531\u781a\u6c60\u53d1\u8d27\u3002\u975e\u8d28\u91cf\u95ee\u9898\u4e0b\u5355\u4e0d\u4f5c\u9000\u6362\u3002","figure":"\/1474971558864.jpg"},{"product_id":"6263","channel_id":"8","brand_id":"234","p_catalog_id":"56","name":"\u3010\u53e4\u602a\u820d\u3011\u539f\u521b\u8bbe\u8ba1 \u6076\u7075\u9000\u6563\u7eaf\u68c9\u4e03\u5206\u8896T\u6064 \u79cb\u5b63\u65e5\u7cfb\u539f\u5bbf\u7537\u5973\u88c5A21","cover_price":"63.00","origin_price":"72.00","brief":"","figure":"\/1464245798979.jpg"},{"product_id":"5914","channel_id":"8","brand_id":"234","p_catalog_id":"88","name":"\u3010\u53e4\u602a\u820d\u3011\u539f\u521b\u8bbe\u8ba1 \u767e\u9b3c\u591c\u884c-\u51a5\u5e9c\u9b54\u9053\u548c\u98ce\u77ed\u88e4 \u65e5\u5f0f\u68c9\u9ebb\u9614\u817f\u88e4A70","cover_price":"89.00","origin_price":"89.00","brief":"","figure":"\/1462352934101.jpg"},{"product_id":"1317","channel_id":"8","brand_id":"178","p_catalog_id":"76","name":"\u539f\u521b\u8bbe\u8ba1ISOS\u68ee\u7cfb\u590d\u53e4\u5355\u80a9\u5305\u7ee3\u82b1\u5c0f\u9e1f\u751c\u7f8e\u659c\u8de8\u5c0f\u5305","cover_price":"98.00","origin_price":"98.00","brief":"
<\/a>","figure":"\/1441702026328.jpg"},{"product_id":"8161","channel_id":"6","brand_id":"234","p_catalog_id":"109","name":"\u3010\u53e4\u602a\u820d\u3011\u539f\u521b\u8bbe\u8ba1 \u9e64\u7cfb\u5217-\u96ea\u7eba\u9632\u6652\u670d \u4e2d\u56fd\u98ce\u5916\u5957\u5f00\u886b A86","cover_price":"101.00","origin_price":"115.00","brief":"","figure":"\/1469003481664.jpg"},{"product_id":"8535","channel_id":"8","brand_id":"266","p_catalog_id":"12","name":"\u3010Neverland\u3011 soufflesong\u72ec\u5bb6\u8bbe\u8ba1\u3010\u661f\u8bed\u661f\u613f\u3011lolita\u70eb\u91d1\u8fde\u8863\u88d9jsk","cover_price":"425.00","origin_price":"425.00","brief":"\u6ca1\u6709\u73b0\u8d27\uff0c\u5236\u4f5c\u5de5\u671f\u7ea645\u5929\u5de6\u53f3\uff0c\u5b8c\u5de5\u540e\u5b89\u6392\u53d1\u8d27\u3002","figure":"\/1470042288668.jpg"},{"product_id":"6031","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5468\u8fb9\u539f\u521b\u8bbe\u8ba1 \u95e8\u6d3e\u6821\u670d\u884d\u751f\u5ba0\u7269\u670d\u3010\u72f8\u5974\u3011","cover_price":"83.60","origin_price":"95.00","brief":"\u5236\u4f5c\u5de5\u671f\u970015\u5929\uff0c\u5236\u4f5c\u5b8c\u6210\u540e\u53d1\u8d27~~","figure":"\/1461121218550.jpg"},{"product_id":"8322","channel_id":"8","brand_id":"266","p_catalog_id":"12","name":"\u3010Neverland\u3011 soufflesong\u72ec\u5bb6\u8bbe\u8ba1\u3010\u5f69\u8272\u7ae5\u8bdd\u3011\u77ed\u8896\u5f00\u895f\u96ea\u7eba\u8fde\u8863\u88d9op","cover_price":"338.00","origin_price":"338.00","brief":"\u6ca1\u6709\u73b0\u8d27\uff0c\u5236\u4f5c\u5de5\u671f\u7ea645\u5929\uff0c\u5b8c\u5de5\u540e\u5b89\u6392\u53d1\u8d27\u3002\r\n\u6b64\u5546\u54c1\u4e0d\u63a5\u53d7\u5b9a\u5236\uff01\uff01","figure":"\/1469298089392.jpg"},{"product_id":"2864","channel_id":"8","brand_id":"266","p_catalog_id":"68","name":"\u3010Neverland\u3011soufflesong\u72ec\u5bb6\u8bbe\u8ba1 Lolita \u831c\u7279\u83c8\u5b66\u9662 \u5916\u5957","cover_price":"243.20","origin_price":"304.00","brief":"","figure":"\/1454039978653.jpg"},{"product_id":"6262","channel_id":"8","brand_id":"234","p_catalog_id":"56","name":"\u3010\u53e4\u602a\u820d\u3011\u539f\u521b\u8bbe\u8ba1 \u5927\u5723-\u65a9\u5996\u9664\u9b54\u7eaf\u68c9\u77ed\u8896T\u6064 \u4e2d\u56fd\u98ce\u7537\u5973\u60c5\u4fa3\u88c5A9","cover_price":"69.00","origin_price":"74.00","brief":"","figure":"\/1464245832989.jpg"},{"product_id":"1752","channel_id":"12","brand_id":"3","p_catalog_id":"73","name":"\u5251\u7f513\u95e8\u6d3e\u884d\u751f\u540c\u4eba\u539f\u521b\u624b\u94fe ","cover_price":"68.00","origin_price":"68.00","brief":"","figure":"\/1450754469244.jpg"},{"product_id":"3269","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4]\u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u624b\u5de5\u5b9a\u5236\u53d1\u5149\u5c0f\u591c\u706f","cover_price":"68.00","origin_price":"68.00","brief":"\u4e0d\u5305\u542b\u63d0\u624b~\u4e0d\u5305\u542b\u63d0\u624b~\u4e0d\u5305\u542b\u63d0\u624b~OVO \u91cd\u8981\u7684si\u60c5\u55e6\u4e09\u904d~~~ \u5de5\u671f\u4e3a5-10\u4e2a\u5de5\u4f5c\u65e5~\r\n","figure":"\/1449219464141.jpg"},{"product_id":"4947","channel_id":"8","brand_id":"5","p_catalog_id":"71","name":"\u3010USEE\u54df\u559c\u3011 \u539f\u521b\u7eb9\u8eab\u8d34\u9632\u6c34 \u9ed1\u767d\u5f69\u8272\u6301\u4e45\u7537\u5973\u68ee\u5973\u8774\u8776\u9e7f \u7279\u60e0\u5957\u88c5","cover_price":"22.00","origin_price":"22.00","brief":"","figure":"\/1467361365770.jpg"},{"product_id":"3209","channel_id":"4","brand_id":"3","p_catalog_id":"26","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u624b\u5de5\u5b9a\u5236\u793c\u7269\u6728\u8d28\u5361\u5957","cover_price":"26.40","origin_price":"30.00","brief":"","figure":"\/1449134007474.jpg"},{"product_id":"6969","channel_id":"8","brand_id":"403","p_catalog_id":"29","name":"\u3010\u6d89\u5ddd\u539f\u521b\u3011\u5468\u8fb9\u5c0f\u7269 \u624b\u611f\u8d85\u597d\u8d85\u840c\u7684\u5154\u6bdb\u5c0f\u5154\u7eb8\u5305\u6302\/\u6bdb\u7ed2\u73a9\u5076","cover_price":"68.00","origin_price":"68.00","brief":"\u5154\u5154\u521a\u5230\u624b\u4f1a\u6709\u6d6e\u6bdb\uff0c\u591a\u62cd\u62cd\u6296\u6296\u5439\u5439\u63c9\u63c9\u5c31\u597d\u5566(","figure":"\/1465620442251.jpg"},{"product_id":"4628","channel_id":"8","brand_id":"5","p_catalog_id":"56","name":"\u3010\u6f2b\u8e2a\u3011 \u539f\u521b\u53ef\u7231\u840c\u732b\u54aa\u5927\u4eba \u7acb\u4f53\u732b\u5c3eT\u6064 \u857e\u4e1d\u82b1\u8fb9\u5973","cover_price":"79.00","origin_price":"142.00","brief":"","figure":"\/1461571069605.jpg"},{"product_id":"589","channel_id":"8","brand_id":"266","p_catalog_id":"12","name":"\u5b9a\u5236\u3010Neverland \u539f\u521b\u3011\u76f4\u53d1 \u70eb\u91d1lolita \u4eba\u9c7c\u4e4b\u6b4c \u9ad8\u8170JSK\u8fde\u8863\u88d9","cover_price":"403.04","origin_price":"458.00","brief":"45\u5929\u5de5\u671f","figure":"\/1438772068067.jpg"},{"product_id":"3212","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u539f\u521b\u8bbe\u8ba1\u53ef\u8c03\u5149\u5145\u7535\u53f0\u706f\u3010\u4e4c\u591c\u557c\u3011","cover_price":"202.40","origin_price":"230.00","brief":"\u6b64\u4e3a\u4e0b\u5355\u5b9a\u5236\u3002\u5de5\u671f7-10\u5929\u3002\u7531\u781a\u6c60\u53d1\u8d27\u3002\u975e\u8d28\u91cf\u95ee\u9898\u4e0b\u5355\u4e0d\u4f5c\u9000\u6362\u3002","figure":"\/1474971558864.jpg"},{"product_id":"6981","channel_id":"8","brand_id":"5","p_catalog_id":"84","name":"\u3010\u539f\u521b\u77ed\u889c\u3011\u8f6f\u59b9\u5973\u889c \u539f\u521b \u523a\u7ee3\u889c\u5b50 \u767e\u642d \u5c11\u5973\u5fc3 jk\u65e5\u5e38","cover_price":"6.90","origin_price":"6.90","brief":"","figure":"\/1465959861797.jpg"},{"product_id":"5","channel_id":"4","brand_id":"3","p_catalog_id":"26","name":"\u3010\u884d\u751f\u539f\u521b\u3011\u5251\u4fa0\u60c5\u7f18\u53c1 \u5251\u7f513 \u5251\u4e09\u62a4\u8eab\u7b26\u9999\u5305 \u6302\u4ef6 \u5fa1\u5b88","cover_price":"13.00","origin_price":"13.00","brief":"\u51fa\u54c1\uff1a\u55b5\u53fd\u53fd\u53fd\u5927\u8054\u840c","figure":"\/1429840421737.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"1"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_20.json b/S202014040230郭刘芊/atguigu/json/urls_20.json
new file mode 100644
index 0000000..59304db
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_20.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"3269","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4]\u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u624b\u5de5\u5b9a\u5236\u53d1\u5149\u5c0f\u591c\u706f","cover_price":"68.00","origin_price":"68.00","brief":"\u4e0d\u5305\u542b\u63d0\u624b~\u4e0d\u5305\u542b\u63d0\u624b~\u4e0d\u5305\u542b\u63d0\u624b~OVO \u91cd\u8981\u7684si\u60c5\u55e6\u4e09\u904d~~~ \u5de5\u671f\u4e3a5-10\u4e2a\u5de5\u4f5c\u65e5~\r\n","figure":"\/1449219464141.jpg"},{"product_id":"3209","channel_id":"4","brand_id":"3","p_catalog_id":"26","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u624b\u5de5\u5b9a\u5236\u793c\u7269\u6728\u8d28\u5361\u5957","cover_price":"26.40","origin_price":"30.00","brief":"","figure":"\/1449134007474.jpg"},{"product_id":"3212","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u539f\u521b\u8bbe\u8ba1\u53ef\u8c03\u5149\u5145\u7535\u53f0\u706f\u3010\u4e4c\u591c\u557c\u3011","cover_price":"202.40","origin_price":"230.00","brief":"\u6b64\u4e3a\u4e0b\u5355\u5b9a\u5236\u3002\u5de5\u671f7-10\u5929\u3002\u7531\u781a\u6c60\u53d1\u8d27\u3002\u975e\u8d28\u91cf\u95ee\u9898\u4e0b\u5355\u4e0d\u4f5c\u9000\u6362\u3002","figure":"\/1474971558864.jpg"},{"product_id":"3211","channel_id":"4","brand_id":"3","p_catalog_id":"26","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u793c\u7269 \u95e8\u6d3e\u884d\u751f\u91d1\u5c5e\u4e66\u7b7e","cover_price":"13.20","origin_price":"15.00","brief":"","figure":"\/1449137495482.jpg"},{"product_id":"5774","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u5b9a\u5236\u793c\u7269\u50a8\u84c4\u7f50\u6536\u7eb3\u76d2","cover_price":"80.96","origin_price":"92.00","brief":"","figure":"\/supplier\/1478517808928.jpg"},{"product_id":"8120","channel_id":"4","brand_id":"274","p_catalog_id":"41","name":"\u3010\u781a\u6c60\u5de5\u4f5c\u5ba4\u3011\u5251\u7f51\u4e09 \u52513\u540c\u4eba\u5168\u95e8\u6d3e\u884d\u751flogo\u5468\u8fb9 \u91d1\u5c5e\u624b\u673a\u8d34\u3010\u94f6\u8272\u3011","cover_price":"30.00","origin_price":"30.00","brief":"","figure":"\/1468840600394.jpg"},{"product_id":"4632","channel_id":"6","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u5b9a\u5236\u793c\u7269 \u968f\u8eab\u955c\u5316\u5986\u955c\u3010\u4eff\u94dc\u6b3e\u3011","cover_price":"33.44","origin_price":"38.00","brief":"","figure":"\/1455763241297.jpg"},{"product_id":"6031","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5468\u8fb9\u539f\u521b\u8bbe\u8ba1 \u95e8\u6d3e\u6821\u670d\u884d\u751f\u5ba0\u7269\u670d\u3010\u72f8\u5974\u3011","cover_price":"83.60","origin_price":"95.00","brief":"\u5236\u4f5c\u5de5\u671f\u970015\u5929\uff0c\u5236\u4f5c\u5b8c\u6210\u540e\u53d1\u8d27~~","figure":"\/1461121218550.jpg"},{"product_id":"4023","channel_id":"6","brand_id":"5","p_catalog_id":"77","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] [\u539f\u521b] \u5173\u5c71\u6708\u53cc\u9762\u7ee3\u82b1\u675f\u53e3\u8377\u5305","cover_price":"68.00","origin_price":"68.00","brief":"","figure":"\/1452670588009.jpg"},{"product_id":"3038","channel_id":"12","brand_id":"3","p_catalog_id":"73","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u4e07\u82b1\u95e8\u6d3e\u884d\u751f\u53d1\u7c2a","cover_price":"168.96","origin_price":"192.00","brief":"\u5de5\u671f\u97005-10\u5de5\u4f5c\u65e5\u53d1\u8d27\u54df~\n","figure":"\/1448510098658.jpg"},{"product_id":"5921","channel_id":"4","brand_id":"3","p_catalog_id":"23","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09 \u5468\u8fb9 \u4e4c\u591c\u557c \u706f\u9762\u540c\u6b3e \u5168\u95e8\u6d3e \u660e\u4fe1\u7247","cover_price":"33.44","origin_price":"38.00","brief":"","figure":"\/1460534487097.jpg"},{"product_id":"4595","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u5b9a\u5236\u793c\u7269 \u68b3\u5986\u955c\u5316\u5986\u955c","cover_price":"59.84","origin_price":"68.00","brief":"","figure":"\/1455616961106.jpg"},{"product_id":"4601","channel_id":"6","brand_id":"3","p_catalog_id":"90","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u624b\u5de5\u5b9a\u5236\u5c0f\u591c\u706f \u63d0\u624b","cover_price":"15.00","origin_price":"15.00","brief":"","figure":"\/1455619729894.jpg"},{"product_id":"10241","channel_id":"4","brand_id":"3","p_catalog_id":"90","name":"\u3010\u781a\u6c60\u5de5\u4f5c\u5ba4\u3011 \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u5168\u95e8\u6d3e\u539f\u521b\u8bbe\u8ba1\u591a\u7528 \u7af9\u8282\u6728 \u6536\u7eb3\u7b14\u76d2\u3010\u5323\u3011","cover_price":"42.24","origin_price":"48.00","brief":"\u6b64\u4e3a\u4e0b\u5355\u5b9a\u5236\uff0c\u5de5\u671f\u4e3a5-6\u4e2a\u5de5\u4f5c\u65e5\uff01\n","figure":"\/1478662752961.jpg"},{"product_id":"8119","channel_id":"4","brand_id":"274","p_catalog_id":"41","name":"\u3010\u781a\u6c60\u5de5\u4f5c\u5ba4\u3011\u5251\u7f51\u4e09 \u52513\u540c\u4eba\u5168\u95e8\u6d3e\u884d\u751flogo\u5468\u8fb9 \u91d1\u5c5e\u624b\u673a\u8d34\u3010\u91d1\u8272\u3011","cover_price":"30.00","origin_price":"30.00","brief":"","figure":"\/1468840289760.jpg"},{"product_id":"3208","channel_id":"4","brand_id":"3","p_catalog_id":"26","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4]\u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u5341\u5927\u95e8\u6d3e\u624b\u5de5\u539f\u521b\u590d\u53e4\u751f\u65e5\u793c\u7269\u4ee4\u724c\u6302\u4ef6","cover_price":"30.00","origin_price":"30.00","brief":"","figure":"\/1449132874704.jpg"},{"product_id":"8118","channel_id":"4","brand_id":"274","p_catalog_id":"90","name":"\u3010\u781a\u6c60\u5de5\u4f5c\u5ba4\u3011 \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u5168\u95e8\u6d3e\u539f\u521b\u8bbe\u8ba1\u591a\u7528\u6536\u7eb3\u7b14\u76d2\u3010\u5323\u3011","cover_price":"38.00","origin_price":"48.00","brief":"\u6b64\u4e3a\u4e0b\u5355\u5b9a\u5236\uff0c\u5de5\u671f5\u5929\uff0c\u5fae\u7455\u75b5\uff0c\u4ecb\u610f\u8005\u614e\u62cd\u5662~","figure":"\/1468839963896.jpg"},{"product_id":"3226","channel_id":"4","brand_id":"3","p_catalog_id":"23","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u53e4\u98ce\u539f\u521b\u72ec\u5bb6\u793c\u7269\u5168\u95e8\u6d3e\u660e\u4fe1\u7247","cover_price":"28.00","origin_price":"28.00","brief":"","figure":"\/1449197440530.jpg"},{"product_id":"3145","channel_id":"6","brand_id":"61","p_catalog_id":"20","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u53e4\u5251\u5947\u8c2d\u4e8c COS\u7528\/\u65e5\u5e38 \u901a\u5929\u4e4b\u5668 \u6536\u7eb3\u76d2","cover_price":"185.00","origin_price":"185.00","brief":"","figure":"\/1448956206285.jpg"},{"product_id":"4024","channel_id":"12","brand_id":"3","p_catalog_id":"73","name":"[\u781a\u6c60\u5de5\u4f5c\u5ba4] \u5251\u7f513 \u5251\u4e09\u5468\u8fb9\u95e8\u6d3e\u624b\u5de5\u5b9a\u5236\u793c\u7269\u4e94\u6bd2\u884d\u751f\u6728\u96d5\u53d1\u7c2a","cover_price":"68.00","origin_price":"68.00","brief":"","figure":"\/1452670997537.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_21.json b/S202014040230郭刘芊/atguigu/json/urls_21.json
new file mode 100644
index 0000000..56ba5f7
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_21.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"7592","channel_id":"8","brand_id":"284","p_catalog_id":"109","name":"\u9884\u552e\u3010\u4e91\u843d\u79cb\u6c60\u3011 \u590f\u5b63 \u6c49\u5143\u7d20 \u5973 \u7ee3\u82b1\u5957\u88c5 \u540a\u5e26 \u77ed\u9a6c\u9762-\u98ce\u8377\u4e3e-\u4e0a\u8863","cover_price":"118.00","origin_price":"168.00","brief":"\u5168\u6b3e\u9884\u552e\uff01\uff01\u5168\u6b3e\u9884\u552e\uff01\u7b2c\u56db\u62798\u670831\u4e4b\u524d\u53d1\u8d27\uff01\uff01","figure":"\/1467020417275.jpg"},{"product_id":"7596","channel_id":"8","brand_id":"284","p_catalog_id":"109","name":"\u9884\u552e\u3010\u4e91\u843d\u79cb\u6c60\u3011 \u590f\u5b63 \u6c49\u5143\u7d20 \u5973 \u7ee3\u82b1\u5957\u88c5 \u540a\u5e26 \u77ed\u9a6c\u9762-\u98ce\u8377\u4e3e-\u540a\u5e26","cover_price":"69.00","origin_price":"88.00","brief":"\u5168\u6b3e\u9884\u552e\uff01\uff01\u5168\u6b3e\u9884\u552e\uff01\u7b2c\u56db\u62798\u670831\u4e4b\u524d\u53d1\u8d27\uff01\uff01","figure":"\/1467022078102.jpg"},{"product_id":"7595","channel_id":"8","brand_id":"284","p_catalog_id":"110","name":"\u9884\u552e\u3010\u4e91\u843d\u79cb\u6c60\u3011 \u590f\u5b63 \u6c49\u5143\u7d20 \u5973 \u7ee3\u82b1\u5957\u88c5 \u540a\u5e26 \u77ed\u9a6c\u9762-\u98ce\u8377\u4e3e-\u4e0b\u88d9","cover_price":"128.00","origin_price":"138.00","brief":"\u5168\u6b3e\u9884\u552e\uff01\uff01\u5168\u6b3e\u9884\u552e\uff01\u7b2c\u56db\u62798\u670831\u4e4b\u524d\u53d1\u8d27\uff01\uff01","figure":"\/1467021902965.jpg"},{"product_id":"6889","channel_id":"15","brand_id":"284","p_catalog_id":"82","name":"\u3010\u4e91\u843d\u79cb\u6c60\u3011 \u5154\u82cf\u82cf\u7cfb\u5217--\u5305\u5305","cover_price":"68.00","origin_price":"88.00","brief":"","figure":"\/1465292433106.jpg"},{"product_id":"9763","channel_id":"8","brand_id":"284","p_catalog_id":"110","name":"\u9884\u552e \u3010\u4e91\u843d\u79cb\u6c60\u3011\u4f20\u7edf\u65e5\u5e38\u6539\u826f \u6c49\u670d \u8fde\u8863\u88d9\u80cc\u5e26\u88d9\u5957\u88c5-\u5317\u6d77\u5317--\u80cc\u5e26\u88d9","cover_price":"208.00","origin_price":"208.00","brief":"\u5168\u6b3e\u9884\u552e~~11\u6708\u4e0a\u65ec\u53d1\u8d27~\u8bf7\u4eb2\u4eec\u8010\u5fc3\u7b49\u5f85\u54df~","figure":"\/1476153159455.jpg"},{"product_id":"6888","channel_id":"15","brand_id":"284","p_catalog_id":"65","name":"\u3010\u4e91\u843d\u79cb\u6c60\u3011 \u5154\u82cf\u82cf\u7cfb\u5217--\u7f8a\u6bdb\u6597\u7bf7","cover_price":"468.00","origin_price":"538.00","brief":"","figure":"\/1465291979557.jpg"},{"product_id":"9762","channel_id":"8","brand_id":"284","p_catalog_id":"109","name":"\u9884\u552e \u3010\u4e91\u843d\u79cb\u6c60\u3011\u4f20\u7edf\u65e5\u5e38\u6539\u826f \u6c49\u670d \u8fde\u8863\u88d9\u80cc\u5e26\u88d9\u5957\u88c5-\u5317\u6d77\u5317--\u4e0a\u8863","cover_price":"136.00","origin_price":"136.00","brief":"\u5168\u6b3e\u9884\u552e~~11\u6708\u4e0a\u65ec\u53d1\u8d27~\u8bf7\u4eb2\u4eec\u8010\u5fc3\u7b49\u5f85\u54df~","figure":"\/1476152885831.jpg"},{"product_id":"6891","channel_id":"15","brand_id":"284","p_catalog_id":"71","name":"\u3010\u4e91\u843d\u79cb\u6c60\u3011 \u6c49\u5143\u7d20 \u65f6\u88c5 \u51ac \u539a\u7acb\u9886\u8884\u5b50 \u7389\u5bb9--\u5c0f\u8033\u6735\u53d1\u5e26","cover_price":"12.00","origin_price":"36.00","brief":"","figure":"\/1465293316279.jpg"},{"product_id":"6890","channel_id":"15","brand_id":"284","p_catalog_id":"88","name":"\u3010\u4e91\u843d\u79cb\u6c60\u3011 \u5154\u82cf\u82cf\u7cfb\u5217--\u4e00\u7247\u5f0f\u84dd\u77ed\u88d9","cover_price":"128.00","origin_price":"168.00","brief":"","figure":"\/1465292688659.jpg"},{"product_id":"6892","channel_id":"15","brand_id":"284","p_catalog_id":"52","name":"\u3010\u4e91\u843d\u79cb\u6c60\u3011 \u6c49\u5143\u7d20 \u65f6\u88c5 \u51ac \u539a\u7acb\u9886\u8884\u5b50 \u7389\u5bb9--\u7f8a\u7ed2\u6bd4\u7532","cover_price":"568.00","origin_price":"638.00","brief":"","figure":"\/1465293833048.jpg"},{"product_id":"6887","channel_id":"15","brand_id":"284","p_catalog_id":"71","name":"\u3010\u4e91\u843d\u79cb\u6c60\u3011 \u5154\u82cf\u82cf\u7cfb\u5217--\u5047\u9886","cover_price":"68.00","origin_price":"88.00","brief":"","figure":"\/1465290095723.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_22.json b/S202014040230郭刘芊/atguigu/json/urls_22.json
new file mode 100644
index 0000000..0f4f7e0
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_22.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"3281","channel_id":"4","brand_id":"281","p_catalog_id":"71","name":"\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u5251\u4e09 \u4e07\u82b1 \u5170\u4ead\u9999\u96ea 95\u5927\u6a59\u6b66\u53d1\u7c2a\u5468\u8fb9\u6446\u4ef6\u9884\u552e","cover_price":"120.00","origin_price":"159.00","brief":"\u6700\u540e\u4e00\u6b21\u5f0095\u4e07\u82b1\u56e2\u4e86\uff01\uff01\uff01\u6700\u540e500\u4e2a\u5b8c\u552e\u540e\u5c31\u6b63\u5f0f\u5c01\u4ed3\u4e0d\u518d\u505a\u4e86\uff01\uff01 \r\n\u5927\u8d27\u6837\u56fe\u5df2\u51fa\uff01\uff01\u6539\u7248\u4e4b\u540e\u66f4\u5c4c\u6709\u6728\u6709\uff01\u771f\u91d1\u7535\u9540\u7edd\u5bf9\u8d85\u503c\uff01 \u5b9e\u529b\u6253\u9020\uff0c\u4e0d\u5bb9\u9519\u8fc7\uff01 \u7528\u5fc3\u6253\u78e8\uff0c\u53ea\u4e3a\u613f\u60a8\u4e00\u4e2a\u6a59\u6b66\u68a6\uff01\uff01\uff01\r\n\u56fe\u4e3a\u6700\u7ec8\u6837\uff0c\u9646\u7eed\u4f1a\u653e\u5927\u8d27\u9ad8\u6e05\u5927\u56fe\uff01\uff01\u5b9e\u529b\u6253\u9020\uff0c\u4e0d\u5bb9\u9519\u8fc7\uff01 \u7528\u5fc3\u6253\u78e8\uff0c\u53ea\u4e3a\u5706\u5c3c\u4e00\u4e2a\u6a59\u6b66\u68a6\uff01\uff01\uff01","figure":"\/1453194827823.jpg"},{"product_id":"3794","channel_id":"3","brand_id":"234","p_catalog_id":"28","name":"\u3010\u53e4\u602a\u820d\u3011\u65e5\u672c\u534e\u4e3d\u548c\u98ce \u7e41\u534e\u94c1\u6728\u7b77\u5b50 \u4e00\u59575\u53cc \u793c\u76d2\u88c5 \u65e5\u5f0f\u9910\u5177 D43","cover_price":"29.40","origin_price":"30.00","brief":"","figure":"\/1451358670565.jpg"},{"product_id":"4948","channel_id":"6","brand_id":"336","p_catalog_id":"10","name":"\u3010\u6e05\u8d8a\u4e4b\u9e23\u3011\u539f\u521b\u6c49\u5143\u7d20\u65f6\u88c5 \u4e00\u4ef6\u5f0f\u9f50\u80f8\u8966\u88d9 \u4e8c\u5341\u56db\u8282\u6c14\u4e4b\u8c37\u96e8","cover_price":"120.00","origin_price":"120.00","brief":"\u3010\u73b0\u8d27\u3011\u552e\u5b8c\u4e0d\u8865\r\n\u539f\u521b\u6c49\u5143\u7d20\uff0c\u8c37\u96e8\uff0c\u4e09\u7c73\u5927\u6446\uff0c\u56e0\u5149\u7ebf\u548c\u62cd\u6444\u7b49\u95ee\u9898\u53ef\u80fd\u4f1a\u6709\u4e9b\u8bb8\u8272\u5dee\uff0c\u4ecb\u610f\u614e\u62cd\u3002\r\n\u6ee1128\u5143\u5168\u56fd\u5305\u90ae\u3002","figure":"\/supplier\/1456923360503.jpg"},{"product_id":"2526","channel_id":"8","brand_id":"77","p_catalog_id":"105","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u751c\u751c\u79c1\u623f\u732b \u5c0f\u8d77\u53f8\u732b \u5e3d\u5b50\u56f4\u5dfe\u624b\u5957\u4e00\u4f53\u4e09\u4ef6\u5957\u79cb\u51ac","cover_price":"93.90","origin_price":"198.00","brief":"","figure":"\/1446112383959.jpg"},{"product_id":"3476","channel_id":"12","brand_id":"281","p_catalog_id":"71","name":"\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u548c\u98ce\u91cd\u6a31\u73cd\u73e0\u6d41\u82cf\u7c2a","cover_price":"35.00","origin_price":"45.00","brief":"","figure":"\/supplier\/1449839522267.jpg"},{"product_id":"2467","channel_id":"3","brand_id":"27","p_catalog_id":"25","name":"\u3010\u53e4\u602a\u820d\u3011Free \u8d85\u840cQ\u7248\u6e38\u6cf3\u5708 \u7537\u5b50\u57fa\u6cf3\u90e8\u624b\u529e\u516c\u4ed4 \u4e00\u5957","cover_price":"114.00","origin_price":"129.00","brief":"","figure":"\/1445935768822.jpg"},{"product_id":"7170","channel_id":"10","brand_id":"286","p_catalog_id":"99","name":"\u3010\u6d77\u9e1f\u8de8\u5883\u3011\u65e5\u672c\u8fdb\u53e3 \u4e00\u5e73\u86cb\u9ec4\u9171\u591c\u5e97\u7092\u9762\u62cc\u9762","cover_price":"18.00","origin_price":"28.00","brief":" \u4fdd\u7a0e\u533a\u53d1\u8d27\u67093-5\u5929\u7684\u5ba1\u6838\u65f6\u95f4","figure":"\/supplier\/1466135546395.jpg"},{"product_id":"3719","channel_id":"3","brand_id":"77","p_catalog_id":"105","name":"\u3010\u6f2b\u8da3\u3011\u732b\u54aa\u5ead\u9662 \u732b\u54aa\u540e\u9662 \u6bdb\u7ed2\u56f4\u5dfe\u5e3d\u5b50\u624b\u5957\u4e09\u5408\u4e00","cover_price":"68.00","origin_price":"118.00","brief":"","figure":"\/1451107024809.jpg"},{"product_id":"6784","channel_id":"12","brand_id":"281","p_catalog_id":"71","name":"\u3010\u4e00\u65b9\u5c18\u5bf0\u3011\u5251\u4e0995\u5927\u6a59\u6b66\u4e94\u6bd2\u00b7\u7edb\u7389\u62e8\u4e91 \u53d1\u7c2aBJD cos\u9053\u5177","cover_price":"95.00","origin_price":"105.00","brief":"\u5168\u90e8\u73b0\u8d27\u5168\u90e8\u73b0\u8d27\uff01\uff01\u6a21\u7279\u56fe\u5df2\u51fa\uff01\uff01\u6539\u7248\u4e4b\u540e\u66f4\u5c4c\u6709\u6728\u6709\uff01\u9ad8\u54c1\u8d28\u72ec\u5bb6\u6253\u7248\u5f00\u6a21\u7edd\u5bf9\u8d85\u503c\uff01 \u5b9e\u529b\u6253\u9020\uff0c\u4e0d\u5bb9\u9519\u8fc7\uff01 \u7528\u5fc3\u6253\u78e8\uff0c\u53ea\u4e3a\u5706\u60a8\u4e00\u4e2a\u6a59\u6b66\u68a6\uff01\uff01\uff01","figure":"\/supplier\/1469697386716.jpg"},{"product_id":"6452","channel_id":"8","brand_id":"254","p_catalog_id":"22","name":"\u3010\u6f2b\u8e2a\u3011 \u539f\u521b\u5bf9\u65b9\u62d2\u7edd\u6d88\u606f\u5e76\u5411\u60a8\u6254\u4e86\u4e00\u53ea\u72d7\u8868\u60c5\u5305\u6076\u641e\u6bdb\u7ed2\u62b1\u6795","cover_price":"59.00","origin_price":"95.00","brief":"\u9884\u552e\u81f310\u670813\u65e5\u53d1\u8d27~\u51fa\u8d27\u540e\u5c06\u6309\u8ba2\u5355\u987a\u5e8f\u5b89\u6392\u53d1\u8d27~","figure":"\/1463121542577.jpg"},{"product_id":"2218","channel_id":"3","brand_id":"72","p_catalog_id":"24","name":"\u3010\u5b98\u65b9\u6b63\u7248\u3011 \u5168\u804c\u9ad8\u624b \u5dc5\u5cf0\u8363\u8000 \u756a\u5916\u96c6\u6536\u5f55\u300a\u5341\u4e94\u5c81\u7684\u590f\u5929\u300b\u7b49","cover_price":"28.00","origin_price":"28.00","brief":"\u9884\u552e\u81f38\u6708\u4e2d\u65ec\u5230\u8d27\u54e6~\u5230\u8d27\u540e\u5c06\u6309\u8ba2\u5355\u987a\u5e8f\u5b89\u6392\u53d1\u8d27\u5462~","figure":"\/1444972486392.jpg"},{"product_id":"4948","channel_id":"6","brand_id":"336","p_catalog_id":"10","name":"\u3010\u6e05\u8d8a\u4e4b\u9e23\u3011\u539f\u521b\u6c49\u5143\u7d20\u65f6\u88c5 \u4e00\u4ef6\u5f0f\u9f50\u80f8\u8966\u88d9 \u4e8c\u5341\u56db\u8282\u6c14\u4e4b\u8c37\u96e8","cover_price":"120.00","origin_price":"120.00","brief":"\u3010\u73b0\u8d27\u3011\u552e\u5b8c\u4e0d\u8865\r\n\u539f\u521b\u6c49\u5143\u7d20\uff0c\u8c37\u96e8\uff0c\u4e09\u7c73\u5927\u6446\uff0c\u56e0\u5149\u7ebf\u548c\u62cd\u6444\u7b49\u95ee\u9898\u53ef\u80fd\u4f1a\u6709\u4e9b\u8bb8\u8272\u5dee\uff0c\u4ecb\u610f\u614e\u62cd\u3002\r\n\u6ee1128\u5143\u5168\u56fd\u5305\u90ae\u3002","figure":"\/supplier\/1456923360503.jpg"},{"product_id":"1348","channel_id":"12","brand_id":"3","p_catalog_id":"73","name":"\u3010\u5c0f\u8ff7\u5154\u3011\u5251\u7f513 \u5341\u5927\u95e8\u6d3e \u5929\u7136\u5f69\u77f3\u6c34\u6676 \u624b\u94fe","cover_price":"50.15","origin_price":"59.00","brief":"","figure":"\/1441940476267.jpg"},{"product_id":"4195","channel_id":"3","brand_id":"255","p_catalog_id":"24","name":"\u300a\u897f\u6e38\u8bb0\u4e4b\u5927\u5723\u5f52\u6765\u300b \u7eaa\u5ff5\u5927\u753b\u96c6 \u5b98\u65b9\u6388\u6743\u76d1\u5236 \u5341\u6708\u6587\u5316","cover_price":"48.00","origin_price":"68.00","brief":"\u73b0\u8d27","figure":"\/1453372932361.jpg"},{"product_id":"3316","channel_id":"3","brand_id":"279","p_catalog_id":"82","name":"[\u79b9\u5c4b\u539f\u521b] \u5723\u6d01\u4e0e\u6551\u8d4e \u5341\u5b57\u67b6 \u5236\u670d\u5305","cover_price":"118.00","origin_price":"118.00","brief":"\u5c3a\u5bf8:\u7ea6 37 *25 *19 \u5398\u7c73\r\n\u4f5c\u8005:\u4e0d\u4f1a\u753b\u753b\u7684A\u53d4\r\n\u540d\u5b57 \u5723\u6d01\u4e0e\u6551\u8d4e\u5341\u5b57\u67b6\u5236\u670d\u5305\r\n\u8bf4\u660e \u641e\u6b7b\u7cfb\u5236\u670d\u5305\uff0c\u767d\u91d1\u4ee3\u8868\u5723\u6d01\uff0c\u9ed1\u94f6\u4ee3\u8868\u6551\u8d4e\uff0c\u5177\u4f53\u6750\u8d28\u8bf7\u770b\u8be6\u60c5\u56fe\u3002\r\n\u6ce8\u610f\uff01\uff01\uff01\uff01\u8d2d\u4e70\u7684\u5305\u5305\u4e0d\u5305\u542b\u56fe\u4e2d\u7684\u5341\u5b57\u67b6\uff01\uff01\uff01\u5341\u5b57\u67b6\u4e3a\u5355\u5356\u54c1\u5df2\u65ad\u8d27\uff01\uff01\uff01","figure":"\/1449475564966.jpg"},{"product_id":"2305","channel_id":"6","brand_id":"5","p_catalog_id":"24","name":"\u300a\u865e\u7f8e\u4eba\u300b \u7cbe\u88c5\u753b\u96c6 \u590f\u8fbe \u4f0a\u5439 \u666f\u6b8a \u7b49\u6570\u5341\u4f4d\u753b\u5e08\u5408\u529b\u7ed8\u5236","cover_price":"42.00","origin_price":"42.00","brief":"","figure":"\/1445328043518.jpg"},{"product_id":"5991","channel_id":"8","brand_id":"5","p_catalog_id":"71","name":" \u3010\u795e\u4e4b\u8363\u8000\u3011Gloria\uff5c\u73ab\u7470\u7a97\u4e0b\u7684\u555f\u793a\u9304 \u624b\u4f5c \u857e\u7d72 \u6b4c\u7279 \u9ed1\u8272 \u5341\u5b57\u67b6 \u5fa9\u53e4\u624b\u93c8","cover_price":"38.00","origin_price":"38.00","brief":"","figure":"\/1460950238631.jpg"},{"product_id":"2446","channel_id":"6","brand_id":"182","p_catalog_id":"24","name":"\u300a\u5c81\u65f6\u6b4c\u300b \u753b\u96c6 \u7ed8\u672c \u4e8c\u5341\u56db\u8282\u6c14 \u590f\u5c0f\u9c9f \u9001\u4e66\u7b7e+\u660e\u4fe1\u7247 ","cover_price":"29.00","origin_price":"29.00","brief":"\u5b9a\u4ef742\u5143\u00a0\u9001\u4e66\u7b7e+\u660e\u4fe1\u7247\u00a0","figure":"\/1445847282345.jpg"},{"product_id":"2974","channel_id":"8","brand_id":"266","p_catalog_id":"12","name":"\u3010Neverland\u3011lolita soufflesong\u72ec\u5bb6\u8bbe\u8ba1 \u5723\u6bcd\u5341\u5b57\u67b6\u7cfb\u5217 \u5706\u9886\u73e0\u5e18jsk\u8fde\u8863\u88d9","cover_price":"452.00","origin_price":"452.00","brief":"\u5de5\u671f45\u5929","figure":"\/1448250606969.jpg"},{"product_id":"2988","channel_id":"8","brand_id":"266","p_catalog_id":"12","name":"\u3010Neverland\u3011soufflesong\u72ec\u5bb6\u8bbe\u8ba1 \u5723\u6bcd\u5341\u5b57\u67b6\u7cfb\u5217 lolita\u534a\u88d9sk","cover_price":"225.00","origin_price":"225.00","brief":"\u5de5\u671f45\u5929","figure":"\/1448269577758.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"1"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_23.json b/S202014040230郭刘芊/atguigu/json/urls_23.json
new file mode 100644
index 0000000..4e216f9
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_23.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"3967","channel_id":"3","brand_id":"291","p_catalog_id":"81","name":"\u3010\u957f\u8349\u989c\u6587\u5b57\u3011 \u7092\u9e21\u840c\u840c\u54d2\u6bdb\u6bef","cover_price":"37.24","origin_price":"49.00","brief":"\u2605\u2605\u4e13\u4e3a\u559c\u6b22\u840c\u6587\u5316\u7684\u5c0f\u4f19\u4f34\u521b\u4f5c\u7684\u5468\u8fb9\u4ea7\u7269\u2605\u2605\u5377\u8d77\u6765\u662f\u8ff7\u4f60\u516c\u4ed4\u6446\u9970\uff0c\u5c55\u5f00\u5c31\u662f\u5b9e\u7528\u5c0f\u6bdb\u6bef\u2605\u2605\u4f18\u9009\u6cd5\u5170\u7ed2\u9762\u6599\u4f7f\u4ea7\u54c1\u5728\u4f7f\u7528\u8fc7\u7a0b\u4e2d\u66f4\u52a0\u5b89\u5168\u8212\u9002\u2605\u2605\u53c8\u840c\u53c8\u597d\u73a9\u8fd8\u5728\u7b49\u4ec0\u4e48\uff0c\u6293\u7d27\u62b1\u56de\u5bb6\u5462\uff01\n","figure":"\/1452570260015.jpg"},{"product_id":"3968","channel_id":"3","brand_id":"291","p_catalog_id":"22","name":"\u3010\u957f\u8349\u989c\u6587\u5b57\u3011 \u840c\u7cfb\u751c\u751c\u5708u\u578b\u6795 \u3010\u5403\u8d27\u62b1\u6795\u3011","cover_price":"49.00","origin_price":"98.00","brief":"\u751c\u751c\u5708U\u578b\u9888\u6795\uff0c\u5348\u4f11\u5fc5\u5907\u54e6\uff01\u2605\u2605\u2605_______ \u840c\u840c\u54d2\u7684\u9020\u578b\uff0c\u5356\u840c\u5c0f\u56e2\u5b50\u7684\u4f4d\u7f6e\u9002\u5408\u9760\u7740\uff0c\r\n\u8ba9\u5348\u4f11\u66f4\u8212\u9002\u2605\u2605\u2605_______ \u9009\u7528\u4f18\u8d28\u6c34\u6676\u77ed\u6bdb\u7ed2\u6750\u8d28\uff0c\u8fdb\u53e3\u586b\u5145PP\u68c9\uff0c\r\n\u662f\u5927\u591a\u6570\u957f\u8349\u5bb6\u5c0f\u5929\u4f7f\u7684\u631a\u7231\u54e6 \u2605\u2605\u2605_______ \u591a\u79cd\u7528\u9014\uff0c\u9760\u7740\u3001\u8db4\u7740\u3001\u57ab\u7740\u9002\u5408\u5404\u79cd\u59ff\u52bf\uff0c\u7528\u9014\u591a\u591a~\r\n","figure":"\/1452570654212.jpg"},{"product_id":"3975","channel_id":"3","brand_id":"291","p_catalog_id":"77","name":"\u3010\u957f\u8349\u989c\u6587\u5b57\u3011\u65e9\u9910\u7cfb\u5217\u96f6\u94b1\u5305-\u9762\u5305","cover_price":"26.50","origin_price":"53.00","brief":"\u840c\u840c\u624e\u96f6\u94b1\u5305\u3002\u8377\u5305\u86cb*\u725b\u5976*\u9762\u5305 \u65e9\u9910\u7cfb\u5217\u4e00\u6837\u90fd\u4e0d\u80fd\u5c11 \u2605\u2605\u96f6\u94b1\u3001\u94a5\u5319\u3001\u94f6\u884c\u5361\u5404\u79cd\u5361\uff0c\u4e00\u4e2a\u5305\u5305\u5c31\u53ef\u4ee5\u5e2e\u4f60\u515c\u7740\u8d70\u2605\u2605\u6302\u7ef3\u7684\u8bbe\u8ba1\u66f4\u65b9\u4fbf\u643a\u5e26\uff0c\u840c\u59b9\u5b50\u5fc5\u5907\u54e6~\n","figure":"\/1452572108331.jpg"},{"product_id":"3950","channel_id":"3","brand_id":"291","p_catalog_id":"22","name":"\u3010\u957f\u8349\u989c\u6587\u5b57\u3011 \u989c\u8868\u60c5\u5403\u8d27\u7cfb\u5217\u62b1\u6795-\u9762\u5305","cover_price":"69.00","origin_price":"138.00","brief":"O(\u2229_\u2229)O\u840c\u840c\u54d2\u957f\u8349\u989c\u6587\u5b57\u5403\u8d27\u7cfb\u5217\u62b1\u6795\uff0c\u5feb\u6765\u9886\u56de\u5bb6\u3002\u2605\u2605\u53ef\u53e3\u9762\u5305\u2605\u2605\u9999\u55b7\u706b\u817f\u2605\u2605\u8425\u517b\u714e\u86cb\u2605\u2605\u9999\u751c\u51b0\u6dc7\u6dcb\u2605\u2605\u6709\u56db\u79cd\u7f8e\u98df\u53ef\u9009\u54e6\uff0c\u767d\u4e91\u4e00\u6837\u7684\u67d4\u8f6f\uff0c\u53ef\u7231\u7684\u5c0f\u8868\u60c5\uff0c\u5356\u840c\u53c8\u5b9e\u7528\uff0c\u8d76\u5feb\u5e26\u56de\u5bb6\u5427\uff01\r\n","figure":"\/1452567383085.jpg"},{"product_id":"3972","channel_id":"3","brand_id":"291","p_catalog_id":"77","name":"\u3010\u957f\u8349\u989c\u6587\u5b57\u3011\u65e9\u9910\u7cfb\u5217\u96f6\u94b1\u5305-\u725b\u5976","cover_price":"29.50","origin_price":"59.00","brief":"\u840c\u840c\u624e\u96f6\u94b1\u5305\u3002\u8377\u5305\u86cb*\u725b\u5976*\u9762\u5305 \u65e9\u9910\u7cfb\u5217\u4e00\u6837\u90fd\u4e0d\u80fd\u5c11 \u2605\u2605\u96f6\u94b1\u3001\u94a5\u5319\u3001\u94f6\u884c\u5361\u5404\u79cd\u5361\uff0c\u4e00\u4e2a\u5305\u5305\u5c31\u53ef\u4ee5\u5e2e\u4f60\u515c\u7740\u8d70\u2605\u2605\u6302\u7ef3\u7684\u8bbe\u8ba1\u66f4\u65b9\u4fbf\u643a\u5e26\uff0c\u840c\u59b9\u5b50\u5fc5\u5907\u54e6~\r\n","figure":"\/1452571821094.jpg"},{"product_id":"3973","channel_id":"3","brand_id":"291","p_catalog_id":"77","name":"\u3010\u957f\u8349\u989c\u6587\u5b57\u3011\u65e9\u9910\u7cfb\u5217\u96f6\u94b1\u5305-\u8377\u5305\u86cb","cover_price":"26.50","origin_price":"53.00","brief":"~\u840c\u840c\u624e\u96f6\u94b1\u5305\u3002\u8377\u5305\u86cb*\u725b\u5976*\u9762\u5305 \u65e9\u9910\u7cfb\u5217\u4e00\u6837\u90fd\u4e0d\u80fd\u5c11 \u2605\u2605\u96f6\u94b1\u3001\u94a5\u5319\u3001\u94f6\u884c\u5361\u5404\u79cd\u5361\uff0c\u4e00\u4e2a\u5305\u5305\u5c31\u53ef\u4ee5\u5e2e\u4f60\u515c\u7740\u8d70\u2605\u2605\u6302\u7ef3\u7684\u8bbe\u8ba1\u66f4\u65b9\u4fbf\u643a\u5e26\uff0c\u840c\u59b9\u5b50\u5fc5\u5907\u54e6~\r\n","figure":"\/1452571992299.jpg"},{"product_id":"3952","channel_id":"3","brand_id":"291","p_catalog_id":"22","name":"\u3010\u957f\u8349\u989c\u6587\u5b57\u3011 \u989c\u8868\u60c5\u5403\u8d27\u7cfb\u5217\u62b1\u6795-\u714e\u86cb \u3010\u5403\u8d27\u62b1\u6795\u3011","cover_price":"69.00","origin_price":"138.00","brief":"O(\u2229_\u2229)O\u840c\u840c\u54d2\u957f\u8349\u989c\u6587\u5b57\u5403\u8d27\u7cfb\u5217\u62b1\u6795\uff0c\u5feb\u6765\u9886\u56de\u5bb6\u3002\u2605\u2605\u53ef\u53e3\u9762\u5305\u2605\u2605\u9999\u55b7\u706b\u817f\u2605\u2605\u8425\u517b\u714e\u86cb\u2605\u2605\u9999\u751c\u51b0\u6dc7\u6dcb\u2605\u2605\u6709\u56db\u79cd\u7f8e\u98df\u53ef\u9009\u54e6\uff0c\u767d\u4e91\u4e00\u6837\u7684\u67d4\u8f6f\uff0c\u53ef\u7231\u7684\u5c0f\u8868\u60c5\uff0c\u5356\u840c\u53c8\u5b9e\u7528\uff0c\u8d76\u5feb\u5e26\u56de\u5bb6\u5427\uff01\r\n","figure":"\/1452567542960.jpg"},{"product_id":"3986","channel_id":"3","brand_id":"291","p_catalog_id":"26","name":"\u3010\u957f\u8349\u989c\u6587\u5b57\u3011\u539f\u521b\u5c0f\u9ec4\u9e21\u624b\u529e\u6302\u4ef6\u989c\u8868\u60c5\u5495\u5495\u9e21\u52a8\u6f2b\u5468\u8fb9\u6bdb\u7ed2\u6302\u9970","cover_price":"39.00","origin_price":"55.00","brief":"\uff08\u6700\u70ab\u7684\u5c0f\u9e21\u98ce\uff09\u4f31\u662f\u6211\u5929\u8fb9\u671f\u5f85\u7684\u5c0f\u9e21\uff0c\u600e\u4e48\u6ca1\u5c31\u628a\u4f60\u62b1\u56de\u6765~\u5b9d\u8d1d\u9009\u7528\u4f18\u8d28\u6c34\u6676\u77ed\u6bdb\u7ed2\uff0c\u4f18\u8d28\u586b\u5145PP\u68c9\uff0c\u4f7f\u5b9d\u8d1d\u6293\u5728\u624b\u91cc\u6709\u826f\u597d\u7684\u624b\u611f","figure":"\/1452586743274.jpg"},{"product_id":"4129","channel_id":"3","brand_id":"291","p_catalog_id":"29","name":"\u3010\u957f\u8349\u989c\u6587\u5b57\u3011 \u7334\u5e74\u5409\u7965\u624b\u529e\u516c\u4ed4","cover_price":"58.00","origin_price":"139.00","brief":"\u3010\u65b0\u5e74\u9001\u793c\u7cbe\u9009\u30112016\u7334\u5e74\u5409\u7965\u516c\u4ed4 \u840c\u840c\u7684\u5c0f\u8138\u86cb\u6e29\u6696\u6211\u7684\u5fc3\u7a9d\uff0c\u70b9\u4eae\u5fc3\u4e2d\u7684\u706b\uff0c\u706b\u706b\u706b..\u62b1\u7740\u7231\u4e0d\u91ca\u624b\u2605\u2605_\u53ef\u7231\u7684\u5c0f\u7334\u5b50\u65e2\u662f\u516c\u4ed4\u73a9\u5076\u4e5f\u53ef\u505a\u62b1\u6795\u800c\u4e14\u8f6f\u8f6f\u7684\u662f\u634f\u634f\u65cf\u7684\u631a\u7231\u3002","figure":"\/1453097472754.jpg"},{"product_id":"3949","channel_id":"3","brand_id":"291","p_catalog_id":"22","name":"\u3010\u957f\u8349\u989c\u6587\u5b57\u3011 \u989c\u8868\u60c5\u5403\u8d27\u7cfb\u5217\u62b1\u6795-\u706b\u817f\u80a0","cover_price":"69.00","origin_price":"138.00","brief":"O(\u2229_\u2229)O\u840c\u840c\u54d2\u957f\u8349\u989c\u6587\u5b57\u5403\u8d27\u7cfb\u5217\u62b1\u6795\uff0c\u5feb\u6765\u9886\u56de\u5bb6\u3002\u2605\u2605\u53ef\u53e3\u9762\u5305\u2605\u2605\u9999\u55b7\u706b\u817f\u2605\u2605\u8425\u517b\u714e\u86cb\u2605\u2605\u9999\u751c\u51b0\u6dc7\u6dcb\u2605\u2605\u6709\u56db\u79cd\u7f8e\u98df\u53ef\u9009\u54e6\uff0c\u767d\u4e91\u4e00\u6837\u7684\u67d4\u8f6f\uff0c\u53ef\u7231\u7684\u5c0f\u8868\u60c5\uff0c\u5356\u840c\u53c8\u5b9e\u7528\uff0c\u8d76\u5feb\u5e26\u56de\u5bb6\u5427\uff01\r\n","figure":"\/1452567115263.jpg"},{"product_id":"3956","channel_id":"3","brand_id":"291","p_catalog_id":"26","name":"\u3010\u957f\u8349\u989c\u6587\u5b57\u3011 \u56e2\u5b50\u70b8\u9e21\u5757\u541b\u6bdb\u7ed2\u6302\u9970","cover_price":"19.80","origin_price":"39.60","brief":"\u5927\u6ce2\u5927\u6ce2\u840c\u8d27\u6765\u88adO(\u2229_\u2229)O \u840c\u840c\u54d2\u957f\u8349\u989c\u6587\u5b57\u5c0f\u56e2\u5b50\u73a9\u5076\u516c\u4ed4 \u5f00\u5fc3 \u53ef\u7231 \u751f\u6c14 \u59d4\u5c48\u6b3e\u6b3e\u90fd\u6709~\u8868\u60c5\u63a7\u4eec\u5feb\u5feb\u6536\u4e86\u5b83\u5427\uff0c\u7136\u540e\u4e00\u8d77\u53bb\u840c\u904d\u5927\u8857\u5c0f\u5df7\u54d2\u54d2\u54d2~\r\n","figure":"\/1452568739543.jpg"},{"product_id":"3948","channel_id":"3","brand_id":"291","p_catalog_id":"22","name":"\u3010\u957f\u8349\u989c\u6587\u5b57\u3011 \u989c\u8868\u60c5\u5403\u8d27\u7cfb\u5217\u62b1\u6795-\u51b0\u6fc0\u51cc","cover_price":"69.00","origin_price":"138.00","brief":"O(\u2229_\u2229)O\u840c\u840c\u54d2\u957f\u8349\u989c\u6587\u5b57\u5403\u8d27\u7cfb\u5217\u62b1\u6795\uff0c\u5feb\u6765\u9886\u56de\u5bb6\u3002\u2605\u2605\u53ef\u53e3\u9762\u5305\u2605\u2605\u9999\u55b7\u706b\u817f\u2605\u2605\u8425\u517b\u714e\u86cb\u2605\u2605\u9999\u751c\u51b0\u6dc7\u6dcb\u2605\u2605\u6709\u56db\u79cd\u7f8e\u98df\u53ef\u9009\u54e6\uff0c\u767d\u4e91\u4e00\u6837\u7684\u67d4\u8f6f\uff0c\u53ef\u7231\u7684\u5c0f\u8868\u60c5\uff0c\u5356\u840c\u53c8\u5b9e\u7528\uff0c\u8d76\u5feb\u5e26\u56de\u5bb6\u5427\uff01","figure":"\/1452566540142.jpg"},{"product_id":"3961","channel_id":"3","brand_id":"291","p_catalog_id":"26","name":"\u3010\u957f\u8349\u989c\u6587\u5b57\u3011 \u5403\u8d27\u6302\u4ef6-\u714e\u86cb","cover_price":"39.00","origin_price":"65.00","brief":"O(\u2229_\u2229)O\u840c\u840c\u54d2\u957f\u8349\u989c\u6587\u5b57\u5403\u8d27\u7cfb\u5217\u6302\u4ef6\uff0c\u5feb\u6765\u9886\u56de\u5bb6\u3002\u2605\u2605\u53ef\u53e3\u9762\u5305\u2605\u2605\u9999\u55b7\u706b\u817f\u2605\u2605\u8425\u517b\u714e\u86cb\u2605\u2605\u9999\u751c\u51b0\u6dc7\u6dcb\u2605\u2605\u6709\u56db\u79cd\u7f8e\u98df\u53ef\u9009\u54e6\uff0c\u767d\u4e91\u4e00\u6837\u7684\u67d4\u8f6f\uff0c\u53ef\u7231\u7684\u5c0f\u8868\u60c5\uff0c\u5356\u840c\u53c8\u5b9e\u7528\uff0c\u8d76\u5feb\u5e26\u56de\u5bb6\u5427\uff01","figure":"\/1452569644568.jpg"},{"product_id":"4130","channel_id":"3","brand_id":"291","p_catalog_id":"26","name":"\u3010\u957f\u8349\u989c\u6587\u5b57\u3011 \u840c\u7cfb\u7334\u5e74\u516c\u4ed4\u6302\u4ef6","cover_price":"39.00","origin_price":"78.00","brief":"\u3010\u7334\u5e74\u5fc5\u5907\u793c\u3011\u8ba9\u5446\u840c\u7684\u5409\u7965\u7334\u5b50\u6765\u840c\u7ffb\u4f60\u76842016 \u806a\u660e\u673a\u667a\u5982\u4f60\u54df~\u8d70\u4eb2\u670b\u63a2\u597d\u53cb\uff0c\u634e\u4e0a\u51e0\u53ea\u7334\u6302\u4ef6\uff0c\u90a3\u5fc3\u60c5\u5e94\u8be5\u76f8\u5f53\u7f8e\u7f8e\u54d2\u5427","figure":"\/1453097733130.jpg"},{"product_id":"3960","channel_id":"3","brand_id":"291","p_catalog_id":"26","name":"\u3010\u957f\u8349\u989c\u6587\u5b57\u3011 \u5403\u8d27\u6302\u4ef6-\u51b0\u6fc0\u51cc","cover_price":"40.80","origin_price":"68.00","brief":"O(\u2229_\u2229)O\u840c\u840c\u54d2\u957f\u8349\u989c\u6587\u5b57\u5403\u8d27\u7cfb\u5217\u6302\u4ef6\uff0c\u5feb\u6765\u9886\u56de\u5bb6\u3002\u2605\u2605\u53ef\u53e3\u9762\u5305\u2605\u2605\u9999\u55b7\u706b\u817f\u2605\u2605\u8425\u517b\u714e\u86cb\u2605\u2605\u9999\u751c\u51b0\u6dc7\u6dcb\u2605\u2605\u6709\u56db\u79cd\u7f8e\u98df\u53ef\u9009\u54e6\uff0c\u767d\u4e91\u4e00\u6837\u7684\u67d4\u8f6f\uff0c\u53ef\u7231\u7684\u5c0f\u8868\u60c5\uff0c\u5356\u840c\u53c8\u5b9e\u7528\uff0c\u8d76\u5feb\u5e26\u56de\u5bb6\u5427\uff01\r\n","figure":"\/1452569485348.jpg"},{"product_id":"3964","channel_id":"3","brand_id":"291","p_catalog_id":"26","name":"\u3010\u957f\u8349\u989c\u6587\u5b57\u3011 \u5403\u8d27\u6302\u4ef6-\u9762\u5305","cover_price":"39.00","origin_price":"65.00","brief":"O(\u2229_\u2229)O\u840c\u840c\u54d2\u957f\u8349\u989c\u6587\u5b57\u5403\u8d27\u7cfb\u5217\u6302\u4ef6\uff0c\u5feb\u6765\u9886\u56de\u5bb6\u3002\u2605\u2605\u53ef\u53e3\u9762\u5305\u2605\u2605\u9999\u55b7\u706b\u817f\u2605\u2605\u8425\u517b\u714e\u86cb\u2605\u2605\u9999\u751c\u51b0\u6dc7\u6dcb\u2605\u2605\u6709\u56db\u79cd\u7f8e\u98df\u53ef\u9009\u54e6\uff0c\u767d\u4e91\u4e00\u6837\u7684\u67d4\u8f6f\uff0c\u53ef\u7231\u7684\u5c0f\u8868\u60c5\uff0c\u5356\u840c\u53c8\u5b9e\u7528\uff0c\u8d76\u5feb\u5e26\u56de\u5bb6\u5427\uff01","figure":"\/1452569983986.jpg"},{"product_id":"3962","channel_id":"3","brand_id":"291","p_catalog_id":"26","name":"\u3010\u957f\u8349\u989c\u6587\u5b57\u3011 \u5403\u8d27\u6302\u4ef6-\u706b\u817f\u80a0","cover_price":"40.80","origin_price":"68.00","brief":"O(\u2229_\u2229)O\u840c\u840c\u54d2\u957f\u8349\u989c\u6587\u5b57\u5403\u8d27\u7cfb\u5217\u6302\u4ef6\uff0c\u5feb\u6765\u9886\u56de\u5bb6\u3002\u2605\u2605\u53ef\u53e3\u9762\u5305\u2605\u2605\u9999\u55b7\u706b\u817f\u2605\u2605\u8425\u517b\u714e\u86cb\u2605\u2605\u9999\u751c\u51b0\u6dc7\u6dcb\u2605\u2605\u6709\u56db\u79cd\u7f8e\u98df\u53ef\u9009\u54e6\uff0c\u767d\u4e91\u4e00\u6837\u7684\u67d4\u8f6f\uff0c\u53ef\u7231\u7684\u5c0f\u8868\u60c5\uff0c\u5356\u840c\u53c8\u5b9e\u7528\uff0c\u8d76\u5feb\u5e26\u56de\u5bb6\u5427\uff01","figure":"\/1452569796311.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_24.json b/S202014040230郭刘芊/atguigu/json/urls_24.json
new file mode 100644
index 0000000..29268ac
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_24.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"4627","channel_id":"4","brand_id":"23","p_catalog_id":"82","name":"\u3010\u6f2b\u8e2a\u3011 \u8230\u961fcollection\u8fde\u88c5\u70ae\u9171\u5355\u80a9\u5305\u8230\u5a18\u6e38\u620f\u5468\u8fb9\u52a8\u6f2b\u659c\u630e\u5305","cover_price":"94.40","origin_price":"118.00","brief":"","figure":"\/1455703586918.jpg"},{"product_id":"10368","channel_id":"4","brand_id":"477","p_catalog_id":"56","name":"\u3010UDZ\u3011\u7537\u6b3e \u6e38\u620f \u5b9a\u5236ADC\u4e0e\u8f85\u52a9","cover_price":"48.99","origin_price":"69.00","brief":"\u6ce8\u610f\uff1a\u62cd\u4e0b\u8bf7\u5907\u6ce8\u989c\u8272\uff0c\u4e0d\u5907\u6ce8\u968f\u673a\u53d1\u8d27\uff01UDZ\u4f18\u5b9a\u5236\u82f1\u96c4\u8054\u76df\u6e38\u620f\u5370\u82b1\u7eaf\u68c9\u5b9a\u5236T\u6064","figure":"\/supplier\/1477903211466.png"},{"product_id":"10557","channel_id":"9","brand_id":"5","p_catalog_id":"93","name":"\u3010\u7535\u5b50\u7968\u3011\u3010\u5e1d\u90fd\u3011IDO 20 \u52a8\u6f2b\u6e38\u620f\u5609\u5e74\u534e","cover_price":"50.00","origin_price":"0.00","brief":"","figure":"\/1478596679261.jpg"},{"product_id":"4746","channel_id":"3","brand_id":"5","p_catalog_id":"101","name":"\u3010\u840c\u5947\u3011Mr\uff0eleaf \u9b54\u9b3c\u732b-\u97f3\u9b54\u8033\u673a\u5934\u6234\u5f0f\u91cd\u4f4e\u97f3 \u624b\u673a\u7535\u8111\u6e38\u620f\u8033\u9ea6\u5e26\u8bdd\u7b52","cover_price":"168.00","origin_price":"386.00","brief":"\u5934\u6234\u5f0f\u8033\u673a \u8212\u9002\u4e4b\u9009 \u91cd\u4f4e\u97f3 \u624b\u673a\u7535\u8111\u6e38\u620f \u8033\u9ea6","figure":"\/1459306999997.jpg"},{"product_id":"10243","channel_id":"4","brand_id":"456","p_catalog_id":"79","name":"\u3010SHAMOE\u5c1a\u840c\u3011\u5b88\u671b\u5148\u950b overwatch D.Va \u5b8b\u54c8\u5a1c \u52a8\u6f2b\u6e38\u620f\u53cc\u80a9\u5305 \u5b66\u751f\u4e66\u5305\u4f11\u95f2\u5305","cover_price":"102.40","origin_price":"128.00","brief":"\u4e0b\u5355\u540e 1-3\u4e2a\u5de5\u4f5c\u65e5\u5185\u53d1\u8d27\u5662\u266a(^\u2207^*)","figure":"\/supplier\/1477537730880.jpg"},{"product_id":"6746","channel_id":"8","brand_id":"396","p_catalog_id":"52","name":"\u3010MIXX\u3011\u5200\u5251\u4e71\u821e\u6e38\u620fT\u6064 \u4e09\u65e5\u6708\u5b97\u8fd1\u7237\u7237 \u7537\u5973\u77ed\u8896","cover_price":"99.00","origin_price":"198.00","brief":"\u8fd9\u6b21MIXX\u9009\u53d6\u7684\u662f\u5200\u5251\u4e71\u821e\u7cfb\u5217\u4e2d\u7684\u4eba\u6c14\u89d2\u8272\u4e09\u65e5\u6708\u5b97\u8fd1\u7237\u7237\u7684\u4eba\u8bbe\u4e3a\u4e3b\u8981\u8bbe\u8ba1\u70b9\uff0c\u540c\u65f6\u6211\u4eec\u52a0\u4e0a\u65e5\u672c\u7684\u539f\u5bbf\u98ce\u683c\uff0c\u8ba9\u6574\u4ef6\u8863\u670d\u7684\u54c1\u8d28\u72ec\u5177\u4e00\u683c\u3002","figure":"\/supplier\/1467345360211.jpg"},{"product_id":"6078","channel_id":"4","brand_id":"254","p_catalog_id":"26","name":"\u3010\u6f2b\u8e2a\u3011\u539f\u521b\u54b8\u9c7c\u79cb\u5200\u9c7c\u62b1\u6795\u6076\u641e \u6e38\u620f\u6bdb\u7ed2\u73a9\u5076 \u94a5\u5319\u6263\u6302\u4ef6","cover_price":"6.90","origin_price":"11.10","brief":"\u9884\u552e\u671f\u81f310\u670812\u65e5\uff0c\u51fa\u8d27\u540e\u5c06\u6309\u8ba2\u5355\u987a\u5e8f\u5b89\u6392\u53d1\u8d27\u5662~","figure":"\/1461566211452.jpg"},{"product_id":"5224","channel_id":"11","brand_id":"5","p_catalog_id":"40","name":"\u3010\u6b6a\u74dc\u51fa\u54c1\u3011\u6f2b\u753b\u7279\u6548\u9f20\u6807\u57ab \u4e13\u4e1a\u7ea7\u81ea\u5e26\u5149\u73af\u7279\u6548\u6e38\u620f\u63d0\u5347\u7248\u6444\u5f71\u9053\u5177","cover_price":"16.00","origin_price":"19.00","brief":"\u5206\u5206\u949f\u8ba9\u5404\u79cd\u4e1c\u897f\u53d8\u7684\u5389\u5bb3\u8d77\u6765\u7684\u9f20\u6807\u57ab\u554a\uff0c\u7b80\u76f4\u9759\u7269\u6444\u5f71\u795e\u5668\uff0c\u5206\u5206\u949f\u8ba9\u4f60\u6b65\u5165\u4e13\u4e1a\u7ea7\u6444\u5f71\u5e08\u884c\u5217\uff01","figure":"\/1457665589090.jpg"},{"product_id":"1353","channel_id":"4","brand_id":"182","p_catalog_id":"33","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u5200\u5251\u4e71\u821e-ONLINE- \u6e38\u620f\u57ab \u9f20\u6807\u57ab \u684c\u57ab","cover_price":"70.00","origin_price":"70.00","brief":"\u9884\u8ba116\u5e745\u6708\u4e2d\u4e0b\u65ec\u5230","figure":"\/1445411477129.jpg"},{"product_id":"7631","channel_id":"4","brand_id":"100","p_catalog_id":"24","name":"\u5251\u7f513 \u300a\u6d17\u5fc3\u95ee\u5251\u00b7\u58f9\u300b \u8d60\u4e13\u5c5e\u8d85\u503c\u6e38\u620f\u9053\u5177\u201c\u7075\u8fd0\u73af\u201d \u71d5\u5792\u751f \u6b63\u7edf\u4fa0\u4e49\u7cbe\u795e\u625b\u9f0e\u4e4b\u4f5c \u7ef5\u7ef5\u516d\u5e74\u6c5f\u6e56\u60c5 \u4e0d\u5fd8\u521d\u5fc3","cover_price":"26.00","origin_price":"36.00","brief":"","figure":"\/1467172647788.jpg"},{"product_id":"998","channel_id":"12","brand_id":"95","p_catalog_id":"73","name":"\u3010\u7f51\u6613\u6b63\u7248\u3011\u5927\u8bdd \u94f6\u8033\u73af-\u6708\u4e0b\u7075\u72d0","cover_price":"50.00","origin_price":"68.00","brief":"","figure":"\/1442212106474.jpg"},{"product_id":"1001","channel_id":"12","brand_id":"95","p_catalog_id":"73","name":"\u3010\u7f51\u6613\u6b63\u7248\u3011\u5927\u8bdd2\u91d1\u7b8d\u68d2\u540a\u5760","cover_price":"49.00","origin_price":"49.00","brief":"","figure":"\/1441071062748.jpg"},{"product_id":"628","channel_id":"4","brand_id":"95","p_catalog_id":"76","name":"\u3010\u7f51\u6613\u6b63\u7248\u3011\u5927\u8bdd2\u624b\u63d0\u659c\u630e\u5305-\u591c\u6eaa\u7075","cover_price":"148.00","origin_price":"148.00","brief":"","figure":"\/1442212187682.jpg"},{"product_id":"630","channel_id":"4","brand_id":"95","p_catalog_id":"29","name":"\u3010\u7f51\u6613\u6b63\u7248\u3011\u5929\u4e0b3\u5750\u9a91\u5927\u516c\u4ed4-\u62d3\u62d3 \uff08\u767d\u8272\uff09","cover_price":"99.00","origin_price":"99.00","brief":"","figure":"\/1439436989886.jpg"},{"product_id":"999","channel_id":"12","brand_id":"95","p_catalog_id":"73","name":"\u3010\u7f51\u6613\u6b63\u7248\u3011\u68a6\u5e7b\u60c5\u4fa3\u6a80\u6728\u624b\u94fe-\u56de\u98ce\u821e\u96ea","cover_price":"88.00","origin_price":"88.00","brief":"","figure":"\/1446626053210.jpg"},{"product_id":"640","channel_id":"4","brand_id":"95","p_catalog_id":"28","name":"\u3010\u7f51\u6613\u6b63\u7248\u3011\u6e38\u620f\u8868\u60c5\u9676\u74f7\u7897\u4e24\u4ef6\u5957\uff08\u9ec4\u8272\uff09","cover_price":"39.00","origin_price":"39.00","brief":"","figure":"\/1439438651246.jpg"},{"product_id":"638","channel_id":"4","brand_id":"95","p_catalog_id":"31","name":"\u3010\u7f51\u6613\u6b63\u7248\u3011\u6e38\u620f\u8868\u60c5\u8ff7\u4f60\u4fbf\u643a\u5c0f\u98ce\u6247 \uff08\u7eff\u8272\uff09 \u590f\u65e5\u51fa\u884c","cover_price":"15.00","origin_price":"15.00","brief":"","figure":"\/1439438244685.jpg"},{"product_id":"644","channel_id":"4","brand_id":"95","p_catalog_id":"28","name":"\u3010\u7f51\u6613\u6b63\u7248\u3011\u6e38\u620f\u8868\u60c5\u9676\u74f7\u7897\u4e24\u4ef6\u5957 \uff08\u767d\u8272\uff09","cover_price":"39.00","origin_price":"39.00","brief":"","figure":"\/1439438953277.jpg"},{"product_id":"652","channel_id":"4","brand_id":"95","p_catalog_id":"29","name":"\u3010\u7f51\u6613\u6b63\u7248\u3011\u5356\u840c\u7cfb\u5217\u4e4b\u6e38\u620f\u8868\u60c5#18\u62b1\u6795","cover_price":"58.00","origin_price":"58.00","brief":"","figure":"\/1447148763425.jpg"},{"product_id":"637","channel_id":"4","brand_id":"95","p_catalog_id":"104","name":"\u3010\u7f51\u6613\u6b63\u7248\u3011\u68a6\u5e7b\u6237\u5916\u8fd0\u52a8\u81c2\u5305-\u591c\u884c\u4fa0","cover_price":"28.00","origin_price":"28.00","brief":"","figure":"\/1447153453500.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"1"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_25.json b/S202014040230郭刘芊/atguigu/json/urls_25.json
new file mode 100644
index 0000000..339c75c
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_25.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"2879","channel_id":"8","brand_id":"178","p_catalog_id":"76","name":"ISOS\u539f\u521b\u68ee\u7cfb\u751c\u7f8e\u5370\u82b1\u5355\u80a9\u659c\u630e\u5305\u5c0f\u65b9\u5305","cover_price":"59.00","origin_price":"59.00","brief":"","figure":"\/1447903575122.jpg"},{"product_id":"1317","channel_id":"8","brand_id":"178","p_catalog_id":"76","name":"\u539f\u521b\u8bbe\u8ba1ISOS\u68ee\u7cfb\u590d\u53e4\u5355\u80a9\u5305\u7ee3\u82b1\u5c0f\u9e1f\u751c\u7f8e\u659c\u8de8\u5c0f\u5305","cover_price":"98.00","origin_price":"98.00","brief":"
<\/a>","figure":"\/1441702026328.jpg"},{"product_id":"2835","channel_id":"8","brand_id":"178","p_catalog_id":"76","name":"ISOS\u539f\u521bvintage\u523a\u7ee3\u5355\u80a9\u5305\u624b\u63d0\u659c\u8de8\u5305","cover_price":"118.00","origin_price":"118.00","brief":"","figure":"\/1447741774568.jpg"},{"product_id":"4560","channel_id":"8","brand_id":"178","p_catalog_id":"82","name":"\u3010ISOS\u3011 \u68ee\u7cfb\u53ef\u7231 \u590d\u53e4 \u5355\u80a9\u5305","cover_price":"108.00","origin_price":"148.00","brief":"","figure":"\/1455528800732.png"},{"product_id":"1316","channel_id":"8","brand_id":"178","p_catalog_id":"76","name":"ISOS\u539f\u521b\u5973\u5305\u68ee\u7cfb\u6587\u827a\u8303\u6e05\u65b0\u5370\u82b1\u523a\u7ee3\u5355\u80a9\u659c\u8de8\u5973\u5305\u53cc\u80a9\u5305","cover_price":"138.00","origin_price":"138.00","brief":"
<\/a>","figure":"\/1441701271917.jpg"},{"product_id":"2881","channel_id":"8","brand_id":"178","p_catalog_id":"76","name":"ISOS\u539f\u68ee\u7cfb\u5370\u82b1\u53ef\u7231\u751c\u7f8e\u9e66\u9e49\u62fc\u63a5\u7fc5\u8180\u5305","cover_price":"118.00","origin_price":"118.00","brief":"","figure":"\/1447904724654.jpg"},{"product_id":"5681","channel_id":"8","brand_id":"178","p_catalog_id":"82","name":"\u3010ISOS\u3011 \u539f\u521b \u751c\u7f8e\u53ef\u7231\u68ee\u7cfb\u590d\u53e4\u5370\u82b1\u5c0f\u65b9\u5305\u659c\u8de8\u5305\u5355\u80a9\u5305\u5973\u58eb\u5305","cover_price":"108.00","origin_price":"188.00","brief":"","figure":"\/1459244102585.png"},{"product_id":"1331","channel_id":"8","brand_id":"178","p_catalog_id":"76","name":"ISOS\u539f\u521b\u68ee\u5973\u7cfb\u751c\u7f8e\u53ef\u7231\u5370\u82b1\u659c\u630e\u523a\u7ee3\u5c0f\u9e7f\u5706\u5355\u80a9\u5305","cover_price":"88.00","origin_price":"88.00","brief":"","figure":"\/1441768803916.jpg"},{"product_id":"3842","channel_id":"8","brand_id":"178","p_catalog_id":"76","name":"ISOS\u539f\u521b \u68ee\u7cfb\u5c0f\u6e05\u65b0 \u4f01\u9e45\u5355\u80a9\u5305\u659c\u8de8\u5305","cover_price":"65.00","origin_price":"65.00","brief":"","figure":"\/1451892252653.jpg"},{"product_id":"1540","channel_id":"8","brand_id":"178","p_catalog_id":"76","name":"ISOS\u539f\u521b\u5973\u5305\u751c\u7f8e\u53ef\u7231\u6dd1\u5973\u7ee3\u82b1\u5c0f\u9e7f\u5973\u5305","cover_price":"118.00","origin_price":"118.00","brief":"","figure":"\/1442827291184.jpg"},{"product_id":"4584","channel_id":"8","brand_id":"178","p_catalog_id":"82","name":"\u3010ISOS\u3011 \u751c\u7f8e\u6e05\u65b0\u5370\u82b1\u5c0f\u5305\u5355\u80a9\u659c\u8de8\u5305\u9a6c\u978d\u5305","cover_price":"88.00","origin_price":"128.00","brief":"","figure":"\/1455610972270.png"},{"product_id":"2832","channel_id":"8","brand_id":"178","p_catalog_id":"76","name":"ISOS\u539f\u521b\u8bbe\u8ba1 \u751c\u7f8e\u53ef\u7231\u68ee\u7cfb\u5370\u82b1\u5355\u80a9\u659c\u8de8\u5305\u624b\u63d0\u5305\u5973\u58eb\u5305","cover_price":"108.00","origin_price":"108.00","brief":"","figure":"\/1447732345223.jpg"},{"product_id":"5650","channel_id":"8","brand_id":"178","p_catalog_id":"82","name":"\u3010ISOS\u3011 \u539f\u521b\u8bbe\u8ba1 \u751c\u7f8e\u6dd1\u5973\u5370\u82b1\u9e2d\u5b50\u751c\u5355\u80a9\u659c\u8de8\u5305\u94fe\u6761\u5305\u5c0f\u65b9\u5305","cover_price":"108.00","origin_price":"168.00","brief":"","figure":"\/1459219437816.png"},{"product_id":"4582","channel_id":"8","brand_id":"178","p_catalog_id":"82","name":"\u3010ISOS\u3011 \u7ee3\u82b1\u5c0f\u9e1f\u68ee\u7cfb\u751c\u7f8e\u6dd1\u5973\u5355\u80a9\u659c\u630e\u624b\u63d0\u5305","cover_price":"108.00","origin_price":"148.00","brief":"\u4e03\u6708\u4e2d\u65ec\u53d1\u8d27","figure":"\/1455610201833.png"},{"product_id":"5646","channel_id":"8","brand_id":"178","p_catalog_id":"79","name":"\u3010ISOS\u3011\u65b0\u6b3e \u5b66\u9662\u98ce\u5305\u5305 \u5b66\u751f\u4e66\u5305 \u53ef\u7231\u4f11\u95f2\u97e9\u7248\u53cc\u80a9\u5305\u5973PU\u80cc\u5305","cover_price":"138.00","origin_price":"188.00","brief":"","figure":"\/1459159615480.png"},{"product_id":"5994","channel_id":"8","brand_id":"178","p_catalog_id":"82","name":"\u3010ISOS\u3011 ENSSO\u539f\u521b \u5c0f\u6e05\u65b0\u6b3e\u68ee\u7cfb\u523a\u7ee3\u5c0f\u65b9\u5305\u53ef\u7231\u5355\u80a9\u5305","cover_price":"118.00","origin_price":"168.00","brief":"","figure":"\/1460960946762.png"},{"product_id":"4865","channel_id":"8","brand_id":"178","p_catalog_id":"82","name":"\u3010ISOS\u3011 ISOS\u539f\u521b \u751c\u7f8e\u6dd1\u5973 \u8d1d\u62c9\u732b \u8d1d\u58f3\u5305 \u5355\u80a9\u5305","cover_price":"108.00","origin_price":"158.00","brief":"\u4e03\u6708\u4e2d\u65ec\u53d1\u8d27","figure":"\/1456803491198.png"},{"product_id":"1328","channel_id":"8","brand_id":"178","p_catalog_id":"76","name":"ISOS\u539f\u521b\u590d\u53e4\u53cc\u80a9\u5b66\u751f\u4e66\u58eb\u5175\u5370\u82b1\u82f1\u4f26\u5b66\u9662\u98ce\u5927\u5305","cover_price":"148.00","origin_price":"148.00","brief":"<\/span>\u00a0<\/p>","figure":"\/1441768007825.jpg"},{"product_id":"5685","channel_id":"8","brand_id":"178","p_catalog_id":"82","name":"\u3010ISOS\u3011 ENSSO \u65b0\u6b3e \u5154\u5b50\u5370\u82b1\u68ee\u5973\u590d\u53e4\u5355\u80a9\u5305\u659c\u630e\u5305\u5c0f\u5305\u94fe\u6761\u5305","cover_price":"118.00","origin_price":"168.00","brief":"","figure":"\/1459245209430.png"},{"product_id":"4861","channel_id":"8","brand_id":"178","p_catalog_id":"82","name":"\u3010ISOS\u3011 ISOS\u539f\u521b \u751c\u7f8e\u6dd1\u5973 \u68ee\u7cfb\u7fc5\u8180\u5305\u9542\u7a7a\u5355\u80a9\u5305","cover_price":"118.00","origin_price":"168.00","brief":"\u4e03\u6708\u4e2d\u65ec\u53d1\u8d27","figure":"\/1456802841958.png"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_26.json b/S202014040230郭刘芊/atguigu/json/urls_26.json
new file mode 100644
index 0000000..5f1d819
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_26.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"2779","channel_id":"3","brand_id":"78","p_catalog_id":"33","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u6b63\u7248 Vsinger \u6d1b\u5929\u4f9d\\\u4e50\u6b63\u7eeb\\\u8a00\u548c \u900f\u660eA4\u6587\u4ef6\u5939","cover_price":"50.00","origin_price":"50.00","brief":"\u7edd\u5bf9\u840c\u57df\u643a\u624bVsinger\uff0c\u63a8\u51fa\u6b4c\u59ec\u7cfb\u5217\u5355\u7247\u6587\u4ef6\u5939\u3002\u5e73\u65f6\u7684\u8bd5\u5377\u3001\u9700\u8981\u586b\u5199\u7684\u5404\u7c7b\u8868\u683c\u3001\u91cd\u8981\u6587\u4ef6\u7b49\u7b49\uff0c\u653e\u8fdb\u6587\u4ef6\u5939\u59a5\u5584\u4fdd\u7ba1\uff0c\u968f\u53d6\u968f\u7528\u4e0d\u5fc5\u4e1c\u7ffb\u897f\u627e\u3002\u6d1b\u5929\u4f9d\u3001\u4e50\u6b63\u7eeb\u3001\u8a00\u548c\u4e09\u79cd\u6b3e\u5f0f\u53ef\u4f9b\u9009\u62e9\uff0c\u96c6\u9f50\u5168\u5957\u4e09\u6b3e\u52a0\u9001\u7cbe\u7f8e\u5305\u88c5\uff0c\u6574\u7406\u6587\u4ef6\u66f4\u65b9\u4fbf\uff0c\u4ef7\u683c\u4e5f\u4f1a\u4f18\u60e0\u5662\uff5e","figure":"\/1447495490753.jpg"},{"product_id":"2070","channel_id":"8","brand_id":"35","p_catalog_id":"65","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u6697\u6740\u6559\u5ba4 \u6740\u8001\u5e08 \u62c9\u94fe\u7eaf\u68c9\u957f\u8896\u8fde\u5e3d\u536b\u8863\u5916\u5957\u79cb\u51ac","cover_price":"139.00","origin_price":"139.00","brief":"","figure":"\/1449916394423.jpg"},{"product_id":"1603","channel_id":"3","brand_id":"17","p_catalog_id":"83","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u8fdb\u51fb\u7684\u5de8\u4eba \u5175\u957f \u5229\u5a01\u5c14 \u7b49\u8eab\u62b1\u6795 \u6795\u5957","cover_price":"148.00","origin_price":"198.00","brief":"\u4e0d\u542b\u6795\u82af\uff01\r\n\r\n\u5b9a\u5236\u5de5\u671f\u4e3a3-7\u4e2a\u5de5\u4f5c\u65e5\uff0c\u6211\u4eec\u5c06\u5c3d\u5feb\u53d1\u8d27\u54e6\uff01(\u3065\uffe3 3\uffe3)\u3065~\u2665","figure":"\/1442905884037.jpg"},{"product_id":"6972","channel_id":"3","brand_id":"363","p_catalog_id":"90","name":"\u9884\u552e \u3010\u7edd\u5bf9\u840c\u57df\u3011 RE:\u4ece\u96f6\u5f00\u59cb\u7684\u5f02\u4e16\u754c\u751f\u6d3b \u7cbe\u7075 \u5e15\u514b \u4e9a\u514b\u529b\u624b\u673a\u652f\u67b6","cover_price":"28.80","origin_price":"49.80","brief":"\u61d2\u764c\u60a3\u8005\u4e0d\u60f3\u4e3e\u7740\u624b\u673a\u770b\u89c6\u9891\uff1f\u5403\u996d\u65f6\u770b\u52a8\u753b\uff0c\u817e\u4e0d\u51fa\u624b\u63e1\u624b\u673a\uff1f\u5e73\u677f\u7535\u8111\u592a\u91cd\u624b\u9178\u4e86\uff1f\u53ea\u8981\u62e5\u6709\u8fd9\u4e2a\u5c0f\u9053\u5177\uff0c\u95ee\u9898\u8fce\u5203\u800c\u89e3\uff01RE\uff1a0\u52a8\u753b\u7684\u732b\u732b\u7cbe\u7075\u5e15\u514b\u624b\u673a\u652f\u67b6\uff0c\u8fde\u63a5\u5e95\u5ea7\u540e\u7a33\u7a33\u7ad9\u7acb\uff0c\u8ba9\u4f60\u7684\u624b\u673a\u548c\u5e73\u677f\u53d8\u6210\u5c0f\u7535\u89c6\uff0c\u5f7b\u5e95\u89e3\u653e\u53cc\u624b~\u5254\u900f\u5149\u4eae\u7684\u4e9a\u514b\u529b\u73bb\u7483\u6750\u8d28\uff0c\u5e73\u65f6\u653e\u5728\u684c\u4e0a\u4e5f\u662f\u4e00\u4ef6\u53ef\u7231\u7684\u88c5\u9970\u54c1\u3002\r\n","figure":"\/1465699761117.jpg"},{"product_id":"2401","channel_id":"4","brand_id":"23","p_catalog_id":"74","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u8230\u961fcollection \u8230\u5a18 \u5c9b\u98ce \u4f11\u95f2\u9ad8\u5e2e\u5e06\u5e03\u978b","cover_price":"189.00","origin_price":"189.00","brief":"","figure":"\/1445565184788.jpg"},{"product_id":"3639","channel_id":"3","brand_id":"31","p_catalog_id":"74","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u65e0\u5934\u9a91\u58eb\u5f02\u95fb\u5f55 \u7537\u5973\u4f11\u95f2\u978b \u76ae\u9762\u9ad8\u5e2e\u978b\u5b50","cover_price":"320.00","origin_price":"386.00","brief":"\u52a8\u6f2b\u8ff7\u5fc5\u7a7f\u7684\u978b\u5b50~\u65e0\u5934\u9a91\u58eb\u5f02\u95fb\u5f55\u4e3b\u9898\uff0c\u8fd8\u539f\u52a8\u753b\u7684\u8857\u5934\u98ce\u683c\uff0c\u978b\u5b50\u5916\u89c2\u5f3a\u8c03\u201c\u9177\u201d\u7684\u611f\u89c9\uff0c\u5c06\u52a8\u6f2b\u5143\u7d20\u4e0d\u7ecf\u610f\u95f4\u878d\u5165\u521b\u4f5c\u3002\u9ad8\u6863PU\u76ae\u978b\u9762\uff0c\u8868\u9762\u5149\u4eae\u7f8e\u89c2\u3001\u5f88\u4e0a\u6863\u6b21\u3002\u76f8\u6bd4\u666e\u901a\u5e06\u5e03\u978b\u9762\uff0c\u5168\u76ae\u9762\u978b\u5b50\u66f4\u52a0\u4fdd\u6696\u3002\u978b\u5e95\u67d4\u8f6f\u7a7f\u7740\u8212\u9002\uff0c\u786b\u5316\u5de5\u827a\u4ee4\u978b\u5e95\u548c\u978b\u5e2e\u7ed3\u5408\u7262\u56fa\uff0c\u9ad8\u5f3a\u5ea6\u3001\u9ad8\u5f39\u6027\u3001\u6297\u5f2f\u6298\uff0c\u65e0\u8bba\u901b\u8857\u800d\u5e05\u6216\u4f53\u80b2\u953b\u70bc\u90fd\u66f4\u6709\u81ea\u4fe1\u3002\r\n","figure":"\/1450865226075.jpg"},{"product_id":"2532","channel_id":"3","brand_id":"89","p_catalog_id":"74","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u5f39\u4e38\u8bba\u7834 \u9ed1\u767d\u718a \u5c45\u5bb6\u7537\u5973\u6bdb\u7ed2\u5a03\u5a03\u68c9\u62d6\u978b\u5b50\u51ac\u5b63","cover_price":"66.00","origin_price":"66.00","brief":"","figure":"\/1446174344992.jpg"},{"product_id":"1855","channel_id":"3","brand_id":"180","p_catalog_id":"50","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u5e72\u7269\u59b9\u5c0f\u57cb \u571f\u95f4\u57cb Iphone\u624b\u673a\u58f3 -\u7248\u672c4","cover_price":"38.00","origin_price":"38.00","brief":"\u624b\u673a\u58f3\u9700\u8981\u4e00\u5468\u65f6\u95f4\u5b9a\u5236<\/span><\/span>
","figure":"\/1443173876650.jpg"},{"product_id":"1585","channel_id":"3","brand_id":"34","p_catalog_id":"17","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u94f6\u9b42 Gintama \u5742\u7530\u94f6\u65f6 \u6298\u53e0\u4f1e\u75db\u4f1e \u9632\u7d2b\u5916\u7ebf\u6674\u96e8\u4f1e \u590f\u65e5\u51fa\u884c","cover_price":"68.00","origin_price":"68.00","brief":"","figure":"\/1442888777662.jpg"},{"product_id":"2790","channel_id":"4","brand_id":"23","p_catalog_id":"22","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u8230\u961fCollection\u5317\u65b9\u6816\u59ec X \u5e72\u7269\u59b9\u5c0f\u57cb \u5410\u69fd \u62b1\u6795\u65b9\u5f62\u9760\u6795-\u7248\u672c1 \u6d41\u884c\u6897","cover_price":"45.00","origin_price":"45.00","brief":"\u542b\u6795\u82af\uff01\r\n\r\n\u5b9a\u5236\u5de5\u671f\u4e3a3-7\u4e2a\u5de5\u4f5c\u65e5\uff0c\u6211\u4eec\u5c06\u5c3d\u5feb\u53d1\u8d27\u54e6\uff01(\u3065\uffe3 3\uffe3)\u3065~\u2665","figure":"\/1447500691455.jpg"},{"product_id":"1495","channel_id":"4","brand_id":"23","p_catalog_id":"82","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u8230\u961fcollection \u5317\u65b9\u6816\u59ec \u6076\u641e \u4f11\u95f2\u7535\u8111\u5305\u659c\u630e\u5305\u5355\u80a9\u5305","cover_price":"35.00","origin_price":"35.00","brief":"\u5236\u4f5c\u5468\u671f\u4e3a4-7\u65e5\uff0c\u6536\u5230\u8ba2\u5355\u540e\u6211\u4eec\u4f1a\u5c3d\u5feb\u53d1\u8d27\uff0c\u8bf7\u4eb2\u4eec\u8010\u5fc3\u7b49\u5f85 \u2044(\u2044 \u2044\u2022\u2044\u03c9\u2044\u2022\u2044 \u2044)\u2044<\/span>
","figure":"\/1442565637007.jpg"},{"product_id":"7414","channel_id":"3","brand_id":"363","p_catalog_id":"26","name":"\u9884\u552e\u3010\u7edd\u5bf9\u840c\u57df\u3011 RE\uff1a\u4ece\u96f6\u5f00\u59cb\u7684\u5f02\u4e16\u754c\u751f\u6d3b \u857e\u59c6 \u62c9\u59c6 \u827e\u7c73\u8389\u4e9a \u4e9a\u514b\u529b\u94a5\u5319\u6263","cover_price":"26.00","origin_price":"128.00","brief":"\u5f02\u4e16\u754c\u7684\u59b9\u7eb8\u4eec\uff0c\u88ab\u6349\u4f4f\u7684\u8bdd\uff0c\u4f1a\u6709\u600e\u6837\u7684\u53cd\u5e94\u5462\uff1f\u6709\u70b9\u5c0f\u671f\u5f85\u5440\uff01RE\uff1a0\u4e3b\u9898\u5c0f\u6302\u9970\uff0c\u5254\u900f\u5149\u4eae\u7684\u4e9a\u514b\u529b\u73bb\u7483\u6750\u8d28\uff0c\u9632\u5c18\u585e\u624b\u673a\u94fe+\u94a5\u5319\u6263\u88c5\u9970\u4e24\u7528\u578b\u3002\u6bcf\u6b3e\u6302\u9970\u90fd\u753b\u7740\u52a8\u753b\u5973\u4e3b\u89d2\u4eec\u88ab\u6b3a\u8d1f\u7684\u840c\u6837\uff0c\u770b\u4e0a\u53bb\u662f\u88ab\u4f60\u8fd9\u4e2a\u5927\u5de8\u4eba\u7ed9\u634f\u4f4f\u53c8\u62ff\u4e86\u8d77\u6765\uff0c\u975e\u5e38\u53ef\u7231\u6709\u8da3\u3002\r\n","figure":"\/1466494254360.jpg"},{"product_id":"5737","channel_id":"3","brand_id":"20","p_catalog_id":"26","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011 \u521d\u97f3\u672a\u6765 V\u5bb6\u516c\u4e3b\u6bbf\u4e0b \u7c73\u9177\u751c\u54c1\u70b9\u5fc3 \u4e9a\u514b\u529b\u6302\u9970\u6302\u4ef6\u9970\u54c1","cover_price":"108.00","origin_price":"190.00","brief":"\u516c\u4e3b\u6bbf\u4e0b\u6bcf\u5929\u6700\u671f\u76fc\u7684\uff0c\u5c31\u662f\u6d6a\u6f2b\u6e29\u99a8\u7684\u4e0b\u5348\u8336\u65f6\u95f4\u3002\u4ec0\u4e48\u9ad8\u96c5\u7684\u793c\u4eea\u5566\u3001\u94f6\u5236\u7684\u8336\u5177\u5566\u3001\u4f18\u7f8e\u7684\u8f7b\u97f3\u4e50\u5566\uff0c\u516c\u4e3b\u6bbf\u4e0b\u624d\u4e0d\u611f\u5174\u8da3\u5462\u3002\u8336\u4f1a\u4e0a\u5403\u5230\u7f8e\u5473\u7684\u70b9\u5fc3\uff0c\u70b9\u5fc3\u8981\u548c\u81ea\u5df1\u4e00\u6837\u5927\uff0c\u8be5\u591a\u597d\u5440~\u5c0f\u516c\u4e3b\u751c\u54c1\u4e3b\u9898\u4e9a\u514b\u529b\u6302\u9970\uff0c\u6bcf\u4e00\u6b3e\u90fd\u8f6f\u840c\u53ef\u7231\uff0c\u6fc0\u8d77\u4f60\u7684\u7ae5\u5fc3\uff0c\u523a\u6fc0\u4f60\u7684\u5473\u857e\u2014\u2014\u597d\u60f3\u5403\u6389\u5440\u3002\u5f53\u7136\u53ef\u4ee5\u5168\u90e8\u5403\u6389~\u8fd9\u5957\u6302\u9970\u662f\u6574\u5957\u8d29\u552e\u54d2\uff01","figure":"\/1459405566798.jpg"},{"product_id":"5108","channel_id":"8","brand_id":"24","p_catalog_id":"56","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011 \u9ed1\u5ca9\u5c04\u624bBRS \u7eaf\u68c9\u5706\u9886 \u5957\u5934\u957f\u8896T\u6064\u6625\u88c5","cover_price":"98.00","origin_price":"178.00","brief":"\u9ed1\u5ca9\u5c04\u624b\u662f\u65e5\u672c\u753b\u5e08huke\u7b14\u4e0b\u7684\u539f\u521b\u4eba\u7269\u3002\u5979\u8eab\u6750\u7ea4\u957f\u3001\u80a4\u8272\u82cd\u767d\u3001\u5934\u4e0a\u662f\u5de6\u53f3\u957f\u77ed\u4e0d\u4e00\u7684\u53cc\u9a6c\u5c3e\uff0c\u9ed1\u8272\u98ce\u8863\uff0c\u6709\u65f6\u5de6\u773c\u4f1a\u6709\u84dd\u8272\u706b\u7130\u8df3\u52a8\u3002\u65b0\u6b3e\u9ed1\u5ca9\u957f\u8896T\u6064\uff0c\u4e3b\u6253\u7b80\u7ea6\u98ce\u683c\uff0c\u7a7f\u4e0a\u4f11\u95f2\u968f\u610f\uff0c\u5f53\u505a\u5916\u5957\u7684\u6253\u5e95\u886b\u8fd8\u80fd\u7a7f\u51fa\u610f\u60f3\u4e0d\u5230\u7684\u53ef\u7231\r\n","figure":"\/1457329483464.jpg"},{"product_id":"2533","channel_id":"8","brand_id":"113","p_catalog_id":"65","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u91ce\u826f\u795e \u96ea\u97f3 cosplay\u670d\u88c5\u7eaf\u68c9\u8fde\u5e3d\u536b\u8863\u5916\u5957\u7537\u79cb\u51ac","cover_price":"179.00","origin_price":"179.00","brief":"","figure":"\/1446174952079.jpg"},{"product_id":"1405","channel_id":"3","brand_id":"180","p_catalog_id":"17","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u5e72\u7269\u59b9\u5c0f\u57cb \u571f\u95f4\u57cb \u75db\u4f1e \u6674\u96e8\u4f1e \u9632\u7d2b\u5916\u7ebf \u590f\u65e5\u51fa\u884c","cover_price":"53.00","origin_price":"53.00","brief":"","figure":"\/1442312818601.jpg"},{"product_id":"4609","channel_id":"3","brand_id":"23","p_catalog_id":"65","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011 \u8230\u961fcollection\u8230\u5a18\u5929\u6d25\u98ce\u52a8\u6f2b\u5468\u8fb9\u7537\u5973\u7eaf\u68c9\u536b\u8863\u5916\u5957\u6625\u79cb","cover_price":"168.00","origin_price":"265.00","brief":"\u5929\u6d25\u98ce\u6c34\u624b\u670d\u6f14\u53d8\u800c\u6765\u7684\u536b\u8863\uff0c\u53ef\u7231\u597d\u770b\u3001\u6709\u70b9COS\u670d\u7684\u611f\u89c9\u3002\u8fd8\u539f\u5929\u6d25\u98ce\u4eba\u8bbe\u840c\u70b9\u3002\u4e3a\u4e86\u5916\u7a7f\u65f6\u66f4\u52a0\u5f97\u4f53\uff0c\u670d\u88c5\u98ce\u683c\u504f\u5411\u201c\u65e5\u5e38\u4e0e\u4f11\u95f2\u201d\uff0c\u7537\u751f\u3001\u5973\u751f\u90fd\u53ef\u4ee5\u7a7f\u3002\u536b\u8863\u4e3a\u5168\u68c9\u52a0\u539a\u6b3e\uff0c\u4e13\u4e3a\u6015\u51b7\u7684\u5b69\u5b50\u51c6\u5907\uff0c\u6f2b\u957f\u4e25\u51ac\u7ed9\u4f60\u66f4\u591a\u6e29\u6696\u3002","figure":"\/1455679709141.jpg"},{"product_id":"5875","channel_id":"3","brand_id":"356","p_catalog_id":"50","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011 \u6c34\u624b\u670d iphone5s 6s Plus \u624b\u673a\u58f3","cover_price":"38.00","origin_price":"52.00","brief":"\u8eab\u6750\u5a07\u5c0f\uff0c\u603b\u662f\u966a\u5728\u4e3b\u4eba\u8eab\u8fb9\uff0c\u6bcf\u6b21\u89c1\u5230\u5979\uff0c\u4f60\u5c31\u518d\u4e5f\u65e0\u6cd5\u79fb\u5f00\u81ea\u5df1\u7684\u76ee\u5149\uff0c\u4f7f\u7528\u5979\u7684\u65f6\u95f4\u8d85\u8fc7\u4f7f\u7528\u81ea\u5df1\u7684\u53f3\u624b\uff08\uff1f\uff09\u6ca1\u9519\uff0c\u5979\u5c31\u662f\u4f60\u6c38\u8fdc\u4e5f\u79bb\u4e0d\u5f00\u5374\u65f6\u5e38\u88ab\u4f60\u5ffd\u89c6\u7684\u624b\u673a\u5a18\uff01\u53d1\u6325\u4f60\u7684\u6076\u8da3\u5473\uff0c\u7ed9\u624b\u673a\u5a18\u7a7f\u4e0a\u5404\u79cd\u96be\u4e3a\u60c5\u7684\u8863\u670d\u5427~\u7ec5\u58eb\u6362\u88c5\u624b\u673a\u58f3\uff0c\u80fd\u591f\u5728\u4f7f\u7528\u624b\u673a\u65f6\u589e\u6dfb\u60c5\u2640\u8da3\uff0c\u9002\u914d\u7231\u75af5\u30015S\u30016\u30016PLUS\uff0c\u6700\u65b0\u7684SE\u540c\u6837\u9002\u7528\u3002","figure":"\/1460358343504.jpg"},{"product_id":"2393","channel_id":"8","brand_id":"20","p_catalog_id":"65","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011\u521d\u97f3\u672a\u6765 \u96ea\u521d\u97f3 \u7eaf\u68c9\u5f00\u886b\u62c9\u94fe\u8fde\u5e3d\u536b\u8863\u5916\u5957\u79cb\u51ac","cover_price":"159.00","origin_price":"159.00","brief":"","figure":"\/1445508163177.jpg"},{"product_id":"5567","channel_id":"8","brand_id":"343","p_catalog_id":"56","name":"\u3010\u7edd\u5bf9\u840c\u57df\u3011 \u963f\u677e\u5148\u751f \u5c0f\u677e\u91ce \u5c0f\u677e \u7eaf\u68c9\u5706\u9886\u52a8\u6f2bT\u6064\u77ed\u8896 \u7ea2\u8272","cover_price":"58.00","origin_price":"98.00","brief":"\u201c\u5144\u5f1f\u4eec\u90fd\u8fc7\u6765\uff01\u8981\u5ba3\u5e03\u5927\u4e8b\u4e86\uff01\u6211\u4eec\u7684\u5468\u8fb9T\u6064\u5f00\u59cb\u8d29\u552e\u4e86\uff01\u201d\u201c\u771f\u7684\u5417\uff1f\u963f\u677e\u54e5\u54e5\u201d\u201c\u8bf4\u4ec0\u4e48\u5462\uff1f\u6211\u4eec\u8fde\u5de5\u4f5c\u90fd\u6ca1\u6709\uff0c\u4f60\u7761\u7cca\u6d82\u4e86\u5417\uff1f\u201d\u201c\u4e0d\uff01\u5feb\u770b\uff0c\u5c31\u5728\u8fd9\u91cc\u554a\u201d\u201c\u54ce\uff1f\uff01\u8fd9\u4e0d\u662f\u6211\u4eec\u516d\u4e2a\u4eba\u5417\uff1f\u201d\u201c\u53cd\u6b63\u4e00\u4ef6\u4e5f\u5356\u4e0d\u51fa\u53bb\u5566\u201d\u201c\u522b\u90a3\u6837\u8bf4\u554a\u201d\u201c\u7a7f\u4e0a\u4f1a\u88ab\u5f53\u6210\u53d8\u6001\u5427\uff1f\u201d\u201c\u95ed\u5634\uff01\u201d\u603b\u4e4b\uff0c\u677e\u91ce\u5bb6\u7684\u957f\u7537\u548c\u611a\u5f1f\u4eec\u7684T\u6064\uff0c\u4e3a\u60a8\u732e\u4e0a\uff08\u97a0\u8eac\uff09","figure":"\/1464852646053.png"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_27.json b/S202014040230郭刘芊/atguigu/json/urls_27.json
new file mode 100644
index 0000000..b62744e
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_27.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"4425","channel_id":"13","brand_id":"16","p_catalog_id":"48","name":"\u3010\u96ea\u732b\u4e00\u65cf\u3011Aquamarine Fate \u6a31Saber \u51b2\u7530\u603b\u53f8ver. \u624b\u529e \u5168\u6b3e\u9884\u8ba2","cover_price":"691.00","origin_price":"691.00","brief":"\u5df2\u9884\u8ba2\u7684\u5c0f\u4f19\u4f34\u4e0d\u8981\u7740\u6025\uff0c\u73b0\u8d27\u5927\u69827-8\u6708\u4efd\u5230\u8d27\r\n","figure":"\/1454396556530.jpg"},{"product_id":"2733","channel_id":"13","brand_id":"306","p_catalog_id":"48","name":"\u3010\u96ea\u732b\u4e00\u65cf\u3011GSC OR \u5200\u5251\u4e71\u821e \u4e00\u671f\u4e00\u632f \u7c98\u571f\u4eba\u3010\u5168\u6b3e\u9884\u5b9a\u3011","cover_price":"191.00","origin_price":"191.00","brief":"\u672c\u5546\u54c1\u4e3a\u5168\u6b3e\u9884\u5b9a\uff0c\u51fa\u58f3\u65e5\u671f2016\u5e745\u6708","figure":"\/1447398070224.jpg"},{"product_id":"4426","channel_id":"13","brand_id":"16","p_catalog_id":"48","name":"\u3010\u96ea\u732b\u4e00\u65cf\u3011ANIPLEX Fate UBW \u8fdc\u5742\u51db Archer\u670d\u88c5ver. 1\/7 \u5168\u6b3e\u9884\u8ba2","cover_price":"720.00","origin_price":"720.00","brief":"","figure":"\/1454397344369.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_28.json b/S202014040230郭刘芊/atguigu/json/urls_28.json
new file mode 100644
index 0000000..345f872
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_28.json
@@ -0,0 +1 @@
+{"code":200,"msg":"\u8bf7\u6c42\u6210\u529f","result":{"page_data":[{"product_id":"3210","channel_id":"3","brand_id":"182","p_catalog_id":"34","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u63d2\u753b\u4fbf\u7b7e\u8d34\u672c04\u00b7\u963f\u4e9a\u4e9a","cover_price":"28.00","origin_price":"28.00","brief":"","figure":"\/1449136042273.jpg"},{"product_id":"5904","channel_id":"6","brand_id":"182","p_catalog_id":"31","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u300a\u5440\u5440\u300b\u9650\u5b9a\u7b7e\u540d\u7248\u624b\u7ed8\u6298\u624701\u00b7\u5440\u5440 \u590f\u65e5\u51fa\u884c","cover_price":"35.00","origin_price":"35.00","brief":"","figure":"\/1460448906575.jpg"},{"product_id":"3227","channel_id":"3","brand_id":"182","p_catalog_id":"34","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u63d2\u753b\u4fbf\u7b7e\u8d34\u672c03\u00b7\u590f\u5c0f\u9c9f","cover_price":"28.00","origin_price":"49.00","brief":"","figure":"\/1458808122632.jpg"},{"product_id":"358","channel_id":"6","brand_id":"182","p_catalog_id":"31","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u53e4\u98ce\u7cfb\u5217\u7eb8\u8d28\u56e2\u624701\u00b7\u5440\u5440 \u590f\u65e5\u51fa\u884c","cover_price":"20.00","origin_price":"20.00","brief":"","figure":"\/1436519296422.jpg"},{"product_id":"3694","channel_id":"3","brand_id":"182","p_catalog_id":"21","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u65e0\u5934\u9a91\u58eb\u5f02\u95fb\u5f55DuRaRaRa!!\u00d72\u9999\u6c34\u5957\u88c5\uff08\u8d60\u5305\u9970\uff09\u4e34\u4e5f\u6b3e","cover_price":"108.00","origin_price":"128.00","brief":"OVO\uff0c\u544a\u8bc9\u5c0f\u4ed3\uff0c\u4e34\u4e5f\u9999\u4e0d\u9999","figure":"\/1451022551187.jpg"},{"product_id":"1353","channel_id":"4","brand_id":"182","p_catalog_id":"33","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u5200\u5251\u4e71\u821e-ONLINE- \u6e38\u620f\u57ab \u9f20\u6807\u57ab \u684c\u57ab","cover_price":"70.00","origin_price":"70.00","brief":"\u9884\u8ba116\u5e745\u6708\u4e2d\u4e0b\u65ec\u5230","figure":"\/1445411477129.jpg"},{"product_id":"91","channel_id":"3","brand_id":"182","p_catalog_id":"17","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u6298\u4f1e \u55b5\u661f\u4eba\u00b7\u897f\u74dc \u590f\u65e5\u51fa\u884c","cover_price":"69.00","origin_price":"100.00","brief":"","figure":"\/1433836321215.jpg"},{"product_id":"10054","channel_id":"3","brand_id":"100","p_catalog_id":"24","name":"\u9884\u552e\u3010\u6f2b\u53cb\u6587\u5316\u3011\u5168\u804c\u9ad8\u624b5 \u6bc1\u4eba\u4e0d\u5026 \u5168\u65b0\u5178\u85cf\u7248 \u8774\u8776\u84dd \u968f\u4e66\u8d60\u5fae\u8349\u6218\u961f\u8001\u9ec4\u5386+\u7cbe\u7f8e\u5927\u6d77\u62a5 \u5929\u95fb\u89d2\u5ddd","cover_price":"32.00","origin_price":"38.00","brief":"\u9884\u552e\u671f\u81f311\u6708\u4e2d\u65ec\uff0c\u51fa\u8d27\u540e\u6309\u8ba2\u5355\u987a\u5e8f\u5b89\u6392\u53d1\u8d27\u5662~\r\n\u504f\u8fdc\u5730\u533a\u6682\u4e0d\u53c2\u4e0e\u6ee1129\u5305\u90ae\u5662,\u504f\u8fdc\u5730\u533a\u5305\u542b:\uff08\u897f\u85cf\u3001\u65b0\u7586\u3001\u9ed1\u9f99\u6c5f\u3001\u8fbd\u5b81\u3001\u5409\u6797\u3001\u9752\u6d77\u3001\u5b81\u590f\u3001\u7518\u8083\u3001\u5185\u8499\u53e4\u3001\u6e2f\u6fb3\u53f0\u53ca\u6d77\u5916\u5730\u533a\uff09","figure":"\/supplier\/1477287954292.jpg"},{"product_id":"349","channel_id":"4","brand_id":"182","p_catalog_id":"31","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u53e4\u98ce\u7cfb\u5217\u7eb8\u8d28\u56e2\u624715\u00b7\u666f\u6b8a \u590f\u65e5\u51fa\u884c","cover_price":"20.00","origin_price":"20.00","brief":"","figure":"\/1436516724018.jpg"},{"product_id":"346","channel_id":"4","brand_id":"182","p_catalog_id":"27","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u7b52\u88c5\u6a2a\u5e45\u6d77\u62a5\u2022\u666f\u6b8a\u6b3e","cover_price":"25.00","origin_price":"25.00","brief":"\u5546\u54c1\u540d\uff1a\u7b52\u88c5\u6a2a\u5e45\u6d77\u62a5\u00b7\u666f\u6b8a\u6b3e\u5c3a\u5bf8\uff1a1000x243mm\u6750\u8d28\uff1a\u7279\u79cd\u7eb8 \u5546\u54c1\u7b80\u4ecb\uff1a\u5341\u5927\u95e8\u6d3e\u5171\u805a\u6c5f\u6e56\uff0c\u5171\u8c31\u4e00\u66f2\u82f1\u96c4\u610f\uff01\u5929\u95fb\u89d2\u5ddd\u7279\u522b\u63a8\u51fa1\u7c73\u6a2a\u5e45\u5927\u6d77\u62a5\uff0c\u5c06\u5341\u5927\u95e8\u6d3e\u7684\u5973\u4fa0\u6536\u5165\u753b\u5377\uff0c\u5b9b\u5982\u4e00\u5377\u8299\u84c9\u5982\u9762\u67f3\u5982\u7709\u7684\u58ee\u4e3d\u957f\u6b4c\u3002\u5305\u88c5\u91c7\u7528\u5377\u8f74\u8bbe\u8ba1\uff0c\u62ff\u5728\u624b\u4e2d\u4eff\u4f5b\u968f\u65f6\u90fd\u80fd\u7a7f\u8d8a\u5230\u90a3\u5200\u5149\u5251\u5f71\u3001\u4fa0\u9aa8\u67d4\u60c5\u7684\u6b66\u4fa0\u4e16\u754c\uff01","figure":"\/1436514566285.jpg"},{"product_id":"353","channel_id":"6","brand_id":"182","p_catalog_id":"31","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u63d2\u753b\u6298\u624704\u00b7\u897f\u74dc \u590f\u65e5\u51fa\u884c","cover_price":"35.00","origin_price":"35.00","brief":"","figure":"\/1436518711354.jpg"},{"product_id":"3278","channel_id":"3","brand_id":"182","p_catalog_id":"85","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u300a\u753b\u5323\u5b50\u00b7\u590f\u5c0f\u9c9f\u300b\u773c\u955c\u5e03A\u6b3e","cover_price":"18.00","origin_price":"18.00","brief":"","figure":"\/1449222706566.jpg"},{"product_id":"391","channel_id":"6","brand_id":"182","p_catalog_id":"6","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b 8k\u63d2\u753b\u901f\u5199\u677f04\u00b7\u5440\u5440","cover_price":"20.00","origin_price":"20.00","brief":"","figure":"\/1437036655736.jpg"},{"product_id":"384","channel_id":"6","brand_id":"182","p_catalog_id":"28","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u4eff\u74f7\u789f\u5957\u88c504\u00b7Chiya","cover_price":"49.00","origin_price":"49.00","brief":"","figure":"\/1437034082527.jpg"},{"product_id":"3276","channel_id":"12","brand_id":"182","p_catalog_id":"73","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u590d\u53e4\u88c5\u9970\u9879\u94fe06\u00b7Chiya","cover_price":"30.00","origin_price":"30.00","brief":"","figure":"\/1449221972832.jpg"},{"product_id":"7135","channel_id":"3","brand_id":"72","p_catalog_id":"24","name":"\u3010\u65e0\u7279\u5178\u8d34\u7eb8\u3011\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u300a\u5168\u804c\u9ad8\u624b\u300b\u5168\u65b0\u7279\u5178\u72481 \u5957\u9910B","cover_price":"67.00","origin_price":"67.00","brief":"\u5230\u8d27\u65f6\u95f47\u6708\u4e2d\u30026\u670817\u65e520\uff1a00\u20146\u670820\u65e520\uff1a00\u671f\u95f4\u4e0b\u5355\u5b8c\u6210\u652f\u4ed8\u7684\u5747\u6709\u8d34\u7eb8\u7279\u5178\r\n\r\n\u5176\u4f59\u8d2d\u4e70\u65f6\u95f4\u5747\u65e0\u8d34\u7eb8\u7279\u5178\uff0c\u5546\u54c1\u540d\u6539\u52a8\u4e0d\u5f71\u54cd\u7279\u5178\u671f\u95f4\u4e0b\u5355\u7684\u987e\u5ba2\u3002 ","figure":"\/1466424130285.jpg"},{"product_id":"5906","channel_id":"11","brand_id":"182","p_catalog_id":"37","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u6302\u7ef3\u5361\u595705\u00b7\u590f\u5c0f\u9c9f","cover_price":"20.00","origin_price":"20.00","brief":"","figure":"\/1460449593631.jpg"},{"product_id":"5911","channel_id":"11","brand_id":"182","p_catalog_id":"35","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011 \u76f4\u4f9b \u7eb8\u8d28\u6536\u7eb3\u76d201\u00b7\u590f\u5c0f\u9c9f","cover_price":"28.00","origin_price":"28.00","brief":"","figure":"\/1460450861517.jpg"},{"product_id":"357","channel_id":"3","brand_id":"182","p_catalog_id":"34","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u6c6a\u661f\u4eba \u63d2\u753b\u4fbf\u7b7e\u8d34\u672c01\u00b7\u897f\u74dc","cover_price":"28.00","origin_price":"35.00","brief":"","figure":"\/1436519174829.jpg"},{"product_id":"3261","channel_id":"3","brand_id":"182","p_catalog_id":"37","name":"\u3010\u5929\u95fb\u89d2\u5ddd\u3011\u76f4\u4f9b \u63d2\u753b\u5361\u8d34\u5957\u88c505\u00b7\u897f\u74dc","cover_price":"7.00","origin_price":"7.00","brief":"","figure":"\/1449218931623.jpg"}],"catalog_data":false,"brand_data":false,"is_recommended":"0"}}
\ No newline at end of file
diff --git a/S202014040230郭刘芊/atguigu/json/urls_29.json b/S202014040230郭刘芊/atguigu/json/urls_29.json
new file mode 100644
index 0000000..df97ba6
--- /dev/null
+++ b/S202014040230郭刘芊/atguigu/json/urls_29.json
@@ -0,0 +1,233 @@
+{
+ "code": 200,
+ "msg": "请求成功",
+ "result": {
+ "brand_data": false,
+ "catalog_data": false,
+ "is_recommended": "1",
+ "page_data": [
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "6",
+ "cover_price": "9.90",
+ "figure": "/1438946011155.jpg",
+ "name": "【岁月坊】手工本水墨风之墨荷",
+ "origin_price": "15.90",
+ "p_catalog_id": "32",
+ "product_id": "614"
+ },
+ {
+ "brand_id": "5",
+ "brief": "封面材质:250克特种布纹纸彩印(如图带灰色小流苏)内页材质:80克进口木浆牛皮纸彩印 (纯空白内页)内页尺寸:110x177mm(因裁切需要,允许2mm左右误差)装订详情:约70张装入 约8mm左右厚度封底材质:250克特种布纹纸彩印",
+ "channel_id": "6",
+ "cover_price": "9.90",
+ "figure": "/1438946176424.jpg",
+ "name": "【岁月坊】古风线装本 手工本 中国风水墨系列之兰",
+ "origin_price": "15.90",
+ "p_catalog_id": "32",
+ "product_id": "615"
+ },
+ {
+ "brand_id": "5",
+ "brief": " 封面、封底材质为:250克美国牛卡彩印。 尺寸:190*130mm(裁切需要,允许2mm误差) 装订方式:手工线穿装订(配有木珠) 内页为:80克进口木浆牛皮纸 无印刷空白内页(约70张 8mm厚)",
+ "channel_id": "6",
+ "cover_price": "9.90",
+ "figure": "/1438945369715.jpg",
+ "name": "【岁月坊】线装手工本国画系列墨迹·牡丹",
+ "origin_price": "15.90",
+ "p_catalog_id": "32",
+ "product_id": "612"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "6",
+ "cover_price": "12.00",
+ "figure": "/1452829704871.jpg",
+ "name": "【岁月坊】 古文艺手工礼品本 古风.水彩系列之烟色扉然",
+ "origin_price": "19.00",
+ "p_catalog_id": "32",
+ "product_id": "4096"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "11",
+ "cover_price": "10.00",
+ "figure": "/1465975841655.jpg",
+ "name": "【岁月坊】手工线装 中国风 雅韵系列手工本 红梅",
+ "origin_price": "10.00",
+ "p_catalog_id": "32",
+ "product_id": "7071"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "11",
+ "cover_price": "9.90",
+ "figure": "/1466153550265.jpg",
+ "name": "【岁月坊】唯美复古 中国风 线装礼品本 竖线内页款 清莲醉碧渊",
+ "origin_price": "9.90",
+ "p_catalog_id": "32",
+ "product_id": "7222"
+ },
+ {
+ "brand_id": "5",
+ "brief": "强大的教程配备(含1比1图纸、制作步骤、详细全彩纸质教程+全彩基础纸质教程);进口优质羊毛,细腻、顺滑、不毛躁,充足的羊毛量,新手也不怕失误!买材料包没有这些,那干嘛还需要材料包呢??? 电子教程:http://pan.baidu.com/s/1ntsRDyx,提取码:n76h",
+ "channel_id": "3",
+ "cover_price": "6.00",
+ "figure": "/1457513867138.jpg",
+ "name": "【啊哦手工坊】羊毛毡戳戳乐材料包 diy 猫爪2色 挂件手机绳防尘塞",
+ "origin_price": "6.00",
+ "p_catalog_id": "30",
+ "product_id": "5192"
+ },
+ {
+ "brand_id": "5",
+ "brief": "",
+ "channel_id": "6",
+ "cover_price": "12.00",
+ "figure": "/1452829334513.jpg",
+ "name": "【岁月坊】古文艺手工礼品本 古风.水彩系列之乱入芙蓉池",
+ "origin_price": "19.00",
+ "p_catalog_id": "32",
+ "product_id": "4095"
+ },
+ {
+ "brand_id": "5",
+ "brief": "强大的教程配备(含1比1图纸、制作步骤、详细全彩纸质教程+全彩基础纸质教程);进口优质羊毛,细腻、顺滑、不毛躁,充足的羊毛量,新手也不怕失误!买材料包没有这些,那干嘛还需要材料包呢??? 电子教程:http://pan.baidu.com/s/1ntsRDyx,提取码:n76h",
+ "channel_id": "3",
+ "cover_price": "6.00",
+ "figure": "/1457515655102.jpg",
+ "name": "【啊哦手工坊】羊毛毡戳戳乐材料包 DIY 情侣款北极熊手机绳挂件摆件",
+ "origin_price": "6.00",
+ "p_catalog_id": "30",
+ "product_id": "5196"
+ },
+ {
+ "brand_id": "5",
+ "brief": "强大的教程配备(含1比1图纸、制作步骤、详细全彩纸质教程+全彩基础纸质教程);进口优质羊毛,细腻、顺滑、不毛躁,充足的羊毛量,新手也不怕失误!买材料包没有这些,那干嘛还需要材料包呢???
+电子教程:http://pan.baidu.com/s/1ntsRDyx,提取码:n76h",
+ "channel_id": "3",
+ "cover_price": "13.00",
+ "figure": "/1457508990383.jpg",
+ "name": "【啊哦手工坊】羊毛毡戳戳乐材料包 diy 12生肖可爱羊毛毡防尘塞",
+ "origin_price": "13.00",
+ "p_catalog_id": "30",
+ "product_id": "5185"
+ },
+ {
+ "brand_id": "286",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "85.00",
+ "figure": "/supplier/1476783524896.jpg",
+ "name": "【海鸟跨境】韩国原装悦诗风吟绿茶平衡型乳液",
+ "origin_price": "85.00",
+ "p_catalog_id": "21",
+ "product_id": "9978"
+ },
+ {
+ "brand_id": "286",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "85.00",
+ "figure": "/supplier/1476783181896.jpg",
+ "name": "【海鸟跨境】韩国原装悦诗风吟绿茶平衡型爽肤水",
+ "origin_price": "85.00",
+ "p_catalog_id": "21",
+ "product_id": "9977"
+ },
+ {
+ "brand_id": "286",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "55.00",
+ "figure": "/supplier/1476782471175.jpg",
+ "name": "【海鸟跨境】韩国原装悦诗风吟火山岩泥洗面奶",
+ "origin_price": "55.00",
+ "p_catalog_id": "21",
+ "product_id": "9975"
+ },
+ {
+ "brand_id": "286",
+ "brief": "",
+ "channel_id": "5",
+ "cover_price": "55.00",
+ "figure": "/supplier/1476781743285.jpg",
+ "name": "【海鸟跨境】韩国原装悦诗风吟绿茶洗面奶",
+ "origin_price": "55.00",
+ "p_catalog_id": "21",
+ "product_id": "9973"
+ },
+ {
+ "brand_id": "3",
+ "brief": "うちっちー是日本静冈县的吉祥物,模样是一只胖乎乎、蠢萌蠢萌的海象。《Love Live! Sunshine!!》动画中也有出现噢~静冈是另一个奇迹:校园偶像Aqours的发源地。うちっちー主题连体睡衣,可爱的布偶装外观,加厚法兰绒面料穿上很暖和。
+",
+ "channel_id": "8",
+ "cover_price": "122.32",
+ "figure": "/1472096222058.jpg",
+ "name": "【绝对萌域】 LoveLive sunshine 水团 静冈县吉祥物 家居服 可爱连体睡衣",
+ "origin_price": "139.00",
+ "p_catalog_id": "52",
+ "product_id": "8941"
+ },
+ {
+ "brand_id": "3",
+ "brief": "",
+ "channel_id": "15",
+ "cover_price": "29.00",
+ "figure": "/1445919231476.jpg",
+ "name": "【画影】古风黑檀木发簪——静荷",
+ "origin_price": "35.00",
+ "p_catalog_id": "71",
+ "product_id": "2452"
+ },
+ {
+ "brand_id": "254",
+ "brief": "预售期至12月16日,出货后将按订单顺序安排发货噢~",
+ "channel_id": "4",
+ "cover_price": "129.00",
+ "figure": "/1478773271555.jpg",
+ "name": "预售【漫踪】尚硅谷电吹风筒可折叠静音 亚索面对疾风吧吹风机",
+ "origin_price": "0.00",
+ "p_catalog_id": "90",
+ "product_id": "10616"
+ },
+ {
+ "brand_id": "383",
+ "brief": "",
+ "channel_id": "8",
+ "cover_price": "31.20",
+ "figure": "/1478770777024.jpg",
+ "name": "【蜜茶联萌】原创喵星人流行梗 纯棉长袖T恤 日常创意打底 静静看着",
+ "origin_price": "39.00",
+ "p_catalog_id": "56",
+ "product_id": "10607"
+ },
+ {
+ "brand_id": "368",
+ "brief": "",
+ "channel_id": "3",
+ "cover_price": "45.00",
+ "figure": "/1465873803495.jpg",
+ "name": "【喵鹿酱】Girlwill 游泳圈湿器 办公室 静化空气USB迷你加湿器桌面加湿器",
+ "origin_price": "66.00",
+ "p_catalog_id": "90",
+ "product_id": "7026"
+ },
+ {
+ "brand_id": "182",
+ "brief": "OVO,告诉小谷,临也香不香",
+ "channel_id": "3",
+ "cover_price": "108.00",
+ "figure": "/1451022524289.jpg",
+ "name": "【天闻角川】无头骑士异闻录DuRaRaRa!!×2香水套装(赠包饰)静雄款",
+ "origin_price": "128.00",
+ "p_catalog_id": "21",
+ "product_id": "3695"
+ }
+ ]
+ }
+}
\ No newline at end of file