reason

增加支付

......@@ -30,8 +30,25 @@
android:name="com.yalantis.ucrop.UCropActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
<activity
android:name="com.braintreepayments.api.BraintreeBrowserSwitchActivity"
android:launchMode="singleTask"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="pub.yiyan.parlando.Parlando.braintree" />
</intent-filter>
</activity>
<meta-data
android:name="flutterEmbedding"
android:value="2" />
<meta-data
android:name="com.google.android.gms.wallet.api.enabled"
android:value="true" />
</application>
</manifest>
......
......@@ -344,6 +344,7 @@ class MapScreenState extends State<AccountEditPage>
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Expanded(
flex: 2,
child: Text(
ParlandoLocalizations.of(context)
.accountEditPageUserGender,
......@@ -352,9 +353,9 @@ class MapScreenState extends State<AccountEditPage>
fontWeight: FontWeight.bold,
),
),
flex: 2,
),
Expanded(
flex: 2,
child: Text(
ParlandoLocalizations.of(context)
.accountEditPageUserBirthday,
......@@ -363,7 +364,6 @@ class MapScreenState extends State<AccountEditPage>
fontWeight: FontWeight.bold,
),
),
flex: 2,
),
],
)),
......@@ -378,6 +378,7 @@ class MapScreenState extends State<AccountEditPage>
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Flexible(
flex: 2,
child: Padding(
padding: EdgeInsets.only(right: 10.px),
child: TextField(
......@@ -389,9 +390,9 @@ class MapScreenState extends State<AccountEditPage>
enabled: !_status,
),
),
flex: 2,
),
Flexible(
flex: 2,
child: TextField(
decoration: InputDecoration(
hintText: ParlandoLocalizations.of(
......@@ -400,7 +401,6 @@ class MapScreenState extends State<AccountEditPage>
),
enabled: !_status,
),
flex: 2,
),
],
)),
......@@ -436,6 +436,7 @@ class MapScreenState extends State<AccountEditPage>
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Expanded(
flex: 2,
child: Padding(
padding: EdgeInsets.only(right: 10.px),
child: ElevatedButton(
......@@ -448,9 +449,9 @@ class MapScreenState extends State<AccountEditPage>
},
),
),
flex: 2,
),
Expanded(
flex: 2,
child: Padding(
padding: EdgeInsets.only(left: 10.px),
child: ElevatedButton(
......@@ -465,7 +466,6 @@ class MapScreenState extends State<AccountEditPage>
},
),
),
flex: 2,
),
],
),
......
......@@ -11,7 +11,6 @@ import 'package:cached_network_image/cached_network_image.dart';
import 'package:flustars/flustars.dart';
import 'package:flutter/material.dart';
import 'package:Parlando/membership/membership_router.dart';
import 'package:Parlando/poem/poem_router.dart';
import 'package:Parlando/routers/fluro_navigator.dart';
import 'package:Parlando/setting/setting_router.dart';
import 'package:Parlando/tiktok/style/style.dart';
......
......@@ -13,12 +13,16 @@ import 'package:Parlando/category/models/category_item_entity.dart';
import 'package:Parlando/home/models/home_entity.dart';
import 'package:Parlando/home/models/setting_entity.dart';
import 'package:Parlando/login/models/auth_entity.dart';
import 'package:Parlando/membership/models/membership_entity.dart';
import 'package:Parlando/membership/models/order_entity.dart';
import 'package:Parlando/membership/models/pay_entity.dart';
import 'package:Parlando/models/upload_entity.dart';
import 'package:Parlando/poem/models/lang_sort_entity.dart';
import 'package:Parlando/poem/models/search_entity.dart';
import 'package:Parlando/timeline/models/friend_entity.dart';
JsonConvert jsonConvert = JsonConvert();
typedef JsonConvertFunction<T> = T Function(Map<String, dynamic> json);
class JsonConvert {
......@@ -54,6 +58,21 @@ class JsonConvert {
(AuthEntity).toString(): AuthEntity.fromJson,
(AuthData).toString(): AuthData.fromJson,
(AuthError).toString(): AuthError.fromJson,
(MembershipEntity).toString(): MembershipEntity.fromJson,
(MembershipData).toString(): MembershipData.fromJson,
(MembershipDataGoodsList).toString(): MembershipDataGoodsList.fromJson,
(MembershipError).toString(): MembershipError.fromJson,
(OrderEntity).toString(): OrderEntity.fromJson,
(OrderData).toString(): OrderData.fromJson,
(OrderError).toString(): OrderError.fromJson,
(PayEntity).toString(): PayEntity.fromJson,
(PayData).toString(): PayData.fromJson,
(PayDataPurchaseUnits).toString(): PayDataPurchaseUnits.fromJson,
(PayDataPurchaseUnitsAmount).toString():
PayDataPurchaseUnitsAmount.fromJson,
(PayDataPurchaseUnitsPayee).toString(): PayDataPurchaseUnitsPayee.fromJson,
(PayDataLinks).toString(): PayDataLinks.fromJson,
(PayError).toString(): PayError.fromJson,
(UploadEntity).toString(): UploadEntity.fromJson,
(UploadData).toString(): UploadData.fromJson,
(UploadError).toString(): UploadError.fromJson,
......@@ -306,6 +325,84 @@ class JsonConvert {
.map<AuthError>((Map<String, dynamic> e) => AuthError.fromJson(e))
.toList() as M;
}
if (<MembershipEntity>[] is M) {
return data
.map<MembershipEntity>(
(Map<String, dynamic> e) => MembershipEntity.fromJson(e))
.toList() as M;
}
if (<MembershipData>[] is M) {
return data
.map<MembershipData>(
(Map<String, dynamic> e) => MembershipData.fromJson(e))
.toList() as M;
}
if (<MembershipDataGoodsList>[] is M) {
return data
.map<MembershipDataGoodsList>(
(Map<String, dynamic> e) => MembershipDataGoodsList.fromJson(e))
.toList() as M;
}
if (<MembershipError>[] is M) {
return data
.map<MembershipError>(
(Map<String, dynamic> e) => MembershipError.fromJson(e))
.toList() as M;
}
if (<OrderEntity>[] is M) {
return data
.map<OrderEntity>((Map<String, dynamic> e) => OrderEntity.fromJson(e))
.toList() as M;
}
if (<OrderData>[] is M) {
return data
.map<OrderData>((Map<String, dynamic> e) => OrderData.fromJson(e))
.toList() as M;
}
if (<OrderError>[] is M) {
return data
.map<OrderError>((Map<String, dynamic> e) => OrderError.fromJson(e))
.toList() as M;
}
if (<PayEntity>[] is M) {
return data
.map<PayEntity>((Map<String, dynamic> e) => PayEntity.fromJson(e))
.toList() as M;
}
if (<PayData>[] is M) {
return data
.map<PayData>((Map<String, dynamic> e) => PayData.fromJson(e))
.toList() as M;
}
if (<PayDataPurchaseUnits>[] is M) {
return data
.map<PayDataPurchaseUnits>(
(Map<String, dynamic> e) => PayDataPurchaseUnits.fromJson(e))
.toList() as M;
}
if (<PayDataPurchaseUnitsAmount>[] is M) {
return data
.map<PayDataPurchaseUnitsAmount>((Map<String, dynamic> e) =>
PayDataPurchaseUnitsAmount.fromJson(e))
.toList() as M;
}
if (<PayDataPurchaseUnitsPayee>[] is M) {
return data
.map<PayDataPurchaseUnitsPayee>(
(Map<String, dynamic> e) => PayDataPurchaseUnitsPayee.fromJson(e))
.toList() as M;
}
if (<PayDataLinks>[] is M) {
return data
.map<PayDataLinks>(
(Map<String, dynamic> e) => PayDataLinks.fromJson(e))
.toList() as M;
}
if (<PayError>[] is M) {
return data
.map<PayError>((Map<String, dynamic> e) => PayError.fromJson(e))
.toList() as M;
}
if (<UploadEntity>[] is M) {
return data
.map<UploadEntity>(
......
import 'package:Parlando/generated/json/base/json_convert_content.dart';
import 'package:Parlando/membership/models/membership_entity.dart';
MembershipEntity $MembershipEntityFromJson(Map<String, dynamic> json) {
final MembershipEntity membershipEntity = MembershipEntity();
final String? status = jsonConvert.convert<String>(json['status']);
if (status != null) {
membershipEntity.status = status;
}
final int? code = jsonConvert.convert<int>(json['code']);
if (code != null) {
membershipEntity.code = code;
}
final String? message = jsonConvert.convert<String>(json['message']);
if (message != null) {
membershipEntity.message = message;
}
final MembershipData? data =
jsonConvert.convert<MembershipData>(json['data']);
if (data != null) {
membershipEntity.data = data;
}
final MembershipError? error =
jsonConvert.convert<MembershipError>(json['error']);
if (error != null) {
membershipEntity.error = error;
}
return membershipEntity;
}
Map<String, dynamic> $MembershipEntityToJson(MembershipEntity entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['status'] = entity.status;
data['code'] = entity.code;
data['message'] = entity.message;
data['data'] = entity.data?.toJson();
data['error'] = entity.error?.toJson();
return data;
}
MembershipData $MembershipDataFromJson(Map<String, dynamic> json) {
final MembershipData membershipData = MembershipData();
final int? id = jsonConvert.convert<int>(json['id']);
if (id != null) {
membershipData.id = id;
}
final String? title = jsonConvert.convert<String>(json['title']);
if (title != null) {
membershipData.title = title;
}
final String? intro = jsonConvert.convert<String>(json['intro']);
if (intro != null) {
membershipData.intro = intro;
}
final String? bgType = jsonConvert.convert<String>(json['bg_type']);
if (bgType != null) {
membershipData.bgType = bgType;
}
final String? bgImages = jsonConvert.convert<String>(json['bg_images']);
if (bgImages != null) {
membershipData.bgImages = bgImages;
}
final String? videoUrl = jsonConvert.convert<String>(json['video_url']);
if (videoUrl != null) {
membershipData.videoUrl = videoUrl;
}
final String? videoCover = jsonConvert.convert<String>(json['video_cover']);
if (videoCover != null) {
membershipData.videoCover = videoCover;
}
final String? terminal = jsonConvert.convert<String>(json['terminal']);
if (terminal != null) {
membershipData.terminal = terminal;
}
final String? state = jsonConvert.convert<String>(json['state']);
if (state != null) {
membershipData.state = state;
}
final String? createdAt = jsonConvert.convert<String>(json['created_at']);
if (createdAt != null) {
membershipData.createdAt = createdAt;
}
final String? updatedAt = jsonConvert.convert<String>(json['updated_at']);
if (updatedAt != null) {
membershipData.updatedAt = updatedAt;
}
final int? isVip = jsonConvert.convert<int>(json['is_vip']);
if (isVip != null) {
membershipData.isVip = isVip;
}
final List<MembershipDataGoodsList>? goodsList = jsonConvert
.convertListNotNull<MembershipDataGoodsList>(json['goods_list']);
if (goodsList != null) {
membershipData.goodsList = goodsList;
}
return membershipData;
}
Map<String, dynamic> $MembershipDataToJson(MembershipData entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = entity.id;
data['title'] = entity.title;
data['intro'] = entity.intro;
data['bg_type'] = entity.bgType;
data['bg_images'] = entity.bgImages;
data['video_url'] = entity.videoUrl;
data['video_cover'] = entity.videoCover;
data['terminal'] = entity.terminal;
data['state'] = entity.state;
data['created_at'] = entity.createdAt;
data['updated_at'] = entity.updatedAt;
data['is_vip'] = entity.isVip;
data['goods_list'] = entity.goodsList?.map((v) => v.toJson()).toList();
return data;
}
MembershipDataGoodsList $MembershipDataGoodsListFromJson(
Map<String, dynamic> json) {
final MembershipDataGoodsList membershipDataGoodsList =
MembershipDataGoodsList();
final int? id = jsonConvert.convert<int>(json['id']);
if (id != null) {
membershipDataGoodsList.id = id;
}
final String? membershipId =
jsonConvert.convert<String>(json['membership_id']);
if (membershipId != null) {
membershipDataGoodsList.membershipId = membershipId;
}
final String? name = jsonConvert.convert<String>(json['name']);
if (name != null) {
membershipDataGoodsList.name = name;
}
final String? price = jsonConvert.convert<String>(json['price']);
if (price != null) {
membershipDataGoodsList.price = price;
}
final String? linePrice = jsonConvert.convert<String>(json['line_price']);
if (linePrice != null) {
membershipDataGoodsList.linePrice = linePrice;
}
final String? limitDays = jsonConvert.convert<String>(json['limit_days']);
if (limitDays != null) {
membershipDataGoodsList.limitDays = limitDays;
}
final String? limitUnit = jsonConvert.convert<String>(json['limit_unit']);
if (limitUnit != null) {
membershipDataGoodsList.limitUnit = limitUnit;
}
final String? terminal = jsonConvert.convert<String>(json['terminal']);
if (terminal != null) {
membershipDataGoodsList.terminal = terminal;
}
final String? state = jsonConvert.convert<String>(json['state']);
if (state != null) {
membershipDataGoodsList.state = state;
}
final String? sn = jsonConvert.convert<String>(json['sn']);
if (sn != null) {
membershipDataGoodsList.sn = sn;
}
final String? visits = jsonConvert.convert<String>(json['visits']);
if (visits != null) {
membershipDataGoodsList.visits = visits;
}
final String? virtualSales =
jsonConvert.convert<String>(json['virtual_sales']);
if (virtualSales != null) {
membershipDataGoodsList.virtualSales = virtualSales;
}
final String? sales = jsonConvert.convert<String>(json['sales']);
if (sales != null) {
membershipDataGoodsList.sales = sales;
}
final String? stocks = jsonConvert.convert<String>(json['stocks']);
if (stocks != null) {
membershipDataGoodsList.stocks = stocks;
}
final String? createdAt = jsonConvert.convert<String>(json['created_at']);
if (createdAt != null) {
membershipDataGoodsList.createdAt = createdAt;
}
final String? updatedAt = jsonConvert.convert<String>(json['updated_at']);
if (updatedAt != null) {
membershipDataGoodsList.updatedAt = updatedAt;
}
return membershipDataGoodsList;
}
Map<String, dynamic> $MembershipDataGoodsListToJson(
MembershipDataGoodsList entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = entity.id;
data['membership_id'] = entity.membershipId;
data['name'] = entity.name;
data['price'] = entity.price;
data['line_price'] = entity.linePrice;
data['limit_days'] = entity.limitDays;
data['limit_unit'] = entity.limitUnit;
data['terminal'] = entity.terminal;
data['state'] = entity.state;
data['sn'] = entity.sn;
data['visits'] = entity.visits;
data['virtual_sales'] = entity.virtualSales;
data['sales'] = entity.sales;
data['stocks'] = entity.stocks;
data['created_at'] = entity.createdAt;
data['updated_at'] = entity.updatedAt;
return data;
}
MembershipError $MembershipErrorFromJson(Map<String, dynamic> json) {
final MembershipError membershipError = MembershipError();
return membershipError;
}
Map<String, dynamic> $MembershipErrorToJson(MembershipError entity) {
final Map<String, dynamic> data = <String, dynamic>{};
return data;
}
import 'package:Parlando/generated/json/base/json_convert_content.dart';
import 'package:Parlando/membership/models/order_entity.dart';
OrderEntity $OrderEntityFromJson(Map<String, dynamic> json) {
final OrderEntity orderEntity = OrderEntity();
final String? status = jsonConvert.convert<String>(json['status']);
if (status != null) {
orderEntity.status = status;
}
final int? code = jsonConvert.convert<int>(json['code']);
if (code != null) {
orderEntity.code = code;
}
final String? message = jsonConvert.convert<String>(json['message']);
if (message != null) {
orderEntity.message = message;
}
final OrderData? data = jsonConvert.convert<OrderData>(json['data']);
if (data != null) {
orderEntity.data = data;
}
final OrderError? error = jsonConvert.convert<OrderError>(json['error']);
if (error != null) {
orderEntity.error = error;
}
return orderEntity;
}
Map<String, dynamic> $OrderEntityToJson(OrderEntity entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['status'] = entity.status;
data['code'] = entity.code;
data['message'] = entity.message;
data['data'] = entity.data?.toJson();
data['error'] = entity.error?.toJson();
return data;
}
OrderData $OrderDataFromJson(Map<String, dynamic> json) {
final OrderData orderData = OrderData();
final String? orderSn = jsonConvert.convert<String>(json['order_sn']);
if (orderSn != null) {
orderData.orderSn = orderSn;
}
return orderData;
}
Map<String, dynamic> $OrderDataToJson(OrderData entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['order_sn'] = entity.orderSn;
return data;
}
OrderError $OrderErrorFromJson(Map<String, dynamic> json) {
final OrderError orderError = OrderError();
return orderError;
}
Map<String, dynamic> $OrderErrorToJson(OrderError entity) {
final Map<String, dynamic> data = <String, dynamic>{};
return data;
}
import 'package:Parlando/generated/json/base/json_convert_content.dart';
import 'package:Parlando/membership/models/pay_entity.dart';
PayEntity $PayEntityFromJson(Map<String, dynamic> json) {
final PayEntity payEntity = PayEntity();
final String? status = jsonConvert.convert<String>(json['status']);
if (status != null) {
payEntity.status = status;
}
final int? code = jsonConvert.convert<int>(json['code']);
if (code != null) {
payEntity.code = code;
}
final String? message = jsonConvert.convert<String>(json['message']);
if (message != null) {
payEntity.message = message;
}
final PayData? data = jsonConvert.convert<PayData>(json['data']);
if (data != null) {
payEntity.data = data;
}
final PayError? error = jsonConvert.convert<PayError>(json['error']);
if (error != null) {
payEntity.error = error;
}
return payEntity;
}
Map<String, dynamic> $PayEntityToJson(PayEntity entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['status'] = entity.status;
data['code'] = entity.code;
data['message'] = entity.message;
data['data'] = entity.data?.toJson();
data['error'] = entity.error?.toJson();
return data;
}
PayData $PayDataFromJson(Map<String, dynamic> json) {
final PayData payData = PayData();
final String? id = jsonConvert.convert<String>(json['id']);
if (id != null) {
payData.id = id;
}
final String? intent = jsonConvert.convert<String>(json['intent']);
if (intent != null) {
payData.intent = intent;
}
final String? status = jsonConvert.convert<String>(json['status']);
if (status != null) {
payData.status = status;
}
final List<PayDataPurchaseUnits>? purchaseUnits = jsonConvert
.convertListNotNull<PayDataPurchaseUnits>(json['purchase_units']);
if (purchaseUnits != null) {
payData.purchaseUnits = purchaseUnits;
}
final String? createTime = jsonConvert.convert<String>(json['create_time']);
if (createTime != null) {
payData.createTime = createTime;
}
final List<PayDataLinks>? links =
jsonConvert.convertListNotNull<PayDataLinks>(json['links']);
if (links != null) {
payData.links = links;
}
return payData;
}
Map<String, dynamic> $PayDataToJson(PayData entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = entity.id;
data['intent'] = entity.intent;
data['status'] = entity.status;
data['purchase_units'] =
entity.purchaseUnits?.map((v) => v.toJson()).toList();
data['create_time'] = entity.createTime;
data['links'] = entity.links?.map((v) => v.toJson()).toList();
return data;
}
PayDataPurchaseUnits $PayDataPurchaseUnitsFromJson(Map<String, dynamic> json) {
final PayDataPurchaseUnits payDataPurchaseUnits = PayDataPurchaseUnits();
final String? referenceId = jsonConvert.convert<String>(json['reference_id']);
if (referenceId != null) {
payDataPurchaseUnits.referenceId = referenceId;
}
final PayDataPurchaseUnitsAmount? amount =
jsonConvert.convert<PayDataPurchaseUnitsAmount>(json['amount']);
if (amount != null) {
payDataPurchaseUnits.amount = amount;
}
final PayDataPurchaseUnitsPayee? payee =
jsonConvert.convert<PayDataPurchaseUnitsPayee>(json['payee']);
if (payee != null) {
payDataPurchaseUnits.payee = payee;
}
final String? description = jsonConvert.convert<String>(json['description']);
if (description != null) {
payDataPurchaseUnits.description = description;
}
final String? customId = jsonConvert.convert<String>(json['custom_id']);
if (customId != null) {
payDataPurchaseUnits.customId = customId;
}
final String? softDescriptor =
jsonConvert.convert<String>(json['soft_descriptor']);
if (softDescriptor != null) {
payDataPurchaseUnits.softDescriptor = softDescriptor;
}
return payDataPurchaseUnits;
}
Map<String, dynamic> $PayDataPurchaseUnitsToJson(PayDataPurchaseUnits entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['reference_id'] = entity.referenceId;
data['amount'] = entity.amount?.toJson();
data['payee'] = entity.payee?.toJson();
data['description'] = entity.description;
data['custom_id'] = entity.customId;
data['soft_descriptor'] = entity.softDescriptor;
return data;
}
PayDataPurchaseUnitsAmount $PayDataPurchaseUnitsAmountFromJson(
Map<String, dynamic> json) {
final PayDataPurchaseUnitsAmount payDataPurchaseUnitsAmount =
PayDataPurchaseUnitsAmount();
final String? currencyCode =
jsonConvert.convert<String>(json['currency_code']);
if (currencyCode != null) {
payDataPurchaseUnitsAmount.currencyCode = currencyCode;
}
final String? value = jsonConvert.convert<String>(json['value']);
if (value != null) {
payDataPurchaseUnitsAmount.value = value;
}
return payDataPurchaseUnitsAmount;
}
Map<String, dynamic> $PayDataPurchaseUnitsAmountToJson(
PayDataPurchaseUnitsAmount entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['currency_code'] = entity.currencyCode;
data['value'] = entity.value;
return data;
}
PayDataPurchaseUnitsPayee $PayDataPurchaseUnitsPayeeFromJson(
Map<String, dynamic> json) {
final PayDataPurchaseUnitsPayee payDataPurchaseUnitsPayee =
PayDataPurchaseUnitsPayee();
final String? emailAddress =
jsonConvert.convert<String>(json['email_address']);
if (emailAddress != null) {
payDataPurchaseUnitsPayee.emailAddress = emailAddress;
}
final String? merchantId = jsonConvert.convert<String>(json['merchant_id']);
if (merchantId != null) {
payDataPurchaseUnitsPayee.merchantId = merchantId;
}
return payDataPurchaseUnitsPayee;
}
Map<String, dynamic> $PayDataPurchaseUnitsPayeeToJson(
PayDataPurchaseUnitsPayee entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['email_address'] = entity.emailAddress;
data['merchant_id'] = entity.merchantId;
return data;
}
PayDataLinks $PayDataLinksFromJson(Map<String, dynamic> json) {
final PayDataLinks payDataLinks = PayDataLinks();
final String? href = jsonConvert.convert<String>(json['href']);
if (href != null) {
payDataLinks.href = href;
}
final String? rel = jsonConvert.convert<String>(json['rel']);
if (rel != null) {
payDataLinks.rel = rel;
}
final String? method = jsonConvert.convert<String>(json['method']);
if (method != null) {
payDataLinks.method = method;
}
return payDataLinks;
}
Map<String, dynamic> $PayDataLinksToJson(PayDataLinks entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['href'] = entity.href;
data['rel'] = entity.rel;
data['method'] = entity.method;
return data;
}
PayError $PayErrorFromJson(Map<String, dynamic> json) {
final PayError payError = PayError();
return payError;
}
Map<String, dynamic> $PayErrorToJson(PayError entity) {
final Map<String, dynamic> data = <String, dynamic>{};
return data;
}
......@@ -164,4 +164,4 @@ VideoError $VideoErrorFromJson(Map<String, dynamic> json) {
Map<String, dynamic> $VideoErrorToJson(VideoError entity) {
final Map<String, dynamic> data = <String, dynamic>{};
return data;
}
}
\ No newline at end of file
......
import 'package:Parlando/account/view_models/account_view_model.dart';
import 'package:Parlando/membership/view_models/membership_view_model.dart';
import 'package:dio/dio.dart';
import 'package:flustars/flustars.dart';
import 'package:flutter/material.dart';
......@@ -128,7 +129,8 @@ class MyApp extends StatelessWidget {
providers: [
ChangeNotifierProvider(create: (_) => ThemeProvider()),
ChangeNotifierProvider(create: (_) => LocaleProvider()),
ChangeNotifierProvider(create: (_) => AccountViewProvider())
ChangeNotifierProvider(create: (_) => AccountViewProvider()),
ChangeNotifierProvider(create: (_) => MembershipViewProvider())
],
child: Consumer2<ThemeProvider, LocaleProvider>(
builder:
......
import 'dart:convert';
import 'package:Parlando/generated/json/base/json_field.dart';
import 'package:Parlando/generated/json/membership_entity.g.dart';
@JsonSerializable()
class MembershipEntity {
String? status;
int? code;
String? message;
MembershipData? data;
MembershipError? error;
MembershipEntity();
factory MembershipEntity.fromJson(Map<String, dynamic> json) =>
$MembershipEntityFromJson(json);
Map<String, dynamic> toJson() => $MembershipEntityToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class MembershipData {
int? id;
String? title;
String? intro;
@JSONField(name: "bg_type")
String? bgType;
@JSONField(name: "bg_images")
String? bgImages;
@JSONField(name: "video_url")
String? videoUrl;
@JSONField(name: "video_cover")
String? videoCover;
String? terminal;
String? state;
@JSONField(name: "created_at")
String? createdAt;
@JSONField(name: "updated_at")
String? updatedAt;
@JSONField(name: "is_vip")
int? isVip;
@JSONField(name: "goods_list")
List<MembershipDataGoodsList>? goodsList;
MembershipData();
factory MembershipData.fromJson(Map<String, dynamic> json) =>
$MembershipDataFromJson(json);
Map<String, dynamic> toJson() => $MembershipDataToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class MembershipDataGoodsList {
int? id;
@JSONField(name: "membership_id")
String? membershipId;
String? name;
String? price;
@JSONField(name: "line_price")
String? linePrice;
@JSONField(name: "limit_days")
String? limitDays;
@JSONField(name: "limit_unit")
String? limitUnit;
String? terminal;
String? state;
String? sn;
String? visits;
@JSONField(name: "virtual_sales")
String? virtualSales;
String? sales;
String? stocks;
@JSONField(name: "created_at")
String? createdAt;
@JSONField(name: "updated_at")
String? updatedAt;
MembershipDataGoodsList();
factory MembershipDataGoodsList.fromJson(Map<String, dynamic> json) =>
$MembershipDataGoodsListFromJson(json);
Map<String, dynamic> toJson() => $MembershipDataGoodsListToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class MembershipError {
MembershipError();
factory MembershipError.fromJson(Map<String, dynamic> json) =>
$MembershipErrorFromJson(json);
Map<String, dynamic> toJson() => $MembershipErrorToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
import 'dart:convert';
import 'package:Parlando/generated/json/base/json_field.dart';
import 'package:Parlando/generated/json/order_entity.g.dart';
@JsonSerializable()
class OrderEntity {
String? status;
int? code;
String? message;
OrderData? data;
OrderError? error;
OrderEntity();
factory OrderEntity.fromJson(Map<String, dynamic> json) =>
$OrderEntityFromJson(json);
Map<String, dynamic> toJson() => $OrderEntityToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class OrderData {
@JSONField(name: "order_sn")
String? orderSn;
OrderData();
factory OrderData.fromJson(Map<String, dynamic> json) =>
$OrderDataFromJson(json);
Map<String, dynamic> toJson() => $OrderDataToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class OrderError {
OrderError();
factory OrderError.fromJson(Map<String, dynamic> json) =>
$OrderErrorFromJson(json);
Map<String, dynamic> toJson() => $OrderErrorToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
import 'dart:convert';
import 'package:Parlando/generated/json/base/json_field.dart';
import 'package:Parlando/generated/json/pay_entity.g.dart';
@JsonSerializable()
class PayEntity {
String? status;
int? code;
String? message;
PayData? data;
PayError? error;
PayEntity();
factory PayEntity.fromJson(Map<String, dynamic> json) =>
$PayEntityFromJson(json);
Map<String, dynamic> toJson() => $PayEntityToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class PayData {
String? id;
String? intent;
String? status;
@JSONField(name: "purchase_units")
List<PayDataPurchaseUnits>? purchaseUnits;
@JSONField(name: "create_time")
String? createTime;
List<PayDataLinks>? links;
PayData();
factory PayData.fromJson(Map<String, dynamic> json) => $PayDataFromJson(json);
Map<String, dynamic> toJson() => $PayDataToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class PayDataPurchaseUnits {
@JSONField(name: "reference_id")
String? referenceId;
PayDataPurchaseUnitsAmount? amount;
PayDataPurchaseUnitsPayee? payee;
String? description;
@JSONField(name: "custom_id")
String? customId;
@JSONField(name: "soft_descriptor")
String? softDescriptor;
PayDataPurchaseUnits();
factory PayDataPurchaseUnits.fromJson(Map<String, dynamic> json) =>
$PayDataPurchaseUnitsFromJson(json);
Map<String, dynamic> toJson() => $PayDataPurchaseUnitsToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class PayDataPurchaseUnitsAmount {
@JSONField(name: "currency_code")
String? currencyCode;
String? value;
PayDataPurchaseUnitsAmount();
factory PayDataPurchaseUnitsAmount.fromJson(Map<String, dynamic> json) =>
$PayDataPurchaseUnitsAmountFromJson(json);
Map<String, dynamic> toJson() => $PayDataPurchaseUnitsAmountToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class PayDataPurchaseUnitsPayee {
@JSONField(name: "email_address")
String? emailAddress;
@JSONField(name: "merchant_id")
String? merchantId;
PayDataPurchaseUnitsPayee();
factory PayDataPurchaseUnitsPayee.fromJson(Map<String, dynamic> json) =>
$PayDataPurchaseUnitsPayeeFromJson(json);
Map<String, dynamic> toJson() => $PayDataPurchaseUnitsPayeeToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class PayDataLinks {
String? href;
String? rel;
String? method;
PayDataLinks();
factory PayDataLinks.fromJson(Map<String, dynamic> json) =>
$PayDataLinksFromJson(json);
Map<String, dynamic> toJson() => $PayDataLinksToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
@JsonSerializable()
class PayError {
PayError();
factory PayError.fromJson(Map<String, dynamic> json) =>
$PayErrorFromJson(json);
Map<String, dynamic> toJson() => $PayErrorToJson(this);
@override
String toString() {
return jsonEncode(this);
}
}
This diff is collapsed. Click to expand it.
import 'package:Parlando/apis/api_response.dart';
import 'package:Parlando/membership/models/membership_entity.dart';
import 'package:Parlando/net/dio_utils.dart';
import 'package:Parlando/net/http_api.dart';
import 'package:flutter/material.dart';
class MembershipViewProvider with ChangeNotifier {
ApiResponse _apiResponse = ApiResponse.initial('Empty data');
MembershipData? _membership;
ApiResponse get response {
return _apiResponse;
}
MembershipData? get media {
return _membership;
}
Future<void> fetchMembershipData(String value) async {
_apiResponse = ApiResponse.loading('请求数据中...');
DioUtils.instance.asyncRequestNetwork<MembershipEntity>(
Method.get,
HttpApi.membership,
onSuccess: (data) {
_apiResponse = ApiResponse.completed(data!.data);
notifyListeners();
},
onError: (code, msg) {
_apiResponse = ApiResponse.error(msg);
notifyListeners();
},
);
}
void setSelectedMembership(MembershipData? membership) {
_membership = membership;
// notifyListeners();
}
}
......@@ -9,11 +9,14 @@ class HttpApi {
static const String immersive = 'immersive';
static const String avatar = 'avatar';
static const String user = 'user';
static const String membership = 'membership';
static const String home = 'home';
static const String myVideos = '/my/videos';
static const String praise = '/praise';
static const String addView = '/addview';
static const String collect = '/collect';
static const String order = '/order';
static const String pay = '/pay';
static const String search = 'search/repositories';
static const String subscriptions = 'users/simplezhli/subscriptions';
static const String upload = 'uuc/upload-inco';
......
This diff is collapsed. Click to expand it.
......@@ -108,11 +108,13 @@ dependencies:
email_validator: ^2.0.1
getwidget: ^2.0.5
sign_in_with_apple: ^3.3.0
sign_in_with_apple: ^4.0.0
event_bus: ^2.0.0
animated_radial_menu: ^0.0.1
flutter_braintree: ^2.3.1
dependency_overrides:
decimal: 1.5.0
......