国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

鴻蒙原生開發-仿ChatGPT應用實戰

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-01-23 17:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

運行環境

DAYU200:4.0.10.16

SDK:4.0.10.15

IDE:4.0.600

前言

在配置好環境之后,可以嘗試這編寫一個較為簡單的應用程序練練手,這里選擇使用一個免費的API接口網站 ALAPI來嘗試編寫一個可進行對話的GPT應用程序。

創建項目

創建好項目之后可以先把helloworld的demo在真機上跑一下,注意需要簽名

簽名方式

隨后直接點擊運行,可以看到控制臺輸出

開發板效果如圖所示

修改圖標和名稱

項目中含有文件記錄了應用的圖標和名稱,一部分是設置里的,一部分是顯示在桌面的,需要將這兩部分均做修改。

第一部分目錄在AppScope/app.json5

如下圖所示,icon和label分別對應圖標與名稱,我們將這里改為我們需要的內容

此時在系統設置中我們的應用圖標和名稱應當都改過來了

修改桌面圖標和名稱

修改src/main/module.json5中如圖所示的label和icon。

我們修改label的時候,修改中文目錄下的就可以,具體操作衛按住ctrl跳轉時選擇中文路徑

更改后效果如下

對應用添加相關權限

由于使用ChatGpt需要使用網絡權限,我們在這里添加網絡權限

在src/main/module.json5中modele中添加配置

"requestPermissions": [{
  "name": "ohos.permission.INTERNET"
}],

自定義數據模型

本次調用GPT的API可以自定數據模型來實現,我們可以在ets目錄下新建Model文件夾,新建GPTModel文件(ts)

export class ChatGptModel {
  code: number = 0
  message: string = ""
  data: ChatGpt = new ChatGpt()
}

export class ChatGpt {
  content: string = ""

}

由于在API網站中查看ChatGPT調用時返回的參數較少,直接寫在里面

在網站的請求參數介紹中有這樣的內容

我們實現的時簡單的一對一的對話,所以message暫時可以不用管,在在線測試網站中嘗試

token可以通過注冊本網站來獲取[ ALAPI]

得到響應主體

{
  "code": 200,
  "msg": "success",
  "data": {
    "content": "你好!我是一個AI助手,可以幫助您回答問題和提供服務。有什么我可以為您做的嗎?"
  },
  "time": 1704790385,
  "usage": 1,
  "log_id": "603268355937845248"
}

可以看到我們需要的僅僅只有content內的內容。

創建輸入界面

作為一款問答式GPT應用,需要有用戶輸入的地方,我們這里簡單的做一個輸入頁面

輸入頁面可以直接在默認的index頁面中修改

輸入框組件

查詢按鈕

按鈕點擊時的事件,這里參考一篇博客,將用戶輸入內容傳遞給下一個頁面,下一個頁面我們將其命名為ChatGpt

源代碼如下

import router from '@ohos.router'

@Entry
@Component
struct Login {
  @State message: string = '歡迎使用ChatGpt'

  build() {
    Column() {
      TextInput({
        placeholder: "請輸入您的問題"
      }).onChange((value: string) = > {
        console.info("輸入的問題是" + value)
        this.message = value

      }).type(InputType.Normal)

      Button("查詢")
        .width("100%")
        .backgroundColor(Color.Orange)
        .fontColor(Color.Black)
        .margin({
          bottom: 10
        })
        .onClick(() = > {
          router.pushUrl({
            url: "pages/ChatGpt",
            params: {
              message: this.message
            }
          }, router.RouterMode.Single)
        })

    }.width("100%").height("100%").justifyContent(FlexAlign.Center).padding({
      left: "10", right: 10
    })
  }
}

創建HTTP請求

下面我們寫用戶點擊按鈕后的返回頁面

1.導入http模塊

登錄后復制

import http from '@ohos.net.http';
import { BusinessError } from '@ohos.base';

2.創建createHttp

let httpRequest = http.createHttp();

3.填寫HTTP地址

