diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json index 04619b7..f004bc5 100644 --- a/.dart_tool/package_config.json +++ b/.dart_tool/package_config.json @@ -63,13 +63,13 @@ }, { "name": "connectivity_for_web", - "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/connectivity_for_web-0.3.1+2", + "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/connectivity_for_web-0.3.1+4", "packageUri": "lib/", "languageVersion": "2.6" }, { "name": "connectivity_macos", - "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/connectivity_macos-0.1.0+5", + "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/connectivity_macos-0.1.0+7", "packageUri": "lib/", "languageVersion": "2.1" }, @@ -93,7 +93,7 @@ }, { "name": "device_info", - "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/device_info-0.4.2+9", + "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/device_info-0.4.2+10", "packageUri": "lib/", "languageVersion": "2.1" }, @@ -141,7 +141,7 @@ }, { "name": "flutter_alibc", - "rootUri": "file:///Users/fnuser/.pub-cache/git/zhiying_flutter_alibc-6e02aaf22b9798f4b01554a9153d2c66591da8c1/", + "rootUri": "file:///Users/fnuser/.pub-cache/git/zhiying_flutter_alibc-ba413f84090cd58b8b769ca43ff3ef65a0e53274/", "packageUri": "lib/", "languageVersion": "2.1" }, @@ -187,6 +187,12 @@ "packageUri": "lib/", "languageVersion": "2.6" }, + { + "name": "flutter_slidable", + "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/flutter_slidable-0.5.7", + "packageUri": "lib/", + "languageVersion": "1.19" + }, { "name": "flutter_swiper", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/flutter_swiper-1.1.6", @@ -199,12 +205,24 @@ "packageUri": "lib/", "languageVersion": "2.2" }, + { + "name": "flutter_update_dialog", + "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/flutter_update_dialog-1.0.0", + "packageUri": "lib/", + "languageVersion": "2.7" + }, { "name": "flutter_web_plugins", "rootUri": "file:///Users/fnuser/Documents/flutter-sdk/packages/flutter_web_plugins", "packageUri": "lib/", "languageVersion": "2.0" }, + { + "name": "flutter_xupdate", + "rootUri": "file:///Users/fnuser/.pub-cache/git/flutter_xupdate-d17c695461ee4588dec990533d7467c11884cd0f/", + "packageUri": "lib/", + "languageVersion": "2.7" + }, { "name": "fluttertoast", "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/fluttertoast-4.0.1", @@ -237,7 +255,7 @@ }, { "name": "image_picker", - "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/image_picker-0.6.7+12", + "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/image_picker-0.6.7+14", "packageUri": "lib/", "languageVersion": "2.1" }, @@ -285,7 +303,7 @@ }, { "name": "package_info", - "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/package_info-0.4.3", + "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/package_info-0.4.3+2", "packageUri": "lib/", "languageVersion": "2.1" }, @@ -297,7 +315,7 @@ }, { "name": "path_provider", - "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/path_provider-1.6.22", + "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/path_provider-1.6.24", "packageUri": "lib/", "languageVersion": "2.1" }, @@ -309,19 +327,19 @@ }, { "name": "path_provider_macos", - "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/path_provider_macos-0.0.4+4", + "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/path_provider_macos-0.0.4+6", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "path_provider_platform_interface", - "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/path_provider_platform_interface-1.0.3", + "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/path_provider_platform_interface-1.0.4", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "path_provider_windows", - "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/path_provider_windows-0.0.4+1", + "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/path_provider_windows-0.0.4+3", "packageUri": "lib/", "languageVersion": "2.1" }, @@ -405,19 +423,19 @@ }, { "name": "shared_preferences", - "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-0.5.12+2", + "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences-0.5.12+4", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "shared_preferences_linux", - "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_linux-0.0.2+2", + "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_linux-0.0.2+4", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "shared_preferences_macos", - "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_macos-0.0.1+10", + "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_macos-0.0.1+11", "packageUri": "lib/", "languageVersion": "2.1" }, @@ -435,7 +453,7 @@ }, { "name": "shared_preferences_windows", - "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_windows-0.0.1+1", + "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/shared_preferences_windows-0.0.1+3", "packageUri": "lib/", "languageVersion": "2.1" }, @@ -543,13 +561,13 @@ }, { "name": "url_launcher_linux", - "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_linux-0.0.1+3", + "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_linux-0.0.1+4", "packageUri": "lib/", "languageVersion": "2.1" }, { "name": "url_launcher_macos", - "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_macos-0.0.1+8", + "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_macos-0.0.1+9", "packageUri": "lib/", "languageVersion": "2.1" }, @@ -567,7 +585,7 @@ }, { "name": "url_launcher_windows", - "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_windows-0.0.1+1", + "rootUri": "file:///Users/fnuser/.pub-cache/hosted/pub.flutter-io.cn/url_launcher_windows-0.0.1+3", "packageUri": "lib/", "languageVersion": "2.1" }, @@ -620,7 +638,7 @@ "languageVersion": "2.8" } ], - "generated": "2020-11-02T09:37:11.598457Z", + "generated": "2020-11-11T02:35:44.319396Z", "generator": "pub", "generatorVersion": "2.8.2" } diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 2fa9d52..c71e15b 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -28,6 +28,8 @@ PODS: - Flutter - flutter_plugin_android_lifecycle (0.0.1): - Flutter + - flutter_xupdate (0.0.1): + - Flutter - fluttertoast (0.0.2): - Flutter - FMDB (2.7.5): @@ -178,6 +180,7 @@ DEPENDENCIES: - flutter_alibc (from `.symlinks/plugins/flutter_alibc/ios`) - flutter_native_image (from `.symlinks/plugins/flutter_native_image/ios`) - flutter_plugin_android_lifecycle (from `.symlinks/plugins/flutter_plugin_android_lifecycle/ios`) + - flutter_xupdate (from `.symlinks/plugins/flutter_xupdate/ios`) - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`) - image_cropper (from `.symlinks/plugins/image_cropper/ios`) - image_picker (from `.symlinks/plugins/image_picker/ios`) @@ -240,6 +243,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/flutter_native_image/ios" flutter_plugin_android_lifecycle: :path: ".symlinks/plugins/flutter_plugin_android_lifecycle/ios" + flutter_xupdate: + :path: ".symlinks/plugins/flutter_xupdate/ios" fluttertoast: :path: ".symlinks/plugins/fluttertoast/ios" image_cropper: @@ -308,6 +313,7 @@ SPEC CHECKSUMS: flutter_alibc: 0e2a29e7c1de759672d87a260051240d209964b9 flutter_native_image: 9c0b7451838484458e5b0fae007b86a4c2d4bdfe flutter_plugin_android_lifecycle: dc0b544e129eebb77a6bfb1239d4d1c673a60a35 + flutter_xupdate: bdb588f0fe4f6c5e45436b8b0de08d505a50c04e fluttertoast: b644586ef3b16f67fae9a1f8754cef6b2d6b634b FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a image_cropper: 3c16d7651730ffe85897f5a1c4e2547e6b54989a diff --git a/lib/pages/goods_share_page/goods_share_bloc.dart b/lib/pages/goods_share_page/goods_share_bloc.dart index 16d83d1..9cd7d85 100644 --- a/lib/pages/goods_share_page/goods_share_bloc.dart +++ b/lib/pages/goods_share_page/goods_share_bloc.dart @@ -26,42 +26,56 @@ class GoodsShareBloc extends BlocBase { } void loadData(String shopType, Map params) async { - var json = await NetUtil.post('/api/v1/share/${shopType}', params: params); - Map data = json['data']; - List shareTemp = data['data_list']; - _data.datas = shareTemp.map((item) { - return GoodsShareTempDataModel.fromJson(Map.from(item)); - }).toList(); + await loadPoster(params); + await loadMod(shopType); + await loadInfo(shopType, params); + _tabController.add(_data); + } + Future loadPoster(Map params) async { _data.poster = await _loadPoster(params); + } - NetUtil.request( - '/api/v1/mod/pub.flutter.share?share_type=${shopType.toString()}', - method: NetMethod.GET, - onCache: (data) { - _loadData(data); - }, - onSuccess: (data) { - _loadData(data); - }, - ); + Future loadMod(String shopType) async { + var data = await NetUtil.post( + '/api/v1/tmp/mod/pub.flutter.share?type=${shopType.toString()}', + method: NetMethod.GET); + _loadMod(data['data']); } - void _loadData(dynamic data) { + void _loadMod(dynamic data) { try { List list = Map.from(data)['mod_list']; - _data.tabs = list.map((item) { - return Map.from(item); - }).toList(); - _tabController.add(_data); + for (dynamic model in list) { + Map d = Map.from(model); + if (d.containsKey('tab_view')) { + List tabs = d['tab_view']; + _data.tabs = tabs.map((item) { + return Map.from(item); + }).toList(); + } + } } catch (err) { Logger.error(err); } } + Future loadInfo(String shopType, Map params) async { + _data.datas = List(); + for (Map item in _data.tabs) { + String url = item['url']; + Logger.debug(url); + var json = await NetUtil.post('/api/v1/share?type=${url.toString()}', + params: params); + Map data = json['data']; + _data.datas.add( + GoodsShareTempDataModel.fromJson(Map.from(data))); + } + } + // 请求分享海报 Future _loadPoster(Map params) async { - var json = await NetUtil.post('/api/v1/share/poster', params: params); + var json = await NetUtil.post('/api/v1/share?type=poster', params: params); Map data = Map.from(json['data']); return GoodsSharePosterModel.fromJson(data); diff --git a/lib/pages/goods_share_page/goods_share_link/goods_share_link.dart b/lib/pages/goods_share_page/goods_share_link/goods_share_link.dart index f94a57b..2947cad 100644 --- a/lib/pages/goods_share_page/goods_share_link/goods_share_link.dart +++ b/lib/pages/goods_share_page/goods_share_link/goods_share_link.dart @@ -8,7 +8,6 @@ import 'package:zhiying_base_widget/pages/goods_share_page/goods_share_editor/go import 'package:zhiying_base_widget/pages/goods_share_page/goods_share_image/goods_share_image_model.dart'; import 'package:zhiying_base_widget/pages/goods_share_page/models/goods_share_temp_add_model.dart'; import 'package:zhiying_base_widget/pages/goods_share_page/widgets/good_share_msg.dart'; -import 'package:zhiying_base_widget/pages/goods_share_page/widgets/goods_share_alert_content.dart'; import 'package:zhiying_base_widget/pages/goods_share_page/widgets/goods_share_edit.dart'; import 'package:zhiying_base_widget/pages/goods_share_page/widgets/goods_share_item.dart'; import 'package:zhiying_base_widget/pages/goods_share_page/widgets/goods_share_link_widget.dart'; @@ -61,17 +60,18 @@ class _GoodsShareLinkState extends State imgCheckSelected: _style.cssList.chooseImage, enabled: false, child: GoodsShareLinkWidget( - title: '小米10至尊纪念版5g手机120X变焦骁龙865小米官方旗舰店小米手机', - desc: '【原价】3999元【券后3989元【用嗨如意再省】19.74元復製(FRH51Lu9hYF', - imgGoods: '', - icon: '', - name: '智莺生活', + title: widget.datas?.title ?? '', + desc: widget.datas?.content ?? '', + imgGoods: widget.datas?.imgUrl ?? '', + icon: widget.datas?.appLogo ?? '', + name: widget.datas?.appName ?? '', ), )); widgets.add(GoodsShareItem( imgHeader: _style.cssList.headerImage, imgCheck: _style.cssList.unChooseImage, imgCheckSelected: _style.cssList.chooseImage, + enabled: false, child: GoodsShareEdit( _content, widget.datas, @@ -137,7 +137,7 @@ class _GoodsShareLinkState extends State } Widget _createBottom() { - Map shareImages = _style.cssList.shareLink; + Map shareImages = _style.cssList.shareImage; if (shareImages == null) { return Container(); } @@ -195,8 +195,8 @@ class _GoodsShareLinkState extends State context: context, builder: (context) => ShareAlert( _shareModel, - '', - child: GoodsShareAlertContent(), + 'pub.flutter.share_icon', + // child: GoodsShareAlertContent(), ), ); } diff --git a/lib/pages/goods_share_page/goods_share_miniprogram/goods_share_miniprogram.dart b/lib/pages/goods_share_page/goods_share_miniprogram/goods_share_miniprogram.dart index 363ebba..49e9061 100644 --- a/lib/pages/goods_share_page/goods_share_miniprogram/goods_share_miniprogram.dart +++ b/lib/pages/goods_share_page/goods_share_miniprogram/goods_share_miniprogram.dart @@ -1,7 +1,12 @@ +import 'dart:convert' as convert; + import 'package:flutter/material.dart'; +import 'package:zhiying_base_widget/pages/goods_share_page/goods_share_image/goods_share_image_model.dart'; import 'package:zhiying_base_widget/pages/goods_share_page/models/goods_share_temp_add_model.dart'; import 'package:zhiying_base_widget/pages/goods_share_page/widgets/goods_share_item.dart'; import 'package:zhiying_base_widget/pages/goods_share_page/widgets/goods_share_miniprogram_widget.dart'; +import 'package:zhiying_base_widget/widgets/public/custom_button/custom_bottom.dart'; +import 'package:zhiying_base_widget/widgets/public/custom_button/custom_button_model.dart'; class GoodsShareMiniprogram extends StatefulWidget { final Map model; @@ -17,32 +22,89 @@ class GoodsShareMiniprogram extends StatefulWidget { class _GoodsShareMiniprogramState extends State with AutomaticKeepAliveClientMixin { - @override + GoodsShareImageModel _style; + Map _images = Map(); + List widgets = List(); + // 切换Tab导航栏保持页面状态 bool get wantKeepAlive => true; + @override + void initState() { + String data = widget.model['data']; + var d = convert.jsonDecode(data); + _style = GoodsShareImageModel.fromJson(Map.from(d)); + super.initState(); + } + @override Widget build(BuildContext context) { - return Container( - margin: EdgeInsets.only(bottom: 4), - padding: EdgeInsets.only(top: 10), - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.only( - bottomLeft: Radius.circular(8), bottomRight: Radius.circular(8))), - child: SingleChildScrollView( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - GoodsShareItem( - child: GoodsShareMiniprogramWidget( - title: '小米10至尊纪念版5g手机120X变焦骁龙865小米官方旗舰店小米手机', - imgGoods: '', - icon: '', - name: '智莺生活', + return Column( + children: [ + Expanded( + child: Container( + margin: EdgeInsets.only(bottom: 4), + padding: EdgeInsets.only(top: 10), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(8), + bottomRight: Radius.circular(8))), + child: SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + GoodsShareItem( + imgHeader: _style.cssList.headerImage, + imgCheck: _style.cssList.unChooseImage, + imgCheckSelected: _style.cssList.chooseImage, + enabled: false, + child: GoodsShareMiniprogramWidget( + title: widget.datas?.miniAppTitle ?? '', + imgGoods: widget.datas?.imgUrl ?? '', + icon: widget.datas?.appLogo ?? '', + name: widget.datas?.appName ?? '', + ), + ), + ], ), ), + ), + ), + _createBottom(), + ], + ); + } + + Widget _createBottom() { + Map shareImages = _style.cssList.shareImage; + if (shareImages == null) { + return Container(); + } + // CustomButtonModel btnCopy = CustomButtonModel.fromJson( + // Map.from(shareImages['copy_btn'])); + CustomButtonModel btnShare = CustomButtonModel.fromJson( + Map.from(shareImages['share_btn'])); + return SafeArea( + child: Container( + margin: EdgeInsets.only(left: 12.5, right: 12.5, top: 4, bottom: 4), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + btnShare == null + ? Container() + : GestureDetector( + child: Container( + margin: EdgeInsets.only(left: 5), + width: 110, + height: 36, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(18), + ), + child: CustomButton(btnShare)), + onTap: () {}, + ), ], ), ), diff --git a/lib/pages/goods_share_page/goods_share_page.dart b/lib/pages/goods_share_page/goods_share_page.dart index 64f52e7..050bd96 100644 --- a/lib/pages/goods_share_page/goods_share_page.dart +++ b/lib/pages/goods_share_page/goods_share_page.dart @@ -81,16 +81,16 @@ class _GoodsShareContainerState extends State<_GoodsShareContainer> Map item = list[i]; GoodsShareTempDataModel model = datas[i]; _tabs.add(_createTabItem(item['title'])); - String mod_name = item['mod_name']; - if (mod_name == 'share_goods_image.taobao') { + String type = item['url']; + if (type == 'image') { _contents.add(GoodsShareImage( item, model, poster: data.poster, )); - } else if (mod_name == 'share_goods_link.taobao') { + } else if (type == 'link') { _contents.add(GoodsShareLink(item, model)); - } else if (mod_name == 'share_goods_mini.taobao') { + } else if (type == 'mini') { _contents.add(GoodsShareMiniprogram(item, model)); } else { _contents.add(Container()); @@ -99,7 +99,7 @@ class _GoodsShareContainerState extends State<_GoodsShareContainer> return Column( children: [ - _createCommission(), + // _createCommission(), Expanded(child: SafeArea(child: _createContent())), ], ); diff --git a/lib/pages/goods_share_page/models/goods_share_style_model.dart b/lib/pages/goods_share_page/models/goods_share_style_model.dart index 5d078cd..af8773c 100644 --- a/lib/pages/goods_share_page/models/goods_share_style_model.dart +++ b/lib/pages/goods_share_page/models/goods_share_style_model.dart @@ -9,8 +9,6 @@ class GoodsShareStyleModel { String rewardImage; String rewardText; Map shareImage; - Map shareLink; - Map shareMini; GoodsShareTempEditorModel editTemplate; GoodsShareStyleModel( @@ -33,10 +31,10 @@ class GoodsShareStyleModel { rewardImage = json['reward_image']; rewardText = json['reward_text']; shareImage = json['share_image']; - shareLink = json['share_link']; - shareMini = json['share_mini']; - editTemplate = GoodsShareTempEditorModel.fromJson( - Map.from(json['edit_template'])); + if (json['edit_template'] != null) { + editTemplate = GoodsShareTempEditorModel.fromJson( + Map.from(json['edit_template'])); + } } Map toJson() { @@ -49,8 +47,6 @@ class GoodsShareStyleModel { data['reward_image'] = this.rewardImage; data['reward_text'] = this.rewardText; data['share_image'] = this.shareImage; - data['share_link'] = this.shareLink; - data['share_mini'] = this.shareMini; if (this.editTemplate != null) { data['edit_template'] = this.editTemplate.toJson(); } diff --git a/lib/pages/goods_share_page/models/goods_share_temp_add_model.dart b/lib/pages/goods_share_page/models/goods_share_temp_add_model.dart index ff470a4..606cfd5 100644 --- a/lib/pages/goods_share_page/models/goods_share_temp_add_model.dart +++ b/lib/pages/goods_share_page/models/goods_share_temp_add_model.dart @@ -3,7 +3,16 @@ class GoodsShareTempDataModel { List shareTemplate; String shareTip; String appUrl; + String title; + String content; + String appName; + String appLogo; + String imgUrl; + + String miniAppTitle; String miniAppUrl; + String miniAppCode; + String miniAppDesc; GoodsShareTempDataModel( {this.shareContent, @@ -13,7 +22,7 @@ class GoodsShareTempDataModel { this.miniAppUrl}); GoodsShareTempDataModel.fromJson(Map json) { - shareContent = json['share_content']; + shareContent = json['template_content']; if (json['share_template'] != null) { shareTemplate = new List(); json['share_template'].forEach((v) { @@ -23,18 +32,38 @@ class GoodsShareTempDataModel { shareTip = json['share_tip']; appUrl = json['app_url']; miniAppUrl = json['mini_app_url']; + title = json['title']; + content = json['content']; + appName = json['app_name']; + appLogo = json['app_logo']; + miniAppTitle = json['mini_app_title']; + miniAppUrl = json['mini_app_url']; + miniAppCode = json['mini_app_code']; + miniAppDesc = json['mini_app_desc']; + imgUrl = json['image_url']; } Map toJson() { final Map data = new Map(); data['share_content'] = this.shareContent; if (this.shareTemplate != null) { - data['share_template'] = + data['template_content'] = this.shareTemplate.map((v) => v.toJson()).toList(); } data['share_tip'] = this.shareTip; data['app_url'] = this.appUrl; data['mini_app_url'] = this.miniAppUrl; + + data['title'] = this.title; + data['content'] = this.content; + data['app_name'] = this.appName; + data['app_logo'] = this.appLogo; + data['image_url'] = this.imgUrl; + + data['mini_app_title'] = this.miniAppTitle; + data['mini_app_url'] = this.miniAppUrl; + data['mini_app_code'] = this.miniAppCode; + data['mini_app_desc'] = this.miniAppDesc; return data; } } diff --git a/lib/pages/goods_share_page/widgets/goods_share_link_widget.dart b/lib/pages/goods_share_page/widgets/goods_share_link_widget.dart index f602aa1..2047245 100644 --- a/lib/pages/goods_share_page/widgets/goods_share_link_widget.dart +++ b/lib/pages/goods_share_page/widgets/goods_share_link_widget.dart @@ -1,3 +1,4 @@ +import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; class GoodsShareLinkWidget extends StatelessWidget { @@ -45,7 +46,10 @@ class GoodsShareLinkWidget extends StatelessWidget { Container( width: 48, height: 48, - color: Colors.redAccent, + margin: EdgeInsets.only(left: 8), + child: CachedNetworkImage( + imageUrl: imgGoods, + ), ) ], ), @@ -61,7 +65,9 @@ class GoodsShareLinkWidget extends StatelessWidget { margin: EdgeInsets.only(right: 6), width: 15, height: 15, - color: Colors.redAccent, + child: CachedNetworkImage( + imageUrl: icon, + ), ), Text( name, diff --git a/lib/pages/goods_share_page/widgets/goods_share_miniprogram_widget.dart b/lib/pages/goods_share_page/widgets/goods_share_miniprogram_widget.dart index bf6a971..bc7a402 100644 --- a/lib/pages/goods_share_page/widgets/goods_share_miniprogram_widget.dart +++ b/lib/pages/goods_share_page/widgets/goods_share_miniprogram_widget.dart @@ -1,3 +1,4 @@ +import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; class GoodsShareMiniprogramWidget extends StatelessWidget { @@ -26,7 +27,9 @@ class GoodsShareMiniprogramWidget extends StatelessWidget { margin: EdgeInsets.only(right: 6), width: 15, height: 15, - color: Colors.redAccent, + child: CachedNetworkImage( + imageUrl: icon, + ), ), Text( name, @@ -47,7 +50,9 @@ class GoodsShareMiniprogramWidget extends StatelessWidget { margin: EdgeInsets.only(top: 10, bottom: 10), width: double.infinity, height: 180, - color: Colors.redAccent, + child: CachedNetworkImage( + imageUrl: imgGoods, + ), ), Row( children: [ @@ -55,7 +60,7 @@ class GoodsShareMiniprogramWidget extends StatelessWidget { margin: EdgeInsets.only(right: 6), width: 15, height: 15, - color: Colors.redAccent, + // color: Colors.redAccent, ), Text( '小程序', diff --git a/lib/pages/orders_page/views/order_tabbar_widget.dart b/lib/pages/orders_page/views/order_tabbar_widget.dart index ce1dd4b..e50e3e4 100644 --- a/lib/pages/orders_page/views/order_tabbar_widget.dart +++ b/lib/pages/orders_page/views/order_tabbar_widget.dart @@ -29,7 +29,7 @@ class OrderTabbarWidget extends StatelessWidget { Expanded( child: TabBar( controller: controller, - isScrollable: true, + isScrollable: false, indicatorSize: TabBarIndicatorSize.label, // tabs: widgets, indicatorColor: