设置全局变量,然后在调用接口之后赋值
//不知道什么类型就用var
var _items = [];
String Txt = "";
var mBirthday = DateTime.now();
var mBirthdayString = "null";
var mCreateTime = "null";
String _mAvatar = "";
String _mArea = "null";
String _mNickname = "null";
List _photo = [];
bool isSettings = true;
bool canSeeButton = false;
//判断点赞按键
bool likeButton=false;
int likeSize=0;
//评论输入控制器
final TextEditingController _commentController = TextEditingController();
//签名焦点
final FocusNode _focusNodeComment = FocusNode();
@override
Widget build(BuildContext context) {
return layout(context);
}
@override
void initState() {
super.initState();
_commentController.addListener(() {
if (_commentController.text.length > 0) {
setState(() {
canSeeButton = true;
});
} else {
setState(() {
canSeeButton = false;
});
}
});
getMomentLists();
}
//获取该动态列表接口
getMomentLists() async {
var apiUrl = "http://47.242.63.216:9527/v1/moment/";
SharedPreferences prefs = await SharedPreferences.getInstance();
var tokens = prefs.getString("token");
//参数
Map map = {};
//动态ID,0就是最新的
map["moment_id"] = widget.moment_id;
//网络请求添加token请求头
Response result = await Dio().post(apiUrl,
data: map, options: Options(headers: {"x-token": tokens}));
log(result.toString());
//json解析
Map<String, dynamic> nickname = json.decode(result.toString());
var httpRes = DynamicDetailsComment.fromJson(nickname);
//如果成功就吐司
if (httpRes.code == 200) {
setState(() {
//将值赋给全局变量
//将内容赋值给全局变量_items
_items = httpRes.data.commentList;
_mAvatar = httpRes.data.userInfo.avatar;
_mNickname = httpRes.data.userInfo.nickname;
mBirthdayString = StringUtils.getAge(httpRes.data.userInfo.birthday);
_mArea = httpRes.data.userInfo.area;
Txt = httpRes.data.momentInfo.text;
_photo = httpRes.data.momentInfo.photos;
likeButton=httpRes.data.likeState;
likeSize=httpRes.data.likeUserList.length;
});
}
}