Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-fluwx
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
openSourceLibrary
clx-fluwx
Commits
3c7ec5a1
提交
3c7ec5a1
authored
8月 13, 2018
作者:
JarvanMo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
call result
上级
709421fc
显示空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
52 行增加
和
37 行删除
+52
-37
AppRegister.java
...rc/main/kotlin/com/jarvanmo/wechatplugin/AppRegister.java
+2
-2
WechatPlugin.kt
...src/main/kotlin/com/jarvanmo/wechatplugin/WechatPlugin.kt
+5
-3
WeChatPluginImageSchema.java
...jarvanmo/wechatplugin/config/WeChatPluginImageSchema.java
+0
-8
CallResult.java
...kotlin/com/jarvanmo/wechatplugin/constant/CallResult.java
+9
-0
WeChatPluginImageSchema.java
...rvanmo/wechatplugin/constant/WeChatPluginImageSchema.java
+8
-0
WeChatPluginMethods.java
...m/jarvanmo/wechatplugin/constant/WeChatPluginMethods.java
+1
-1
WechatPluginKeys.java
.../com/jarvanmo/wechatplugin/constant/WechatPluginKeys.java
+2
-2
WeChatPluginHandler.kt
.../com/jarvanmo/wechatplugin/handler/WeChatPluginHandler.kt
+24
-18
WeChatThumbnailUtil.java
.../com/jarvanmo/wechatplugin/utils/WeChatThumbnailUtil.java
+1
-3
没有找到文件。
android/src/main/kotlin/com/jarvanmo/wechatplugin/AppRegister.java
浏览文件 @
3c7ec5a1
...
...
@@ -4,7 +4,7 @@ import android.content.BroadcastReceiver;
import
android.content.Context
;
import
android.content.Intent
;
import
com.jarvanmo.wechatplugin.con
fig.WechatPluginConfig
;
import
com.jarvanmo.wechatplugin.con
stant.WechatPluginKeys
;
import
com.tencent.mm.opensdk.openapi.IWXAPI
;
import
com.tencent.mm.opensdk.openapi.WXAPIFactory
;
...
...
@@ -14,6 +14,6 @@ public class AppRegister extends BroadcastReceiver {
public
void
onReceive
(
Context
context
,
Intent
intent
)
{
final
IWXAPI
api
=
WXAPIFactory
.
createWXAPI
(
context
,
null
);
// 将该app注册到微信
api
.
registerApp
(
WechatPlugin
Config
.
appId
);
api
.
registerApp
(
WechatPlugin
Keys
.
appId
);
}
}
android/src/main/kotlin/com/jarvanmo/wechatplugin/WechatPlugin.kt
浏览文件 @
3c7ec5a1
package
com.jarvanmo.wechatplugin
import
com.jarvanmo.wechatplugin.config.WeChatPluginMethods
import
android.telecom.Call
import
com.jarvanmo.wechatplugin.constant.CallResult
import
com.jarvanmo.wechatplugin.constant.WeChatPluginMethods
import
com.jarvanmo.wechatplugin.handler.WeChatPluginHandler
import
com.tencent.mm.opensdk.openapi.WXAPIFactory
import
io.flutter.plugin.common.MethodChannel
...
...
@@ -13,7 +15,6 @@ class WechatPlugin(private var channel: MethodChannel,private var registrar: Reg
companion
object
{
@JvmStatic
val
TAG
=
"WeChatPlugin"
val
FILE_NOT_EXIST
=
"file not exists"
@JvmStatic
fun
registerWith
(
registrar
:
Registrar
):
Unit
{
...
...
@@ -25,6 +26,7 @@ class WechatPlugin(private var channel: MethodChannel,private var registrar: Reg
}
override
fun
onMethodCall
(
call
:
MethodCall
,
result
:
Result
):
Unit
{
o
when
{
WeChatPluginMethods
.
INIT
==
call
.
method
->
{
val
api
=
WXAPIFactory
.
createWXAPI
(
registrar
.
context
().
applicationContext
,
call
.
arguments
as
String
?)
...
...
@@ -32,7 +34,7 @@ class WechatPlugin(private var channel: MethodChannel,private var registrar: Reg
WeChatPluginHandler
.
setWxApi
(
api
)
}
WeChatPluginHandler
.
apiIsNull
()
->
{
result
.
error
(
"config your wxapi first"
,
"config your
wxapi first"
,
null
)
result
.
error
(
CallResult
.
RESULT_API_NULL
,
"please config
wxapi first"
,
null
)
return
}
call
.
method
.
startsWith
(
"share"
)->{
...
...
android/src/main/kotlin/com/jarvanmo/wechatplugin/config/WeChatPluginImageSchema.java
deleted
100644 → 0
浏览文件 @
709421fc
package
com
.
jarvanmo
.
wechatplugin
.
config
;
public
class
WeChatPluginImageSchema
{
public
static
final
String
SCHEMA_ASSETS
=
"assets://"
;
public
static
final
String
SCHMEA_HTTP
=
"http://"
;
public
static
final
String
SCHMEA_HTTPS
=
"https://"
;
public
static
final
String
SCHMEA_FILE
=
"file://"
;
}
android/src/main/kotlin/com/jarvanmo/wechatplugin/constant/CallResult.java
0 → 100644
浏览文件 @
3c7ec5a1
package
com
.
jarvanmo
.
wechatplugin
.
constant
;
public
class
CallResult
{
public
static
final
String
RESULT_DONE
=
"done"
;
public
static
final
String
RESULT_ERROR
=
"error"
;
public
static
final
String
RESULT_API_NULL
=
"wxapi not configured"
;
public
static
final
String
RESULT_WE_CHAT_NOT_INSTALLED
=
"wechat not installed"
;
public
static
final
String
RESULT_FILE_NOT_EXIST
=
"file not exists"
;
}
android/src/main/kotlin/com/jarvanmo/wechatplugin/constant/WeChatPluginImageSchema.java
0 → 100644
浏览文件 @
3c7ec5a1
package
com
.
jarvanmo
.
wechatplugin
.
constant
;
public
class
WeChatPluginImageSchema
{
public
static
final
String
SCHEMA_ASSETS
=
"assets://"
;
public
static
final
String
SCHMEA_HTTP
=
"http://"
;
public
static
final
String
SCHMEA_HTTPS
=
"https://"
;
public
static
final
String
SCHEMA_FILE
=
"file://"
;
}
android/src/main/kotlin/com/jarvanmo/wechatplugin/con
fig
/WeChatPluginMethods.java
→
android/src/main/kotlin/com/jarvanmo/wechatplugin/con
stant
/WeChatPluginMethods.java
浏览文件 @
3c7ec5a1
package
com
.
jarvanmo
.
wechatplugin
.
con
fig
;
package
com
.
jarvanmo
.
wechatplugin
.
con
stant
;
/***
* Created by mo on 2018/8/8
...
...
android/src/main/kotlin/com/jarvanmo/wechatplugin/con
fig/WechatPluginConfig
.java
→
android/src/main/kotlin/com/jarvanmo/wechatplugin/con
stant/WechatPluginKeys
.java
浏览文件 @
3c7ec5a1
package
com
.
jarvanmo
.
wechatplugin
.
con
fig
;
package
com
.
jarvanmo
.
wechatplugin
.
con
stant
;
/***
* Created by mo on 2018/8/8
* 冷风如刀,以大地为砧板,视众生为鱼肉。
* 万里飞雪,将穹苍作烘炉,熔万物为白银。
**/
public
class
WechatPlugin
Config
{
public
class
WechatPlugin
Keys
{
public
static
String
appId
=
""
;
public
static
final
String
SCENE
=
"scene"
;
public
static
final
String
TIMELINE
=
"timeline"
;
...
...
android/src/main/kotlin/com/jarvanmo/wechatplugin/handler/WeChatPluginHandler.kt
浏览文件 @
3c7ec5a1
package
com.jarvanmo.wechatplugin.handler
import
android.graphics.BitmapFactory
import
android.util.Log
import
com.jarvanmo.wechatplugin.WechatPlugin
import
com.jarvanmo.wechatplugin.config.WeChatPluginImageSchema
import
com.jarvanmo.wechatplugin.config.WeChatPluginMethods
import
com.jarvanmo.wechatplugin.config.WechatPluginConfig
import
com.jarvanmo.wechatplugin.constant.CallResult
import
com.jarvanmo.wechatplugin.constant.WeChatPluginImageSchema
import
com.jarvanmo.wechatplugin.constant.WeChatPluginMethods
import
com.jarvanmo.wechatplugin.constant.WechatPluginKeys
import
com.jarvanmo.wechatplugin.utils.AssetManagerUtil
import
com.jarvanmo.wechatplugin.utils.FileUtil
import
com.jarvanmo.wechatplugin.utils.WeChatThumbnailUtil
...
...
@@ -16,7 +16,6 @@ import io.flutter.plugin.common.MethodCall
import
io.flutter.plugin.common.MethodChannel
import
io.flutter.plugin.common.PluginRegistry
import
java.io.File
import
java.net.URL
/***
...
...
@@ -48,6 +47,11 @@ object WeChatPluginHandler {
fun
handle
(
call
:
MethodCall
,
result
:
MethodChannel
.
Result
)
{
if
(
wxApi
!!
.
isWXAppInstalled
){
result
.
error
(
CallResult
.
RESULT_WE_CHAT_NOT_INSTALLED
,
CallResult
.
RESULT_WE_CHAT_NOT_INSTALLED
,
null
)
return
}
when
(
call
.
method
)
{
WeChatPluginMethods
.
SHARE_TEXT
->
shareText
(
call
,
result
)
WeChatPluginMethods
.
SHARE_MINI_PROGRAM
->
shareMiniProgram
(
call
,
result
)
...
...
@@ -60,15 +64,16 @@ object WeChatPluginHandler {
private
fun
shareText
(
call
:
MethodCall
,
result
:
MethodChannel
.
Result
)
{
val
textObj
=
WXTextObject
()
textObj
.
text
=
call
.
argument
(
WechatPlugin
Config
.
TEXT
)
textObj
.
text
=
call
.
argument
(
WechatPlugin
Keys
.
TEXT
)
val
msg
=
WXMediaMessage
()
msg
.
mediaObject
=
textObj
msg
.
description
=
call
.
argument
(
WechatPlugin
Config
.
TEXT
)
msg
.
description
=
call
.
argument
(
WechatPlugin
Keys
.
TEXT
)
val
req
=
SendMessageToWX
.
Req
()
req
.
message
=
msg
setCommonArguments
(
call
,
req
)
wxApi
?.
sendReq
(
req
)
result
.
success
(
true
)
}
...
...
@@ -81,7 +86,7 @@ object WeChatPluginHandler {
val
msg
=
WXMediaMessage
(
miniProgramObj
)
msg
.
title
=
call
.
argument
(
"title"
)
// 小程序消息title
msg
.
description
=
call
.
argument
(
"description"
)
// 小程序消息desc
var
thumbnail
:
String
?
=
call
.
argument
(
WechatPlugin
Config
.
THUMBNAIL
)
var
thumbnail
:
String
?
=
call
.
argument
(
WechatPlugin
Keys
.
THUMBNAIL
)
thumbnail
=
thumbnail
?:
""
if
(
thumbnail
.
isNullOrBlank
())
{
...
...
@@ -100,10 +105,10 @@ object WeChatPluginHandler {
}
private
fun
shareImage
(
call
:
MethodCall
,
result
:
MethodChannel
.
Result
)
{
val
imagePath
=
call
.
argument
<
String
>(
WechatPlugin
Config
.
IMAGE
)
val
imagePath
=
call
.
argument
<
String
>(
WechatPlugin
Keys
.
IMAGE
)
val
imgObj
=
createWxImageObject
(
imagePath
)
if
(
imgObj
==
null
)
{
result
.
error
(
WechatPlugin
.
TAG
,
WechatPlugin
.
FILE_NOT_EXIST
,
imagePath
)
result
.
error
(
CallResult
.
RESULT_FILE_NOT_EXIST
,
CallResult
.
RESULT_
FILE_NOT_EXIST
,
imagePath
)
return
}
...
...
@@ -116,7 +121,7 @@ object WeChatPluginHandler {
//
// val thumbBmp = Bitmap.createScaledBitmap(bmp, THUMB_SIZE, THUMB_SIZE, true)
// bmp.recycle()
msg
.
thumbData
=
WeChatThumbnailUtil
.
thumbnailForCommon
(
call
.
argument
(
WechatPlugin
Config
.
THUMBNAIL
),
registrar
)
msg
.
thumbData
=
WeChatThumbnailUtil
.
thumbnailForCommon
(
call
.
argument
(
WechatPlugin
Keys
.
THUMBNAIL
),
registrar
)
//
val
req
=
SendMessageToWX
.
Req
()
setCommonArguments
(
call
,
req
)
...
...
@@ -132,14 +137,14 @@ object WeChatPluginHandler {
val
key
=
imagePath
.
substring
(
WeChatPluginImageSchema
.
SCHEMA_ASSETS
.
length
,
imagePath
.
length
)
val
assetFileDescriptor
=
AssetManagerUtil
.
openAsset
(
registrar
,
key
,
""
)
imageFile
=
FileUtil
.
createTmpFile
(
assetFileDescriptor
)
}
else
if
(
imagePath
.
startsWith
(
WeChatPluginImageSchema
.
SCH
ME
A_FILE
)){
}
else
if
(
imagePath
.
startsWith
(
WeChatPluginImageSchema
.
SCH
EM
A_FILE
)){
imageFile
=
File
(
imagePath
)
}
if
(
imageFile
!=
null
&&
imageFile
.
exists
()){
imgObj
=
WXImageObject
()
imgObj
.
setImagePath
(
imagePath
)
}
else
{
Log
.
d
(
WechatPlugin
.
TAG
,
WechatPlugin
.
FILE_NOT_EXIST
)
Log
.
d
(
WechatPlugin
.
TAG
,
CallResult
.
RESULT_
FILE_NOT_EXIST
)
}
return
imgObj
...
...
@@ -160,15 +165,15 @@ object WeChatPluginHandler {
}
private
fun
getScene
(
value
:
String
)
=
when
(
value
.
toLowerCase
())
{
WechatPlugin
Config
.
TIMELINE
->
SendMessageToWX
.
Req
.
WXSceneTimeline
WechatPlugin
Config
.
SESSION
->
SendMessageToWX
.
Req
.
WXSceneSession
WechatPlugin
Config
.
FAVORITE
->
SendMessageToWX
.
Req
.
WXSceneFavorite
WechatPlugin
Keys
.
TIMELINE
->
SendMessageToWX
.
Req
.
WXSceneTimeline
WechatPlugin
Keys
.
SESSION
->
SendMessageToWX
.
Req
.
WXSceneSession
WechatPlugin
Keys
.
FAVORITE
->
SendMessageToWX
.
Req
.
WXSceneFavorite
else
->
SendMessageToWX
.
Req
.
WXSceneTimeline
}
private
fun
setCommonArguments
(
call
:
MethodCall
,
req
:
SendMessageToWX
.
Req
)
{
req
.
transaction
=
call
.
argument
(
WechatPlugin
Config
.
TRANSACTION
)
req
.
scene
=
getScene
(
call
.
argument
(
WechatPlugin
Config
.
SCENE
))
req
.
transaction
=
call
.
argument
(
WechatPlugin
Keys
.
TRANSACTION
)
req
.
scene
=
getScene
(
call
.
argument
(
WechatPlugin
Keys
.
SCENE
))
}
}
\ No newline at end of file
android/src/main/kotlin/com/jarvanmo/wechatplugin/utils/WeChatThumbnailUtil.java
浏览文件 @
3c7ec5a1
package
com
.
jarvanmo
.
wechatplugin
.
utils
;
import
android.content.res.AssetFileDescriptor
;
import
android.graphics.Bitmap
;
import
android.graphics.BitmapFactory
;
import
com.jarvanmo.wechatplugin.con
fig
.WeChatPluginImageSchema
;
import
com.jarvanmo.wechatplugin.con
stant
.WeChatPluginImageSchema
;
import
java.io.File
;
import
java.io.IOException
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论