提交 50d27691 编写于 作者: L linusflow

完善上报的用户信息,添加考虑flutter和dart版本信息

上级 9eff29e9
......@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objectVersion = 51;
objects = {
/* Begin PBXBuildFile section */
......@@ -368,7 +368,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
CURRENT_PROJECT_VERSION = 0.8.0;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
......@@ -383,7 +383,8 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.linjizong.flutterApp;
MARKETING_VERSION = 0.8.0;
PRODUCT_BUNDLE_IDENTIFIER = com.linusflow.dokitApp;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
......@@ -502,7 +503,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
CURRENT_PROJECT_VERSION = 0.8.0;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
......@@ -517,7 +518,8 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.linjizong.flutterApp;
MARKETING_VERSION = 0.8.0;
PRODUCT_BUNDLE_IDENTIFIER = com.linusflow.dokitApp;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
......@@ -532,7 +534,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
CURRENT_PROJECT_VERSION = 0.8.0;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
......@@ -547,7 +549,8 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.linjizong.flutterApp;
MARKETING_VERSION = 0.8.0;
PRODUCT_BUNDLE_IDENTIFIER = com.linusflow.dokitApp;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
......
......@@ -2,8 +2,6 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>需要存储照片到本地</string>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
......@@ -17,13 +15,15 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>需要存储照片到本地</string>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
......
// Copyright© Dokit for Flutter.
//
// dokit.dart
// Flutter
//
// Created by linusflow on 2021/3/05
// Modified by linusflow on 2021/5/12 下午2:05
//
import 'dart:async';
import 'dart:convert';
import 'dart:core';
......@@ -5,6 +14,7 @@ import 'dart:io';
import 'package:dokit/engine/dokit_binding.dart';
import 'package:dokit/kit/apm/log_kit.dart';
import 'package:dokit/kit/apm/vm/version.dart';
import 'package:dokit/ui/dokit_app.dart';
import 'package:dokit/ui/dokit_btn.dart';
import 'package:dokit/ui/kit_page.dart';
......@@ -13,6 +23,8 @@ import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart' as dart;
import 'package:package_info/package_info.dart';
import 'kit/apm/vm/vm_service_wrapper.dart';
export 'package:dokit/ui/dokit_app.dart';
typedef DoKitAppCreator = Future<IDoKitApp> Function();
......@@ -146,8 +158,27 @@ void upLoadUserInfo() async {
final appVersion = packageInfo.version;
final version = DK_PACKAGE_VERSION;
final from = '1';
final type = 'flutter';
var type = 'flutter_';
if (Platform.isIOS) {
type += 'iOS';
} else if (Platform.isAndroid) {
type += 'android';
} else {
type += 'other';
}
final language = locale?.toString() ?? '';
final playload = <String, dynamic>{};
await VMServiceWrapper.instance
.callExtensionService('flutterVersion')
.then((value) {
if (value != null) {
final flutter = FlutterVersion.parse(value.json);
playload['flutter_version'] = flutter.version;
playload['dart_sdk_version'] = flutter.dartSdkVersion;
type +=
'-flutter_version_${flutter.version}-dart_sdk_version_${flutter.dartSdkVersion}';
}
});
final params = <String, dynamic>{};
params['appId'] = appId;
......@@ -157,6 +188,7 @@ void upLoadUserInfo() async {
params['from'] = from;
params['type'] = type;
params['language'] = language;
params['playload'] = playload;
request.headers
..add('Content-Type', 'application/json')
......
......@@ -68,9 +68,9 @@ class _SourceCodePageState extends State<SourceCodePage> {
if (id == null) {
return;
}
final nodeDesc = WidgetInspectorService.instance
final String? nodeDesc = WidgetInspectorService.instance
.getSelectedSummaryWidget(id, _dokitSourceCodeGroup);
if (nodeDesc.isNotEmpty) {
if (nodeDesc != null) {
final Map<String, dynamic>? map =
json.decode(nodeDesc) as Map<String, dynamic>?;
if (map != null) {
......
// Copyright© Dokit for Flutter.
//
// kit.dart
// Flutter
//
// Created by linusflow on 2021/3/05
// Modified by linusflow on 2021/5/11 下午7:40
//
import 'dart:collection';
abstract class IInfo {
......
// Copyright© Dokit for Flutter.
//
// color_pick.dart
// Flutter
//
// Created by linusflow on 2021/5/12
// Modified by linusflow on 2021/5/12 下午2:28
//
import 'dart:typed_data';
import 'dart:ui' as ui;
......
// Copyright© Dokit for Flutter.
//
// view_check.dart
// Flutter
//
// Created by linjizong on 2021/3/05
// Modified by linusflow on 2021/5/12 下午2:51
//
import 'dart:convert';
import 'dart:math';
......@@ -352,10 +361,10 @@ class _ViewCheckerWidgetState extends State<ViewCheckerWidget> {
if (id == null) {
return '';
}
final nodeDesc = WidgetInspectorService.instance
final String? nodeDesc = WidgetInspectorService.instance
.getSelectedSummaryWidget(id, _dokitViewCheckGroup);
if (nodeDesc.isNotEmpty) {
if (nodeDesc != null) {
final Map<String, dynamic>? map =
json.decode(nodeDesc) as Map<String, dynamic>;
if (map != null) {
......
// Copyright© Dokit for Flutter.
//
// visual.dart
// Flutter
//
// Created by linusflow on 2021/3/05
// Modified by linusflow on 2021/5/11 下午4:35
//
// 视觉功能
import 'package:dokit/kit/kit.dart';
import 'package:dokit/kit/visual/color_pick.dart';
......
// Copyright© Dokit for Flutter. All rights reserved.
//
// dokit_app.dart
// Flutter
//
// Created by linusflow on 2021/3/05
// Modified by linusflow on 2021/5/11 下午8:08
//
import 'package:dokit/kit/observer.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
......
// Copyright© Dokit for Flutter. All rights reserved.
//
// byte_util.dart
// Flutter
//
// Created by linusflow on 2021/3/05
// Modified by linusflow on 2021/5/11 上午10:39
//
String toByteString(int? bytes) {
if(bytes==null){
if (bytes == null) {
return '0';
}
if (bytes <= (1 << 10)) {
......
// Copyright© Dokit for Flutter.
//
// widget_build_chain_page.dart
// Flutter
//
// Created by linusflow on 2021/4/30
// Modified by linusflow on 2021/5/11 下午4:50
//
import 'dart:math';
import 'package:dokit/ui/dokit_app.dart';
......
// Copyright© Dokit for Flutter.
//
// widget_details_page.dart
// Flutter
//
// Created by linusflow on 2021/4/30
// Modified by linusflow on 2021/5/12 下午3:09
//
import 'package:flutter/material.dart';
class WidgetDetailsPage extends StatelessWidget {
......@@ -7,12 +16,6 @@ class WidgetDetailsPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
// final chain = element.debugGetDiagnosticChain();
// final renderObjectDesc = element.renderObject.toString();
// final renderObjectDeepDesc = element.renderObject.toStringDeep();
// final elementDesc = element.toStringDeep();
// final widgetDesc = element.widget.toStringDeep();
return Scaffold(
appBar: AppBar(
title: RichText(
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册