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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/76798.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/76798.shtml
英文地址,請注明出處:http://en.pswp.cn/web/76798.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

tomcat集成redis實現共享session

中間件&#xff1a;Tomcat、Redis、Nginx jar包要和tomcat相匹配 jar包&#xff1a;commons-pool2-2.2.jar、jedis-2.5.2.jar、tomcat-redis-session-manage-tomcat7.jar 配置Tomcat /conf/context.xml <?xml version1.0 encodingutf-8?> <!--Licensed to the A…

JavaScript 擴展Array類方法實現數組求和

題目描述&#xff1a;使用原型對象擴展Array類&#xff0c;實現返回數字型數組的和 <script>const arr [1,2,3,4,5,6]Array.prototype.sum function(){return this.reduce((prev,item)>prev item,0)}console.log(arr.sum())</script>求和函數中this 指向調用…

中間件--ClickHouse-11--部署示例(Linux宿主機部署,Docker容器部署)

一、Linux宿主機部署 1、環境準備 操作系統&#xff1a;推薦使用 CentOS 7/8 或 Ubuntu 18.04/20.04。硬件要求&#xff1a; 至少 2 核 CPU 和 4GB 內存。足夠的磁盤空間&#xff08;根據數據量評估&#xff09;。CPU需支持SSE4.2指令集&#xff08;可通過以下命令檢查&#…

鴻蒙NEXT開發權限工具類(申請授權相關)(ArkTs)

