Authored by 陈轩

change url

Showing 44 changed files with 150 additions and 144 deletions
... ... @@ -5,28 +5,28 @@ Name | Path | Note
品牌列表 | /brands |
品类 | /cate |
全部分类 | /cate-all |
商品列表 | /product/list?sort=1 |
商品列表 | /list?sort=1 |
品牌店铺 | /product/shop?domain=sctest1 |
品牌店铺分享页面 | /product/shop-share?domain=colormad |
商品详情 | /product/{productId} |
新品抢先看 | /product/new |
搜索页 | /product/search?query=xxx |
新品抢先看 | /new |
搜索页 | /search?query=xxx |
资讯列表 | /news |
资讯详情 | /news/{newsId} |
个人中心 | /home |
个人信息 | /home/mydetails |
全部订单 | /home/orders?type=1 |
待付款 | /home/orders?type=2 |
待发货 | /home/orders?type=3 |
待收货 | /home/orders?type=4 |
全部订单 | /me/order?type=1 |
待付款 | /me/order?type=2 |
待发货 | /me/order?type=3 |
待收货 | /me/order?type=4 |
订单详情 | /home/order-detail?orderCode=xxx |
退货申请 | /home/refund?orderId=160181661 |
换货申请 | /home/exchange?orderId=160181661 |
收藏商品 | /home/favorite |
收藏品牌 | /home/favorite?tab=brand |
yoho币 | /home/mycurrency |
帮助中心 | /home/help |
帮助中心详情 | /home/help-detail |
帮助中心 | /help |
帮助中心详情 | /help?id=xxx |
意见反馈 | /home/feedback |
关于我们 | /home/about |
物流详情 | /home/logistic?order_code=1609827614 |
... ...
... ... @@ -101,7 +101,7 @@ const getCateListData = params => {
sub: []
};
if (_.isEmpty(cate.sub)) {
item.url = helpers.urlFormat('/product/list', {
item.url = helpers.urlFormat('/list', {
sort: item.sort,
sort_name: item.name,
gender: genderArr[categorykey]
... ... @@ -115,7 +115,7 @@ const getCateListData = params => {
id: item.id,
name: '全部' + item.name,
sort: item.sort,
url: helpers.urlFormat('/product/list', {
url: helpers.urlFormat('/list', {
sort: item.sort,
sort_name: item.name,
gender: genderArr[categorykey]
... ... @@ -130,7 +130,7 @@ const getCateListData = params => {
sort: sub.relation_parameter.sort,
url: ''
};
subitem.url = helpers.urlFormat('/product/list', {
subitem.url = helpers.urlFormat('/list', {
sort: subitem.sort,
sort_name: subitem.name,
gender: genderArr[categorykey]
... ...
/**
* router of sub app home
* @author: shenzm<zhimin.shen@yoho.cn>
* @date: 2016/07/18
*/
'use strict';
const expressRouter = require('express').Router;
const cRoot = './controllers';
const home = require(cRoot);
const favorite = require(cRoot + '/favorite');
const refund = require(cRoot + '/refund');
const order = require(cRoot + '/order');
const exchange = require(cRoot + '/exchange');
const router = expressRouter();
// Your controller here
router.get('/', home.index); // 个人中心主页
router.get('/orders', order.orders); // 订单
router.get('/order-detail', order.orderDetail); // 订单详情
router.get('/get-orders', order.getOrderData); // 获取订单数据
router.get('/get-order', order.getOrderDetailData); // 获取订单详情数据
router.get('/order-detail', order.orderDetail); // 订单详情
router.get('/order/cancel-reason', order.getCancelReason); // 获取订单原因
router.post('/cancel-order', order.cancelOrder); // 取消订单
router.post('/delete-order', order.deleteOrder); // 删除订单
router.post('/confirm-order', order.confirmOrder); // 确认订单
router.get('/mycurrency', order.coin); // yoho币
router.get('/coin-detail', order.getCoinDetail); // yoho币明细
router.get('/service', home.service) // 在线客服
router.get('/help', home.help); // 帮助中心列表页
router.get('/help-detail', home.helpDetail); // 帮助中心详情页
router.get('/feedback', home.feedback); // 个人中心-意见反馈
router.post('/save-feedback', home.saveFeedback); // 个人中心-提交意见反馈
router.get('/favorite', favorite.favorite); // 个人中心 - 收藏
router.get('/favorite/favpaging', favorite.favpaging); // 个人中心 - 收藏商品/品牌(翻页)
router.post('/del-favdel', favorite.deletefav); // 个人中心 - 收藏商品/品牌(刪除)
router.get('/refund', refund.refund); // 退换货
router.get('/refund/order', refund.order); // 查询订单数据
router.post('/refund/submit', refund.submit); // 提交信息
router.get('/refund/logistics', refund.logistics); // 退换货 - 商品寄回信息
router.post('/save-logistics', refund.saveLogistics); // 退换货 - 添加寄回物流信息
router.post('/refund/cancel-apply', refund.cancelApply); // 退货 - 取消申请
router.get('/exchange-status', refund.exchangeGoods); // 退换货 - 换货状态
router.get('/refund/orders', refund.refundOrders); // 退换货 - 订单列表
router.get('/refund/get-orders', refund.getRefundOrders); // 退换货 - 获取订单列表数据
// 换货
router.get('/exchange', exchange.exchange);
router.get('/exchange/order', exchange.order); // AJAX 获取订单 商品
router.get('/exchange/delivery', exchange.delivery); // AJAX 获取 退货方式
router.post('/exchange/submit', exchange.submit); // AJAX 提交换货 申请
router.post('/exchange/cancel-apply', exchange.cancelApply); // AJAX 取消换货申请
router.get('/mydetails', home.mydetails); // 个人信息
router.post('/save-mydetails', home.saveMydetails); // 保存个人信息
router.get('/about', home.about); // 个人中心 - 关于我们
router.get('/logistic', order.logistic); // 个人中心 - 退换货物流设置页面
router.get('/get-order-logistic-date', order.getOrderLogisticdate); // 个人中心 - 订单物流详情数据
module.exports = router;
... ... @@ -79,34 +79,36 @@ const component = {
}).catch(next);
},
service: (req, res, next) => {
res.redirect('http://chat8.live800.com/live800/chatClient/chatbox.jsp?companyID=703953&configID=149819&jid=1099911094')
res.redirect('http://chat8.live800.com/live800/chatClient/chatbox.jsp?companyID=703953&configID=149819&jid=1099911094');
},
help: (req, res, next) => {
homeModel.getHelpInfo().then(helpList => {
res.render('help', {
module: 'home',
page: 'help',
noLocalJS: true,
noLocalCSS: true,
helpList: helpList
});
}).catch(next);
},
helpDetail: (req, res, next) => {
let helpDetailPara = {
code: req.query.code,
caption: req.query.caption
};
if (req.query.hasOwnProperty('id')) {
let helpDetailPara = {
code: req.query.code,
caption: req.query.caption
};
homeModel.getHelpDetail(helpDetailPara).then(helpDetail => {
res.render('help-detail', {
module: 'home',
page: 'help',
noLocalJS: true,
noLocalCSS: true,
helpDetail: helpDetail
});
}).catch(next);
} else {
homeModel.getHelpInfo().then(helpList => {
res.render('help', {
module: 'home',
page: 'help',
noLocalJS: true,
noLocalCSS: true,
helpList: helpList
});
}).catch(next);
}
homeModel.getHelpDetail(helpDetailPara).then(helpDetail => {
res.render('help-detail', {
module: 'home',
page: 'help',
noLocalJS: true,
noLocalCSS: true,
helpDetail: helpDetail
});
}).catch(next);
},
feedback: (req, res) => {
res.render('feedback', {
... ...
... ... @@ -79,7 +79,7 @@ const order = {
let orderCode = req.body.orderCode;
let reasonId = req.body.reasonId;
let reason = req.body.reason;
console.log(orderCode+'------'+reasonId);
console.log(orderCode + '------' + reasonId);
orderModel.cancelOrder(orderCode, reasonId, reason, isBLK).then(result => {
return res.json(result);
});
... ...
... ... @@ -98,8 +98,8 @@ exports.getHelpInfo = (data) => {
formatData.push({
name: item.caption,
code: item.code,
url: helpers.urlFormat('/home/help-detail', {
code: item.code,
url: helpers.urlFormat('/help', {
id: item.code,
caption: item.caption,
})
});
... ...
/**
* router of sub app home
* @author: shenzm<zhimin.shen@yoho.cn>
* @date: 2016/07/18
*/
'use strict';
const expressRouter = require('express').Router;
const cRoot = './controllers';
const home = require(cRoot);
const favorite = require(cRoot + '/favorite');
const refund = require(cRoot + '/refund');
const order = require(cRoot + '/order');
const exchange = require(cRoot + '/exchange');
const router = expressRouter();
// Your controller here
router.get('/me/', home.index); // 个人中心主页
router.get('/me/orders', order.orders); // 订单
router.get('/me/order-detail', order.orderDetail); // 订单详情
router.get('/me/get-orders', order.getOrderData); // 获取订单数据
router.get('/me/get-order', order.getOrderDetailData); // 获取订单详情数据
router.get('/me/order-detail', order.orderDetail); // 订单详情
router.get('/me/order/cancel-reason', order.getCancelReason); // 获取订单原因
router.post('/me/cancel-order', order.cancelOrder); // 取消订单
router.post('/me/delete-order', order.deleteOrder); // 删除订单
router.post('/me/confirm-order', order.confirmOrder); // 确认订单
router.get('/me/mycurrency', order.coin); // yoho币
router.get('/me/coin-detail', order.getCoinDetail); // yoho币明细
router.get('/me/service', home.service); // 在线客服
router.get('/help', home.help); // 帮助中心列表页
router.get('/me/feedback', home.feedback); // 个人中心-意见反馈
router.post('/me/save-feedback', home.saveFeedback); // 个人中心-提交意见反馈
router.get('/me/favorite', favorite.favorite); // 个人中心 - 收藏
router.get('/me/favorite/favpaging', favorite.favpaging); // 个人中心 - 收藏商品/品牌(翻页)
router.post('/me/del-favdel', favorite.deletefav); // 个人中心 - 收藏商品/品牌(刪除)
router.get('/me/refund', refund.refund); // 退换货
router.get('/me/refund/order', refund.order); // 查询订单数据
router.post('/me/refund/submit', refund.submit); // 提交信息
router.get('/me/refund/logistics', refund.logistics); // 退换货 - 商品寄回信息
router.post('/me/save-logistics', refund.saveLogistics); // 退换货 - 添加寄回物流信息
router.post('/me/refund/cancel-apply', refund.cancelApply); // 退货 - 取消申请
router.get('/me/exchange-status', refund.exchangeGoods); // 退换货 - 换货状态
router.get('/me/refund/orders', refund.refundOrders); // 退换货 - 订单列表
router.get('/me/refund/get-orders', refund.getRefundOrders); // 退换货 - 获取订单列表数据
// 换货
router.get('/me/exchange', exchange.exchange);
router.get('/me/exchange/order', exchange.order); // AJAX 获取订单 商品
router.get('/me/exchange/delivery', exchange.delivery); // AJAX 获取 退货方式
router.post('/me/exchange/submit', exchange.submit); // AJAX 提交换货 申请
router.post('/me/exchange/cancel-apply', exchange.cancelApply); // AJAX 取消换货申请
router.get('/me/mydetails', home.mydetails); // 个人信息
router.post('/me/save-mydetails', home.saveMydetails); // 保存个人信息
router.get('/me/about', home.about); // 个人中心 - 关于我们
router.get('/me/logistic', order.logistic); // 个人中心 - 退换货物流设置页面
router.get('/me/get-order-logistic-date', order.getOrderLogisticdate); // 个人中心 - 订单物流详情数据
module.exports = router;
... ...
... ... @@ -7,28 +7,28 @@
</a>
</div>
<div class="my-order">
<a class="order-title" href="/home/orders?type=1">
<a class="order-title" href="/me/order?type=1">
我的订单
<span class="read-order">
查看全部订单 <span class="icon icon-right"></span>
</span>
</a>
<div class="order-type clearfix">
<a class="type-item" href="/home/orders?type=2">
<a class="type-item" href="/me/order?type=2">
<span class="icon icon-wait-pay"></span>
<br>待付款
{{#if wait_pay_num}}
<span class="num">{{wait_pay_num}}</span>
{{/if}}
</a>
<a class="type-item" href="/home/orders?type=3">
<a class="type-item" href="/me/order?type=3">
<span class="icon icon-wait-cargo"></span>
<br>待发货
{{#if wait_cargo_num}}
<span class="num">{{wait_cargo_num}}</span>
{{/if}}
</a>
<a class="type-item" href="/home/orders?type=4">
<a class="type-item" href="/me/order?type=4">
<span class="icon icon-send-cargo"></span>
<br>待收货
{{#if send_cargo_num}}
... ... @@ -67,7 +67,7 @@
</a>
</div>
<div class="group-list">
<a class="list-item" href="/home/help">
<a class="list-item" href="/help">
帮助中心
<span class="num"><span class="icon icon-right"></span></span>
</a>
... ...
... ... @@ -32,20 +32,20 @@ router.get('/list.json', productList.fetchProducts);
// 品牌店铺页面
const shop = require(`${cRoot}/shop`);
router.get('/shop', shop.index); // 店铺首页
router.get('/shop/info.json', shop.getShopInfo); // 店铺介绍
router.post('/shop/goods.json', shop.getBrandShopGoods); // 店铺商品列表
router.post('/shop/collect.json', shop.collectShop); // 收藏品牌店铺
router.get('/shop/share', shop.shopShare); // 品牌店铺分享页面
router.get('/product/shop', shop.index); // 店铺首页
router.get('/product/shop/info.json', shop.getShopInfo); // 店铺介绍
router.post('/product/shop/goods.json', shop.getBrandShopGoods); // 店铺商品列表
router.post('/product/shop/collect.json', shop.collectShop); // 收藏品牌店铺
router.get('/product/shop/share', shop.shopShare); // 品牌店铺分享页面
// 商品详情controller
const detail = require(`${cRoot}/detail`);
router.get(/\/([\d]+)(.*)/, detail.index); // 商品详情routers
router.get(/\/product_([\d]+)\.json/, detail.product);
router.get(/\/intro_([\d]+)\.json/, detail.intro);
router.post(/cart.json/, detail.addToCart);
router.post(/favorite.json/, detail.favorite);
router.get(/cart-count.json/, detail.getCartCount);
router.get(/search_product\.json/, detail.search);
router.get(/\/item\/([\d]+)(.*)\.html/, detail.index); // 商品详情routers
router.get(/\/product\/product_([\d]+)\.json/, detail.product);
router.get(/\/product\/intro_([\d]+)\.json/, detail.intro);
router.post(/\product\/cart.json/, detail.addToCart);
router.post(/\product\/favorite.json/, detail.favorite);
router.get(/\product\/cart-count.json/, detail.getCartCount);
router.get(/\product\/search_product\.json/, detail.search);
module.exports = router;
... ...
... ... @@ -7,9 +7,9 @@
module.exports = app => {
app.use('/', require('./apps/channel')); // 一级频道模块
app.use('/', require('./apps/product')); // 商品模块
app.use('/', require('./apps/me')); // 个人中心
app.use('/api', require('./apps/api')); // 各模块公有 API
app.use('/product', require('./apps/product')); // 商品模块
app.use('/home', require('./apps/home')); // 个人中心
app.use('/news', require('./apps/news')); // 资讯
// 组件示例
... ...
... ... @@ -57,8 +57,10 @@ Vue.filter('brandUrl', (value) => {
* 产品 URL
*/
Vue.filter('goodsUrl', productId => {
if (!productId) return '';
return `/product/${productId}`;
if (!productId) {
return '';
}
return `/item/${productId}.html`;
});
/**
... ...
... ... @@ -7,7 +7,7 @@
</div>
<div class="filter-params">
<ul class="filter-cates">
<li class="filter-cate" v-for="classify in config" @click="entrySub($key)">
<li class="filter-cate" v-for="classify in config" v-if="typeof classify === 'object'" @click="entrySub($key)">
<i class="icon icon-right right"></i>
<span class="filter-cate-label">{{$key | filter-en-cn }}</span>
<span class="filter-cate-val">{{showLabel($key)}}</span>
... ...
... ... @@ -9,7 +9,7 @@
</div>
<div class="card-bd">
<h2 class="card-label">
<a href="/product/{{item.productId}}" class="line-clamp-2">{{item.productName}}</a>
<a href="{{item.productId | goodsUrl}}" class="line-clamp-2">{{item.productName}}</a>
</h2>
<span class="good-price" :class="{'old-price': item.marketPrice}" v-if="item.marketPrice">¥ {{item.marketPrice}}</span>
<span class="good-price" :class="{'sale-price': item.marketPrice}">¥ {{item.salesPrice}}</span>
... ...
... ... @@ -29,7 +29,7 @@
<div class="fav-null-box {{ nullbox }}">
<span class="fav-null">您暂无收藏任何品牌</span>
<a slot="go-shopping" class="go-shopping" href="/product/new">随便逛逛</a>
<a slot="go-shopping" class="go-shopping" href="/new">随便逛逛</a>
</div>
</div>
</template>
... ...
... ... @@ -34,7 +34,7 @@
</ul>
<div class="fav-null-box {{ nullbox }}">
<span class="fav-null">您暂无收藏任何商品</span>
<a slot="go-shopping" class="go-shopping" href='/product/new'>随便逛逛</a>
<a slot="go-shopping" class="go-shopping" href='/new'>随便逛逛</a>
</div>
</div>
</template>
... ...
... ... @@ -157,7 +157,7 @@
orderCode: code
}).cancel({orderCode: code}, (result) => {
if (result.code === 200) {
location.href = '/home/orders?type=2';
location.href = '/me/order?type=2';
}
});
};
... ... @@ -181,7 +181,7 @@
}
}).then(result => {
if (result.code === 200) {
location.href = '/home/orders';
location.href = '/me/order';
} else {
tip(result.message);
}
... ...
... ... @@ -116,7 +116,7 @@
reasonId: this.selected.id
}, (result) => {
if (result.code === 200) {
location.href = '/home/orders?type=2';
location.href = '/me/order?type=2';
} else {
tip(result.message);
}
... ...
<template>
<div>
<cheader :title="sortName">
<cheader :title="sortName" class="list-header">
<i class="icon icon-filter" slot="right" @click="openFilter"></i>
</cheader>
<order :config="orderConfig" :val="order"></order>
<List :data="productList"></List>
<Filter :config="filterConfig" action="/product/list.json" v-ref:filter></Filter>
<Filter :config="filterConfig" v-ref:filter></Filter>
</div>
</template>
<script>
... ... @@ -36,7 +36,7 @@
filterConfig: null,
// query
url: '/product/list.json',
url: '/list.json',
order: '',
filter: {},
page: 0, // 未搜索 page=0; 全部加载完 page = totalPage; 无数据: page !=0 && productList.length=0
... ... @@ -158,4 +158,7 @@
</script>
<style>
.list-header {
background-color: white;
}
</style>
... ...
... ... @@ -36,7 +36,7 @@
filterConfig: null,
// query
url: '/product/new.json',
url: '/new.json',
order: '',
filter: {},
page: 0, // 未搜索 page=0; 全部加载完 page = totalPage; 无数据: page !=0 && productList.length=0
... ...
... ... @@ -38,7 +38,7 @@
filterConfig: global.filterConfig,
// query
url: '/product/search.json',
url: '/search.json',
order: '',
query: qs.query,
page: 0, // 未搜索 page=0; 全部加载完 page = totalPage; 无数据: page !=0 && productList.length=0
... ...