浏览代码

bulti router

maguohua 8 年之前
父节点
当前提交
42d772ed1c
共有 100 个文件被更改,包括 171 次插入78 次删除
  1. 1 1
      README.md
  2. 4 2
      app.js
  3. 4 3
      controller/v1/carts.js
  4. 5 3
      controller/v1/order.js
  5. 38 3
      controller/v2/user.js
  6. 1 1
      models/v2/userInfo.js
  7. 2 0
      package.json
  8. 43 64
      prototype/baseComponent.js
  9. 0 1
      public/elm/static/css/app.css
  10. 0 0
      public/elm/static/js/add.9e81174675a2fe28e4ba.min.js
  11. 0 0
      public/elm/static/js/addAddress.499e26f2be5baaf54fda.min.js
  12. 0 0
      public/elm/static/js/addDetail.ecc375d936f5748725fb.min.js
  13. 0 0
      public/elm/static/js/address.503261e1c36148acf368.min.js
  14. 0 0
      public/elm/static/js/app.js
  15. 0 0
      public/elm/static/js/balance.33c11b9d641453f45ddc.min.js
  16. 0 0
      public/elm/static/js/balanceDetail.05e987e4abf92d6c6815.min.js
  17. 0 0
      public/elm/static/js/benefit.59caaf0a4096185913f0.min.js
  18. 0 0
      public/elm/static/js/chooseAddress.5ef32b3a4a76faf51ec7.min.js
  19. 0 0
      public/elm/static/js/city.776cd1b7e91ebb036f98.min.js
  20. 0 0
      public/elm/static/js/commend.149468c62e0c536b60d2.min.js
  21. 0 0
      public/elm/static/js/confirmOrder.dc269dd54c25c465c38e.min.js
  22. 0 0
      public/elm/static/js/coupon.5c6270ba6744dca14c13.min.js
  23. 0 0
      public/elm/static/js/download.63c6ef04a9e9daea03d0.min.js
  24. 0 0
      public/elm/static/js/exchange.b686dab63feed9a03289.min.js
  25. 0 0
      public/elm/static/js/find.53e7e81da782f34255b8.min.js
  26. 0 0
      public/elm/static/js/food.65e62d4d4c63079481d1.min.js
  27. 0 0
      public/elm/static/js/foodDetail.ddd0d98f41293071fcb4.min.js
  28. 0 0
      public/elm/static/js/forget.ca0dee43ae9b1bcee61d.min.js
  29. 0 0
      public/elm/static/js/hbDescription.a522fca94335dd069525.min.js
  30. 0 0
      public/elm/static/js/hbHistory.7d23f0574cef99cba753.min.js
  31. 0 0
      public/elm/static/js/home.993026ceebbb14e9bb41.min.js
  32. 0 0
      public/elm/static/js/info.cfe87987c75face0c5ff.min.js
  33. 0 0
      public/elm/static/js/invoice.5a2825e421987595c488.min.js
  34. 0 0
      public/elm/static/js/invoiceRecord.53d6d9b2ff8b69be54c8.min.js
  35. 0 0
      public/elm/static/js/login.70722b0206325c06b0b7.min.js
  36. 0 0
      public/elm/static/js/manifest.js
  37. 0 0
      public/elm/static/js/msite.5757d01abf3ab1ccd185.min.js
  38. 0 0
      public/elm/static/js/order.978cbf3bd01f2d4c04ff.min.js
  39. 0 0
      public/elm/static/js/orderDetail.e5adadb78b495de5682e.min.js
  40. 0 0
      public/elm/static/js/payment.aa579e61127b4532ff97.min.js
  41. 0 0
      public/elm/static/js/points.8378c91f5da6c989b421.min.js
  42. 0 0
      public/elm/static/js/pointsDetail.eb5330cbbe9e4713219a.min.js
  43. 0 0
      public/elm/static/js/profile.4cb10b774f1be7c66ca7.min.js
  44. 0 0
      public/elm/static/js/remark.1f5ca561244ad7e9d797.min.js
  45. 0 0
      public/elm/static/js/search.fc3a72f64317d7d26769.min.js
  46. 0 0
      public/elm/static/js/searchAddress.2851467e375d9c1ec764.min.js
  47. 0 0
      public/elm/static/js/service.ecdb0692614416ee9c20.min.js
  48. 0 0
      public/elm/static/js/setusername.c630011bea35f9c1c46c.min.js
  49. 0 0
      public/elm/static/js/shop.ca304dd0fc3cd679fb57.min.js
  50. 0 0
      public/elm/static/js/shopDetail.f38c52209d6b6e3dc19f.min.js
  51. 0 0
      public/elm/static/js/shopSafe.38a103703b5fe4c668de.min.js
  52. 0 0
      public/elm/static/js/useCart.b54228da880ede6e84c4.min.js
  53. 0 0
      public/elm/static/js/userValidation.ec0d6bedcabde3684be2.min.js
  54. 0 0
      public/elm/static/js/vipDescription.3e777d02286527f7d0fc.min.js
  55. 0 0
      public/elm/static/js/vipcard.6610d4ae146be4f4e9c0.min.js
  56. 0 0
      public/favicon.ico
  57. 72 0
      public/index.html
  58. 1 0
      public/static/css/app.css
  59. 0 0
      public/static/img/activity.png
  60. 0 0
      public/static/js/add.84857f913b95157b8f7e.min.js
  61. 0 0
      public/static/js/addAddress.6416c3293157d77ad4a8.min.js
  62. 0 0
      public/static/js/addDetail.629f4f853f95f9a06d3d.min.js
  63. 0 0
      public/static/js/address.ddb487525a95d496e7e2.min.js
  64. 0 0
      public/static/js/app.js
  65. 0 0
      public/static/js/balance.f277cb8a5bb7868dc46d.min.js
  66. 0 0
      public/static/js/balanceDetail.92d4d3eeab63e42326e1.min.js
  67. 0 0
      public/static/js/benefit.c07ff80e4f6520ec5652.min.js
  68. 0 0
      public/static/js/chooseAddress.5fb75b48b5f92f432a44.min.js
  69. 0 0
      public/static/js/city.8f9a2e8cf36dff16192c.min.js
  70. 0 0
      public/static/js/commend.7835254064170b42ddd2.min.js
  71. 0 0
      public/static/js/confirmOrder.544ea0b02aa69fdcaf4d.min.js
  72. 0 0
      public/static/js/coupon.b4bb79c1f4c3e07293d9.min.js
  73. 0 0
      public/static/js/download.ec207cc83978c7211317.min.js
  74. 0 0
      public/static/js/exchange.e9c4d949f8348e195604.min.js
  75. 0 0
      public/static/js/find.d349ce22324fa821db87.min.js
  76. 0 0
      public/static/js/food.eabe8fa2a3814012fee3.min.js
  77. 0 0
      public/static/js/foodDetail.e789bfae4671ce18e2f9.min.js
  78. 0 0
      public/static/js/forget.655b9754905432dd1c8c.min.js
  79. 0 0
      public/static/js/hbDescription.e8aadcd9695bb3400d31.min.js
  80. 0 0
      public/static/js/hbHistory.3079b4abe55300fc8250.min.js
  81. 0 0
      public/static/js/home.172fc9276b91b02c210c.min.js
  82. 0 0
      public/static/js/info.c3319384e8f5152dd841.min.js
  83. 0 0
      public/static/js/invoice.e20e67064330ba9a8949.min.js
  84. 0 0
      public/static/js/invoiceRecord.6fdb5d9288cfd712d350.min.js
  85. 0 0
      public/static/js/login.f4557344b0098df0e555.min.js
  86. 0 0
      public/static/js/manifest.js
  87. 0 0
      public/static/js/msite.a836d40463545b508484.min.js
  88. 0 0
      public/static/js/order.99617b46395740af6ee5.min.js
  89. 0 0
      public/static/js/orderDetail.48de87c20c8852df8b9c.min.js
  90. 0 0
      public/static/js/payment.e38e8052b1ce38d62820.min.js
  91. 0 0
      public/static/js/points.8a771eaa1dcfe815a805.min.js
  92. 0 0
      public/static/js/pointsDetail.43ff4439aef4667cdf7f.min.js
  93. 0 0
      public/static/js/profile.cc6561a29f1dfff5b5a5.min.js
  94. 0 0
      public/static/js/questionDetail.f7da7c1d92eb746902db.min.js
  95. 0 0
      public/static/js/remark.c80cb794376a648ddf9a.min.js
  96. 0 0
      public/static/js/search.e1e7b2913feb350a82c9.min.js
  97. 0 0
      public/static/js/searchAddress.bd0f07202b5e00e5b6d9.min.js
  98. 0 0
      public/static/js/service.490ffc37af08ce21622b.min.js
  99. 0 0
      public/static/js/setusername.f31151e6617e74129726.min.js
  100. 0 0
      public/static/js/shop.871165450cb1f5ab131f.min.js

