circle_app/circle_app/lib/app/invite/logic.dart
2023-08-23 17:52:04 +08:00

165 lines
4.2 KiB
Dart

import 'package:circle_app/network/api.dart';
import 'package:circle_app/network/dio_manager.dart';
import 'package:circle_app/util/util.dart';
import 'package:flutter/cupertino.dart';
import 'package:get/get.dart';
import 'state.dart';
class InviteLogic extends GetxController {
final InviteState state = InviteState();
bool isLoad = true;
TextEditingController codeEditingController = TextEditingController();
Data? homeData;
List sysData = [];
@override
void onInit() {
// TODO: implement onInit
super.onInit();
loadData();
}
void loadData() async {
var data = await DioManager.instance.get(url: Api.inviteMainPage);
if (data['code'] == 200) {
Autogenerated result = Autogenerated.fromJson(data);
homeData = result.data;
}
var recorddata = await DioManager.instance.get(url: Api.inviteSysRecord);
if (recorddata['code'] == 200) {
sysData = recorddata['data'];
isLoad = false;
update();
}
}
addCode(String code) async {
var recorddata = await DioManager.instance.post(url: Api.inviteFillIn,params: {'invite_code':code});
if (recorddata['code'] == 200) {
showOKToast('填写成功');
} else {
showOKToast(recorddata['msg']);
}
}
}
class Autogenerated {
int? code;
Data? data;
String? msg;
Autogenerated({this.code, this.data, this.msg});
Autogenerated.fromJson(Map<String, dynamic> json) {
code = json['code'];
data = json['data'] != null ? new Data.fromJson(json['data']) : null;
msg = json['msg'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['code'] = this.code;
if (this.data != null) {
data['data'] = this.data!.toJson();
}
data['msg'] = this.msg;
return data;
}
}
class Data {
int? achieveCount;
int? achieveRewardDay;
int? diffAwardCount;
List<InviteAwardConf>? inviteAwardConf;
int? inviteAwardCount;
String? inviteCode;
String? link;
int? inviteCount;
Data(
{this.achieveCount,
this.achieveRewardDay,
this.diffAwardCount,
this.inviteAwardConf,
this.inviteAwardCount,
this.inviteCode,
this.link,
this.inviteCount});
Data.fromJson(Map<String, dynamic> json) {
achieveCount = json['achieve_count'];
achieveRewardDay = json['achieve_reward_day'];
diffAwardCount = json['diff_award_count'];
if (json['invite_award_conf'] != null) {
inviteAwardConf = <InviteAwardConf>[];
json['invite_award_conf'].forEach((v) {
inviteAwardConf!.add(new InviteAwardConf.fromJson(v));
});
}
inviteAwardCount = json['invite_award_count'];
inviteCode = json['invite_code'];
link = json['site_link'];
inviteCount = json['invite_count'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['achieve_count'] = this.achieveCount;
data['achieve_reward_day'] = this.achieveRewardDay;
data['diff_award_count'] = this.diffAwardCount;
if (this.inviteAwardConf != null) {
data['invite_award_conf'] =
this.inviteAwardConf!.map((v) => v.toJson()).toList();
}
data['invite_award_count'] = this.inviteAwardCount;
data['invite_code'] = this.inviteCode;
data['invite_count'] = this.inviteCount;
return data;
}
}
class InviteAwardConf {
int? achieveId;
int? inviteCount;
int? isAchieved;
double? rebateRate;
int? rewardDay;
InviteAwardConf(
{this.achieveId,
this.inviteCount,
this.isAchieved,
this.rebateRate,
this.rewardDay});
InviteAwardConf.fromJson(Map<String, dynamic> json) {
achieveId = json['achieve_id'];
inviteCount = json['invite_count'];
isAchieved = json['is_achieved'];
rebateRate = json['rebate_rate'];
rewardDay = json['reward_day'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['achieve_id'] = this.achieveId;
data['invite_count'] = this.inviteCount;
data['is_achieved'] = this.isAchieved;
data['rebate_rate'] = this.rebateRate;
data['reward_day'] = this.rewardDay;
return data;
}
}