import abilityAccessCtrl, { Permissions } from ohos.abilityAccessCtrl; import { bundleManager, common, PermissionRequestResult } from kit.AbilityKit; import { BusinessError } from ohos.base; import { ToastUtil } from ./ToastUtil;/*** 權限工具類&#xff08;…

LVGL學習(二)(lv_label,lv_btn)

3-1_標簽(lv_label) 一、標簽的組成&#xff08;盒子模型&#xff09;?? 標簽由三個核心模塊構成&#xff0c;類似便簽紙的??分層設計??&#xff1a; ??LV_PART_MAIN&#xff08;主體層&#xff09;?? ??功能??&#xff1a;相當于便簽紙的"紙面"&…

深度剖析神經網絡:從基礎原理到面試要點(二)

引言 在人工智能蓬勃發展的今天&#xff0c;神經網絡作為其核心技術之一&#xff0c;廣泛應用于圖像識別、自然語言處理、語音識別等眾多領域。深入理解神經網絡的數學模型和結構&#xff0c;對于掌握人工智能技術至關重要。本文將對神經網絡的關鍵知識點進行詳細解析&#xf…

【java+Mysql】學生信息管理系統

學生信息管理系統是一種用于管理學生信息的軟件系統&#xff0c;旨在提高學校管理效率和服務質量。本課程設計報告旨在介紹設計和實現學生信息管理系統的過程。報告首先分析了系統的需求&#xff0c;包括學生基本信息管理、成績管理等功能。接著介紹了系統的設計方案&#xff0…

Linux mmp文件映射補充(自用)

addr一般為NULL由OS指明&#xff0c;length所需長度&#xff08;4kb對齊&#xff09;&#xff0c;prot&#xff08;權限&#xff0c;一般O_RDWR以讀寫&#xff09;&#xff0c; flag&#xff08;MAP_SHARED(不刷新到磁盤上&#xff0c;此進程獨有)和MAP_PRIVATE&#xff08;刷新…

Nginx openresty web服務 與 Go 原生web服務性能對比

1 概述 Nginx采用的是IO復用模型&#xff0c;能處理超高并發。 Go語言采用協程&#xff0c;能輕量級的處理超高并發。 那么在不考慮業務邏輯復雜的前提下&#xff0c;即假如將Nginx和Go都提供一個/test接口&#xff0c;并在接口邏輯中都只是讓其做20毫秒的耗時操作&#xff0c…

[創業之路-377]:企業法務 - 有限責任公司與股份有限公司的優缺點對比

有限責任公司&#xff08;簡稱“有限公司”&#xff09;與股份有限公司&#xff08;簡稱“股份公司”&#xff09;是我國《公司法》規定的兩種主要公司形式&#xff0c;二者在設立條件、治理結構、股東權利義務等方面存在顯著差異。以下從核心特征、設立條件、治理結構、股東權…

QEMU源碼全解析 —— 塊設備虛擬化(21)

接前一篇文章:QEMU源碼全解析 —— 塊設備虛擬化(20) 本文內容參考: 《趣談Linux操作系統》 —— 劉超,極客時間 《QEMU/KVM源碼解析與應用》 —— 李強,機械工業出版社 特此致謝! 上一回開始解析blockdev_init函數,講到了其中調用的blk_new_open函數,該函數的作用…

藍橋杯中的知識點

總結&#xff1a; 這次考的并不理想 比賽前好多知識點遺漏 但到此為止已經結束了 mod 是 模運算&#xff08;Modulo Operation&#xff09;的縮寫&#xff0c;表示求兩個數相除后的 余數 10mod31 (a % b) &#xff08;7%21&#xff09; 1e9代表1乘以10的9次方&#xff0c…

批量替換多個 Word 文檔中的指定圖片

在 Word 文檔中&#xff0c;我們可以插入各種各樣的圖片&#xff0c;比如插入 logo、插入設計圖、施工圖等等。在某些情況下&#xff0c;我們也會碰到需要將 Word 文檔中某張圖片替換成其它圖片的場景&#xff0c;比如將舊的 Logo 替換成新的 Logo。當我們有大量的 Word 文檔需…

基于微信小程序的中醫小妙招系統的設計與實現

hello hello~ &#xff0c;這里是 code袁~&#x1f496;&#x1f496; &#xff0c;歡迎大家點贊&#x1f973;&#x1f973;關注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f981;作者簡介&#xff1a;一名喜歡分享和記錄學習的在校大學生…

Java 8 新特性深度解析:現代編程的轉折點

精心整理了最新的面試資料和簡歷模板&#xff0c;有需要的可以自行獲取 點擊前往百度網盤獲取 點擊前往夸克網盤獲取 Java 8 是 Java 發展史上的重要里程碑&#xff0c;它引入了函數式編程范式、增強了集合處理能力&#xff0c;并徹底革新了日期時間處理方式。本文將通過代碼示…

鷓鴣云平臺實時追蹤任務進度的核心機制

一、?三維可視化監控? BIMGIS融合建模?&#xff1a;通過無人機測繪與三維建模技術生成施工場地數字孿生模型&#xff0c;支持實時查看各標段三維模型與施工進度的匹配度&#xff0c;偏差超過5%自動觸發預警。 進度匹配度分析?&#xff1a;中央數據中臺整合施工規劃、資源…

【Spring Boot】MyBatis多表查詢的操作:注解和XML實現SQL語句

1.準備工作 1.1創建數據庫 &#xff08;1&#xff09;創建數據庫&#xff1a; CREATE DATABASE mybatis_test DEFAULT CHARACTER SET utf8mb4;&#xff08;2&#xff09;使用數據庫 -- 使?數據數據 USE mybatis_test;1.2 創建用戶表和實體類 創建用戶表 -- 創建表[??表…

ISO15189認證有什么要求?ISO15189認證流程

ISO 15189 認證要求及流程詳解 ISO 15189 是國際標準化組織&#xff08;ISO&#xff09;針對 醫學實驗室質量和能力 的認證標準&#xff0c;適用于醫院檢驗科、第三方醫學實驗室、血站等機構。該認證確保實驗室的技術能力和管理體系符合國際標準&#xff0c;提高檢測結果的準確…

【Linux】調試工具gdb的認識和使用指令介紹(圖文詳解)

目錄 1、debug和release的知識 2、gdb的使用和常用指令介紹&#xff1a; &#xff08;1&#xff09;、windows下調試的功能&#xff1a; &#xff08;2&#xff09;、進入和退出&#xff1a; &#xff08;3&#xff09;、調試過程中的相關指令&#xff1a; 3、調試究竟是在…

【Pytorch 中的擴散模型】去噪擴散概率模型(DDPM)的實現

介紹 廣義上講&#xff0c;擴散模型是一種生成式深度學習模型&#xff0c;它通過學習到的去噪過程來創建數據。擴散模型有很多變體&#xff0c;其中最流行的通常是文本條件模型&#xff0c;它可以根據提示生成特定的圖像。一些擴散模型&#xff08;例如 Control-Net&#xff0…