Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-fluwx
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
openSourceLibrary
clx-fluwx
Commits
7d55a329
Unverified
提交
7d55a329
authored
1月 04, 2025
作者:
WinterTech
提交者:
GitHub
1月 04, 2025
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加鸿蒙分享网页和小程序,微信sdk升级1.0.6 (#681)
增加鸿蒙分享网页和小程序,微信sdk升级1.0.6 --------- Co-authored-by:
luo
<
245842834@qq.com
>
上级
bad9e51e
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
77 行增加
和
13 行删除
+77
-13
SHARE_CN.md
doc/SHARE_CN.md
+17
-0
oh-package.json5
ohos/oh-package.json5
+1
-1
FluwxShareHandler.ets
...main/ets/components/plugin/handlers/FluwxShareHandler.ets
+59
-12
没有找到文件。
doc/SHARE_CN.md
浏览文件 @
7d55a329
...
@@ -4,6 +4,23 @@
...
@@ -4,6 +4,23 @@
```
dart
```
dart
fluwx
.
share
(
WeChatShareTextModel
(
"source text"
,
scene:
WeChatScene
.
SESSION
));
fluwx
.
share
(
WeChatShareTextModel
(
"source text"
,
scene:
WeChatScene
.
SESSION
));
```
```
鸿蒙分享网页:
```
dart
fluwx
.
share
(
WeChatShareWebPageModel
(
"https://www."
,
title:
"标题"
,
description:
"描述"
,
thumbData:
data
));
```
鸿蒙分享小程序:
```
dart
fluwx
.
share
(
WeChatShareMiniProgramModel
(
thumbData:
data
,
//64kb内
webPageUrl:
'https://www.'
,
userName:
'gh_b6cxxxxxx'
,
path:
path
,
title:
title
,
));
```
绝大部分分享可以分享到会话,朋友圈,收藏(小程序目前只能分享到会话)。默认分享到会话。
绝大部分分享可以分享到会话,朋友圈,收藏(小程序目前只能分享到会话)。默认分享到会话。
```
dart
```
dart
...
...
ohos/oh-package.json5
浏览文件 @
7d55a329
...
@@ -7,6 +7,6 @@
...
@@ -7,6 +7,6 @@
"license": "Apache-2.0",
"license": "Apache-2.0",
"dependencies": {
"dependencies": {
"@ohos/flutter_ohos": "file:./har/flutter.har",
"@ohos/flutter_ohos": "file:./har/flutter.har",
"@tencent/wechat_open_sdk": "1.0.
3
"
"@tencent/wechat_open_sdk": "1.0.
6
"
}
}
}
}
ohos/src/main/ets/components/plugin/handlers/FluwxShareHandler.ets
浏览文件 @
7d55a329
import { Any, MethodCall, MethodResult } from "@ohos/flutter_ohos"
import { Any, MethodCall, MethodResult } from "@ohos/flutter_ohos"
import * as wechatSDK from "@tencent/wechat_open_sdk"
import { WXAPiHandler } from "./WXAPiHandler"
import { buffer } from "@kit.ArkTS"
import { buffer } from "@kit.ArkTS"
import { fileUri } from "@kit.CoreFileKit"
import { fileUri } from "@kit.CoreFileKit"
import * as wxopensdk from '@tencent/wechat_open_sdk';
import { WXAPiHandler } from "./WXAPiHandler"
export class FluwxShareHandler {
export class FluwxShareHandler {
share(call: MethodCall, result: MethodResult) {
share(call: MethodCall, result: MethodResult) {
...
@@ -16,8 +16,7 @@ export class FluwxShareHandler {
...
@@ -16,8 +16,7 @@ export class FluwxShareHandler {
this.shareText(call, result);
this.shareText(call, result);
break;
break;
case "shareMiniProgram":
case "shareMiniProgram":
// TODO
this.shareMiniProgram(call, result);
result.notImplemented();
break;
break;
case "shareImage":
case "shareImage":
this.shareImage(call, result);
this.shareImage(call, result);
...
@@ -31,8 +30,7 @@ export class FluwxShareHandler {
...
@@ -31,8 +30,7 @@ export class FluwxShareHandler {
result.notImplemented();
result.notImplemented();
break;
break;
case "shareWebPage":
case "shareWebPage":
// TODO
this.shareWebPage(call, result);
result.notImplemented();
break;
break;
case "shareFile":
case "shareFile":
// TODO
// TODO
...
@@ -45,13 +43,13 @@ export class FluwxShareHandler {
...
@@ -45,13 +43,13 @@ export class FluwxShareHandler {
}
}
async shareText(call: MethodCall, result: MethodResult) {
async shareText(call: MethodCall, result: MethodResult) {
const textObj = new w
echatSDK
.WXTextObject();
const textObj = new w
xopensdk
.WXTextObject();
textObj.text = call.argument("source");
textObj.text = call.argument("source");
const mediaMsg = new w
echatSDK
.WXMediaMessage();
const mediaMsg = new w
xopensdk
.WXMediaMessage();
mediaMsg.mediaObject = textObj;
mediaMsg.mediaObject = textObj;
const req = new w
echatSDK
.SendMessageToWXReq();
const req = new w
xopensdk
.SendMessageToWXReq();
req.message = mediaMsg;
req.message = mediaMsg;
const done = await WXAPiHandler.wxApi?.sendReq(WXAPiHandler.uiContext, req);
const done = await WXAPiHandler.wxApi?.sendReq(WXAPiHandler.uiContext, req);
...
@@ -64,7 +62,7 @@ export class FluwxShareHandler {
...
@@ -64,7 +62,7 @@ export class FluwxShareHandler {
// const imageHash: string | null = call.argument("imgDataHash");
// const imageHash: string | null = call.argument("imgDataHash");
const bytes: Uint8Array | null = map.get("uint8List");
const bytes: Uint8Array | null = map.get("uint8List");
const imageObj = new w
echatSDK
.WXImageObject();
const imageObj = new w
xopensdk
.WXImageObject();
if (bytes) {
if (bytes) {
const buff: buffer.Buffer = buffer.from(bytes.buffer);
const buff: buffer.Buffer = buffer.from(bytes.buffer);
...
@@ -76,13 +74,61 @@ export class FluwxShareHandler {
...
@@ -76,13 +74,61 @@ export class FluwxShareHandler {
}
}
}
}
const mediaMsg = new w
echatSDK
.WXMediaMessage();
const mediaMsg = new w
xopensdk
.WXMediaMessage();
mediaMsg.mediaObject = imageObj;
mediaMsg.mediaObject = imageObj;
const req = new w
echatSDK
.SendMessageToWXReq();
const req = new w
xopensdk
.SendMessageToWXReq();
req.message = mediaMsg;
req.message = mediaMsg;
const done = await WXAPiHandler.wxApi?.sendReq(WXAPiHandler.uiContext, req);
const done = await WXAPiHandler.wxApi?.sendReq(WXAPiHandler.uiContext, req);
result.success(done);
result.success(done);
}
}
async shareWebPage(call: MethodCall, result: MethodResult) {
const webpageObject = new wxopensdk.WXWebpageObject()
webpageObject.webpageUrl = call.argument("webPage")
const mediaMessage = new wxopensdk.WXMediaMessage()
mediaMessage.mediaObject = webpageObject
mediaMessage.title = call.argument("title")
mediaMessage.description = call.argument("description")
const thumbData: Uint8Array | null = call.argument("thumbData");
if (thumbData) {
mediaMessage.thumbData = thumbData;
}
const req = new wxopensdk.SendMessageToWXReq()
req.scene = wxopensdk.SendMessageToWXReq.WXSceneSession
req.message = mediaMessage
const done = await WXAPiHandler.wxApi?.sendReq(WXAPiHandler.uiContext, req);
result.success(done)
}
async shareMiniProgram(call: MethodCall, result: MethodResult) {
const miniProgramObject = new wxopensdk.WXMiniProgramObject()
miniProgramObject.userName = call.argument("userName")
miniProgramObject.path = call.argument("path")
miniProgramObject.miniprogramType = wxopensdk.WXMiniProgramType.RELEASE
const mediaMessage = new wxopensdk.WXMediaMessage()
mediaMessage.mediaObject = miniProgramObject
mediaMessage.title = call.argument("title")
mediaMessage.description = call.argument("description")
const thumbData: Uint8Array | null = call.argument("thumbData");
if (thumbData) {
mediaMessage.thumbData = thumbData;
}
const req = new wxopensdk.SendMessageToWXReq()
req.scene = wxopensdk.SendMessageToWXReq.WXSceneSession
req.message = mediaMessage
const done = await WXAPiHandler.wxApi?.sendReq(WXAPiHandler.uiContext, req);
result.success(done)
}
}
}
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论