精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

HarmonyOS百度網盤客戶端可適配手機頁面

OpenHarmony技術社區 ? 來源:HarmonyOS技術社區 ? 作者:HarmonyOS技術社區 ? 2022-01-04 13:58 ? 次閱讀

什么是菟盤?菟盤是由百度網盤開放平臺提供的 API 開發的一個百度網盤客戶端。主要提供網盤文件瀏覽,文件下載等。(100M 以下文件不限速,超過 100M 就是祖傳 100k/s了,支持會員加速)

百度網盤開放平臺:

https://pan.baidu.com/union/doc/

應用主入口

本應用主入口是 MainAbility,當打開應用時,會判斷用戶是否已登錄,未登錄會跳轉到登錄頁面,已登錄會跳轉到主頁。

登錄界面

登錄通過 webview 來請求百度的 access_token:

接入流程文檔:

https://pan.baidu.com/union/doc/0ksg0sbig

這里需要注意一個細節,官方文檔提供的授權地址是 PC 版的,需要改造一下,來適配手機頁面。

原理是先在百度 H5 端登錄,登錄完成后重定向至授權地址。

/*
百度應用信息
*/
StringYOUR_CLIENT_ID="";//填自己的
StringYOUR_REGISTERED_REDIRECT_URI="https://dsttl3.cn/baiduapi.html";//需要和自己在百度網盤開放平臺填寫的相同,有個地址就行,不需要在服務器操作。當然也可以在服務器請求token后直接返回。
StringYOUR_CLIENT_SECRET="";//填自己的

/**
*@return移動端登錄授權鏈接
*/

publicStringgetLoginUrl(){

Stringurl="https://openapi.baidu.com/oauth/2.0/authorize?response_type=code"+
"&client_id="+YOUR_CLIENT_ID+
"&redirect_uri="+YOUR_REGISTERED_REDIRECT_URI+
"&scope=basic,netdisk&force_login=0";
try{
url=URLEncoder.encode(url,"UTF-8");
url="https://wappass.baidu.com/passport/?login&tpl=wimn&sms=1®type=1&u="+
url+
"&extrajson=%7b%22src%22%3a%22se_000000%22%7d#/password_login";
returnurl;
}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
returnnull;
}
}

/**
*@returnAccess_token授權鏈接
*/

publicStringgetAccessTokenUrl(StringCODE){
return"https://openapi.baidu.com/oauth/2.0/token?grant_type=authorization_code"+
"&code="+CODE+
"&client_id="+YOUR_CLIENT_ID+
"&client_secret="+YOUR_CLIENT_SECRET+
"&redirect_uri="+YOUR_REGISTERED_REDIRECT_URI;
}

webview 內的操作:

WebViewwebView=(WebView)findComponentById(ResourceTable.Id_login_wv);
webView.getWebConfig().setJavaScriptPermit(true);
webView.setWebAgent(newWebAgent(){
@Override
publicbooleanisNeedLoadUrl(WebViewwebView,ResourceRequestrequest){
if(request.getRequestUrl().toString().startsWith("https://dsttl3.cn")){//這個鏈接是你所填寫的YOUR_REGISTERED_REDIRECT_URI這里只寫了開頭,效果相同
Stringcode=request.getRequestUrl().toString().split("code=")[1];
StringAccess_token_url=newAppUtils().getAccessTokenUrl(code);
newThread(newRunnable(){
@Override
publicvoidrun(){
try{
OkHttpClientclient=newOkHttpClient();
Requestrequest=newRequest.Builder().url(Access_token_url)
.header("User-Agent","pan.baidu.com")
.build();
Callcall=client.newCall(request);
StringaccessTokenJson=call.execute().body().string();
AccessTokenaccessToken=newGson().fromJson(accessTokenJson,AccessToken.class);
System.out.println(accessToken.getAccess_token());
getUITaskDispatcher().asyncDispatch(newRunnable(){
@Override
publicvoidrun(){
Preferencespreferences=newDataUtils().getPreferences(getApplicationContext());
preferences.putString("token",accessToken.getAccess_token());
preferences.flush();
Intentintent1=newIntent();
Operationoperation=newIntent.OperationBuilder()
.withBundleName(MyApp.bundleName)
.withAbilityName("cn.dsttl3.tupan.Ability.IndexAbility")
.build();
intent1.setOperation(operation);
startAbility(intent1);
terminateAbility();//因為登錄完成后無需返回改界面,通過terminateAbility()方法銷毀該界面
}
});
}catch(IOExceptione){
e.printStackTrace();
}
}
}).start();
returnfalse;
}
returnsuper.isNeedLoadUrl(webView,request);
}
});
webView.load(newAppUtils().getLoginUrl());//這里是上面轉換鏈接的方法

