update 0.5.0

master
jackning 4 years ago
parent f3b4761a46
commit 708532a1dd

@ -23,7 +23,7 @@
FlutterApplication and put your custom class here. --> FlutterApplication and put your custom class here. -->
<application <application
android:name="io.flutter.app.FlutterApplication" android:name="io.flutter.app.FlutterApplication"
android:label="萝卜丝客服Demo" android:label="萝卜丝Demo"
android:icon="@mipmap/ic_launcher"> android:icon="@mipmap/ic_launcher">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"

@ -1 +1 @@
77234c3f809e6b75adede04e750d8fca 9d652f23f86d8b5c6dcd63e14bcdfc0d

@ -1,10 +1,46 @@
PODS: PODS:
- audioplayers (0.0.1):
- Flutter
- bytedesk_kefu (0.0.1): - bytedesk_kefu (0.0.1):
- Flutter - Flutter
- device_info (0.0.1): - device_info (0.0.1):
- Flutter - Flutter
- devicelocale (0.0.1): - devicelocale (0.0.1):
- Flutter - Flutter
- DKImagePickerController/Core (4.3.2):
- DKImagePickerController/ImageDataManager
- DKImagePickerController/Resource
- DKImagePickerController/ImageDataManager (4.3.2)
- DKImagePickerController/PhotoGallery (4.3.2):
- DKImagePickerController/Core
- DKPhotoGallery
- DKImagePickerController/Resource (4.3.2)
- DKPhotoGallery (0.0.17):
- DKPhotoGallery/Core (= 0.0.17)
- DKPhotoGallery/Model (= 0.0.17)
- DKPhotoGallery/Preview (= 0.0.17)
- DKPhotoGallery/Resource (= 0.0.17)
- SDWebImage
- SwiftyGif
- DKPhotoGallery/Core (0.0.17):
- DKPhotoGallery/Model
- DKPhotoGallery/Preview
- SDWebImage
- SwiftyGif
- DKPhotoGallery/Model (0.0.17):
- SDWebImage
- SwiftyGif
- DKPhotoGallery/Preview (0.0.17):
- DKPhotoGallery/Model
- DKPhotoGallery/Resource
- SDWebImage
- SwiftyGif
- DKPhotoGallery/Resource (0.0.17):
- SDWebImage
- SwiftyGif
- file_picker (0.0.1):
- DKImagePickerController/PhotoGallery
- Flutter
- Flutter (1.0.0) - Flutter (1.0.0)
- fluttertoast (0.0.2): - fluttertoast (0.0.2):
- Flutter - Flutter
@ -18,16 +54,20 @@ PODS:
- Flutter - Flutter
- path_provider (0.0.1): - path_provider (0.0.1):
- Flutter - Flutter
- "permission_handler (5.0.1+1)": - "permission_handler (5.1.0+2)":
- Flutter
- screen (0.0.1):
- Flutter - Flutter
- SDWebImage (5.10.4):
- SDWebImage/Core (= 5.10.4)
- SDWebImage/Core (5.10.4)
- shared_preferences (0.0.1): - shared_preferences (0.0.1):
- Flutter - Flutter
- sqflite (0.0.1): - sqflite (0.0.2):
- Flutter - Flutter
- FMDB (~> 2.7.2) - FMDB (>= 2.7.5)
- SwiftyGif (5.4.0)
- Toast (4.0.0) - Toast (4.0.0)
- vibration (1.7.2):
- Flutter
- video_player (0.0.1): - video_player (0.0.1):
- Flutter - Flutter
- wakelock (0.0.1): - wakelock (0.0.1):
@ -36,34 +76,44 @@ PODS:
- Flutter - Flutter
DEPENDENCIES: DEPENDENCIES:
- audioplayers (from `.symlinks/plugins/audioplayers/ios`)
- bytedesk_kefu (from `.symlinks/plugins/bytedesk_kefu/ios`) - bytedesk_kefu (from `.symlinks/plugins/bytedesk_kefu/ios`)
- device_info (from `.symlinks/plugins/device_info/ios`) - device_info (from `.symlinks/plugins/device_info/ios`)
- devicelocale (from `.symlinks/plugins/devicelocale/ios`) - devicelocale (from `.symlinks/plugins/devicelocale/ios`)
- file_picker (from `.symlinks/plugins/file_picker/ios`)
- Flutter (from `Flutter`) - Flutter (from `Flutter`)
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`) - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
- image_picker (from `.symlinks/plugins/image_picker/ios`) - image_picker (from `.symlinks/plugins/image_picker/ios`)
- package_info (from `.symlinks/plugins/package_info/ios`) - package_info (from `.symlinks/plugins/package_info/ios`)
- path_provider (from `.symlinks/plugins/path_provider/ios`) - path_provider (from `.symlinks/plugins/path_provider/ios`)
- permission_handler (from `.symlinks/plugins/permission_handler/ios`) - permission_handler (from `.symlinks/plugins/permission_handler/ios`)
- screen (from `.symlinks/plugins/screen/ios`)
- shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`)
- sqflite (from `.symlinks/plugins/sqflite/ios`) - sqflite (from `.symlinks/plugins/sqflite/ios`)
- vibration (from `.symlinks/plugins/vibration/ios`)
- video_player (from `.symlinks/plugins/video_player/ios`) - video_player (from `.symlinks/plugins/video_player/ios`)
- wakelock (from `.symlinks/plugins/wakelock/ios`) - wakelock (from `.symlinks/plugins/wakelock/ios`)
- webview_flutter (from `.symlinks/plugins/webview_flutter/ios`) - webview_flutter (from `.symlinks/plugins/webview_flutter/ios`)
SPEC REPOS: SPEC REPOS:
trunk: trunk:
- DKImagePickerController
- DKPhotoGallery
- FMDB - FMDB
- SDWebImage
- SwiftyGif
- Toast - Toast
EXTERNAL SOURCES: EXTERNAL SOURCES:
audioplayers:
:path: ".symlinks/plugins/audioplayers/ios"
bytedesk_kefu: bytedesk_kefu:
:path: ".symlinks/plugins/bytedesk_kefu/ios" :path: ".symlinks/plugins/bytedesk_kefu/ios"
device_info: device_info:
:path: ".symlinks/plugins/device_info/ios" :path: ".symlinks/plugins/device_info/ios"
devicelocale: devicelocale:
:path: ".symlinks/plugins/devicelocale/ios" :path: ".symlinks/plugins/devicelocale/ios"
file_picker:
:path: ".symlinks/plugins/file_picker/ios"
Flutter: Flutter:
:path: Flutter :path: Flutter
fluttertoast: fluttertoast:
@ -76,12 +126,12 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/path_provider/ios" :path: ".symlinks/plugins/path_provider/ios"
permission_handler: permission_handler:
:path: ".symlinks/plugins/permission_handler/ios" :path: ".symlinks/plugins/permission_handler/ios"
screen:
:path: ".symlinks/plugins/screen/ios"
shared_preferences: shared_preferences:
:path: ".symlinks/plugins/shared_preferences/ios" :path: ".symlinks/plugins/shared_preferences/ios"
sqflite: sqflite:
:path: ".symlinks/plugins/sqflite/ios" :path: ".symlinks/plugins/sqflite/ios"
vibration:
:path: ".symlinks/plugins/vibration/ios"
video_player: video_player:
:path: ".symlinks/plugins/video_player/ios" :path: ".symlinks/plugins/video_player/ios"
wakelock: wakelock:
@ -90,24 +140,30 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/webview_flutter/ios" :path: ".symlinks/plugins/webview_flutter/ios"
SPEC CHECKSUMS: SPEC CHECKSUMS:
audioplayers: 455322b54050b30ea4b1af7cd9e9d105f74efa8c
bytedesk_kefu: ca69f7b243932a665dc7001be5a8e04fe7f30c57 bytedesk_kefu: ca69f7b243932a665dc7001be5a8e04fe7f30c57
device_info: d7d233b645a32c40dfdc212de5cf646ca482f175 device_info: d7d233b645a32c40dfdc212de5cf646ca482f175
devicelocale: feebbe5e7a30adb8c4f83185de1b50ff19b44f00 devicelocale: feebbe5e7a30adb8c4f83185de1b50ff19b44f00
DKImagePickerController: b5eb7f7a388e4643264105d648d01f727110fc3d
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
file_picker: 3e6c3790de664ccf9b882732d9db5eaf6b8d4eb1
Flutter: 0e3d915762c693b495b44d77113d4970485de6ec Flutter: 0e3d915762c693b495b44d77113d4970485de6ec
fluttertoast: 6122fa75143e992b1d3470f61000f591a798cc58 fluttertoast: 6122fa75143e992b1d3470f61000f591a798cc58
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
image_picker: 9c3312491f862b28d21ecd8fdf0ee14e601b3f09 image_picker: 9c3312491f862b28d21ecd8fdf0ee14e601b3f09
package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62 package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62
path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c
permission_handler: eac8e15b4a1a3fba55b761d19f3f4e6b005d15b6 permission_handler: ccb20a9fad0ee9b1314a52b70b76b473c5f8dab0
screen: abd91ca7bf3426e1cc3646d27e9b2358d6bf07b0 SDWebImage: c666b97e1fa9c64b4909816a903322018f0a9c84
shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d
sqflite: 4001a31ff81d210346b500c55b17f4d6c7589dd0 sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904
SwiftyGif: 5d4af95df24caf1c570dbbcb32a3b8a0763bc6d7
Toast: 91b396c56ee72a5790816f40d3a94dd357abc196 Toast: 91b396c56ee72a5790816f40d3a94dd357abc196
vibration: 528f5ef88e90d4a8fd1ef04afbf0ed3ac7c9801d
video_player: 9cc823b1d9da7e8427ee591e8438bfbcde500e6e video_player: 9cc823b1d9da7e8427ee591e8438bfbcde500e6e
wakelock: 0d4a70faf8950410735e3f61fb15d517c8a6efc4 wakelock: bfc7955c418d0db797614075aabbc58a39ab5107
webview_flutter: d2b4d6c66968ad042ad94cbb791f5b72b4678a96 webview_flutter: d2b4d6c66968ad042ad94cbb791f5b72b4678a96
PODFILE CHECKSUM: 8e679eca47255a8ca8067c4c67aab20e64cb974d PODFILE CHECKSUM: dca2b29e21cb3d11e071f660f55810735db709ac
COCOAPODS: 1.9.3 COCOAPODS: 1.10.0

