Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-fluwx
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
openSourceLibrary
clx-fluwx
Commits
cc0ce00b
提交
cc0ce00b
authored
8月 18, 2018
作者:
JarvanMo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update readme
上级
c0bc73b2
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
67 行增加
和
34 行删除
+67
-34
README.md
README.md
+41
-7
FluwxPlugin.kt
android/src/main/kotlin/com/jarvan/fluwx/FluwxPlugin.kt
+6
-8
FluwxShareHandler.kt
...main/kotlin/com/jarvan/fluwx/handler/FluwxShareHandler.kt
+6
-4
WXEntryActivity.java
...kotlin/com/jarvan/fluwxexample/wxapi/WXEntryActivity.java
+2
-2
main.dart
example/lib/main.dart
+6
-7
flutter_register_model.dart
lib/src/models/flutter_register_model.dart
+6
-6
没有找到文件。
README.md
浏览文件 @
cc0ce00b
...
...
@@ -10,11 +10,46 @@
## 引入
## 初始化
```
dart
Fluwx.registerApp("yourAppId"
);
Fluwx
.
registerApp
(
RegisterModel
(
appId:
"your app id"
,
doOnAndroid:
true
,
doOnIOS:
true
)
);
```
或者
```dart
Fluwx.registerApp();
-
appId
:在微信平台申请的
appId
。
-
doOnAndroid:
是否在
android
平台上执行此操作。
-
doOnIOS:
是否在平台上执行此操作。
每一个字段都是非必须的,但是如果不传
appId
或```
doOnAndroid:
false
```或者```
doOnIOS:
false
```,请务必在对应平台手动注册```
WXApi
```,以保证
Fluwx
正常工作。
注册完成后,请在对应平台添加如下代码:
Android
:
```
kotlin
FluwxShareHandler
.
setWXApi
(
wxapi
)
```
For help on editing plugin code, view the
[
documentation
](
https://flutter.io/platform-plugins/#edit-code
)
.
\ No newline at end of file
iOS
```
oc
isWeChatRegistered
=
YES
;
```
你也可以取消注册你的
app
。
```
dart
Fluwx.unregisterApp(RegisterModel(doOnAndroid: true, doOnIOS: true));
```
##开始分享
```
dart
var fluwx = Fluwx();
fluwx.share(WeChatShareImageModel(image: "imagePath",thumbnail: "thumbanailPath"));
fluwx.share(
WeChatShareWebPageModel(
webPage: "https://github.com/JarvanMo/fluwx",
title: "MyGithub",
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',
)).then((result){
},onError: (msg){
});
```
```
fluwx.share(WeChatShareModel)
```目前仅支持系统内```
WeChatShareModel
```的子类,不支持自定义。
所有字段名字和官方文档基本是一致的。
##图片处理
目前所有需要图片的地方支持网络图片及assets图片。
使用assets图片需要添加```
assets://
```。
也可以在assets图片添加```
?package=package_name
````以读取指定包的图片。
未来可能支持```
file://
```
。
如果不指定schema或者schema错误,将会被处理为网络图片,请谨慎。
##注意
所有涉及缩略的最好给Fluwx一个合格的图片(小于32k),否则Fluwx将会对图片进行处理,这样做的结果可能并不是你所预期的,如缩略图被裁剪。
android/src/main/kotlin/com/jarvan/fluwx/FluwxPlugin.kt
浏览文件 @
cc0ce00b
package
com.jarvan.fluwx
import
com.jarvan.fluwx.constant.CallResult
import
com.jarvan.fluwx.constant.WeChatPluginMethods
import
com.jarvan.fluwx.handler.WeChatPluginHandler
import
com.tencent.mm.opensdk.openapi.WXAPIFactory
import
com.jarvan.fluwx.handler.FluwxShareHandler
import
io.flutter.plugin.common.MethodCall
import
io.flutter.plugin.common.MethodChannel
import
io.flutter.plugin.common.MethodChannel.MethodCallHandler
...
...
@@ -15,28 +13,28 @@ class FluwxPlugin(private var registrar: Registrar) : MethodCallHandler {
@JvmStatic
fun
registerWith
(
registrar
:
Registrar
):
Unit
{
val
channel
=
MethodChannel
(
registrar
.
messenger
(),
"fluwx"
)
WeChatPlugin
Handler
.
setRegistrar
(
registrar
)
WeChatPlugin
Handler
.
setMethodChannel
(
channel
)
FluwxShare
Handler
.
setRegistrar
(
registrar
)
FluwxShare
Handler
.
setMethodChannel
(
channel
)
channel
.
setMethodCallHandler
(
FluwxPlugin
(
registrar
))
}
}
override
fun
onMethodCall
(
call
:
MethodCall
,
result
:
Result
):
Unit
{
if
(
call
.
method
==
WeChatPluginMethods
.
REGISTER_APP
){
WeChatPlugin
Handler
.
registerApp
(
call
,
result
)
FluwxShare
Handler
.
registerApp
(
call
,
result
)
return
}
if
(
call
.
method
==
WeChatPluginMethods
.
UNREGISTER_APP
){
WeChatPlugin
Handler
.
unregisterApp
(
call
)
FluwxShare
Handler
.
unregisterApp
(
call
)
result
.
success
(
true
)
return
}
if
(
call
.
method
.
startsWith
(
"share"
)){
WeChatPlugin
Handler
.
handle
(
call
,
result
)
FluwxShare
Handler
.
handle
(
call
,
result
)
}
else
{
result
.
notImplemented
()
}
...
...
android/src/main/kotlin/com/jarvan/fluwx/handler/
WeChatPlugin
Handler.kt
→
android/src/main/kotlin/com/jarvan/fluwx/handler/
FluwxShare
Handler.kt
浏览文件 @
cc0ce00b
package
com.jarvan.fluwx.handler
import
android.util.Log
import
com.jarvan.fluwx.constant.CallResult
import
com.jarvan.fluwx.constant.WeChatPluginMethods
import
com.jarvan.fluwx.constant.WechatPluginKeys
...
...
@@ -25,7 +24,7 @@ import kotlinx.coroutines.experimental.launch
* 冷风如刀,以大地为砧板,视众生为鱼肉。
* 万里飞雪,将穹苍作烘炉,熔万物为白银。
**/
object
WeChatPlugin
Handler
{
object
FluwxShare
Handler
{
private
var
wxApi
:
IWXAPI
?
=
null
private
var
channel
:
MethodChannel
?
=
null
...
...
@@ -34,9 +33,12 @@ object WeChatPluginHandler {
fun
setMethodChannel
(
channel
:
MethodChannel
)
{
WeChatPlugin
Handler
.
channel
=
channel
FluwxShare
Handler
.
channel
=
channel
}
fun
setWXApi
(
wxApi
:
IWXAPI
){
this
.
wxApi
=
wxApi
}
fun
registerApp
(
call
:
MethodCall
,
result
:
MethodChannel
.
Result
)
{
...
...
@@ -76,7 +78,7 @@ object WeChatPluginHandler {
}
fun
setRegistrar
(
registrar
:
PluginRegistry
.
Registrar
)
{
WeChatPlugin
Handler
.
registrar
=
registrar
FluwxShare
Handler
.
registrar
=
registrar
}
...
...
example/android/app/src/main/kotlin/com/jarvan/fluwxexample/wxapi/WXEntryActivity.java
浏览文件 @
cc0ce00b
...
...
@@ -5,7 +5,7 @@ import android.content.Intent;
import
android.os.Bundle
;
import
android.widget.Button
;
import
com.jarvan.fluwx.handler.
WeChatPlugin
Handler
;
import
com.jarvan.fluwx.handler.
FluwxShare
Handler
;
import
com.tencent.mm.opensdk.modelbase.BaseReq
;
import
com.tencent.mm.opensdk.modelbase.BaseResp
;
import
com.tencent.mm.opensdk.openapi.IWXAPIEventHandler
;
...
...
@@ -35,7 +35,7 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler{
@Override
public
void
onResp
(
BaseResp
resp
)
{
WeChatPlugin
Handler
.
INSTANCE
.
onResp
(
resp
);
FluwxShare
Handler
.
INSTANCE
.
onResp
(
resp
);
}
...
...
example/lib/main.dart
浏览文件 @
cc0ce00b
...
...
@@ -15,11 +15,9 @@ class _MyAppState extends State<MyApp> {
void
initState
()
{
super
.
initState
();
// initPlatformState();
Fluwx
.
registerApp
(
RegisterModel
(
appId:
"wxd930ea5d5a258f4f"
)).
then
((
result
)
{
print
(
"succes-->
$result
"
);
},
onError:
(
value
)
{
print
(
"--->
$value
"
);
});
Fluwx
.
registerApp
(
RegisterModel
(
appId:
"wxd930ea5d5a258f4f"
,
doOnAndroid:
true
,
doOnIOS:
true
));
}
// Platform messages are asynchronous, so we initialize in an async method.
...
...
@@ -50,8 +48,8 @@ class _MyAppState extends State<MyApp> {
// thumbnail: 'http://b.hiphotos.baidu.com/image/h%3D300/sign=4bfc640817d5ad6eb5f962eab1c939a3/8718367adab44aedb794e128bf1c8701a08bfb20.jpg',
// fluwx.share(
// WeChatShareWebPageModel(
// webPage: "https://
www.jianshu.com/
",
// title: "
简书
",
// webPage: "https://
github.com/JarvanMo/fluwx
",
// title: "
MyGithub
",
// 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',
// )
// ).then((result){
...
...
@@ -59,6 +57,7 @@ class _MyAppState extends State<MyApp> {
// },onError: (msg){
// print(msg);
// });
// fluwx.share(WeChatShareImageModel(image: "imagePath",thumbnail: "thumbanailPath"));
},
child:
new
Text
(
"share "
)),
),
...
...
lib/src/models/flutter_register_model.dart
浏览文件 @
cc0ce00b
class
RegisterModel
{
final
String
appId
;
final
bool
doIOS
;
final
bool
doAndroid
;
final
bool
do
On
IOS
;
final
bool
do
On
Android
;
RegisterModel
({
this
.
appId
,
this
.
doIOS
:
true
,
this
.
doAndroid
:
true
});
this
.
do
On
IOS
:
true
,
this
.
do
On
Android
:
true
});
Map
toMap
(){
return
{
"appId"
:
appId
,
"iOS"
:
doIOS
,
"android"
:
doAndroid
"iOS"
:
do
On
IOS
,
"android"
:
do
On
Android
};
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论