httpData() {

  // 3.每一個httpRequest對應一個HTTP請求任務,不可復用
  let httpRequest = http.createHttp();
  //4.
  httpRequest.request(// 填寫HTTP請求的URL地址,可以帶參數也可以不帶參數。URL地址需要開發者自定義。請求的參數可以在extraData中指定
    "https://v2.alapi.cn/api/chatgpt/pro",
    {
      method: http.RequestMethod.GET, // 可選,默認為http.RequestMethod.GET
      // // 開發者根據自身業務需要添加header字段
      header: [{
        'Content-Type': 'application/json'
      }],
      // 當使用POST請求時此字段用于傳遞內容
      extraData: {
        "token": "此處替換為你的token",
        "content":this.paramsFromIndex?.['message'],
        "max_tokens":"10000"
      },
      // expectDataType: http.HttpDataType.STRING, // 可選,指定返回數據的類型
      // usingCache: true, // 可選,默認為true
      // priority: 1, // 可選,默認為1
      // connectTimeout: 60000, // 可選,默認為60000ms
      // readTimeout: 60000, // 可選,默認為60000ms
      // usingProtocol: http.HttpProtocol.HTTP1_1, // 可選,協議類型默認值由系統自動指定
      // usingProxy: false, //可選,默認不使用網絡代理,自API 10開始支持該屬性
    }, (err: BusinessError, data: http.HttpResponse) = > {
    
    //對網絡數據的處理    
    if (!err) {


      // data.result為HTTP響應內容,可根據業務需要進行解析
      console.info('Result:' + JSON.stringify(data.result));
      let ChatGptModel: ChatGptModel = JSON.parse(data.result.toString())
      this.ChatGpt = ChatGptModel.data

      console.info('code:' + JSON.stringify(data.responseCode));
      // data.header為HTTP響應頭,可根據業務需要進行解析
      console.info('header:' + JSON.stringify(data.header));
      console.info('cookies:' + JSON.stringify(data.cookies)); // 8+
      // 當該請求使用完畢時,調用destroy方法主動銷毀
      httpRequest.destroy();
    } else {

      console.error('error:' + JSON.stringify(err));
      // 取消訂閱HTTP響應頭事件
      httpRequest.off('headersReceive');
      // 當該請求使用完畢時,調用destroy方法主動銷毀
      httpRequest.destroy();
    }
  }
  );
}

不要忘記將頁面添加到mainpage中

路徑src/main/resources/base/profile/main_pages.json

接下來就可以嘗試運行一下代碼,在開發板中運行效果如下

點擊查詢之后的效果如下:

如此,一個簡單的GPT程序就做好了還可以讓它幫你寫情書哦

最后附上HarmonyOSOpenHarmony的技術分布曲線圖:主頁保存