@ -9,12 +9,12 @@
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
76C21F7050A2CD2DEF6939A7 /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F592C57DD0344E5C9FD3DBCA /* libPods-Runner.a */; };
978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
F23039A69C0D9E90D8124FBF /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC492F43EA1F2B9AE0E98B42 /* Pods_Runner.framework */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */ /* Begin PBXCopyFilesBuildPhase section */
@ -48,7 +48,7 @@
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
F592C57DD0344E5C9FD3DBCA /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; }; FC492F43EA1F2B9AE0E98B42 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@ -56,7 +56,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
76C21F7050A2CD2DEF6939A7 /* libPods-Runner.a in Frameworks */, F23039A69C0D9E90D8124FBF /* Pods_Runner.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -130,7 +130,7 @@
F87F847604EB996C0990C6B8 /* Frameworks */ = { F87F847604EB996C0990C6B8 /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
F592C57DD0344E5C9FD3DBCA /* libPods-Runner.a */, FC492F43EA1F2B9AE0E98B42 /* Pods_Runner.framework */,
); );
name = Frameworks; name = Frameworks;
sourceTree = "<group>"; sourceTree = "<group>";

@ -5,7 +5,7 @@
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>zh_CN</string> <string>zh_CN</string>
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>萝卜丝客服Demo</string> <string>萝卜丝Demo</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string> <string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>

