master
jack ning 3 years ago
parent 31a0cd7c76
commit 9ffcd54bd1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 544 B

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 442 B

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 721 B

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 397 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 820 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 500 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 958 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 848 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 738 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1000 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 911 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off --> <!-- Theme applied to the Android Window while the process is starting -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar"> <style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when <!-- Show a splash screen on the activity. Automatically removed when
Flutter draws its first frame --> Flutter draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item> <item name="android:windowBackground">@drawable/launch_background</item>
@ -12,7 +12,7 @@
running. running.
This Theme is only used starting with V2 of Flutter's Android embedding. --> This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar"> <style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item> <item name="android:windowBackground">@android:color/white</item>
</style> </style>
</resources> </resources>

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<paths>
<root-path name="root" path="" />
<files-path name="files" path="" />
<cache-path name="cache" path="" />
<external-path name="external" path="" />
<external-files-path name="external_files" path="" />
<external-cache-path name="external_cache" path="" />
</paths>
</resources>

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>

@ -50,7 +50,7 @@ PODS:
- FMDB/standard (2.7.5) - FMDB/standard (2.7.5)
- image_gallery_saver (1.5.0): - image_gallery_saver (1.5.0):
- Flutter - Flutter
- image_picker (0.0.1): - image_picker_ios (0.0.1):
- Flutter - Flutter
- package_info (0.0.1): - package_info (0.0.1):
- Flutter - Flutter
@ -84,7 +84,7 @@ DEPENDENCIES:
- Flutter (from `Flutter`) - Flutter (from `Flutter`)
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`) - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
- image_gallery_saver (from `.symlinks/plugins/image_gallery_saver/ios`) - image_gallery_saver (from `.symlinks/plugins/image_gallery_saver/ios`)
- image_picker (from `.symlinks/plugins/image_picker/ios`) - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
- package_info (from `.symlinks/plugins/package_info/ios`) - package_info (from `.symlinks/plugins/package_info/ios`)
- path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`) - path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`)
- shared_preferences_ios (from `.symlinks/plugins/shared_preferences_ios/ios`) - shared_preferences_ios (from `.symlinks/plugins/shared_preferences_ios/ios`)
@ -120,8 +120,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/fluttertoast/ios" :path: ".symlinks/plugins/fluttertoast/ios"
image_gallery_saver: image_gallery_saver:
:path: ".symlinks/plugins/image_gallery_saver/ios" :path: ".symlinks/plugins/image_gallery_saver/ios"
image_picker: image_picker_ios:
:path: ".symlinks/plugins/image_picker/ios" :path: ".symlinks/plugins/image_picker_ios/ios"
package_info: package_info:
:path: ".symlinks/plugins/package_info/ios" :path: ".symlinks/plugins/package_info/ios"
path_provider_ios: path_provider_ios:
@ -151,7 +151,7 @@ SPEC CHECKSUMS:
fluttertoast: 16fbe6039d06a763f3533670197d01fc73459037 fluttertoast: 16fbe6039d06a763f3533670197d01fc73459037
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
image_gallery_saver: 259eab68fb271cfd57d599904f7acdc7832e7ef2 image_gallery_saver: 259eab68fb271cfd57d599904f7acdc7832e7ef2
image_picker: 541dcbb3b9cf32d87eacbd957845d8651d6c62c3 image_picker_ios: b786a5dcf033a8336a657191401bfdf12017dabb
package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62 package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62
path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02 path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02
SDWebImage: 0905f1b7760fc8ac4198cae0036600d67478751e SDWebImage: 0905f1b7760fc8ac4198cae0036600d67478751e

@ -3,120 +3,156 @@
{ {
"size": "20x20", "size": "20x20",
"idiom": "iphone", "idiom": "iphone",
"filename" : "Icon-App-20x20@2x.png", "filename": "icon-20@2x.png",
"scale": "2x" "scale": "2x"
}, },
{ {
"size": "20x20", "size": "20x20",
"idiom": "iphone", "idiom": "iphone",
"filename" : "Icon-App-20x20@3x.png", "filename": "icon-20@3x.png",
"scale": "3x" "scale": "3x"
}, },
{ {
"size": "29x29", "size": "29x29",
"idiom": "iphone", "idiom": "iphone",
"filename" : "Icon-App-29x29@1x.png", "filename": "icon-29.png",
"scale": "1x" "scale": "1x"
}, },
{ {
"size": "29x29", "size": "29x29",
"idiom": "iphone", "idiom": "iphone",
"filename" : "Icon-App-29x29@2x.png", "filename": "icon-29@2x.png",
"scale": "2x" "scale": "2x"
}, },
{ {
"size": "29x29", "size": "29x29",
"idiom": "iphone", "idiom": "iphone",
"filename" : "Icon-App-29x29@3x.png", "filename": "icon-29@3x.png",
"scale": "3x" "scale": "3x"
}, },
{ {
"size": "40x40", "size": "40x40",
"idiom": "iphone", "idiom": "iphone",
"filename" : "Icon-App-40x40@2x.png", "filename": "icon-40@2x.png",
"scale": "2x" "scale": "2x"
}, },
{ {
"size": "40x40", "size": "40x40",
"idiom": "iphone", "idiom": "iphone",
"filename" : "Icon-App-40x40@3x.png", "filename": "icon-40@3x.png",
"scale": "3x" "scale": "3x"
}, },
{
"size": "57x57",
"idiom": "iphone",
"filename": "icon-57.png",
"scale": "1x"
},
{
"size": "57x57",
"idiom": "iphone",
"filename": "icon-57@2x.png",
"scale": "2x"
},
{ {
"size": "60x60", "size": "60x60",
"idiom": "iphone", "idiom": "iphone",
"filename" : "Icon-App-60x60@2x.png", "filename": "icon-60@2x.png",
"scale": "2x" "scale": "2x"
}, },
{ {
"size": "60x60", "size": "60x60",
"idiom": "iphone", "idiom": "iphone",
"filename" : "Icon-App-60x60@3x.png", "filename": "icon-60@3x.png",
"scale": "3x" "scale": "3x"
}, },
{ {
"size": "20x20", "size": "20x20",
"idiom": "ipad", "idiom": "ipad",
"filename" : "Icon-App-20x20@1x.png", "filename": "icon-20-ipad.png",
"scale": "1x" "scale": "1x"
}, },
{ {
"size": "20x20", "size": "20x20",
"idiom": "ipad", "idiom": "ipad",
"filename" : "Icon-App-20x20@2x.png", "filename": "icon-20@2x-ipad.png",
"scale": "2x" "scale": "2x"
}, },
{ {
"size": "29x29", "size": "29x29",
"idiom": "ipad", "idiom": "ipad",
"filename" : "Icon-App-29x29@1x.png", "filename": "icon-29-ipad.png",
"scale": "1x" "scale": "1x"
}, },
{ {
"size": "29x29", "size": "29x29",
"idiom": "ipad", "idiom": "ipad",
"filename" : "Icon-App-29x29@2x.png", "filename": "icon-29@2x-ipad.png",
"scale": "2x" "scale": "2x"
}, },
{ {
"size": "40x40", "size": "40x40",
"idiom": "ipad", "idiom": "ipad",
"filename" : "Icon-App-40x40@1x.png", "filename": "icon-40.png",
"scale": "1x" "scale": "1x"
}, },
{ {
"size": "40x40", "size": "40x40",
"idiom": "ipad", "idiom": "ipad",
"filename" : "Icon-App-40x40@2x.png", "filename": "icon-40@2x.png",
"scale": "2x"
},
{
"size": "50x50",
"idiom": "ipad",
"filename": "icon-50.png",
"scale": "1x"
},
{
"size": "50x50",
"idiom": "ipad",
"filename": "icon-50@2x.png",
"scale": "2x"
},
{
"size": "72x72",
"idiom": "ipad",
"filename": "icon-72.png",
"scale": "1x"
},
{
"size": "72x72",
"idiom": "ipad",
"filename": "icon-72@2x.png",
"scale": "2x" "scale": "2x"
}, },
{ {
"size": "76x76", "size": "76x76",
"idiom": "ipad", "idiom": "ipad",
"filename" : "Icon-App-76x76@1x.png", "filename": "icon-76.png",
"scale": "1x" "scale": "1x"
}, },
{ {
"size": "76x76", "size": "76x76",
"idiom": "ipad", "idiom": "ipad",
"filename" : "Icon-App-76x76@2x.png", "filename": "icon-76@2x.png",
"scale": "2x" "scale": "2x"
}, },
{ {
"size": "83.5x83.5", "size": "83.5x83.5",
"idiom": "ipad", "idiom": "ipad",
"filename" : "Icon-App-83.5x83.5@2x.png", "filename": "icon-83.5@2x.png",
"scale": "2x" "scale": "2x"
}, },
{ {
"size": "1024x1024", "size": "1024x1024",
"idiom": "ios-marketing", "idiom": "ios-marketing",
"filename" : "Icon-App-1024x1024@1x.png", "filename": "icon-1024.png",
"scale": "1x" "scale": "1x"
} }
], ],
"info": { "info": {
"version": 1, "version": 1,
"author" : "xcode" "author": "icon.wuruihong.com"
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 564 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 943 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

@ -74,7 +74,7 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
// //
Navigator.of(context) Navigator.of(context)
.push(MaterialPageRoute(builder: (context) { .push(MaterialPageRoute(builder: (context) {
return const ChatTypePage(); return ChatTypePage();
})); }));
}, },
), ),

@ -15,10 +15,10 @@ class ChatTypePage extends StatefulWidget {
class _ChatTypePageState extends State<ChatTypePage> { class _ChatTypePageState extends State<ChatTypePage> {
// ->- IDwId, wid // ->- IDwId, wid
// 访 // 访
final String _workGroupWid = "201807171659201"; // String _workGroupWid = "201807171659201"; //
final String _workGroupWidRobot = "201809061716221"; // , String _workGroupWidRobot = "201809061716221"; // ,
// //
final String _agentUid = "201808221551193"; String _agentUid = "201808221551193";
// //
String _unreadMessageCount = "0"; String _unreadMessageCount = "0";
// //
@ -29,6 +29,7 @@ class _ChatTypePageState extends State<ChatTypePage> {
// //
super.initState(); super.initState();
} }
// //
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -41,12 +42,15 @@ class _ChatTypePageState extends State<ChatTypePage> {
children: ListTile.divideTiles(context: context, tiles: [ children: ListTile.divideTiles(context: context, tiles: [
ListTile( ListTile(
title: Text('未读消息数目:' + _unreadMessageCount), title: Text('未读消息数目:' + _unreadMessageCount),
trailing: const Icon(Icons.keyboard_arrow_right), // trailing: Icon(Icons.keyboard_arrow_right),
onTap: () { onTap: () {
// //
_getUnreadCountVisitor(); _getUnreadCountVisitor();
}, },
), ),
Container(
height: 20,
),
ListTile( ListTile(
title: const Text('技能组客服'), title: const Text('技能组客服'),
trailing: const Icon(Icons.keyboard_arrow_right), trailing: const Icon(Icons.keyboard_arrow_right),

@ -4,7 +4,7 @@ import 'package:flutter/material.dart';
// //
class HistoryThreadPage extends StatefulWidget { class HistoryThreadPage extends StatefulWidget {
HistoryThreadPage({Key? key}) : super(key: key); const HistoryThreadPage({Key? key}) : super(key: key);
@override @override
_HistoryThreadPageState createState() => _HistoryThreadPageState(); _HistoryThreadPageState createState() => _HistoryThreadPageState();
@ -27,12 +27,12 @@ class _HistoryThreadPageState extends State<HistoryThreadPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Text('历史会话'), title: const Text('历史会话'),
elevation: 0, elevation: 0,
), ),
body: RefreshIndicator( body: RefreshIndicator(
child: ListView.builder( child: ListView.builder(
padding: EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
itemBuilder: (_, int index) => ListTile( itemBuilder: (_, int index) => ListTile(
leading: Image.network(_historyThreadList[index].avatar!), leading: Image.network(_historyThreadList[index].avatar!),
title: Text('${_historyThreadList[index].nickname}, ${_historyThreadList[index].timestamp}'), title: Text('${_historyThreadList[index].nickname}, ${_historyThreadList[index].timestamp}'),

@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
// 线 // 线
class OnlineStatusPage extends StatefulWidget { class OnlineStatusPage extends StatefulWidget {
OnlineStatusPage({Key? key}) : super(key: key); const OnlineStatusPage({Key? key}) : super(key: key);
@override @override
_OnlineStatusPageState createState() => _OnlineStatusPageState(); _OnlineStatusPageState createState() => _OnlineStatusPageState();
@ -32,7 +32,7 @@ class _OnlineStatusPageState extends State<OnlineStatusPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Text('在线状态'), title: const Text('在线状态'),
elevation: 0, elevation: 0,
), ),
body: ListView( body: ListView(
@ -40,14 +40,14 @@ class _OnlineStatusPageState extends State<OnlineStatusPage> {
context: context, context: context,
tiles: [ tiles: [
ListTile( ListTile(
title: Text('技能组在线状态'), title: const Text('技能组在线状态'),
subtitle: Text(_workGroupStatus), subtitle: Text(_workGroupStatus),
onTap: () { onTap: () {
_getWorkGroupStatus(); _getWorkGroupStatus();
}, },
), ),
ListTile( ListTile(
title: Text('客服在线状态'), title: const Text('客服在线状态'),
subtitle: Text(_agentStatus), subtitle: Text(_agentStatus),
onTap: () { onTap: () {
_getAgentStatus(); _getAgentStatus();

@ -4,7 +4,7 @@ import 'package:list_tile_switch/list_tile_switch.dart';
// //
class SettingPage extends StatefulWidget { class SettingPage extends StatefulWidget {
SettingPage({Key? key}) : super(key: key); const SettingPage({Key? key}) : super(key: key);
@override @override
_SettingPageState createState() => _SettingPageState(); _SettingPageState createState() => _SettingPageState();
@ -27,7 +27,7 @@ class _SettingPageState extends State<SettingPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Text('消息设置'), title: const Text('消息设置'),
elevation: 0, elevation: 0,
), ),
body: ListView( body: ListView(
@ -42,7 +42,7 @@ class _SettingPageState extends State<SettingPage> {
}); });
BytedeskKefu.setPlayAudioOnSendMessage(value); BytedeskKefu.setPlayAudioOnSendMessage(value);
}, },
title: Text('发送消息时播放声音'), title: const Text('发送消息时播放声音'),
), ),
ListTileSwitch( ListTileSwitch(
value: _playAudioOnReceiveMessage, value: _playAudioOnReceiveMessage,
@ -52,7 +52,7 @@ class _SettingPageState extends State<SettingPage> {
}); });
BytedeskKefu.setPlayAudioOnReceiveMessage(value); BytedeskKefu.setPlayAudioOnReceiveMessage(value);
}, },
title: Text('收到消息时播放声音'), title: const Text('收到消息时播放声音'),
), ),
ListTileSwitch( ListTileSwitch(
value: _vibrateOnReceiveMessage, value: _vibrateOnReceiveMessage,
@ -63,7 +63,7 @@ class _SettingPageState extends State<SettingPage> {
// AndroidManifest.xml<uses-permission android:name="android.permission.VIBRATE"/> // AndroidManifest.xml<uses-permission android:name="android.permission.VIBRATE"/>
BytedeskKefu.setVibrateOnReceiveMessage(value); BytedeskKefu.setVibrateOnReceiveMessage(value);
}, },
title: Text('收到消息时振动'), title: const Text('收到消息时振动'),
), ),
], ],
).toList()), ).toList()),

@ -6,13 +6,12 @@ import 'package:fluttertoast/fluttertoast.dart';
// anonymousLogin // anonymousLogin
// -APP // -APP
class UserInfoPage extends StatefulWidget { class UserInfoPage extends StatefulWidget {
UserInfoPage({Key? key}) : super(key: key); const UserInfoPage({Key? key}) : super(key: key);
@override @override
_UserInfoPageState createState() => _UserInfoPageState(); _UserInfoPageState createState() => _UserInfoPageState();
} }
class _UserInfoPageState extends State<UserInfoPage> { class _UserInfoPageState extends State<UserInfoPage> {
String _uid = ''; // uid String _uid = ''; // uid
String _username = ''; // String _username = ''; //
@ -29,7 +28,7 @@ class _UserInfoPageState extends State<UserInfoPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Text('用户信息'), title: const Text('用户信息'),
elevation: 0, elevation: 0,
), ),
body: ListView( body: ListView(
@ -37,7 +36,15 @@ class _UserInfoPageState extends State<UserInfoPage> {
context: context, context: context,
tiles: [ tiles: [
ListTile( ListTile(
title: Text('设置昵称(见代码)'), title: const Text('唯一uid'),
subtitle: Text(_uid),
),
ListTile(
title: const Text('用户名'),
subtitle: Text(_username),
),
ListTile(
title: const Text('设置昵称(见代码)'),
subtitle: Text(_nickname), subtitle: Text(_nickname),
onTap: () { onTap: () {
// //
@ -50,14 +57,14 @@ class _UserInfoPageState extends State<UserInfoPage> {
height: 30, height: 30,
width: 30, width: 30,
), ),
title: Text('设置头像(见代码)'), title: const Text('设置头像(见代码)'),
onTap: () { onTap: () {
// //
_setAvatar(); _setAvatar();
}, },
), ),
ListTile( ListTile(
title: Text('设置备注(见代码)'), title: const Text('设置备注(见代码)'),
subtitle: Text(_description), subtitle: Text(_description),
onTap: () { onTap: () {
// //
@ -94,7 +101,7 @@ class _UserInfoPageState extends State<UserInfoPage> {
} }
void _setAvatar() { void _setAvatar() {
// url- // url-
String myavatarurl = String myavatarurl =
'https://chainsnow.oss-cn-shenzhen.aliyuncs.com/avatars/visitor_default_avatar.png'; // url 'https://chainsnow.oss-cn-shenzhen.aliyuncs.com/avatars/visitor_default_avatar.png'; // url
BytedeskKefu.updateAvatar(myavatarurl).then((user) => { BytedeskKefu.updateAvatar(myavatarurl).then((user) => {

@ -46,7 +46,7 @@ dependencies:
# 请在ios/Podfile中添加use_frameworks! # 请在ios/Podfile中添加use_frameworks!
vibration: ^1.7.3 vibration: ^1.7.3
# 在线客服 https://pub.dev/packages/bytedesk_kefu # 在线客服 https://pub.dev/packages/bytedesk_kefu
bytedesk_kefu: ^1.2.2 bytedesk_kefu: ^1.2.4
# The following adds the Cupertino Icons font to your application. # The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons. # Use with the CupertinoIcons class for iOS style icons.

Loading…
Cancel
Save