import 'dart:convert' as convert; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:zhiying_base_widget/widgets/home/home_auth/models/home_auth_model.dart'; import 'package:zhiying_comm/zhiying_comm.dart'; class HomeAuth extends StatefulWidget { final Map data; Map _json; HomeAuthModel _model; HomeAuth(this.data, {Key key}) : super(key: key) { String d = data['data']; _json = convert.jsonDecode(d); _model = HomeAuthModel.fromJson(Map.from(_json)); } @override _HomeAuthState createState() => _HomeAuthState(); } class _HomeAuthState extends State { UserInfoModel _user; bool _isAuth = false; @override void initState() { super.initState(); } @override void didChangeDependencies() { _user = Provider.of(context).userInfo; _isAuth = _user?.isTBAuth ?? false; super.didChangeDependencies(); } @override Widget build(BuildContext context) { if (_isAuth) { // 授权过,不显示 return Container(); } return Container( height: 34, width: double.infinity, margin: EdgeInsets.only(left: 12, right: 12, top: 4, bottom: 4), decoration: BoxDecoration( color: HexColor.fromHex(!_isAuth ? widget._model?.listStyle?.before?.bgColor ?? 'ffffff' : widget?._model?.listStyle?.after?.bgColor ?? 'ffffff'), borderRadius: BorderRadius.circular(17), boxShadow: [ BoxShadow( offset: Offset(2, 1), //x,y轴 color: HexColor.fromHex('767676') .withAlpha(70), //投影颜色 blurRadius: 5 //投影距离 ) ]), child: Row( children: [ Container( margin: EdgeInsets.only(left: 10, right: 8), width: 20, height: 20, child: CachedNetworkImage( imageUrl: !_isAuth ? widget._model?.listStyle?.before?.auditImg ?? '' : widget?._model?.listStyle?.after?.auditImg ?? '', fit: BoxFit.contain, ), ), Expanded( child: Text( !_isAuth ? widget._model?.listStyle?.before?.contentText ?? '' : widget?._model?.listStyle?.after?.contentText ?? '', maxLines: 1, style: TextStyle( fontSize: 12, fontWeight: FontWeight.bold, color: HexColor.fromHex( !_isAuth ? widget._model?.listStyle?.before?.contentTextColor ?? '333333' : widget?._model?.listStyle?.after?.contentTextColor ?? '333333'), ), ), ), GestureDetector( child: Container( padding: EdgeInsets.only(left: 12, right: 12, top: 3, bottom: 3), margin: EdgeInsets.only(left: 8, right: 8), decoration: BoxDecoration( color: HexColor.fromHex( !_isAuth ? widget._model?.listStyle?.before?.btnBgColor ?? 'FF4242' : widget?._model?.listStyle?.after?.btnBgColor ?? 'FF4242' ), borderRadius: BorderRadius.circular(20)), child: Text( !_isAuth ? widget._model?.listStyle?.before?.btnText ?? '' : widget?._model?.listStyle?.after?.btnText ?? '', style: TextStyle( fontSize: 12, color: HexColor.fromHex( !_isAuth ? widget._model?.listStyle?.before?.btnTextColor ?? 'ffffff' : widget?._model?.listStyle?.after?.btnTextColor ?? ''), ), ), ), onTap: () async { if (_user?.token == null || _user.token == '') { print('need login...'); RouterUtil.goLogin(context); return; } TaobaoAuth.auth(context); }, ), ], ), ); } }