160 lines
7.9 KiB
Dart
160 lines
7.9 KiB
Dart
import 'dart:convert';
|
|
|
|
import 'kt_goods_bean.dart';
|
|
|
|
/// sort : ["list_coins","list_sub_vip"]
|
|
/// list_vip : [{"id":93,"status":"enable","price":"59.99","coins":6000,"send_coins":6000,"buy_type":"coins","sort":12,"description":"","vip_type":"","title":"59.99 for coins","brief":"","created_at":"2025-04-15 07:01:47","origin_price":"0.00","backhaul_price":"59.99","ios_template_id":"coins_59.99","android_template_id":"coins_59.99","currency":"US$","updated_at":"2025-07-02 06:48:47","translate_key":"","platform":"all","lang_id":0,"corner_marker":"Popularity","first_promotion_price":"0.00","version":2,"user_level":"high","vip_days":0,"user_promise_level":"","use_once":0,"send_coin_ttl":1,"backhaul_percent":100,"pay_template_id":2,"deleted_at":"","pay_product_id":14,"ext_info":"{\"size\": \"big\", \"backhaul_percent_conf\": []}","factor":"1.00","short_type":"","vip_type_key":"","auto_sub":"Automatic renewal, cancel at any time","size":"big"}]
|
|
/// list_coins : [{"id":93,"status":"enable","price":"59.99","coins":6000,"send_coins":6000,"buy_type":"coins","sort":12,"description":"","vip_type":"","title":"59.99 for coins","brief":"","created_at":"2025-04-15 07:01:47","origin_price":"0.00","backhaul_price":"59.99","ios_template_id":"coins_59.99","android_template_id":"coins_59.99","currency":"US$","updated_at":"2025-07-02 06:48:47","translate_key":"","platform":"all","lang_id":0,"corner_marker":"Popularity","first_promotion_price":"0.00","version":2,"user_level":"high","vip_days":0,"user_promise_level":"","use_once":0,"send_coin_ttl":1,"backhaul_percent":100,"pay_template_id":2,"deleted_at":"","pay_product_id":14,"ext_info":"{\"size\": \"big\", \"backhaul_percent_conf\": []}","factor":"1.00","short_type":"","vip_type_key":"","auto_sub":"Automatic renewal, cancel at any time","size":"big"}]
|
|
/// list_sub_vip : [{"id":104,"status":"enable","price":"49.99","coins":0,"send_coins":4500,"buy_type":"sub_vip","sort":5,"description":"Unlimited access to all series for 1 month (Ad-free)","vip_type":"month","title":"Monthly membership","brief":"Monthly membership","created_at":"2025-04-15 07:30:47","origin_price":"0.00","backhaul_price":"24.99","ios_template_id":"sub.m_49.99","android_template_id":"sub.m_49.99","currency":"US$","updated_at":"2025-06-20 07:27:23","translate_key":"","platform":"all","lang_id":0,"corner_marker":"Popularity","first_promotion_price":"0.00","version":2,"user_level":"high","vip_days":0,"user_promise_level":"null","use_once":0,"send_coin_ttl":35,"backhaul_percent":100,"pay_template_id":2,"deleted_at":"null","pay_product_id":25,"ext_info":"{\"size\": \"\", \"backhaul_percent_conf\": []}","factor":"1.00","short_type":"Monthly","vip_type_key":"month","auto_sub":"Automatic renewal, cancel at any time","size":"small"}]
|
|
/// list_retrieve : [{"id":93,"status":"enable","price":"59.99","coins":6000,"send_coins":6000,"buy_type":"coins","sort":12,"description":"","vip_type":"","title":"59.99 for coins","brief":"","created_at":"2025-04-15 07:01:47","origin_price":"0.00","backhaul_price":"59.99","ios_template_id":"coins_59.99","android_template_id":"coins_59.99","currency":"US$","updated_at":"2025-07-02 06:48:47","translate_key":"","platform":"all","lang_id":0,"corner_marker":"Popularity","first_promotion_price":"0.00","version":2,"user_level":"high","vip_days":0,"user_promise_level":"","use_once":0,"send_coin_ttl":1,"backhaul_percent":100,"pay_template_id":2,"deleted_at":"","pay_product_id":14,"ext_info":"{\"size\": \"big\", \"backhaul_percent_conf\": []}","factor":"1.00","short_type":"","vip_type_key":"","auto_sub":"Automatic renewal, cancel at any time","size":"big"}]
|
|
|
|
KtStoreBean ktStoreBeanFromJson(String str) => KtStoreBean.fromJson(json.decode(str));
|
|
|
|
String ktStoreBeanToJson(KtStoreBean data) => json.encode(data.toJson());
|
|
|
|
class KtStoreBean {
|
|
KtStoreBean({
|
|
int? showType,
|
|
int? payMode,
|
|
List<String>? sort,
|
|
List<KtGoodsBean>? listVip,
|
|
List<KtGoodsBean>? listCoins,
|
|
List<KtGoodsBean>? listSubCoins,
|
|
List<KtGoodsBean>? listSubVip,
|
|
List<KtGoodsBean>? listRetrieve,
|
|
}) {
|
|
_sort = sort;
|
|
_payMode = payMode;
|
|
_showType = showType;
|
|
_listVip = listVip;
|
|
_listCoins = listCoins;
|
|
_listSubCoins = listSubCoins;
|
|
_listSubVip = listSubVip;
|
|
_listRetrieve = listRetrieve;
|
|
}
|
|
|
|
KtStoreBean.fromJson(dynamic json) {
|
|
_showType = json['show_type'];
|
|
_payMode = json['pay_mode'];
|
|
_sort = json['sort'] != null ? json['sort'].cast<String>() : [];
|
|
if (json['list_vip'] != null) {
|
|
_listVip = [];
|
|
json['list_vip'].forEach((v) {
|
|
_listVip?.add(KtGoodsBean.fromJson(v));
|
|
});
|
|
}
|
|
if (json['list_coins'] != null) {
|
|
_listCoins = [];
|
|
json['list_coins'].forEach((v) {
|
|
_listCoins?.add(KtGoodsBean.fromJson(v));
|
|
});
|
|
}
|
|
if (json['list_sub_coins'] != null) {
|
|
_listSubCoins = [];
|
|
json['list_sub_coins'].forEach((v) {
|
|
_listSubCoins?.add(KtGoodsBean.fromJson(v));
|
|
});
|
|
}
|
|
if (json['list_sub_vip'] != null) {
|
|
_listSubVip = [];
|
|
json['list_sub_vip'].forEach((v) {
|
|
_listSubVip?.add(KtGoodsBean.fromJson(v));
|
|
});
|
|
}
|
|
if (json['list_retrieve'] != null) {
|
|
_listRetrieve = [];
|
|
json['list_retrieve'].forEach((v) {
|
|
_listRetrieve?.add(KtGoodsBean.fromJson(v));
|
|
});
|
|
}
|
|
}
|
|
|
|
int? _payMode;
|
|
int? _showType;
|
|
List<String>? _sort;
|
|
List<KtGoodsBean>? _listVip;
|
|
List<KtGoodsBean>? _listCoins;
|
|
List<KtGoodsBean>? _listSubCoins;
|
|
List<KtGoodsBean>? _listSubVip;
|
|
List<KtGoodsBean>? _listRetrieve;
|
|
|
|
KtStoreBean copyWith({
|
|
int? payMode,
|
|
int? showType,
|
|
List<String>? sort,
|
|
List<KtGoodsBean>? listVip,
|
|
List<KtGoodsBean>? listCoins,
|
|
List<KtGoodsBean>? listSubCoins,
|
|
List<KtGoodsBean>? listSubVip,
|
|
List<KtGoodsBean>? listRetrieve,
|
|
}) => KtStoreBean(
|
|
payMode: payMode ?? _payMode,
|
|
showType: showType ?? _showType,
|
|
sort: sort ?? _sort,
|
|
listVip: listVip ?? _listVip,
|
|
listCoins: listCoins ?? _listCoins,
|
|
listSubVip: listSubVip ?? _listSubVip,
|
|
listSubCoins: listSubCoins ?? _listSubCoins,
|
|
listRetrieve: listRetrieve ?? _listRetrieve,
|
|
);
|
|
|
|
int? get payMode => _payMode;
|
|
|
|
int? get showType => _showType;
|
|
|
|
List<String>? get sort => _sort;
|
|
|
|
List<KtGoodsBean>? get listVip => _listVip;
|
|
|
|
List<KtGoodsBean>? get listCoins => _listCoins;
|
|
|
|
List<KtGoodsBean>? get listSubCoins => _listSubCoins;
|
|
|
|
List<KtGoodsBean>? get listSubVip => _listSubVip;
|
|
|
|
List<KtGoodsBean>? get listRetrieve => _listRetrieve;
|
|
|
|
Map<String, dynamic> toJson() {
|
|
final map = <String, dynamic>{};
|
|
map['show_type'] = _showType;
|
|
map['pay_mode'] = _payMode;
|
|
map['sort'] = _sort;
|
|
if (_listVip != null) {
|
|
map['list_vip'] = _listVip?.map((v) => v.toJson()).toList();
|
|
}
|
|
if (_listCoins != null) {
|
|
map['list_coins'] = _listCoins?.map((v) => v.toJson()).toList();
|
|
}
|
|
if (_listSubVip != null) {
|
|
map['list_sub_vip'] = _listSubVip?.map((v) => v.toJson()).toList();
|
|
}
|
|
if (_listSubCoins != null) {
|
|
map['list_sub_coins'] = _listSubCoins?.map((v) => v.toJson()).toList();
|
|
}
|
|
if (_listRetrieve != null) {
|
|
map['list_retrieve'] = _listRetrieve?.map((v) => v.toJson()).toList();
|
|
}
|
|
return map;
|
|
}
|
|
}
|
|
|
|
KtGoodsBean listRetrieveFromJson(String str) => KtGoodsBean.fromJson(json.decode(str));
|
|
|
|
String listRetrieveToJson(KtGoodsBean data) => json.encode(data.toJson());
|
|
|
|
KtGoodsBean listSubVipFromJson(String str) => KtGoodsBean.fromJson(json.decode(str));
|
|
|
|
String listSubVipToJson(KtGoodsBean data) => json.encode(data.toJson());
|
|
|
|
KtGoodsBean listSubCoinsFromJson(String str) => KtGoodsBean.fromJson(json.decode(str));
|
|
|
|
String listSubCoinsToJson(KtGoodsBean data) => json.encode(data.toJson());
|
|
|
|
KtGoodsBean listCoinsFromJson(String str) => KtGoodsBean.fromJson(json.decode(str));
|
|
|
|
String listCoinsToJson(KtGoodsBean data) => json.encode(data.toJson());
|
|
|
|
KtGoodsBean listVipFromJson(String str) => KtGoodsBean.fromJson(json.decode(str));
|
|
|
|
String listVipToJson(KtGoodsBean data) => json.encode(data.toJson());
|