當用戶完成登錄后,token 就保存到本地了。

主頁面

使用 ListContainer 來顯示文件列表:

代碼有點多,不在本文介紹了,可以參考 ListContainer 的相關文檔。

這里介紹一下防手滑操作,當該應用只有一個界面時,一不小心返回,導致應用直接退出,可以使用這個方法進行一個提醒。

/**
*防止誤退出操作
*/
booleanexit=true;
@Override
publicbooleanonKeyDown(intkeyCode,KeyEventkeyEvent){
if(exit){
newToastDialog(getContext()).setText("再次返回退出程序").show();
exit=false;
newThread(newRunnable(){
@Override
publicvoidrun(){
Time.sleep(3000);//三秒內再次返回退出程序
exit=true;
}
}).start();
returntrue;
}else{
returnfalse;
}
}

下載頁面

提供兩種下載方式,本地下載和 Aria2 下載:

解析處理的鏈接不能直接下載,必需要設置 User-Agent 字段為 pan.baidu.com 才能正常下載。

怎么獲取該應用

①自己編譯,本文附件提供源碼

需要修改的地方:

包名:config.json 下的 bundleName和 cn.dsttl3.tupan 目錄下 MyApp.java 的 bundleName。不修改導致無法真機運行和頁面跳轉失敗。

填寫百度開放平臺應用信息:cn.dsttl3.tupan.utils 目錄下的 AppUtils.java:


/*
百度應用信息
*/
StringYOUR_CLIENT_ID="";//填自己的
StringYOUR_REGISTERED_REDIRECT_URI="https://dsttl3.cn/baiduapi.html";//需要和自己在百度網盤開放平臺填寫的相同,有個地址就行,不需要在服務器操作。當然也可以在服務器請求token后直接返回。
StringYOUR_CLIENT_SECRET="";//填自己的

簽名文件:這個需要自己操作。

②下載測試版

不需要自己下載代碼進行編譯,留言或私信華為賬號,我會給你添加測試。然后通過華為官方發送的短信進行下載。

https://harmonyos.51cto.com/posts/9636

原文標題:HarmonyOS版百度網盤客戶端

文章出處:【微信公眾號:HarmonyOS技術社區】歡迎添加關注!文章轉載請注明出處。

審核編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • PC
    PC
    +關注

    關注

    9

    文章

    2067

    瀏覽量

    154042
  • 編譯
    +關注

    關注

    0

    文章

    654

    瀏覽量

    32813
  • HarmonyOS
    +關注

    關注

    79

    文章

    1967

    瀏覽量

    30033

