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

demo

上级 f6da624e
package com.jarvan.fluwx.handler
import com.jarvan.fluwx.constant.CallResult
import com.jarvan.fluwx.constant.WeChatPluginMethods
import com.jarvan.fluwx.constant.WechatPluginKeys
......
......@@ -2,6 +2,8 @@ import 'package:flutter/material.dart';
import 'dart:async';
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());
......@@ -14,9 +16,7 @@ class _MyAppState extends State<MyApp> {
@override
void initState() {
super.initState();
// initPlatformState();
Fluwx.registerApp(RegisterModel(
appId: "wxd930ea5d5a258f4f", doOnAndroid: true, doOnIOS: true));
Fluwx.registerApp(RegisterModel(appId: "wxd930ea5d5a258f4f"));
}
// Platform messages are asynchronous, so we initialize in an async method.
......@@ -25,42 +25,57 @@ class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return new MaterialApp(
routes: <String, WidgetBuilder>{
"shareText": (context) => ShareTextPage(),
"shareImage":(context) => ShareImagePage()
},
home: new Scaffold(
appBar: new AppBar(
title: const Text('Plugin example app'),
),
body: new Center(
child: new FlatButton(
onPressed: () {
var fluwx = Fluwx();
// fluwx.share(WeChatShareMiniProgramModel(
// webPageUrl: "http://www.qq.com",
// miniProgramType:
// WeChatShareMiniProgramModel.MINI_PROGRAM_TYPE_RELEASE,
// userName: "gh_d43f693ca31f",
// path: '/pages/media',
// title: "title",
// description: "des",
// thumbnail:
// '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',
// ));
// thumbnail: 'http://b.hiphotos.baidu.com/image/h%3D300/sign=4bfc640817d5ad6eb5f962eab1c939a3/8718367adab44aedb794e128bf1c8701a08bfb20.jpg',
fluwx.share(
WeChatShareWebPageModel(
webPage: "https://github.com/JarvanMo/fluwx",
title: "MyGithub",
thumbnail: "assets://images/logo.png"
)
).then((result){
print("--$result");
},onError: (msg){
print(msg);
});
// fluwx.share(WeChatShareImageModel(image: "imagePath",thumbnail: "thumbanailPath"));
},
child: new Text("share ")),
),
),
body: ShareSelectorPage()),
);
}
}
// var fluwx = Fluwx();
//// fluwx.share(WeChatShareMiniProgramModel(
//// webPageUrl: "http://www.qq.com",
//// miniProgramType:
//// WeChatShareMiniProgramModel.MINI_PROGRAM_TYPE_RELEASE,
//// userName: "gh_d43f693ca31f",
//// path: '/pages/media',
//// title: "title",
//// description: "des",
//// thumbnail:
//// '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',
//// ));
//// thumbnail: 'http://b.hiphotos.baidu.com/image/h%3D300/sign=4bfc640817d5ad6eb5f962eab1c939a3/8718367adab44aedb794e128bf1c8701a08bfb20.jpg',
// fluwx.share(
// WeChatShareWebPageModel(
// webPage: "https://github.com/JarvanMo/fluwx",
// title: "MyGithub",
// thumbnail: "assets://images/logo.png"
// )
// ).then((result){
// print("--$result");
// },onError: (msg){
// print(msg);
// });
//// 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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论