+ 1 - 1
README.md

@@ -73,7 +73,7 @@ npm run dev (需开启本地mongodb,如果没有安装mongodb,可以运行 n
 - [x] 订单管理
 - [ ] 流量统计
 - [ ] 超级管理员
-- [ ] 前后台同构,美化路由
+- [x] 美化路由(history模式)
 - [ ] 部署上线
 
 

+ 4 - 2
app.js

@@ -8,10 +8,9 @@ import connectMongo from 'connect-mongo';
 import winston from 'winston';
 import expressWinston from 'express-winston';
 import path from 'path';
-
+import history from 'connect-history-api-fallback';
 
 const app = express();
-app.use(express.static('./public'));
 
 app.all('*', (req, res, next) => {
 	res.header("Access-Control-Allow-Origin", req.headers.origin);
@@ -65,6 +64,9 @@ router(app);
 //     ]
 // }));
 
+
+app.use(history());
+app.use(express.static('./public'));
 app.use((err, req, res, next) => {
 	res.status(404).send('未找到当前路由');
 });

+ 4 - 3
controller/v1/carts.js

@@ -65,9 +65,10 @@ class Carts extends AddressComponent{
 				})
 				return 
 			}
-			let deliver_amount = 0; //食品价格
+			const deliver_amount = 4;
+			let price = 0; //食品价格
 			entities[0].map(item => {
-				deliver_amount += item.price * item.quantity;
+				price += item.price * item.quantity;
 				if (item.packing_fee) {
 					this.extra[0].price += item.packing_fee*item.quantity;
 				}
@@ -76,7 +77,7 @@ class Carts extends AddressComponent{
 				}
 			})
 			//食品总价格
-			const total = deliver_amount + this.extra[0].price * this.extra[0].quantity;
+			const total = price + this.extra[0].price * this.extra[0].quantity + deliver_amount;
 			//是否支持发票
 			let invoice = {
 				is_available: false,

+ 5 - 3
controller/v1/order.js

@@ -4,7 +4,7 @@ import BaseComponent from '../../prototype/baseComponent'
 import formidable from 'formidable'
 import OrderModel from '../../models/bos/order'
 import CartModel from '../../models/v1/cart'
-import timestamp from 'time-stamp'
+import dtime from 'time-formater'
 import AddressModel from '../../models/v1/address'
 
 class Order extends BaseComponent{
@@ -62,6 +62,7 @@ class Order extends BaseComponent{
 				})
 				return 
 			}
+			const deliver_fee = {price: cartDetail.cart.deliver_amount};
 			const orderObj = {
 				basket: {
 					group: entities,
@@ -69,12 +70,13 @@ class Order extends BaseComponent{
 						name: cartDetail.cart.extra[0].name,
 						price: cartDetail.cart.extra[0].price,
 						quantity: cartDetail.cart.extra[0].quantity,
-					}
+					},
+					deliver_fee,
 				},
 				restaurant_id: cartDetail.cart.restaurant_id,
 				restaurant_image_url: cartDetail.cart.restaurant_info.image_path,
 				restaurant_name:  cartDetail.cart.restaurant_info.name,
-				formatted_created_at: timestamp('YYYY-MM-DD mm:ss'),
+				formatted_created_at: dtime().format('YYYY-MM-DD HH:mm'),
 				order_time: new Date().getTime(),
 				time_pass: 900,
 				status_bar: {

+ 38 - 3
controller/v2/user.js

@@ -5,7 +5,7 @@ import formidable from 'formidable'
 import UserInfoModel from '../../models/v2/userInfo'
 import UserModel from '../../models/v2/user'
 import crypto from 'crypto'
-import timestamp from 'time-stamp'
+import dtime from 'time-formater'
 
 class User extends AddressComponent {
 	constructor(){
@@ -13,6 +13,7 @@ class User extends AddressComponent {
 		this.login = this.login.bind(this);
 		this.encryption = this.encryption.bind(this);
 		this.chanegPassword = this.chanegPassword.bind(this);
+		this.updateAvatar = this.updateAvatar.bind(this);
 	}
 	async login(req, res, next){
 		const cap = req.cookies.cap;
@@ -59,7 +60,7 @@ class User extends AddressComponent {
 				if (!user) {
 					const user_id = await this.getId('user_id');
 					const cityInfo = await this.guessPosition(req);
-					const registe_time = timestamp('YYYY-MM-DD mm:ss');
+					const registe_time = dtime().format('YYYY-MM-DD HH:mm');
 					const newUser = {username, password: newpassword, user_id};
 					const newUserInfo = {username, user_id, id: user_id, city: cityInfo.city, registe_time, };
 					UserModel.create(newUser);
@@ -134,7 +135,7 @@ class User extends AddressComponent {
 		}
 	}
 	async signout(req, res, next){
-		req.session.user_id = null;
+		delete req.session.user_id
 		res.send({
 			status: 1,
 			message: '退出成功'
@@ -255,6 +256,40 @@ class User extends AddressComponent {
 			})
 		}
 	}
+	async updateAvatar(req, res, next){
+		const sid = req.session.user_id;
+		const user_id = req.params.user_id;
+		if (!user_id || !Number(user_id)) {
+			res.send({
+				status: 0,
+				type: 'ERROR_USERID',
+				message: 'user_id参数错误',
+			})
+			return 
+		}else if(Number(sid) !== Number(user_id)){
+			res.send({
+				status: 0,
+				type: 'NEED_LOGIN_IN',
+				message: '登录后才可修改头像',
+			})
+			return 
+		}
+		try{
+			const image_path = await this.qiniu(req);
+			await UserInfoModel.findOneAndUpdate({user_id}, {$set: {avatar: image_path}});
+			res.send({
+				status: 1,
+				image_path,
+			})
+		}catch(err){
+			console.log('上传图片失败', err);
+			res.send({
+				status: 0,
+				type: 'ERROR_UPLOAD_IMG',
+				message: '上传图片失败'
+			})
+		}
+	}
 } 
 
 export default new User()

+ 1 - 1
models/v2/userInfo.js

@@ -5,7 +5,7 @@ import mongoose from 'mongoose'
 const Schema = mongoose.Schema;
 
 const userInfoSchema = new Schema({
-	avatar: {type: String, default: '/default.jpg'},
+	avatar: {type: String, default: 'default.jpg'},
 	balance: {type: Number, default: 0},
 	brand_member_new: {type: Number, default: 0},
 	current_address_id: {type: Number, default: 0},

+ 2 - 0
package.json

@@ -28,6 +28,7 @@
     "captchapng": "0.0.1",
     "config-lite": "^1.5.0",
     "connect-flash": "^0.1.1",
+    "connect-history-api-fallback": "^1.3.0",
     "connect-mongo": "^1.3.2",
     "cookie-parser": "^1.4.3",
     "cross-env": "^5.0.0",
@@ -46,6 +47,7 @@
     "qiniu": "^6.1.13",
     "sha1": "^1.1.1",
     "supervisor": "^0.12.0",
+    "time-formater": "^1.0.1",
     "time-stamp": "^2.0.0",
     "winston": "^2.3.1"
   },

+ 43 - 64
prototype/baseComponent.js

@@ -14,7 +14,7 @@ export default class BaseComponent {
 		this.idList = ['restaurant_id', 'food_id', 'order_id', 'user_id', 'address_id', 'cart_id', 'img_id', 'category_id', 'item_id', 'sku_id'];
 		this.imgTypeList = ['shop', 'food', 'avatar','default'];
 		this.uploadImg = this.uploadImg.bind(this)
-
+		this.qiniu = this.qiniu.bind(this)
 	}
 	async fetch(url = '', data = {}, type = 'GET', resType = 'JSON'){
 		type = type.toUpperCase();
@@ -78,74 +78,53 @@ export default class BaseComponent {
 
 	async uploadImg(req, res, next){
 		const type = req.params.type;
-		if (!this.imgTypeList.includes(type)) {
-			console.log('前台传入参数错误');
+		try{
+			const image_path = await this.qiniu(req, type);
+			res.send({
+				status: 1,
+				image_path,
+			})
+		}catch(err){
+			console.log('上传图片失败', err);
 			res.send({
 				status: 0,
-				type: 'ERROR_PARAMS',
-				message: '参数错误',
+				type: 'ERROR_UPLOAD_IMG',
+				message: '上传图片失败'
 			})
-			return
 		}
-		const form = formidable.IncomingForm();
-		form.uploadDir = './public/img/' + type;
 		
-		form.parse(req, async (err, fields, files) => {
-			let img_id;
-			try{
-				img_id = await this.getId('img_id');
-			}catch(err){
-				console.log('获取图片id失败');
-				fs.unlink(files.file.path)
-				res.send({
-					status: 0,
-					type: 'ERROR_GET_ID',
-					message: '获取图片id失败',
-				})
-				return 
-			}
-			const imgName = (new Date().getTime() + Math.ceil(Math.random()*10000)).toString(16) + img_id;
-			const extname = path.extname(files.file.name);
-			const repath = './public/img/' + type + '/' + imgName + extname;
-			try{
-				const key = imgName + extname;
-				await fs.rename(files.file.path, repath);
-				const token = this.uptoken('node-elm', key);
-				const qiniuImg = await this.uploadFile(token.toString(), key, repath);
-				fs.unlink(repath);
-				res.send({
-					status: 1,
-					image_path: qiniuImg
-				})
-				// gm(repath)
-				// .resize(400, 400, '!')
-				// .write(repath, async (err) => {
-				// 	if(err){
-				// 		console.log('改写图片尺寸失败');
-				// 		fs.unlink(repath);
-				// 		res.send({
-				// 			status: 0,
-				// 			type: 'ERROR_GET_SIZE',
-				// 			message: '改写图片尺寸失败',
-				// 		})
-				// 	}else{
-				// 		const path = repath.replace(/^\.\/public/, '');
-				// 		res.send({
-				// 			status: 1,
-				// 			image_path: path
-				// 		})
-				// 	} 
-				// })
-			}catch(err){
-				console.log('改写图片路径失败', err);
-				fs.unlink(files.file.path)
-				res.send({
-					status: 0,
-					type: 'ERROR_USE_GM',
-					message: '切图失败',
-				})
-			}
-		});
+	}
+	async qiniu(req, type = 'default'){
+		return new Promise((resolve, reject) => {
+			const form = formidable.IncomingForm();
+			form.uploadDir = './public/img/' + type;
+			form.parse(req, async (err, fields, files) => {
+				let img_id;
+				try{
+					img_id = await this.getId('img_id');
+				}catch(err){
+					console.log('获取图片id失败');
+					fs.unlink(files.file.path);
+					reject('获取图片id失败')
+				}
+				const imgName = (new Date().getTime() + Math.ceil(Math.random()*10000)).toString(16) + img_id;
+				const extname = path.extname(files.file.name);
+				const repath = './public/img/' + type + '/' + imgName + extname;
+				try{
+					const key = imgName + extname;
+					await fs.rename(files.file.path, repath);
+					const token = this.uptoken('node-elm', key);
+					const qiniuImg = await this.uploadFile(token.toString(), key, repath);
+					fs.unlink(repath);
+					resolve(qiniuImg)
+				}catch(err){
+					console.log('保存至七牛失败', err);
+					fs.unlink(files.file.path)
+					reject('保存至七牛失败')
+				}
+			});
+
+		})
 	}
 	uptoken(bucket, key){
 		var putPolicy = new qiniu.rs.PutPolicy(bucket+":"+key);

+ 0 - 1
public/elm/static/css/app.css

@@ -1 +0,0 @@
-a,article,aside,b,body,button,dd,div,dl,dt,figcaption,figure,footer,h1,h2,h3,h4,h5,h6,header,i,input,li,nav,p,section,select,span,textarea,ul{padding:0;margin:0;list-style:none;font-style:normal;text-decoration:none;border:none;color:#333;box-sizing:border-box;font-family:Microsoft Yahei,sans-serif;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}a:focus,article:focus,aside:focus,b:focus,body:focus,button:focus,dd:focus,div:focus,dl:focus,dt:focus,figcaption:focus,figure:focus,footer:focus,h1:focus,h2:focus,h3:focus,h4:focus,h5:focus,h6:focus,header:focus,i:focus,input:focus,li:focus,nav:focus,p:focus,section:focus,select:focus,span:focus,textarea:focus,ul:focus{outline:none}::-webkit-scrollbar{width:0;height:0;background-color:#f5f5f5}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 1px transparent;border-radius:10px;background-color:#f5f5f5}::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#555}input[type=button],input[type=reset],input[type=search],input[type=submit],textarea{-webkit-appearance:none}body,html{height:100%;width:100%;background-color:#f5f5f5}.clear:after{content:'';display:block;clear:both}.clear{zoom:1}.back_img{background-repeat:no-repeat;background-size:100% 100%}.margin{margin:0 auto}.left{float:left}.right{float:right}.hide{display:none}.show{display:block}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paddingTop{padding-top:1.95rem}.router-fade-enter-active,.router-fade-leave-active{-webkit-transition:opacity .3s;transition:opacity .3s}.router-fade-enter,.router-fade-leave-active{opacity:0}

文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/add.9e81174675a2fe28e4ba.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/addAddress.499e26f2be5baaf54fda.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/addDetail.ecc375d936f5748725fb.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/address.503261e1c36148acf368.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/app.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/balance.33c11b9d641453f45ddc.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/balanceDetail.05e987e4abf92d6c6815.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/benefit.59caaf0a4096185913f0.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/chooseAddress.5ef32b3a4a76faf51ec7.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/city.776cd1b7e91ebb036f98.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/commend.149468c62e0c536b60d2.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/confirmOrder.dc269dd54c25c465c38e.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/coupon.5c6270ba6744dca14c13.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/download.63c6ef04a9e9daea03d0.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/exchange.b686dab63feed9a03289.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/find.53e7e81da782f34255b8.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/food.65e62d4d4c63079481d1.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/foodDetail.ddd0d98f41293071fcb4.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/forget.ca0dee43ae9b1bcee61d.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/hbDescription.a522fca94335dd069525.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/hbHistory.7d23f0574cef99cba753.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/home.993026ceebbb14e9bb41.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/info.cfe87987c75face0c5ff.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/invoice.5a2825e421987595c488.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/invoiceRecord.53d6d9b2ff8b69be54c8.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/login.70722b0206325c06b0b7.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/manifest.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/msite.5757d01abf3ab1ccd185.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/order.978cbf3bd01f2d4c04ff.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/orderDetail.e5adadb78b495de5682e.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/payment.aa579e61127b4532ff97.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/points.8378c91f5da6c989b421.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/pointsDetail.eb5330cbbe9e4713219a.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/profile.4cb10b774f1be7c66ca7.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/remark.1f5ca561244ad7e9d797.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/search.fc3a72f64317d7d26769.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/searchAddress.2851467e375d9c1ec764.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/service.ecdb0692614416ee9c20.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/setusername.c630011bea35f9c1c46c.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/shop.ca304dd0fc3cd679fb57.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/shopDetail.f38c52209d6b6e3dc19f.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/shopSafe.38a103703b5fe4c668de.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/useCart.b54228da880ede6e84c4.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/userValidation.ec0d6bedcabde3684be2.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/vipDescription.3e777d02286527f7d0fc.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/elm/static/js/vipcard.6610d4ae146be4f4e9c0.min.js


+ 0 - 0
public/elm/favicon.ico → public/favicon.ico


文件差异内容过多而无法显示
+ 72 - 0
public/index.html


+ 1 - 0
public/static/css/app.css

@@ -0,0 +1 @@
+a,article,aside,b,body,button,dd,div,dl,dt,figcaption,figure,footer,h1,h2,h3,h4,h5,h6,header,i,input,li,nav,p,section,select,span,textarea,ul{padding:0;margin:0;list-style:none;font-style:normal;text-decoration:none;border:none;color:#333;font-weight:400;font-family:Microsoft Yahei;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}a:hover,article:hover,aside:hover,b:hover,body:hover,button:hover,dd:hover,div:hover,dl:hover,dt:hover,figcaption:hover,figure:hover,footer:hover,h1:hover,h2:hover,h3:hover,h4:hover,h5:hover,h6:hover,header:hover,i:hover,input:hover,li:hover,nav:hover,p:hover,section:hover,select:hover,span:hover,textarea:hover,ul:hover{outline:none}::-webkit-scrollbar{width:0;height:0;background-color:#f5f5f5}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 1px transparent;border-radius:10px;background-color:#f5f5f5}::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#555}input[type=button],input[type=reset],input[type=search],input[type=submit],textarea{-webkit-appearance:none}body,html{height:100%;width:100%;background-color:#f5f5f5}.clear:after{content:'';display:block;clear:both}.clear{zoom:1}.back_img{background-repeat:no-repeat;background-size:100% 100%}.margin{margin:0 auto}.left{float:left}.right{float:right}.hide{display:none}.show{display:block}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paddingTop{padding-top:1.95rem}.router-fade-enter-active,.router-fade-leave-active{-webkit-transition:opacity .3s;transition:opacity .3s}.router-fade-enter,.router-fade-leave-active{opacity:0}

+ 0 - 0
public/elm/static/img/activity.png → public/static/img/activity.png


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/add.84857f913b95157b8f7e.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/addAddress.6416c3293157d77ad4a8.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/addDetail.629f4f853f95f9a06d3d.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/address.ddb487525a95d496e7e2.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/app.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/balance.f277cb8a5bb7868dc46d.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/balanceDetail.92d4d3eeab63e42326e1.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/benefit.c07ff80e4f6520ec5652.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/chooseAddress.5fb75b48b5f92f432a44.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/city.8f9a2e8cf36dff16192c.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/commend.7835254064170b42ddd2.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/confirmOrder.544ea0b02aa69fdcaf4d.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/coupon.b4bb79c1f4c3e07293d9.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/download.ec207cc83978c7211317.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/exchange.e9c4d949f8348e195604.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/find.d349ce22324fa821db87.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/food.eabe8fa2a3814012fee3.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/foodDetail.e789bfae4671ce18e2f9.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/forget.655b9754905432dd1c8c.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/hbDescription.e8aadcd9695bb3400d31.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/hbHistory.3079b4abe55300fc8250.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/home.172fc9276b91b02c210c.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/info.c3319384e8f5152dd841.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/invoice.e20e67064330ba9a8949.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/invoiceRecord.6fdb5d9288cfd712d350.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/login.f4557344b0098df0e555.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/manifest.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/msite.a836d40463545b508484.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/order.99617b46395740af6ee5.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/orderDetail.48de87c20c8852df8b9c.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/payment.e38e8052b1ce38d62820.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/points.8a771eaa1dcfe815a805.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/pointsDetail.43ff4439aef4667cdf7f.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/profile.cc6561a29f1dfff5b5a5.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/questionDetail.f7da7c1d92eb746902db.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/remark.c80cb794376a648ddf9a.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/search.e1e7b2913feb350a82c9.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/searchAddress.bd0f07202b5e00e5b6d9.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/service.490ffc37af08ce21622b.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/setusername.f31151e6617e74129726.min.js


文件差异内容过多而无法显示
+ 0 - 0
public/static/js/shop.871165450cb1f5ab131f.min.js


部分文件因为文件数量过多而无法显示