Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
YOHOBUYPC
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
2
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
biao
9 years ago
Commit
d55cdca3c5348179aca24185b7c94ecdc63ddc23
1 parent
2a205c02
update pay center for binding the pay interface. code review by LiangZhifeng
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
106 additions
and
28 deletions
static/js/me/pay.js
template/m.yohobuy.com/actions/index/home/pay.phtml
yohobuy/m.yohobuy.com/application/controllers/Home.php
static/js/me/pay.js
View file @
d55cdca
...
...
@@ -3,7 +3,87 @@
* @author: 赵彪<bill.zhao@yoho.cn>
* @date: 2015/12/03
*/
var
loading
=
require
(
'../plugin/loading'
);
var
loading
=
require
(
'../plugin/loading'
),
Hammer
=
require
(
'yoho.hammer'
);
var
theOrderCode
=
document
.
getElementById
(
'ordercode'
).
value
;
var
wxPayEl
=
document
.
getElementById
(
'weixin'
),
wxHammer
=
wxPayEl
&&
new
Hammer
(
wxPayEl
);
var
appIconPosition
=
{
baidu
:
'-2.7rem'
,
weixin
:
'-1.2rem'
,
QQ
:
'-5.4rem'
,
bank
:
'-4'
};
//隐藏微信分享选项
if
(
window
.
wx
)
{
wx
.
hideOptionMenu
();
}
function
onBridgeReady
(){
document
.
addEventListener
(
'WeixinJSBridgeReady'
,
function
onBridgeReady
()
{
WeixinJSBridge
.
call
(
'hideOptionMenu'
);
});
}
if
(
typeof
WeixinJSBridge
==
"undefined"
){
if
(
document
.
addEventListener
)
{
document
.
addEventListener
(
'WeixinJSBridgeReady'
,
onBridgeReady
,
false
);
}
else
if
(
document
.
attachEvent
)
{
document
.
attachEvent
(
'WeixinJSBridgeReady'
,
onBridgeReady
);
document
.
attachEvent
(
'onWeixinJSBridgeReady'
,
onBridgeReady
);
}
onBridgeReady
();
}
else
{
onBridgeReady
();
}
//调用微信JS api 支付
function
jsApiCall
(
orderCode
,
jsApiParameters
)
{
//防止重复操作弹框
WeixinJSBridge
.
invoke
(
'getBrandWCPayRequest'
,
jsApiParameters
,
function
(
res
){
window
.
location
.
href
=
"/home/orders/detail?order_code="
+
orderCode
;
}
);
}
//微信支付
function
callpay
(
orderCode
)
{
var
jsApiParameters
;
if
(
typeof
WeixinJSBridge
==
"undefined"
){
if
(
document
.
addEventListener
){
document
.
addEventListener
(
'WeixinJSBridgeReady'
,
jsApiCall
,
false
);
}
else
if
(
document
.
attachEvent
){
document
.
attachEvent
(
'WeixinJSBridgeReady'
,
jsApiCall
);
document
.
attachEvent
(
'onWeixinJSBridgeReady'
,
jsApiCall
);
}
}
else
{
$
.
ajax
({
type
:
"GET"
,
url
:
"/shopping/pay/wechatwapapi?order_code="
+
orderCode
,
dataType
:
"json"
,
success
:
function
(
res
){
if
(
res
.
code
==
200
){
jsApiParameters
=
res
.
data
.
jsApiParameters
;
jsApiCall
(
orderCode
,
jsApiParameters
);
}
else
{
alert
(
'微信支付调取失败'
);
}
},
error
:
function
(){
alert
(
'请刷新本页面,完成微信支付'
);
}
});
}
}
function
isWXOpen
()
{
var
ua
=
navigator
.
userAgent
.
toLowerCase
();
...
...
@@ -32,39 +112,23 @@ function handleForWX() {
}
}
function
setIcon
(
div
,
appName
)
{
if
(
appName
.
indexOf
(
'百度'
)
!==
-
1
)
{
div
.
style
.
backgroundPositionY
=
'-2.7rem'
;
return
false
;
}
if
(
appName
.
indexOf
(
'微信'
)
!==
-
1
)
{
div
.
style
.
backgroundPositionY
=
'-1.2rem'
;
return
false
;
}
if
(
appName
.
indexOf
(
'银联'
)
!==
-
1
)
{
div
.
style
.
backgroundPositionY
=
'-4rem'
;
return
false
;
}
if
(
appName
.
indexOf
(
'QQ'
)
!==
-
1
)
{
div
.
style
.
backgroundPositionY
=
'-5.4rem'
;
return
false
;
}
function
setAppIcon
(
el
,
position
)
{
el
.
style
.
backgroundPositionY
=
position
;
}
function
loadIcon
()
{
var
boxs
=
document
.
getElementsByClassName
(
'box'
);
var
div
=
null
;
var
app
Name
=
null
;
var
app
id
=
null
;
[].
forEach
.
call
(
boxs
,
function
(
box
,
index
)
{
div
=
box
.
getElementsByClassName
(
'icon'
)[
0
].
getElementsByTagName
(
'div'
)[
0
];
if
(
div
)
{
appName
=
box
.
getElementsByClassName
(
'app'
)[
0
].
innerHTML
;
setIcon
(
div
,
appName
);
appid
=
box
.
getAttribute
(
'id'
);
if
(
appid
!==
'alipay'
)
{
setAppIcon
(
div
,
appIconPosition
[
appid
]);
}
}
});
}
...
...
@@ -75,6 +139,12 @@ function showPage() {
pageList
.
style
.
visibility
=
'visible'
;
}
if
(
wxHammer
)
{
wxHammer
.
on
(
'tap'
,
function
()
{
callpay
(
theOrderCode
);
});
}
function
main
()
{
handleForWX
();
loading
.
hideLoadingMask
();
...
...
template/m.yohobuy.com/actions/index/home/pay.phtml
View file @
d55cdca
{
{>
layout/header
}
}
<div
class=
"pay-page yoho-page"
>
{
{#if
orderCode
}
}
<input
id='ordercode'
type=
"hidden"
value=
"{{orderCode}}"
>
{
{/if
}
}
<div
class=
"payapp-list"
>
{
{#
payAppInfo
}
}
{
{#
payAppInfo
}
}
{
{#if
payLink
}
}
<a
href=
"{{payLink}}"
>
<div
class=
"box"
>
{
{/if
}
}
<div
class=
"box"
id=
"{{appId}}"
>
<div
class=
"icon"
>
{
{#if
appIcon
}
}
<img
src=
"{{appIcon}}"
alt=
"app图标"
>
...
...
@@ -21,7 +26,9 @@
</div>
<div
class=
"iconfont"
>
604
</div>
</div>
{
{#if
payLink
}
}
</a>
{
{/if
}
}
{
{/
payAppInfo
}
}
</div>
</div>
...
...
yohobuy/m.yohobuy.com/application/controllers/Home.php
View file @
d55cdca
...
...
@@ -642,7 +642,7 @@ class HomeController extends AbstractAction
$this
->
auditJumpLogin
();
$backUrl
=
Helpers
::
url
(
'/home'
);
$this
->
setTitle
(
'我的订单'
);
$this
->
setNavHeader
(
'我的订单'
,
$backUrl
);
...
...
@@ -780,13 +780,14 @@ class HomeController extends AbstractAction
$this
->
setTitle
(
'支付中心'
);
$this
->
setNavHeader
(
'支付中心'
);
$orderCode
=
$this
->
get
(
'order_code'
);
if
(
empty
(
$orderCode
))
{
$this
->
error
();
}
$this
->
_view
->
display
(
'pay'
,
array
(
'payCenterPage'
=>
true
,
'payAppInfo'
=>
array
(
0
=>
array
(
'appIcon'
=>
''
,
...
...
Please
register
or
login
to post a comment