審核編輯 黃宇

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

    關注

    2

    文章

    2376

    瀏覽量

    66806
  • 鴻蒙
    +關注

    關注

    60

    文章

    2963

    瀏覽量

    45927
  • OpenHarmony
    +關注

    關注

    33

    文章

    3953

    瀏覽量

    21120
  • ChatGPT
    +關注

    關注

    31

    文章

    1598

    瀏覽量

    10280
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    M4-R1 開源鴻蒙(OpenHarmory)開發板丨串口調試助手實戰案例

    支持與高集成度設計,成為開發者體驗與學習鴻蒙系統的理想平臺。無論是智慧家居、教學實驗,還是設備通信,M4-R1都能提供穩定可靠的開發環境。本次分享的實戰案例——串口
    的頭像 發表于 12-31 11:16 ?8667次閱讀
    M4-R1 開源<b class='flag-5'>鴻蒙</b>(OpenHarmory)<b class='flag-5'>開發</b>板丨串口調試助手<b class='flag-5'>實戰</b>案例

    LuatOS AGPS 輔助定位開發實戰教程

    、數據解析、定位模塊調優等實戰環節,附帶完整代碼與調試技巧,助開發者快速上手。 ? 一、AGPS 概述 ? AGPS(Assisted GPS,輔助全球衛星定位系統)通過移動網絡預先獲取衛星星歷、時間等
    的頭像 發表于 10-31 17:34 ?1194次閱讀
    LuatOS AGPS 輔助定位<b class='flag-5'>開發</b><b class='flag-5'>實戰</b>教程

    【項目實戰】基于Hi3861的鴻蒙智能小車(循跡、超聲波避障、遠程控制、語音控制、4G定位)有教程代碼

    ,同時整理了詳細開發文檔資料,新手跟著也能慢慢搭起來,提升實戰能力。項目硬件清單鴻蒙智能小車項目使用的是紅框部分鴻蒙智能小車豪華套餐硬件以及語音控制項目模塊。項目功能
    的頭像 發表于 09-10 17:13 ?1325次閱讀
    【項目<b class='flag-5'>實戰</b>】基于Hi3861的<b class='flag-5'>鴻蒙</b>智能小車(循跡、超聲波避障、遠程控制、語音控制、4G定位)有教程代碼

    【HarmonyOS 5】金融應用開發鴻蒙組件實踐

    原生鴻蒙操作系統星河版,面向開發者開放申請,余承東宣布鴻蒙生態設備數達 8 億臺;建設銀行、郵儲銀行等完成鴻蒙
    的頭像 發表于 07-11 18:20 ?967次閱讀
    【HarmonyOS 5】金融應用<b class='flag-5'>開發</b><b class='flag-5'>鴻蒙</b>組件實踐

    鴻蒙5開發寶藏案例分享---一多開發實例(音樂)

    各位開發者小伙伴們好呀!今天咱們來點硬核干貨!最近在鴻蒙文檔中心挖到一座“金礦”——官方竟然暗藏了100+實戰案例,從分布式架構到交互動效優化應有盡有!這些案例不僅藏著華為工程師的私房技巧,還直接
    的頭像 發表于 06-30 11:54 ?779次閱讀

    鴻蒙5開發寶藏案例分享---優化應用包體積大小問題

    ?** 鴻蒙包體積優化實戰:藏在官方文檔里的寶藏技巧!** 大家好呀~我是你們的鴻蒙開發小伙伴!今天在翻官方文檔時,發現了一個超實用的「包體積優化」案例寶藏庫!這些技巧明明能大幅提升應
    發表于 06-13 10:09

    鴻蒙5開發寶藏案例分享---瀑布流優化實戰分享

    鴻蒙瀑布流性能優化實戰:告別卡頓的寶藏指南! 大家好!最近在鴻蒙文檔里挖到一個 性能優化寶藏庫 ,原來官方早就準備好了各種場景的最佳實踐!今天重點分享「瀑布流加載慢丟幀」的解決方案,附完整代碼解析
    發表于 06-12 17:41

    鴻蒙5開發寶藏案例分享---性能體驗設計

    ;性能優化\"關鍵詞! **如果大家在實戰中遇到卡頓難題,歡迎在評論區交流~ 也歡迎關注我,后續會持續分享鴻蒙開發實戰技巧! **? 希望這篇接地氣的總結能幫你避開性能深坑!如果覺得有
    發表于 06-12 16:45

    鴻蒙5開發寶藏案例分享---性能優化案例解析

    鴻蒙性能優化寶藏指南:實戰工具與代碼案例解析 大家好呀!今天在翻鴻蒙開發者文檔時,意外挖到一個 性能優化寶藏庫 ——原來官方早就提供了超多實用工具和案例,但很多小伙伴可能沒發現!這篇就
    發表于 06-12 16:36

    鴻蒙5開發寶藏案例分享---埋點開發實戰指南

    鴻蒙埋點開發寶藏指南:官方案例實戰解析,輕松搞定數據追蹤! 大家好呀!我是HarmonyOS開發路上的探索者。最近在折騰應用埋點時,意外發現了鴻蒙
    發表于 06-12 16:30

    鴻蒙5開發寶藏案例分享---切面編程實戰揭秘

    鴻蒙切面編程(AOP)實戰指南:隱藏的寶藏功能大揭秘! 大家好!今天在翻鴻蒙開發者文檔時,意外發現了官方埋藏的「切面編程」寶藏案例!實際開發
    發表于 06-12 16:21

    鴻蒙5開發寶藏案例分享---應用架構實戰技巧

    大家好! 今天咱們聊聊鴻蒙開發中那些“官方文檔提了但實際開發難找”的架構設計技巧。結合官方文檔,我會用 真實代碼案例+通俗講解 ,幫你把分層架構和線程通信落地到項目里,告別“理論會了,代碼不會
    發表于 06-12 16:14

    鴻蒙5開發寶藏案例分享---PC開發案例解析

    鴻蒙PC/2in1開發寶藏指南:官方案例實戰解析 大家好呀! 最近在折騰鴻蒙的PC/2in1應用開發,才發現官方文檔里藏了一堆超實用的案例!
    發表于 06-12 16:07

    中軟國際持續推進鴻蒙原生應用服務升級

    2025年,鴻蒙生態進入全面沖刺階段,已有20000+原生應用和元服務上架,3000+政企單位辦公應用加速上線。日前,國務院新聞辦公室舉行的經濟數據例行新聞發布會上,工業和信息化部信息通信發展司司長謝存提出:“推動更多 App 上架鴻蒙
    的頭像 發表于 05-21 17:01 ?1930次閱讀

    DevEco Studio 聯合小藝接入 DeepSeek,步驟更簡單開發鴻蒙更專業

    隨著小藝接入了 DeepSeek,智能體的問答變得更加絲滑流暢,讓人不禁想到鴻蒙原生應用開發如果接入這個智能體會產生什么樣的效果?確實,當我們把負責開發
    發表于 03-13 15:11