| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- 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<QiYuInfoBean> 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');
- }
- }
|