提交 63e67aa0 编写于 作者: D devil_gong

运费应用

上级 85002e5b
......@@ -66,6 +66,7 @@
<th class="am-hide-sm-only">快递信息</th>
<th>订单状态</th>
<th>订单金额(元)</th>
<th>扩展数据</th>
<th>更多</th>
<th>操作</th>
</tr>
......@@ -127,10 +128,21 @@
</td>
<td>
金额:{{$v.price}}<br />
增加:{{$v.increase_price}}<br />
优惠:{{$v.preferential_price}}<br />
总价:{{$v.total_price}}<br />
支付:{{$v.pay_price}}
</td>
<td>
{{if empty($v['extension_data'])}}
<span class="cr-ddd"></span>
{{else /}}
{{foreach $v.extension_data as $extk=>$ext}}
{{if $extk gt 0}}<br />{{/if}}
{{$ext.name}} [{{$ext.tips}}]
{{/foreach}}
{{/if}}
</td>
<td>
<span class="am-icon-caret-down c-p" data-am-modal="{target: '#my-popup{{$v.id}}'}"> 查看更多</span>
<div class="am-popup am-radius" id="my-popup{{$v.id}}">
......@@ -209,12 +221,25 @@
<span class="cr-ddd">未填写</span>
{{else /}}
金额:{{$v.price}}<br />
增加:{{$v.increase_price}}<br />
优惠:{{$v.preferential_price}}<br />
总价:{{$v.total_price}}<br />
支付:{{$v.pay_price}}
{{/if}}
</dd>
<dt>扩展数据</dt>
<dd>
{{if empty($v['extension_data'])}}
<span class="cr-ddd"></span>
{{else /}}
{{foreach $v.extension_data as $extk=>$ext}}
{{if $extk gt 0}}<br />{{/if}}
{{$ext.name}} [{{$ext.tips}}]
{{/foreach}}
{{/if}}
</dd>
<dt>确认时间</dt>
<dd>{{if empty($v['confirm_time'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.confirm_time}}{{/if}}</dd>
......
......@@ -117,6 +117,10 @@ class Goods extends Common
{
// 开始处理
$params = $this->data_post;
if(isset($_POST['spec']))
{
$params['spec'] = $_POST['spec'];
}
return GoodsService::GoodsSpecType($params);
}
......@@ -132,6 +136,10 @@ class Goods extends Common
{
// 开始处理
$params = $this->data_post;
if(isset($_POST['spec']))
{
$params['spec'] = $_POST['spec'];
}
return GoodsService::GoodsSpecDetail($params);
}
......
......@@ -91,15 +91,16 @@ class User extends Common
}
// 授权
$result = (new \base\AlipayAuth())->GetAlipayUserInfo($this->data_post['authcode'], MyC('common_app_mini_alipay_appid'));
if($result === false)
$ret = (new \base\AlipayAuth())->GetAlipayUserInfo($this->data_post['authcode'], MyC('common_app_mini_alipay_appid'));
if($ret['status'] != 0)
{
return DataReturn('获取授权信息失败', -10);
return DataReturn($ret['msg'], -10);
} else {
$result['gender'] = empty($result['gender']) ? 0 : ($result['gender'] == 'm') ? 2 : 1;
$result['openid'] = $result['user_id'];
$result['referrer']= isset($this->data_post['referrer']) ? intval($this->data_post['referrer']) : 0;
return UserService::AuthUserProgram($result, 'alipay_openid');
$data = $ret['data'];
$data['gender'] = empty($data['gender']) ? 0 : ($data['gender'] == 'm') ? 2 : 1;
$data['openid'] = $data['user_id'];
$data['referrer']= isset($this->data_post['referrer']) ? intval($this->data_post['referrer']) : 0;
return UserService::AuthUserProgram($data, 'alipay_openid');
}
}
......
......@@ -51,7 +51,7 @@ class Cart extends Common
$base = [
'total_price' => empty($cart_list['data']) ? 0 : array_sum(array_column($cart_list['data'], 'total_price')),
'total_stock' => empty($cart_list['data']) ? 0 : array_sum(array_column($cart_list['data'], 'stock')),
'buy_count' => empty($cart_list['data']) ? 0 : array_sum(array_column($cart_list['data'], 'stock')),
'ids' => empty($cart_list['data']) ? '' : implode(',', array_column($cart_list['data'], 'id')),
];
$this->assign('base', $base);
......
......@@ -153,6 +153,13 @@
<div class="table-no"><i class="am-icon-warning"></i> 没有商品</div>
{{/if}}
<!-- 含运费小计 -->
<div class="buy-point-discharge">
<p>
合计 <span>¥</span><em class="pay-sum">{{$base.total_price}}</em>
</p>
</div>
<!-- 留言 -->
<div class="buy-message">
<div class="order-extra">
......@@ -165,12 +172,17 @@
</div>
</div>
<!-- 含运费小计 -->
<div class="buy-point-discharge">
<p>
合计(含运费) <span>¥</span><em class="pay-sum">{{$base.total_price}}</em>
</p>
</div>
<!-- 扩展展示数据 -->
{{if !empty($extension_data)}}
<ul class="buy-extension-data">
{{foreach $extension_data as $ext}}
<li>
<span class="extension-items-name">{{$ext.name}}</span>
<span class="am-fr extension-items-tips">{{$ext.tips}}</span>
</li>
{{/foreach}}
</ul>
{{/if}}
<!-- 信息 -->
<div class="order-nav">
......@@ -180,7 +192,7 @@
<em>实付款:</em>
<span class="price">
<span>¥</span>
<em class="nav-total-price">{{$base.total_price}}</em>
<em class="nav-total-price">{{$base.actual_price}}</em>
</span>
</div>
......
......@@ -296,6 +296,17 @@
</table>
</div>
{{if !empty($data['extension_data'])}}
<div class="am-alert am-alert-warning">
{{foreach $data.extension_data as $ertk=>$ext}}
<div class="items">
<div class="items-title am-fl">{{$ext.name}}:</div>
<div class="items-detail am-fl">{{$ext.tips}}</div>
</div>
{{/foreach}}
</div>
{{/if}}
<div class="am-alert am-alert-secondary">
{{if !empty($data.price)}}
<div class="items">
......@@ -303,6 +314,12 @@
<div class="items-detail am-fl">¥{{$data.price}}</div>
</div>
{{/if}}
{{if !empty($data.increase_price)}}
<div class="items">
<div class="items-title am-fl">增加金额:</div>
<div class="items-detail am-fl">+¥{{$data.increase_price}}</div>
</div>
{{/if}}
{{if !empty($data.preferential_price)}}
<div class="items">
<div class="items-title am-fl">优惠金额:</div>
......
<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
// | Copyright (c) 2011~2019 http://shopxo.net All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace app\plugins\freightfee;
use think\Controller;
use app\service\PluginsService;
/**
* 运费设置 - 钩子入口
......@@ -10,25 +19,203 @@ use think\Controller;
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class Hook extends Controller
class Hook
{
// 应用响应入口
/**
* 应用响应入口
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2019-02-09T14:25:44+0800
* @param [array] $params [输入参数]
*/
public function run($params = [])
{
// 是否控制器钩子
// is_backend 当前为后端业务处理
// hook_name 钩子名称
if(isset($params['is_backend']) && $params['is_backend'] === true && !empty($params['hook_name']))
if(!empty($params['hook_name']))
{
// 参数一 描述
// 参数二 0 为处理成功, 负数为失败
// 参数三 返回数据
return DataReturn('返回描述', 0);
switch($params['hook_name'])
{
// 运费计算
case 'plugins_service_buy_handle' :
$ret = $this->FreightFeeCalculate($params);
break;
// 默认返回视图
default :
$ret = '';
}
return $ret;
}
}
/**
* 运费计算
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-03-21
* @desc description
* @param [array] $params [输入参数]
*/
public function FreightFeeCalculate($params = [])
{
$ret = PluginsService::PluginsData('freightfee');
if($ret['code'] == 0)
{
// 是否设置运费数据
if(!empty($ret['data']['data'][0]))
{
// 规则
$rules = $this->RulesHandle($ret['data']['data'], $params['data']['base']['address']);
// 计费方式
if(!empty($rules))
{
$price = 0;
switch($ret['data']['valuation'])
{
// 按件
case 0 :
$price = $this->PieceCalculate($rules, $params['data']);
break;
// 按量
case 1 :
$price = $this->QuantityCalculate($rules, $params['data']);
break;
}
// 扩展展示数据
$show_name = empty($ret['data']['show_name']) ? '运费' : $ret['data']['show_name'];
$params['data']['extension_data'][] = [
'name' => $show_name,
'price' => $price,
'type' => 0,
'tips' => '+¥'.$price.'元',
];
// 金额
$params['data']['base']['increase_price'] += $price;
$params['data']['base']['actual_price'] += $price;
}
return DataReturn('处理成功', 0);
}
return DataReturn('无需处理', 0);
} else {
return 'hello world!';
return $ret['msg'];
}
}
/**
* 按重计费
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-03-21
* @desc description
* @param [array] $rules [规则]
* @param [array] $buy [生成订单数据]
*/
public function QuantityCalculate($rules, $buy)
{
$price = 0;
if($rules['first_price'] > 0 && $buy['base']['spec_weight_total'] >= $rules['first'])
{
$price = $rules['first_price'];
}
if($rules['continue_price'] > 0 && $buy['base']['spec_weight_total'] >= $rules['continue']+$rules['first'])
{
$number = ($buy['base']['spec_weight_total']-$rules['first'])/$rules['continue'];
if($number > 0)
{
$price += round($rules['continue_price']*$number);
}
}
return $price;
}
/**
* 按件计费
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-03-21
* @desc description
* @param [array] $rules [规则]
* @param [array] $buy [生成订单数据]
*/
public function PieceCalculate($rules, $buy)
{
$price = 0;
if($rules['first_price'] > 0 && $buy['base']['buy_count'] >= $rules['first'])
{
$price = $rules['first_price'];
}
if($rules['continue_price'] > 0 && $buy['base']['buy_count'] >= $rules['continue']+$rules['first'])
{
$number = round(($buy['base']['buy_count']-$rules['first'])/$rules['continue']);
if($number > 0)
{
$price += round($rules['continue_price']*$number);
}
}
return $price;
}
/**
* 运费规则匹配
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-03-21
* @desc description
* @param [array] $rules [运费规则列表]
* @param [array] $address [用户地址]
*/
public function RulesHandle($rules, $address)
{
if(count($rules) > 1 && !empty($address))
{
$data = [
'province' => ['rules' => [], 'number' => 0],
'city' => ['rules' => [], 'number' => 0],
];
foreach($rules as $k=>$v)
{
if($k != 0)
{
$region = explode('-', $v['region']);
if(!empty($region))
{
if(in_array($address['province'], $region))
{
$data['province']['rules'] = $v;
$data['province']['number']++;
}
if(in_array($address['city'], $region))
{
$data['city']['rules'] = $v;
$data['city']['number']++;
}
}
}
}
if($data['city']['number'] > 0)
{
if($data['province']['number'] > $data['city']['number'])
{
return $data['province']['rules'];
}
return $data['city']['rules'];
} else {
if($data['province']['number'] > 0)
{
return $data['province']['rules'];
}
}
}
return $rules[0];
}
}
?>
\ No newline at end of file
......@@ -21,6 +21,8 @@
"is_home":false
},
"hook":{
"plugins_service_buy_handle":[
"app\\plugins\\freightfee\\Hook"
]
}
}
\ No newline at end of file
......@@ -25,11 +25,12 @@ use app\service\UserService;
class Hook extends Controller
{
/**
* 钩子入口
* @author Guoguo
* @blog http://gadmin.cojz8.com
* 应用响应入口
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2019年3月14日
* @datetime 2019-02-09T14:25:44+0800
* @param [array] $params [输入参数]
*/
public function run($params = [])
{
......
......@@ -9,6 +9,17 @@
</legend>
<div class="freightfee-content">
<div class="items">
<label>展示名称</label>
<div>
{{if empty($data['show_name'])}}
运费
{{else /}}
{{$data.show_name}}
{{/if}}
</div>
</div>
<div class="items">
<label>计价方式</label>
<div>
......
......@@ -10,6 +10,11 @@
<a href="{{:PluginsAdminUrl('freightfee', 'admin', 'index')}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
</legend>
<div class="business-form-block am-form-group">
<label>展示名称<span class="am-form-group-label-tips">默认 运费</span></label>
<input type="text" name="show_name" placeholder="展示名称" maxlength="16" data-validation-message="展示名称格式最多 16 个字符" class="am-radius" value="{{if !empty($data['show_name'])}}{{$data.show_name}}{{else /}}运费{{/if}}" />
</div>
<div class="business-form-block am-form-group">
<label>计价方式</label>
<div>
......@@ -75,12 +80,12 @@
{{if $v['region'] eq 'default'}}
<div class="region-td none"></div>默认运费
<input type="text" class="am-radius region-name" name="data[{{$k}}][region]" data-validation-message="请选择地区" value="default" required />
<input type="hidden" class="am-radius region-name-show" name="data[{{$k}}][region_show]" value="{{$v.region}}" />
<input type="hidden" class="am-radius region-name-show" name="data[{{$k}}][region_show]" value="{{$v.region_show}}" />
{{else /}}
<div class="region-td">{{$v.region_names}}</div>
<span class="fs-12 cr-blue c-p line-edit" data-index="{{$k}}">添加地区</span>
<input type="text" class="am-radius region-name" name="data[{{$k}}][region]" data-validation-message="请选择地区" value="{{$v.region}}" required />
<input type="hidden" class="am-radius region-name-show" name="data[{{$k}}][region_show]" value="{{$v.region}}" />
<input type="hidden" class="am-radius region-name-show" name="data[{{$k}}][region_show]" value="{{$v.region_show}}" />
{{/if}}
</td>
<td>
......@@ -123,12 +128,12 @@
{{if $v['region'] eq 'default'}}
<div class="region-td none"></div>默认运费
<input type="text" class="am-radius region-name" name="data[{{$k}}][region]" data-validation-message="请选择地区" value="default" required />
<input type="hidden" class="am-radius region-name-show" name="data[{{$k}}][region_show]" value="{{$v.region}}" />
<input type="hidden" class="am-radius region-name-show" name="data[{{$k}}][region_show]" value="{{$v.region_show}}" />
{{else /}}
<div class="region-td">{{$v.region_names}}</div>
<span class="fs-12 cr-blue c-p line-edit" data-index="{{$k}}">添加地区</span>
<input type="text" class="am-radius region-name" name="data[{{$k}}][region]" data-validation-message="请选择地区" value="{{$v.region}}" required />
<input type="hidden" class="am-radius region-name-show" name="data[{{$k}}][region_show]" value="{{$v.region}}" />
<input type="hidden" class="am-radius region-name-show" name="data[{{$k}}][region_show]" value="{{$v.region_show}}" />
{{/if}}
</td>
<td>
......
......@@ -273,6 +273,17 @@
</table>
</div>
{{if !empty($data['extension_data'])}}
<div class="am-alert am-alert-warning">
{{foreach $data.extension_data as $ertk=>$ext}}
<div class="items">
<div class="items-title am-fl">{{$ext.name}}:</div>
<div class="items-detail am-fl">{{$ext.tips}}</div>
</div>
{{/foreach}}
</div>
{{/if}}
<div class="am-alert am-alert-secondary">
{{if !empty($data.price)}}
<div class="items">
......@@ -280,6 +291,12 @@
<div class="items-detail am-fl">¥{{$data.price}}</div>
</div>
{{/if}}
{{if !empty($data.increase_price)}}
<div class="items">
<div class="items-title am-fl">增加金额:</div>
<div class="items-detail am-fl">+¥{{$data.increase_price}}</div>
</div>
{{/if}}
{{if !empty($data.preferential_price)}}
<div class="items">
<div class="items-title am-fl">优惠金额:</div>
......
......@@ -11,6 +11,7 @@
namespace app\service;
use think\Db;
use think\facade\Hook;
use app\service\GoodsService;
use app\service\UserService;
use app\service\ResourcesService;
......@@ -529,10 +530,29 @@ class BuyService
// 商品/基础信息
$total_price = empty($goods) ? 0 : array_sum(array_column($goods, 'total_price'));
$base = [
'total_price' => $total_price,
'actual_price' => $total_price,
'total_stock' => empty($goods) ? 0 : array_sum(array_column($goods, 'stock')),
'address' => empty($address['data']) ? null : $address['data'],
// 总价
'total_price' => $total_price,
// 订单实际支付金额(已减去优惠金额, 已加上增加金额)
'actual_price' => $total_price,
// 优惠金额
'preferential_price' => 0.00,
// 增加金额
'increase_price' => 0.00,
// 商品数量
'goods_count' => count($goods),
// 规格重量总计
'spec_weight_total' => empty($goods) ? 0 : array_sum(array_map(function($v) {return $v['spec_weight']*$v['stock'];}, $goods)),
// 购买总数
'buy_count' => empty($goods) ? 0 : array_sum(array_column($goods, 'stock')),
// 默认地址
'address' => empty($address['data']) ? null : $address['data'],
];
// 扩展展示数据
......@@ -541,18 +561,12 @@ class BuyService
// type 类型(0减少, 1增加)
// tips 提示信息
$extension_data = [
[
'name' => '感恩节9折',
'price' => 23,
'type' => 0,
'tips' => '-¥23元'
],
[
'name' => '运费',
'price' => 10,
'type' => 1,
'tips' => '+¥10元'
],
// [
// 'name' => '感恩节9折',
// 'price' => 23,
// 'type' => 0,
// 'tips' => '-¥23元'
// ],
];
// 返回数据
......@@ -561,6 +575,20 @@ class BuyService
'base' => $base,
'extension_data' => $extension_data,
];
// 生成订单数据处理钩子
$hook_name = 'plugins_service_buy_handle';
$ret = Hook::listen($hook_name, [
'hook_name' => $hook_name,
'is_backend' => true,
'params' => &$params,
'data' => &$result,
]);
if(isset($ret['code']) && $ret['code'] != 0)
{
return $ret;
}
return DataReturn('操作成功', 0, $result);
}
......@@ -593,7 +621,6 @@ class BuyService
}
// 数据校验
$total_price = 0;
foreach($params['goods'] as $v)
{
// 获取商品信息
......@@ -630,16 +657,9 @@ class BuyService
{
return DataReturn('['.$v['goods_id'].']超过商品限购数量['.$v['stock'].'>'.$goods['buy_max_number'].']', -1);
}
// 总价
$total_price += $goods['price']*$v['stock'];
$result[] = $goods;
}
$data = [
'total_price' => $total_price,
];
return DataReturn('操作成功', 0, $data);
return DataReturn('操作成功', 0);
}
/**
......@@ -688,27 +708,25 @@ class BuyService
}
// 清单商品
$goods = self::BuyTypeGoodsList($params);
if(!isset($goods['code']) || $goods['code'] != 0)
$buy = self::BuyTypeGoodsList($params);
if(!isset($buy['code']) || $buy['code'] != 0)
{
return $goods;
return $buy;
}
$check = self::BuyGoodsCheck(['goods'=>$goods['data']['goods']]);
$check = self::BuyGoodsCheck(['goods'=>$buy['data']['goods']]);
if(!isset($check['code']) || $check['code'] != 0)
{
return $check;
}
// 用户地址
$address = UserService::UserAddressRow(array_merge($params, ['id'=>$params['address_id']]));
if(empty($address))
// 收货地址
if(empty($buy['data']['base']['address']))
{
return $address;
return DataReturn('收货地址有误', -1);
} else {
$address = $buy['data']['base']['address'];
}
// 优惠金额
$preferential_price = 0.00;
// 店铺
$shop_id = 0;
......@@ -717,18 +735,20 @@ class BuyService
'order_no' => date('YmdHis').GetNumberCode(6),
'user_id' => $params['user']['id'],
'shop_id' => $shop_id,
'receive_address_id' => $address['data']['id'],
'receive_name' => $address['data']['name'],
'receive_tel' => $address['data']['tel'],
'receive_province' => $address['data']['province'],
'receive_city' => $address['data']['city'],
'receive_county' => $address['data']['county'],
'receive_address' => $address['data']['address'],
'receive_address_id' => $address['id'],
'receive_name' => $address['name'],
'receive_tel' => $address['tel'],
'receive_province' => $address['province'],
'receive_city' => $address['city'],
'receive_county' => $address['county'],
'receive_address' => $address['address'],
'user_note' => isset($params['user_note']) ? htmlentities($params['user_note']) : '',
'status' => (intval(MyC('common_order_is_booking', 0)) == 1) ? 0 : 1,
'preferential_price' => $preferential_price,
'price' => $check['data']['total_price'],
'total_price' => $check['data']['total_price']-$preferential_price,
'preferential_price' => $buy['data']['base']['preferential_price'],
'increase_price' => $buy['data']['base']['increase_price'],
'price' => $buy['data']['base']['total_price'],
'total_price' => $buy['data']['base']['actual_price'],
'extension_data' => empty($buy['data']['extension_data']) ? '' : json_encode($buy['data']['extension_data']),
'payment_id' => isset($params['payment_id']) ? intval($params['payment_id']) : 0,
'add_time' => time(),
];
......@@ -744,7 +764,7 @@ class BuyService
$order_id = Db::name('Order')->insertGetId($order);
if($order_id > 0)
{
foreach($goods['data']['goods'] as $v)
foreach($buy['data']['goods'] as $v)
{
$detail = [
'order_id' => $order_id,
......
......@@ -648,6 +648,9 @@ class OrderService
{
$v['user_note'] = null;
}
// 扩展数据
$v['extension_data'] = empty($v['extension_data']) ? null : json_decode($v['extension_data'], true);
// 订单详情
$buy_number_count = 0;
......
......@@ -120,5 +120,9 @@ return array (
array (
0 => 'app\\plugins\\touristbuy\\Hook',
),
'plugins_service_buy_handle' =>
array (
0 => 'app\\plugins\\freightfee\\Hook',
),
);
?>
\ No newline at end of file
......@@ -68,12 +68,12 @@ class AlipayAuth
$result = GS($key);
if($result !== false)
{
return $result;
return ['status'=>0, 'msg'=>'success', 'data'=>$result];
}
// 获取授权信息并且获取用户信息
$auth = $this->GetAuthAccessToken($authcode, $app_id);
if($auth != false)
if($auth['status'] == 0)
{
// 请求参数
$param = [
......@@ -84,7 +84,7 @@ class AlipayAuth
'sign_type' => 'RSA2',
'timestamp' => date('Y-m-d H:i:s'),
'version' => '1.0',
'auth_token' => $auth['access_token'],
'auth_token' => $auth['data']['access_token'],
];
// 生成签名参数+签名
......@@ -99,17 +99,21 @@ class AlipayAuth
// 验证签名正确则存储缓存返回数据
if(!$this->SyncRsaVerify($result, 'alipay_user_info_share_response'))
{
return false;
return ['status'=>-1, 'msg'=>'签名验证失败'];
}
// 存储缓存
SS($key, $result['alipay_user_info_share_response']);
// 返回用户数据
return $result['alipay_user_info_share_response'];
return ['status'=>0, 'msg'=>'success', 'data'=>$result['alipay_user_info_share_response']];
}
$msg = empty($result['error_response']['sub_msg']) ? '授权失败' : $result['error_response']['sub_msg'];
return ['status'=>-1, 'msg'=>$msg];
} else {
return $auth;
}
return false;
}
/**
......@@ -157,7 +161,7 @@ class AlipayAuth
{
if(empty($app_id) || empty($key) || (empty($authcode) && empty($refresh_token)))
{
return false;
return ['status'=>-1, 'msg'=>'参数有误'];
}
// 请求参数
......@@ -188,20 +192,22 @@ class AlipayAuth
// 执行请求
$result = $this->HttpRequest('https://openapi.alipay.com/gateway.do', $param);
// 结果正确则验证签名 并且 存储缓存返回access_token
if(!empty($result['alipay_system_oauth_token_response']['user_id']))
{
// 验证签名正确则存储缓存返回数据
if(!$this->SyncRsaVerify($result, 'alipay_system_oauth_token_response'))
{
return false;
return ['status'=>-1, 'msg'=>'签名验证失败'];
}
// 存储缓存
SS($key, $result['alipay_system_oauth_token_response']);
return $result['alipay_system_oauth_token_response'];
return ['status'=>0, 'msg'=>'success', 'data'=>$result['alipay_system_oauth_token_response']];
}
return false;
$msg = empty($result['error_response']['sub_msg']) ? '授权失败' : $result['error_response']['sub_msg'];
return ['status'=>-1, 'msg'=>$msg];
}
/**
......
......@@ -58,7 +58,7 @@ App({
// 请求地址
request_url: "{{request_url}}",
//request_url: "https://test.shopxo.net/",
//request_url: 'http://tp5-dev.com/',
request_url: 'http://tp5-dev.com/',
// 基础信息
application_title: "{{application_title}}",
......
......@@ -86,7 +86,7 @@ Page({
} else {
this.setData({
goods_list: data.goods_list,
total_price: data.base.total_price,
total_price: data.base.actual_price,
extension_data: data.extension_data || [],
data_list_loding_status: 3,
common_order_is_booking: data.common_order_is_booking || 0,
......
......@@ -31,17 +31,17 @@
<text class="buy-number">x{{detail.buy_number}}</text>
</view>
</navigator>
<view class="item-describe tr cr-666">{{item.describe}}</view>
<view a:if="{{item.status <= 3}}" class="item-operation tr br-t">
<button a:if="{{item.status <= 1}}" class="submit-cancel" type="default" size="mini" onTap="cancel_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">取消
</button>
<button a:if="{{item.status == 1}}" class="submit-pay cr-666" type="default" size="mini" onTap="pay_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">支付
</button>
<button a:if="{{item.status == 2}}" class="submit-rush cr-666" type="default" size="mini" onTap="rush_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">催催
</button>
<button a:if="{{item.status == 3}}" class="submit-success cr-666" type="default" size="mini" onTap="collect_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">收货
</button>
</view>
</view>
<view class="item-describe tr cr-666">{{item.describe}}</view>
<view a:if="{{item.status <= 3}}" class="item-operation tr br-t">
<button a:if="{{item.status <= 1}}" class="submit-cancel" type="default" size="mini" onTap="cancel_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">取消
</button>
<button a:if="{{item.status == 1}}" class="submit-pay cr-666" type="default" size="mini" onTap="pay_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">支付
</button>
<button a:if="{{item.status == 2}}" class="submit-rush cr-666" type="default" size="mini" onTap="rush_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">催催
</button>
<button a:if="{{item.status == 3}}" class="submit-success cr-666" type="default" size="mini" onTap="collect_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">收货
</button>
</view>
</view>
......
......@@ -84,7 +84,7 @@ Page({
} else {
this.setData({
goods_list: data.goods_list,
total_price: data.base.total_price,
total_price: data.base.actual_price,
extension_data: data.extension_data || [],
data_list_loding_status: 3,
common_order_is_booking: data.common_order_is_booking || 0,
......
......@@ -31,18 +31,17 @@
<text class="buy-number">x{{detail.buy_number}}</text>
</view>
</navigator>
<view class="item-describe tr cr-666">{{item.describe}}
</view>
<view wx:if="{{item.status <= 3}}" class="item-operation tr br-t">
<button wx:if="{{item.status <= 1}}" class="submit-cancel" type="default" size="mini" bindtap="cancel_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">取消
</button>
<button wx:if="{{item.status == 1}}" class="submit-pay cr-666 br" type="default" size="mini" bindtap="pay_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">支付
</button>
<button wx:if="{{item.status == 2}}" class="submit-rush cr-666 br" type="default" size="mini" bindtap="rush_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">催催
</button>
<button wx:if="{{item.status == 3}}" class="submit-success cr-666 br" type="default" size="mini" bindtap="collect_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">收货
</button>
</view>
</view>
<view class="item-describe tr cr-666">{{item.describe}}</view>
<view wx:if="{{item.status <= 3}}" class="item-operation tr br-t">
<button wx:if="{{item.status <= 1}}" class="submit-cancel" type="default" size="mini" bindtap="cancel_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">取消
</button>
<button wx:if="{{item.status == 1}}" class="submit-pay cr-666 br" type="default" size="mini" bindtap="pay_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">支付
</button>
<button wx:if="{{item.status == 2}}" class="submit-rush cr-666 br" type="default" size="mini" bindtap="rush_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">催催
</button>
<button wx:if="{{item.status == 3}}" class="submit-success cr-666 br" type="default" size="mini" bindtap="collect_event" data-value="{{item.id}}" data-index="{{index}}" hover-class="none">收货
</button>
</view>
</view>
......
......@@ -28,8 +28,8 @@ ul.logistics-list li.selected i.icon-active, ul.payment-list li.selected i.icon-
.business-item ul { padding: 10px 3px 5px 5px;}
ul.logistics-list li img, ul.payment-list li img { width: 36px; height: 36px; }
/*运费、留言*/
.buy-message{padding:0px 5px}
/*运费、留言、扩展数据*/
.buy-message {padding:0px 5px}
.td.td-oplist .pay-logis,.td.td-bonus select{position:absolute;top:6px;right:0;}
.memo-input{width:calc(100% - 64px);border: 1px solid #ccc;padding: 5px;outline:none;border-radius: 2px;}
......@@ -46,6 +46,13 @@ ul.logistics-list li img, ul.payment-list li img { width: 36px; height: 36px; }
ul.address-list, .business-item ul { overflow: hidden; }
.nav-buy .btn-go.am-disabled { background-color: #efa4af; }
/* 扩展数据 */
.buy-extension-data { background: #ffffeb; border: 1px solid #ffe2cf; margin-top: 10px; padding: 5px 10px; margin: 10px 5px 0 5px; }
.buy-extension-data li { padding: 5px 0; }
.buy-extension-data li:not(:last-child) { border-bottom: 1px dashed #ffe2cf; }
.buy-extension-data .extension-items-name { }
.buy-extension-data .extension-items-tips { color: #ff8f44; }
/**
* 手机下选择地址
*/
......@@ -91,8 +98,6 @@ ul.address-list, .business-item ul { overflow: hidden; }
.base-real-pay .g_price span {font-size: 26px;}
.price .nav-total-price {color: #d2364c;font: 700 26px tahoma;}
.order-nav .buy-footer-address .buy-line-title {color: #404040;font-weight: 700;}
.link-list{margin:0px auto;}
/*地址管理*/
.address ul{margin-top:10px ;}
......@@ -121,6 +126,9 @@ ul.address-list, .business-item ul { overflow: hidden; }
.link-list h3 { padding: 0 0 5px 0; }
.buy-message { margin: 0; }
.buy-point-discharge { padding: 10px 0px; }
/*扩展数据*/
.buy-extension-data { margin: 10px 0 0 0; }
}
@media only screen and (max-width:640px) {
......
......@@ -110,7 +110,6 @@ ul.progress li.current .title {
overflow: hidden;
}
.items-detail {
width: calc(100% - 62px);
color: #666;
}
......
......@@ -110,7 +110,6 @@ ul.progress li.current .title {
overflow: hidden;
}
.items-detail {
width: calc(100% - 62px);
color: #666;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册