import 'dart:convert'; import 'package:flutter/cupertino.dart'; import 'package:flutter_qiyu/qiyu.dart'; import 'package:flutter_qiyu/qy_service_window_params.dart'; import 'package:flutter_qiyu/qy_user_info_params.dart'; import 'package:location/data/consts/build_config.dart'; import 'package:location/sdk/qiyu/qiyu_info_bean.dart'; import '../../resource/string.gen.dart'; import '../../utils/app_info_util.dart'; import '../../utils/atmob_log.dart'; class QiYuHelper { static String tag = 'QiYuHelper'; QiYuHelper._(); static void init() async { WidgetsBinding.instance.addPostFrameCallback((_) { QiYu.registerApp( appKey: BuildConfig.qiyuKEY, appName: StringName.appName, ); }); } static void openCustomService() { QYServiceWindowParams serviceWindowParams = QYServiceWindowParams.fromJson({ 'source': {'sourceTitle': '', 'sourceUrl': '', 'sourceCustomInfo': ''}, 'sessionTitle': '客服', 'groupId': 0, 'staffId': 0, 'robotId': 0, 'robotFirst': false, 'faqTemplateId': 0, 'vipLevel': 0, 'showQuitQueue': true, 'showCloseSessionEntry': true }); QiYu.openServiceWindow(serviceWindowParams); } static void setUserInfo(String? phone, String serverUserId) async { List data = [ QiYuInfoBean( index: '1', key: 'serverUserId', label: '用户Id', value: serverUserId, ), QiYuInfoBean( index: '2', key: 'version', label: '应用版本', value: appInfoUtil.appVersionName, ), QiYuInfoBean( index: '3', key: 'app_name', label: '应用名称', value: appInfoUtil.appName, ), QiYuInfoBean( index: '4', key: 'packageName', label: '包名', value: appInfoUtil.packageName, ), ]; String dataJson = jsonEncode(data.map((e) => e.toJson()).toList()); AtmobLog.d(tag, 'setUserInfo dataJson: $dataJson'); QYUserInfoParams userInfoParams = QYUserInfoParams.fromJson({'userId': phone, 'data': dataJson}); try { await QiYu.setUserInfo(userInfoParams); AtmobLog.d(tag, 'setUserInfo success'); } catch (error) { AtmobLog.e(tag, 'setUserInfo error: $error'); } } static void logout() async { await QiYu.logout(); AtmobLog.d(tag, 'logout'); } }