Commit 3699105f authored by 关振斌's avatar 关振斌

一些修改

parent 146a15d2
{ {
"images" : [ "images" : [
{ {
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@2x.png", "filename" : "Icon-App-20x20@2x.png",
"scale" : "2x" "idiom" : "iphone",
"scale" : "2x",
"size" : "20x20"
}, },
{ {
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@3x.png", "filename" : "Icon-App-20x20@3x.png",
"scale" : "3x" "idiom" : "iphone",
"scale" : "3x",
"size" : "20x20"
}, },
{ {
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@1x.png", "filename" : "Icon-App-29x29@1x.png",
"scale" : "1x" "idiom" : "iphone",
"scale" : "1x",
"size" : "29x29"
}, },
{ {
"size" : "29x29", "filename" : "Icon-App-29x29@2x 1.png",
"idiom" : "iphone", "idiom" : "iphone",
"filename" : "Icon-App-29x29@2x.png", "scale" : "2x",
"scale" : "2x" "size" : "29x29"
}, },
{ {
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@3x.png", "filename" : "Icon-App-29x29@3x.png",
"scale" : "3x" "idiom" : "iphone",
"scale" : "3x",
"size" : "29x29"
}, },
{ {
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@2x.png", "filename" : "Icon-App-40x40@2x.png",
"scale" : "2x" "idiom" : "iphone",
"scale" : "2x",
"size" : "40x40"
}, },
{ {
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@3x.png", "filename" : "Icon-App-40x40@3x.png",
"scale" : "3x" "idiom" : "iphone",
"scale" : "3x",
"size" : "40x40"
}, },
{ {
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@2x.png", "filename" : "Icon-App-60x60@2x.png",
"scale" : "2x" "idiom" : "iphone",
"scale" : "2x",
"size" : "60x60"
}, },
{ {
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@3x.png", "filename" : "Icon-App-60x60@3x.png",
"scale" : "3x" "idiom" : "iphone",
"scale" : "3x",
"size" : "60x60"
}, },
{ {
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@1x.png", "filename" : "Icon-App-20x20@1x.png",
"scale" : "1x" "idiom" : "ipad",
"scale" : "1x",
"size" : "20x20"
}, },
{ {
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@2x.png", "filename" : "Icon-App-20x20@2x.png",
"scale" : "2x" "idiom" : "ipad",
"scale" : "2x",
"size" : "20x20"
}, },
{ {
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@1x.png", "filename" : "Icon-App-29x29@1x.png",
"scale" : "1x" "idiom" : "ipad",
"scale" : "1x",
"size" : "29x29"
}, },
{ {
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@2x.png", "filename" : "Icon-App-29x29@2x.png",
"scale" : "2x" "idiom" : "ipad",
"scale" : "2x",
"size" : "29x29"
}, },
{ {
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@1x.png", "filename" : "Icon-App-40x40@1x.png",
"scale" : "1x" "idiom" : "ipad",
"scale" : "1x",
"size" : "40x40"
}, },
{ {
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@2x.png", "filename" : "Icon-App-40x40@2x.png",
"scale" : "2x" "idiom" : "ipad",
"scale" : "2x",
"size" : "40x40"
}, },
{ {
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@1x.png", "filename" : "Icon-App-76x76@1x.png",
"scale" : "1x" "idiom" : "ipad",
"scale" : "1x",
"size" : "76x76"
}, },
{ {
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@2x.png", "filename" : "Icon-App-76x76@2x.png",
"scale" : "2x" "idiom" : "ipad",
"scale" : "2x",
"size" : "76x76"
}, },
{ {
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "Icon-App-83.5x83.5@2x.png", "filename" : "Icon-App-83.5x83.5@2x.png",
"scale" : "2x" "idiom" : "ipad",
"scale" : "2x",
"size" : "83.5x83.5"
}, },
{ {
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "Icon-App-1024x1024@1x.png", "filename" : "Icon-App-1024x1024@1x.png",
"scale" : "1x" "idiom" : "ios-marketing",
"scale" : "1x",
"size" : "1024x1024"
} }
], ],
"info" : { "info" : {
"version" : 1, "author" : "xcode",
"author" : "xcode" "version" : 1
} }
} }
{ {
"images" : [ "images" : [
{ {
"filename" : "logo-removebg-preview (4) 1.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "1x" "scale" : "1x"
}, },
{ {
"filename" : "logo-removebg-preview (4) 2.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "2x" "scale" : "2x"
}, },
{ {
"filename" : "logo-removebg-preview (4).png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "3x" "scale" : "3x"
} }
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM"> <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="21507" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies> <dependencies>
<deployment identifier="iOS"/> <deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21505"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies> </dependencies>
<scenes> <scenes>
<!--View Controller--> <!--View Controller-->
...@@ -14,9 +16,11 @@ ...@@ -14,9 +16,11 @@
<viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/> <viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
</layoutGuides> </layoutGuides>
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3"> <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews> <subviews>
<imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4"> <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
<rect key="frame" x="186.66666666666666" y="416" width="20" height="20"/>
</imageView> </imageView>
</subviews> </subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
...@@ -28,10 +32,10 @@ ...@@ -28,10 +32,10 @@
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="53" y="375"/> <point key="canvasLocation" x="80.916030534351137" y="264.08450704225356"/>
</scene> </scene>
</scenes> </scenes>
<resources> <resources>
<image name="LaunchImage" width="168" height="185"/> <image name="LaunchImage" width="20" height="20"/>
</resources> </resources>
</document> </document>
...@@ -14,12 +14,13 @@ class RouteWelcomeMiddleware extends GetMiddleware { ...@@ -14,12 +14,13 @@ class RouteWelcomeMiddleware extends GetMiddleware {
@override @override
RouteSettings? redirect(String? route) { RouteSettings? redirect(String? route) {
if (ConfigStore.to.isFirstOpen == true) { if (ConfigStore.to.isFirstOpen == false) {
return null; return null;
} else if (UserStore.to.isLogin == true) { } else if (UserStore.to.isLogin == true) {
return RouteSettings(name: AppRoutes.Application); return RouteSettings(name: AppRoutes.Application);
} else { } else {
return RouteSettings(name: AppRoutes.SIGN_IN); return RouteSettings(name: AppRoutes.Application);
// return RouteSettings(name: AppRoutes.SIGN_IN);
} }
} }
} }
...@@ -30,7 +30,7 @@ class ConfigStore extends GetxController { ...@@ -30,7 +30,7 @@ class ConfigStore extends GetxController {
// 标记用户已打开APP // 标记用户已打开APP
Future<bool> saveAlreadyOpen() { Future<bool> saveAlreadyOpen() {
return StorageService.to.setBool(STORAGE_DEVICE_FIRST_OPEN_KEY, false); return StorageService.to.setBool(STORAGE_DEVICE_FIRST_OPEN_KEY, true);
} }
void onInitLocale() { void onInitLocale() {
......
...@@ -21,7 +21,7 @@ class UserStore extends GetxController { ...@@ -21,7 +21,7 @@ class UserStore extends GetxController {
// 令牌 token // 令牌 token
String token = ''; String token = '';
// 用户 profile // 用户 profile
final _profile = IntegralEntity(id: 0, token: '', username: '').obs; final _profile = IntegralEntity(id: '', token: '', username: '').obs;
bool get isLogin => _isLogin.value; bool get isLogin => _isLogin.value;
IntegralEntity get profile => _profile.value; IntegralEntity get profile => _profile.value;
...@@ -52,9 +52,9 @@ class UserStore extends GetxController { ...@@ -52,9 +52,9 @@ class UserStore extends GetxController {
await getUserInfo( await getUserInfo(
IntegralEntity(id: res.id, username: res.username, token: res.token)); IntegralEntity(id: res.id, username: res.username, token: res.token));
_isLogin.value = true; _isLogin.value = true;
Get.back();
Get.offAndToNamed(AppRoutes.Application); // Get.put(ApplicationController());
Get.put(ApplicationController()); // Get.offAndToNamed(AppRoutes.Application);
} }
getUserInfo(IntegralEntity userInfo) async { getUserInfo(IntegralEntity userInfo) async {
...@@ -112,6 +112,6 @@ class UserStore extends GetxController { ...@@ -112,6 +112,6 @@ class UserStore extends GetxController {
_profile.value = IntegralEntity(id: '', username: '', token: ''); _profile.value = IntegralEntity(id: '', username: '', token: '');
saveProfile(IntegralEntity(id: '', username: '', token: '')); saveProfile(IntegralEntity(id: '', username: '', token: ''));
Get.offAllNamed(AppRoutes.SIGN_IN); Get.toNamed(AppRoutes.Application);
} }
} }
...@@ -101,9 +101,11 @@ class _MessageListState extends State<MessageList> { ...@@ -101,9 +101,11 @@ class _MessageListState extends State<MessageList> {
isBeforeDateSeparator, isBeforeDateSeparator,
), ),
] else ] else
// Text('121')
MessageRow( MessageRow(
message: widget.messages[i], message: widget.messages[i],
nextMessage: nextMessage, nextMessage: nextMessage,
index: i,
previousMessage: previousMessage, previousMessage: previousMessage,
currentUser: widget.currentUser, currentUser: widget.currentUser,
isAfterDateSeparator: isAfterDateSeparator, isAfterDateSeparator: isAfterDateSeparator,
......
...@@ -7,10 +7,14 @@ class DefaultMessageText extends StatelessWidget { ...@@ -7,10 +7,14 @@ class DefaultMessageText extends StatelessWidget {
required this.message, required this.message,
required this.messageLength, required this.messageLength,
required this.isOwnMessage, required this.isOwnMessage,
required this.index,
this.messageOptions = const MessageOptions(), this.messageOptions = const MessageOptions(),
Key? key, Key? key,
// required int index,
}) : super(key: key); }) : super(key: key);
final int index;
final List<ChatMessage> messageLength; final List<ChatMessage> messageLength;
/// Message tha contains the text to show /// Message tha contains the text to show
...@@ -29,7 +33,7 @@ class DefaultMessageText extends StatelessWidget { ...@@ -29,7 +33,7 @@ class DefaultMessageText extends StatelessWidget {
isOwnMessage ? CrossAxisAlignment.end : CrossAxisAlignment.start, isOwnMessage ? CrossAxisAlignment.end : CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
Wrap( Wrap(
children: getMessage(isOwnMessage, messageLength), children: getMessage(isOwnMessage, messageLength, index),
), ),
if (messageOptions.showTime) if (messageOptions.showTime)
messageOptions.messageTimeBuilder != null messageOptions.messageTimeBuilder != null
...@@ -52,7 +56,8 @@ class DefaultMessageText extends StatelessWidget { ...@@ -52,7 +56,8 @@ class DefaultMessageText extends StatelessWidget {
); );
} }
List<Widget> getMessage(bool isOwnMessage, List<ChatMessage> messageLength) { List<Widget> getMessage(
bool isOwnMessage, List<ChatMessage> messageLength, int index) {
if (message.mentions != null && message.mentions!.isNotEmpty) { if (message.mentions != null && message.mentions!.isNotEmpty) {
String stringRegex = r'([\s\S]*)'; String stringRegex = r'([\s\S]*)';
String stringMentionRegex = ''; String stringMentionRegex = '';
...@@ -77,7 +82,7 @@ class DefaultMessageText extends StatelessWidget { ...@@ -77,7 +82,7 @@ class DefaultMessageText extends StatelessWidget {
); );
res.add(getMention(mention)); res.add(getMention(mention));
} else { } else {
res.add(getParsePattern(part, false, messageLength)); res.add(getParsePattern(part, false, messageLength, index));
} }
}); });
if (res.isNotEmpty) { if (res.isNotEmpty) {
...@@ -85,14 +90,15 @@ class DefaultMessageText extends StatelessWidget { ...@@ -85,14 +90,15 @@ class DefaultMessageText extends StatelessWidget {
} }
} }
} }
return <Widget>[getParsePattern(message.text, isOwnMessage, messageLength)]; return <Widget>[
getParsePattern(message.text, isOwnMessage, messageLength, index)
];
} }
Widget getPostMessageBuild( Widget getPostMessageBuild(String text, List<ChatMessage> messageLength,
String text, List<ChatMessage> messageLength, bool isOwnMessage) { bool isOwnMessage, int index) {
var lastMessage = messageLength.first; var lastMessage = messageLength.first;
print(lastMessage.text);
// if(lastMessage.) { // if(lastMessage.) {
// } // }
...@@ -100,7 +106,8 @@ class DefaultMessageText extends StatelessWidget { ...@@ -100,7 +106,8 @@ class DefaultMessageText extends StatelessWidget {
// if(a.is) // if(a.is)
// if() // if()
return lastMessage.text == text
return index == 0
? AnimatedTextKit( ? AnimatedTextKit(
animatedTexts: [ animatedTexts: [
TypewriterAnimatedText( TypewriterAnimatedText(
...@@ -124,9 +131,10 @@ class DefaultMessageText extends StatelessWidget { ...@@ -124,9 +131,10 @@ class DefaultMessageText extends StatelessWidget {
String text, String text,
bool isOwnMessage, bool isOwnMessage,
List<ChatMessage> messageLength, List<ChatMessage> messageLength,
int index,
) { ) {
return !isOwnMessage return !isOwnMessage
? getPostMessageBuild(text, messageLength, isOwnMessage) ? getPostMessageBuild(text, messageLength, isOwnMessage, index)
: ParsedText( : ParsedText(
parse: messageOptions.parsePatterns != null parse: messageOptions.parsePatterns != null
? messageOptions.parsePatterns! ? messageOptions.parsePatterns!
......
...@@ -54,6 +54,7 @@ class MediaContainer extends StatelessWidget { ...@@ -54,6 +54,7 @@ class MediaContainer extends StatelessWidget {
); );
default: default:
return TextContainer( return TextContainer(
index: 0,
isOwnMessage: isOwnMessage, isOwnMessage: isOwnMessage,
messageOptions: messageOptions, messageOptions: messageOptions,
message: message, message: message,
......
...@@ -6,6 +6,7 @@ class MessageRow extends StatelessWidget { ...@@ -6,6 +6,7 @@ class MessageRow extends StatelessWidget {
required this.message, required this.message,
required this.currentUser, required this.currentUser,
required this.messageLength, required this.messageLength,
required this.index,
this.previousMessage, this.previousMessage,
this.nextMessage, this.nextMessage,
this.isAfterDateSeparator = false, this.isAfterDateSeparator = false,
...@@ -16,6 +17,8 @@ class MessageRow extends StatelessWidget { ...@@ -16,6 +17,8 @@ class MessageRow extends StatelessWidget {
final List<ChatMessage> messageLength; final List<ChatMessage> messageLength;
final int index;
/// Current message to show /// Current message to show
final ChatMessage message; final ChatMessage message;
...@@ -54,7 +57,7 @@ class MessageRow extends StatelessWidget { ...@@ -54,7 +57,7 @@ class MessageRow extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
print("messageLengthmessageLength$messageLength"); // print("messageLengthmessageLength$messageLength");
final bool isOwnMessage = message.user.id == currentUser.id; final bool isOwnMessage = message.user.id == currentUser.id;
bool isPreviousSameAuthor = false; bool isPreviousSameAuthor = false;
bool isNextSameAuthor = false; bool isNextSameAuthor = false;
...@@ -123,6 +126,7 @@ class MessageRow extends StatelessWidget { ...@@ -123,6 +126,7 @@ class MessageRow extends StatelessWidget {
), ),
if (message.text.isNotEmpty) if (message.text.isNotEmpty)
TextContainer( TextContainer(
index: index,
messageOptions: messageOptions, messageOptions: messageOptions,
message: message, message: message,
messageLength: messageLength, messageLength: messageLength,
......
...@@ -8,6 +8,7 @@ class TextContainer extends StatelessWidget { ...@@ -8,6 +8,7 @@ class TextContainer extends StatelessWidget {
this.previousMessage, this.previousMessage,
this.nextMessage, this.nextMessage,
required this.messageLength, required this.messageLength,
required this.index,
this.isOwnMessage = false, this.isOwnMessage = false,
this.isPreviousSameAuthor = false, this.isPreviousSameAuthor = false,
this.isNextSameAuthor = false, this.isNextSameAuthor = false,
...@@ -17,6 +18,8 @@ class TextContainer extends StatelessWidget { ...@@ -17,6 +18,8 @@ class TextContainer extends StatelessWidget {
Key? key, Key? key,
}) : super(key: key); }) : super(key: key);
final int index;
final List<ChatMessage> messageLength; final List<ChatMessage> messageLength;
/// Options to customize the behaviour and design of the messages /// Options to customize the behaviour and design of the messages
...@@ -83,6 +86,7 @@ class TextContainer extends StatelessWidget { ...@@ -83,6 +86,7 @@ class TextContainer extends StatelessWidget {
child: messageTextBuilder != null child: messageTextBuilder != null
? messageTextBuilder!(message, previousMessage, nextMessage) ? messageTextBuilder!(message, previousMessage, nextMessage)
: DefaultMessageText( : DefaultMessageText(
index: index,
messageLength: messageLength, messageLength: messageLength,
message: message, message: message,
isOwnMessage: isOwnMessage, isOwnMessage: isOwnMessage,
......
...@@ -81,6 +81,8 @@ class ChatNewController extends GetxController { ...@@ -81,6 +81,8 @@ class ChatNewController extends GetxController {
// ("正在思考中..."); // ("正在思考中...");
try { try {
// print("1321312321${UserStore.to.profile.id}");
if (UserStore.to.profile.id != '') {
String? result = await NewsAPI.sendMessage( String? result = await NewsAPI.sendMessage(
{"question": message.text, "id": "${UserStore.to.profile.id}"}); {"question": message.text, "id": "${UserStore.to.profile.id}"});
// _cancelLoading(); // _cancelLoading();
...@@ -93,6 +95,18 @@ class ChatNewController extends GetxController { ...@@ -93,6 +95,18 @@ class ChatNewController extends GetxController {
_addMessage(receiveMessage); _addMessage(receiveMessage);
EasyLoading.dismiss(); EasyLoading.dismiss();
Vibrate.feedback(FeedbackType.success); Vibrate.feedback(FeedbackType.success);
} else {
final receiveErrorMessage = Chat.ChatMessage(
user: receiveUser,
createdAt: DateTime.now(),
// id: const Uuid().v4(),
text: "你还未登录,请登录后再体验更多功能。",
);
_addMessage(receiveErrorMessage);
EasyLoading.dismiss();
Vibrate.feedback(FeedbackType.error);
}
} catch (e) { } catch (e) {
print("eeeeeeee$e"); print("eeeeeeee$e");
// _cancelLoading(); // _cancelLoading();
......
...@@ -74,7 +74,7 @@ class ProductController extends GetxController { ...@@ -74,7 +74,7 @@ class ProductController extends GetxController {
final params = Get.parameters; final params = Get.parameters;
// detailId // detailId
if (controller1.text.isNotEmpty) { if (controller1.text.isNotEmpty && controller2.text.isNotEmpty) {
// 包含${controller2.text}的${params['title']} // 包含${controller2.text}的${params['title']}
String str = "帮我写一篇${params['firstLabel']}${controller1.text}"; String str = "帮我写一篇${params['firstLabel']}${controller1.text}";
...@@ -104,6 +104,7 @@ class ProductController extends GetxController { ...@@ -104,6 +104,7 @@ class ProductController extends GetxController {
// json.encode(map); // json.encode(map);
if (UserStore.to.isLogin) {
String result = await NewsAPI.sendMessageByDetailId([ String result = await NewsAPI.sendMessageByDetailId([
{ {
"label": params['firstLabel'], "label": params['firstLabel'],
...@@ -126,6 +127,12 @@ class ProductController extends GetxController { ...@@ -126,6 +127,12 @@ class ProductController extends GetxController {
isWhiteIng: true)); isWhiteIng: true));
state.isWhite = true; state.isWhite = true;
state.loading = false; state.loading = false;
} else {
EasyLoading.showError("你还未登录,请登录后再使用");
state.isWhite = false;
state.loading = false;
// Get.snackbar("错误提示", "您的问题还没有填完", colorText: Colors.white);
}
EasyLoading.dismiss(); EasyLoading.dismiss();
} catch (e) { } catch (e) {
state.loading = false; state.loading = false;
......
import 'package:chart/common/routers/routes.dart'; import 'package:chart/common/routers/routes.dart';
import 'package:chart/pages/application/index.dart';
import 'package:flutter/gestures.dart'; import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:chart/common/values/values.dart'; import 'package:chart/common/values/values.dart';
...@@ -293,7 +294,10 @@ class SignInPage extends GetView<SignInController> { ...@@ -293,7 +294,10 @@ class SignInPage extends GetView<SignInController> {
child: Center( child: Center(
child: Padding( child: Padding(
padding: EdgeInsets.only(top: 90), padding: EdgeInsets.only(top: 90),
child: SocialLoginButton( child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
SocialLoginButton(
text: "通过 Apple 登录", text: "通过 Apple 登录",
buttonType: SocialLoginButtonType.apple, buttonType: SocialLoginButtonType.apple,
onPressed: () { onPressed: () {
...@@ -307,7 +311,7 @@ class SignInPage extends GetView<SignInController> { ...@@ -307,7 +311,7 @@ class SignInPage extends GetView<SignInController> {
topRight: Radius.circular(15)), topRight: Radius.circular(15)),
color: Colors.white, color: Colors.white,
), ),
height: 230, height: 260,
child: Column(children: [ child: Column(children: [
Text( Text(
"请阅读并同意以下条款", "请阅读并同意以下条款",
...@@ -315,37 +319,50 @@ class SignInPage extends GetView<SignInController> { ...@@ -315,37 +319,50 @@ class SignInPage extends GetView<SignInController> {
fontSize: 16, fontSize: 16,
fontWeight: FontWeight.bold), fontWeight: FontWeight.bold),
), ),
SizedBox(
height: 20,
),
Padding( Padding(
padding: EdgeInsets.symmetric(vertical: 20), padding:
EdgeInsets.symmetric(vertical: 20),
child: RichText( child: RichText(
text: TextSpan( text: TextSpan(
style: DefaultTextStyle.of(context).style, style: DefaultTextStyle.of(context)
.style,
children: [ children: [
TextSpan( TextSpan(
text: '《用户协议》', text: '《用户协议》',
recognizer: TapGestureRecognizer() recognizer:
TapGestureRecognizer()
..onTap = () { ..onTap = () {
Get.toNamed( Get.toNamed(AppRoutes
AppRoutes.USER_PRIVACT); .USER_PRIVACT);
}, },
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight:
color: FontWeight.bold,
AppColors.primaryElement)), color: AppColors
.primaryElement)),
TextSpan( TextSpan(
text: '《隐私权限》', text: '《隐私权限》',
recognizer: TapGestureRecognizer() recognizer:
TapGestureRecognizer()
..onTap = () { ..onTap = () {
Get.toNamed(AppRoutes.PRIVACT); Get.toNamed(AppRoutes
.PRIVACT);
}, },
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight:
color: FontWeight.bold,
AppColors.primaryElement)), color: AppColors
.primaryElement)),
], ],
), ),
), ),
), ),
SizedBox(
height: 20,
),
btnFlatButtonWidget( btnFlatButtonWidget(
onPressed: () { onPressed: () {
Get.back(); Get.back();
...@@ -372,7 +389,22 @@ class SignInPage extends GetView<SignInController> { ...@@ -372,7 +389,22 @@ class SignInPage extends GetView<SignInController> {
// controller.signInWithApple // controller.signInWithApple
}, },
), ),
SizedBox(
height: 20,
), ),
SocialLoginButton(
text: "不登录使用",
buttonType: SocialLoginButtonType.generalLogin,
backgroundColor: AppColors.thirdElement,
onPressed: () async {
Get.back();
}),
// Get.put(ApplicationController());
// await Get.offAndToNamed(
// AppRoutes.Application);
// }),
],
)),
), ),
) )
], ],
......
...@@ -112,7 +112,7 @@ class WelcomePage extends GetView<WelcomeController> { ...@@ -112,7 +112,7 @@ class WelcomePage extends GetView<WelcomeController> {
borderRadius: Radii.k6pxRadius, borderRadius: Radii.k6pxRadius,
)), )),
), ),
child: Text("开始"), child: Text("开始使用"),
onPressed: controller.handleHome, onPressed: controller.handleHome,
), ),
); );
...@@ -121,32 +121,52 @@ class WelcomePage extends GetView<WelcomeController> { ...@@ -121,32 +121,52 @@ class WelcomePage extends GetView<WelcomeController> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
body: Center( body: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: Image.asset("assets/images/bg2.png").image,
fit: BoxFit.cover),
),
child: Padding(
padding: EdgeInsets.symmetric(vertical: 60),
child: Center(
child: Column( child: Column(
children: <Widget>[ children: [
// Text("data") Expanded(child: Text("")),
_buildPageHeadTitle(), Expanded(
_buildPageHeaderDetail(), child: Column(
_buildFeatureItem( mainAxisAlignment: MainAxisAlignment.end,
"feature-1", children: [_buildStartButton(context)],
"Compelling photography and typography provide a beautiful reading", )),
86,
),
_buildFeatureItem(
"feature-2",
"Sector news never shares your personal data with advertisers or publishers",
40,
),
_buildFeatureItem(
"feature-3",
"You can get Premium to unlock hundreds of publications",
40,
),
Spacer(),
_buildStartButton(context),
], ],
// mainAxisAlignment: MainAxisAlignment.end,
// children: [_buildStartButton(context)],
)),
// child: Column(
// children: <Widget>[
// Text("data")
// _buildPageHeadTitle(),
// _buildPageHeaderDetail(),
// _buildFeatureItem(
// "feature-1",
// "Compelling photography and typography provide a beautiful reading",
// 86,
// ),
// _buildFeatureItem(
// "feature-2",
// "Sector news never shares your personal data with advertisers or publishers",
// 40,
// ),
// _buildFeatureItem(
// "feature-3",
// "You can get Premium to unlock hundreds of publications",
// 40,
// ),
// Spacer(),
// ],
// ),
), ),
), ));
);
} }
} }
...@@ -33,10 +33,14 @@ class NewsCategoriesWidget extends GetView<MainController> { ...@@ -33,10 +33,14 @@ class NewsCategoriesWidget extends GetView<MainController> {
children: [ children: [
// ignore: prefer_const_constructors // ignore: prefer_const_constructors
Obx( Obx(
() => Container( () => userC.isLogin
? Container(
width: 200, width: 200,
child: Text( child: Text(
// userC.isLogin
// ?
"Hi, ${userC.profile.username}", "Hi, ${userC.profile.username}",
// : "您还未登录",
maxLines: 1, maxLines: 1,
textAlign: TextAlign.left, textAlign: TextAlign.left,
overflow: TextOverflow.clip, overflow: TextOverflow.clip,
...@@ -47,6 +51,29 @@ class NewsCategoriesWidget extends GetView<MainController> { ...@@ -47,6 +51,29 @@ class NewsCategoriesWidget extends GetView<MainController> {
fontWeight: FontWeight.w800, fontWeight: FontWeight.w800,
fontSize: 20), fontSize: 20),
), ),
)
: Container(
width: 200,
child: GestureDetector(
onTap: () {
Vibrate.feedback(FeedbackType.impact);
Get.toNamed(AppRoutes.SIGN_IN);
},
child: Text(
// userC.isLogin
// ?
"点我登录",
// : "您还未登录",
maxLines: 1,
textAlign: TextAlign.left,
overflow: TextOverflow.clip,
softWrap: true,
// ignore: prefer_const_constructors
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.w800,
fontSize: 20),
)),
), ),
), ),
SizedBox(height: 30), SizedBox(height: 30),
...@@ -63,7 +90,11 @@ class NewsCategoriesWidget extends GetView<MainController> { ...@@ -63,7 +90,11 @@ class NewsCategoriesWidget extends GetView<MainController> {
// Get.toNamed(AppRoutes.SIGN_IN); // Get.toNamed(AppRoutes.SIGN_IN);
// AppRoutes.SIGN_IN // AppRoutes.SIGN_IN
Vibrate.feedback(FeedbackType.impact); Vibrate.feedback(FeedbackType.impact);
if (userC.isLogin) {
Get.toNamed(AppRoutes.PAY_LIST); Get.toNamed(AppRoutes.PAY_LIST);
} else {
Get.toNamed(AppRoutes.SIGN_IN);
}
}, },
// {Navigator.of(context).pushNamed('/pay')}, // {Navigator.of(context).pushNamed('/pay')},
child: Container( child: Container(
......
...@@ -93,16 +93,16 @@ class SiperBannerWidget extends GetView<MainController> { ...@@ -93,16 +93,16 @@ class SiperBannerWidget extends GetView<MainController> {
child: Padding( child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 14), padding: const EdgeInsets.symmetric(horizontal: 14),
child: GestureDetector( child: GestureDetector(
onTap: () => { // onTap: () => {
// Navigator.of(context).pushNamed("/chat", // // Navigator.of(context).pushNamed("/chat",
// arguments: {"question": message.question}) // // arguments: {"question": message.question})
// Navigator.push(context, MaterialPageRoute(builder: (context) { // // Navigator.push(context, MaterialPageRoute(builder: (context) {
// return ChatPage(); // // return ChatPage();
// })) // // }))
// Navigator.of(context).pop({'id': "1"}) // // Navigator.of(context).pop({'id': "1"})
// print("${message.question}") // // print("${message.question}")
}, // },
child: InkWell( child: InkWell(
onTap: () { onTap: () {
Vibrate.feedback(FeedbackType.impact); Vibrate.feedback(FeedbackType.impact);
......
import 'package:chart/common/routers/routes.dart'; import 'package:chart/common/routers/routes.dart';
import 'package:chart/common/store/user.dart'; import 'package:chart/common/store/user.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_vibrate/flutter_vibrate.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:babstrap_settings_screen/babstrap_settings_screen.dart'; import 'package:babstrap_settings_screen/babstrap_settings_screen.dart';
import 'package:glassmorphism/glassmorphism.dart'; import 'package:glassmorphism/glassmorphism.dart';
...@@ -87,7 +88,9 @@ class UserDetailPage extends GetView<UserDetailController> { ...@@ -87,7 +88,9 @@ class UserDetailPage extends GetView<UserDetailController> {
height: 30, height: 30,
// color: Colors.white, // color: Colors.white,
child: Text( child: Text(
'${c.profile.username}', c.isLogin
? '${c.profile.username}'
: '未登录用户',
maxLines: 1, maxLines: 1,
textAlign: TextAlign.left, textAlign: TextAlign.left,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
...@@ -350,7 +353,12 @@ class UserDetailPage extends GetView<UserDetailController> { ...@@ -350,7 +353,12 @@ class UserDetailPage extends GetView<UserDetailController> {
// color: Colors.white, // color: Colors.white,
child: SettingsItem( child: SettingsItem(
onTap: () { onTap: () {
Vibrate.feedback(FeedbackType.impact);
if (c.isLogin) {
Get.toNamed(AppRoutes.PAY_LIST); Get.toNamed(AppRoutes.PAY_LIST);
} else {
Get.toNamed(AppRoutes.SIGN_IN);
}
}, },
icons: Icons.account_balance_wallet_rounded, icons: Icons.account_balance_wallet_rounded,
iconStyle: IconStyle(iconsColor: Colors.white), iconStyle: IconStyle(iconsColor: Colors.white),
...@@ -488,9 +496,10 @@ class UserDetailPage extends GetView<UserDetailController> { ...@@ -488,9 +496,10 @@ class UserDetailPage extends GetView<UserDetailController> {
Color(0xFF0FFFF).withOpacity(1), Color(0xFF0FFFF).withOpacity(1),
], ],
), ),
child: Container( child: Obx(() => Container(
// color: Colors.white, // color: Colors.white,
child: SettingsItem( child: c.isLogin
? SettingsItem(
onTap: () { onTap: () {
// Get.toNamed(AppRoutes.SIGN_IN); // Get.toNamed(AppRoutes.SIGN_IN);
c.onLogout(); c.onLogout();
...@@ -500,15 +509,35 @@ class UserDetailPage extends GetView<UserDetailController> { ...@@ -500,15 +509,35 @@ class UserDetailPage extends GetView<UserDetailController> {
iconsColor: Colors.white, iconsColor: Colors.white,
backgroundColor: Colors.red, backgroundColor: Colors.red,
), ),
titleStyle: TextStyle(color: Colors.white), titleStyle: TextStyle(color: Colors.red),
title: c.isLogin ? '退出登录' : '登录账号', title: '退出登录',
// : '登录账号',
subtitle: "退出该登录账号", subtitle: "退出该登录账号",
trailing: Icon( trailing: Icon(
Icons.arrow_forward_ios_rounded, Icons.arrow_forward_ios_rounded,
color: Colors.white, color: Colors.white,
), ),
)
: SettingsItem(
onTap: () {
Get.toNamed(AppRoutes.SIGN_IN);
// c.onLogout();
},
icons: Icons.logout,
iconStyle: IconStyle(
iconsColor: Colors.white,
backgroundColor: Colors.red,
),
titleStyle: TextStyle(color: Colors.white),
title: '登录账号',
// : '登录账号',
subtitle: "登录账号使用",
trailing: Icon(
Icons.arrow_forward_ios_rounded,
color: Colors.white,
), ),
), ),
)),
), ),
// SettingsGroup( // SettingsGroup(
// items: [ // items: [
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment