fix:修复微信支付调用

This commit is contained in:
anfe 2024-06-11 09:22:36 +08:00
parent 6d19e44259
commit e07ac18bd9
8 changed files with 44 additions and 22 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -176,8 +176,4 @@ Future<void> getAgreePrivacyShowUpdate() async {
} }
} }
Future<void> getAppInfo() async {
final GetAppInfo entity = await ApiRepository.to.getAppInfo();
CustomerTool.init(entity.data?.wechatServiceUrl ?? '');
WxPayTool.associationUrl = entity.data?.appSiteUrl ?? '';
}

View File

@ -4,11 +4,14 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:star_lock/flavors.dart'; import 'package:star_lock/flavors.dart';
import 'package:star_lock/login/login/app_get_version.dart';
import 'package:star_lock/mine/about/debug/debug_tool.dart'; import 'package:star_lock/mine/about/debug/debug_tool.dart';
import 'package:star_lock/network/api_provider.dart'; import 'package:star_lock/network/api_provider.dart';
import 'package:star_lock/network/api_repository.dart'; import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/bugly/bugly_tool.dart'; import 'package:star_lock/tools/bugly/bugly_tool.dart';
import 'package:star_lock/tools/customer_tool.dart';
import 'package:star_lock/tools/device_info_service.dart'; import 'package:star_lock/tools/device_info_service.dart';
import 'package:star_lock/tools/pay/wx_pay_tool.dart';
import 'package:star_lock/tools/platform_info_services.dart'; import 'package:star_lock/tools/platform_info_services.dart';
import 'package:star_lock/tools/storage.dart'; import 'package:star_lock/tools/storage.dart';
import 'package:star_lock/tools/xs_jPhush.dart'; import 'package:star_lock/tools/xs_jPhush.dart';
@ -30,7 +33,11 @@ FutureOr<void> main() async {
final bool isLogin = await getLoginStatus(); final bool isLogin = await getLoginStatus();
if (isLogin) { if (isLogin) {
await privacySDKInitialization(); await privacySDKInitialization();
Future<void>.delayed(const Duration(milliseconds: 500), getAppInfo); Future<void>.delayed(const Duration(milliseconds: 500), () async{
final GetAppInfo entity = await ApiRepository.to.getAppInfo();
CustomerTool.init(entity.data?.wechatServiceUrl ?? '');
WxPayTool.setAssociationUrl(entity.data!.appSiteUrl!);
});
} }
WidgetsBinding.instance.addPostFrameCallback((_) async { WidgetsBinding.instance.addPostFrameCallback((_) async {

View File

@ -313,16 +313,16 @@ class _MineSetPageState extends State<MineSetPage>
Navigator.pushNamed( Navigator.pushNamed(
context, Routers.aPPUnlockNeedMobileNetworkingLockPage); context, Routers.aPPUnlockNeedMobileNetworkingLockPage);
}), }),
if (!F.isLite) // if (!F.isLite)
CommonItem( CommonItem(
leftTitel: TranslationLoader.lanKeys!.valueAddedServices!.tr, leftTitel: TranslationLoader.lanKeys!.valueAddedServices!.tr,
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
Get.back(); Get.back();
Get.toNamed(Routers.valueAddedServicesPage); Get.toNamed(Routers.valueAddedServicesPage);
}, },
), ),
SizedBox( SizedBox(
height: 10.h, height: 10.h,
), ),

View File

@ -40,7 +40,7 @@ class _StarLockApplicationState extends State<StarLockApplication> {
} else if (snapshot.hasData) { } else if (snapshot.hasData) {
if (snapshot.data!) { if (snapshot.data!) {
// //
getAppInfo(); // getAppInfo();
return F.sw( return F.sw(
skyCall: () => StarLockMainPage(), skyCall: () => StarLockMainPage(),
xhjCall: () => const StarLockMainXHJPage()); xhjCall: () => const StarLockMainXHJPage());

View File

@ -13,6 +13,7 @@ import 'package:star_lock/login/login/app_get_version.dart';
import 'package:star_lock/main.dart'; import 'package:star_lock/main.dart';
import 'package:star_lock/network/api_repository.dart'; import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/customer_tool.dart'; import 'package:star_lock/tools/customer_tool.dart';
import 'package:star_lock/tools/pay/wx_pay_tool.dart';
import 'package:star_lock/tools/storage.dart'; import 'package:star_lock/tools/storage.dart';
import '../versionUndate/versionUndateTool.dart'; import '../versionUndate/versionUndateTool.dart';
@ -67,6 +68,7 @@ class AppFirstEnterHandle {
Future<void> getAppInfo() async { Future<void> getAppInfo() async {
final GetAppInfo entity = await ApiRepository.to.getAppInfo(); final GetAppInfo entity = await ApiRepository.to.getAppInfo();
CustomerTool.init(entity.data?.wechatServiceUrl ?? ''); CustomerTool.init(entity.data?.wechatServiceUrl ?? '');
WxPayTool.setAssociationUrl(entity.data!.appSiteUrl!);
} }
// //

View File

@ -1,4 +1,5 @@
import 'package:fluwx/fluwx.dart'; import 'package:fluwx/fluwx.dart';
import 'package:star_lock/tools/storage.dart';
/// ///
/// ///
@ -7,24 +8,29 @@ import 'package:fluwx/fluwx.dart';
class WxPayTool { class WxPayTool {
static Fluwx fluwx = Fluwx(); static Fluwx fluwx = Fluwx();
static bool isInit = false; static bool isInit = false;
static String associationUrl = '';
static void setAssociationUrl(String associationUrl) {
Storage.saveAssociationUrl(associationUrl);
}
static init(String appId, String universalLink) { static Future<void> init(String appId, String universalLink) async {
fluwx.registerApi(appId: appId, universalLink: universalLink); fluwx.registerApi(appId: appId, universalLink: universalLink);
} }
static Future<void> pay(Payment payment, WeChatResponseSubscriber listener) async { static Future<void> pay(
Payment payment, WeChatResponseSubscriber listener) async {
if (!isInit) { if (!isInit) {
isInit = true; isInit = true;
await init(payment.appId, associationUrl); final String _associationUrl = await Storage.getAssociationUrl();
await init(payment.appId, _associationUrl);
// //
responseListener(WeChatResponse response) { void responseListener(WeChatResponse response) {
if (response is WeChatPaymentResponse) { if (response is WeChatPaymentResponse) {
// //
listener.call(response); listener.call(response);
} }
} }
// //
fluwx.addSubscriber(responseListener); fluwx.addSubscriber(responseListener);
} }

View File

@ -28,6 +28,7 @@ const String saveUserLoginData = 'userLoginData';
const String saveLockMainListData = 'lockMainListData'; const String saveLockMainListData = 'lockMainListData';
const String isOpenDeBug = 'isOpenDeBug'; // debug const String isOpenDeBug = 'isOpenDeBug'; // debug
const String automaticLockOffTime = 'automaticLockOffTime'; // const String automaticLockOffTime = 'automaticLockOffTime'; //
const String associationUrl = 'associationUrl'; //ios跳转微信的 url
class Storage { class Storage {
factory Storage() => _instance; factory Storage() => _instance;
@ -223,4 +224,14 @@ class Storage {
final String data = await Storage.getString(automaticLockOffTime) ?? '0'; final String data = await Storage.getString(automaticLockOffTime) ?? '0';
return data; return data;
} }
//
static Future<void> saveAssociationUrl(String data) async {
await Storage.setString(associationUrl, data);
}
static Future<String> getAssociationUrl() async {
final String data = await Storage.getString(associationUrl) ?? '0';
return data;
}
} }