HarmonyOS NEXT实战:通过微信分享内容

##HarmonyOS Next实战##三方SDK##教育##

前提条件:已接入微信SDK

参考资料: https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Share_and_Favorites/ohos.html

为什么要通过微信分享内容? 通过微信分享内容具有多方面显著的好处,以下从传播效果维度展开详细分析:

  • 覆盖面广:微信拥有庞大的用户基数,截至目前月活跃用户数超13亿。当你分享内容到微信时,你的好友、好友的好友(通过转发)都有可能看到,能迅速将信息扩散到大量潜在受众面前。例如,一篇优质的科普文章在微信朋友圈分享后,经过多级转发,可能在短时间内获得数万甚至数十万的阅读量,大大拓宽了内容的传播范围。
  • 精准触达:微信是基于社交关系建立的平台,分享的内容会优先推送给你的微信好友和关注的公众号粉丝。这些人与你存在一定的社交关联或兴趣共鸣,对分享内容的接受度相对较高。比如,你是一位摄影爱好者,在微信群分享摄影技巧和作品,群里的摄影同好们会更感兴趣,能更精准地触达目标受众。
  • 传播速度快:微信的信息传播具有即时性,一旦分享内容,好友可以立即看到。而且,通过朋友圈、微信群等渠道,内容可以在短时间内被大量转发和传播,形成病毒式传播效应。例如,一条有趣的搞笑视频在微信上分享后,可能几分钟内就被转发到多个群和朋友圈,迅速在网络上传播开来。

以下为通过微信分享内容的鸿蒙项目代码实战: ************

import { GlobalKey, GlobalUtil, Logger } from "@heduohao/bases";
import { bundleManager } from "@kit.AbilityKit";
import { BusinessError } from "@kit.BasicServicesKit";
import { WXApi } from "../sdk/weixin/WXApi";
import * as wxopensdk from '@tencent/wechat_open_sdk';
import { common } from "@kit.AbilityKit";
import { image } from "@kit.ImageKit";

export class WeixinUtil {
  /**
   * 判断是否已安装微信
   * @returns
   */
  static isInstalled() {
    const isInstalled = WXApi.isWXAppInstalled()
    return isInstalled
  }

  /**
   * 判断是否已安装微信
   */
  static isInstalled_old() {
    try {
      let canOpen = bundleManager.canOpenLink('weixin://');
      Logger.info(`WeixinUtil.IsInstalled = ${JSON.stringify(canOpen)}`);
      return true
    } catch (err) {
      let message = (err as BusinessError).message;
      Logger.error(`WeixinUtil.IsInstalled failed, err = ${message}`);
      return false
    }
  }

  /**
   * 分享文字
   * @param text
   */
  static shareText(text: string) {
    let textObject = new wxopensdk.WXTextObject()
    textObject.text = text
    let mediaMessage = new wxopensdk.WXMediaMessage()
    mediaMessage.mediaObject = textObject
    let req = new wxopensdk.SendMessageToWXReq()
    req.scene = wxopensdk.SendMessageToWXReq.WXSceneSession
    req.message = mediaMessage
    //获取UIAbilityContext
    const context = GlobalUtil.getObject(GlobalKey.UIAbilityContext) as common.UIAbilityContext;
    WXApi.sendReq(context, req)
  }

  /**
   * 分享网页内容
   * @param url
   * @param title
   * @param description
   * @param callbackAbility 微信跳回宿主App时拉起的ability名字,如果不填则默认是'EntryAbility'
   */
  static async shareWeb(url: string, title: string, description: string, callbackAbility: string = 'EntryAbility') {
    const webpageObject = new wxopensdk.WXWebpageObject()
    webpageObject.webpageUrl = url

    const mediaMessage = new wxopensdk.WXMediaMessage()
    mediaMessage.mediaObject = webpageObject
    mediaMessage.title = title
    mediaMessage.description = description

    //获取UIAbilityContext
    const context = GlobalUtil.getObject(GlobalKey.UIAbilityContext) as common.UIAbilityContext;
    const thumbData = await context.resourceManager.getMediaContent($rawfile('[bases].drawable-xxhdpi/ic_logo.png'))
    const thumbPixel = image.createImageSource(thumbData.buffer).createPixelMapSync()
    const thumbBuffer = await image.createImagePacker().packToData(thumbPixel, { format: "image/png", quality: 100 })
    mediaMessage.thumbData = new Uint8Array(thumbBuffer)

    const req = new wxopensdk.SendMessageToWXReq()
    req.callbackAbility = callbackAbility
    req.scene = wxopensdk.SendMessageToWXReq.WXSceneSession
    req.message = mediaMessage
    WXApi.sendReq(context, req)
  }
}
全部评论

相关推荐

昨天 13:34
已编辑
门头沟学院 Java
mt六个字,让我破防了。昨天学校下午考完试然后被舍友拉着打游戏还喝的烂醉,然后三点睡七点起床上班,身上还是一股酒味。八点半上班八点到已经成为习惯了。mt是九点到的。今天是他拉我进项目的第一天,就是配环境了解项目。mt从九点到岗之后一坐就是一早上,一早上都在盯代码,偶尔指导一下其他实习生。中午十一点多点个外卖十二点午休吃外卖,边吃外卖边工作十多分钟吃完。吃完丢个外卖然后回工位接着工作。中午一点关灯休息mt还在工作回客户。我试探性问了一下mt“哥你平时有啥爱好?”mt愣了一下,“还有工作要做。”“还有工作要做”这短短的六个字。突然一下子给到我心灵巨大的震撼。我不知道这六个字背后是“我现在有工作做你先不要烦我。”还是“我没有其他的爱好,因为我的生活有很多工作要做。”自然我也是希望是前者。后者也许是我脑补出来的。但是看到mt真的像cpu一样整天都在工作我不免自我反思了一下。“好像我也没有爱好,似乎只有工作能够让我的内心踏实一些。如果不时刻除外一种腹背受敌的感觉,处在那种安逸放松的环境我会感觉到恐慌。”看到朋友圈别人出去旅游自然是羡慕,但是真的自己说“要不出去旅游”的时候,又想到要花很多钱,要用很多时间,也许那个地方并不好看。别人打游戏打的不亦乐乎的时候,我却觉得“这种游戏不就这个玩法吗也就只有这些结果了吧无非就是这样那样”。别人吃好吃的时候我也会羡慕但是真到自己要不吃点啥的时候“唉吃饱就行不花那么多钱钱存起来。”反正各种东西都羡慕,但是自己其实也没有很想做吧。是什么时候开始变成这样子的呢?也许从看到身边很多大一大二和其他学长学姐的人进大厂了的时候就已经有了。仿佛不在“正途”前行奔跑着,就是一种罪过。就像高三身体不舒适也硬撑着上课一样,在高三这样的环境放松就是罪过。在当下的就业环境也是这样吗?“曾迷途才怕追不上满街赶路人。”“仿似一路飞奔七八十岁。”也许我的一生,每一天都像mt一样度过了。
牛客在线求职答疑中心
点赞 评论 收藏
分享
机械打工仔:有说的你怀疑一下就行了,直接问也太实诚了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务