You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
2.3 KiB

4 years ago
import 'package:bytedesk_kefu/bytedesk_kefu.dart';
import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart';
// 自定义用户信息接口-对接APP用户信息
class UserInfoPage extends StatefulWidget {
UserInfoPage({Key key}) : super(key: key);
@override
_UserInfoPageState createState() => _UserInfoPageState();
}
class _UserInfoPageState extends State<UserInfoPage> {
String _nickname = '';
String _avatar =
'https://chainsnow.oss-cn-shenzhen.aliyuncs.com/avatars/chrome_default_avatar.png';
@override
void initState() {
_getProfile();
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('设置昵称(见代码)'),
subtitle: Text(_nickname ?? ''),
onTap: () {
//
_setNickname();
},
),
ListTile(
leading: Image.network(
_avatar ?? 'https://chainsnow.oss-cn-shenzhen.aliyuncs.com/avatars/chrome_default_avatar.png',
height: 30,
width: 30,
),
title: Text('设置头像(见代码)'),
onTap: () {
//
_setAvatar();
},
),
],
).toList()),
);
}
void _getProfile() {
BytedeskKefu.getProfile().then((user) => {
setState(() {
_nickname = user.nickname;
_avatar = user.avatar;
})
});
}
void _setNickname() {
String mynickname = 'APP昵称123';
BytedeskKefu.updateNickname(mynickname).then((user) => {
setState(() {
_nickname = mynickname;
}),
Fluttertoast.showToast(msg: "设置昵称成功")
});
}
void _setAvatar() {
String myavatarurl = 'https://chainsnow.oss-cn-shenzhen.aliyuncs.com/avatars/visitor_default_avatar.png'; // 头像网址url
BytedeskKefu.updateAvatar(myavatarurl).then((user) => {
setState(() {
_avatar = myavatarurl;
}),
Fluttertoast.showToast(msg: "设置头像成功")
});
}
}