当前位置: 首页 > article >正文

weibo_har鸿蒙微博分享,单例二次封装,鸿蒙微博,微博登录

weibo_har鸿蒙微博分享,单例二次封装,鸿蒙微博

HarmonyOS 5.0.3 Beta2 SDK,原样包含OpenHarmony SDK Ohos_sdk_public 5.0.3.131 (API Version 15 Beta2)

🏆简介

@zyl/weibo_har是微博封装使用,支持原生core使用

🌞下载安装

ohpm install @zyl/weibo_har // 微博分享类ohpm i @zyl/commonlibhar // 可搭配使用操作数据,如网络图片->沙箱路径->微博分享类

效果如下
图片
在这里插入图片描述
视频

在这里插入图片描述

🙏使用说明

前期准备

有关资料可参考
sdk接入流程
官方开发文档

产物,APP_KEY_WB,REDIRECT_URL_WB,SCOPE_WB

(1)module.json5 配置文件修改

// module.json5 的"module"节点下配置 querySchemes
"querySchemes": ["sinaweibo",
]  

(1)EntryAbility.ets 配置文件修改

  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {// 初始化微博sdkShareWeiBoSdk.getInstance().initSdkCreate(new AuthInfo(this.context, APP_KEY_WB, // 申请REDIRECT_URL_WB,// 申请SCOPE_WB// 申请))// 接受回调的ShareWeiBoSdk.mWBAPI?.doWBAsResult(want,this.context);
}
//....onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void {// 接受回调的ShareWeiBoSdk.mWBAPI?.doWBAsResult(want,this.context);
}

微博是否安装

checkWeiBoApp()

const flag = checkWeiBoApp() // 布尔值

微博分享

处理数据可查看har包,如网络图片存沙箱路径,base63等点击跳转

doWeiboShare

  • @param text 文本
  • @param string[] // 沙箱路径
  • @returns Promise<WeiboShareCallBack>
import { doWeiboShare, ShareWeiBoSdk, WeiboShareCallBack } from "@zyl/weibo_har";doWeiboShare(text, [this.pixmapUri])

分享类完整分享代码

由于限制,分享了视频就覆盖了图片,切视频只能传一组。

await doWeiboShare(‘分享的文字’, strs) // 分享图片
await doWeiboShare(‘分享的文字’, [],[{videoPath: videoPath, coverPath: strs[0]}]) // 分享视频


ohpm i @zyl/commonlibhar
ohpm install @zyl/weibo_har
//.......
import { doWeiboShare, ShareWeiBoSdk, WeiboShareCallBack } from '@zyl/weibo_har';
import {  downloadImageWithUrlsToFile, downloadVideoWithFiles } from '@zyl/commonlibhar';
// .......Button('微博分享').onClick(async () => {try {const strs: string[] = await downloadImageWithUrlsToFile(["https://i-avatar.csdnimg.cn/72ceb7652a604f8daa327a5c2d7169e5_weixin_42301175.jpg!1","https://i-blog.csdnimg.cn/direct/55a24ef3c6e1481286dc46b452316d4f.png"])const videoPath =  await downloadVideoWithFiles('http://47.122.120.244/dist/video.MP4')console.log('doWeiboShare1doWeiboSharethenpixmapUri1',videoPath)//  await doWeiboShare('分享的文字', strs) // 分享图片//  await doWeiboShare('分享的文字', [],[{videoPath:  videoPath, coverPath: strs[0]}]) // 分享视频const res: WeiboShareCallBack<string> = await doWeiboShare('分享的文字', strs,[{videoPath:  videoPath,coverPath: strs[0] // 视频封面} ])if (res.code === 200) {//成功,拿到数据//登录成功调用用户数据的接口} else if (res.code === 499) {// 用户取消} else if (res.code === 400) {// 登录失败}}catch (e) {console.log('eeeeeee',e)}})

微博登录(web登录,授权登录)

微博登录(web登录)

import {  Oauth2AccessToken,UiError,WbASListener,ShareWeiBoSdk } from '@zyl/weibo_har';let listener: WbASListener = {onComplete: (token: Oauth2AccessToken) => {console.log('微博授权成功',token)},onError: (error: UiError) => {console.log('微博授权出错',error)},onCancel: () => {console.log('微博授权取消')}};
if (ShareWeiBoSdk.mWBAPI != null) {ShareWeiBoSdk.mWBAPI?.authorizeWeb(listener);
}

微博登录(客户端授权登录)

