如何將scratch3.0的作業自動提交到后台數據庫


大家都知道Scratch3.0開發后,默認是可以下載文件到電腦,但是如果是作為商業系統來說,我們需要將作業自動的提交到后台,因此有了這篇文章。

首先,我們來分解下開發步驟:

1.在菜單欄新增一個上傳到作業的菜單

2.點擊上傳到作業后,自動上傳到上傳文件目錄並返回URL地址(目前利用的是阿里雲的OSS對象)

3.將地址保存到用戶作業的數據庫表中

首先我們來分析下scratch3.0這個的結構

首先,我們需要新增一個上傳到作業的菜單

  1.打開SRC/components/menu-bar/menu-bar.jsx的414行

  

  其中,新增了SB3UpdateToWeb對象,以及IDgui.menuBar.updatetoweb

  由於scratch采用的是多語言版本,因此很多的文字其實都是存儲在對象里,你可以設置gui.menuBar.updatetoweb,若沒找到配置文件,則會采用默認的文字信息

  如果要知道如何新增id,請參考文章  https://www.cnblogs.com/lickies1983/p/11918610.html

  2下面,我們需要新增SB3UpdateToWeb定義

  

  3我們需要找到containers/sb3-downloader.jsx復制一份名稱為sb3-updatetoweb.jsx

  4找到scr/libs/download-blob.js 復制一份名稱更改為updatetoweb-blob.js

  5打開sb3-updatetoweb.jsx

    更改CLASS 定義為SB3UpdateToWeb,更改函數downloadBlob為updatetowebBlob

    同時將該文件下的所有的SB3Downloader更改為SB3UpdateToWeb(注意)

  目前為止,保存運行

 最后,相關的動作和操作其實都在updatetoweb-blob.js

   首先,需要將BLOB轉化為file格式

  提交upload時需要更換為formdata格式

  采用fetch提交到后台接口並返回url

  以上幾個步驟,請自行根據后台接口格式跟換

  

  最后一步是根據url采用fetch上傳到作業的數據庫,此部分根據接口自行處理

 

  附件:sb3-updatetoweb.jsx,updatetoweb-blob.js

  點擊下載

 

--------------------------------------------------------------------

博主:雷君(微軟MVP,眾聚互聯CEO)

長期致力於企業IT服務,以及青少年編程培訓課程

培訓機構討論熱線:18859773999

--------------------------------------------------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM