Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mayi-mp-shop
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
程默
mayi-mp-shop
Commits
df5e1c0c
Commit
df5e1c0c
authored
Aug 05, 2024
by
李嘉林
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
feat: app微信支付后返回app
parent
15cbd31b
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
77 additions
and
4 deletions
+77
-4
src/pages/wxPay/index.vue
+77
-4
No files found.
src/pages/wxPay/index.vue
View file @
df5e1c0c
<
template
>
<div>
<div
class=
"domain"
>
{{
message
}}
</div>
<div
class=
"isApp"
v-if=
"showAppModule"
>
<button
open-type=
"launchApp"
@
error=
"launchAppError"
>
返回APP
</button>
</div>
<van-dialog
use-slot
:show=
"isShow"
@
confirm=
"handleConfirm"
>
<div
class=
"dialog-content__wrapper"
>
<div>
当前订单处在支付中,可能是以下情况:
</div>
...
...
@@ -15,10 +18,20 @@
<
script
>
import
{
formatTime
,
serialize
}
from
"@/utils/index"
;
import
wxPay
from
"@/api/wxPay"
;
import
login
from
"@/api/login"
;
const
app
=
getApp
();
const
{
log
}
=
app
;
function
fn
(
_this
)
{
wx
.
showToast
({
icon
:
'none'
,
title
:
_this
.
options
.
isXhApp
,
});
if
(
_this
.
options
.
isXhApp
==
1
)
{
// 返回App
_this
.
showAppModule
=
true
;
return
;
}
// _this.message = "支付成功";
if
(
!
_this
.
options_isCard
)
{
let
query
;
...
...
@@ -106,6 +119,7 @@ export default {
scene
:
""
,
//sso
backUrl
:
""
,
isShow
:
false
,
showAppModule
:
false
,
};
},
onLoad
(
options
)
{
...
...
@@ -141,11 +155,21 @@ export default {
// }
log
.
info
(
this
.
totalMoney
,
"totalMoney"
);
}
else
{
this
.
options
=
JSON
.
parse
(
options
.
ordercode
);
let
ordercode
=
{};
try
{
ordercode
=
JSON
.
parse
(
options
.
ordercode
.
replace
(
/
\\\"
/g
,
'"'
));
this
.
options
=
ordercode
;
options
.
scene
&&
(
this
.
scene
=
options
.
scene
);
options
.
backUrl
&&
(
this
.
backUrl
=
options
.
backUrl
);
this
.
totalMoney
=
Number
(
JSON
.
parse
(
options
.
ordercode
).
totalAmount
).
toFixed
(
2
);
this
.
totalMoney
=
Number
(
ordercode
.
totalAmount
).
toFixed
(
2
);
}
catch
(
error
)
{
wx
.
showToast
({
icon
:
'none'
,
title
:
JSON
.
stringify
(
error
),
});
}
}
console
.
log
(
'wxPay-onLoad->'
,
this
.
options
);
this
.
options_orderType
=
options
.
orderType
;
this
.
options_isCard
=
options
.
isCard
;
...
...
@@ -155,6 +179,21 @@ export default {
wx
.
setStorageSync
(
"sessionid"
,
options
.
sessionid
);
}
catch
(
e
)
{}
}
this
.
getOpenId
();
},
methods
:
{
launchAppError
(
e
)
{
console
.
log
(
'launchAppError->'
,
e
);
wx
.
showToast
({
icon
:
'none'
,
title
:
'error'
,
});
// wx.showToast({
// icon: 'none',
// title: JSON.stringify(e.target.errMsg),
// });
},
getOpenId
()
{
let
that
=
this
;
wx
.
getStorage
({
key
:
"openid"
,
...
...
@@ -168,10 +207,28 @@ export default {
},
fail
(
err
)
{
log
.
info
(
"获取err"
,
err
);
that
.
setOpenId
(
res
=>
{
that
.
getOpenId
();
});
},
});
},
methods
:
{
setOpenId
(
callback
)
{
wx
.
login
({
success
:
res
=>
{
let
code
=
res
.
code
;
login
.
get_open_id_by_code
({
code
}).
then
(
res1
=>
{
if
(
res1
.
data
.
code
==
200
)
{
wx
.
setStorage
({
key
:
"openid"
,
data
:
res1
.
data
.
data
});
callback
();
}
})
},
})
},
testToPaySuccess
()
{
let
_this
=
this
;
let
params
=
`?orderSn=
${
_this
.
options
.
orderSn
}
`
;
...
...
@@ -260,6 +317,10 @@ export default {
});
}
// fn(this);
if
(
this
.
options
.
isXhApp
==
1
)
{
this
.
showAppModule
=
true
;
return
;
}
this
.
toPage
();
};
...
...
@@ -273,6 +334,7 @@ export default {
};
wx
.
requestPayment
(
payData
);
}
else
if
([
'504'
,
'505'
].
includes
(
res
.
data
.
code
))
{
this
.
message
=
res
.
data
.
msg
;
this
.
isShow
=
true
;
}
else
{
wx
.
showToast
({
title
:
res
.
data
.
msg
,
icon
:
"none"
});
...
...
@@ -318,6 +380,11 @@ export default {
});
},
handleConfirm
()
{
if
(
this
.
options
.
isXhApp
==
1
)
{
// 返回App
this
.
showAppModule
=
true
;
return
;
}
// 如果是代付进入,直接退出小程序
if
(
this
.
options
.
isPayReplace
==
1
)
{
wx
.
exitMiniProgram
({
...
...
@@ -333,11 +400,17 @@ export default {
};
</
script
>
<
style
>
<
style
lang=
"scss"
>
.domain
{
text-align
:
center
;
padding-top
:
50%
;
}
.isApp
{
button{
width
:
50%
;
margin-top
:
20px
;
}
}
.dialog-content__wrapper
{
padding
:
16px
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment