提交 f2a724f6 authored 作者: JarvanMo's avatar JarvanMo

demo

上级 f6da624e
package com.jarvan.fluwx.handler package com.jarvan.fluwx.handler
import com.jarvan.fluwx.constant.CallResult import com.jarvan.fluwx.constant.CallResult
import com.jarvan.fluwx.constant.WeChatPluginMethods import com.jarvan.fluwx.constant.WeChatPluginMethods
import com.jarvan.fluwx.constant.WechatPluginKeys import com.jarvan.fluwx.constant.WechatPluginKeys
......
...@@ -2,6 +2,8 @@ import 'package:flutter/material.dart'; ...@@ -2,6 +2,8 @@ import 'package:flutter/material.dart';
import 'dart:async'; import 'dart:async';
import 'package:fluwx/main.dart'; import 'package:fluwx/main.dart';
import 'package:fluwx_example/share_image_page.dart';
import 'package:fluwx_example/share_text_image.dart';
void main() => runApp(new MyApp()); void main() => runApp(new MyApp());
...@@ -14,9 +16,7 @@ class _MyAppState extends State<MyApp> { ...@@ -14,9 +16,7 @@ class _MyAppState extends State<MyApp> {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
// initPlatformState(); Fluwx.registerApp(RegisterModel(appId: "wxd930ea5d5a258f4f"));
Fluwx.registerApp(RegisterModel(
appId: "wxd930ea5d5a258f4f", doOnAndroid: true, doOnIOS: true));
} }
// Platform messages are asynchronous, so we initialize in an async method. // Platform messages are asynchronous, so we initialize in an async method.
...@@ -25,42 +25,57 @@ class _MyAppState extends State<MyApp> { ...@@ -25,42 +25,57 @@ class _MyAppState extends State<MyApp> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return new MaterialApp( return new MaterialApp(
routes: <String, WidgetBuilder>{
"shareText": (context) => ShareTextPage(),
"shareImage":(context) => ShareImagePage()
},
home: new Scaffold( home: new Scaffold(
appBar: new AppBar( appBar: new AppBar(
title: const Text('Plugin example app'), title: const Text('Plugin example app'),
), ),
body: new Center( body: ShareSelectorPage()),
child: new FlatButton( );
onPressed: () { }
var fluwx = Fluwx(); }
// fluwx.share(WeChatShareMiniProgramModel(
// webPageUrl: "http://www.qq.com", // var fluwx = Fluwx();
// miniProgramType: //// fluwx.share(WeChatShareMiniProgramModel(
// WeChatShareMiniProgramModel.MINI_PROGRAM_TYPE_RELEASE, //// webPageUrl: "http://www.qq.com",
// userName: "gh_d43f693ca31f", //// miniProgramType:
// path: '/pages/media', //// WeChatShareMiniProgramModel.MINI_PROGRAM_TYPE_RELEASE,
// title: "title", //// userName: "gh_d43f693ca31f",
// description: "des", //// path: '/pages/media',
// thumbnail: //// title: "title",
// 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1534532387799&di=12701cc3f20c1a78a5c7524ec33b4c59&imgtype=0&src=http%3A%2F%2Fwww.cssxt.com%2Fuploadfile%2F2017%2F1208%2F20171208110834538.jpg', //// description: "des",
// )); //// thumbnail:
// thumbnail: 'http://b.hiphotos.baidu.com/image/h%3D300/sign=4bfc640817d5ad6eb5f962eab1c939a3/8718367adab44aedb794e128bf1c8701a08bfb20.jpg', //// 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1534532387799&di=12701cc3f20c1a78a5c7524ec33b4c59&imgtype=0&src=http%3A%2F%2Fwww.cssxt.com%2Fuploadfile%2F2017%2F1208%2F20171208110834538.jpg',
fluwx.share( //// ));
WeChatShareWebPageModel( //// thumbnail: 'http://b.hiphotos.baidu.com/image/h%3D300/sign=4bfc640817d5ad6eb5f962eab1c939a3/8718367adab44aedb794e128bf1c8701a08bfb20.jpg',
webPage: "https://github.com/JarvanMo/fluwx", // fluwx.share(
title: "MyGithub", // WeChatShareWebPageModel(
thumbnail: "assets://images/logo.png" // webPage: "https://github.com/JarvanMo/fluwx",
) // title: "MyGithub",
).then((result){ // thumbnail: "assets://images/logo.png"
print("--$result"); // )
},onError: (msg){ // ).then((result){
print(msg); // print("--$result");
}); // },onError: (msg){
// fluwx.share(WeChatShareImageModel(image: "imagePath",thumbnail: "thumbanailPath")); // print(msg);
}, // });
child: new Text("share ")), //// fluwx.share(WeChatShareImageModel(image: "imagePath",thumbnail: "thumbanailPath"));
), class ShareSelectorPage extends StatelessWidget {
), @override
Widget build(BuildContext context) {
return new Column(
children: <Widget>[
new OutlineButton(onPressed: () {
Navigator.of(context).pushNamed("shareText");
}, child: const Text("share text")),
new OutlineButton(onPressed: () {
Navigator.of(context).pushNamed("shareImage");
}, child: const Text("share image")),
new OutlineButton(onPressed: () {}, child: const Text("share webpage")),
],
); );
} }
} }
import 'package:flutter/material.dart';
import 'package:fluwx/main.dart';
class ShareImagePage extends StatefulWidget {
@override
_ShareImagePageState createState() => _ShareImagePageState();
}
class _ShareImagePageState extends State<ShareImagePage> {
Fluwx fluwx;
WeChatScene scene = WeChatScene.SESSION;
String _imagePath =
"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://logo.png";
@override
void initState() {
super.initState();
fluwx = new Fluwx();
}
@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://logo.png"),
onChanged: (value) {
_thumbnail = value;
},
),
new Row(
children: <Widget>[
const Text("分享至"),
Row(
children: <Widget>[
new Radio<WeChatScene>(
value: WeChatScene.SESSION,
groupValue: scene,
onChanged: handleRadioValueChanged),
const Text("会话")
],
),
Row(
children: <Widget>[
new Radio<WeChatScene>(
value: WeChatScene.TIMELINE,
groupValue: scene,
onChanged: handleRadioValueChanged),
const Text("朋友圈")
],
),
Row(
children: <Widget>[
new Radio<WeChatScene>(
value: WeChatScene.FAVORITE,
groupValue: scene,
onChanged: handleRadioValueChanged),
const Text("收藏")
],
)
],
)
],
),
),
);
}
void _shareImage() {
fluwx.share(WeChatShareImageModel(
image: _imagePath,
thumbnail: _thumbnail,
transaction: _imagePath,
description: "这是一张图"));
}
void handleRadioValueChanged(WeChatScene scene) {
setState(() {
this.scene = scene;
});
}
}
import 'package:flutter/material.dart';
import 'package:fluwx/main.dart';
class ShareTextPage extends StatefulWidget {
@override
_ShareTextPageState createState() => _ShareTextPageState();
}
class _ShareTextPageState extends State<ShareTextPage> {
Fluwx fluwx;
String _text = "share text from fluwx";
WeChatScene scene = WeChatScene.SESSION;
@override
void initState() {
super.initState();
fluwx = new Fluwx();
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: AppBar(
title: const Text("ShareText"),
actions: <Widget>[
IconButton(icon: Icon(Icons.share,color: Colors.white,), onPressed: _shareText)
],
),
body: Padding(
padding: const EdgeInsets.all(8.0),
child: new Column(
children: <Widget>[
new TextField(
controller: TextEditingController(text: "share text from fluwx"),
onChanged: (str){
_text = str;
},
decoration: InputDecoration(
labelText: "TextToShare"
),
),
new Row(
children: <Widget>[
const Text("分享至"),
Row(
children: <Widget>[
new Radio<WeChatScene>(
value: WeChatScene.SESSION,
groupValue: scene,
onChanged: handleRadioValueChanged
),
const Text("会话")
],
),
Row(
children: <Widget>[
new Radio<WeChatScene>(
value: WeChatScene.TIMELINE,
groupValue: scene,
onChanged: handleRadioValueChanged
),
const Text("朋友圈")
],
),
Row(
children: <Widget>[
new Radio<WeChatScene>(
value: WeChatScene.FAVORITE,
groupValue: scene,
onChanged: handleRadioValueChanged
),
const Text("收藏")
],
)
],
)
],
),
),
);
}
void _shareText(){
fluwx.share(WeChatShareTextModel(
text: _text,
transaction: "text${DateTime.now().millisecondsSinceEpoch}",
scene: scene
));
}
void handleRadioValueChanged(WeChatScene scene){
setState(() {
this.scene = scene;
});
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论