165 lines
4.2 KiB
Dart
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;
|
|
}
|
|
}
|