From ec3440a0fb14c034dabe3793e61d1b72931b01bb Mon Sep 17 00:00:00 2001 From: jyuesong <425698907@qq.com> Date: Fri, 27 May 2022 08:40:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=84=9A=E6=9C=AC=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/module/config/config_edit_page.dart | 293 ++------------ .../others/scripts/script_edit_page.dart | 62 +-- pubspec.lock | 357 +++++++++--------- pubspec.yaml | 1 + 4 files changed, 260 insertions(+), 453 deletions(-) diff --git a/lib/module/config/config_edit_page.dart b/lib/module/config/config_edit_page.dart index 4ac2d7c..48821b7 100644 --- a/lib/module/config/config_edit_page.dart +++ b/lib/module/config/config_edit_page.dart @@ -1,18 +1,12 @@ -import 'dart:ui'; - -import 'package:flutter/cupertino.dart'; +import 'package:code_text_field/code_text_field.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:highlight/languages/powershell.dart'; import 'package:qinglong_app/base/http/api.dart'; import 'package:qinglong_app/base/http/http.dart'; import 'package:qinglong_app/base/ql_app_bar.dart'; import 'package:qinglong_app/base/theme.dart'; -import 'package:qinglong_app/module/config/config_page.dart'; -import 'package:qinglong_app/module/config/config_viewmodel.dart'; import 'package:qinglong_app/utils/extension.dart'; -import 'package:google_fonts/google_fonts.dart'; - -import '../../base/ui/syntax_highlighter.dart'; class ConfigEditPage extends ConsumerStatefulWidget { final String content; @@ -25,37 +19,38 @@ class ConfigEditPage extends ConsumerStatefulWidget { } class _ConfigEditPageState extends ConsumerState { - String text = ""; - String pre_text = ""; + CodeController? _codeController; + late String result; + @override + void dispose() { + _codeController?.dispose(); + super.dispose(); + } @override void initState() { + result = widget.content; + super.initState(); - text = widget.content; - pre_text = widget.content; - } - void replaceText(String oldText, String newText) { - pre_text = text; - - if (oldText.isEmpty) { - text = text + newText; - } else { - if (text.contains(oldText)) { - text = text.replaceAll(oldText, newText); - } - } - setState(() {}); - } - - void clearText() { - pre_text = text; - text = ""; - setState(() {}); + WidgetsBinding.instance?.addPostFrameCallback((timeStamp) { + focusNode.requestFocus(); + }); } @override Widget build(BuildContext context) { + _codeController ??= CodeController( + text: widget.content, + language: powershell, + onChange: (value) { + result = value; + }, + theme: ref.watch(themeProvider).themeColor.codeEditorTheme(), + stringMap: { + "export": const TextStyle(fontWeight: FontWeight.normal, color: Color(0xff6B2375)), + }, + ); return Scaffold( appBar: QlAppBar( canBack: true, @@ -66,11 +61,9 @@ class _ConfigEditPageState extends ConsumerState { actions: [ InkWell( onTap: () async { - HttpResponse response = - await Api.saveFile(widget.title, text); + HttpResponse response = await Api.saveFile(widget.title, result); if (response.success) { "提交成功".toast(); - ref.read(configProvider).loadContent(widget.title); Navigator.of(context).pop(widget.title); } else { (response.message ?? "").toast(); @@ -93,234 +86,16 @@ class _ConfigEditPageState extends ConsumerState { ) ], ), - body: Column( - children: [ - Padding( - padding: const EdgeInsets.symmetric( - vertical: 10, - ), - child: SizedBox( - height: 30, - child: ListView( - padding: EdgeInsets.symmetric( - horizontal: 15, - ), - scrollDirection: Axis.horizontal, - children: [ - GestureDetector( - child: Container( - padding: const EdgeInsets.symmetric( - horizontal: 5, - ), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(5), - border: Border.all( - color: ref.watch(themeProvider).primaryColor, - width: 1), - ), - child: Text( - "插入", - style: TextStyle( - color: ref.watch(themeProvider).primaryColor, - fontSize: 16, - ), - ), - ), - onTap: () { - edit("插入内容", "", "请输入插入的内容,换行符自己添加"); - }, - behavior: HitTestBehavior.opaque, - ), - const SizedBox( - width: 15, - ), - GestureDetector( - onTap: () { - edit("替换内容", "原内容", "新内容"); - }, - behavior: HitTestBehavior.opaque, - child: Container( - padding: const EdgeInsets.symmetric( - horizontal: 5, - ), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(5), - border: Border.all( - color: ref.watch(themeProvider).primaryColor, - width: 1), - ), - child: Text( - "替换", - style: TextStyle( - color: ref.watch(themeProvider).primaryColor, - fontSize: 16, - ), - ), - ), - ), - const SizedBox( - width: 15, - ), - GestureDetector( - onTap: () { - edit("删除内容", "输入要删除的内容", ""); - }, - child: Container( - padding: const EdgeInsets.symmetric( - horizontal: 5, - ), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(5), - border: Border.all( - color: ref.watch(themeProvider).primaryColor, - width: 1), - ), - child: Text( - "删除", - style: TextStyle( - color: ref.watch(themeProvider).primaryColor, - fontSize: 16, - ), - ), - ), - ), - const SizedBox( - width: 15, - ), - GestureDetector( - onTap: () { - clearText(); - }, - child: Container( - padding: const EdgeInsets.symmetric( - horizontal: 5, - ), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(5), - border: Border.all( - color: ref.watch(themeProvider).primaryColor, - width: 1), - ), - child: Text( - "清空", - style: TextStyle( - color: ref.watch(themeProvider).primaryColor, - fontSize: 16, - ), - ), - ), - ), - const SizedBox( - width: 15, - ), - GestureDetector( - onTap: () { - text = pre_text; - setState(() {}); - }, - child: Container( - padding: const EdgeInsets.symmetric( - horizontal: 5, - ), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(5), - border: Border.all( - color: ref.watch(themeProvider).primaryColor, - width: 1), - ), - child: Text( - "撤销本次操作", - style: TextStyle( - color: ref.watch(themeProvider).primaryColor, - fontSize: 16, - ), - ), - ), - ), - ], - ), - ), - ), - Expanded( - child: CodeWidget(content: text,), - ), - ], + body: SafeArea( + top: false, + child: CodeField( + controller: _codeController!, + expands: true, + background: ref.watch(themeProvider).themeColor.settingBgColor(), + ), ), ); } - void edit(String title, String oldDesc, String newDesc) { - String oldText = ""; - String newText = ""; - showCupertinoDialog( - context: context, - builder: (_) => CupertinoAlertDialog( - title: Text(title), - content: Column( - mainAxisSize: MainAxisSize.min, - children: [ - oldDesc.isNotEmpty - ? Material( - color: Colors.transparent, - child: TextField( - onChanged: (value) { - oldText = value; - }, - maxLines: 3, - minLines: 1, - decoration: InputDecoration( - contentPadding: const EdgeInsets.fromLTRB(0, 5, 0, 5), - hintText: oldDesc, - ), - autofocus: true, - ), - ) - : const SizedBox.shrink(), - newDesc.isNotEmpty - ? Material( - color: Colors.transparent, - child: TextField( - onChanged: (value) { - newText = value; - }, - maxLines: 3, - minLines: 1, - decoration: InputDecoration( - contentPadding: const EdgeInsets.fromLTRB(0, 5, 0, 5), - hintText: newDesc, - ), - autofocus: true, - ), - ) - : const SizedBox.shrink(), - ], - ), - actions: [ - CupertinoDialogAction( - child: const Text( - "取消", - style: TextStyle( - color: Color(0xff999999), - ), - ), - onPressed: () { - Navigator.of(context).pop(); - }, - ), - CupertinoDialogAction( - child: Text( - "确定", - style: TextStyle( - color: ref.watch(themeProvider).primaryColor, - ), - ), - onPressed: () async { - Navigator.of(context).pop(true); - replaceText(oldText, newText); - }, - ), - ], - ), - ); - } + FocusNode focusNode = FocusNode(); } diff --git a/lib/module/others/scripts/script_edit_page.dart b/lib/module/others/scripts/script_edit_page.dart index 8c9dc45..49595c3 100644 --- a/lib/module/others/scripts/script_edit_page.dart +++ b/lib/module/others/scripts/script_edit_page.dart @@ -1,10 +1,12 @@ +import 'package:code_text_field/code_text_field.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:highlight/languages/javascript.dart'; import 'package:qinglong_app/base/http/api.dart'; import 'package:qinglong_app/base/http/http.dart'; import 'package:qinglong_app/base/ql_app_bar.dart'; +import 'package:qinglong_app/base/single_account_page.dart'; import 'package:qinglong_app/base/theme.dart'; -import 'package:qinglong_app/module/config/config_viewmodel.dart'; import 'package:qinglong_app/utils/extension.dart'; class ScriptEditPage extends ConsumerStatefulWidget { @@ -19,22 +21,40 @@ class ScriptEditPage extends ConsumerStatefulWidget { } class _ScriptEditPageState extends ConsumerState { - late TextEditingController _controller; - FocusNode node = FocusNode(); + CodeController? _codeController; + late String result; + FocusNode focusNode = FocusNode(); + + @override + void dispose() { + _codeController?.dispose(); + super.dispose(); + } @override void initState() { - _controller = TextEditingController(text: widget.content); + result = widget.content; + super.initState(); - WidgetsBinding.instance?.addPostFrameCallback( - (timeStamp) { - node.requestFocus(); - }, - ); + + WidgetsBinding.instance?.addPostFrameCallback((timeStamp) { + focusNode.requestFocus(); + }); } @override Widget build(BuildContext context) { + _codeController ??= CodeController( + text: widget.content, + language: javascript, + onChange: (value) { + result = value; + }, + theme: ref.watch(themeProvider).themeColor.codeEditorTheme(), + stringMap: { + "export": const TextStyle(fontWeight: FontWeight.normal, color: Color(0xff6B2375)), + }, + ); return Scaffold( appBar: QlAppBar( canBack: true, @@ -45,7 +65,7 @@ class _ScriptEditPageState extends ConsumerState { actions: [ InkWell( onTap: () async { - HttpResponse response = await Api.updateScript(widget.title, widget.path, _controller.text); + HttpResponse response = await Api.updateScript(widget.title, widget.path, result); if (response.success) { "提交成功".toast(); Navigator.of(context).pop(true); @@ -70,22 +90,12 @@ class _ScriptEditPageState extends ConsumerState { ) ], ), - body: Container( - padding: const EdgeInsets.only( - left: 15, - right: 15, - ), - child: SingleChildScrollView( - child: TextField( - focusNode: node, - style: TextStyle( - color: ref.read(themeProvider).themeColor.descColor(), - fontSize: 14, - ), - controller: _controller, - minLines: 1, - maxLines: 100, - ), + body: SafeArea( + top: false, + child: CodeField( + controller: _codeController!, + expands: true, + background: ref.watch(themeProvider).themeColor.settingBgColor(), ), ), ); diff --git a/pubspec.lock b/pubspec.lock index 047cae0..afe9a8f 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,245 +5,252 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "22.0.0" analyzer: dependency: transitive description: name: analyzer - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.7.2" archive: dependency: transitive description: name: archive - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "3.3.0" args: dependency: transitive description: name: args - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.3.0" + version: "2.3.1" async: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.8.2" back_button_interceptor: dependency: "direct main" description: name: back_button_interceptor - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "5.0.2" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.0" build: dependency: transitive description: name: build - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.3.0" build_config: dependency: transitive description: name: build_config - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.0" build_daemon: dependency: transitive description: name: build_daemon - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "3.1.0" build_resolvers: dependency: transitive description: name: build_resolvers - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.4" build_runner: dependency: "direct dev" description: name: build_runner - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.10" + version: "2.1.11" build_runner_core: dependency: transitive description: name: build_runner_core - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "7.2.3" built_collection: dependency: transitive description: name: built_collection - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "5.1.1" built_value: dependency: transitive description: name: built_value - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "8.2.0" + version: "8.3.2" change_app_package_name: dependency: "direct dev" description: name: change_app_package_name - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.0" characters: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.2.0" charcode: dependency: transitive description: name: charcode - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.3.1" checked_yaml: dependency: transitive description: name: checked_yaml - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.1" cli_util: dependency: transitive description: name: cli_util - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.3.5" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.0" code_builder: dependency: transitive description: name: code_builder - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "4.1.0" + code_text_field: + dependency: "direct main" + description: + name: code_text_field + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.0.2" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.15.0" convert: dependency: transitive description: name: convert - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "3.0.1" crypto: dependency: transitive description: name: crypto - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "3.0.1" + version: "3.0.2" cupertino_icons: dependency: "direct main" description: name: cupertino_icons - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.4" dart_style: dependency: transitive description: name: dart_style - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.1" dio: dependency: "direct main" description: name: dio - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "4.0.6" dio_log: dependency: "direct main" description: name: dio_log - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.2" drag_and_drop_lists: dependency: "direct main" description: name: drag_and_drop_lists - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.3.2+2" fake_async: dependency: transitive description: name: fake_async - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.2.0" ffi: dependency: transitive description: name: ffi - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.2" + version: "1.2.1" file: dependency: transitive description: name: file - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "6.1.2" fixnum: dependency: transitive description: name: fixnum - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.0" + version: "1.0.1" flip_card: dependency: "direct main" description: name: flip_card - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.6.0" flutter: @@ -255,28 +262,35 @@ packages: dependency: "direct dev" description: name: flutter_app_name - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.1.1" flutter_colorpicker: dependency: "direct main" description: name: flutter_colorpicker - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.3" + flutter_highlight: + dependency: transitive + description: + name: flutter_highlight + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.7.0" flutter_launcher_icons: dependency: "direct dev" description: name: flutter_launcher_icons - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.9.2" flutter_lints: dependency: "direct dev" description: name: flutter_lints - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.4" flutter_localizations: @@ -288,28 +302,28 @@ packages: dependency: "direct dev" description: name: flutter_native_splash - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.6" flutter_riverpod: dependency: "direct main" description: name: flutter_riverpod - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.3" flutter_slidable: dependency: "direct main" description: name: flutter_slidable - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "1.2.0" + version: "1.3.0" flutter_speed_dial: dependency: transitive description: name: flutter_speed_dial - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "3.0.5" flutter_test: @@ -326,420 +340,427 @@ packages: dependency: "direct main" description: name: fluttertoast - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "8.0.9" frontend_server_client: dependency: transitive description: name: frontend_server_client - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.2" + version: "2.1.3" get_it: dependency: "direct main" description: name: get_it - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "7.2.0" glob: dependency: transitive description: name: glob - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.2" google_fonts: dependency: transitive description: name: google_fonts - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.3.1" + version: "2.3.3" graphs: dependency: transitive description: name: graphs - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.0" highlight: dependency: "direct main" description: name: highlight - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.7.0" http: dependency: transitive description: name: http - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.13.4" http_multi_server: dependency: transitive description: name: http_multi_server - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "3.2.0" http_parser: dependency: transitive description: name: http_parser - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "4.0.0" + version: "4.0.1" image: dependency: transitive description: name: image - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "3.1.3" intl: dependency: "direct main" description: name: intl - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.17.0" io: dependency: transitive description: name: io - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.3" js: dependency: transitive description: name: js - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.6.3" json_annotation: dependency: transitive description: name: json_annotation - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "4.4.0" + version: "4.5.0" json_conversion: dependency: "direct dev" description: name: json_conversion - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.0.4" json_conversion_annotation: dependency: "direct main" description: name: json_conversion_annotation - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.0.4" + linked_scroll_controller: + dependency: transitive + description: + name: linked_scroll_controller + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.2.0" lint: dependency: transitive description: name: lint - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.8.2" lints: dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.1" logger: dependency: "direct main" description: name: logger - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.0" logging: dependency: transitive description: name: logging - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.2" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.12.11" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.1.3" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.7.0" mime: dependency: transitive description: name: mime - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.1" + version: "1.0.2" move_to_background: dependency: "direct main" description: name: move_to_background - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.2" package_config: dependency: transitive description: name: package_config - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.2" package_info_plus: dependency: "direct main" description: name: package_info_plus - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.4.2" package_info_plus_linux: dependency: transitive description: name: package_info_plus_linux - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.5" package_info_plus_macos: dependency: transitive description: name: package_info_plus_macos - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.3.0" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.2" package_info_plus_web: dependency: transitive description: name: package_info_plus_web - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.5" package_info_plus_windows: dependency: transitive description: name: package_info_plus_windows - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.5" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.8.0" path_provider: dependency: transitive description: name: path_provider - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.9" + version: "2.0.10" path_provider_android: dependency: transitive description: name: path_provider_android - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.12" + version: "2.0.14" path_provider_ios: dependency: transitive description: name: path_provider_ios - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.8" + version: "2.0.9" path_provider_linux: dependency: transitive description: name: path_provider_linux - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.5" + version: "2.1.6" path_provider_macos: dependency: transitive description: name: path_provider_macos - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.5" + version: "2.0.6" path_provider_platform_interface: dependency: transitive description: name: path_provider_platform_interface - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.3" + version: "2.0.4" path_provider_windows: dependency: transitive description: name: path_provider_windows - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.5" + version: "2.0.6" pedantic: dependency: transitive description: name: pedantic - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.11.1" petitparser: dependency: transitive description: name: petitparser - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "4.4.0" platform: dependency: transitive description: name: platform - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "3.1.0" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.2" pool: dependency: transitive description: name: pool - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.5.0" process: dependency: transitive description: name: process - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "4.2.4" pub_semver: dependency: transitive description: name: pub_semver - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.1" pubspec_parse: dependency: transitive description: name: pubspec_parse - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.2.0" riverpod: dependency: transitive description: name: riverpod - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.3" shared_preferences: dependency: "direct main" description: name: shared_preferences - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.13" + version: "2.0.15" shared_preferences_android: dependency: transitive description: name: shared_preferences_android - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.11" + version: "2.0.12" shared_preferences_ios: dependency: transitive description: name: shared_preferences_ios - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.0" + version: "2.1.1" shared_preferences_linux: dependency: transitive description: name: shared_preferences_linux - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.0" + version: "2.1.1" shared_preferences_macos: dependency: transitive description: name: shared_preferences_macos - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.3" + version: "2.0.4" shared_preferences_platform_interface: dependency: transitive description: name: shared_preferences_platform_interface - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.0" shared_preferences_web: dependency: transitive description: name: shared_preferences_web - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.3" + version: "2.0.4" shared_preferences_windows: dependency: transitive description: name: shared_preferences_windows - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.0" + version: "2.1.1" shelf: dependency: transitive description: name: shelf - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.3.0" shelf_web_socket: dependency: transitive description: name: shelf_web_socket - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.1" sky_engine: @@ -751,205 +772,205 @@ packages: dependency: transitive description: name: source_gen - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.3" source_span: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.8.1" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.10.0" state_notifier: dependency: transitive description: name: state_notifier - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.7.2+1" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.0" stream_transform: dependency: transitive description: name: stream_transform - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.0" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.0" synchronized: dependency: "direct main" description: name: synchronized - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "3.0.0+2" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.2.0" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.4.8" timing: dependency: transitive description: name: timing - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.0" typed_data: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.3.0" universal_io: dependency: transitive description: name: universal_io - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.4" url_launcher: dependency: "direct main" description: name: url_launcher - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "6.1.0" + version: "6.1.2" url_launcher_android: dependency: transitive description: name: url_launcher_android - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "6.0.15" + version: "6.0.17" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "6.0.15" + version: "6.0.17" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "3.0.0" + version: "3.0.1" url_launcher_macos: dependency: transitive description: name: url_launcher_macos - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "3.0.0" + version: "3.0.1" url_launcher_platform_interface: dependency: transitive description: name: url_launcher_platform_interface - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.5" url_launcher_web: dependency: transitive description: name: url_launcher_web - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.9" + version: "2.0.11" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "3.0.0" + version: "3.0.1" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.1" watcher: dependency: transitive description: name: watcher - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.1" web_socket_channel: dependency: transitive description: name: web_socket_channel - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.0" + version: "2.2.0" widget_with_codeview: dependency: "direct main" description: name: widget_with_codeview - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.1+2" win32: dependency: transitive description: name: win32 - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.5.1" + version: "2.5.2" xdg_directories: dependency: transitive description: name: xdg_directories - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "0.2.0+1" xml: dependency: transitive description: name: xml - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted version: "5.3.1" yaml: dependency: transitive description: name: yaml - url: "https://pub.dartlang.org" + url: "https://pub.flutter-io.cn" source: hosted - version: "3.1.0" + version: "3.1.1" sdks: dart: ">=2.16.0 <3.0.0" flutter: ">=2.10.1" diff --git a/pubspec.yaml b/pubspec.yaml index 2e2bf4f..7a05c2e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,6 +34,7 @@ dependencies: url_launcher: ^6.0.20 flutter_colorpicker: ^1.0.3 widget_with_codeview: ^2.0.1+2 + code_text_field: ^1.0.2 # flutter pub run build_runner build --delete-conflicting-outputs # flutter pub run change_app_package_name:main work.master.qinglongapp