scratch3.0二次開發之從scratch-www解讀引入的scratch-gui的props設置(顯示保存、分享等按鈕)

關於scratch-www

scratch-www,scratch網頁標準客戶端(Standalone web client for Scratch),用來搭建scratch網站。scratch-www通過在網頁中引入scratch-gui來實現scratch的功能。scratch-www的下載地址(https://github.com/LLK/scratch-www)。
scratch-www引入scratch-gui的代碼文件路徑是 scratch-www-develop\src\views\project-view.jsx

scratch-www引入scratch-gui

const GUI = require('scratch-gui'); //引入gui
const IntlGUI = injectIntl(GUI.default); //語言國際化

scratch-www中gui的props屬性設置

gui設置的props如下:

<IntlGUI
                            assetHost={this.props.assetHost}
                            authorId={this.props.authorId}
                            authorThumbnailUrl={this.props.authorThumbnailUrl}
                            authorUsername={this.props.authorUsername}
                            backpackHost={this.props.backpackHost}
                            backpackVisible={this.props.canUseBackpack}
                            basePath="/"
                            canCreateCopy={this.props.canCreateCopy}
                            canCreateNew={this.props.canCreateNew}
                            canEditTitle={this.props.canEditTitleInEditor}
                            canRemix={this.props.canRemix}
                            canSave={this.props.canSave}
                            canShare={this.props.canShare}
                            className="gui"
                            cloudHost={this.props.cloudHost}
                            enableCommunity={this.props.enableCommunity}
                            hasCloudPermission={this.props.isScratcher}
                            isShared={this.props.isShared}
                            projectHost={this.props.projectHost}
                            projectId={this.state.projectId}
                            projectTitle={this.props.projectInfo.title}
                            renderLogin={this.renderLogin}
                            onClickLogo={this.handleClickLogo}
                            onGreenFlag={this.handleGreenFlag}
                            onLogOut={this.props.handleLogOut}
                            onOpenRegistration={this.props.handleOpenRegistration}
                            onProjectLoaded={this.handleProjectLoaded}
                            onRemixing={this.handleIsRemixing}
                            onSetLanguage={this.handleSetLanguage}
                            onShare={this.handleShare}
                            onToggleLoginOpen={this.props.handleToggleLoginOpen}
                            onUpdateProjectData={this.handleUpdateProjectData}
                            onUpdateProjectId={this.handleUpdateProjectId}
                            onUpdateProjectThumbnail={this.props.handleUpdateProjectThumbnail}
                            onUpdateProjectTitle={this.handleUpdateProjectTitle}
                        />

props屬性解讀

assetHost

解釋:存儲、獲取圖片,聲音等資源的主機域名
默認值:https://assets.scratch.mit.edu
作用:

  1. storage通過assetHost獲取圖片、聲音等資源信息;
  2. 把在本地創建的圖片、聲音等資源上傳到assetHost;
  3. 在角色庫、背景庫、聲音庫中通過assetHost加載圖片和聲音;

authorId

解釋:項目project的作者 id
默認值:false
作用:
給scratch-gui/src/components/menu-bar/menu-bar.jsx 代碼中的AuthorInfo組件的userId屬性傳遞值,用於顯示作者信息

authorThumbnailUrl

解釋:獲取作者頭像的網址
作用:
給scratch-gui/src/components/menu-bar/menu-bar.jsx 代碼中的AuthorInfo組件的imageUrl屬性傳遞值,用於顯示作者頭像

authorUsername

解釋:作者的用戶名
作用:
給scratch-gui/src/components/menu-bar/menu-bar.jsx 代碼中的AuthorInfo組件的username屬性傳遞值,用於顯示作者用戶名
authorId,authorThumbnailUrl,authorUsername 給authorInfo組件賦值
當作者和用戶不同時,顯示project的作者信息
當作者和用戶不同時,顯示project的作者信息

backpackHost

解釋:存儲、獲取書包資源的主機域名
默認值:https://backpack.scratch.mit.edu

backpackVisible

解釋:是否顯示gui中書包的區域
默認值:false,登陸後爲 true

basePath

解釋:設置基本路徑
默認值:/
作用:網頁用來獲取gui裏static文件夾裏的圖片、聲音等資源

canCreateCopy

在這裏插入圖片描述
解釋:是否顯示保存副本的按鈕
默認值:false
作用:保存當前project,新建project,內容和當前project一樣,可以說是複製了當前的project

canCreateNew

解釋:是否可以新建作品
默認值:false,登陸後爲true
作用:當爲false時,用戶不能新建project,爲true時可以新建project;

canEditTitle

在這裏插入圖片描述
在這裏插入圖片描述
解釋:是否可以編輯標題 title
默認值:false
作用:顯示標題編輯框,false時不顯示,true時顯示。

canRemix

在這裏插入圖片描述
解釋:是否顯示改編按鈕
默認值:false
作用:改編別人的project。

canSave

在這裏插入圖片描述
解釋:是否顯示立即保存按鈕,當用戶已登陸,且project的作者和用戶是同一個時,顯示
默認值:false
作用:保存當前的project

canShare

在這裏插入圖片描述
解釋:是否顯示立即分享按鈕
默認值:false
作用:分享發佈當前的project

cloudHost

解釋:雲主機地址

enableCommunity

在這裏插入圖片描述
解釋:是否顯示 查看作品按鈕
默認值:false
作用:打開作品(play.html)頁面,在作品頁面可以編輯標題,描述,操作說明等

hasCloudPermission

解釋:是否擁有云權限

isShared

在這裏插入圖片描述
解釋:是否顯示已分享按鈕(作品分享後顯示)
默認值:false

projectHost

解釋:project主機域名
默認值:https://projects.scratch.mit.edu

projectId

解釋:project的id

projectTitle

解釋:project的title

renderLogin

在這裏插入圖片描述
解釋:渲染登陸框,添加登陸框組件

onClickLogo

解釋:函數,返回點擊logo時的跳轉地址
默認值:首頁

onGreenFlag

解釋:點擊綠旗時要觸發的函數

onLogOut

解釋:點擊退出登陸觸發的函數

onOpenRegistration

解釋:點擊“加入scratch” 觸發的方法
作用:彈出註冊框

onProjectLoaded

解釋:project加載完後觸發的方法
作用:設置project是否加載完

onRemixing

解釋:當點擊改編按鈕時,正在改編狀態時觸發的方法

onSetLanguage

解釋:設置語言的方法

onShare

解釋:設置分享的方法

onToggleLoginOpen

解釋:顯示或關閉登陸框的方法

onUpdateProjectData

解釋:更新項目數據的方法

onUpdateProjectId

解釋:當project項目的id改變時觸發的方法
作用:改變當前瀏覽器project 地址的id。

onUpdateProjectThumbnail

解釋:更新project縮略圖的方法

onUpdateProjectTitle

解釋:更新project的標題觸發的方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章