|
|
@@ -1,4 +1,5 @@
|
|
|
import {
|
|
|
+ IMediaObject,
|
|
|
PayReq,
|
|
|
SendAuthReq,
|
|
|
SendMessageToWXReq,
|
|
|
@@ -6,6 +7,7 @@ import {
|
|
|
WXAPIFactory,
|
|
|
WXImageObject,
|
|
|
WXMediaMessage,
|
|
|
+ WXTextObject,
|
|
|
WXWebpageObject
|
|
|
} from '@tencent/wechat_open_sdk';
|
|
|
import { ContextHelper } from '../ContextHelper';
|
|
|
@@ -71,19 +73,42 @@ export class WechatUtil {
|
|
|
* 微信分享
|
|
|
*/
|
|
|
static async handleWeChatShare(shareData: ShareParams) {
|
|
|
- // 下载并获取图片URI
|
|
|
- const thumbBuffer = await ImageUtil.downLoadToBoxWithQuality(shareData.imageUrl!, 30)
|
|
|
+ let mediaObject: IMediaObject
|
|
|
+ switch (shareData.type) {
|
|
|
+ case 0:
|
|
|
+ const webpageObject = new WXWebpageObject()
|
|
|
+ webpageObject.webpageUrl = shareData.href! // 设置跳转链接
|
|
|
+ mediaObject = webpageObject
|
|
|
+
|
|
|
+ break
|
|
|
+ case 1:
|
|
|
+ const textObject = new WXTextObject()
|
|
|
+ textObject.text = shareData.summary
|
|
|
+ mediaObject = textObject
|
|
|
+ break
|
|
|
+ case 2:
|
|
|
+ const imageObject = new WXImageObject()
|
|
|
+ imageObject.uri = fileUri.getUriFromPath(await ImageUtil.downLoadToBox(shareData.imageUrl!))
|
|
|
+ mediaObject = imageObject
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ // 默认网页分享
|
|
|
+ const defaultWebpageObject = new WXWebpageObject()
|
|
|
+ defaultWebpageObject.webpageUrl = shareData.href!
|
|
|
+ mediaObject = defaultWebpageObject
|
|
|
+ break
|
|
|
+ }
|
|
|
|
|
|
- // 创建网页对象,包含跳转链接
|
|
|
- const webpageObject = new WXWebpageObject()
|
|
|
- webpageObject.webpageUrl = shareData.href // 设置跳转链接
|
|
|
|
|
|
let mediaMessage = new WXMediaMessage()
|
|
|
- mediaMessage.title = shareData.title || '「接单宝」✔ 任务简单 ✔ 上线就能赚✔ 提现快速到账'
|
|
|
- mediaMessage.description = shareData.summary || '「接单宝」✔ 任务简单 ✔ 上线就能赚✔ 提现快速到账'
|
|
|
- mediaMessage.thumbData = new Uint8Array(thumbBuffer!)
|
|
|
- // mediaMessage.thumbMediaObject = imageObject // 设置缩略图
|
|
|
- mediaMessage.mediaObject = webpageObject // 设置网页对象
|
|
|
+ mediaMessage.title = shareData.title
|
|
|
+ mediaMessage.description = shareData.summary
|
|
|
+ if (shareData.type == 0) {
|
|
|
+ const thumbBuffer = await ImageUtil.downLoadToBoxWithQuality(shareData.imageUrl!, 30)
|
|
|
+ mediaMessage.thumbData = new Uint8Array(thumbBuffer!)
|
|
|
+ }
|
|
|
+
|
|
|
+ mediaMessage.mediaObject = mediaObject! // 设置网页对象
|
|
|
|
|
|
let req = new SendMessageToWXReq()
|
|
|
req.scene = shareData.scene == 'WXSceneSession' ? SendMessageToWXReq.WXSceneSession :
|
|
|
@@ -94,26 +119,4 @@ export class WechatUtil {
|
|
|
|
|
|
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 微信分享
|
|
|
- */
|
|
|
- /**
|
|
|
- * 微信分享
|
|
|
- */
|
|
|
- static async handleWeChatShareTest(shareData: ShareParams) {
|
|
|
- let imageObject = new WXImageObject()
|
|
|
-
|
|
|
- imageObject.uri = fileUri.getUriFromPath(await ImageUtil.downLoadToBox(shareData.imageUrl!));
|
|
|
-
|
|
|
- let mediaMessage = new WXMediaMessage()
|
|
|
- mediaMessage.mediaObject = imageObject
|
|
|
-
|
|
|
- let req = new SendMessageToWXReq()
|
|
|
- req.scene = SendMessageToWXReq.WXSceneSession
|
|
|
- req.message = mediaMessage
|
|
|
-
|
|
|
- await WechatUtil.getWechatApi().sendReq(ContextHelper.UIAbilityContext, req)
|
|
|
- }
|
|
|
}
|