Init Repo

This commit is contained in:
root
2019-09-06 23:53:10 +08:00
commit f0ef89dfbb
7905 changed files with 914138 additions and 0 deletions

View File

@ -0,0 +1,392 @@
{extend name="default/base" /}
{block name="title"}商品详情 - {__block__}{/block}
{block name="css"}
<link rel="stylesheet" href="__WECHAT__/css/swiper.min.css">
<link rel="stylesheet" href="__WECHAT__/css/goods_detail.css?v={$v}">
{/block}
{block name="header"}
{php}$cartNum = WSTCartNum();{/php}
<header class="ui-header ui-header-positive wst-header" id="goods-header" style="display:none;">
<i class="ui-icon-return" onclick="history.back()"></i>
<ul class="ui-tab-nav">
<li class="switch active" onclick="javascript:pageSwitch(this,1);">商品</li>
<li class="switch" onclick="javascript:pageSwitch(this,2);">详情</li>
<li class="switch" id="appr" onclick="javascript:pageSwitch(this,3);">评价</li>
</ul>
<a href="{:url('wechat/carts/index')}"><span class="cart" id="cartNum">{if($cartNum>0)}<span>{php} echo $cartNum;{/php}</span>{/if}</span></a>
<span class="share" onclick="javascript:WST.share();"></span>
</header>
{/block}
{block name="footer"}
{if($info)}
<div class="ui-loading-wrap wst-Load" id="Load">
<i class="ui-loading"></i>
</div>
<input type="hidden" name="" value="{$info['goodsId']}" id="goodsId" autocomplete="off">
<input type="hidden" name="" value="{$info['goodsType']}" id="goodsType" autocomplete="off">
<footer class="ui-footer wst-footer-btns" style="height:42px; border-top: 1px solid #e8e8e8;" id="footer">
<div class="wst-toTop" id="toTop">
<i class="wst-toTopimg"></i>
</div>
<div class="ui-row-flex">
<div class="ui-col ui-col-3 wst-go-icon">
<div class="ui-row-flex">
<div class="ui-col ui-col" style="border-right: 1px solid rgba(0,0,0,.05);">
{if($info['shop']['shopQQ'])!=''}
<div class="icon"><a href="{:request()->scheme()}://wpa.qq.com/msgrd?v=3&uin={$info['shop']['shopQQ']}&site=qq&menu=yes"><span class="img qq"></span><span class="word">客服</span></a></div>
{else /}
<div class="icon"><a href="tel:{$info['shop']['shopTel']}"><span class="img tel"></span><span class="word">客服</span></a></div>
{/if}
</div>
<div class="ui-col ui-col" style="border-right: 1px solid rgba(0,0,0,.05);">
<div class="icon"><a href="{:url('wechat/shops/home',['shopId'=>$info['shop']['shopId']])}")><span class="img shop"></span><span class="word">店铺</span></a></div>
</div>
<div class="ui-col ui-col">
{if($info['favGood']==0)}
<button class="but" type="button"><span class="img imgfollow nofollow" onclick="javascript:WST.favorites({$info['goodsId']},0);"></span><span style="bottom: 5px;" class="word">关注</span></button>
{else}
<button class="but" type="button"><span class="img imgfollow follow" onclick="javascript:WST.cancelFavorite({$info['favGood']},0);"></span><span style="bottom: 5px;" class="word">关注</span></button>
{/if}
</div>
</div>
</div>
<div class="ui-col ui-col-4 wst-goods_buy">
{if($info['goodsType']==1)}
<button class="wst-goods_buym" type="button" onclick="javascript:cartShow(1);" {if($info['goodsId']==0)}disabled{/if}>立即购买</button>
{else}
<button class="wst-goods_buyl" type="button" onclick="javascript:cartShow(0);" {if($info['goodsId']==0)}disabled{/if}>加入购物车</button>
<button class="wst-goods_buyr" type="button" onclick="javascript:cartShow(1);" {if($info['goodsId']==0)}disabled{/if}>立即购买</button>
{/if}
</div>
</div>
</footer>
{/if}
{/block}
{block name="main"}
{if($info)}
{/* 商品 */}
<div class="wst-go-more" id="arrow" style="display: none;"><i class="arrow"></i>
<ul class="ui-row ui-list-active more">
<li class="ui-col"><div class="column line"><a href="{:url('wechat/index/index')}"><i class="home"></i><p>首页</p></a></div></li>
<li class="ui-col"><div class="column line"><a href="{:url('wechat/goodscats/index')}"><i class="category"></i><p>分类</p></a></div></li>
<li class="ui-col"><div class="column line"><a href="{:url('wechat/carts/index')}"><i class="cart"></i><p>购物车</p></a></div></li>
<li class="ui-col"><div class="column line"><a href="{:url('wechat/favorites/goods')}"><i class="follow"></i><p>关注</p></a></div></li>
<li class="ui-col"><div class="column"><a href="{:url('wechat/users/index')}"><i class="user"></i><p>我的</p></a></div></li>
</ul>
</div>
<div class="wst-ca-layer" id="layer" onclick="javascript:inMore();"></div>
<section class="ui-container" id="goods1" style="border-top: 0px solid transparent;">
<div class="swiper-container">
<div class="swiper-wrapper">
{volist name="info['gallery']" id="ga"}
<div class="swiper-slide" style="width:100%;">
<div class="wst-go-img"><a><img src="__ROOT__/{:WSTImg($ga,2)}"></a></div>
</div>
{/volist}
</div>
{if(count($info['gallery'])>1)}<div class="swiper-pagination"></div>{/if}
<div class="wst-go-return" onclick="history.back()"><i class="ui-icon-prev"></i></div>
<div class="wst-go-mores" onclick="javascript:inMore()"><i>···</i></div>
</div>
<div class="wst-go-name">{$info['goodsName']}</div>
<div class="ui-row-flex wst-go-price">
<div class="ui-col ui-col-2">
<div class="price"><i>¥ </i>{$info['shopPrice']}<span class="market">¥ {$info['marketPrice']}</span></div>
<div class="ui-row-flex info">
<div class="ui-col ui-col" style="text-align: left;">快递: {if $info['isFreeShipping']==1}免运费{else}{php}echo sprintf("%.2f", $info['shop']['freight']);{/php}{/if}</div>
<div class="ui-col ui-col" style="text-align: center;">销量: {$info['saleNum']}</div>
<div class="ui-col ui-col" style="text-align: right;">{$info['shop']['areas']['areaName1']}{$info['shop']['areas']['areaName2']}</div>
</div>
</div>
{:hook('wechatDocumentGoodsDetailTips',["goods"=>$info])}
</div>
<ul class="ui-list ui-list-text wst-go-ul ui-list-active">
{if WSTConf('CONF.isOrderScore')==1}
<li>
<div class="ui-list-info">
<h5 class="ui-nowrap"><span class="word">积分</span><span class="line">|</span>购买即可获得{php}echo ceil($info['shopPrice']);{/php}积分</h5>
</div>
<span class="icon">···</span>
</li>
{/if}
<li id='j-promotion' style='display:none;'>
<div class="ui-list-info">
<h5 class="ui-nowrap">
<div style="float: left;">
<span class="word">促销</span>
<span class="line">|</span>
</div>
{:hook('wechatDocumentGoodsPromotionDetail',['goods'=>$info])}
</h5>
</div>
</li>
{/* 优惠券钩子 */}
{:hook('wechatDocumentGoodsPropDetail')}
<li style="display: none;">
<div class="ui-list-info">
<h5 class="ui-nowrap"><span class="word">优惠</span><span class="line">|</span></h5>
</div>
<span class="icon">···</span>
</li>
{if !empty($info['attrs']) }
<li onclick="javascript:dataShow();">
<div class="ui-list-info">
<h5 class="ui-nowrap">产品参数</h5>
</div>
<span class="icon">···</span>
</li>
{/if}
<li onclick="javascript:pageSwitch($('#appr'),3);">
<div class="ui-list-info">
<h5 class="ui-nowrap">商品评价( <span class="red">{$info['appraiseNum']}</span> )</h5>
</div>
<span class="icon">···</span>
</li>
</ul>
<ul class="ui-list ui-list-one ui-list-link wst-go-shop">
<div class="info">
<div class="img"><a><img src="__ROOT__/{:WSTImg($info['shop']['shopImg'],3)}" title="{$info['shop']['shopName']}"></a></div>
<div class="name"><p class="ui-nowrap-flex name1">{$info['shop']['shopName']}</p><p class="ui-nowrap-flex name2"><span>主营: {$info['shop']['cat']}</span></p></div>
<div class="wst-clear"></div>
</div>
<div class="ui-row-flex score">
<div class="ui-col ui-col" style="text-align:left;">商品评分: <span class="red">{$info['shop']['goodsScore']}</span></div><span class="line">|</span>
<div class="ui-col ui-col" style="text-align:center;">时效评分: <span class="red">{$info['shop']['timeScore']}</span></div><span class="line">|</span>
<div class="ui-col ui-col" style="text-align:right;">服务评分: <span class="red">{$info['shop']['serviceScore']}</span></div>
</div>
<div class="ui-row-flex button">
<div class="ui-col ui-col"><a href="{:url('wechat/shops/shopGoodsList',['shopId'=>$info['shop']['shopId']])}" class="goods">全部商品</a></div>
<div class="ui-col ui-col"><a href="{:url('wechat/shops/home',['shopId'=>$info['shop']['shopId']])}" class="shop">进入店铺</a></div>
</div>
</ul>
<div class="title gc-title" onclick="goConsult()">
<span class='gc-tit-icon'></span>
<span class='gc-tit-icon2'></span>
购买咨询
</div>
<div class="gc-title-list">
{if($info['consult']['consultContent'])}
<li>
<div class="question-box cf">
<span class="question-pic"></span>
<div class="question-content">
<span>{$info['consult']['consultContent']}</span>
</div>
<div class="wst-clear"></div>
</div>
{if($info['consult']['reply'])}
<div class="question-box cf">
<span class="question-pic answer-pic"></span>
<div class="question-content answer-content">
<span>{$info['consult']['reply']}</span>
</div>
<div class="wst-clear"></div>
</div>
{/if}
</li>
{else}
<p class="prompt">暂无商品咨询~</p>
{/if}
</div>
<div class="wst-shl-ads">
<div class="title">猜你喜欢</div>
{wst:goods type='best' cat="$info['shop']['catId']" num='6'}
<div class="wst-go-goods" onclick="javascript:WST.intoGoods({$vo['goodsId']});">
<div class="img j-imgAdapt">
<a href="javascript:void(0);" onclick="javascript:WST.intoGoods({$vo['goodsId']});"><img src="__ROOT__/{:WSTConf('CONF.goodsLogo')}" data-echo="__ROOT__/{:WSTImg($vo['goodsImg'],3)}" title="{$vo['goodsName']}"></a>
</div>
<p class="name ui-nowrap-multi">{$vo['goodsName']}</p>
<div class="info"><span class="ui-nowrap-flex price">¥ {$vo['shopPrice']}</span></div>
</div>
{/wst:goods}
<div class="wst-clear"></div>
</div>
</section>
{/* 详情 */}
<section class="ui-container" id="goods2" style="display: none;">
<div class="wst-go-details">{$info['goodsDesc']}</div>
</section>
{/* 评价 */}
<input type="hidden" name="" value="{$info['goodsId']}" id="goodsId" autocomplete="off">
<input type="hidden" name="" value="" id="evaluateType" autocomplete="off">
<input type="hidden" name="" value="" id="currPage" autocomplete="off">
<input type="hidden" name="" value="" id="totalPage" autocomplete="off">
<section class="ui-container" id="goods3" style="display: none;">
<div class="ui-row-flex wst-ev-term">
<div class="ui-col ui-col active" onclick="javascript:evaluateSwitch(this,'');"><p>全部</p><p class="number">{$info['appraises']['sum']}</p></div>
<div class="ui-col ui-col" onclick="javascript:evaluateSwitch(this,'best');"><p>好评</p><p class="number">{$info['appraises']['best']}</p></div>
<div class="ui-col ui-col" onclick="javascript:evaluateSwitch(this,'good');"><p>中评</p><p class="number">{$info['appraises']['good']}</p></div>
<div class="ui-col ui-col" onclick="javascript:evaluateSwitch(this,'bad');"><p>差评</p><p class="number">{$info['appraises']['bad']}</p></div>
<div class="ui-col ui-col" onclick="javascript:evaluateSwitch(this,'pic');"><p>晒图</p><p class="number">{$info['appraises']['pic']}</p></div>
</div>
<div id="evaluate-list" style="margin-top: 10px;"></div>
</section>
<script id="list" type="text/html">
{{# if(d && d.length>0){ }}
{{# for(var i=0; i<d.length; i++){ }}
<div class="ui-whitespace wst-go-evaluate">
<div class="info">
<p>
<img src="__ROOT__/{{ d[i].userPhoto }}" class="portrait">
<span class="name">{{ d[i].loginName }}</span>
{{# if(d[i].userTotalScore){ }}
<img src="__ROOT__/{{ d[i].userTotalScore }}" class="ranks">
{{# } }}
<span class="time">{{ d[i].createTime }}</span>
<div class="wst-clear"></div>
</p>
</div>
<div class="content">
<p>
{{# var score = (d[i].goodsScore+d[i].serviceScore+d[i].timeScore)/3; }}
{{# for(var j=1; j<6; j++){ }}
{{# if(j <= score.toFixed(0)){ }}
<i class="bright"></i>
{{# }else{ }}
<i class="dark"></i>
{{# } }}
{{# } }}
</p>
<p class="content2">{{ d[i].content }}</p>
{{# if(d[i].images){ }}
{{# var img = d[i].images.split(','); }}
{{# for(var m=0; m<img.length; m++){ }}
<img src="__ROOT__/{{ img[m] }}">
{{# } }}
{{# } }}
<p class="word">{{ d[i].goodsSpecNames }}</p>
<div class="wst-clear"></div>
</div>
{{# if(d[i].shopReply){ }}
<div class="reply"><p>卖家回复{{ d[i].shopReply }}</p></div>
{{# } }}
</div>
{{# } }}
{{# }else{ }}
<div class="wst-prompt-icon"><img src="__WECHAT__/img/nothing-evaluate.png"></div>
<div class="wst-prompt-info">
<p>对不起没有相关评论</p>
</div>
{{# } }}
</script>
{else}
<div class="wst-prompt-icon"><img src="__WECHAT__/img/nothing-goods.png"></div>
<div class="wst-prompt-info">
<p>对不起,没有找到商品。</p>
</div>
{/if}
{/block}
{block name="include"}
{include file="default/dialog" /}<!-- 对话框模板 -->
{if($info)}
{/* 遮盖层 */}
<div class="wst-cover" id="cover"></div>
{/* 参数框 */}
{if !empty($info['attrs']) }
<div class="wst-fr-box" id="frame">
<div class="title"><span>产品参数</span><i class="ui-icon-close-page" onclick="javascript:dataHide();"></i><div class="wst-clear"></div></div>
<div class="content" id="content">
{volist name="$info['attrs']" id="at"}
{$at['attrName']}{$at['attrVal']}<br/>
{/volist}
</div>
<div class="determine"><button class="button" onclick="javascript:dataHide();">确定</button></div>
</div>
{/if}
{/*加入购物车框 */}
<div class="wst-cart-box" id="frame-cart">
<div class="title">
<div class="picture"><div class="img"><a href="javascript:void(0);"><img src="__ROOT__/{:WSTImg($info['goodsImg'],3)}" title="{$info['goodsName']}"></a></div></div>
<i class="ui-icon-close-page" onclick="javascript:cartHide();"></i>
<p class="ui-nowrap-multi">{$info['goodsName']}</p>
<p class="ui-nowrap-flex price"><span id="j-shop-price">¥{$info['shopPrice']}</span><span id="j-market-price" class="price2">¥ {$info['marketPrice']}</span></p>
<div class="wst-clear"></div>
</div>
<div class="standard" id="standard">
{if!empty($info['spec'])}
{volist name="$info['spec']" id="sp"}
<div class="spec">
<p>{$sp['name']}</p>
{volist name="sp['list']" id="sp2"}
{if $sp2['itemImg']!=''}
<img class="j-option img" data-val="{$sp2['itemId']}" src="__ROOT__/{:WSTImg($sp2['itemImg'],3)}" title="{$sp2['itemName']}">
{else}
<span class="j-option" data-val="{$sp2['itemId']}">{$sp2['itemName']}</span>
{/if}
{/volist}
<div class="wst-clear"></div>
</div>
{/volist}
{/if}
<div class="number">
<p>数量</p>
<div class="stock">库存:<span id="goods-stock">0</span>{$info['goodsUnit']}</div>
<div class="wst-buy_l">
<input class="wst-buy_l1" type="button" value="-" onclick='javascript:WST.changeIptNum(-1,"#buyNum")'><input id="buyNum" class="wst-buy_l2" data-min='1' data-max='' type="number" value="1" autocomplete="off" onkeyup='WST.changeIptNum(0,"#buyNum")'><input class="wst-buy_l3" type="button" value="+" onclick='javascript:WST.changeIptNum(1,"#buyNum")'>
</div>
<div class="wst-clear"></div>
</div>
</div>
<div class="determine"><button class="button" onclick="javascript:addCart();">确定</button></div>
</div>
{/block}
{block name="js"}
{if(!empty($datawx))}
<script src="{:request()->scheme()}://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script>
wx.config({
debug: false,
appId: '<?php echo WSTConf('CONF.wxAppId'); ?>', //公众号的唯一标识
timestamp: '<?php echo $datawx['timestamp'];?>', //生成签名的时间戳
nonceStr: '<?php echo $datawx['noncestr'];?>', //生成签名的随机串
signature: '<?php echo $datawx['signature'];?>',//签名
jsApiList: [ //需要使用的JS接口
'onMenuShareTimeline',
'onMenuShareAppMessage',
'onMenuShareQQ',
'onMenuShareWeibo',
'onMenuShareQZone'
]
});
wx.ready(function(){
var shareData = {
title: "{$info['goodsName']}",
desc: "{:WSTConf('CONF.mallName')}",
link: "{:url('wechat/goods/detail',array('goodsId'=>$info['goodsId']),true,true)}",
imgUrl: "{:WSTRoot()}/{$info['goodsImg']}"
};
wx.onMenuShareAppMessage(shareData);
wx.onMenuShareTimeline(shareData);
wx.onMenuShareQQ(shareData);
wx.onMenuShareWeibo(shareData);
wx.onMenuShareQZone(shareData);
});
</script>
{:hook('wechatDocumentGoodsDetail',['goods'=>$info,'datawx'=>$datawx,'getParams'=>input()])}
{/if}
<script>
var goodsInfo = {
id:{$info['goodsId']},
isSpec:{$info['isSpec']},
goodsStock:{$info['goodsStock']},
marketPrice:{$info['marketPrice']},
goodsPrice:{$info['shopPrice']}
{if isset($info['saleSpec'])}
,sku:{:json_encode($info['saleSpec'])}
{/if}
}
function goConsult(){
location.href=WST.U('wechat/goodsconsult/index',{goodsId:goodsInfo.id})
}
</script>
{/if}
<script type='text/javascript' src='__WECHAT__/js/swiper.jquery.min.js'></script>
<script type='text/javascript' src='__WECHAT__/js/jquery.min.js'></script>
<script type='text/javascript' src='__WECHAT__/js/goods_detail.js?v={$v}'></script>
{/block}