{"id":15479481,"url":"https://github.com/sky24n/fitness","last_synced_at":"2025-04-22T15:12:57.130Z","repository":{"id":201427718,"uuid":"215494403","full_name":"Sky24n/Fitness","owner":"Sky24n","description":" Flutter 仿微博客户端！A Weibo client application developed with Flutter, which supports both Android and iOS.","archived":false,"fork":false,"pushed_at":"2020-08-11T09:29:16.000Z","size":9683,"stargazers_count":92,"open_issues_count":2,"forks_count":8,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-22T15:12:40.504Z","etag":null,"topics":["fitness","flutter-weibo","wechat","weibo"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sky24n.png","metadata":{"files":{"readme":"README-EN.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-10-16T08:16:39.000Z","updated_at":"2024-11-06T09:19:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"d443ee8b-f1c4-460a-b0d9-0d02f1af9a72","html_url":"https://github.com/Sky24n/Fitness","commit_stats":null,"previous_names":["sky24n/fitness"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sky24n%2FFitness","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sky24n%2FFitness/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sky24n%2FFitness/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sky24n%2FFitness/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sky24n","download_url":"https://codeload.github.com/Sky24n/Fitness/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250264911,"owners_count":21402004,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fitness","flutter-weibo","wechat","weibo"],"created_at":"2024-10-02T04:21:34.980Z","updated_at":"2025-04-22T15:12:57.106Z","avatar_url":"https://github.com/Sky24n.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"Language: English | [中文简体](https://github.com/Sky24n/Fitness)\n\n## Fitness (Person Repos)\nA Weibo client application developed with Flutter, which supports both Android and iOS.Similar to the official Weibo x9.99% experience, offline mode, multi-language support, themes can be changed at will, the fluency is beyond imagination, all kinds of surprise details are waiting for you to discover.\n\n### Supported Features：\nView Weibo News, Content, Comments  \nView Hot Topics, Weibo, Hot Search  \nSupport Topics, @, Emoticons, Full Text  \nOffline mode  \nInternational  \nTheme Color\n\n### Share Content\n\n#### 1、[NineGridView](https://github.com/flutterchina/nine_grid_view)\nSimilar to Weibo news, WeChat circle of friends, WeChat group, DingDing group, support single big picture preview.\n```yaml\nNineGridView(\n  margin: EdgeInsets.all(12),\n  padding: EdgeInsets.all(5),\n  space: 5,\n  type: NineGridType.weChatGp,\n  itemCount: itemCount,\n  itemBuilder: (BuildContext context, int index) {},\n);\n```\n\n#### 2、[DragSortView](https://github.com/flutterchina/nine_grid_view)\nSimilar to the Weibo / WeChat publish dynamic NineGridView, it supports pressing the zoom effect, dragging and sorting, and dragging to the specified location to delete.\n```yaml\nDragSortView(\n  imageList,\n  space: 5,\n  margin: EdgeInsets.all(20),\n  padding: EdgeInsets.all(0),\n  itemBuilder: (BuildContext context, int index) {},\n  initBuilder: (BuildContext context) {},\n  onDragListener: (MotionEvent event, double itemWidth) {\n    /// Judge to drag to the specified position to delete\n    /// return true;\n    if (event.globalY \u003e 600) {\n      return true;\n    }\n    return false;\n  },\n);   \n```\n\n#### 3、Get image size [ImageUtil](https://github.com/Sky24n/flustars)\nLarge picture function tool class.\n```yaml\nImage image = new Image(image: new CachedNetworkImageProvider(\"Url\"));\nImage imageAsset = new Image.asset(\"\");\nImage imageFile = new Image.file(File(\"path\"));\nImage imageNetwork = new Image.network(\"url\");\nImage imageMemory = new Image.memory(null);\n\nImageUtil imageUtil = ImageUtil();\nRect rect = await imageUtil.getImageSize(image: image);  \nImageUtil().getImageSize(image: image).then((Rect rect) {\n  print(\"rect: \" + rect.toString();\n});\n\n```\n\n#### 4、Simple encryption and decryption [EncryptUtil](https://github.com/Sky24n/common_utils)\nXOR + Base64\n```yaml\nconst String key = '11, 22, 33, 44, 55, 66';\nString value = 'Sky24n';\nString encode = EncryptUtil.xorBase64Encode(value, key); // WH1YHgMs\nString decode = EncryptUtil.xorBase64Decode(encode, key); // Sky24n\n```\n#### 5、JsonUtil [JsonUtil](https://github.com/Sky24n/common_utils)\nSimply encapsulate json string to object.\n```yaml\nString objStr = \"{\\\"name\\\":\\\"成都市\\\"}\";\nCity hisCity = JsonUtil.getObj(objStr, (v) =\u003e City.fromJson(v));\n\nString listStr = \"[{\\\"name\\\":\\\"成都市\\\"}, {\\\"name\\\":\\\"北京市\\\"}]\";\nList\u003cCity\u003e cityList = JsonUtil.getObjList(listStr, (v) =\u003e City.fromJson(v));\n```\n\n#### 6、Date format [DateUtil](https://github.com/Sky24n/common_utils)\nFormat timestamp.\n```yaml\n/// year -\u003e yyyy/yy   month -\u003e MM/M    day -\u003e dd/d\n/// hour -\u003e HH/H      minute -\u003e mm/m   second -\u003e ss/s\n\nDateUtil.formatDateMs(DateTime.now().millisecondsSinceEpoch, format: DataFormats.full); // 2019-07-09 16:51:14\nDateUtil.formatDateStr(\"2019-07-09 16:51:14\", format: \"yyyy/M/d HH:mm:ss\"); // 2019/7/9 16:51:14\nDateUtil.formatDate(DateTime.now(), format: \"yyyy/MM/dd HH:mm:ss\");  // 2019/07/09 16:51:14\nDateUtil.formatDateMs(ms, format: \"yyyy年MM月dd日 HH时mm分ss秒\");  // 2019年07月09日 16时51分14秒\n```\n#### 7、Timeline [TimelineUtil](https://github.com/Sky24n/common_utils)\nSimilar to WeChat Moments, Weibo dynamic timeline.\n```yaml\nenum DayFormat {\n  ///(less than 10s-\u003ejust now)、x minutes、x hours、(Yesterday)、x days.\n  ///(小于10s-\u003e刚刚)、x分钟、x小时、(昨天)、x天.\n  Simple,\n\n  ///(less than 10s-\u003ejust now)、x minutes、x hours、[This year:(Yesterday/a day ago)、(two days age)、MM-dd ]、[past years: yyyy-MM-dd]\n  ///(小于10s-\u003e刚刚)、x分钟、x小时、[今年: (昨天/1天前)、(2天前)、MM-dd],[往年: yyyy-MM-dd].\n  Common,\n\n  ///日期 + HH:mm\n  ///(less than 10s-\u003ejust now)、x minutes、x hours、[This year:(Yesterday HH:mm/a day ago)、(two days age)、MM-dd HH:mm]、[past years: yyyy-MM-dd HH:mm]\n  ///小于10s-\u003e刚刚)、x分钟、x小时、[今年: (昨天 HH:mm/1天前)、(2天前)、MM-dd HH:mm],[往年: yyyy-MM-dd HH:mm].\n  Full,\n}\n\nTimelineUtil.format(timeMillis, locale: Localizations.localeOf(context).languageCode, dayFormat: DayFormat.Common);\n```\n\n### Screenshots\n\n|Home|Discover|Me|\n|:---:|:---:|:---:|\n|\u003cimg src=\"https://s1.ax1x.com/2020/08/05/ar01fA.jpg\" width=\"220\" height=\"465\"/\u003e|\u003cimg src=\"https://s1.ax1x.com/2020/08/05/ar0Zy6.jpg\" width=\"220\" height=\"465\"/\u003e|\u003cimg src=\"https://s1.ax1x.com/2020/08/05/ar0neO.png\" width=\"220\" height=\"465\"/\u003e|\n|Weibo publish|Weibo content|User Page|\n|\u003cimg src=\"https://s1.ax1x.com/2020/08/05/ar0rpn.gif\" width=\"220\" height=\"391\"/\u003e|\u003cimg src=\"https://s1.ax1x.com/2020/08/05/ar0fk4.gif\" width=\"220\" height=\"391\"/\u003e|\u003cimg src=\"https://s1.ax1x.com/2020/08/05/ar07X6.gif\" width=\"220\" height=\"391\"/\u003e|\n|Auth|Setting|Photo|\n|\u003cimg src=\"https://s1.ax1x.com/2020/08/05/arBiB8.jpg\" width=\"220\" height=\"465\"/\u003e|\u003cimg src=\"https://s1.ax1x.com/2020/08/05/arB8N4.png\" width=\"220\" height=\"465\"/\u003e|\u003cimg src=\"https://s1.ax1x.com/2020/08/05/arBQBT.jpg\" width=\"220\" height=\"465\"/\u003e|\n|\u003cimg src=\"https://s1.ax1x.com/2020/08/05/ar88bR.jpg\" width=\"260\" height=\"513\"/\u003e|\u003cimg src=\"https://s1.ax1x.com/2020/08/05/arG6OJ.jpg\" width=\"260\" height=\"513\"/\u003e|\u003cimg src=\"https://s1.ax1x.com/2020/08/05/artZyF.jpg\" width=\"260\" height=\"513\"/\u003e|\n|\u003cimg src=\"https://s1.ax1x.com/2020/08/05/artlJx.jpg\" width=\"260\" height=\"513\"/\u003e|\u003cimg src=\"https://s1.ax1x.com/2020/08/05/artJyD.jpg\" width=\"260\" height=\"513\"/\u003e|\u003cimg src=\"https://s1.ax1x.com/2020/08/05/art2wj.jpg\" width=\"260\" height=\"513\"/\u003e|\n|\u003cimg src=\"https://s1.ax1x.com/2020/08/05/art4f0.jpg\" width=\"260\" height=\"513\"/\u003e|\u003cimg src=\"https://s1.ax1x.com/2020/08/05/artIpV.jpg\" width=\"260\" height=\"513\"/\u003e|\u003cimg src=\"https://s1.ax1x.com/2020/08/05/artIpV.jpg\" width=\"260\" height=\"513\"/\u003e|\n\n### About App\nGitHub \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;： [Fitness](https://github.com/Sky24n/Fitness)  \nApk \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;：[v0.0.1](https://github.com/Sky24n/Doc/blob/master/apks/fitness.apk) (arm64-v8a)  \nBaidu Pan ：[code ttbn](https://pan.baidu.com/s/1HgBaR68oJYe7nnOTJlSg0Q)  \nOthers \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;：[v0.0.1](https://github.com/Sky24n/Doc)\n\n### About Author\nGitHub\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;: [Sky24n](https://github.com/Sky24n)  \nJianShu\u0026nbsp;\u0026nbsp;: [Sky24n](https://www.jianshu.com/u/cbf2ad25d33a)  \nJueJin\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;: [Sky24n](https://juejin.im/user/5b9e8a92e51d453df0440422)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsky24n%2Ffitness","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsky24n%2Ffitness","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsky24n%2Ffitness/lists"}