You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
2.4 KiB
100 lines
2.4 KiB
import 'package:dating_touchme_app/model/mine/rose_data.dart';
|
|
import 'package:dating_touchme_app/network/user_api.dart';
|
|
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
|
import 'package:fluwx/fluwx.dart';
|
|
import 'package:get/get.dart';
|
|
|
|
class RoseController extends GetxController {
|
|
|
|
// UserApi实例
|
|
late UserApi _userApi;
|
|
final roseList = <RoseData>[].obs;
|
|
|
|
final roseNum = 0.obs;
|
|
|
|
final payChecked = true.obs;
|
|
|
|
final activePay = 0.obs;
|
|
|
|
final Fluwx fluwx = Fluwx();
|
|
|
|
|
|
changePayActive(int index){
|
|
activePay.value = index;
|
|
|
|
}
|
|
|
|
@override
|
|
void onInit() {
|
|
super.onInit();
|
|
|
|
_userApi = Get.find<UserApi>();
|
|
|
|
getRoseList();
|
|
getRoseNum();
|
|
}
|
|
|
|
getRoseList() async {
|
|
try{
|
|
final response = await _userApi.listVirtualCurrencyProduct({});
|
|
if (response.data.isSuccess && response.data.data != null) {
|
|
final data = response.data.data;
|
|
|
|
roseList.addAll(data?.toList() ?? []);
|
|
} else {
|
|
|
|
// 响应失败,抛出异常
|
|
throw Exception(response.data.message ?? '获取数据失败');
|
|
}
|
|
} catch (e) {
|
|
print('玫瑰列表获取失败: $e');
|
|
SmartDialog.showToast('玫瑰列表获取失败');
|
|
rethrow;
|
|
}
|
|
}
|
|
|
|
getRoseNum() async {
|
|
try {
|
|
final response = await _userApi.getVirtualAccount({});
|
|
if (response.data.isSuccess && response.data.data != null) {
|
|
final data = response.data.data;
|
|
roseNum.value = data?.balance ?? 0;
|
|
} else {
|
|
roseNum.value = 0;
|
|
}
|
|
} catch (e){
|
|
print('玫瑰数量取失败: $e');
|
|
SmartDialog.showToast('玫瑰数量取失败');
|
|
rethrow;
|
|
}
|
|
}
|
|
|
|
submitOrder() async {
|
|
try {
|
|
print(roseList[activePay.value].productDesc);
|
|
final response = await _userApi.submitOrder({
|
|
"productSpecId": roseList[activePay.value].productSpecId
|
|
});
|
|
if (response.data.isSuccess && response.data.data != null) {
|
|
final data = response.data.data;
|
|
fluwx.open(target: MiniProgram(
|
|
username: 'gh_9ea8d46add6f',
|
|
// path:"pages/user/recharge?amount=0.01&orderId=$mchOrderNo"
|
|
));
|
|
|
|
SmartDialog.showToast('下单成功');
|
|
} else {
|
|
|
|
// 响应失败,抛出异常
|
|
throw Exception(response.data.message ?? '获取数据失败');
|
|
}
|
|
} catch (e) {
|
|
print('玫瑰列表获取失败: $e');
|
|
SmartDialog.showToast('下单失败');
|
|
rethrow;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
}
|