Skip to content

Commit 19d97cf

Browse files
authored
feat(ohos): bump wechat sdk to v1.0.14 and add impl for shareVideo (#710)
Signed-off-by: yeliulee <yeliuleet@gmail.com>
1 parent 6dcf6c5 commit 19d97cf

File tree

2 files changed

+55
-5
lines changed

2 files changed

+55
-5
lines changed

ohos/oh-package.json5

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77
"license": "Apache-2.0",
88
"dependencies": {
99
"@ohos/flutter_ohos": "file:./har/flutter.har",
10-
"@tencent/wechat_open_sdk": "1.0.11"
10+
"@tencent/wechat_open_sdk": "1.0.14"
1111
}
1212
}

ohos/src/main/ets/components/plugin/handlers/FluwxShareHandler.ets

Lines changed: 54 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ export class FluwxShareHandler {
2626
result.notImplemented();
2727
break;
2828
case "shareVideo":
29-
// TODO
30-
result.notImplemented();
29+
this.shareVideo(call, result);
3130
break;
3231
case "shareWebPage":
3332
this.shareWebPage(call, result);
@@ -50,6 +49,7 @@ export class FluwxShareHandler {
5049
mediaMsg.mediaObject = textObj;
5150

5251
const req = new wxopensdk.SendMessageToWXReq();
52+
this.setCommonArgs(call, req, mediaMsg);
5353
req.message = mediaMsg;
5454

5555
const done = await WXAPiHandler.wxApi?.sendReq(WXAPiHandler.uiContext, req);
@@ -78,6 +78,7 @@ export class FluwxShareHandler {
7878
mediaMsg.mediaObject = imageObj;
7979

8080
const req = new wxopensdk.SendMessageToWXReq();
81+
this.setCommonArgs(call, req, mediaMsg);
8182
req.message = mediaMsg;
8283

8384
const done = await WXAPiHandler.wxApi?.sendReq(WXAPiHandler.uiContext, req);
@@ -99,7 +100,7 @@ export class FluwxShareHandler {
99100
}
100101

101102
const req = new wxopensdk.SendMessageToWXReq()
102-
req.scene = wxopensdk.SendMessageToWXReq.WXSceneSession
103+
this.setCommonArgs(call, req, mediaMessage)
103104
req.message = mediaMessage
104105

105106
const done = await WXAPiHandler.wxApi?.sendReq(WXAPiHandler.uiContext, req);
@@ -124,11 +125,60 @@ export class FluwxShareHandler {
124125
}
125126

126127
const req = new wxopensdk.SendMessageToWXReq()
127-
req.scene = wxopensdk.SendMessageToWXReq.WXSceneSession
128+
this.setCommonArgs(call, req, mediaMessage)
128129
req.message = mediaMessage
129130

130131
const done = await WXAPiHandler.wxApi?.sendReq(WXAPiHandler.uiContext, req);
131132

132133
result.success(done)
133134
}
135+
136+
async shareVideo(call: MethodCall, result: MethodResult) {
137+
const videoObject = new wxopensdk.WXVideoObject()
138+
const videoUrl: string | undefined = call.argument("videoUrl");
139+
const videoLowBandUrl: string | undefined = call.argument("videoLowBandUrl");
140+
141+
if (videoUrl) {
142+
videoObject.videoUrl = videoUrl;
143+
} else {
144+
videoObject.videoLowBandUrl = videoLowBandUrl;
145+
}
146+
147+
const mediaMessage = new wxopensdk.WXMediaMessage()
148+
mediaMessage.mediaObject = videoObject
149+
mediaMessage.title = call.argument("title") || ""
150+
mediaMessage.description = call.argument("description") || ""
151+
152+
const req = new wxopensdk.SendMessageToWXReq()
153+
this.setCommonArgs(call, req, mediaMessage)
154+
req.message = mediaMessage
155+
const done = await WXAPiHandler.wxApi?.sendReq(WXAPiHandler.uiContext, req);
156+
result.success(done)
157+
}
158+
159+
setCommonArgs(call: MethodCall, req: wxopensdk.SendMessageToWXReq, msg: wxopensdk.WXMediaMessage) {
160+
const thumbData: Uint8Array | undefined = call.argument("thumbData");
161+
const messageAction: string | undefined = call.argument("messageAction");
162+
163+
if (thumbData) {
164+
msg.thumbData = thumbData;
165+
}
166+
167+
if (messageAction) {
168+
msg.messageAction = messageAction;
169+
}
170+
171+
const sceneIndex: number = call.argument("scene")
172+
switch (sceneIndex) {
173+
case 0:
174+
req.scene = wxopensdk.SendMessageToWXReq.WXSceneSession
175+
break
176+
case 1:
177+
req.scene = wxopensdk.SendMessageToWXReq.WXSceneTimeline
178+
break
179+
default:
180+
req.scene = wxopensdk.SendMessageToWXReq.WXSceneSession
181+
break
182+
}
183+
}
134184
}

0 commit comments

Comments
 (0)