Files
fluwx/example/lib/share_image_page.dart
2019-12-20 17:52:58 +08:00

118 lines
3.8 KiB
Dart

import 'package:flutter/material.dart';
import 'package:fluwx/fluwx.dart' as fluwx;
class ShareImagePage extends StatefulWidget {
@override
_ShareImagePageState createState() => _ShareImagePageState();
}
class _ShareImagePageState extends State<ShareImagePage> {
fluwx.WeChatScene scene = fluwx.WeChatScene.SESSION;
String _imagePath =
// "http://img-download.pchome.net/download/1k1/3a/3e/ofskcd-s1a.jpg"
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1534614311230&di=b17a892b366b5d002f52abcce7c4eea0&imgtype=0&src=http%3A%2F%2Fimg.mp.sohu.com%2Fupload%2F20170516%2F51296b2673704ae2992d0a28c244274c_th.png";
String _thumbnail = "assets://images/logo.png";
String _response = "";
@override
void initState() {
super.initState();
fluwx.responseFromShare.listen((data) {
setState(() {
_response = data.errCode.toString();
});
});
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: AppBar(
title: const Text("shareImage"),
actions: <Widget>[
IconButton(
icon: Icon(
Icons.share,
color: Colors.white,
),
onPressed: _shareImage)
],
),
body: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: <Widget>[
TextField(
decoration: InputDecoration(labelText: "图片地址"),
controller: TextEditingController(
text:
"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1534614311230&di=b17a892b366b5d002f52abcce7c4eea0&imgtype=0&src=http%3A%2F%2Fimg.mp.sohu.com%2Fupload%2F20170516%2F51296b2673704ae2992d0a28c244274c_th.png"),
onChanged: (value) {
_imagePath = value;
},
keyboardType: TextInputType.multiline,
),
TextField(
decoration: InputDecoration(labelText: "缩略地址"),
controller:
TextEditingController(text: "assets://images/logo.png"),
onChanged: (value) {
_thumbnail = value;
},
),
new Row(
children: <Widget>[
const Text("分享至"),
Row(
children: <Widget>[
new Radio<fluwx.WeChatScene>(
value: fluwx.WeChatScene.SESSION,
groupValue: scene,
onChanged: handleRadioValueChanged),
const Text("会话")
],
),
Row(
children: <Widget>[
new Radio<fluwx.WeChatScene>(
value: fluwx.WeChatScene.TIMELINE,
groupValue: scene,
onChanged: handleRadioValueChanged),
const Text("朋友圈")
],
),
Row(
children: <Widget>[
new Radio<fluwx.WeChatScene>(
value: fluwx.WeChatScene.FAVORITE,
groupValue: scene,
onChanged: handleRadioValueChanged),
const Text("收藏")
],
)
],
),
Text(_response)
],
),
),
);
}
void _shareImage() {
fluwx.share(fluwx.WeChatShareImageModel(
image: _imagePath,
thumbnail: _thumbnail,
transaction: _imagePath,
scene: scene,
description: "这是一张图"));
}
void handleRadioValueChanged(fluwx.WeChatScene scene) {
setState(() {
this.scene = scene;
});
}
}