Authored by 周少峰

Merge branch 'master' into feature/pcModify

Showing 53 changed files with 113 additions and 38 deletions
... ... @@ -383,6 +383,7 @@ class WebAction extends Controller_Abstract
$userInfo = LoginData::profile($uid);
if (isset($userInfo['data']) && $userInfo['data']) {
$token = Helpers::makeToken($uid);
$userInfo['data']['uid'] = Encryption::encrypt($userInfo['data']['uid']);
$uidCookie = $userInfo['data']['profile_name'] . '::' . $userInfo['data']['uid'] . '::' . $userInfo['data']['vip_info']['title'] . '::' . $token;
$this->setCookie('_UID',$uidCookie,time() + 86400 * 360);
UdpLog::info('syncUserCookie :',$uidCookie);
... ... @@ -412,6 +413,7 @@ class WebAction extends Controller_Abstract
// 兼容老的
if (!empty($cookie)) {
$cookieList = explode('::', $cookie);
$cookieList[1] = intval(Encryption::decrypt($cookieList[1]));
if (isset($cookieList[1]) && $cookieList[1]) {
if ($useSession) {
$token = $this->getSession('_TOKEN');
... ...
... ... @@ -105,7 +105,7 @@ class Yohobuy
{
$clientType = self::clientType();
$param = array(
'app_version' => '3.8.2',
'app_version' => '4.9.0',
'client_type' => $clientType,
'os_version' => 'yohobuy:h5',
'private_key' => self::$privateKeyList[$clientType],
... ... @@ -155,10 +155,10 @@ class Yohobuy
$urlBack = $url;
if (USE_INTER_FACE_SHUNT) {
if (strpos($url, 'api')) {
if (strpos($url, API_URL)) {
$isApi = true;
$url = self::_getUrl($url, $data);
} else if (strpos($url, 'service')) {
} else if (strpos($url, SERVICE_URL)) {
$isService = true;
$url = self::_getUrl($url, $data);
}
... ... @@ -319,10 +319,10 @@ class Yohobuy
$urlBack = $url;
if (USE_INTER_FACE_SHUNT) {
if (strpos($url, 'api')) {
if (strpos($url, API_URL)) {
$isApi = true;
$url = self::_getUrl($url, $data);
} else if (strpos($url, 'service')) {
} else if (strpos($url, SERVICE_URL)) {
$isService = true;
$url = self::_getUrl($url, $data);
}
... ... @@ -761,7 +761,7 @@ class Yohobuy
}
$paseUrl = parse_url($url);
if (strpos($url, 'api')) {
if (strpos($url, API_URL)) {
if (empty($ips['api.yoho.cn'])) {
return false;
... ... @@ -775,7 +775,7 @@ class Yohobuy
$url = 'http://' . $ips['api.yoho.cn'][$num]['ip'] . rtrim($paseUrl['path'], '/') . '/';
} else if (strpos($url, 'service')) {
} else if (strpos($url, SERVICE_URL)) {
if (empty($ips['service.yoho.cn'])) {
return false;
... ...
... ... @@ -34,7 +34,6 @@ class LoginData
$param['area'] = $area;
$param['profile'] = $profile;
$param['password'] = $password;
$param['app_version'] = '4.0.0';
$param['client_type'] = $type;
$param['private_key'] = Yohobuy::$privateKeyList[$type];
if (!empty($shoppingKey)) {
... ...
... ... @@ -50,9 +50,16 @@ class HelperHome
{
$result = array();
foreach ($product as $key => $val) {
$img = (isset($val['default_images']) && $val['default_images'])?Images::getImageUrl($val['default_images'], 100, 100) : '';
// 强制对图片进行切图规则处理 redmine:12390
if (strpos($img, 'imageView')) {
$img = strstr($img, 'imageView', true) . 'imageMogr2/thumbnail/100x100/extent/100x100/background/d2hpdGU=/position/center/quality/70';
}
$result[] = array(
'href' => Helpers::getUrlBySkc($val['product_id'], $val['goods_list'][0]['product_skc'], $val['cn_alphabet']),
'thumb' => (isset($val['default_images']) && $val['default_images'])?Images::getImageUrl($val['default_images'], 400, 500) : '',
'thumb' => $img,
'name' => $val['product_name'],
'price' => $val['sales_price'],
'productId' => $val['product_id'],
... ...
... ... @@ -716,6 +716,7 @@ class Helpers
$oneGoods['yohoIcon'] = isset($value['get_yoho_coin']) ? $value['get_yoho_coin'] : 0;
$oneGoods['productSubtotal'] = self::transPrice( floatval($value['last_vip_price']) * intval($value['buy_number']) );
$oneGoods['promotionId'] = empty($value['promotion_id']) ? '0' : $value['promotion_id'];
$oneGoods['isLimitSkn'] = $value['is_limit_skn'] === 'Y'; //is_limit_skn=Y 不支持7天无理由退货
// 已下架
if ($isOffShelves) {
... ...
... ... @@ -251,7 +251,7 @@
<span class="gift">赠品</span>
{{/isGift}}
</a>
<p class="pay-pro-info">
<p class="pay-pro-info" {{# isLimitSkn}}style="padding-top:4px;"{{/ isLimitSkn}}>
<a href="{{link}}" target="_blank">{{productTitle}}</a>
<span>
{{#if productColor}}
... ... @@ -261,6 +261,7 @@
尺码:{{productSize}}
{{/if}}
</span>
{{# isLimitSkn}}<span class="special-limit-7day"><i></i>不支持7天无理由退换</span>{{/ isLimitSkn}}
</p>
</div>
</td>
... ... @@ -413,12 +414,12 @@
</div>
<div class="receipt-type receipt-margin">
<span class="e-receipt curser-buttonn receipt-type-selected ">电子发票</span>
<span class="paper-receipt curser-button">纸质发票</span>
<span class="e-receipt curser-buttonn {{#if openInvoice}} receipt-type-selected {{^}} hide {{/if}}">电子发票</span>
<span class="paper-receipt curser-button {{#unless openInvoice}}receipt-type-selected{{/unless}}">纸质发票</span>
</div>
<div class="receipt-container receipt-margin">
<div class="e-receipt-desc">
<div class="e-receipt-desc {{#unless openInvoice}}hide{{/unless}}">
<a href="{{invoiceUrl}}" target="_blank"></a>
</div>
... ... @@ -450,7 +451,7 @@
</div>
</div>
<div class="invoice-list invoice-phone">
<div class="invoice-list invoice-phone {{#unless openInvoice}}hide{{/unless}}">
<span class="invoice-star">*</span>
<span class="invoice-list-type">收票人手机</span>
<div class="invoice-line first-line input-line">
... ...
... ... @@ -29,4 +29,5 @@
</div>
{{/ guang}}
</div>
{{> layout/criteo}}
{{> layout/footer}}
\ No newline at end of file
... ...
... ... @@ -41,4 +41,5 @@
</div>
{{/ guang}}
</div>
{{> layout/criteo}}
{{> layout/footer}}
\ No newline at end of file
... ...
... ... @@ -149,4 +149,5 @@
</div>
{{/ guang}}
</div>
{{> layout/criteo}}
{{> layout/footer}}
... ...
... ... @@ -21,4 +21,5 @@
</div>
{{/ guang}}
</div>
{{> layout/criteo}}
{{> layout/footer}}
\ No newline at end of file
... ...
... ... @@ -35,8 +35,10 @@
<input type="hidden" value="{{sku}}" name="sku">
<input type="hidden" value="{{price}}" name="price">
<input type="hidden" value="{{goods_type_id}}" name="typeid">
{{#unless isLimitSkn}}
<input type="checkbox" checked="true">
{{/unless}}
{{/unless}}
</td>
<td width="60">
<img src="{{thumb}}">
... ... @@ -63,7 +65,7 @@
<td class="exchange-choose-wrap">
<p>
颜色要换成:
<select class="exchange-color">
<select class="exchange-color" {{#if isLimitSkn}}disabled{{/if}}>
<option value="0">请选择颜色</option>
{{# colorSize}}
<option value="{{goodsId}}">{{color}}</option>
... ... @@ -79,13 +81,13 @@
</p>
<p>
尺码要换成:
<select class="exchange-size">
<select class="exchange-size" {{#if isLimitSkn}}disabled{{/if}}>
<option value="0">请选择尺码</option>
</select>
</p>
</td>
<td class="return-reason-wrap">
<select class="return-reason">
<select class="return-reason" {{#if isLimitSkn}}disabled{{/if}}>
<option value="0">请选择换货原因</option>
{{#with exchange}}
{{# reason}}
... ... @@ -166,8 +168,10 @@
<input type="hidden" value="{{sku}}" name="sku">
<input type="hidden" value="{{price}}" name="price">
<input type="hidden" value="{{goods_type_id}}" name="typeid">
{{#unless isLimitSkn}}
<input type="checkbox" checked="true">
{{/unless}}
{{/unless}}
</td>
<td width="60">
<img src="{{thumb}}">
... ... @@ -192,7 +196,7 @@
{{#if banMsg}}
<label>{{banMsg}}</label>
{{^}}
<select class="return-reason">
<select class="return-reason" {{#if isLimitSkn}}disabled{{/if}}>
<option value="0">请选择退货原因</option>
{{#with refund}}
{{# reason}}
... ...
... ... @@ -54,4 +54,5 @@
</div>
{{/ brands}}
</div>
{{> layout/criteo}}
{{> layout/footer}}
\ No newline at end of file
... ...
... ... @@ -18,6 +18,12 @@ var _gaq = _gaq || [];
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
(function() {
var hm = document.createElement("script");
hm.src = "//hm.baidu.com/hm.js?65dd99e0435a55177ffda862198ce841";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
}
if (window.addEventListener) {
window.addEventListener('load', async_load, false);
... ...
<!-- Home page tag ---->
<script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script>
<script type="text/javascript">
window.criteo_q = window.criteo_q || [];
window.criteo_q.push(
{ event: "setAccount", account: 16184 },
{ event: "setHashedEmail", email: "" },
{ event: "setSiteType", type: "d" },
{ event: "viewHome" }
);
</script>
\ No newline at end of file
... ...
... ... @@ -330,6 +330,10 @@
<div class="footer-link">
<div class="center-content clearfix">
<div class="left right-flag">
<div class="govicon">
<script id="jsgovicon" src="http://odr.jsdsgsxt.gov.cn:8081/mbm/app/main/electronic/js/govicon.js?siteId=f2b6e3b8d18241afb8dd6cadf7f15406&width=26&height=34&type=1" type="text/javascript" charset="utf-8"></script>
</div>
<a href="https://ss.knet.cn/verifyseal.dll?sn=e14021832010046477dka7000000&amp;ct=df&amp;a=1&amp;pa=0.5902942178957805" target="_blank" rel="nofollow">
<img src="//static.yohobuy.com/images/v3/icon/credit-flag3.png">
</a>
... ...
{{#brandBrowse}}
<div class="brand-collect left-modular">
{{#if title}}
<h2 class="title">{{title}}</h2>
{{/if}}
<ul class="left-list">
{{#each list}}
<li class="{{#if cur}} on {{/if}}"><a href="{{url}}">{{brandName}}</a></li>
... ... @@ -11,7 +13,9 @@
{{#recommend}}
<div class="classic-recommend left-modular">
{{#if title}}
<h2 class="title">{{title}}</h2>
{{/if}}
<ul class="left-list">
{{#each list}}
<li>
... ... @@ -34,7 +38,9 @@
{{#hotRecommend}}
<div class="sell-recommend left-modular">
{{#if title}}
<h2 class="title">{{title}}</h2>
{{/if}}
<ul class="left-list">
{{#each list}}
<li>
... ...
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.

426 Bytes | W: | H:

275 Bytes | W: | H:

  • 2-up
  • Swipe
  • Onion skin

48.3 KB | W: | H:

48.4 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

426 Bytes | W: | H:

275 Bytes | W: | H:

  • 2-up
  • Swipe
  • Onion skin

48.3 KB | W: | H:

50.1 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
{
"name": "web-yohobuy",
"version": "4.9.12",
"version": "4.9.18",
"description": "web yohobuy static",
"keywords": [],
"homepage": "",
... ...
... ... @@ -298,6 +298,14 @@
a {
margin-right: 5px;
}
.govicon {
float: left;
border-radius: 2px;
margin-right: 8px;
background: #fff;
width: 26px;
height: 34px;
}
}
.about-us {
... ...
... ... @@ -391,6 +391,19 @@
background-repeat: no-repeat;
}
}
.special-limit-7day{
display: block;
height: 16px;
line-height: 16px;
}
.special-limit-7day i{
float: left;
display: block;
width: 16px;
height: 16px;
margin-right: 2px;
background: url(/cart/7day-limit.png) no-repeat;
}
}
.cartnew-sum {
... ...
... ... @@ -151,7 +151,7 @@ class FavoriteModel
$pageTotal = ceil($total / $limit); //总页数
$page = $page > $pageTotal ? $pageTotal : $page; //当前页超多总页数取总页数
$result['goods'] = self::getGoodsInfo($productList, $page, $limit); //收藏商品列表
$result['pager'] = self::getPager($page, $total, $pageTotal, $limit, $type);
$result['pager'] = self::getPager($page, $total, $pageTotal, $limit, $type, $sort);
return $result;
}
... ... @@ -304,7 +304,7 @@ class FavoriteModel
* @param type $size 每页显示数量
* @return type
*/
public static function getPager($page, $total, $totalPage, $size, $type)
public static function getPager($page, $total, $totalPage, $size, $type, $sort = 0)
{
$result = array();
if (isset($page) && isset($total) && isset($totalPage)) {
... ... @@ -313,7 +313,7 @@ class FavoriteModel
$result['totalPages'] = $totalPage;
$result['hasCheckAll'] = true;
$paging = new Paging('yoho');
$paging->setTotal($total)->setSize($size)->setQuery(array('page' => $page, 'type' => $type));
$paging->setTotal($total)->setSize($size)->setQuery(array('page' => $page, 'type' => $type, 'sort_id' => $sort));
$result['pagerHtml'] = $paging->view(false);
}
return $result;
... ...
... ... @@ -317,12 +317,14 @@ class ReturnsModel
$result['goods'][$key]['reason'] = $data['data']['return_reason'];
$result['goods'][$key]['isLimitSkn'] = $value['is_limit_skn'] === 'Y'; //is_limit_skn=Y 不支持7天无理由退换货
// tar note 为每个特殊商品都添加标识
if ($value['is_limit_skn'] === 'Y') {
$remarks = explode(' ', $data['data']['special_notice']['remark'], 2); // 使用3个空格拆分
$result['goods'][$key]['specialNoticeBo']['title'] = $data['data']['special_notice']['title'];
$result['goods'][$key]['specialNoticeBo']['remark1'] = $remarks[0];
$result['goods'][$key]['specialNoticeBo']['remark2'] = $remarks[1];
$result['goods'][$key]['specialNoticeBo']['remark1'] = '该商品非质量问题不支持退换货,如有疑问,请联系客服。'; //$remarks[0];
//$result['goods'][$key]['specialNoticeBo']['remark2'] = $remarks[1];
// tar note 对数组做处理,为不显示的添加 inactive
if (isset($data['data']['special_return_reason'])) {
... ... @@ -406,13 +408,14 @@ class ReturnsModel
$result['goods'][$key]['goods_type_id'] = $value['goods_type_id'];
$result['goods'][$key]['reason'] = $data['data']['exchange_reason'];
$result['goods'][$key]['isLimitSkn'] = $value['is_limit_skn'] === 'Y'; //is_limit_skn=Y 不支持7天无理由退换货
// tar note 为每个特殊商品都添加标识
if ($value['is_limit_skn'] === 'Y') {
$remarks = explode(' ', $data['data']['specialNoticeBo']['remark'], 2); // 使用3个空格拆分
$result['goods'][$key]['specialNoticeBo']['title'] = $data['data']['specialNoticeBo']['title'];
$result['goods'][$key]['specialNoticeBo']['remark1'] = $remarks[0];
$result['goods'][$key]['specialNoticeBo']['remark2'] = $remarks[1];
$result['goods'][$key]['specialNoticeBo']['remark1'] = '该商品非质量问题不支持退换货,如有疑问,请联系客服。'; //$remarks[0];
//$result['goods'][$key]['specialNoticeBo']['remark2'] = $remarks[1];
// tar note 对数组做处理,为不显示的添加 inactive
if (isset($data['data']['special_exchange_reason'])) {
... ...
... ... @@ -75,7 +75,7 @@ class ShopModel
}
}
$sknProList = SearchData::searchAll(array('query' => join(',', array_unique($sknList))));
$sknProList = SearchData::searchAll(array('query' => join(',', array_unique($sknList)), 'viewNum' => 20));
if (isset($sknProList['data']['product_list']) && !empty($sknProList['data']['product_list'])) {
$coverList = array();
... ... @@ -302,11 +302,11 @@ class ShopModel
$result = array(
'banner' => '',
'isShowShopName' => false,
'bannerHeight' => 150
'bannerHeight' => 200
);
if (!empty($data['resource_data'][0]['shopSrc'])) {
$result['banner'] = self::imageView2($data['resource_data'][0]['shopSrc'], 1150, 150);
$result['banner'] = self::imageView2($data['resource_data'][0]['shopSrc'], 1150, 200);
}
if (!empty($data['resource_data'][0]['detailSrc'])) {
... ... @@ -479,7 +479,7 @@ class ShopModel
}
return array(
'title' => isset($result[0]['title']) ? $result[0]['title'] : '经典推荐',
'title' => isset($result[0]['title']) ? $result[0]['title'] : '',
'list' => $result
);
}
... ... @@ -505,7 +505,7 @@ class ShopModel
}
return array(
'title' => isset($result[0]['title']) ? $result[0]['title'] : '热销推荐',
'title' => isset($result[0]['title']) ? $result[0]['title'] : '',
'list' => $result
);
}
... ... @@ -561,12 +561,16 @@ class ShopModel
),
''
),
'title' => $resource['title'],
'brandName' => $resource['brandName'],
'cur' => ($brand === strval($resource['id']))
);
}
return array('title' => '品牌集合', 'list' => $result);
return array(
'title' => isset($result[0]['title']) ? $result[0]['title'] : '',
'list' => $result
);
}
/**
... ...
... ... @@ -259,6 +259,7 @@ class IndexController extends WebAction
$this->_view->display('order-ensure', array(
'orderEnsurePage' => true,
'openInvoice' => true, //是否开启电子发票
'orderEnsure' => $orderEnsure,
));
}
... ...
... ... @@ -50,7 +50,7 @@ application.template.ext = ".phtml"
application.assets.path = ROOT_PATH "/assets/web"
; 应用的版本号
application.version = "4.9.12"
application.version = "4.9.18"
; 网站SEO信息
application.seo.title = "YOHO!BUY 有货 | 年轻人潮流购物中心,中国潮流购物风向标,官方授权正品保证"
... ...
... ... @@ -50,7 +50,7 @@ application.template.ext = ".phtml"
application.assets.path = ROOT_PATH "/assets/web"
; 应用的版本号
application.version = "4.9.12"
application.version = "4.9.18"
; 网站SEO信息
application.seo.title = "YOHO!BUY 有货 | 年轻人潮流购物中心,中国潮流购物风向标,官方授权正品保证"
... ...
... ... @@ -50,7 +50,7 @@ application.template.ext = ".phtml"
application.assets.path = ROOT_PATH "/assets/web"
; 应用的版本号
application.version = "4.9.12"
application.version = "4.9.18"
; 网站SEO信息
application.seo.title = "YOHO!BUY 有货 | 年轻人潮流购物中心,中国潮流购物风向标,官方授权正品保证"
... ...
... ... @@ -50,7 +50,7 @@ application.template.ext = ".phtml"
application.assets.path = ROOT_PATH "/assets/web"
; 应用的版本号
application.version = "4.9.12"
application.version = "4.9.18"
; 网站SEO信息
application.seo.title = "YOHO!BUY 有货 | 年轻人潮流购物中心,中国潮流购物风向标,官方授权正品保证"
... ...
... ... @@ -12,7 +12,7 @@ defined('APPLICATION_ENV') || define('APPLICATION_ENV', 'preview');
define('EXHIBITION_TICKET', 51335912);//展览票skn
define('USE_INTER_FACE_SHUNT', true);//分流开关
define('USE_INTER_FACE_SHUNT', false);//分流开关
define('API_URL', 'http://api.yoho.yohoops.org/');
define('SERVICE_URL', 'http://service.yoho.yohoops.org/');
... ...
... ... @@ -12,7 +12,7 @@ defined('APPLICATION_ENV') || define('APPLICATION_ENV', 'production');
define('EXHIBITION_TICKET', 51335912);//展览票skn
define('USE_INTER_FACE_SHUNT', true);//分流开关
define('USE_INTER_FACE_SHUNT', false);//分流开关
define('API_URL', 'http://api.yoho.yohoops.org/');
define('SERVICE_URL', 'http://service.yoho.yohoops.org/');
... ...