import {  Oauth2AccessToken,UiError,WbASListener,ShareWeiBoSdk } from '@zyl/weibo_har';const contexts: common.UIAbilityContext = getContext(this) as common.UIAbilityContextButton('微博登录(客户端授权登录)').onClick(()=>{let listener: WbASListener = {onComplete: (token: Oauth2AccessToken) => {// 微博授权成功},onError: (error: UiError) => {//微博授权出错},onCancel: () => {//微博授权取消}};ShareWeiBoSdk.mWBAPI?.authorizeClient(contexts, listener);})

原生方法便于扩展

ShareWeiBoSdk.mWBAPI

相关文章:

weibo_har鸿蒙微博分享,单例二次封装,鸿蒙微博,微博登录

weibo_har鸿蒙微博分享&#xff0c;单例二次封装&#xff0c;鸿蒙微博 HarmonyOS 5.0.3 Beta2 SDK&#xff0c;原样包含OpenHarmony SDK Ohos_sdk_public 5.0.3.131 (API Version 15 Beta2) &#x1f3c6;简介 zyl/weibo_har是微博封装使用&#xff0c;支持原生core使用 &a…...

【MySQL数据库入门到精通-06 DCL操作】

一、DCL DCL英文全称是Data Control Language(数据控制语言)&#xff0c;用来管理数据库用户、控制数据库的访 问权限。 二、管理用户 1.查询与创建用户 代码如下&#xff08;示例&#xff09;&#xff1a; -- DCL 管理用户 -- 1.查询用户 use mysql; select *from user;-…...

第55讲:农业人工智能的跨学科融合与社会影响——构建更加可持续、包容的农业社会

目录 一、农业人工智能的多维融合:科技与社会的桥梁 1. 技术与社会:解决现代农业中的不平等 2. AI与伦理:塑造道德规范与社会责任 3. AI与政策:推动农业政策的科学决策与智能执行 二、AI与农业未来社会的构建:更绿色、更智能、更包容 1. 推动农业可持续发展:绿色农…...

nodejs之Express-介绍、路由

五、Express 1、express 介绍 express 是一个基于 Node.js 平台的极简、灵活的 WEB 应用开发框架,官方网址: https://www.expressjs.com.cn/ 简单来说,express 是一个封装好的工具包,封装了很多功能,便于我们开发 WEB 应用(HTTP 服务) (1)基本使用 第一步:初始化项目并…...

无感字符编码原址转换术——系统内存(Mermaid文本图表版/DeepSeek)

安全便捷无依赖&#xff0c;不学就会无感觉。 笔记模板由python脚本于2025-04-24 20:00:05创建&#xff0c;本篇笔记适合正在研究字符串编码制式的coder翻阅。 学习的细节是欢悦的历程 博客的核心价值&#xff1a;在于输出思考与经验&#xff0c;而不仅仅是知识的简单复述。 P…...

ecovadis认证需要提供哪些文件?ecovadis认证优势是什么?

EcoVadis认证详解&#xff1a;所需文件与核心优势 一、EcoVadis认证需要提供哪些文件&#xff1f; EcoVadis评估基于企业提交的ESG&#xff08;环境、社会、治理&#xff09;相关文档&#xff0c;具体包括以下四类核心主题的文件&#xff1a; 1. 环境&#xff08;Environment…...

第七部分:向量数据库和索引策略

什么是矢量数据库&#xff1f; 简单来说&#xff0c;向量数据库是一种专门化的数据库&#xff0c;旨在优化存储和检索以高维向量形式表示的文本。 为什么这些数据库对RAG至关重要&#xff1f;因为向量表示能够在大规模文档库中进行高效的基于相似性的搜索&#xff0c;根据用户…...

Java 2025 技术全景与实战指南:从新特性到架构革新

作为一名Java开发者&#xff0c;2025年的技术浪潮将带给我们前所未有的机遇与挑战。本文将带你深入探索Java生态的最新发展&#xff0c;从语言特性到架构革新&#xff0c;助你在技术洪流中把握先机&#xff01; &#x1f31f; Java 2025 新特性全景 1. 模式匹配的全面进化 (J…...

查看MAC 地址以及简单了解

MAC地址 简介 MAC 地址&#xff08;Media Access Control Address&#xff09;&#xff0c;直译为媒体访问控制地址&#xff0c;又称局域网地址&#xff08;LAN Address&#xff09;、MAC 地址、以太网地址&#xff08;Ethernet Address&#xff09;、硬件地址&#xff08;Ha…...

c语言 write函数

write函数 #include <unistd.h>ssize_t write(int fd, const void *buf, size_t count); 参数说明 fd:这是文件描述符,用于指定要写入数据的目标对象。文件描述符是一个非负整数,它代表了一个打开的文件、设备、管道等。常见的文件描述符有: 0:标准输入(stdin)。…...

Halcon 的基础用法

基础语法 1. 下载链接2. 赋值3. 判断符4. 循环5. 加载图片6. 读取文件夹下所有图片 1. 下载链接 链接:https://pan.baidu.com/s/1ZhQ_tTcubUtUggbb-OxUGw?pwdw3rs 提取码:w3rs 2. 赋值 x : 1 s : hello list2 : [a, b, c]3. 判断符 * 等于比较符 if(x 1)h : 6 endif* 不等…...

《100天精通Python——基础篇 2025 第2天:Python解释器安装与基础语法入门》

目录 一、Windows安装Python1.1 下载并安装 Python1.2 测试安装是否成功 二、Linux系统安装Python(新手可以跳过)2.1 基于RockyLinux系统安装Python(编译安装)2.2 基于Ubuntu系统安装Python(编译安装)2.3 macOS 安装python解释器 三、如何运行Python程序&#xff1f;3.1 Python…...

MyBatis 和 MyBatis-Plus 在 Spring Boot 中的配置、功能对比及 SQL 日志输出的详细说明,重点对比日志输出的配置差异

以下是 MyBatis 和 MyBatis-Plus 在 Spring Boot 中的配置、功能对比及 SQL 日志输出的详细说明&#xff0c;重点对比日志输出的配置差异&#xff1a; 1. MyBatis 和 MyBatis-Plus 核心对比 特性MyBatisMyBatis-Plus定位基础持久层框架MyBatis 的增强版&#xff0c;提供代码生…...

【大模型有哪些训练阶段?】

大模型&#xff08;如 GPT、BERT 等&#xff09;训练一般可以分为以下 三个主要阶段&#xff0c;每个阶段都承担着不同的职责&#xff0c;共同推动模型从“语言新手”成长为“多任务专家”。 &#x1f9e0; 一、预训练阶段&#xff08;Pre-training&#xff09; &#x1f4cc;…...

动手试一试 Spring Boot默认缓存管理

1.准备数据 使用之前创建的springbootdata的数据库&#xff0c;该数据库有两个表t_article和t_comment&#xff0c;这两个表预先插入几条测试数据。 2.编写数据库表对应的实体类 Entity(name "t_comment") public class Comment {IdGeneratedValue(strategy Gener…...

A2A Agent 框架结构化分析报告

A2A Agent 框架结构化分析报告 第一章 绪论 1.1 引言 在全球数字化转型的浪潮中&#xff0c;人工智能&#xff08;Artificial Intelligence, AI&#xff09;技术正以前所未有的速度改变着我们的生活和工作方式。然而&#xff0c;随着AI系统的广泛应用&#xff0c;单一AI系统…...

Opencv图像处理:旋转、打包、多图像匹配

文章目录 一、图像的旋转1、使用numpy方法实现旋转1&#xff09;顺时针旋转90度2&#xff09;逆时针旋转90度 2、使用opencv的方法实现图像旋转1&#xff09;顺时针旋转90度2&#xff09;逆时针旋转90度3&#xff09;旋转180度 3、效果 二、多图像匹配1、模板2、匹配对象3、代码…...

BOM与DOM(解疑document window关系)

BOM&#xff08;浏览器对象模型&#xff09; 定义与作用 BOM&#xff08;Browser Object Model&#xff09;提供与浏览器窗口交互的接口&#xff0c;用于控制导航、窗口尺寸、历史记录等浏览器行为 window&#xff1a;浏览器窗口的顶层对象&#xff0c;包含全局属性和方法&am…...

数据仓库建设全解析!

目录 一、数据仓库建设的重要性 1. 整合企业数据资源 2. 支持企业决策制定 3. 提升企业竞争力 二、数据仓库建设的前期准备 1. 明确业务需求 2. 评估数据源 3. 制定项目计划 三、数据仓库建设的具体流程 1.需求分析​ 2.架构设计​ 3.数据建模​ 4.ETL 开发​ 5.…...

时序约束 记录

一、基础知识 1、fpga的约束文件为.fdc&#xff0c;synopsys的约束文件为.sdc。想通过fpga验证soc设计是否正确&#xff0c;可以通过syn工具(synplify)吃.fdc把soc code 转换成netlist。然后vivado P&R工具通过吃上述netlist、XDC 出pin脚约束、fdc时序约束三个约束来完成…...

Redis-cli常用参数及功能的详细说明

Redis-cli常用参数及功能的详细说明 相关参考知识书籍 <<Redis运维与开发>> 以下是Redis-cli常用参数及功能的详细说明 1. **-r​&#xff08;重复执行命令&#xff09;** 作用&#xff1a;重复执行指定命令多次。 示例&#xff1a;执行3次PING​命令&#xff1…...

第十七届山东省职业院校技能大赛 中职组网络建设与运维赛项

第十七届山东省职业院校技能大赛 中职组网络建设与运维赛项 赛题 B 卷 第十七届山东省职业院校技能大赛中职组网络建设与运维赛项 1 赛题说明 一、竞赛项目简介 “网络建设与运维”竞赛共分为以下三个模块&#xff1a;  网络理论测试&#xff1b;  网络建设与调试&#xf…...

基于SpringBoot的在线抽奖系统测试用例报告

一、项目背景 在线抽奖系统采用前后端分离的方法来实现&#xff0c;同时使用了数据库来存储相关的数据&#xff0c;redis来缓存验证码&#xff0c;RabbitMQ来缓存信息队列&#xff0c;同时将其部署到云服务器上。前端主要有登录页、后台管理页、活动列表页&#xff0c;抽奖页等…...

DeepSeek 部署中的常见问题及解决方案全解析

一、环境配置与依赖安装问题 1. 权限不足导致部署失败 问题现象&#xff1a;启动服务时提示权限错误&#xff0c;或无法访问文件系统。 解决方案&#xff1a; 账号权限&#xff1a;以管理员身份运行命令&#xff08;Linux/macOS 使用 sudo&#xff0c;Windows 使用 PowerShe…...

26考研|数学分析:数项级数

数项级数这一章的开始&#xff0c;开启了新的关于“级数”这一新的概念体系的学习进程&#xff0c;此部分共包含四章的内容&#xff0c;分别为数项级数、函数项级数、幂级数以及傅里叶级数。这一章中&#xff0c;首先要掌握级数的相关概念与定义&#xff0c;重难点在于掌握判断…...

likeadmin前端请求地址配置踩坑

likeadmin前端本地调试执行步骤 第一步&#xff1a;npm i 安装项目所有依赖 第二步&#xff1a;npm run dev 启动 报错&#xff0c;发送的请求没通&#xff0c;很显然请求的地址不存在 第三步&#xff1a;查找接口请求地址 配置 根目录下有个.env.production.example 文件…...

Linux平台实现低延迟的RTSP、RTMP播放

在流媒体播放器的开发过程中&#xff0c;RTSP&#xff08;实时流协议&#xff09;和RTMP&#xff08;实时消息协议&#xff09;是广泛应用的流媒体协议。本博客将介绍如何使用大牛直播SDK实现一个Linux平台下的RTSP/RTMP播放器。大牛直播SDK的Linux平台播放SDK&#xff0c;支持…...

计算机视觉——速度与精度的完美结合的实时目标检测算法RF-DETR详解

概述 目标检测已经取得了长足的发展&#xff0c;尤其是随着基于 Transformer 的模型的兴起。RF-DETR&#xff0c;由 Roboflow 开发&#xff0c;就是这样一种模型&#xff0c;它兼顾了速度和精度。使用 Roboflow 的工具可以让整个过程变得更加轻松。他们的平台涵盖了从上传和标…...

系统思考:技术与产品协同

在《第五项修炼》中&#xff0c;彼得圣吉指出&#xff1a;组织中最根本的问题&#xff0c;往往不是个别人的能力&#xff0c;而是思维的局限和系统之间的断裂。我最近要给一家互联网公司交付系统思考的项目&#xff0c;客户希望技术和产品的管理者一起参加&#xff0c;也问我&a…...

面试之消息队列

消息队列场景 什么是消息队列&#xff1f; 消息队列是一个使用队列来通信的组件&#xff0c;它的本质就是个转发器&#xff0c;包含发消息、存消息、消费消息。 消息队列怎么选型&#xff1f; 特性ActiveMQRabbitMQRocketMQKafka单机吞吐量万级万级10万级10万级时效性毫秒级…...