update live stop callback

master
laiiihz 5 years ago
parent 04c47428da
commit 03ec3902dc

@ -37,7 +37,7 @@ void main() async {
AmapLocation.instance.init(iosKey: 'e8a8057cfedcdcadcf4e8f2c7f8de982');
//im
TencentImPlugin.init(appid: '1400423961');
TencentImPlugin.init(appid: '1400435566');
//
TencentLive.instance.init(

@ -3,16 +3,27 @@ import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:recook/constants/api.dart';
import 'package:recook/constants/header.dart';
import 'package:recook/manager/http_manager.dart';
import 'package:recook/manager/user_manager.dart';
import 'package:recook/pages/live/models/live_exit_model.dart';
import 'package:recook/pages/live/models/live_stream_info_model.dart';
import 'package:recook/utils/date/recook_date_util.dart';
class LiveBlurPage extends StatefulWidget {
final bool isLive;
final LiveExitModel exitModel;
final BuildContext context;
final int look;
final int praise;
final LiveStreamInfoModel streamModel;
LiveBlurPage(
{Key key, this.isLive = false, this.exitModel, @required this.context})
{Key key,
this.isLive = false,
this.exitModel,
@required this.context,
this.look,
this.praise,
this.streamModel})
: super(key: key);
@override
@ -174,15 +185,17 @@ class _LiveBlurPageState extends State<LiveBlurPage> {
borderRadius: BorderRadius.circular(rSize(80 / 2)),
child: FadeInImage.assetNetwork(
placeholder: R.ASSETS_PLACEHOLDER_NEW_1X1_A_PNG,
image: Api.getImgUrl(
UserManager.instance.user.info.headImgUrl),
image: Api.getImgUrl(widget.streamModel.headImgUrl),
height: rSize(80),
width: rSize(80),
),
),
rHBox(55),
Row(
children: [],
children: [
_buildColumn('${widget.look}', '观看人数'),
_buildColumn('${widget.praise}', '获赞'),
],
),
rHBox(50),
MaterialButton(
@ -195,7 +208,12 @@ class _LiveBlurPageState extends State<LiveBlurPage> {
fontSize: rSP(18),
),
),
onPressed: () {},
onPressed: () {
HttpManager.post(
LiveAPI.addFollow,
{'followUserId': widget.streamModel.userId},
);
},
color: Color(0xFFDB2D2D),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(rSize(20)),

@ -1,3 +1,4 @@
import 'dart:convert';
import 'dart:io';
import 'dart:math';
import 'dart:ui';
@ -22,6 +23,7 @@ import 'package:recook/widgets/bottom_sheet/action_sheet.dart';
import 'package:recook/widgets/custom_image_button.dart';
import 'package:tencent_im_plugin/entity/message_entity.dart';
import 'package:tencent_im_plugin/entity/session_entity.dart';
import 'package:tencent_im_plugin/message_node/group_system_message_node.dart';
import 'package:tencent_im_plugin/tencent_im_plugin.dart';
import 'package:tencent_live_fluttify/tencent_live_fluttify.dart';
import 'package:image_picker/image_picker.dart';
@ -475,6 +477,20 @@ class _LivePageState extends State<LivePage> {
if (params is List<MessageEntity>) {
List<MessageEntity> messageEntities = params;
if (messageEntities[0].sessionType == SessionType.System) {
if (messageEntities[0].elemList[0] is GroupSystemMessageNode) {
String userData =
(messageEntities[0].elemList[0] as GroupSystemMessageNode)
.userData;
Map<String, dynamic> customParams = jsonDecode(userData);
print(customParams);
switch (customParams['type']) {
case 'UnExplain':
break;
case 'Explain':
break;
case 'LiveStop':
}
}
} else {
chatObjects.insertAll(0, messageEntities);
_scrollController.animateTo(

@ -1,4 +1,5 @@
import 'dart:math';
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:many_like/many_like.dart';
@ -6,11 +7,13 @@ import 'package:recook/constants/api.dart';
import 'package:recook/constants/header.dart';
import 'package:recook/manager/http_manager.dart';
import 'package:recook/manager/user_manager.dart';
import 'package:recook/pages/live/live_stream/live_blur_page.dart';
import 'package:recook/pages/live/live_stream/show_goods_list.dart';
import 'package:recook/pages/live/models/live_stream_info_model.dart';
import 'package:recook/pages/live/tencent_im/tencent_im_tool.dart';
import 'package:recook/pages/live/widget/live_user_bar.dart';
import 'package:recook/pages/live/widget/more_people.dart';
import 'package:recook/utils/custom_route.dart';
import 'package:recook/widgets/bottom_sheet/action_sheet.dart';
import 'package:recook/widgets/custom_image_button.dart';
import 'package:tencent_im_plugin/entity/message_entity.dart';
@ -102,6 +105,28 @@ class _LiveStreamViewPageState extends State<LiveStreamViewPage> {
String userData =
(messageEntities[0].elemList[0] as GroupSystemMessageNode)
.userData;
Map<String, dynamic> customParams = jsonDecode(userData);
print(customParams);
dynamic data = customParams['data'];
switch (customParams['type']) {
case 'UnExplain':
break;
case 'Explain':
break;
case 'LiveStop':
_livePlayer?.stopPlay();
TencentImPlugin.quitGroup(groupId: _streamInfoModel.groupId);
TencentImPlugin.logout();
CRoute.push(
context,
LiveBlurPage(
context: context,
praise: data['praise'],
look: data['look'],
streamModel: _streamInfoModel,
));
break;
}
}
} else {
chatObjects.insertAll(0, messageEntities);

@ -41,6 +41,7 @@ class _DatamanagerLiveViewState extends State<DatamanagerLiveView>
return RefreshWidget(
controller: _controller,
onRefresh: () {
_page = 1;
getLiveListDataModels().then((models) {
setState(() {
_dataModels = models;
@ -48,6 +49,18 @@ class _DatamanagerLiveViewState extends State<DatamanagerLiveView>
_controller.refreshCompleted();
});
},
onLoadMore: () {
_page++;
getLiveListDataModels().then((models) {
setState(() {
_dataModels.addAll(models);
});
if (models.isEmpty)
_controller.loadNoData();
else
_controller.loadComplete();
});
},
body: ListView.builder(
padding: EdgeInsets.all(rSize(15)),
itemBuilder: (contet, index) {

@ -46,10 +46,9 @@ class _LiveStreamPageState extends State<LiveStreamPage>
headerSliverBuilder: (context, innerBoxIsScrolled) {
return [
SliverToBoxAdapter(
child: UserManager.instance.haveLogin ||
_liveAttentionListModels.isEmpty
? _buildAttentions()
: SizedBox(),
child: !UserManager.instance.haveLogin
? SizedBox()
: _buildAttentions(),
),
];
},

@ -2,7 +2,7 @@ name: recook
description: Recook Market App.
publish_to: "none"
version: 1.2.4+166
version: 1.2.5-live-dev+167
environment:
sdk: ">=2.1.0 <3.0.0"

Loading…
Cancel
Save