import 'package:bytedesk_kefu/bytedesk_kefu.dart'; import 'package:flutter/material.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'user_info_page.dart'; // 切换用户 class SwitchUserPage extends StatefulWidget { SwitchUserPage({Key? key}) : super(key: key); @override _SwitchUserPageState createState() => _SwitchUserPageState(); } class _SwitchUserPageState extends State { // 获取appkey,登录后台->渠道管理->Flutter->添加应用->获取appkey String _appKey = '81f427ea-4467-4c7c-b0cd-5c0e4b51456f'; // 获取subDomain,也即企业号:登录后台->客服管理->客服账号->企业号 String _subDomain = "vip"; @override void initState() { super.initState(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('切换用户'), elevation: 0, ), body: ListView( children: ListTile.divideTiles( context: context, tiles: [ ListTile( title: Text('用户信息'), trailing: Icon(Icons.keyboard_arrow_right), onTap: () { _userInfo(); }, ), ListTile( title: Text('用户1男'), onTap: () { _userBoyLogin(); }, ), ListTile( title: Text('用户2女'), onTap: () { _userGirlLogin(); }, ), ListTile( title: Text('退出登录'), onTap: () { _userLogout(); }, ), ], ).toList()), ); } void _userInfo() { Navigator.of(context).push(new MaterialPageRoute(builder: (context) { return new UserInfoPage(); })); } void _userBoyLogin() { if (BytedeskKefu.isLogin()) { Fluttertoast.showToast(msg: '请先退出登录'); return; } _initWithUsernameAndNicknameAndAvatar( "myflutteruserboy", "我是帅哥flutter", "https://bytedesk.oss-cn-shenzhen.aliyuncs.com/avatars/boy.png", _appKey, _subDomain); } void _userGirlLogin() { if (BytedeskKefu.isLogin()) { Fluttertoast.showToast(msg: '请先退出登录'); return; } Fluttertoast.showToast(msg: '登录中'); _initWithUsernameAndNicknameAndAvatar( "myflutterusergirl", "我是美女flutter", "https://bytedesk.oss-cn-shenzhen.aliyuncs.com/avatars/girl.png", _appKey, _subDomain); } void _initWithUsernameAndNicknameAndAvatar(String username, String nickname, String avatar, String appKey, String subDomain) { BytedeskKefu.initWithUsernameAndNicknameAndAvatar(username, nickname, avatar, appKey, subDomain); } void _userLogout() { Fluttertoast.showToast(msg: '退出中'); BytedeskKefu.logout(); } }