flutter_kinetra/lib/kt_model/kt_store_bean.dart
2025-09-23 15:09:18 +08:00

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());