From c0b187f3b9e72310f6a75bcce987ca763fe4f186 Mon Sep 17 00:00:00 2001 From: yuluo Date: Tue, 19 Oct 2021 16:02:42 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=BC=95=E5=85=A5=E5=AD=97=E4=BD=93?= =?UTF-8?q?=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- douban_app/ios/Flutter/AppFrameworkInfo.plist | 2 +- .../ios/Runner.xcodeproj/project.pbxproj | 9 ++--- .../contents.xcworkspacedata | 2 +- douban_app/lib/assets/fonts/iconfont.ttf | Bin 0 -> 3052 bytes douban_app/lib/utils/my_icon.dart | 28 +++++++++++++++ douban_app/lib/views/book/index.dart | 3 +- .../lib/views/book/tab_pages/read/index.dart | 33 ++++++++++++++++++ douban_app/pubspec.yaml | 6 +++- 8 files changed, 73 insertions(+), 10 deletions(-) create mode 100644 douban_app/lib/assets/fonts/iconfont.ttf create mode 100644 douban_app/lib/utils/my_icon.dart create mode 100644 douban_app/lib/views/book/tab_pages/read/index.dart diff --git a/douban_app/ios/Flutter/AppFrameworkInfo.plist b/douban_app/ios/Flutter/AppFrameworkInfo.plist index 6b4c0f7..f2872cf 100644 --- a/douban_app/ios/Flutter/AppFrameworkInfo.plist +++ b/douban_app/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 8.0 + 9.0 diff --git a/douban_app/ios/Runner.xcodeproj/project.pbxproj b/douban_app/ios/Runner.xcodeproj/project.pbxproj index c3d5746..6a32840 100644 --- a/douban_app/ios/Runner.xcodeproj/project.pbxproj +++ b/douban_app/ios/Runner.xcodeproj/project.pbxproj @@ -241,7 +241,6 @@ /* Begin XCBuildConfiguration section */ 249021D3217E4FDB00AE95B9 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -281,7 +280,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -318,7 +317,6 @@ }; 97C147031CF9000F007C117D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -364,7 +362,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -374,7 +372,6 @@ }; 97C147041CF9000F007C117D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; @@ -414,7 +411,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/douban_app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/douban_app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 1d526a1..919434a 100644 --- a/douban_app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/douban_app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:"> diff --git a/douban_app/lib/assets/fonts/iconfont.ttf b/douban_app/lib/assets/fonts/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..02a99378a8f618e352f8374634d6beac4c57907c GIT binary patch literal 3052 zcmd^BZERat8Gg^XUyiTi_~Y8n*IeIR+gVoENo~j8*3?OpE{@39SGsQPIxUXlI7uDb zb)3?)6av+{j-fT1CiaW15&OZkO`E0(1RA4IA&TG!9}*K zX;vZrbFa@i&-=X3d%n-{1p)vvECB~Ssj&wKeNP2W0+8F0J#g<>ccgFM=rOdvj`nzF zE?s(e?+bqcplFgebNR)o!|(a`18^4sgz4#QdeWPEB8<*!nBt6(u5xD)zm3U1Jy$uQ zAi&taVW#AZnKXTe`##3Mg|=lbeWFBm!iVT@M%!0N&t+}j>U#sA;Z|%jS1Qg|mM*Ql zf*oE)|6#zsb4wdbaD+z_0CP5)t&gBH$gVv7qwhS{)b|m{b?xt;Q=ezTdbx3)2d;vq zNgo<>u$lx|g?47>tQpLRHgvo0H$x93f$kr^`v6$;=}G}wSts;|#c#zVKa)#i{q;zK zKISFJ5D*QP=YcF^t3aQmzd-JMy(E8y2*F4S0*CBPp8KZmnuLq1q3bL9d;oU^mQZ%% zY*5zV_JkC+hpP_|s=GV?(Uudi(2jBLfIU=KlE z{be2JFc#|~Y^4A1k42w=0b?3)K~{0*Sz^0v^+G+d68l6aS2zMqumd!R!Vu20+7axv$Kp{n;&#~;(P@tbHMK)T>_#q5G*{GFcOhMulI@yb z)-Fm74H6l^9LrBFGJfq^4|5sReV-tdk_$$N?yZ&d@Vb(I_ZsnS)mCj=yf}W`9UH&q zE^#WffC_tXB#%N?A5ECV6G;*ac7{okc+|MZOB7KO18O|hsk#*$FM49}1RJrJh?12k zZq!&wKn=zcs`x)BxYO%bL|Nbj#pO~2%F80>H;Jw7?X6-J=m(lswKa3L^(!W^t-ZZX zXyE*!8P!fy^Bga)U!@93IA(F+yJ44}J4&Guh5h6DC4fHh&UH*st z!2`83f^Lc?xsiA53Wpqm#UgbD9}H-Rs1<$t_Ou9+1%09Jkb`g3eL?>rc2{kj=l+g2 znF$)efwqdLw+~P4-7t_%fVP76}|^QfS%b+aUgA=$ zL_!=(5?o;`@|&tym~a@D(6BxY>qX2dVlW$ z^t>cn8mM3vO&0DU3mb#|b0*w9vMi5Ql_b5a_}iP-FMAj0OU}mXXqcXBbgWnDZ(9SJ zU9O(BYxL(@<*?bN`CHci5NJ!Z`89_*Av^pY&!Z=H?D*P#YdB0DS{J^xwWq(CqoafK zPn3s-%KLXeG90Xp_Rk)>-yM4Fj@ZHI=ToPaPo-GrQ{*4Xqo-&4`)5xdO;-Pyr-u%G zF{N?eFp08N`cPu|Q9LKK!6Hlg#mCP0zqlWB65eo5@IWW*#FGxhuHhc~^oGLQE10+m z=fox6t|RweTC2Tp^LT8;j`@`vtoLrP$Vas?^4dKfTTRgQ|F(G+s>`&5Om&bk^c|b0 z7Ft_llFPc}cAE#UCVU)l^^@DziFWjY;GZ+E^nHf<-u%uex_LP?GE>BQmJeq zTi&c@{&+4@sZ9B%%EdX~FxHpN=Zn5lxj386RKnAhO6kt-Zq^Rt!o zd=h*x0gIT=Kn5?Z0!-<7jWvpoq(Xi3KEcPUi*oOp%MV|91cY literal 0 HcmV?d00001 diff --git a/douban_app/lib/utils/my_icon.dart b/douban_app/lib/utils/my_icon.dart new file mode 100644 index 0000000..6699b5a --- /dev/null +++ b/douban_app/lib/utils/my_icon.dart @@ -0,0 +1,28 @@ +import 'package:flutter/material.dart'; + +class MyIcons { + // 豆瓣猜 + static const IconData doubanCai = const IconData( + 0xe8a1, + fontFamily: 'myIcon', + matchTextDirection: true + ); + // 书单 + static const IconData bookList = const IconData( + 0xe62c, + fontFamily: 'myIcon', + matchTextDirection: true + ); + // 查找书籍 + static const IconData searchBook = const IconData( + 0xe6a0, + fontFamily: 'myIcon', + matchTextDirection: true + ); + // 榜单 + static const IconData rankingList = const IconData( + 0xe6af, + fontFamily: 'myIcon', + matchTextDirection: true + ); +} \ No newline at end of file diff --git a/douban_app/lib/views/book/index.dart b/douban_app/lib/views/book/index.dart index b3f1ae5..16857c5 100644 --- a/douban_app/lib/views/book/index.dart +++ b/douban_app/lib/views/book/index.dart @@ -1,5 +1,6 @@ import 'package:douban_app/components/top_search/index.dart'; import 'package:douban_app/views/book/tab_pages/movie/index.dart'; +import 'package:douban_app/views/book/tab_pages/read/index.dart'; import 'package:douban_app/views/book/tab_pages/tv.dart'; import 'package:flutter/material.dart'; @@ -14,7 +15,7 @@ class _BookState extends State with SingleTickerProviderStateMixin { List tabsViews = [ TabMovie(), TabTV(), - TabMovie(), + tabRead(), TabTV(), TabMovie(), TabTV() diff --git a/douban_app/lib/views/book/tab_pages/read/index.dart b/douban_app/lib/views/book/tab_pages/read/index.dart new file mode 100644 index 0000000..b795353 --- /dev/null +++ b/douban_app/lib/views/book/tab_pages/read/index.dart @@ -0,0 +1,33 @@ +import 'package:douban_app/utils/my_icon.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +Widget tabRead() { + return Container( + color: Colors.white, + child: ListView( + padding: EdgeInsets.symmetric(horizontal: 20, vertical: 30), + children: [ + Container( + margin: EdgeInsets.only(bottom: 20), + child: Row( + children: [ + topCard() + ], + ), + ) + ], + ), + ); +} + +Widget topCard() { + return Container( + child: Column( + children: [ + Icon(MyIcons.rankingList), + Text('找图书') + ], + ), + ); +} \ No newline at end of file diff --git a/douban_app/pubspec.yaml b/douban_app/pubspec.yaml index 37213db..d0ee777 100644 --- a/douban_app/pubspec.yaml +++ b/douban_app/pubspec.yaml @@ -50,9 +50,13 @@ flutter: uses-material-design: true # To add assets to your application, add an assets section, like this: - # assets: +# assets: # - images/a_dot_burr.jpeg # - images/a_dot_ham.jpeg + fonts: + - family: myIcon #指定一个字体名 + fonts: + - asset: lib/assets/fonts/iconfont.ttf # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.dev/assets-and-images/#resolution-aware. -- Gitee From 90bb149c1c18582194e8d32aedd55bb439a45657 Mon Sep 17 00:00:00 2001 From: yuluo Date: Tue, 19 Oct 2021 17:21:17 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=BC=95=E5=85=A5=E5=AD=97=E4=BD=93?= =?UTF-8?q?=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- douban_app/lib/main.dart | 1 + .../lib/views/book/tab_pages/read/index.dart | 52 ++++++++++++++++--- .../views/book/tab_pages/read/top_card.dart | 24 +++++++++ 3 files changed, 69 insertions(+), 8 deletions(-) create mode 100644 douban_app/lib/views/book/tab_pages/read/top_card.dart diff --git a/douban_app/lib/main.dart b/douban_app/lib/main.dart index b4feb58..761762f 100644 --- a/douban_app/lib/main.dart +++ b/douban_app/lib/main.dart @@ -41,6 +41,7 @@ class _MyStackPageState extends State { return Scaffold( bottomNavigationBar: BottomNavigationBar( + backgroundColor: Colors.white, currentIndex: _currentIndex, selectedItemColor: Colors.green, selectedFontSize: 14, diff --git a/douban_app/lib/views/book/tab_pages/read/index.dart b/douban_app/lib/views/book/tab_pages/read/index.dart index b795353..94e3b99 100644 --- a/douban_app/lib/views/book/tab_pages/read/index.dart +++ b/douban_app/lib/views/book/tab_pages/read/index.dart @@ -1,8 +1,11 @@ import 'package:douban_app/utils/my_icon.dart'; +import 'package:douban_app/views/book/tab_pages/read/top_card.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; Widget tabRead() { + int _currentTabIndex = 0; + List bookTypeList = ['全部', '文学', '小说', '历史文化']; return Container( color: Colors.white, child: ListView( @@ -11,23 +14,56 @@ Widget tabRead() { Container( margin: EdgeInsets.only(bottom: 20), child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - topCard() + topCard(MyIcons.searchBook, '找图书'), + topCard(MyIcons.rankingList, '豆瓣榜单'), + topCard(MyIcons.doubanCai, '豆瓣猜'), + topCard(MyIcons.bookList, '豆瓣书单'), ], ), + ), + Container( + margin: EdgeInsets.only(top: 10, bottom: 10), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text('新书速递', style: TextStyle(fontSize: 22, fontWeight: FontWeight.bold),), + Row( + children: [ + Text('全部 ', style: TextStyle(fontSize: 14, fontWeight: FontWeight.bold),), + Text('200', style: TextStyle(fontSize: 14, fontWeight: FontWeight.bold)), + Icon(Icons.chevron_right) + ], + ) + ], + ), + ), + Container( + height: 50, + width: 375, + child: ListView( + scrollDirection: Axis.horizontal, + children: bookTypeList.map((e) => bookTypeBtn(e)).toList() + ), ) ], ), ); } -Widget topCard() { - return Container( - child: Column( - children: [ - Icon(MyIcons.rankingList), - Text('找图书') - ], +Widget bookTypeBtn(String text) { + return TextButton( + onPressed: () { + print(text); + }, + child: Container( + padding: EdgeInsets.symmetric(vertical: 4, horizontal: 10), + decoration: BoxDecoration( + color: Color.fromARGB(255, 247, 247, 247), + borderRadius: BorderRadius.circular(8) + ), + child: Text(text, style: TextStyle(color: Color.fromARGB(255, 129, 129, 129)),), ), ); } \ No newline at end of file diff --git a/douban_app/lib/views/book/tab_pages/read/top_card.dart b/douban_app/lib/views/book/tab_pages/read/top_card.dart new file mode 100644 index 0000000..3304665 --- /dev/null +++ b/douban_app/lib/views/book/tab_pages/read/top_card.dart @@ -0,0 +1,24 @@ +import 'package:flutter/material.dart'; + +Widget topCard(IconData icon, String text) { + return Container( + width: 80, + padding: EdgeInsets.symmetric(vertical: 5), + decoration: BoxDecoration( + color: Colors.white, + border: Border.all(width: 1, color: Color.fromARGB(255, 223, 223, 223)), + borderRadius: BorderRadius.circular(10), + boxShadow: [BoxShadow( + color: Color.fromARGB(255, 244, 244, 244), + blurRadius: 5 + )] + ), + child: Column( + children: [ + Icon(icon, color: Color.fromARGB(255, 73, 73, 73),), + SizedBox(height: 5,), + Text(text, style: TextStyle(color: Color.fromARGB(255, 129, 129, 129),fontSize: 12),) + ], + ), + ); +} \ No newline at end of file -- Gitee From 8d4fdaf25e65ceed3482b0ea34ae545c943751e5 Mon Sep 17 00:00:00 2001 From: yuluo Date: Wed, 20 Oct 2021 11:04:38 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=BC=95=E5=85=A5=E5=AD=97=E4=BD=93?= =?UTF-8?q?=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- douban_app/lib/views/book/index.dart | 2 +- .../lib/views/book/tab_pages/read/index.dart | 140 ++++++++++-------- .../views/book/tab_pages/read/top_card.dart | 2 +- 3 files changed, 83 insertions(+), 61 deletions(-) diff --git a/douban_app/lib/views/book/index.dart b/douban_app/lib/views/book/index.dart index 16857c5..a6df25c 100644 --- a/douban_app/lib/views/book/index.dart +++ b/douban_app/lib/views/book/index.dart @@ -15,7 +15,7 @@ class _BookState extends State with SingleTickerProviderStateMixin { List tabsViews = [ TabMovie(), TabTV(), - tabRead(), + TabRead(), TabTV(), TabMovie(), TabTV() diff --git a/douban_app/lib/views/book/tab_pages/read/index.dart b/douban_app/lib/views/book/tab_pages/read/index.dart index 94e3b99..614b7da 100644 --- a/douban_app/lib/views/book/tab_pages/read/index.dart +++ b/douban_app/lib/views/book/tab_pages/read/index.dart @@ -3,67 +3,89 @@ import 'package:douban_app/views/book/tab_pages/read/top_card.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -Widget tabRead() { - int _currentTabIndex = 0; - List bookTypeList = ['全部', '文学', '小说', '历史文化']; - return Container( - color: Colors.white, - child: ListView( - padding: EdgeInsets.symmetric(horizontal: 20, vertical: 30), - children: [ - Container( - margin: EdgeInsets.only(bottom: 20), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - topCard(MyIcons.searchBook, '找图书'), - topCard(MyIcons.rankingList, '豆瓣榜单'), - topCard(MyIcons.doubanCai, '豆瓣猜'), - topCard(MyIcons.bookList, '豆瓣书单'), - ], +class TabRead extends StatefulWidget { + @override + _TabReadState createState() => _TabReadState(); +} + +class _TabReadState extends State { + + String currentTabItem = '全部'; + List bookTypeList = ['全部', '文学', '小说', '历史文化', '社会纪实', '科学新知', '游戏']; + + @override + Widget build(BuildContext context) { + return Container( + color: Colors.white, + child: ListView( + padding: EdgeInsets.symmetric(horizontal: 20, vertical: 30), + children: [ + Container( + margin: EdgeInsets.only(bottom: 20), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + topCard(MyIcons.searchBook, '找图书'), + topCard(MyIcons.rankingList, '豆瓣榜单'), + topCard(MyIcons.doubanCai, '豆瓣猜'), + topCard(MyIcons.bookList, '豆瓣书单'), + ], + ), ), - ), - Container( - margin: EdgeInsets.only(top: 10, bottom: 10), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text('新书速递', style: TextStyle(fontSize: 22, fontWeight: FontWeight.bold),), - Row( - children: [ - Text('全部 ', style: TextStyle(fontSize: 14, fontWeight: FontWeight.bold),), - Text('200', style: TextStyle(fontSize: 14, fontWeight: FontWeight.bold)), - Icon(Icons.chevron_right) - ], - ) - ], + Container( + margin: EdgeInsets.only(top: 10, bottom: 10), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text('新书速递', style: TextStyle(fontSize: 22, fontWeight: FontWeight.bold),), + Row( + children: [ + Text('全部 ', style: TextStyle(fontSize: 14, fontWeight: FontWeight.bold),), + Text('200', style: TextStyle(fontSize: 14, fontWeight: FontWeight.bold)), + Icon(Icons.chevron_right) + ], + ) + ], + ), ), - ), - Container( - height: 50, - width: 375, - child: ListView( - scrollDirection: Axis.horizontal, - children: bookTypeList.map((e) => bookTypeBtn(e)).toList() + Container( + height: 50, + width: 375, + child: ListView( + scrollDirection: Axis.horizontal, + children: bookTypeList.map((text) => bookTypeBtn(text)).toList() + ), ), - ) - ], - ), - ); -} + Padding( + padding: EdgeInsets.symmetric(vertical: 10), + child: Text('豆瓣榜单', style: TextStyle(fontSize: 22, fontWeight: FontWeight.bold),), + ) + ], + ), + ); + } -Widget bookTypeBtn(String text) { - return TextButton( - onPressed: () { - print(text); - }, - child: Container( - padding: EdgeInsets.symmetric(vertical: 4, horizontal: 10), - decoration: BoxDecoration( - color: Color.fromARGB(255, 247, 247, 247), - borderRadius: BorderRadius.circular(8) + // 新书速递分类按钮 + Widget bookTypeBtn(String text) { + Color defaultBackgroundColor = Color.fromARGB(255, 247, 247, 247); + Color defaultFontColor = Color.fromARGB(255, 129, 129, 129); + Color highlightBackgroundColor = Color(0xFFE6F8EA); + Color highlightFontColor = Color(0xFF139A34); + return TextButton( + onPressed: () { + setState(() { + currentTabItem = text; + }); + }, + child: Container( + padding: EdgeInsets.symmetric(vertical: 4, horizontal: 10), + decoration: BoxDecoration( + color: currentTabItem == text ? highlightBackgroundColor : defaultBackgroundColor, + borderRadius: BorderRadius.circular(8) + ), + child: Text(text, style: TextStyle(color: currentTabItem == text ? highlightFontColor : defaultFontColor)), ), - child: Text(text, style: TextStyle(color: Color.fromARGB(255, 129, 129, 129)),), - ), - ); -} \ No newline at end of file + ); + } +} + diff --git a/douban_app/lib/views/book/tab_pages/read/top_card.dart b/douban_app/lib/views/book/tab_pages/read/top_card.dart index 3304665..a39091d 100644 --- a/douban_app/lib/views/book/tab_pages/read/top_card.dart +++ b/douban_app/lib/views/book/tab_pages/read/top_card.dart @@ -6,7 +6,7 @@ Widget topCard(IconData icon, String text) { padding: EdgeInsets.symmetric(vertical: 5), decoration: BoxDecoration( color: Colors.white, - border: Border.all(width: 1, color: Color.fromARGB(255, 223, 223, 223)), + border: Border.all(width: 1, color: Color.fromARGB(255, 233, 233, 233)), borderRadius: BorderRadius.circular(10), boxShadow: [BoxShadow( color: Color.fromARGB(255, 244, 244, 244), -- Gitee