Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
ChatGPT
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
关振斌
ChatGPT
Commits
fa129e94
Commit
fa129e94
authored
Mar 12, 2023
by
关振斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
992c2f82
Changes
21
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
482 additions
and
298 deletions
+482
-298
lib/common/apis/news.dart
lib/common/apis/news.dart
+18
-2
lib/common/apis/user.dart
lib/common/apis/user.dart
+42
-0
lib/common/entities/convers.dart
lib/common/entities/convers.dart
+28
-0
lib/common/entities/news.dart
lib/common/entities/news.dart
+4
-0
lib/common/utils/http.dart
lib/common/utils/http.dart
+2
-2
lib/common/values/server.dart
lib/common/values/server.dart
+4
-3
lib/pages/application/controller.dart
lib/pages/application/controller.dart
+6
-4
lib/pages/category/controller.dart
lib/pages/category/controller.dart
+11
-2
lib/pages/category/widgets/news_item.dart
lib/pages/category/widgets/news_item.dart
+78
-65
lib/pages/category/widgets/news_page_list.dart
lib/pages/category/widgets/news_page_list.dart
+1
-1
lib/pages/frame/android_pay_list/widgets/helloword.dart
lib/pages/frame/android_pay_list/widgets/helloword.dart
+117
-97
lib/pages/frame/notfound/controller.dart
lib/pages/frame/notfound/controller.dart
+114
-18
lib/pages/frame/notfound/state.dart
lib/pages/frame/notfound/state.dart
+11
-3
lib/pages/frame/notfound/view.dart
lib/pages/frame/notfound/view.dart
+3
-2
lib/pages/frame/product/controller.dart
lib/pages/frame/product/controller.dart
+18
-27
lib/pages/main/widgets/swiper.dart
lib/pages/main/widgets/swiper.dart
+1
-16
lib/pages/template/controller.dart
lib/pages/template/controller.dart
+4
-0
lib/pages/template/state.dart
lib/pages/template/state.dart
+4
-0
lib/pages/template/view.dart
lib/pages/template/view.dart
+14
-52
lib/pages/template/widgets/hello.dart
lib/pages/template/widgets/hello.dart
+0
-2
lib/pages/user/controller.dart
lib/pages/user/controller.dart
+2
-2
No files found.
lib/common/apis/news.dart
View file @
fa129e94
import
'package:chart/common/entities/classFyDetail.dart'
;
import
'package:chart/common/entities/classFyDetail.dart'
;
import
'package:chart/common/entities/convers.dart'
;
import
'package:chart/common/entities/entities.dart'
;
import
'package:chart/common/entities/entities.dart'
;
import
'package:chart/common/entities/good.dart'
;
import
'package:chart/common/entities/good.dart'
;
import
'package:chart/common/utils/utils.dart'
;
import
'package:chart/common/utils/utils.dart'
;
...
@@ -11,10 +12,11 @@ import '../../entity/square_entity.dart';
...
@@ -11,10 +12,11 @@ import '../../entity/square_entity.dart';
class
NewsAPI
{
class
NewsAPI
{
/// 翻页
/// 翻页
/// refresh 是否刷新
/// refresh 是否刷新
static
Future
<
NewsPageListResponseEntity
>
newsPageList
(
static
Future
<
NewsPageListResponseEntity
>
getConversionByUserId
(
Map
<
String
,
int
>
params
)
async
{
Map
<
String
,
int
>
params
)
async
{
var
response
=
await
HttpUtil
().
get
(
var
response
=
await
HttpUtil
().
get
(
'/searchRecord/getSearchRecord/
${params['page']}
/
${params['size']}
'
,
// /api/openAi/getConversionByUserId
'/openAi/getConversionByUserId/
${params['page']}
/
${params['size']}
'
,
);
);
return
NewsPageListResponseEntity
.
fromJson
(
response
[
'data'
]);
return
NewsPageListResponseEntity
.
fromJson
(
response
[
'data'
]);
// searchRecordEntityFromList(response.data);
// searchRecordEntityFromList(response.data);
...
@@ -25,6 +27,20 @@ class NewsAPI {
...
@@ -25,6 +27,20 @@ class NewsAPI {
return
response
[
'data'
];
return
response
[
'data'
];
}
}
static
Future
<
dynamic
>
getConversionById
(
int
conversionId
)
async
{
var
response
=
await
HttpUtil
().
get
(
'/openAi/getConversionById/
${conversionId}
'
,
);
return
response
[
'data'
]
.
map
(((
item
)
=>
ConversEntity
.
fromJson
(
item
)))
.
toList
();
// response
// .map<ChannelResponseEntity>(
// (item) => ChannelResponseEntity.fromJson(item))
// .toList()
}
static
Future
<
int
>
aiAnswerWithStream
(
Map
<
String
,
String
>
params
)
async
{
static
Future
<
int
>
aiAnswerWithStream
(
Map
<
String
,
String
>
params
)
async
{
var
response
=
var
response
=
await
HttpUtil
().
post
(
'/openAi/aiAnswerWithStream'
,
data:
params
);
await
HttpUtil
().
post
(
'/openAi/aiAnswerWithStream'
,
data:
params
);
...
...
lib/common/apis/user.dart
View file @
fa129e94
...
@@ -47,6 +47,48 @@ class UserAPI {
...
@@ -47,6 +47,48 @@ class UserAPI {
// UserLoginResponseEntity.fromJson(response);
// UserLoginResponseEntity.fromJson(response);
}
}
//创建会话
static
Future
<
int
>
createConversion
()
async
{
var
response
=
await
HttpUtil
().
get
(
'/openAi/createConversion'
,
);
return
response
[
'data'
];
}
static
Future
<
int
>
endConversion
(
Map
<
String
,
dynamic
>
parameters
)
async
{
var
response
=
await
HttpUtil
().
get
(
'/openAi/endConversion?conversionId=
${parameters['conversionId']}
'
,
);
return
response
[
'status'
];
}
//对话
static
Future
<
int
>
aiAnswerWithConversion
(
Map
<
String
,
dynamic
>
parameters
)
async
{
var
response
=
await
HttpUtil
().
post
(
'/openAi/aiAnswerWithConversion'
,
data:
parameters
,
);
return
response
[
'status'
];
// return ApplePayEntity.fromMap(response['data']);
}
///api/ 保存问题
static
Future
<
int
>
saveResp
(
Map
<
String
,
dynamic
>
parameters
)
async
{
var
response
=
await
HttpUtil
().
post
(
'/openAi/saveResp'
,
data:
parameters
,
);
return
response
[
'status'
];
// return ApplePayEntity.fromMap(response['data']);
}
// /api/
// openAi/createConversion
static
Future
<
UserInfoEntity
>
getUserInfo
()
async
{
static
Future
<
UserInfoEntity
>
getUserInfo
()
async
{
var
response
=
await
HttpUtil
().
get
(
var
response
=
await
HttpUtil
().
get
(
'/user/info'
,
'/user/info'
,
...
...
lib/common/entities/convers.dart
0 → 100644
View file @
fa129e94
class
ConversEntity
{
int
?
id
;
String
?
sendTime
;
String
?
role
;
String
?
content
;
int
?
conversionId
;
ConversEntity
(
{
this
.
id
,
this
.
sendTime
,
this
.
role
,
this
.
content
,
this
.
conversionId
});
ConversEntity
.
fromJson
(
Map
<
String
,
dynamic
>
json
)
{
id
=
json
[
'id'
];
sendTime
=
json
[
'sendTime'
];
role
=
json
[
'role'
];
content
=
json
[
'content'
];
conversionId
=
json
[
'conversionId'
];
}
Map
<
String
,
dynamic
>
toJson
()
{
final
Map
<
String
,
dynamic
>
data
=
new
Map
<
String
,
dynamic
>();
data
[
'id'
]
=
this
.
id
;
data
[
'sendTime'
]
=
this
.
sendTime
;
data
[
'role'
]
=
this
.
role
;
data
[
'content'
]
=
this
.
content
;
data
[
'conversionId'
]
=
this
.
conversionId
;
return
data
;
}
}
lib/common/entities/news.dart
View file @
fa129e94
...
@@ -69,6 +69,7 @@ class NewsItem {
...
@@ -69,6 +69,7 @@ class NewsItem {
int
?
id
;
int
?
id
;
String
?
question
;
String
?
question
;
String
?
answer
;
String
?
answer
;
String
?
name
;
String
?
thumbnail
;
String
?
thumbnail
;
int
?
likes
;
int
?
likes
;
int
?
forward
;
int
?
forward
;
...
@@ -78,6 +79,7 @@ class NewsItem {
...
@@ -78,6 +79,7 @@ class NewsItem {
this
.
id
,
this
.
id
,
this
.
question
,
this
.
question
,
this
.
answer
,
this
.
answer
,
this
.
name
,
this
.
thumbnail
,
this
.
thumbnail
,
this
.
likes
,
this
.
likes
,
this
.
forward
,
this
.
forward
,
...
@@ -91,6 +93,7 @@ class NewsItem {
...
@@ -91,6 +93,7 @@ class NewsItem {
thumbnail:
json
[
"thumbnail"
],
thumbnail:
json
[
"thumbnail"
],
likes:
json
[
"likes"
],
likes:
json
[
"likes"
],
forward:
json
[
"forward"
],
forward:
json
[
"forward"
],
name:
json
[
'name'
],
// DateTime.parse(),
// DateTime.parse(),
createTime:
DateTime
.
parse
(
json
[
"createTime"
]),
createTime:
DateTime
.
parse
(
json
[
"createTime"
]),
);
);
...
@@ -100,6 +103,7 @@ class NewsItem {
...
@@ -100,6 +103,7 @@ class NewsItem {
"question"
:
question
,
"question"
:
question
,
"answer"
:
answer
,
"answer"
:
answer
,
"thumbnail"
:
thumbnail
,
"thumbnail"
:
thumbnail
,
"name"
:
name
,
"likes"
:
likes
,
"likes"
:
likes
,
"forward"
:
forward
,
"forward"
:
forward
,
"createTime"
:
createTime
?.
toIso8601String
(),
"createTime"
:
createTime
?.
toIso8601String
(),
...
...
lib/common/utils/http.dart
View file @
fa129e94
...
@@ -123,7 +123,7 @@ class HttpUtil {
...
@@ -123,7 +123,7 @@ class HttpUtil {
EasyLoading
.
showError
(
eInfo
.
message
);
EasyLoading
.
showError
(
eInfo
.
message
);
break
;
break
;
default
:
default
:
EasyLoading
.
showError
(
'
未知错误
'
);
EasyLoading
.
showError
(
'
网络异常
'
);
break
;
break
;
}
}
}
}
...
@@ -179,7 +179,7 @@ class HttpUtil {
...
@@ -179,7 +179,7 @@ class HttpUtil {
}
}
}
}
}
on
Exception
catch
(
_
)
{
}
on
Exception
catch
(
_
)
{
return
ErrorEntity
(
code:
-
1
,
message:
"
未知错误
"
);
return
ErrorEntity
(
code:
-
1
,
message:
"
网络异常
"
);
}
}
}
}
default
:
default
:
...
...
lib/common/values/server.dart
View file @
fa129e94
// baidu yapi
// baidu yapi
// const SERVER_API_URL = 'https://yapi.baidu.com/mock/41008';
// const SERVER_API_URL = 'https://yapi.baidu.com/mock/41008';
// const SERVER_API_URL = 'http://192.168.110.127:8083/api';
// const SERVER_API_URL = 'http://192.168.110.127:8083/api';
// const SERVER_API_URL = 'http://101.34.153.228:8083/api';//线上
const
SERVER_API_URL
=
'http://101.34.153.228:8083/api'
;
//线上
// const SERVER_API_URL = 'http://192.168.2.178:8083/api';//线上
const
SERVER_API_URL
=
"http://192.168.120.108:8083/api"
;
//http://192.168.2.178:8083/api/doc.html
// const SERVER_API_URL = "http://192.168.120.108:8083/api";
// http://192.168.110.127:8083/api/doc.html
// http://192.168.110.127:8083/api/doc.html
// http://192.168.110.66:8083/api/doc.html
// http://192.168.110.66:8083/api/doc.html
// const SERVER_API_URL = 'http://192.168.110.66:8083/api';
// const SERVER_API_URL = 'http://192.168.110.66:8083/api';
...
...
lib/pages/application/controller.dart
View file @
fa129e94
import
'dart:async'
;
import
'dart:async'
;
// import 'package:vibration/vibration.dart';
// import 'package:vibration/vibration.dart';
import
'package:chart/pages/frame/notfound/index.dart'
;
import
'package:flutter_vibrate/flutter_vibrate.dart'
;
import
'package:flutter_vibrate/flutter_vibrate.dart'
;
import
'package:flutter/foundation.dart'
;
import
'package:flutter/foundation.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter/material.dart'
;
...
@@ -108,8 +109,9 @@ class ApplicationController extends GetxController {
...
@@ -108,8 +109,9 @@ class ApplicationController extends GetxController {
// 跳转 注册界面
// 跳转 注册界面
handleChat
()
async
{
handleChat
()
async
{
Vibrate
.
feedback
(
FeedbackType
.
impact
);
await
ChatNewController
.
to
.
createConversionId
();
Get
.
toNamed
(
AppRoutes
.
CHAT_PAGE
);
// Vibrate.feedback(FeedbackType.impact);
// Get.toNamed(AppRoutes.CHAT_PAGE);
// await ConfigStore.to.saveAlreadyOpen();
// await ConfigStore.to.saveAlreadyOpen();
// Get.offAndToNamed(AppRoutes.CHAT_PAGE);
// Get.offAndToNamed(AppRoutes.CHAT_PAGE);
}
}
...
@@ -124,7 +126,7 @@ class ApplicationController extends GetxController {
...
@@ -124,7 +126,7 @@ class ApplicationController extends GetxController {
// handleIncomingLinks();
// handleIncomingLinks();
// 准备一些静态数据
// 准备一些静态数据
tabTitles
=
[
'首页'
,
'
信息广场
'
,
'个人中心'
];
tabTitles
=
[
'首页'
,
'
我的聊天
'
,
'个人中心'
];
bottomTabs
=
<
BottomNavigationBarItem
>[
bottomTabs
=
<
BottomNavigationBarItem
>[
new
BottomNavigationBarItem
(
new
BottomNavigationBarItem
(
icon:
Icon
(
icon:
Icon
(
...
@@ -147,7 +149,7 @@ class ApplicationController extends GetxController {
...
@@ -147,7 +149,7 @@ class ApplicationController extends GetxController {
Iconfont
.
grid
,
Iconfont
.
grid
,
color:
AppColors
.
secondaryElementText
,
color:
AppColors
.
secondaryElementText
,
),
),
label:
'
信息广场
'
,
label:
'
我的聊天
'
,
backgroundColor:
AppColors
.
primaryBackground
,
backgroundColor:
AppColors
.
primaryBackground
,
),
),
// new BottomNavigationBarItem(
// new BottomNavigationBarItem(
...
...
lib/pages/category/controller.dart
View file @
fa129e94
import
'package:chart/common/apis/apis.dart'
;
import
'package:chart/common/apis/apis.dart'
;
import
'package:chart/common/entities/convers.dart'
;
import
'package:chart/common/entities/entities.dart'
;
import
'package:chart/common/entities/entities.dart'
;
import
'package:chart/pages/frame/notfound/index.dart'
;
import
'package:get/get.dart'
;
import
'package:get/get.dart'
;
import
'package:pull_to_refresh/pull_to_refresh.dart'
;
import
'package:pull_to_refresh/pull_to_refresh.dart'
;
...
@@ -32,6 +34,12 @@ class CategoryController extends GetxController {
...
@@ -32,6 +34,12 @@ class CategoryController extends GetxController {
});
});
}
}
getMessageList
(
dynamic
id
)
async
{
final
res
=
await
NewsAPI
.
getConversionById
(
id
);
ChatNewController
.
to
.
getMessageList
(
res
,
id
);
}
void
onLoading
()
{
void
onLoading
()
{
if
(
state
.
newsList
.
length
<
total
)
{
if
(
state
.
newsList
.
length
<
total
)
{
fetchNewsList
().
then
((
_
)
{
fetchNewsList
().
then
((
_
)
{
...
@@ -48,8 +56,9 @@ class CategoryController extends GetxController {
...
@@ -48,8 +56,9 @@ class CategoryController extends GetxController {
// 拉取数据
// 拉取数据
Future
<
void
>
fetchNewsList
({
bool
isRefresh
=
false
})
async
{
Future
<
void
>
fetchNewsList
({
bool
isRefresh
=
false
})
async
{
var
result
=
//
await
NewsAPI
.
newsPageList
({
'page'
:
curPage
,
"size"
:
pageSize
});
var
result
=
await
NewsAPI
.
getConversionByUserId
(
{
'page'
:
curPage
,
"size"
:
pageSize
});
if
(
isRefresh
==
true
)
{
if
(
isRefresh
==
true
)
{
curPage
=
1
;
curPage
=
1
;
...
...
lib/pages/category/widgets/news_item.dart
View file @
fa129e94
// import 'package:chart/utils/common_util.dart';
// import 'package:chart/utils/common_util.dart';
import
'package:chart/pages/category/index.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter/material.dart'
;
import
'package:chart/common/entities/entities.dart'
;
import
'package:chart/common/entities/entities.dart'
;
import
'package:chart/common/utils/utils.dart'
;
import
'package:chart/common/utils/utils.dart'
;
import
'package:chart/common/values/values.dart'
;
import
'package:chart/common/values/values.dart'
;
import
'package:chart/common/widgets/widgets.dart'
;
import
'package:chart/common/widgets/widgets.dart'
;
import
'package:flutter_screenutil/flutter_screenutil.dart'
;
import
'package:flutter_screenutil/flutter_screenutil.dart'
;
import
'package:get/get.dart'
;
import
'package:glassmorphism/glassmorphism.dart'
;
import
'package:glassmorphism/glassmorphism.dart'
;
// Widget newsListItem(NewsItem item) {
// Widget newsListItem(NewsItem item) {
...
@@ -143,13 +145,19 @@ import 'package:glassmorphism/glassmorphism.dart';
...
@@ -143,13 +145,19 @@ import 'package:glassmorphism/glassmorphism.dart';
// }
// }
Widget
newsListItem
(
NewsItem
item
)
{
Widget
newsListItem
(
NewsItem
item
)
{
final
c
=
Get
.
find
<
CategoryController
>();
// getConversionById
// double textScaleFactor = MediaQuery.textScaleFactorOf(context);
// double textScaleFactor = MediaQuery.textScaleFactorOf(context);
return
GlassmorphicContainer
(
return
InkWell
(
height:
220
,
onTap:
()
{
c
.
getMessageList
(
item
.
id
);
},
child:
GlassmorphicContainer
(
height:
66
,
width:
double
.
infinity
,
width:
double
.
infinity
,
// flex: 1,
// flex: 1,
borderRadius:
16
,
borderRadius:
16
,
padding:
EdgeInsets
.
only
(
bottom:
16
),
//
padding: EdgeInsets.only(bottom: 16),
blur:
14
,
blur:
14
,
alignment:
Alignment
.
bottomCenter
,
alignment:
Alignment
.
bottomCenter
,
border:
2
,
border:
2
,
...
@@ -175,38 +183,43 @@ Widget newsListItem(NewsItem item) {
...
@@ -175,38 +183,43 @@ Widget newsListItem(NewsItem item) {
// mainAxisAlignment: MainAxisAlignment.spaceAround,
// mainAxisAlignment: MainAxisAlignment.spaceAround,
// ignore: prefer_const_literals_to_create_immutables
// ignore: prefer_const_literals_to_create_immutables
children:
[
children:
[
// Center(
// child: Text(
// "${item.name}",
// style: const TextStyle(
// color: Colors.white,
// height: 2,
// fontSize: 20,
// fontWeight: FontWeight.w600),
// ),
// )
// ignore: prefer_const_constructors
// ignore: prefer_const_constructors
Container
(
Container
(
// color: Colors.red,
// color: Colors.red,
height:
5
0
,
height:
3
0
,
width:
double
.
infinity
,
width:
double
.
infinity
,
padding:
EdgeInsets
.
symmetric
(
horizontal:
16
),
padding:
EdgeInsets
.
symmetric
(
horizontal:
16
),
child:
Text
(
child:
Text
(
"
${item.question
}
"
,
"
${item.name
}
"
,
style:
const
TextStyle
(
style:
const
TextStyle
(
color:
Colors
.
white
,
color:
Colors
.
white
,
height:
2
,
height:
2
,
fontSize:
20
,
fontSize:
14
,
fontWeight:
FontWeight
.
w600
),
fontWeight:
FontWeight
.
w600
),
)),
)),
// ignore: prefer_const_constructors
Container
(
Container
(
// color: Colors.red,
height:
30
,
padding:
EdgeInsets
.
symmetric
(
horizontal:
16
),
width:
double
.
infinity
,
width:
double
.
infinity
,
height:
150
,
padding:
EdgeInsets
.
symmetric
(
horizontal:
16
),
child:
SingleChildScrollView
(
child:
Text
(
child:
Text
(
"
${item.answer}
"
,
"
${item.createTime!.toLocal().year}
-
${item.createTime!.toLocal().month}
-
${item.createTime!.toLocal().day}
${item.createTime!.toLocal().hour}
:
${item.createTime!.toLocal().minute}
"
,
style:
TextStyle
(
color:
Colors
.
white
,
fontSize:
12
style:
const
TextStyle
(
// height: 0.8
color:
Colors
.
white
,
),
height:
2
,
// height: 2,
fontSize:
14
,
// fontSize: 20,
fontWeight:
FontWeight
.
w600
),
maxLines:
7
,
)),
),
// ignore: prefer_const_constructors
),
])),
),
);
]));
}
}
lib/pages/category/widgets/news_page_list.dart
View file @
fa129e94
...
@@ -18,7 +18,7 @@ class _NewsPageListState extends State<NewsPageList>
...
@@ -18,7 +18,7 @@ class _NewsPageListState extends State<NewsPageList>
@override
@override
bool
get
wantKeepAlive
=>
true
;
bool
get
wantKeepAlive
=>
true
;
final
controller
=
Get
.
find
<
CategoryController
>(
);
final
controller
=
Get
.
put
(
CategoryController
()
);
@override
@override
Widget
build
(
BuildContext
context
)
{
Widget
build
(
BuildContext
context
)
{
...
...
lib/pages/frame/android_pay_list/widgets/helloword.dart
View file @
fa129e94
...
@@ -111,111 +111,131 @@ class PayItemWidget extends GetView<AndroidPayListController> {
...
@@ -111,111 +111,131 @@ class PayItemWidget extends GetView<AndroidPayListController> {
child:
Row
(
child:
Row
(
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
children:
[
children:
[
Obx
(()
=>
controller
.
state
.
selected
==
Obx
(
'com.wudi.app.60stars'
()
=>
Column
(
?
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
crossAxisAlignment:
CrossAxisAlignment
.
start
,
mainAxisAlignment:
mainAxisAlignment:
MainAxisAlignment
.
spaceAround
,
MainAxisAlignment
.
spaceAround
,
children:
controller
.
state
.
items
.
length
==
0
children:
[
?
[]
Row
(
:
controller
.
state
.
items
.
firstWhere
((
element
)
=>
element
.
appleProductId
==
controller
.
state
.
selected
)
.
goodsDesc
!
.
split
(
'、'
)
.
map
(
(
item
)
=>
Row
(
// crossAxisAlignment
// crossAxisAlignment
children:
[
children:
[
Icon
(
Icons
.
check
,
color:
color
),
Icon
(
Icons
.
check
,
color:
color
),
Text
(
"30次提问机会"
,
Text
(
item
,
style:
TextStyle
(
style:
TextStyle
(
color:
color
,
fontSize:
16
))
color:
color
,
fontSize:
16
))
],
],
),
),
)
.
toList
(),
),
),
// Obx(() => controller.state.selected ==
// 'com.wudi.app.60stars'
// ? Column(
// crossAxisAlignment: CrossAxisAlignment.start,
// mainAxisAlignment:
// MainAxisAlignment.spaceAround,
// children: [
// Row(
// Row(
// // crossAxisAlignment
// children: [
// children: [
// Icon(Icons.check, color: color),
// Icon(Icons.check, color: color),
// Text("无广告
",
// Text("3022次提问机会
",
// style: TextStyle(
// style: TextStyle(
// color: color, fontSize: 16))
// color: color, fontSize: 16))
// ],
// ],
// ),
// ),
Row
(
//
Row(
children:
[
//
children: [
Icon
(
Icons
.
check
,
color:
color
),
//
Icon(Icons.check, color: color),
Text
(
"解锁所有高级功能"
,
//
Text("解锁所有高级功能",
style:
TextStyle
(
//
style: TextStyle(
color:
color
,
fontSize:
16
))
//
color: color, fontSize: 16))
],
//
],
)
//
)
],
//
],
)
//
)
:
controller
.
state
.
selected
==
//
: controller.state.selected ==
'com.wudi.app.monthly_pass'
//
'com.wudi.app.monthly_pass'
?
Column
(
//
? Column(
crossAxisAlignment:
//
crossAxisAlignment:
CrossAxisAlignment
.
start
,
//
CrossAxisAlignment.start,
mainAxisAlignment:
//
mainAxisAlignment:
MainAxisAlignment
.
spaceAround
,
//
MainAxisAlignment.spaceAround,
children:
[
//
children: [
Row
(
//
Row(
// crossAxisAlignment
//
// crossAxisAlignment
children:
[
//
children: [
Icon
(
Icons
.
check
,
color:
color
),
//
Icon(Icons.check, color: color),
Text
(
"月卡会员"
,
//
Text("月卡会员",
style:
TextStyle
(
//
style: TextStyle(
color:
color
,
fontSize:
16
))
//
color: color, fontSize: 16))
],
//
],
),
//
),
Row
(
//
Row(
children:
[
//
children: [
Icon
(
Icons
.
check
,
color:
color
),
//
Icon(Icons.check, color: color),
Text
(
"无限聊天"
,
//
Text("无限聊天",
style:
TextStyle
(
//
style: TextStyle(
color:
color
,
fontSize:
16
))
//
color: color, fontSize: 16))
],
//
],
),
//
),
Row
(
//
Row(
children:
[
//
children: [
Icon
(
Icons
.
check
,
color:
color
),
//
Icon(Icons.check, color: color),
Text
(
"解锁所有高级功能"
,
//
Text("解锁所有高级功能",
style:
TextStyle
(
//
style: TextStyle(
color:
color
,
fontSize:
16
))
//
color: color, fontSize: 16))
],
//
],
)
//
)
],
//
],
)
//
)
:
Column
(
//
: Column(
crossAxisAlignment:
//
crossAxisAlignment:
CrossAxisAlignment
.
start
,
//
CrossAxisAlignment.start,
mainAxisAlignment:
//
mainAxisAlignment:
MainAxisAlignment
.
spaceAround
,
//
MainAxisAlignment.spaceAround,
children:
[
//
children: [
Row
(
//
Row(
// crossAxisAlignment
//
// crossAxisAlignment
children:
[
//
children: [
Icon
(
Icons
.
check
,
color:
color
),
//
Icon(Icons.check, color: color),
Text
(
"周卡会员"
,
//
Text("周卡会员",
style:
TextStyle
(
//
style: TextStyle(
color:
color
,
fontSize:
16
))
//
color: color, fontSize: 16))
],
//
],
),
//
),
Row
(
//
Row(
children:
[
//
children: [
Icon
(
Icons
.
check
,
color:
color
),
//
Icon(Icons.check, color: color),
Text
(
"无限聊天"
,
//
Text("无限聊天",
style:
TextStyle
(
//
style: TextStyle(
color:
color
,
fontSize:
16
))
//
color: color, fontSize: 16))
],
//
],
),
//
),
Row
(
//
Row(
children:
[
//
children: [
Icon
(
Icons
.
check
,
color:
color
),
//
Icon(Icons.check, color: color),
Text
(
"解锁所有高级功能"
,
//
Text("解锁所有高级功能",
style:
TextStyle
(
//
style: TextStyle(
color:
color
,
fontSize:
16
))
//
color: color, fontSize: 16))
],
//
],
)
//
)
],
//
],
)),
//
)),
Image
(
Image
(
image:
AssetImage
(
"assets/images/center-1.png"
),
image:
AssetImage
(
"assets/images/center-1.png"
),
width:
Get
.
mediaQuery
.
size
.
height
*
0.17
,
width:
Get
.
mediaQuery
.
size
.
height
*
0.17
,
...
@@ -277,7 +297,7 @@ class PayItemWidget extends GetView<AndroidPayListController> {
...
@@ -277,7 +297,7 @@ class PayItemWidget extends GetView<AndroidPayListController> {
color:
Colors
.
white
),
color:
Colors
.
white
),
),
),
Text
(
Text
(
"
${
item == 0 ? '30次提问卡' : item == 1 ? '月卡' : '周卡'
}
"
,
"
${
controller.state.items[item].goodsName!
}
"
,
maxLines:
2
,
maxLines:
2
,
overflow:
TextOverflow
.
clip
,
overflow:
TextOverflow
.
clip
,
style:
TextStyle
(
style:
TextStyle
(
...
...
lib/pages/frame/notfound/controller.dart
View file @
fa129e94
import
'dart:async'
;
import
'dart:async'
;
import
'package:chart/common/apis/apis.dart'
;
import
'package:chart/common/apis/apis.dart'
;
import
'package:chart/common/routers/routes.dart'
;
import
'package:chart/common/store/store.dart'
;
import
'package:chart/common/store/store.dart'
;
import
'package:chart/common/values/server.dart'
;
import
'package:chart/common/values/server.dart'
;
import
'package:chart/entity/user_entity.dart'
;
import
'package:chart/entity/user_entity.dart'
;
import
'package:chart/package/chat_dash/dash_chat_2.dart'
as
Chat
;
import
'package:chart/package/chat_dash/dash_chat_2.dart'
as
Chat
;
import
'package:chart/package/chat_dash/dash_chat_2.dart'
;
import
'package:chart/package/chat_dash/dash_chat_2.dart'
;
import
'package:chart/pages/category/controller.dart'
;
import
'package:chart/pages/frame/product/controller.dart'
;
import
'package:chart/pages/frame/product/controller.dart'
;
import
'package:flutter/foundation.dart'
;
import
'package:flutter/foundation.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter/material.dart'
;
...
@@ -63,7 +65,7 @@ class ChatNewController extends GetxController {
...
@@ -63,7 +65,7 @@ class ChatNewController extends GetxController {
/// 事件
/// 事件
void
sendMessage
(
Chat
.
ChatMessage
message
)
async
{
void
sendMessage
(
Chat
.
ChatMessage
message
)
async
{
print
(
"
${message.text}
321321321
"
);
print
(
"
${message.text}
"
);
Vibrate
.
feedback
(
FeedbackType
.
impact
);
Vibrate
.
feedback
(
FeedbackType
.
impact
);
// if (state.messageList.isNotEmpty) {
// if (state.messageList.isNotEmpty) {
// // data = !_messages.every((element) => element.status != Status.sending);
// // data = !_messages.every((element) => element.status != Status.sending);
...
@@ -108,8 +110,11 @@ class ChatNewController extends GetxController {
...
@@ -108,8 +110,11 @@ class ChatNewController extends GetxController {
if
(
UserStore
.
to
.
profile
.
id
!=
''
)
{
if
(
UserStore
.
to
.
profile
.
id
!=
''
)
{
await
initEventSource
();
await
initEventSource
();
state
.
isLoading
=
true
;
state
.
isLoading
=
true
;
int
?
result
=
int
?
result
=
await
UserAPI
.
aiAnswerWithConversion
({
await
NewsAPI
.
aiAnswerWithStream
({
"question"
:
message
.
text
});
"question"
:
message
.
text
,
"conversionId"
:
state
.
conversionId
,
"next"
:
state
.
isNext
});
// _cancelLoading();
// _cancelLoading();
// print(
// print(
// "eventSource.isPausedeventSource.isPausedeventSource.isPaused---------------${eventSource.isPaused}");
// "eventSource.isPausedeventSource.isPausedeventSource.isPaused---------------${eventSource.isPaused}");
...
@@ -190,6 +195,31 @@ class ChatNewController extends GetxController {
...
@@ -190,6 +195,31 @@ class ChatNewController extends GetxController {
}
}
// 方法
// 方法
closeChat
()
async
{
// // final c = Get.put(ChatPageController());
final
c
=
Get
.
put
(
CategoryController
());
state
.
isNext
=
1
;
try
{
await
UserAPI
.
endConversion
({
"conversionId"
:
state
.
conversionId
,
});
Vibrate
.
feedback
(
FeedbackType
.
impact
);
state
.
messageList
.
value
=
[];
Get
.
back
();
c
.
refresh
();
}
catch
(
e
)
{}
// Get.back();
// Get.defaultDialog(
// title: "提示",
// textConfirm:"",
// content: Container(
// child: Column(children: [Text("返回后查看当前回话记录请去我的信息页面!")
// ]),
// ));
}
// 拉取数据
// 拉取数据
Future
<
void
>
fetchNewsList
({
bool
isRefresh
=
false
})
async
{
Future
<
void
>
fetchNewsList
({
bool
isRefresh
=
false
})
async
{
// var result =
// var result =
...
@@ -208,33 +238,99 @@ class ChatNewController extends GetxController {
...
@@ -208,33 +238,99 @@ class ChatNewController extends GetxController {
// print("${state.newsList.length}");
// print("${state.newsList.length}");
}
}
getMessageList
(
messageList
,
id
)
{
// final list = messageList?.forEach((item) {
// // if (item['role'] == "user") {
// // return Chat.ChatMessage(
// // text: item['content'],
// // user: _user,
// // createdAt: DateTime.now(),
// // );
// // } else {
// // return ChatMessage(
// // user: receiveUser,
// // createdAt: DateTime.now(),
// // text: item['content'],
// // );
// // }
// });
final
messages
=
List
<
ChatMessage
>.
generate
(
messageList
.
length
,
(
index
)
{
final
i
=
messageList
[
index
];
var
message
;
if
(
i
?.
role
==
"user"
)
{
message
=
Chat
.
ChatMessage
(
text:
i
?.
content
,
user:
_user
,
createdAt:
DateTime
.
parse
(
i
.
sendTime
).
toLocal
(),
);
}
else
{
message
=
ChatMessage
(
user:
receiveUser
,
createdAt:
DateTime
.
parse
(
i
.
sendTime
).
toLocal
(),
text:
i
?.
content
,
);
}
return
message
;
});
state
.
isNext
=
2
;
state
.
messageList
.
value
=
messages
.
reversed
.
toList
();
state
.
conversionId
=
id
;
Get
.
toNamed
(
"
${AppRoutes.CHAT_PAGE}
"
);
}
sendMessageByBanner
(
String
message
)
async
{
await
createConversionId
();
// Vibrate.feedback(FeedbackType.impact);
// // message.question
Chat
.
ChatUser
_user
=
Chat
.
ChatUser
(
id:
'1'
,
// firstName: 'Charles',
// lastName: 'Leclerc',
);
// // ?question=${message.question}
// Get.toNamed("${AppRoutes.CHAT_PAGE}");
sendMessage
(
Chat
.
ChatMessage
(
text:
"
${message}
"
,
user:
_user
,
createdAt:
DateTime
.
now
(),
));
}
initEventSource
()
async
{
initEventSource
()
async
{
// if (UserStore.to.isLogin) {
// if (UserStore.to.isLogin) {
sse
=
SSEClient
.
subscribeToSSE
(
sse
=
SSEClient
.
subscribeToSSE
(
url:
"
$SERVER_API_URL
/openAi/connect/
${UserStore.to.profile.id}
"
,
url:
"
$SERVER_API_URL
/openAi/connect/
${UserStore.to.profile.id}
"
,
header:
{}).
listen
((
event
)
{
header:
{}).
listen
((
event
)
async
{
if
(
event
.
id
==
"[DONE]"
)
{
if
(
event
.
data
!.
trim
().
isEmpty
)
{
return
;
}
else
if
(
event
.
id
==
"[DONE]"
)
{
await
UserAPI
.
saveResp
({
"conversionId"
:
state
.
conversionId
,
"content"
:
state
.
messageList
[
0
].
text
,
});
state
.
isLoading
=
false
;
state
.
isLoading
=
false
;
// SSEClient.unsubscribeFromSSE();
// eventSource.cancel();
return
;
return
;
}
}
print
(
'Id: '
+
event
.
id
!);
print
(
'Event: '
+
event
.
event
!);
print
(
'Data: '
+
event
.
data
!);
Map
<
String
,
dynamic
>
jsonMap
=
jsonDecode
(
"
${event.data}
"
);
Map
<
String
,
dynamic
>
jsonMap
=
jsonDecode
(
"
${event.data}
"
);
if
(
jsonMap
[
'askType'
]
==
1
)
{
if
(
jsonMap
[
'askType'
]
==
1
)
{
_updateMessage
(
"
${jsonMap['content']}
"
as
String
);
_updateMessage
(
"
${jsonMap['content']}
"
as
String
);
}
else
{
// print("${jsonMap['content']}}");
print
(
"
${jsonMap['content']}
"
);
ProductController
.
to
.
state
.
inderText
=
ProductController
.
to
.
state
.
inderText
+
jsonMap
[
'content'
];
// state.genText
}
}
});
});
}
}
Future
createConversionId
()
async
{
Vibrate
.
feedback
(
FeedbackType
.
impact
);
Get
.
toNamed
(
AppRoutes
.
CHAT_PAGE
);
int
id
=
await
UserAPI
.
createConversion
();
state
.
conversionId
=
id
;
}
_updateMessage
(
String
text
)
{
_updateMessage
(
String
text
)
{
// state.messageList[0].text = state.messageList[0].text + text;
// state.messageList[0].text = state.messageList[0].text + text;
// state.messageList.forEach((element) {
// state.messageList.forEach((element) {
...
@@ -274,8 +370,8 @@ class ChatNewController extends GetxController {
...
@@ -274,8 +370,8 @@ class ChatNewController extends GetxController {
tabMessage
(
message
)
{
tabMessage
(
message
)
{
Clipboard
.
setData
(
ClipboardData
(
text:
message
?.
text
));
Clipboard
.
setData
(
ClipboardData
(
text:
message
?.
text
));
EasyLoading
.
showSuccess
(
"复制成功"
);
Get
.
snackbar
(
"复制成功"
,
""
,
colorText:
Colors
.
white
);
//
Get.snackbar("复制成功", "", colorText: Colors.white);
}
}
@override
@override
...
...
lib/pages/frame/notfound/state.dart
View file @
fa129e94
...
@@ -11,12 +11,20 @@ class ChatPageState {
...
@@ -11,12 +11,20 @@ class ChatPageState {
// get _messageList =>
// get _messageList =>
final
_page
=
"AI写作大师"
.
obs
;
final
_page
=
"AI写作大师"
.
obs
;
set
page
(
value
)
=>
this
.
_page
.
value
=
value
;
set
page
(
value
)
=>
_page
.
value
=
value
;
get
page
=>
this
.
_page
.
value
;
get
page
=>
_page
.
value
;
RxBool
_isLoading
=
false
.
obs
;
final
RxBool
_isLoading
=
false
.
obs
;
set
isLoading
(
value
)
=>
_isLoading
.
value
=
value
;
set
isLoading
(
value
)
=>
_isLoading
.
value
=
value
;
get
isLoading
=>
_isLoading
.
value
;
get
isLoading
=>
_isLoading
.
value
;
final
_conversionId
=
0
.
obs
;
set
conversionId
(
value
)
=>
_conversionId
.
value
=
value
;
get
conversionId
=>
_conversionId
.
value
;
final
_isNext
=
1
.
obs
;
set
isNext
(
value
)
=>
_isNext
.
value
=
value
;
get
isNext
=>
_isNext
.
value
;
// RxList<NewsItem> newsList = <NewsItem>[].obs;
// RxList<NewsItem> newsList = <NewsItem>[].obs;
}
}
lib/pages/frame/notfound/view.dart
View file @
fa129e94
...
@@ -45,7 +45,7 @@ class ChatNewPage extends GetView<ChatNewController> {
...
@@ -45,7 +45,7 @@ class ChatNewPage extends GetView<ChatNewController> {
appBar:
transparentAppBar
(
appBar:
transparentAppBar
(
actions:
[
actions:
[
IconButton
(
IconButton
(
tooltip:
'
返回上一页
'
,
tooltip:
'
分享
'
,
icon:
const
Icon
(
icon:
const
Icon
(
Icons
.
share
,
Icons
.
share
,
color:
AppColors
.
primaryElementText
,
color:
AppColors
.
primaryElementText
,
...
@@ -81,7 +81,8 @@ class ChatNewPage extends GetView<ChatNewController> {
...
@@ -81,7 +81,8 @@ class ChatNewPage extends GetView<ChatNewController> {
color:
AppColors
.
primaryElementText
,
color:
AppColors
.
primaryElementText
,
),
),
onPressed:
()
{
onPressed:
()
{
Get
.
back
();
// Get.back();
controller
.
closeChat
();
// Get.offAll(ApplicationPage());
// Get.offAll(ApplicationPage());
// await Get.off(ApplicationPage());
// await Get.off(ApplicationPage());
// Get.toNamed(AppRoutes.Application);
// Get.toNamed(AppRoutes.Application);
...
...
lib/pages/frame/product/controller.dart
View file @
fa129e94
...
@@ -70,17 +70,21 @@ class ProductController extends GetxController {
...
@@ -70,17 +70,21 @@ class ProductController extends GetxController {
sse
=
SSEClient
.
subscribeToSSE
(
sse
=
SSEClient
.
subscribeToSSE
(
url:
"
$SERVER_API_URL
/openAi/connect/
${UserStore.to.profile.id}
"
,
url:
"
$SERVER_API_URL
/openAi/connect/
${UserStore.to.profile.id}
"
,
header:
{}).
listen
((
event
)
{
header:
{}).
listen
((
event
)
{
try
{
if
(
EasyLoading
.
isShow
)
{
EasyLoading
.
dismiss
();
}
if
(
event
.
id
==
"[DONE]"
)
{
if
(
event
.
id
==
"[DONE]"
)
{
state
.
isLoading
=
false
;
state
.
isLoading
=
false
;
return
;
return
;
}
}
Map
<
String
,
dynamic
>
jsonMap
=
jsonDecode
(
"
${event.data}
"
);
Map
<
String
,
dynamic
>
jsonMap
=
jsonDecode
(
event
.
data
as
String
);
if
(
jsonMap
[
'askType'
]
==
1
)
{
// _updateMessage("${jsonMap['content']}" as String);
}
else
{
state
.
inderText
=
state
.
inderText
+
jsonMap
[
'content'
];
state
.
inderText
=
state
.
inderText
+
jsonMap
[
'content'
];
// state.genText
}
catch
(
e
)
{
EasyLoading
.
dismiss
();
}
}
//
});
});
}
}
...
@@ -102,7 +106,7 @@ class ProductController extends GetxController {
...
@@ -102,7 +106,7 @@ class ProductController extends GetxController {
handleCopy
()
{
handleCopy
()
{
Clipboard
.
setData
(
ClipboardData
(
text:
state
.
inderText
));
Clipboard
.
setData
(
ClipboardData
(
text:
state
.
inderText
));
Get
.
snackbar
(
"复制成功"
,
""
,
colorText:
Colors
.
white
);
EasyLoading
.
showSuccess
(
"复制成功"
);
}
}
void
handleGenText
()
async
{
void
handleGenText
()
async
{
...
@@ -125,19 +129,6 @@ class ProductController extends GetxController {
...
@@ -125,19 +129,6 @@ class ProductController extends GetxController {
// GetX.pop.pop()
// GetX.pop.pop()
Get
.
back
();
Get
.
back
();
state
.
loading
=
true
;
state
.
loading
=
true
;
EasyLoading
.
show
(
status:
"AI正在生成中..."
);
// "question": str + str1 + str3, "id": "${UserStore.to.profile.id}
// [
// {
// "id": 0,
// "label": "",
// "placeHolder": "",
// "value": ""
// }
// ]
// json.encode(map);
if
(
UserStore
.
to
.
isLogin
)
{
if
(
UserStore
.
to
.
isLogin
)
{
state
.
isLoading
=
true
;
state
.
isLoading
=
true
;
...
@@ -156,9 +147,9 @@ class ProductController extends GetxController {
...
@@ -156,9 +147,9 @@ class ProductController extends GetxController {
"sort"
:
2
,
"sort"
:
2
,
}
}
],
params
[
'detailId'
]!);
],
params
[
'detailId'
]!);
EasyLoading
.
show
(
status:
"AI正在生成中..."
);
if
(
result
==
200
)
{
if
(
result
==
200
)
{
EasyLoading
.
dismiss
();
//
EasyLoading.dismiss();
UserAPI
.
getUserInfo
().
then
((
value
)
async
{
UserAPI
.
getUserInfo
().
then
((
value
)
async
{
await
UserStore
.
to
.
saveProfile
(
IntegralEntity
(
await
UserStore
.
to
.
saveProfile
(
IntegralEntity
(
id:
UserStore
.
to
.
profile
.
id
,
id:
UserStore
.
to
.
profile
.
id
,
...
@@ -185,10 +176,10 @@ class ProductController extends GetxController {
...
@@ -185,10 +176,10 @@ class ProductController extends GetxController {
state
.
loading
=
false
;
state
.
loading
=
false
;
// Get.snackbar("错误提示", "您的问题还没有填完", colorText: Colors.white);
// Get.snackbar("错误提示", "您的问题还没有填完", colorText: Colors.white);
}
}
EasyLoading
.
dismiss
();
//
EasyLoading.dismiss();
}
catch
(
e
)
{
}
catch
(
e
)
{
state
.
loading
=
false
;
state
.
loading
=
false
;
EasyLoading
.
dismiss
();
//
EasyLoading.dismiss();
}
}
print
(
"
$str
"
);
print
(
"
$str
"
);
...
...
lib/pages/main/widgets/swiper.dart
View file @
fa129e94
...
@@ -94,22 +94,7 @@ class SiperBannerWidget extends GetView<MainController> {
...
@@ -94,22 +94,7 @@ class SiperBannerWidget extends GetView<MainController> {
padding:
EdgeInsets
.
symmetric
(
horizontal:
16
),
padding:
EdgeInsets
.
symmetric
(
horizontal:
16
),
child:
GestureDetector
(
child:
GestureDetector
(
onTap:
()
{
onTap:
()
{
Vibrate
.
feedback
(
FeedbackType
.
impact
);
c
.
sendMessageByBanner
(
message
.
question
);
// message.question
Chat
.
ChatUser
_user
=
Chat
.
ChatUser
(
id:
'1'
,
// firstName: 'Charles',
// lastName: 'Leclerc',
);
Get
.
toNamed
(
"
${AppRoutes.CHAT_PAGE}
?question=
${message.question}
"
);
c
.
sendMessage
(
Chat
.
ChatMessage
(
text:
"
${message.question}
"
,
user:
_user
,
createdAt:
DateTime
.
now
(),
));
},
},
child:
Container
(
child:
Container
(
height:
70
,
height:
70
,
...
...
lib/pages/template/controller.dart
View file @
fa129e94
import
'package:chart/common/entities/classFyDetail.dart'
;
import
'package:chart/common/entities/classFyDetail.dart'
;
import
'package:chart/pages/main/controller.dart'
;
import
'package:get/get.dart'
;
import
'package:get/get.dart'
;
import
'../../common/apis/apis.dart'
;
import
'../../common/apis/apis.dart'
;
...
@@ -24,7 +25,10 @@ class TemplateController extends GetxController {
...
@@ -24,7 +25,10 @@ class TemplateController extends GetxController {
}
}
handleSetActId
(
int
id
)
{
handleSetActId
(
int
id
)
{
final
c
=
Get
.
find
<
MainController
>();
final
act
=
c
.
state
.
bannerPage
!.
firstWhere
((
element
)
=>
element
.
id
==
id
);
actId
=
id
;
actId
=
id
;
state
.
title
=
act
.
classifyName
;
}
}
/// 在 widget 内存中分配后立即调用。
/// 在 widget 内存中分配后立即调用。
...
...
lib/pages/template/state.dart
View file @
fa129e94
...
@@ -3,4 +3,8 @@ import 'package:get/get.dart';
...
@@ -3,4 +3,8 @@ import 'package:get/get.dart';
class
TemplateState
{
class
TemplateState
{
RxMap
mapItem
=
Map
().
obs
;
RxMap
mapItem
=
Map
().
obs
;
final
_title
=
'模版中心'
.
obs
;
set
title
(
value
)
=>
_title
.
value
=
value
;
get
title
=>
_title
.
value
;
}
}
lib/pages/template/view.dart
View file @
fa129e94
...
@@ -20,37 +20,6 @@ class TemplatePage extends GetView<TemplateController> {
...
@@ -20,37 +20,6 @@ class TemplatePage extends GetView<TemplateController> {
fit:
BoxFit
.
cover
),
fit:
BoxFit
.
cover
),
),
),
child:
const
HelloWidget
(),
child:
const
HelloWidget
(),
// GlassmorphicContainer(
// width: Get.mediaQuery.size.width * 1,
// height: Get.mediaQuery.size.height * 1,
// // margin: EdgeInsets.only(bottom: 60),
// // padding: EdgeInsets.all(20),
// // ignore: sort_child_properties_last
// child:
// borderRadius: 14,
// blur: 14,
// alignment: Alignment.bottomCenter,
// border: 2,
// linearGradient: LinearGradient(
// begin: Alignment.topLeft,
// end: Alignment.bottomRight,
// colors: [
// const Color(0xFF0FFFF).withOpacity(0.0),
// const Color(0xFF0FFFF).withOpacity(0.0),
// ],
// ),
// borderGradient: LinearGradient(
// begin: Alignment.topLeft,
// end: Alignment.bottomRight,
// colors: [
// const Color(0xFF0FFFF).withOpacity(1),
// const Color(0xFFFFFFF),
// const Color(0xFF0FFFF).withOpacity(1),
// ],
// ),
// // child: ,
// ),
);
);
}
}
...
@@ -67,21 +36,14 @@ class TemplatePage extends GetView<TemplateController> {
...
@@ -67,21 +36,14 @@ class TemplatePage extends GetView<TemplateController> {
color:
AppColors
.
primaryElementText
,
color:
AppColors
.
primaryElementText
,
),
),
onPressed:
()
async
{
onPressed:
()
async
{
// Get.back();
// Get.offAll(ApplicationPage());
// await Get.off(ApplicationPage());
// Get.toNamed(AppRoutes.Application);
Get
.
back
();
Get
.
back
();
// await Get.toNamed();
// Navigator.of(context).pop();
//_nextPage(-1);
},
},
),
),
title:
const
Text
(
title:
Obx
(()
=>
Text
(
"模版中心"
,
controller
.
state
.
title
,
style:
TextStyle
(
color:
Colors
.
white
),
style:
TextStyle
(
color:
Colors
.
white
),
)),
)),
),
body:
_buildView
());
body:
_buildView
());
},
},
);
);
...
...
lib/pages/template/widgets/hello.dart
View file @
fa129e94
...
@@ -16,8 +16,6 @@ class HelloWidget extends GetView<TemplateController> {
...
@@ -16,8 +16,6 @@ class HelloWidget extends GetView<TemplateController> {
const
HelloWidget
({
Key
?
key
})
:
super
(
key:
key
);
const
HelloWidget
({
Key
?
key
})
:
super
(
key:
key
);
Widget
_renderList
(
int
index
)
{
Widget
_renderList
(
int
index
)
{
final
c
=
Get
.
find
<
MainController
>();
final
productController
=
Get
.
put
(
ProductController
());
final
productController
=
Get
.
put
(
ProductController
());
return
Obx
(()
=>
controller
.
state
.
mapItem
[
controller
.
actId
]
==
null
return
Obx
(()
=>
controller
.
state
.
mapItem
[
controller
.
actId
]
==
null
?
SizedBox
.
shrink
()
?
SizedBox
.
shrink
()
...
...
lib/pages/user/controller.dart
View file @
fa129e94
...
@@ -48,8 +48,8 @@ class UserDetailController extends GetxController {
...
@@ -48,8 +48,8 @@ class UserDetailController extends GetxController {
// 拉取数据
// 拉取数据
Future
<
void
>
fetchNewsList
({
bool
isRefresh
=
false
})
async
{
Future
<
void
>
fetchNewsList
({
bool
isRefresh
=
false
})
async
{
var
result
=
var
result
=
await
NewsAPI
.
getConversionByUserId
(
await
NewsAPI
.
newsPageList
(
{
'page'
:
curPage
,
"size"
:
pageSize
});
{
'page'
:
curPage
,
"size"
:
pageSize
});
if
(
isRefresh
==
true
)
{
if
(
isRefresh
==
true
)
{
curPage
=
1
;
curPage
=
1
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment