Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
book-app
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
book-app
Commits
00c31596
提交
00c31596
authored
2月 20, 2024
作者:
yueweilu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
待支付
上级
093163d3
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
148 行增加
和
6 行删除
+148
-6
mine.dart
lib/apis/mine.dart
+33
-0
shop.dart
lib/models/shop.dart
+6
-0
view.dart
lib/pages/ad_detail/view.dart
+1
-1
controller.dart
lib/pages/book_pay/controller.dart
+10
-2
index.dart
lib/pages/user_love/index.dart
+1
-0
view.dart
lib/pages/user_love/view.dart
+8
-3
controller.dart
lib/pages/user_order_awaiting/controller.dart
+87
-0
index.dart
lib/pages/user_order_awaiting/index.dart
+2
-0
没有找到文件。
lib/apis/mine.dart
浏览文件 @
00c31596
...
@@ -460,5 +460,38 @@ abstract class MineAPI {
...
@@ -460,5 +460,38 @@ abstract class MineAPI {
return
false
;
return
false
;
}
}
/// 26、获取支付信息
static
Future
<
PayOrderModel
>
getPayInfo
({
required
String
ordersNum
,
})
async
{
final
result
=
await
HttpService
.
to
.
post
(
'/v1/orders/Orders/payAgain'
,
params:
{
'ordersNum'
:
ordersNum
,
},
showLoading:
true
);
if
(
result
.
data
is
!
Map
)
return
PayOrderModel
();
return
PayOrderModel
.
fromJson
(
result
.
data
);
}
/// 27、紫荆币支付
static
Future
<
bool
>
coinPay
({
required
String
ordersNum
,
})
async
{
final
result
=
await
HttpService
.
to
.
post
(
'/v1/book/Information/editNotes'
,
params:
{
'ordersNum'
:
ordersNum
,
},
showLoading:
true
);
if
(
result
.
data
is
Map
&&
result
.
data
[
'is_success'
]
==
1
)
{
return
true
;
}
return
false
;
}
}
}
lib/models/shop.dart
浏览文件 @
00c31596
...
@@ -170,6 +170,7 @@ class PayOrderModel {
...
@@ -170,6 +170,7 @@ class PayOrderModel {
this
.
ordersnum
,
this
.
ordersnum
,
this
.
encryptionOrder
,
this
.
encryptionOrder
,
this
.
code
,
this
.
code
,
this
.
isMoneys
,
String
?
msg
,
String
?
msg
,
});
});
...
@@ -185,6 +186,7 @@ class PayOrderModel {
...
@@ -185,6 +186,7 @@ class PayOrderModel {
encryptionOrder
=
json
[
'encryption_order'
];
encryptionOrder
=
json
[
'encryption_order'
];
code
=
json
[
'code'
];
code
=
json
[
'code'
];
msg
=
json
[
'msg'
];
msg
=
json
[
'msg'
];
isMoneys
=
json
[
'is_moneys'
];
}
}
String
?
appid
;
String
?
appid
;
String
?
partnerid
;
String
?
partnerid
;
...
@@ -197,6 +199,7 @@ class PayOrderModel {
...
@@ -197,6 +199,7 @@ class PayOrderModel {
String
?
encryptionOrder
;
String
?
encryptionOrder
;
num
?
code
;
num
?
code
;
String
?
msg
;
String
?
msg
;
num
?
isMoneys
;
PayOrderModel
copyWith
({
String
?
appid
,
PayOrderModel
copyWith
({
String
?
appid
,
String
?
partnerid
,
String
?
partnerid
,
String
?
prepayid
,
String
?
prepayid
,
...
@@ -208,6 +211,7 @@ class PayOrderModel {
...
@@ -208,6 +211,7 @@ class PayOrderModel {
String
?
encryptionOrder
,
String
?
encryptionOrder
,
num
?
code
,
num
?
code
,
String
?
msg
,
String
?
msg
,
num
?
isMoneys
,
})
=>
PayOrderModel
(
appid:
appid
??
this
.
appid
,
})
=>
PayOrderModel
(
appid:
appid
??
this
.
appid
,
partnerid:
partnerid
??
this
.
partnerid
,
partnerid:
partnerid
??
this
.
partnerid
,
prepayid:
prepayid
??
this
.
prepayid
,
prepayid:
prepayid
??
this
.
prepayid
,
...
@@ -219,6 +223,7 @@ class PayOrderModel {
...
@@ -219,6 +223,7 @@ class PayOrderModel {
encryptionOrder:
encryptionOrder
??
this
.
encryptionOrder
,
encryptionOrder:
encryptionOrder
??
this
.
encryptionOrder
,
code:
code
??
this
.
code
,
code:
code
??
this
.
code
,
msg:
msg
??
this
.
msg
,
msg:
msg
??
this
.
msg
,
isMoneys:
isMoneys
??
this
.
isMoneys
);
);
Map
<
String
,
dynamic
>
toJson
()
{
Map
<
String
,
dynamic
>
toJson
()
{
final
map
=
<
String
,
dynamic
>{};
final
map
=
<
String
,
dynamic
>{};
...
@@ -233,6 +238,7 @@ class PayOrderModel {
...
@@ -233,6 +238,7 @@ class PayOrderModel {
map
[
'encryption_order'
]
=
encryptionOrder
;
map
[
'encryption_order'
]
=
encryptionOrder
;
map
[
'code'
]
=
code
;
map
[
'code'
]
=
code
;
map
[
'msg'
]
=
msg
;
map
[
'msg'
]
=
msg
;
map
[
'is_moneys'
]
=
isMoneys
;
return
map
;
return
map
;
}
}
...
...
lib/pages/ad_detail/view.dart
浏览文件 @
00c31596
...
@@ -17,7 +17,7 @@ class _AdDetailPageState extends State<AdDetailPage> {
...
@@ -17,7 +17,7 @@ class _AdDetailPageState extends State<AdDetailPage> {
Widget
build
(
BuildContext
context
)
{
Widget
build
(
BuildContext
context
)
{
return
Scaffold
(
return
Scaffold
(
appBar:
AppBar
(
appBar:
AppBar
(
title:
const
Text
(
'用户协议'
),
),
),
body:
InAppWebView
(
body:
InAppWebView
(
initialUrlRequest:
URLRequest
(
initialUrlRequest:
URLRequest
(
...
...
lib/pages/book_pay/controller.dart
浏览文件 @
00c31596
...
@@ -194,12 +194,20 @@ class BookPayController extends GetxController {
...
@@ -194,12 +194,20 @@ class BookPayController extends GetxController {
// 微信
// 微信
if
(
payModel
.
type
==
1
){
if
(
payModel
.
type
==
1
){
String
orderNumber
=
payOrderModel
.
ordersnum
.
toString
();
String
orderNumber
=
payOrderModel
.
ordersnum
.
toString
();
requestWechat
();
if
(
payOrderModel
.
isMoneys
==
0
){
requestOrderStatus
();
}
else
{
requestWechat
();
}
}
}
// 支付宝
// 支付宝
else
if
(
payModel
.
type
==
2
){
else
if
(
payModel
.
type
==
2
){
String
orderNumber
=
payOrderModel
.
ordersnum
.
toString
();
String
orderNumber
=
payOrderModel
.
ordersnum
.
toString
();
requestAliPay
();
if
(
payOrderModel
.
isMoneys
==
0
){
requestOrderStatus
();
}
else
{
requestAliPay
();
}
}
}
// 书豆
// 书豆
else
if
(
payModel
.
type
==
3
){
else
if
(
payModel
.
type
==
3
){
...
...
lib/pages/user_love/index.dart
浏览文件 @
00c31596
...
@@ -9,6 +9,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
...
@@ -9,6 +9,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import
'package:get/get.dart'
;
import
'package:get/get.dart'
;
import
'package:go_router/go_router.dart'
;
import
'package:go_router/go_router.dart'
;
import
'../../routes/index.dart'
;
import
'../../theme.dart'
;
import
'../../theme.dart'
;
import
'../../utils/index.dart'
;
import
'../../utils/index.dart'
;
import
'../../widgets/index.dart'
;
import
'../../widgets/index.dart'
;
...
...
lib/pages/user_love/view.dart
浏览文件 @
00c31596
...
@@ -31,9 +31,14 @@ class _UserLovePageState extends State<UserLovePage> {
...
@@ -31,9 +31,14 @@ class _UserLovePageState extends State<UserLovePage> {
child:
ListView
.
builder
(
child:
ListView
.
builder
(
itemBuilder:
(
BuildContext
context
,
int
index
){
itemBuilder:
(
BuildContext
context
,
int
index
){
CourseModel
model
=
controller
.
loves
[
index
];
CourseModel
model
=
controller
.
loves
[
index
];
return
BuildItem
(
model:
model
,
onTap:
(){
return
GestureDetector
(
controller
.
unLoved
(
bookId:
model
.
bookId
.
toString
());
onTap:
(){
},);
context
.
pushNamed
(
Routes
.
bookDetail
,
queryParameters:
{
'book_id'
:
model
.
bookId
.
toString
()});
},
child:
BuildItem
(
model:
model
,
onTap:
(){
controller
.
unLoved
(
bookId:
model
.
bookId
.
toString
());
},),
);
},
},
itemCount:
controller
.
loves
.
length
,
itemCount:
controller
.
loves
.
length
,
),
),
...
...
lib/pages/user_order_awaiting/controller.dart
浏览文件 @
00c31596
...
@@ -10,6 +10,13 @@ class UserOrderAwaitingController extends GetxController {
...
@@ -10,6 +10,13 @@ class UserOrderAwaitingController extends GetxController {
// 应付款、订单编号等
// 应付款、订单编号等
List
<
OrderCompletedModel
>
orderAwaitings
=
[];
List
<
OrderCompletedModel
>
orderAwaitings
=
[];
// 支付宝
Tobias
tobias
=
Tobias
();
// 微信
Fluwx
fluwx
=
Fluwx
();
late
PayOrderModel
payOrderModel
;
@override
@override
void
onReady
()
{
void
onReady
()
{
...
@@ -49,4 +56,84 @@ class UserOrderAwaitingController extends GetxController {
...
@@ -49,4 +56,84 @@ class UserOrderAwaitingController extends GetxController {
update
();
update
();
}
}
Future
<
void
>
payOrder
()
async
{
if
(
model
.
payType
==
3
){
final
result
=
await
MineAPI
.
coinPay
(
ordersNum:
orderNum
);
if
(
result
){
Toast
.
show
(
'订单支付完成'
);
getOrderInfo
();
}
}
else
{
payOrderModel
=
await
MineAPI
.
getPayInfo
(
ordersNum:
orderNum
);
// 支付宝
if
(
model
.
payType
==
2
){
final
result
=
await
tobias
.
isAliPayInstalled
;
if
(!
result
){
Toast
.
show
(
'请先安装支付宝'
);
}
else
{
requestAliPay
();
}
}
// 微信
if
(
model
.
payType
==
1
){
final
result
=
await
fluwx
.
isWeChatInstalled
;
if
(!
result
){
Toast
.
show
(
'请先安装微信'
);
}
else
{
requestWechat
();
}
}
}
}
// 支付宝支付
void
requestAliPay
(){
print
(
'================================================================
${payOrderModel.encryptionOrder!}
'
);
tobias
.
pay
(
payOrderModel
.
encryptionOrder
!).
then
((
payResult
){
if
(
payResult
[
'resultStatus'
]
==
'9000'
)
{
requestOrderStatus
();
}
else
{
Toast
.
show
(
payResult
[
'memo'
].
toString
());
}
});
}
// 微信支付
void
requestWechat
(){
Payment
payment
=
Payment
(
appId:
payOrderModel
.
appid
??
''
,
partnerId:
payOrderModel
.
partnerid
??
''
,
prepayId:
payOrderModel
.
prepayid
??
''
,
packageValue:
payOrderModel
.
package
??
''
,
nonceStr:
payOrderModel
.
noncestr
??
''
,
timestamp:
payOrderModel
.
timestamp
!.
toInt
(),
sign:
payOrderModel
.
sign
??
''
);
fluwx
.
pay
(
which:
payment
);
fluwx
.
addSubscriber
((
response
)
{
if
(
response
.
errCode
==
0
)
{
requestOrderStatus
();
}
else
{
Toast
.
show
(
'
${response.errStr}
'
);
}
});
}
void
requestOrderStatus
()
async
{
final
result
=
await
ShopAPI
.
orderStatus
(
orderNumber:
payOrderModel
.
ordersnum
??
''
,
receipt:
''
);
if
(
result
.
paySuccess
==
1
){
Toast
.
show
(
'订单支付完成'
);
getOrderInfo
();
}
}
}
}
lib/pages/user_order_awaiting/index.dart
浏览文件 @
00c31596
...
@@ -7,11 +7,13 @@ import 'package:flutter/material.dart';
...
@@ -7,11 +7,13 @@ import 'package:flutter/material.dart';
import
'package:flutter_book/theme.dart'
;
import
'package:flutter_book/theme.dart'
;
import
'package:flutter_book/utils/index.dart'
;
import
'package:flutter_book/utils/index.dart'
;
import
'package:flutter_book/widgets/index.dart'
;
import
'package:flutter_book/widgets/index.dart'
;
import
'package:fluwx/fluwx.dart'
;
import
'package:get/get.dart'
;
import
'package:get/get.dart'
;
import
'package:get/get_state_manager/src/simple/get_controllers.dart'
;
import
'package:get/get_state_manager/src/simple/get_controllers.dart'
;
import
'package:flutter_screenutil/flutter_screenutil.dart'
;
import
'package:flutter_screenutil/flutter_screenutil.dart'
;
import
'package:get/get_state_manager/src/simple/get_state.dart'
;
import
'package:get/get_state_manager/src/simple/get_state.dart'
;
import
'package:go_router/go_router.dart'
;
import
'package:go_router/go_router.dart'
;
import
'package:tobias/tobias.dart'
;
import
'../../apis/index.dart'
;
import
'../../apis/index.dart'
;
import
'../../models/index.dart'
;
import
'../../models/index.dart'
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论