nnsdk 1.0.1
nnsdk: ^1.0.1 copied to clipboard
nice sdk
example/lib/main.dart
import 'dart:io';
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:nnsdk/Entity/CommodityItemEntity.dart';
import 'package:nnsdk/Entity/ConfigEntity.dart';
import 'package:nnsdk/Entity/InitResultEntity.dart';
import 'package:nnsdk/Entity/PayResultEntity.dart';
import 'package:nnsdk/nnsdk.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
List<CommodityItemEntity> products = [];
bool? showNoNetworkWidget;
@override
void initState() {
super.initState();
initSDK();
}
/// 初始化SDK
Future<void> initSDK() async {
InitResultEntity entity = await Nnsdk.instance.initSdk(ConfigEntity(isDebug: true,isLog: true,host: "https://testinn.jidiandian.cn",prdId: "1710208"));
if (entity.success == true) {
// 初始化成功,展示根视图
setState(() {
showNoNetworkWidget = false;
products = Nnsdk.instance.productList;
});
} else {
// 初始化失败,展示网络连接失败UI
setState(() {
showNoNetworkWidget = true;
});
Future.delayed(Duration(seconds: 5),() {
initSDK();
});
}
}
void onOrder(String commodityId) async {
PayResultEntity resp = await Nnsdk.instance.createOrder(commodityId: commodityId,identifier: Nnsdk.instance.deviceId);
if (resp?.status == true) {
print("支付成功 ${resp!.toJson()}");
} else {
print("支付失败 ${resp!.code} ${resp!.toJson()}");
}
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body:
Center(
child: showNoNetworkWidget == null ? Container() : showNoNetworkWidget == true ? GestureDetector(onTap: () {
initSDK();
},child: Container(width: 300,height: 50,color: Colors.amber,alignment: Alignment.center,child: Text("网络无法连接,请重试"),),) : Column(
children: products.map((e) => GestureDetector(onTap: () {
onOrder(e.commodityId ?? "");
},child: Container(alignment: Alignment.center,width: 300,height: 50,color: Colors.lightGreen,margin: EdgeInsets.only(top: 20),child: Text("${e.commodityName} 原价¥${e.unitPrice} ${e.isEligibleForIntroOffer == true ? '推介促销价:' : ''}${e.promotionalOfferPrice}" ?? "")),)).toList(),
),
),
),
);
}
}