@ -24,12 +24,12 @@ void main() {
// https://github.com/Bytedesk/bytedesk-flutter // https://github.com/Bytedesk/bytedesk-flutter
// https://www.bytedesk.com/antv/user/login // https://www.bytedesk.com/antv/user/login
// appkeysubDomain // appkeysubDomain
// appkey->->->->appkey // appkey->->Flutter->->appkey
String _appKey = "45c513b8-0331-414c-8412-7e2cdfb3eb9f"; String _appKey = '81f427ea-4467-4c7c-b0cd-5c0e4b51456f';
// subDomain->->-> // subDomain->->->
String _subDomain = "vip"; String _subDomain = "vip";
// //
BytedeskKefu.anonymousLogin(_appKey, _subDomain); BytedeskKefu.init(_appKey, _subDomain);
} }
class MyApp extends StatefulWidget { class MyApp extends StatefulWidget {
@ -119,7 +119,7 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
// }, // },
// ), // ),
ListTile( ListTile(
title: Text('消息设置'), title: Text('消息提示'),
trailing: Icon(Icons.keyboard_arrow_right), trailing: Icon(Icons.keyboard_arrow_right),
onTap: () { onTap: () {
Navigator.of(context) Navigator.of(context)
@ -157,7 +157,8 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
// print('receive message:' + event.message.content); // print('receive message:' + event.message.content);
// 1. example/assets/audio2.pubspec.yamlassets // 1. example/assets/audio2.pubspec.yamlassets
// //
if (BytedeskKefu.getPlayAudioOnSendMessage() && event.message.isSend == 1) { if (BytedeskKefu.getPlayAudioOnSendMessage() &&
event.message.isSend == 1) {
print('play send audio'); print('play send audio');
// //
audioCache.play('audio/bytedesk_dingdong.wav'); audioCache.play('audio/bytedesk_dingdong.wav');
@ -167,12 +168,14 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
return; return;
} }
// //
if (BytedeskKefu.getPlayAudioOnReceiveMessage() && event.message.isSend == 0) { if (BytedeskKefu.getPlayAudioOnReceiveMessage() &&
event.message.isSend == 0) {
print('play receive audio'); print('play receive audio');
audioCache.play('audio/bytedesk_dingdong.wav'); audioCache.play('audio/bytedesk_dingdong.wav');
} }
// //
if (BytedeskKefu.getVibrateOnReceiveMessage() && event.message.isSend == 0) { if (BytedeskKefu.getVibrateOnReceiveMessage() &&
event.message.isSend == 0) {
print('should vibrate'); print('should vibrate');
vibrate(); vibrate();
} }
@ -190,7 +193,8 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
// //
OverlaySupportEntry.of(context).dismiss(); OverlaySupportEntry.of(context).dismiss();
// //
BytedeskKefu.startChatThread(context, event.message.thread, title: '客服会话'); BytedeskKefu.startChatThread(context, event.message.thread,
title: '客服会话');
}, },
); );
}, duration: Duration(milliseconds: 4000)); }, duration: Duration(milliseconds: 4000));

