




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
三.一JSON配置文件微信小程序遼寧師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院孫芳第四章微信小程序組件一二三四Contents第三章微信小程序基礎(chǔ)知識(shí)第五章微信小程序API五六第二章第一個(gè)微信小程序云開發(fā)第六章云開發(fā)第一章概述第七章綜合項(xiàng)目案例七第六章云開發(fā)Contents六.一云開發(fā)能力介紹云開發(fā)應(yīng)用小實(shí)例——新聞列表小程序六.二
云開發(fā)4云開發(fā)為開發(fā)者提供了云函數(shù),數(shù)據(jù)庫,存儲(chǔ),云調(diào)用,HTTPAPI五大基礎(chǔ)服務(wù)端能力,讓開發(fā)者無需搭建服務(wù)器,弱化服務(wù)端開發(fā)以及運(yùn)維概念,只專注于小程序開發(fā)。云開發(fā)能力介紹六.一云開發(fā)地云函數(shù),數(shù)據(jù)庫,存儲(chǔ),HTTPAPI這四大能力為開發(fā)者提供了服務(wù)端代碼運(yùn)行環(huán)境,數(shù)據(jù)存儲(chǔ),資源存儲(chǔ)以及提供鑒權(quán)地調(diào)用小程序提供地開發(fā)能力。表六-一云開發(fā)能力介紹能力作用說明云函數(shù)無需開發(fā)者搭建服務(wù)器一個(gè)在基于Node.js地運(yùn)行環(huán)境地代碼,而且擁有私有協(xié)議地天然鑒權(quán)功能,開發(fā)者只需要編寫自身業(yè)務(wù)邏輯代碼即可。數(shù)據(jù)庫提供了一個(gè)JSON數(shù)據(jù)庫功能,無需開發(fā)者自建數(shù)據(jù)庫該JSON數(shù)據(jù)庫,既可以在小程序端直接使用,也可以在云函數(shù)調(diào)用該數(shù)據(jù)庫存儲(chǔ)提供資源存儲(chǔ)能力,而且自帶CDN功能開發(fā)者無需待見購買文件服務(wù)端與CDN。而且該存儲(chǔ)小程序端可以直接使用,提供云開發(fā)控制臺(tái)可視化管理HTTPAPI為小程序外訪問云開發(fā)資源能力該章節(jié)不在這本書討論范圍內(nèi),如有需要請查看微信官方文檔。云函數(shù)六.一.一六.一.一云函數(shù)云函數(shù)就是在云端(服務(wù)器端)運(yùn)行地函數(shù)。開發(fā)者無需購買,搭建服務(wù)器,只需要編寫函數(shù)代碼,然后上傳到云端就可以在小程序端調(diào)用,同時(shí)云函數(shù)之間也可相互調(diào)用。云函數(shù)是運(yùn)行在Node.js環(huán)境。所以我們可以使用JavaScript語言開發(fā)。而且我們還可以通過云函數(shù)后端SDK搭配使用多種服務(wù),比如使用云函數(shù)SDK提供地?cái)?shù)據(jù)庫,存儲(chǔ)API行數(shù)據(jù)庫與存儲(chǔ)地操作。云函數(shù)還有個(gè)獨(dú)特地優(yōu)勢在于與微信登錄鑒權(quán)地?zé)o縫整合。當(dāng)小程序端調(diào)用云函數(shù)時(shí),云函數(shù)地傳入?yún)?shù)會(huì)被注入小程序端用戶地openid,開發(fā)者無需校驗(yàn)openid地正確因?yàn)槲⑿乓呀?jīng)完成了這部分鑒權(quán),開發(fā)者可以直接使用該openid。一.云函數(shù)示例在示例有個(gè)獲取用戶openid地云函數(shù)login。login云函數(shù)二.云函數(shù)調(diào)用通過"wx.cloud.callFunction()"來調(diào)用想使用地云函數(shù)。下面為在頁面調(diào)用login云函數(shù)獲取用戶地openid。//調(diào)用云函數(shù)wx.cloud.callFunction({name:'login',//調(diào)用地云函數(shù)名稱data:{},//向云函數(shù)傳遞地?cái)?shù)據(jù)success:res=>{//調(diào)用云函數(shù)返回地信息app.globalData.openid=res.result.openid;wx.navigateTo({url:'../userConsole/userConsole',})},
fail:err=>{console.error('[云函數(shù)][login]調(diào)用失敗',err)wx.navigateTo({url:'../deployFunctions/deployFunctions',})}})三.創(chuàng)建與發(fā)布部署云函數(shù)
首先在項(xiàng)目根目錄找到
project.config.json
文件,確定或指定本地已存在地目錄作為云函數(shù)地本地根目錄,這里系統(tǒng)默認(rèn)目錄為
cloudfunctions。指定云函數(shù)本地目錄然后在cloudfunctions文件夾下右鍵,選擇"新建Node.js云函數(shù)",新建名為sum地云函數(shù)。指定云函數(shù)本地目錄在sum云函數(shù),小程序向云函數(shù)傳遞兩個(gè)值a與b,然后在云函數(shù)返回兩個(gè)數(shù)之與。具體云函數(shù)代碼如下所示。//云函數(shù)入口文件constcloud=require('wx-server-sdk')cloud.init()//云函數(shù)入口函數(shù)exports.main=async(event,context)=>{return{sum:event.a+event.b}}云函數(shù)部署:鼠標(biāo)在sum云函數(shù)上右鍵,選擇"上傳并部署:云端安裝依賴(不上傳node_modules)"選項(xiàng)。發(fā)布部署sum云函數(shù)如果成功地話,就出現(xiàn)圖六-四彈窗。表示已經(jīng)發(fā)布部署成功。在小程序端調(diào)用這個(gè)函數(shù),代碼如下所示。testFunction(){wx.cloud.callFunction({name:'sum',data:{a:一,b:二},success:res=>{wx.showToast({title:'調(diào)用成功',})this.setData({result:JSON.stringify(res.result)})},fail:err=>{wx.showToast({icon:'none',title:'調(diào)用失敗',})console.error('[云函數(shù)][sum]調(diào)用失敗:',err)}})}四.監(jiān)控與測試云函數(shù)在開發(fā)者工具地云開發(fā)控制臺(tái),選"云函數(shù)"選項(xiàng),就可以看到已發(fā)布地所有云函數(shù)列表。云函數(shù)列表在此可新建云函數(shù),也可以測試云函數(shù)云端測試模板云端測試詳細(xì)云函數(shù)地日志輸出:云函數(shù)日志云函數(shù)監(jiān)控:云函數(shù)監(jiān)控?cái)?shù)據(jù)庫六.一.二一,數(shù)據(jù)庫地基本概念云開發(fā)提供地?cái)?shù)據(jù)庫所存儲(chǔ)地每一條數(shù)據(jù)記錄都是JSON對象,類似于mongoDB等NoSql數(shù)據(jù)庫。在云開發(fā)數(shù)據(jù)庫沒有表(table)等概念,它對應(yīng)地是JSON數(shù)據(jù)庫地集合。在JSON數(shù)據(jù)庫應(yīng)該怎樣存儲(chǔ)?23[{"categoryid":"f八九六八五五d五cf","categoryname":"科技新聞","newslist":[{"_id":"cbdb四c一六五cf九六五五a零零be二八七七二faab二五d","imgsrc":"cloud://test-九九a六三f.七四六五-test-九九a六三f-一二五六四八七六八九/一.jpg","title":"vivo可拆卸鏡頭手機(jī)火了","remarks":"vivoIFEA地?cái)z像頭模塊是屬于可更換地。比如可以隨意改裝魚眼,超廣角,廣角,長焦等官方提供地鏡頭模塊","datetime":"二零二零-零八-零一"},{"_id":"f八九六八五五d五cf九六六九b零零bd九dea三baa零三七七","imgsrc":"cloud://test-九九a六三f.七四六五-test-九九a六三f-一二五六四八七六八九/二.jpg","title":"為Mate四零外觀首曝","remarks":"如今,為Mate四零系列蓄勢待發(fā),除了麒麟九零零零芯片之外,最讓期待地莫過于新機(jī)地外觀設(shè)計(jì)。這一次,為將帶來怎樣地驚喜?","datetime":"二零二零-零八-零二"},]},{在JSON數(shù)據(jù)庫應(yīng)該怎樣存儲(chǔ)?24"categoryid":"ffr八五五d五cd","categoryname":"數(shù)碼新聞","newslist":[{"_id":"f八九六八五五d五cf九六七六e零零bdac七五一cab七b一四","imgsrc":"cloud://test-九九a六三f.七四六五-test-九九a六三f-一二五六四八七六八九/三.jpg","title":"iPhone一二地「數(shù)字?jǐn)z影」與「一鍵Ps」有什么不同?","remarks":"iPhone一二地「數(shù)字?jǐn)z影」與「一鍵Ps」有什么不同?數(shù)字?jǐn)z影地素材完全來源于拍攝時(shí)所得到地?cái)?shù)據(jù),不會(huì)有外來數(shù)據(jù)地引入。而一鍵Ps通常則會(huì)根據(jù)算法地喜好加入一些別地東西,從而掩蓋原始素材地缺點(diǎn)。","datetime":"二零二零-零八-零三"},{"_id":"f八九六八五五d五cf九六八四e零零bdbb五b二cf二五零四零","imgsrc":"cloud://test-九九a六三f.七四六五-test-九九a六三f-一二五六四八七六八九/四.jpg","title":"一加八T評(píng)測:一二零Hz高刷屏視覺續(xù)航全面提升","remarks":"一加八T地這塊一二零Hz高刷新率屏幕,在動(dòng)態(tài)效果顯示上具有更好地連貫,顯示效果更加滑,完全沒有任何地卡頓感。這里我們可以通過飛碟測試明顯地感受到,一二零Hz刷新率之下地流暢感,即便是在慢動(dòng)作下也能夠保持連貫地動(dòng)態(tài)效果。","datetime":"二零一九-零八-二五"},]}]25二,數(shù)據(jù)類型七.Geo:多種地理位置類型,包括Point(點(diǎn)),LineString(線段)Polygon(多邊形)MultiPoint(點(diǎn)集合)MultiLineString(線段集合)MultiPolygon(多邊形集合)。二.Number:數(shù)字一.String:字符串三.Object:對象四.Array:數(shù)組五.Bool:布爾值六.Date:時(shí)間,精確到毫秒八.Null:相當(dāng)于一個(gè)占位符,表示一個(gè)字段存在但是值為空。三,權(quán)限控制數(shù)據(jù)庫地權(quán)限分為小程序端與管理端,管理端包括云函數(shù)端與控制臺(tái)。小程序端運(yùn)行在小程序,讀寫數(shù)據(jù)庫受權(quán)限控制限制,管理端運(yùn)行在云函數(shù)上,擁有所有讀寫數(shù)據(jù)庫地權(quán)限。云控制臺(tái)地權(quán)限同管理端,擁有所有權(quán)限。小程序端操作數(shù)據(jù)庫應(yīng)有嚴(yán)格地安全規(guī)則限制。
在小程序創(chuàng)建地每個(gè)數(shù)據(jù)庫記錄都會(huì)帶有該記錄創(chuàng)建者(即小程序用戶)地信息,以_openid字段保存用戶地openid在每個(gè)相應(yīng)用戶創(chuàng)建地記錄。因此,權(quán)限控制也相應(yīng)圍繞著一個(gè)用戶是否應(yīng)該擁有權(quán)限操作其它用戶創(chuàng)建地?cái)?shù)據(jù)展開。27三.權(quán)限控制一僅創(chuàng)建者可寫,所有可讀:數(shù)據(jù)只有創(chuàng)建者可寫,所有可讀;比如文章。三僅管理端可寫,所有可讀:該數(shù)據(jù)只有管理端可寫,所有可讀;如商品信息。二僅創(chuàng)建者可讀寫:數(shù)據(jù)只有創(chuàng)建者可讀寫,其它用戶不可讀寫;比如用私密相冊。四僅管理端可讀寫:該數(shù)據(jù)只有管理端可讀寫;如后臺(tái)用地不暴露地?cái)?shù)據(jù)。(按照權(quán)限級(jí)別從寬到緊排列)管理端始終擁有讀寫所有數(shù)據(jù)地權(quán)限,小程序端始終不能寫它創(chuàng)建地?cái)?shù)據(jù),小程序端地記錄地讀寫權(quán)限其實(shí)分為了"所有可讀,只有創(chuàng)建者可寫","僅創(chuàng)建者可讀寫","所有可讀,僅管理端可寫","所有不可讀,僅管理端可讀寫"。28四.小程序端數(shù)據(jù)庫API實(shí)例29云開發(fā)數(shù)據(jù)庫操作API包括小程序端與服務(wù)端兩種。小程序端對數(shù)據(jù)庫地具體操作在操作數(shù)據(jù)庫API時(shí)首先要獲取數(shù)據(jù)庫引用。constdb=wx.cloud.database(); 也可以在獲取數(shù)據(jù)庫引用時(shí)傳入環(huán)境變量,獲取不同環(huán)境下地?cái)?shù)據(jù)庫,比如獲取環(huán)境為"test-一二三"下地?cái)?shù)據(jù)庫。如下所示。consttestDB=wx.cloud.database({env:'test-一二三'})(一)獲取數(shù)據(jù)庫引用(二)獲取數(shù)據(jù)a)獲取集合上地?cái)?shù)據(jù)(Collection.get)分為回調(diào)風(fēng)格與Promise風(fēng)格b)獲取集合上地?cái)?shù)據(jù)(Document.get)(三)添加數(shù)據(jù)(二)獲取數(shù)據(jù)(實(shí)例)30a)獲取集合上地?cái)?shù)據(jù)(Collection.get)實(shí)例代碼一:(獲取全部集合數(shù):此為回調(diào)風(fēng)格)此為Promise風(fēng)格:31實(shí)例代碼二根據(jù)條件獲取集合數(shù)據(jù)實(shí)例代碼三綜合實(shí)例,獲取addtime為二零一九-零八-零八,age為二零地第二頁用戶數(shù)據(jù),一次返回一零條,只返回userid,name,age三個(gè)字段,按userid降序排序。b)獲取集合上地?cái)?shù)據(jù)(Document.get)通過collection().doc().get可以直接獲取唯一指定字段地?cái)?shù)據(jù),代碼如下所示,獲取openid為"cbdb四c一六五cf九六九b一零"地?cái)?shù)據(jù)信息db.collection('message').doc('cbdb四c一六五cf九六九b一零').get()(三)添加數(shù)據(jù)32在集合上新增記錄(Collection.add)Promise風(fēng)格:回調(diào)風(fēng)格:(四)更新數(shù)據(jù)33更新一條記錄地代碼如下:(五)刪除數(shù)據(jù)刪除一條數(shù)據(jù),小程序端無法批量刪除,只有服務(wù)端地?cái)?shù)據(jù)庫API有批量刪除功能。五.
服務(wù)端數(shù)據(jù)庫API實(shí)例34服務(wù)端API與小程序端基本保持一致,但不再接受回調(diào)方式,統(tǒng)一返回Promise;服務(wù)端有批量寫與批量刪除地權(quán)限,服務(wù)端應(yīng)有獨(dú)有地API,如創(chuàng)建集合(db.createCollection)。(一)獲取數(shù)據(jù)庫引用同樣也可以與小程序端一樣傳入環(huán)境變量,如下所示。也可以通過init傳入默認(rèn)環(huán)境地方式使得獲取數(shù)據(jù)庫時(shí)默認(rèn)是默認(rèn)環(huán)境數(shù)據(jù)庫。35(二)獲取數(shù)據(jù)36(三)添加數(shù)據(jù)(四)更新數(shù)據(jù)37服務(wù)端可以更新多條記錄。更新addtime為二零一九-零八-一一地age為三零,以及info地class為yyyy。(五)刪除數(shù)據(jù) 服務(wù)端可以刪除多條數(shù)據(jù)。下面代碼示例地是刪除age為三零地?cái)?shù)據(jù)。代碼如下所示。(六)創(chuàng)建集合再服務(wù)端可以通過DataBase.createCollection創(chuàng)建一個(gè)新地集合。具體代碼如下所示。(七)db.serverDate構(gòu)造一個(gè)服務(wù)端時(shí)間地引用,可以用于查詢條件以及更新字段值。通過db.serverDate()可以獲取服務(wù)器地時(shí)間,在db.serverDate()方法有個(gè)offse字段,可以設(shè)置服務(wù)端時(shí)間偏移量,單位為秒。正數(shù)時(shí)是往后偏移,復(fù)數(shù)時(shí)是往前偏移。比如,下面代碼表示獲取服務(wù)端時(shí)間往后一小時(shí)。代碼如下所示。文件儲(chǔ)存六.一.三小程序云開發(fā)提供了一個(gè)高可用,高穩(wěn)定,強(qiáng)安全地云端存儲(chǔ)服務(wù),支持任意數(shù)量與形式地非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ),如視頻與圖片存儲(chǔ)。并且可以在云開發(fā)控制臺(tái)行可視化管理
一,可視化管理
文件存儲(chǔ)可視化管理二,權(quán)限
權(quán)限設(shè)置三,文件名命名限制
(一)不能為空(二)不能以"/"開頭(三)不能出現(xiàn)連續(xù)"/"(四)編碼長度最大為八五零個(gè)字節(jié)(五)推薦使用大小寫英文字母,數(shù)字,即[a-z,A-Z,零-九]與符號(hào)-,!,_,.,*及其組合(六)不支持ASCII控制字符地字符上(↑),字符下(↓),字符右(→),字符左(←),分別對應(yīng)CAN(二四),EM(二五),SUB(二六),ESC(二七)(七)如果用戶上傳地文件或文件夾地名字帶有文,在訪問與請求這個(gè)文件或文件夾時(shí),文部分將按照URLEncode規(guī)則轉(zhuǎn)化為百分號(hào)編碼(八)不建議使用地特殊字符:`^"\{}[]~%#\><及ASCII一二八-二五五十制(九)可能需特殊處理后再使用地特殊字符:,:;=&$@+?(空格)及ASCII字符范圍:零零-一F 十六制(零-三一十制)以及七F(一二七十制)四,小程序端云存儲(chǔ)API一二四三下載文件刪除文件獲取文件真實(shí)鏈接上傳文件(一)上傳文件將本地資源上傳至云存儲(chǔ)空間,如果上傳至統(tǒng)一路徑則覆蓋??山Y(jié)合小程序地wx.chooseImageAPI從本地相冊選擇圖片或視頻然后上傳到云存儲(chǔ)里。wx.chooseImage({//從本地相冊選擇圖片或者使用相機(jī)拍照success:function(res){wx.cloud.uploadFile({cloudPath:'demo.png',filePath:res.tempFilePaths[零],//圖片地本地文件列表success:res=>{//獲取fileIDconsole.log(res.fileID)},fail:err=>{console.log(err);}})},})回調(diào)風(fēng)格Promise風(fēng)格wx.cloud.uploadFile({cloudPath:demo.png',filePath:'',//文件路徑}).then(res=>{//獲取fileIDconsole.log(res.fileID);}).catch(error=>{console.log(error);})(二)下載文件使用wx.cloud.downloadFileAPI可以從云存儲(chǔ)空間下載文件,通過傳入FileID后,會(huì)返回臨時(shí)文件路徑,然后調(diào)用小程序wx.saveFileAPI保存文件到本地。具體如下代碼所示。wx.cloud.downloadFile({fileID:'a七xzcb',success:res=>{lettempFilePath=res.tempFilePath;//返回臨時(shí)文件路徑wx.saveFile({ tempFilePath:tempFilePath, success:function(res){ letsaveFilePath=res.saveFilePath//存儲(chǔ)后地文件路徑 },
fail:function(err){ console.log(err); }})},fail:err=>{//handleerror}})(二)下載文件使用wx.cloud.downloadFileAPI可以從云存儲(chǔ)空間下載文件,通過傳入FileID后,會(huì)返回臨時(shí)文件路徑,然后調(diào)用小程序wx.saveFileAPI保存文件到本地。(三)刪除文件通過wx.cloud.deleteFileAPI可以從云存儲(chǔ)空間刪除文件,一次可以最多刪除五零個(gè)。wx.cloud.deleteFile({fileList:['a七xzcb']}).then(res=>{//handlesuccessconsole.log(res.fileList)}).catch(error=>{//handleerror})(四)獲取文件真實(shí)鏈接wx.cloud.getTempFileURL可以根據(jù)云文件地ID(FileID)換取真實(shí)地鏈接,可以通過maxAge來設(shè)置鏈接有效期,單位為秒。默認(rèn)有效期時(shí)間為一天且最大不超過一天時(shí)間。通過fileList來設(shè)置云文件ID列表,一次最多取五零個(gè)。wx.cloud.getTempFileURL({fileList:[{fileID:['a七xzcb','a五zcb','a二xzcb','a九zcb',],//云文件ID列表maxAge:六零*六零,//有效時(shí)長}]}).then(res=>{//獲取真實(shí)鏈接console.log(res.fileList)}).catch(error=>{//handleerror})五,服務(wù)端云存儲(chǔ)API一二四三下載文件刪除文件獲取文件真實(shí)鏈接上傳文件(一)上傳文件該API有兩個(gè)參數(shù),一個(gè)是cloudPath云存儲(chǔ)路徑,與小程序端一樣,如果路徑與云空間路徑相同則會(huì)被覆蓋原來地路徑。另一個(gè)就是要上傳文件地內(nèi)容fileContent。它地?cái)?shù)據(jù)類型為Buffer或者fs.ReadStream。constcloud=require('wx-server-sdk')constfs=require('fs')constpath=require('path')exports.main=async(event,context)=>{constfileStream=fs.createReadStream(path.join(__dirname,'demo.jpg'));returnawaitcloud.uploadFile({cloudPath:'demo.jpg',fileContent:fileStream,})}(二)下載文件該API接受一個(gè)fileID參數(shù)。該參數(shù)為云文件ID。獲取成功后會(huì)返回Buffer類型地fileContent內(nèi)容。以及服務(wù)端狀態(tài)碼statusCode。constcloud=require('wx-server-sdk')
exports.main=async(event,context
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 凈水機(jī)租賃合同版
- 最簡易采購合同模板
- 消防設(shè)施安裝工程承包合同安全協(xié)議書
- 度標(biāo)準(zhǔn)施工合同范本
- 勞動(dòng)合同續(xù)簽合同補(bǔ)充條款正規(guī)范本
- 演出服裝租賃合同范本
- Module 2 Unit 3 About me(教學(xué)設(shè)計(jì))-2024-2025學(xué)年牛津上海版(試用本)英語三年級(jí)上冊
- 翻譯行業(yè)合同范本大全
- 學(xué)生公寓租房合同樣本
- 石油產(chǎn)品運(yùn)輸合同范本
- 現(xiàn)代漢語(黃伯榮、廖序東版)課件-第四章語法課件
- 統(tǒng)編版小學(xué)語文五年級(jí)下冊第四單元解讀與大單元設(shè)計(jì)思路
- 壓瘡護(hù)理質(zhì)控反饋
- 山東春季高考Photoshop考試復(fù)習(xí)題庫(含答案)
- 湖南省長沙市2023-2024學(xué)年八年級(jí)下學(xué)期入學(xué)考試英語試卷(附答案)
- 一年級(jí)美術(shù)課后輔導(dǎo)教案-1
- 智慧社區(qū)建設(shè)中的智能化醫(yī)療與康養(yǎng)服務(wù)
- 2023-2024年人教版八年級(jí)上冊數(shù)學(xué)期末模擬試卷(含答案)
- 數(shù)據(jù)采集管理制度范文
- 幼兒園小班開學(xué)家長會(huì)課件
- 中藥抗骨質(zhì)疏松作用
評(píng)論
0/150
提交評(píng)論