Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
starsw001
ShopXO
提交
0c8c249f
ShopXO
项目概览
starsw001
/
ShopXO
与 Fork 源项目一致
Fork自
纵之格 / ShopXO
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ShopXO
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
0c8c249f
编写于
9月 22, 2020
作者:
D
devil
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增订单批量支付开关
上级
338258d9
变更
19
展开全部
隐藏空白更改
内联
并排
Showing
19 changed file
with
1307 addition
and
341 deletion
+1307
-341
application/admin/view/default/site/siteset.html
application/admin/view/default/site/siteset.html
+18
-1
application/index/form/Order.php
application/index/form/Order.php
+315
-306
application/index/view/default/order/index.html
application/index/view/default/order/index.html
+4
-1
application/service/BaseService.php
application/service/BaseService.php
+3
-0
application/service/OrderCurrencyService.php
application/service/OrderCurrencyService.php
+4
-1
application/service/OrderService.php
application/service/OrderService.php
+3
-0
extend/payment/IEPayAliPay.php
extend/payment/IEPayAliPay.php
+377
-0
extend/payment/IEPayWeixin.php
extend/payment/IEPayWeixin.php
+477
-0
sourcecode/alipay/pages/user-order/user-order.axml
sourcecode/alipay/pages/user-order/user-order.axml
+2
-2
sourcecode/alipay/pages/user-order/user-order.js
sourcecode/alipay/pages/user-order/user-order.js
+17
-0
sourcecode/baidu/pages/user-order/user-order.js
sourcecode/baidu/pages/user-order/user-order.js
+18
-1
sourcecode/baidu/pages/user-order/user-order.swan
sourcecode/baidu/pages/user-order/user-order.swan
+2
-2
sourcecode/qq/pages/user-order/user-order.js
sourcecode/qq/pages/user-order/user-order.js
+17
-0
sourcecode/qq/pages/user-order/user-order.qml
sourcecode/qq/pages/user-order/user-order.qml
+2
-2
sourcecode/toutiao/pages/user-order/user-order.js
sourcecode/toutiao/pages/user-order/user-order.js
+26
-20
sourcecode/toutiao/pages/user-order/user-order.ttml
sourcecode/toutiao/pages/user-order/user-order.ttml
+2
-2
sourcecode/weixin/app.js
sourcecode/weixin/app.js
+1
-1
sourcecode/weixin/pages/user-order/user-order.js
sourcecode/weixin/pages/user-order/user-order.js
+17
-0
sourcecode/weixin/pages/user-order/user-order.wxml
sourcecode/weixin/pages/user-order/user-order.wxml
+2
-2
未找到文件。
application/admin/view/default/site/siteset.html
浏览文件 @
0c8c249f
...
...
@@ -152,7 +152,24 @@
</div>
</div>
</div>
<!-- 订单 -->
<div
class=
"am-panel am-panel-default"
>
<div
class=
"am-panel-hd"
>
<h3
class=
"am-panel-title"
>
订单
</h3>
</div>
<div
class=
"am-panel-bd"
>
<div
class=
"am-form-group"
>
<label>
{{$data.home_is_enable_order_bulk_pay.name}}
<span
class=
"am-form-group-label-tips"
>
{{$data.home_is_enable_order_bulk_pay.describe}}
</span></label>
<select
name=
"{{$data.home_is_enable_order_bulk_pay.only_tag}}"
class=
"am-radius chosen-select"
data-validation-message=
"{{$data.home_is_enable_order_bulk_pay.error_tips}}"
required
>
{{foreach $common_is_text_list as $v}}
<option
value=
"{{$v.id}}"
{{
if
isset
($
data
['
home_is_enable_order_bulk_pay
']['
value
'])
and
$
data
['
home_is_enable_order_bulk_pay
']['
value
']
eq
$
v
['
id
']}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
{{/foreach}}
</select>
</div>
</div>
</div>
<div
class=
"am-form-group am-form-group-refreshing am-margin-top-lg am-padding-left-0"
>
<input
type=
"hidden"
name=
"nav_type"
value=
"{{$nav_type}}"
/>
<button
type=
"submit"
class=
"am-btn am-btn-primary am-radius btn-loading-example am-btn-sm am-btn-block"
data-am-loading=
"{loadingText:'处理中...'}"
>
保存
</button>
...
...
application/index/form/Order.php
浏览文件 @
0c8c249f
此差异已折叠。
点击以展开。
application/index/view/default/order/index.html
浏览文件 @
0c8c249f
...
...
@@ -3,7 +3,10 @@
<!-- 表单顶部操作栏 -->
{{block name="form_operate_top"}}
<button
type=
"button"
class=
"am-btn am-btn-secondary am-radius am-btn-xs am-icon-paypal batch-pay-submit"
data-url=
"{{:MyUrl('index/order/pay')}}"
>
批量支付
</button>
<!-- 是否开启批量支付 -->
{{if MyC('home_is_enable_order_bulk_pay') eq 1}}
<button
type=
"button"
class=
"am-btn am-btn-secondary am-radius am-btn-xs am-icon-paypal batch-pay-submit"
data-url=
"{{:MyUrl('index/order/pay')}}"
>
批量支付
</button>
{{/if}}
<!-- 父级内容 -->
{__block__}
{{/block}}
...
...
application/service/BaseService.php
浏览文件 @
0c8c249f
...
...
@@ -55,6 +55,9 @@ class BaseService
'common_user_is_mandatory_bind_mobile'
=>
(
int
)
MyC
(
'common_user_is_mandatory_bind_mobile'
,
0
),
'common_user_is_onekey_bind_mobile'
=>
(
int
)
MyC
(
'common_user_is_onekey_bind_mobile'
,
0
),
// 订单相关
'home_is_enable_order_bulk_pay'
=>
(
int
)
MyC
(
'home_is_enable_order_bulk_pay'
,
0
),
// 用户中心相关
'common_user_center_notice'
=>
MyC
(
'common_user_center_notice'
,
null
,
true
),
'common_app_is_head_vice_nav'
=>
(
int
)
MyC
(
'common_app_is_head_vice_nav'
,
0
),
...
...
application/service/OrderCurrencyService.php
浏览文件 @
0c8c249f
...
...
@@ -60,17 +60,20 @@ class OrderCurrencyService
* @date 2020-09-17
* @desc description
* @param [array|int] $order_ids [订单id]
* @return [array] [货币数据、参数是多个id则返回二维数组,一个id则返回一维数组]
*/
public
static
function
OrderCurrencyGroupList
(
$order_ids
)
{
$data
=
Db
::
name
(
'OrderCurrency'
)
->
where
([
'order_id'
=>
$order_ids
])
->
select
();
$result
=
[];
if
(
!
empty
(
$data
))
if
(
!
empty
(
$data
)
&&
is_array
(
$order_ids
)
&&
count
(
$order_ids
)
>
1
)
{
foreach
(
$data
as
$v
)
{
$result
[
$v
[
'order_id'
]]
=
$v
;
}
}
else
{
$result
=
isset
(
$data
[
0
])
?
$data
[
0
]
:
[];
}
return
$result
;
}
...
...
application/service/OrderService.php
浏览文件 @
0c8c249f
...
...
@@ -224,6 +224,9 @@ class OrderService
$pay_data
=
[
'user'
=>
$params
[
'user'
],
'out_user'
=>
md5
(
$params
[
'user'
][
'id'
]),
'business_type'
=>
'system-order'
,
'business_ids'
=>
$order_ids
,
'business_nos'
=>
$order_nos
,
'order_id'
=>
$pay_log
[
'data'
][
'id'
],
'order_no'
=>
$pay_log
[
'data'
][
'log_no'
],
'name'
=>
'订单支付'
,
...
...
extend/payment/IEPayAliPay.php
0 → 100644
浏览文件 @
0c8c249f
<?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
payment
;
/**
* IEPay - 支付宝
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-09-22
* @desc description
*/
class
IEPayAliPay
{
// 插件配置参数
private
$config
;
/**
* 构造方法
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-17
* @desc description
* @param [array] $params [输入参数(支付配置参数)]
*/
public
function
__construct
(
$params
=
[])
{
$this
->
config
=
$params
;
}
/**
* 配置信息
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-19
* @desc description
*/
public
function
Config
()
{
// 基础信息
$base
=
[
'name'
=>
'IEPay支付宝'
,
// 插件名称
'version'
=>
'1.0.0'
,
// 插件版本
'apply_version'
=>
'不限'
,
// 适用系统版本描述
'apply_terminal'
=>
[
'pc'
,
'h5'
,
'ios'
,
'android'
],
// 适用终端 默认全部 ['pc', 'h5', 'ios', 'android', 'alipay', 'weixin', 'baidu', 'toutiao']
'desc'
=>
'适用PC+H5+APP,即时到帐支付方式,买家的交易资金直接打入卖家账户,新西兰货币支付。 <a href="https://www.mypaynz.com/" target="_blank">立即申请</a>'
,
// 插件描述(支持html)
'author'
=>
'Devil'
,
// 开发者
'author_url'
=>
'http://shopxo.net/'
,
// 开发者主页
];
// 配置信息
$element
=
[
[
'element'
=>
'input'
,
'type'
=>
'text'
,
'default'
=>
''
,
'name'
=>
'mid'
,
'placeholder'
=>
'商户ID'
,
'title'
=>
'商户ID'
,
'is_required'
=>
0
,
'message'
=>
'请填写商户ID'
,
],
[
'element'
=>
'input'
,
'type'
=>
'text'
,
'default'
=>
''
,
'name'
=>
'key'
,
'placeholder'
=>
'密钥'
,
'title'
=>
'密钥'
,
'is_required'
=>
0
,
'message'
=>
'请填写密钥'
,
],
];
return
[
'base'
=>
$base
,
'element'
=>
$element
,
];
}
/**
* 支付入口
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-19
* @desc description
* @param [array] $params [输入参数]
*/
public
function
Pay
(
$params
=
[])
{
// 参数
if
(
empty
(
$params
))
{
return
DataReturn
(
'参数不能为空'
,
-
1
);
}
// 配置信息
if
(
empty
(
$this
->
config
))
{
return
DataReturn
(
'支付缺少配置'
,
-
1
);
}
// 支付参数
$parameter
=
[
'mid'
=>
$this
->
config
[
'mid'
],
'total_fee'
=>
(
int
)
((
$params
[
'total_price'
]
*
1000
)
/
10
),
'goods'
=>
$params
[
'name'
],
'out_trade_no'
=>
$params
[
'order_no'
],
'return_url'
=>
$params
[
'call_back_url'
]
.
'?out_trade_no='
.
$params
[
'order_no'
],
'notify_url'
=>
$params
[
'notify_url'
],
'pay_type'
=>
$this
->
GetPayType
(),
'version'
=>
'v1'
,
];
// 订单货币是否人民币
// 仅一个订单支付
// 仅支付宝pc+h5支付有效
if
(
in_array
(
$parameter
[
'pay_type'
],
[
'IE0012'
,
'IE0013'
])
&&
isset
(
$params
[
'business_type'
])
&&
$params
[
'business_type'
]
==
'system-order'
&&
!
empty
(
$params
[
'business_ids'
])
&&
is_array
(
$params
[
'business_ids'
])
&&
count
(
$params
[
'business_ids'
])
==
1
)
{
$currency_data
=
\
app\service\OrderCurrencyService
::
OrderCurrencyGroupList
(
$params
[
'business_ids'
][
0
]);
if
(
!
empty
(
$currency_data
)
&&
isset
(
$currency_data
[
'currency_code'
])
&&
$currency_data
[
'currency_code'
]
==
'RMB'
)
{
$parameter
[
'rmb_fee'
]
=
(
int
)
((
$params
[
'total_price'
]
*
1000
)
/
10
);
unset
(
$parameter
[
'total_fee'
]);
}
}
// 生成签名
$parameter
[
'sign'
]
=
$this
->
SignCreated
(
$parameter
);
// 请求post
$result
=
$this
->
HttpRequest
(
'https://a.mypaynz.com/api/online'
,
$parameter
);
if
(
isset
(
$result
[
'is_success'
])
&&
$result
[
'is_success'
]
==
'TRUE'
&&
!
empty
(
$result
[
'extra'
])
&&
!
empty
(
$result
[
'extra'
][
'pay_url'
]))
{
return
DataReturn
(
'处理成功'
,
0
,
$result
[
'extra'
][
'pay_url'
]);
}
return
DataReturn
(
empty
(
$result
[
'message'
])
?
'支付错误'
:
$result
[
'message'
],
-
100
);
}
/**
* 获取支付平台类型
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-09-22
* @desc description
* @param [string] $client_type [订单客户端类型]
*/
private
function
GetPayType
(
$client_type
=
''
)
{
// 平台
if
(
empty
(
$client_type
))
{
$client_type
=
ApplicationClientType
();
}
// 终端平台
$client_type_arr
=
[
'pc'
=>
'IE0012'
,
'h5'
=>
'IE0013'
,
'ios'
=>
'IE0015'
,
'android'
=>
'IE0015'
,
];
return
isset
(
$client_type_arr
[
$client_type
])
?
$client_type_arr
[
$client_type
]
:
$client_type_arr
[
'pc'
];
}
/**
* 支付回调处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-19
* @desc description
* @param [array] $params [输入参数]
*/
public
function
Respond
(
$params
=
[])
{
// 支付参数
$data
=
input
();
if
(
empty
(
$data
[
'out_trade_no'
]))
{
return
DataReturn
(
'支付平台返回的订单号为空'
,
-
1
);
}
// 远程查询支付状态
$parameter
=
[
'mid'
=>
$this
->
config
[
'mid'
],
'pay_type'
=>
$this
->
GetPayType
(),
'out_trade_no'
=>
$data
[
'out_trade_no'
],
'version'
=>
'v1'
,
];
// 生成签名
$parameter
[
'sign'
]
=
$this
->
SignCreated
(
$parameter
);
// 请求post
$result
=
$this
->
HttpRequest
(
'https://a.mypaynz.com/api/check_order_status'
,
$parameter
);
if
(
isset
(
$result
[
'is_success'
])
&&
$result
[
'is_success'
]
==
'TRUE'
&&
!
empty
(
$result
[
'extra'
]))
{
if
(
isset
(
$result
[
'extra'
][
'order_status'
])
&&
$result
[
'extra'
][
'order_status'
]
==
1
)
{
return
DataReturn
(
'支付成功'
,
0
,
$this
->
ReturnData
(
$result
[
'extra'
]));
}
}
return
DataReturn
(
empty
(
$result
[
'message'
])
?
'支付失败'
:
$result
[
'message'
],
-
100
);
}
/**
* [ReturnData 返回数据统一格式]
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2018-10-06T16:54:24+0800
* @param [array] $data [返回数据]
*/
private
function
ReturnData
(
$data
)
{
// 返回数据固定基础参数
$data
[
'trade_no'
]
=
$data
[
'trade_no'
];
// 支付平台 - 订单号
$data
[
'buyer_user'
]
=
$data
[
'pay_type'
];
// 支付平台 - 用户
$data
[
'out_trade_no'
]
=
$data
[
'out_trade_no'
];
// 本系统发起支付的 - 订单号
$data
[
'subject'
]
=
isset
(
$data
[
'order_status'
])
?
'状态:'
.
$data
[
'order_status'
]
:
''
;
// 本系统发起支付的 - 商品名称
$data
[
'pay_price'
]
=
$data
[
'total_fee'
]
/
100
;
// 本系统发起支付的 - 总价
return
$data
;
}
/**
* 退款处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-05-28
* @desc description
* @param [array] $params [输入参数]
*/
public
function
Refund
(
$params
=
[])
{
// 参数
$p
=
[
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'order_no'
,
'error_msg'
=>
'订单号不能为空'
,
],
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'trade_no'
,
'error_msg'
=>
'交易平台订单号不能为空'
,
],
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'refund_price'
,
'error_msg'
=>
'退款金额不能为空'
,
],
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'client_type'
,
'error_msg'
=>
'订单客户端类型不能为空'
,
],
];
$ret
=
ParamsChecked
(
$params
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
// 远程查询支付状态
$parameter
=
[
'mid'
=>
$this
->
config
[
'mid'
],
'pay_type'
=>
$this
->
GetPayType
(
$params
[
'client_type'
]),
'out_trade_no'
=>
$params
[
'order_no'
],
'refund_amount'
=>
(
int
)
((
$params
[
'refund_price'
]
*
1000
)
/
10
),
'version'
=>
'v1'
,
];
// 生成签名
$parameter
[
'sign'
]
=
$this
->
SignCreated
(
$parameter
);
// 请求post
$result
=
$this
->
HttpRequest
(
'https://a.mypaynz.com/api/refund'
,
$parameter
);
if
(
isset
(
$result
[
'is_success'
])
&&
$result
[
'is_success'
]
==
'TRUE'
)
{
// 统一返回格式
$data
=
[
'out_trade_no'
=>
isset
(
$result
[
'out_trade_no'
])
?
$result
[
'out_trade_no'
]
:
''
,
'trade_no'
=>
isset
(
$result
[
'trade_no'
])
?
$result
[
'trade_no'
]
:
''
,
'buyer_user'
=>
isset
(
$result
[
'buyer_user_id'
])
?
$result
[
'buyer_user_id'
]
:
''
,
'refund_price'
=>
isset
(
$result
[
'refund_fee'
])
?
$result
[
'refund_fee'
]
/
100
:
$params
[
'refund_price'
],
'return_params'
=>
$result
,
];
return
DataReturn
(
'退款成功'
,
0
,
$data
);
}
return
DataReturn
(
empty
(
$result
[
'message'
])
?
'退款失败'
:
$result
[
'message'
],
-
100
);
}
/**
* [HttpRequest 网络请求]
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2017-09-25T09:10:46+0800
* @param [string] $url [请求url]
* @param [array] $data [发送数据]
* @return [mixed] [请求返回数据]
*/
private
function
HttpRequest
(
$url
,
$data
)
{
$ch
=
curl_init
();
curl_setopt
(
$ch
,
CURLOPT_URL
,
$url
);
curl_setopt
(
$ch
,
CURLOPT_FAILONERROR
,
false
);
curl_setopt
(
$ch
,
CURLOPT_RETURNTRANSFER
,
true
);
curl_setopt
(
$ch
,
CURLOPT_SSL_VERIFYPEER
,
false
);
$body_string
=
''
;
if
(
is_array
(
$data
)
&&
0
<
count
(
$data
))
{
foreach
(
$data
as
$k
=>
$v
)
{
$body_string
.
=
$k
.
'='
.
urlencode
(
$v
)
.
'&'
;
}
curl_setopt
(
$ch
,
CURLOPT_POST
,
true
);
curl_setopt
(
$ch
,
CURLOPT_POSTFIELDS
,
$body_string
);
}
$headers
=
array
(
'content-type: application/x-www-form-urlencoded;charset=UTF-8'
);
curl_setopt
(
$ch
,
CURLOPT_HTTPHEADER
,
$headers
);
$reponse
=
curl_exec
(
$ch
);
if
(
curl_errno
(
$ch
))
{
return
false
;
}
else
{
$httpStatusCode
=
curl_getinfo
(
$ch
,
CURLINFO_HTTP_CODE
);
if
(
200
!==
$httpStatusCode
)
{
return
false
;
}
}
curl_close
(
$ch
);
return
json_decode
(
$reponse
,
true
);
}
/**
* 签名生成
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-03-15
* @desc description
* @param [array] $params [需要签名的参数]
*/
public
function
SignCreated
(
$params
)
{
ksort
(
$params
);
$sign
=
''
;
foreach
(
$params
as
$k
=>
$v
)
{
if
(
!
in_array
(
$k
,
[
'sign'
,
'sign_type'
])
&&
$v
!=
''
&&
$v
!=
null
)
{
$sign
.
=
"
$k
=
$v
&"
;
}
}
return
strtolower
(
md5
(
substr
(
$sign
,
0
,
-
1
)
.
$this
->
config
[
'key'
]));
}
}
?>
\ No newline at end of file
extend/payment/IEPayWeixin.php
0 → 100644
浏览文件 @
0c8c249f
<?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
payment
;
/**
* IEPay - 微信
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-09-22
* @desc description
*/
class
IEPayWeixin
{
// 插件配置参数
private
$config
;
/**
* 构造方法
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-17
* @desc description
* @param [array] $params [输入参数(支付配置参数)]
*/
public
function
__construct
(
$params
=
[])
{
$this
->
config
=
$params
;
}
/**
* 配置信息
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-19
* @desc description
*/
public
function
Config
()
{
// 基础信息
$base
=
[
'name'
=>
'IEPay微信'
,
// 插件名称
'version'
=>
'1.0.0'
,
// 插件版本
'apply_version'
=>
'不限'
,
// 适用系统版本描述
'apply_terminal'
=>
[
'pc'
,
'h5'
,
'weixin'
,
'ios'
,
'android'
],
// 适用终端 默认全部 ['pc', 'h5', 'ios', 'android', 'alipay', 'weixin', 'baidu', 'toutiao']
'desc'
=>
'适用PC+H5+APP,即时到帐支付方式,买家的交易资金直接打入卖家账户,新西兰货币支付。 <a href="https://www.mypaynz.com/" target="_blank">立即申请</a>'
,
// 插件描述(支持html)
'author'
=>
'Devil'
,
// 开发者
'author_url'
=>
'http://shopxo.net/'
,
// 开发者主页
];
// 配置信息
$element
=
[
[
'element'
=>
'input'
,
'type'
=>
'text'
,
'default'
=>
''
,
'name'
=>
'mid'
,
'placeholder'
=>
'商户ID'
,
'title'
=>
'商户ID'
,
'is_required'
=>
0
,
'message'
=>
'请填写商户ID'
,
],
[
'element'
=>
'input'
,
'type'
=>
'text'
,
'default'
=>
''
,
'name'
=>
'key'
,
'placeholder'
=>
'密钥'
,
'title'
=>
'密钥'
,
'is_required'
=>
0
,
'message'
=>
'请填写密钥'
,
],
[
'element'
=>
'input'
,
'type'
=>
'text'
,
'default'
=>
''
,
'name'
=>
'mini_appid'
,
'placeholder'
=>
'小程序ID'
,
'title'
=>
'小程序ID'
,
'is_required'
=>
0
,
'message'
=>
'请填写微信分配的小程序ID'
,
],
];
return
[
'base'
=>
$base
,
'element'
=>
$element
,
];
}
/**
* 支付入口
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-19
* @desc description
* @param [array] $params [输入参数]
*/
public
function
Pay
(
$params
=
[])
{
// 参数
if
(
empty
(
$params
))
{
return
DataReturn
(
'参数不能为空'
,
-
1
);
}
// 配置信息
if
(
empty
(
$this
->
config
))
{
return
DataReturn
(
'支付缺少配置'
,
-
1
);
}
// 支付参数
$parameter
=
[
'mid'
=>
$this
->
config
[
'mid'
],
'total_fee'
=>
(
int
)
((
$params
[
'total_price'
]
*
1000
)
/
10
),
'goods'
=>
$params
[
'name'
],
'out_trade_no'
=>
$params
[
'order_no'
],
'return_url'
=>
$params
[
'call_back_url'
]
.
'?out_trade_no='
.
$params
[
'order_no'
],
'notify_url'
=>
$params
[
'notify_url'
],
'pay_type'
=>
$this
->
GetPayType
(
''
,
true
),
'version'
=>
'v1'
,
];
// 微信小程序
if
(
$parameter
[
'pay_type'
]
==
'IE0026'
)
{
$parameter
[
'appid'
]
=
$this
->
config
[
'mini_appid'
];
$parameter
[
'openid'
]
=
isset
(
$params
[
'user'
][
'weixin_openid'
])
?
$params
[
'user'
][
'weixin_openid'
]
:
''
;
}
// 生成签名
$parameter
[
'sign'
]
=
$this
->
SignCreated
(
$parameter
);
// 客户端类型
switch
(
$parameter
[
'pay_type'
])
{
// 微信小程序
case
'IE0026'
:
$result
=
$this
->
HttpRequest
(
'https://a.mypaynz.com/wechatApi/mini_pay'
,
$parameter
);
if
(
isset
(
$result
[
'code'
])
&&
$result
[
'code'
]
==
200
&&
!
empty
(
$result
[
'data'
]))
{
return
$this
->
PayHandleReturn
(
$parameter
,
$result
[
'data'
],
$params
);
}
break
;
// 默认
default
:
$result
=
$this
->
HttpRequest
(
'https://a.mypaynz.com/api/online'
,
$parameter
);
if
(
isset
(
$result
[
'is_success'
])
&&
$result
[
'is_success'
]
==
'TRUE'
&&
!
empty
(
$result
[
'extra'
])
&&
!
empty
(
$result
[
'extra'
][
'pay_url'
]))
{
return
$this
->
PayHandleReturn
(
$parameter
,
$result
[
'extra'
],
$params
);
}
}
return
DataReturn
(
empty
(
$result
[
'message'
])
?
'支付错误'
:
$result
[
'message'
],
-
100
);
}
/**
* 支付返回处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-01-08
* @desc description
* @param [array] $pay_params [支付参数]
* @param [array] $data [支付返回数据]
* @param [array] $params [输入参数]
*/
private
function
PayHandleReturn
(
$pay_params
=
[],
$data
=
[],
$params
=
[])
{
// 客户端类型
$client_type
=
ApplicationClientType
();
// 微信环境中
if
(
$client_type
==
'h5'
&&
IsWeixinEnv
())
{
$client_type
=
'weixin_h5'
;
}
// 类型处理
$result
=
DataReturn
(
'支付接口异常'
,
-
1
);
switch
(
$client_type
)
{
// web支付/非微信环境h5
case
'pc'
:
case
'h5'
:
if
(
empty
(
$params
[
'ajax_url'
]))
{
return
DataReturn
(
'支付状态校验地址不能为空'
,
-
50
);
}
$pay_params
=
[
'url'
=>
urlencode
(
base64_encode
(
$data
[
'pay_url'
])),
'order_no'
=>
$params
[
'order_no'
],
'name'
=>
urlencode
(
'微信支付'
),
'msg'
=>
urlencode
(
'打开微信APP扫一扫进行支付'
),
'ajax_url'
=>
urlencode
(
base64_encode
(
$params
[
'ajax_url'
])),
];
$url
=
MyUrl
(
'index/pay/qrcode'
,
$pay_params
);
$result
=
DataReturn
(
'success'
,
0
,
$url
);
break
;
// 微信小程序
case
'weixin'
:
$result
=
DataReturn
(
'success'
,
0
,
$data
);
break
;
// h5支付
// 苹果手机
// 安卓手机
case
'weixin_h5'
:
case
'ios'
:
case
'android'
:
$result
=
DataReturn
(
'success'
,
0
,
$data
[
'pay_url'
]);
break
;
}
return
$result
;
}
/**
* 获取支付平台类型
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-09-22
* @desc description
* @param [string] $client_type [订单客户端类型]
* @param [boolean] $is_pay [是否支付请求操作]
*/
private
function
GetPayType
(
$client_type
=
''
,
$is_pay
=
false
)
{
// 平台
if
(
empty
(
$client_type
))
{
$client_type
=
ApplicationClientType
();
}
// 终端平台
$client_type_arr
=
[
'pc'
=>
'IE0021'
,
'h5'
=>
'IE0022'
,
'weixin'
=>
'IE0026'
,
'ios'
=>
'IE0025'
,
'android'
=>
'IE0025'
,
];
// 手机H5非微信环境中使用PC二维码、支付平台暂时不支持H5支付方式,这里使用PC二维码方式兼容一下(就是体验差一点)
if
(
$is_pay
===
true
&&
$client_type
==
'h5'
&&
!
IsWeixinEnv
())
{
$client_type_arr
[
'h5'
]
=
'IE0021'
;
}
return
isset
(
$client_type_arr
[
$client_type
])
?
$client_type_arr
[
$client_type
]
:
$client_type_arr
[
'pc'
];
}
/**
* 支付回调处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-19
* @desc description
* @param [array] $params [输入参数]
*/
public
function
Respond
(
$params
=
[])
{
// 支付参数
$data
=
input
();
if
(
empty
(
$data
[
'out_trade_no'
]))
{
return
DataReturn
(
'支付平台返回的订单号为空'
,
-
1
);
}
// 远程查询支付状态
$parameter
=
[
'mid'
=>
$this
->
config
[
'mid'
],
'pay_type'
=>
$this
->
GetPayType
(),
'out_trade_no'
=>
$data
[
'out_trade_no'
],
'version'
=>
'v1'
,
];
// 生成签名
$parameter
[
'sign'
]
=
$this
->
SignCreated
(
$parameter
);
// 请求post
$result
=
$this
->
HttpRequest
(
'https://a.mypaynz.com/api/check_order_status'
,
$parameter
);
if
(
isset
(
$result
[
'is_success'
])
&&
$result
[
'is_success'
]
==
'TRUE'
&&
!
empty
(
$result
[
'extra'
]))
{
if
(
isset
(
$result
[
'extra'
][
'order_status'
])
&&
$result
[
'extra'
][
'order_status'
]
==
1
)
{
return
DataReturn
(
'支付成功'
,
0
,
$this
->
ReturnData
(
$result
[
'extra'
]));
}
}
return
DataReturn
(
empty
(
$result
[
'message'
])
?
'支付失败'
:
$result
[
'message'
],
-
100
);
}
/**
* [ReturnData 返回数据统一格式]
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2018-10-06T16:54:24+0800
* @param [array] $data [返回数据]
*/
private
function
ReturnData
(
$data
)
{
// 返回数据固定基础参数
$data
[
'trade_no'
]
=
$data
[
'trade_no'
];
// 支付平台 - 订单号
$data
[
'buyer_user'
]
=
$data
[
'pay_type'
];
// 支付平台 - 用户
$data
[
'out_trade_no'
]
=
$data
[
'out_trade_no'
];
// 本系统发起支付的 - 订单号
$data
[
'subject'
]
=
isset
(
$data
[
'order_status'
])
?
'状态:'
.
$data
[
'order_status'
]
:
''
;
// 本系统发起支付的 - 商品名称
$data
[
'pay_price'
]
=
$data
[
'total_fee'
]
/
100
;
// 本系统发起支付的 - 总价
return
$data
;
}
/**
* 退款处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-05-28
* @desc description
* @param [array] $params [输入参数]
*/
public
function
Refund
(
$params
=
[])
{
// 参数
$p
=
[
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'order_no'
,
'error_msg'
=>
'订单号不能为空'
,
],
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'trade_no'
,
'error_msg'
=>
'交易平台订单号不能为空'
,
],
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'refund_price'
,
'error_msg'
=>
'退款金额不能为空'
,
],
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'client_type'
,
'error_msg'
=>
'订单客户端类型不能为空'
,
],
];
$ret
=
ParamsChecked
(
$params
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
// 远程查询支付状态
$parameter
=
[
'mid'
=>
$this
->
config
[
'mid'
],
'pay_type'
=>
$this
->
GetPayType
(
$params
[
'client_type'
]),
'out_trade_no'
=>
$params
[
'order_no'
],
'refund_amount'
=>
(
int
)
((
$params
[
'refund_price'
]
*
1000
)
/
10
),
'version'
=>
'v1'
,
];
// 生成签名
$parameter
[
'sign'
]
=
$this
->
SignCreated
(
$parameter
);
// 请求post
$result
=
$this
->
HttpRequest
(
'https://a.mypaynz.com/api/refund'
,
$parameter
);
if
(
isset
(
$result
[
'is_success'
])
&&
$result
[
'is_success'
]
==
'TRUE'
)
{
// 统一返回格式
$data
=
[
'out_trade_no'
=>
isset
(
$result
[
'out_trade_no'
])
?
$result
[
'out_trade_no'
]
:
''
,
'trade_no'
=>
isset
(
$result
[
'trade_no'
])
?
$result
[
'trade_no'
]
:
''
,
'buyer_user'
=>
isset
(
$result
[
'buyer_user_id'
])
?
$result
[
'buyer_user_id'
]
:
''
,
'refund_price'
=>
isset
(
$result
[
'refund_fee'
])
?
$result
[
'refund_fee'
]
/
100
:
$params
[
'refund_price'
],
'return_params'
=>
$result
,
];
return
DataReturn
(
'退款成功'
,
0
,
$data
);
}
// 1. 退款失败则,提示订单不存在
// 2. 判断订单是否h5类型,可能是pay_type参数兼容性问题导致,再次发起退款操作
if
(
isset
(
$result
[
'message'
])
&&
$result
[
'message'
]
==
'PAY_ROW_ERROR'
&&
$params
[
'client_type'
]
==
'h5'
)
{
// 支付的时候h5 非微信环境使用的pc支付类型
$params
[
'client_type'
]
=
'pc'
;
return
$this
->
Refund
(
$params
);
}
// 失败直接返回错误
return
DataReturn
(
empty
(
$result
[
'message'
])
?
'退款失败'
:
$result
[
'message'
],
-
100
);
}
/**
* [HttpRequest 网络请求]
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2017-09-25T09:10:46+0800
* @param [string] $url [请求url]
* @param [array] $data [发送数据]
* @return [mixed] [请求返回数据]
*/
private
function
HttpRequest
(
$url
,
$data
)
{
$ch
=
curl_init
();
curl_setopt
(
$ch
,
CURLOPT_URL
,
$url
);
curl_setopt
(
$ch
,
CURLOPT_FAILONERROR
,
false
);
curl_setopt
(
$ch
,
CURLOPT_RETURNTRANSFER
,
true
);
curl_setopt
(
$ch
,
CURLOPT_SSL_VERIFYPEER
,
false
);
$body_string
=
''
;
if
(
is_array
(
$data
)
&&
0
<
count
(
$data
))
{
foreach
(
$data
as
$k
=>
$v
)
{
$body_string
.
=
$k
.
'='
.
urlencode
(
$v
)
.
'&'
;
}
curl_setopt
(
$ch
,
CURLOPT_POST
,
true
);
curl_setopt
(
$ch
,
CURLOPT_POSTFIELDS
,
$body_string
);
}
$headers
=
array
(
'content-type: application/x-www-form-urlencoded;charset=UTF-8'
);
curl_setopt
(
$ch
,
CURLOPT_HTTPHEADER
,
$headers
);
$reponse
=
curl_exec
(
$ch
);
if
(
curl_errno
(
$ch
))
{
return
false
;
}
else
{
$httpStatusCode
=
curl_getinfo
(
$ch
,
CURLINFO_HTTP_CODE
);
if
(
200
!==
$httpStatusCode
)
{
return
false
;
}
}
curl_close
(
$ch
);
return
json_decode
(
$reponse
,
true
);
}
/**
* 签名生成
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-03-15
* @desc description
* @param [array] $params [需要签名的参数]
*/
public
function
SignCreated
(
$params
)
{
ksort
(
$params
);
$sign
=
''
;
foreach
(
$params
as
$k
=>
$v
)
{
if
(
!
in_array
(
$k
,
[
'sign'
,
'sign_type'
])
&&
$v
!=
''
&&
$v
!=
null
)
{
$sign
.
=
"
$k
=
$v
&"
;
}
}
return
strtolower
(
md5
(
substr
(
$sign
,
0
,
-
1
)
.
$this
->
config
[
'key'
]));
}
}
?>
\ No newline at end of file
sourcecode/alipay/pages/user-order/user-order.axml
浏览文件 @
0c8c249f
...
...
@@ -12,7 +12,7 @@
<view class="list-item bg-white spacing-mb" a:if="{{data_list.length > 0}}" a:for="{{data_list}}">
<view class="item-base oh br-b">
<!-- 选择 -->
<view a:if="{{nav_status_index == 1}}" onTap="selected_event" data-oid="{{item.id}}" class="fl selected">
<view a:if="{{nav_status_index == 1
&& home_is_enable_order_bulk_pay == 1
}}" onTap="selected_event" data-oid="{{item.id}}" class="fl selected">
<image class="icon" src="/images/default-select{{order_select_ids.indexOf(item.id) != -1 ? '-active' : ''}}-icon.png" mode="widthFix" />
</view>
<!-- 基础信息 -->
...
...
@@ -60,7 +60,7 @@
</scroll-view>
<!-- 合并支付 -->
<view a:if="{{nav_status_index == 1 && order_select_ids.length > 0}}">
<view a:if="{{nav_status_index == 1 && order_select_ids.length > 0
&& home_is_enable_order_bulk_pay == 1
}}">
<button class="submit-fixed pay-merge-submit" type="default" size="mini" hover-class="none" onTap="pay_merge_event">合并支付</button>
</view>
...
...
sourcecode/alipay/pages/user-order/user-order.js
浏览文件 @
0c8c249f
...
...
@@ -23,6 +23,9 @@ Page({
],
nav_status_index
:
0
,
order_select_ids
:
[],
// 基础配置
home_is_enable_order_bulk_pay
:
0
,
},
onLoad
(
params
)
{
...
...
@@ -48,6 +51,20 @@ Page({
// 数据加载
this
.
init
();
// 初始化配置
this
.
init_config
();
},
// 初始化配置
init_config
(
status
)
{
if
((
status
||
false
)
==
true
)
{
this
.
setData
({
home_is_enable_order_bulk_pay
:
app
.
get_config
(
'
config.home_is_enable_order_bulk_pay
'
),
});
}
else
{
app
.
is_config
(
this
,
'
init_config
'
);
}
},
// 获取数据
...
...
sourcecode/baidu/pages/user-order/user-order.js
浏览文件 @
0c8c249f
...
...
@@ -22,7 +22,10 @@ Page({
{
name
:
"
已失效
"
,
value
:
"
5,6
"
},
],
nav_status_index
:
0
,
order_select_ids
:
[]
order_select_ids
:
[],
// 基础配置
home_is_enable_order_bulk_pay
:
0
,
},
onLoad
(
params
)
{
...
...
@@ -48,6 +51,20 @@ Page({
// 数据加载
this
.
init
();
// 初始化配置
this
.
init_config
();
},
// 初始化配置
init_config
(
status
)
{
if
((
status
||
false
)
==
true
)
{
this
.
setData
({
home_is_enable_order_bulk_pay
:
app
.
get_config
(
'
config.home_is_enable_order_bulk_pay
'
),
});
}
else
{
app
.
is_config
(
this
,
'
init_config
'
);
}
},
// 获取数据
...
...
sourcecode/baidu/pages/user-order/user-order.swan
浏览文件 @
0c8c249f
...
...
@@ -13,7 +13,7 @@
<view class="list-item bg-white spacing-mb" s-if="data_list.length > 0" s-for="item, index in data_list" s-key="key">
<view class="item-base oh br-b">
<!-- 选择 -->
<view s-if="nav_status_index == 1" bindtap="selected_event" data-oid="{{item.id}}" class="fl selected">
<view s-if="nav_status_index == 1
&& home_is_enable_order_bulk_pay == 1
" bindtap="selected_event" data-oid="{{item.id}}" class="fl selected">
<image class="icon" src="/images/default-select{{tools.indexOf(order_select_ids, item.id) ? '-active' : ''}}-icon.png" mode="widthFix" />
</view>
<!-- 基础信息 -->
...
...
@@ -61,7 +61,7 @@
</scroll-view>
<!-- 合并支付 -->
<view s-if="nav_status_index == 1 && order_select_ids.length > 0">
<view s-if="nav_status_index == 1 && order_select_ids.length > 0
&& home_is_enable_order_bulk_pay == 1
">
<button class="submit-fixed pay-merge-submit" type="default" size="mini" hover-class="none" bindtap="pay_merge_event">合并支付</button>
</view>
...
...
sourcecode/qq/pages/user-order/user-order.js
浏览文件 @
0c8c249f
...
...
@@ -23,6 +23,9 @@ Page({
],
nav_status_index
:
0
,
order_select_ids
:
[],
// 基础配置
home_is_enable_order_bulk_pay
:
0
,
},
onLoad
(
params
)
{
...
...
@@ -48,6 +51,20 @@ Page({
// 数据加载
this
.
init
();
// 初始化配置
this
.
init_config
();
},
// 初始化配置
init_config
(
status
)
{
if
((
status
||
false
)
==
true
)
{
this
.
setData
({
home_is_enable_order_bulk_pay
:
app
.
get_config
(
'
config.home_is_enable_order_bulk_pay
'
),
});
}
else
{
app
.
is_config
(
this
,
'
init_config
'
);
}
},
// 获取数据
...
...
sourcecode/qq/pages/user-order/user-order.qml
浏览文件 @
0c8c249f
...
...
@@ -13,7 +13,7 @@
<
view
class
=
"
list-item bg-white spacing-mb
"
qq
:
if
=
"
{{data_list.length > 0}}
"
qq
:
for
=
"
{{data_list}}
"
qq
:
key
=
"
key
"
>
<
view
class
=
"
item-base oh br-b
"
>
<!--
选择
-->
<
view
qq
:
if
=
"
{{nav_status_index == 1}}
"
bindtap
=
"
selected_event
"
data
-
oid
=
"
{{item.id}}
"
class
=
"
fl selected
"
>
<
view
qq
:
if
=
"
{{nav_status_index == 1
&& home_is_enable_order_bulk_pay == 1
}}
"
bindtap
=
"
selected_event
"
data
-
oid
=
"
{{item.id}}
"
class
=
"
fl selected
"
>
<
image
class
=
"
icon
"
src
=
"
/images/default-select{{tools.indexOf(order_select_ids, item.id) ? '-active' : ''}}-icon.png
"
mode
=
"
widthFix
"
/>
<
/view
>
<!--
基础信息
-->
...
...
@@ -61,7 +61,7 @@
<
/scroll-view
>
<!--
合并支付
-->
<
view
qq
:
if
=
"
{{nav_status_index == 1 && order_select_ids.length > 0}}
"
>
<
view
qq
:
if
=
"
{{nav_status_index == 1 && order_select_ids.length > 0
&& home_is_enable_order_bulk_pay == 1
}}
"
>
<
button
class
=
"
submit-fixed pay-merge-submit
"
type
=
"
default
"
size
=
"
mini
"
hover
-
class
=
"
none
"
bindtap
=
"
pay_merge_event
"
>
合并支付
<
/button
>
<
/view
>
...
...
sourcecode/toutiao/pages/user-order/user-order.js
浏览文件 @
0c8c249f
...
...
@@ -13,27 +13,19 @@ Page({
payment_list
:
[],
payment_id
:
0
,
temp_pay_value
:
''
,
nav_status_list
:
[{
name
:
"
全部
"
,
value
:
"
-1
"
},
{
name
:
"
待付款
"
,
value
:
"
1
"
},
{
name
:
"
待发货
"
,
value
:
"
2
"
},
{
name
:
"
待收货
"
,
value
:
"
3
"
},
{
name
:
"
已完成
"
,
value
:
"
4
"
},
{
name
:
"
已失效
"
,
value
:
"
5,6
"
}],
nav_status_list
:
[
{
name
:
"
全部
"
,
value
:
"
-1
"
},
{
name
:
"
待付款
"
,
value
:
"
1
"
},
{
name
:
"
待发货
"
,
value
:
"
2
"
},
{
name
:
"
待收货
"
,
value
:
"
3
"
},
{
name
:
"
已完成
"
,
value
:
"
4
"
},
{
name
:
"
已失效
"
,
value
:
"
5,6
"
},
],
nav_status_index
:
0
,
order_select_ids
:
[]
order_select_ids
:
[],
// 基础配置
home_is_enable_order_bulk_pay
:
0
,
},
onLoad
(
params
)
{
...
...
@@ -60,6 +52,20 @@ Page({
// 数据加载
this
.
init
();
// 初始化配置
this
.
init_config
();
},
// 初始化配置
init_config
(
status
)
{
if
((
status
||
false
)
==
true
)
{
this
.
setData
({
home_is_enable_order_bulk_pay
:
app
.
get_config
(
'
config.home_is_enable_order_bulk_pay
'
),
});
}
else
{
app
.
is_config
(
this
,
'
init_config
'
);
}
},
// 获取数据
...
...
sourcecode/toutiao/pages/user-order/user-order.ttml
浏览文件 @
0c8c249f
...
...
@@ -13,7 +13,7 @@
<view class="list-item bg-white spacing-mb" tt:if="{{data_list.length > 0}}" tt:for="{{data_list}}" tt:key="key">
<view class="item-base oh br-b">
<!-- 选择 -->
<view tt:if="{{nav_status_index == 1}}" bindtap="selected_event" data-oid="{{item.id}}" class="fl selected">
<view tt:if="{{nav_status_index == 1
&& home_is_enable_order_bulk_pay == 1
}}" bindtap="selected_event" data-oid="{{item.id}}" class="fl selected">
<image class="icon" src="/images/default-select{{tools.indexOf(order_select_ids, item.id) ? '-active' : ''}}-icon.png" mode="widthFix" />
</view>
<!-- 基础信息 -->
...
...
@@ -61,7 +61,7 @@
</scroll-view>
<!-- 合并支付 -->
<view tt:if="{{nav_status_index == 1 && order_select_ids.length > 0}}">
<view tt:if="{{nav_status_index == 1 && order_select_ids.length > 0
&& home_is_enable_order_bulk_pay == 1
}}">
<button class="submit-fixed pay-merge-submit" type="default" size="mini" hover-class="none" bindtap="pay_merge_event">合并支付</button>
</view>
...
...
sourcecode/weixin/app.js
浏览文件 @
0c8c249f
...
...
@@ -71,7 +71,7 @@ App({
// 请求地址
request_url
:
"
{{request_url}}
"
,
request_url
:
'
http://shopxo.com/
'
,
request_url
:
'
https://dev.shopxo.net/
'
,
//
request_url: 'https://dev.shopxo.net/',
// 基础信息
application_title
:
"
{{application_title}}
"
,
...
...
sourcecode/weixin/pages/user-order/user-order.js
浏览文件 @
0c8c249f
...
...
@@ -23,6 +23,9 @@ Page({
],
nav_status_index
:
0
,
order_select_ids
:
[],
// 基础配置
home_is_enable_order_bulk_pay
:
0
,
},
onLoad
(
params
)
{
...
...
@@ -48,6 +51,20 @@ Page({
// 数据加载
this
.
init
();
// 初始化配置
this
.
init_config
();
},
// 初始化配置
init_config
(
status
)
{
if
((
status
||
false
)
==
true
)
{
this
.
setData
({
home_is_enable_order_bulk_pay
:
app
.
get_config
(
'
config.home_is_enable_order_bulk_pay
'
),
});
}
else
{
app
.
is_config
(
this
,
'
init_config
'
);
}
},
// 获取数据
...
...
sourcecode/weixin/pages/user-order/user-order.wxml
浏览文件 @
0c8c249f
...
...
@@ -13,7 +13,7 @@
<view class="list-item bg-white spacing-mb" wx:if="{{data_list.length > 0}}" wx:for="{{data_list}}" wx:key="key">
<view class="item-base oh br-b">
<!-- 选择 -->
<view wx:if="{{nav_status_index == 1}}" bindtap="selected_event" data-oid="{{item.id}}" class="fl selected">
<view wx:if="{{nav_status_index == 1
&& home_is_enable_order_bulk_pay == 1
}}" bindtap="selected_event" data-oid="{{item.id}}" class="fl selected">
<image class="icon" src="/images/default-select{{tools.indexOf(order_select_ids, item.id) ? '-active' : ''}}-icon.png" mode="widthFix" />
</view>
<!-- 基础信息 -->
...
...
@@ -61,7 +61,7 @@
</scroll-view>
<!-- 合并支付 -->
<view wx:if="{{nav_status_index == 1 && order_select_ids.length > 0}}">
<view wx:if="{{nav_status_index == 1 && order_select_ids.length > 0
&& home_is_enable_order_bulk_pay == 1
}}">
<button class="submit-fixed pay-merge-submit" type="default" size="mini" hover-class="none" bindtap="pay_merge_event">合并支付</button>
</view>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录