原文標題:HarmonyOS版百度網盤客戶端

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ★★★【<百度網1T永久容量領取教程>】

    只需要登陸百度云電腦客戶端--可獲100G容量、百度云移動(Andriod版、iPhone版、iPad版)--可獲360G容量、再支付1元錢就能換購564G容量,總共就是1T哦!
    發表于 08-22 09:19

    AD15百度網下載

    AD15百度網下載
    發表于 12-14 01:24

    百度網限速背后 領頭羊為何捉襟見肘

    近日,百度網對免費用戶限速100-200kb/秒的問題再引起熱議。對此,百度網盤回應稱,此舉是為了控制整個產品的運營成本,幫助產品更長久的活下去。但此說法似乎難以服眾。實際上,為實現經營盈利,
    的頭像 發表于 06-23 10:52 ?9242次閱讀

    百度網從存儲工具到個人云服務操作系統

    經過7年的發展,百度網已經積累了6個億的用戶規模,日活躍量在1億以上。百度網的月付費用戶已經超過千萬,與內容平臺合作推出的聯合會員,日訂單量已經超過了10萬。
    發表于 07-31 10:48 ?2033次閱讀

    金士頓聯手百度網開啟無縫存儲時代

    2019年8月12日,中國個人云存儲領軍企業百度網宣布與全球存儲領袖金士頓達成合作,通過金士頓DataTraveler Locker+ G3(DTLPG3)加密閃存盤與百度網的存儲
    發表于 08-16 10:55 ?643次閱讀

    百度網推傳輸助手功能 高效便捷收集并發送云端文件

    1月3日消息,百度網微信公眾號介紹了百度網新功能:傳輸助手。這是一個百度網開發的高效便捷收
    的頭像 發表于 01-03 15:39 ?4372次閱讀

    市場再迎新玩家,百度網或將不能持續高枕無憂的日子

    微博上關于“百度網疑推出國際版Dubox”的話題,將百度網拉回到大眾的視線里。而緊跟在話題后面的“該
    的頭像 發表于 09-24 10:34 ?2166次閱讀

    百度網國際版 Dubox 不限速和百度網盤成功融合

    相信關注我的讀者中沒有幾個不知道【百度網】了,也是大家相當熟悉的產品了,它也是國內網的佼佼者。 最近,百度網進軍海外了!不查不知道,一
    的頭像 發表于 09-27 11:17 ?3872次閱讀

    百度網PC版7.0.6更新:新增文檔大圖視圖模式

    日前,百度網PC版迎來了最新的7.0.6版本,在這個版本中,百度網盤帶來了一個很實用的新功能,新增了文檔的大圖視圖模式。 文檔大圖視圖模式可以方便用戶快速找到文檔,尤其是文檔很多的時候,該功能會讓
    的頭像 發表于 10-29 16:20 ?3279次閱讀

    百度網會員體系全新升級

    不知不覺,百度網已經迎來了8周年。
    的頭像 發表于 11-18 09:01 ?3795次閱讀

    百度網PC版7.0.9首頁全新改版 微信文件自動備份

    上周末,百度網PC版迎來了新版,也許你已經注意到了,在新版中,百度網的首頁進行了全新改版,更簡潔了。 此外,最新發布的百度網
    的頭像 發表于 12-14 11:59 ?3387次閱讀

    坐擁7億注冊用戶,百度網仍被認為是賠本買賣

    苦守8年,市場份額超過85%,坐擁7億注冊用戶,百度網仍被認為是賠本買賣。 1月11日,百度網
    的頭像 發表于 01-14 10:49 ?3260次閱讀

    百度網三星定制版網友實測不限速

    前幾天的三星Galaxy S21國行發布會上,三星宣布與百度合作,推出了特別版百度網,提供2TB的初始免費云存儲空間和5GB原畫質視頻空間。 在去年8月31日,三星決定下線云服務,不再支持相冊同步
    的頭像 發表于 01-22 17:10 ?4114次閱讀

    百度網盤運營主體變更遷移

    近日,有不少小伙伴發現,打開百度網APP后,彈出了“百度網服務升級”提示,需要同意新的隱私協議許可才能繼續使用。
    的頭像 發表于 01-25 10:27 ?3090次閱讀

    百度網APP資源下載

    百度網APP資源下載
    發表于 05-06 09:18 ?3次下載