@ -16,7 +16,7 @@ class _ChatTypePageState extends State<ChatTypePage> {
// ->- IDwId, wid // ->- IDwId, wid
// 访 // 访
String _workGroupWid = "201807171659201"; // String _workGroupWid = "201807171659201"; //
String _workGroupWidRobot = "201809061716221"; // String _workGroupWidRobot = "201809061716221"; // ,
// //
String _agentUid = "201808221551193"; String _agentUid = "201808221551193";
// //

@ -15,12 +15,14 @@ class _OnlineStatusPageState extends State<OnlineStatusPage> {
// ->- IDuId // ->- IDuId
String _agentUid = "201808221551193"; String _agentUid = "201808221551193";
// //
String _workGroupStatus = ''; String _workGroupStatus = ''; // online 线offline 线
String _agentStatus = ''; String _agentStatus = ''; // online 线offline 线
// //
@override @override
void initState() { void initState() {
// 线
_getWorkGroupStatus(); _getWorkGroupStatus();
// 线
_getAgentStatus(); _getAgentStatus();
super.initState(); super.initState();
} }
@ -57,6 +59,7 @@ class _OnlineStatusPageState extends State<OnlineStatusPage> {
} }
void _getWorkGroupStatus() { void _getWorkGroupStatus() {
// 线线线
BytedeskKefu.getWorkGroupStatus(_workGroupWid).then((status) => { BytedeskKefu.getWorkGroupStatus(_workGroupWid).then((status) => {
print(status), print(status),
setState(() { setState(() {
@ -66,6 +69,7 @@ class _OnlineStatusPageState extends State<OnlineStatusPage> {
} }
void _getAgentStatus() { void _getAgentStatus() {
// 线
BytedeskKefu.getAgentStatus(_agentUid).then((status) => { BytedeskKefu.getAgentStatus(_agentUid).then((status) => {
print(status), print(status),
setState(() { setState(() {

@ -58,6 +58,7 @@ class _UserInfoPageState extends State<UserInfoPage> {
} }
void _getProfile() { void _getProfile() {
//
BytedeskKefu.getProfile().then((user) => { BytedeskKefu.getProfile().then((user) => {
setState(() { setState(() {
_nickname = user.nickname; _nickname = user.nickname;
@ -67,7 +68,8 @@ class _UserInfoPageState extends State<UserInfoPage> {
} }
void _setNickname() { void _setNickname() {
String mynickname = 'APP昵称123'; // -
String mynickname = '自定义APP昵称flutter';
BytedeskKefu.updateNickname(mynickname).then((user) => { BytedeskKefu.updateNickname(mynickname).then((user) => {
setState(() { setState(() {
_nickname = mynickname; _nickname = mynickname;
@ -77,6 +79,7 @@ class _UserInfoPageState extends State<UserInfoPage> {
} }
void _setAvatar() { void _setAvatar() {
// url-
String myavatarurl = 'https://chainsnow.oss-cn-shenzhen.aliyuncs.com/avatars/visitor_default_avatar.png'; // url String myavatarurl = 'https://chainsnow.oss-cn-shenzhen.aliyuncs.com/avatars/visitor_default_avatar.png'; // url
BytedeskKefu.updateAvatar(myavatarurl).then((user) => { BytedeskKefu.updateAvatar(myavatarurl).then((user) => {
setState(() { setState(() {

@ -39,14 +39,17 @@ dependencies:
# 针对报错fatal error: 'vibration/vibration-Swift.h' file not found #import <vibration/vibration-Swift.h>, ld: library not found for -lvibration # 针对报错fatal error: 'vibration/vibration-Swift.h' file not found #import <vibration/vibration-Swift.h>, ld: library not found for -lvibration
# 请在ios/Podfile中添加use_frameworks! # 请在ios/Podfile中添加use_frameworks!
vibration: ^1.7.2 vibration: ^1.7.2
# https://pub.dev/packages/bytedesk_kefu # 在线客服 https://pub.dev/packages/bytedesk_kefu
bytedesk_kefu: ^0.4.0 bytedesk_kefu: ^0.5.0
# 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.
cupertino_icons: ^1.0.0 cupertino_icons: ^1.0.0
#注意pull_to_refresh: 1.6.4不兼容故强制依赖1.6.3
dependency_overrides:
pull_to_refresh: 1.6.3
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter

Loading…
Cancel
Save