sponsored links

開放下載!《15分鐘打造你自己的小程式》(內附詳細程式碼)

簡介:零基礎開發你自己的支付寶小程式,教程在手不迷路,從入門到精通,還有詳細程式碼在裡面哦~

《15分鐘打造你自己的小程式》獨家電子書上線啦!零基礎開發你自己的支付寶小程式,手把手教你從入門到精通的寶典。ToDo待辦事項小程式、個人相簿小程式、花唄支付小程式、運動步數小程式、雲筆記小程式,五大實操小程式雲讓你更懂雲上生活~

PC端開啟 https://developer.aliyun.com/topic/download?id=149 可直接下載!

點選免費下載
《15分鐘打造你自己的小程式》

開放下載!《15分鐘打造你自己的小程式》(內附詳細程式碼)

目錄
開放下載!《15分鐘打造你自己的小程式》(內附詳細程式碼)

精彩導讀

什麼是小程式雲?

小程式雲是阿里雲面向小程式場景提供的一站式雲服務,幫助開發者實現一雲多端的業務戰略。開發者可透過小程式雲支撐各類小程式前端,在一朵雲內實現統一的資源管理、統一的資料運營和統一的業務設計。

小程式雲提供小程式 Serverless 和小程式雲應用服務,幫助小程式開發者降低研發和運維成本。

試讀:個人相簿小程式開發

本教程介紹如何使用小程式Serverless服務開發一款簡單的個人相簿小程式。圖片儲存,是所有應用開發裡最常見的場景之一。藉助小程式雲開發能力,可以提升功能開發效率,提高資料隱私保護能力。

步驟一:開發支付寶小程式

請參考以下步驟,開發支付寶小程式專案:

  1. 開啟小程式開發者工具。
  2. 在左側導航欄選擇支付寶 > 小程式。
  3. 單擊模板選取,然後單擊開放能力頁籤,選擇個人相簿模板並單擊下一步。

開放下載!《15分鐘打造你自己的小程式》(內附詳細程式碼)

  1. 設定專案名稱和路徑,然後單擊完成。
  2. 開啟手機支付寶App掃描彈出的登入二維碼。登入後,選擇已建立的支付寶小程式應用完成關聯,然後單擊確定。
  3. 當提示繫結阿里雲賬號時,單擊前往繫結阿里雲賬號,然後在開啟的驗證頁面選擇一種賬號驗證方式並完成驗證。或右鍵單擊左側的server|未關聯目錄,然後選擇關聯Serverless。

說明:確保您要繫結的阿里雲賬號已關聯支付寶賬號。如果尚未關聯,在阿里雲賬號頁面,單擊第三方賬號繫結繫結支付寶。
開放下載!《15分鐘打造你自己的小程式》(內附詳細程式碼)

  1. 在專案檔案列表中找到app.js檔案,配置以下資訊,然後儲存。
    • appId是小程式的ID。您可以在螞蟻金服開放平臺的支付寶小程式頁面檢視App ID。
    • spaceId、clientSecret和endpoint在小程式Serverless控制檯建立服務空間後可以獲得。

開放下載!《15分鐘打造你自己的小程式》(內附詳細程式碼)

步驟二:除錯小程式

開啟小程式模擬器,在彈出的服務授權框中仔細閱讀《使用者授權協議》後選擇同意。
開放下載!《15分鐘打造你自己的小程式》(內附詳細程式碼)

小程式Serverless程式碼詳解

  • 初始化
    在使用小程式Serverless服務前,需要您在小程式中安裝小程式Serverless客戶端SDK並初始化。小程式Serverless客戶端SDK的更多資訊請參見安裝客戶端SDK2.2版本
// client/app.js
import MPServerless from '@alicloud/mpserverless-sdk';

const mpserverless = new MPServerless({
  uploadFile: my.uploadFile,
  request: my.request,
  getAuthCode: my.getAuthCode,
}, {
  appId: ' ', // 小程式應用標識
  spaceId: ' ', // 服務空間標識
  clientSecret: ' ', // 服務空間 secret key
  endpoint: ' ' // 服務空間地址,從小程式Serverless控制檯處獲得
});          
  • 頁面載入時新增授權
    在呼叫小程式Serverless服務前,需要先呼叫authorize介面請求授權,支付寶小程式的授權請求引數authProvider應為alipay_openapi, 更多authorize介面資訊請參見authorize
// client/app.js
async onSubmit() {
await mpserverless.user.authorize({
      authProvider: 'alipay_openapi',
      // authType: 'anonymous'
})
},  
  • 全域性使用serverless
    在小程式Serverless客戶端SDK初始化完成後,可以將例項化的mpserverless物件放入App全域性物件中,這樣SDK就可以全域性使用了。
// client/app.js
App({
  mpserverless,
}); 

當需要使用SDK時只需從全域性物件中獲取mpserverless,就可以呼叫了。
以下示例實現了在其他檔案中呼叫小程式Serverless的資料庫服務,向files集合中插入了一條資料。

// 其他檔案呼叫
const { mpserverless } = getApp()
// 新增檔案資料
mpserverless.db.collection('files').insertOne( { name: '資料表名稱', userId: '資料表ID' })    
  • 讀取檔案資料
    以下程式碼實現了在頁面載入完成後,呼叫find介面請求資料庫,查詢當前使用者下的相簿資訊,更多find介面資訊請參見find
async onReady() {
  const result = await mpserverless.db.collection('files').find({ userId: '使用者id' })
  this.setData({
      files: result.result || [],
  })
},     
  • 選擇本地圖片
    以下程式碼實現了呼叫小程式的my.chooseImage介面拍照或從本地相簿中選擇圖片,然後呼叫file.uploadFile介面將圖片上傳至小程式Serverless的檔案服務中。更多資訊請參見my.chooseImageuploadFile
  attach() {
    // 選取照片
    my.chooseImage({
      chooseImage: 1,
      success: res => {
        const path = res.apFilePaths[0];
        const options = {
          filePath: path,
          headers: {
            contentDisposition: 'attachment',
          },
        };
         // 上傳圖片
        mpserverless.file.uploadFile(options).then((image) => {
          const { imgs } = this.data
          imgs.push(image.fileUrl)
          this.setData({
            imgs,
          });
        }).catch(console.log);
      },
    });
  },     
  • 將圖片儲存到資料庫
    以下程式碼實現了將包括圖片的上傳路徑、圖片描述等圖片資訊儲存到雲資料庫photos集合中。
  async submit() {
    const obj = { urls: '圖片路徑', details: '圖片描述', fileId: '檔案id' }
    await mpserverless.db.collection('photos').insertOne(obj)
    my.navigateBack()
  },

版權宣告:本文內容由阿里雲實名註冊使用者自發貢獻,版權歸原作者所有,阿里雲開發者社群不擁有其著作權,亦不承擔相應法律責任。具體規則請檢視《阿里雲開發者社群使用者服務協議》和《阿里雲開發者社群智慧財產權保護指引》。如果您發現本社群中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社群將立刻刪除涉嫌侵權內容。

分類: 國際
時間: 2022-02-21

相關文章

1962中印戰爭,明明只打了32天,卻讓印度做了59年噩夢

1962中印戰爭,明明只打了32天,卻讓印度做了59年噩夢
1949年10月1日,主席在天安門升起第一面五星紅旗.預示著新中國成立,預示著那個百年積弱的中國站起來了.縱觀我國曆史,大家最熟悉的是抗擊外國侵略的戰爭是抗日戰爭,然而新中國成立後不久,印度也跟我國發 ...

永不與中俄開戰!美高官警告:一旦開戰,將給全球帶來毀滅性後果

永不與中俄開戰!美高官警告:一旦開戰,將給全球帶來毀滅性後果
美國總統拜登上臺後,美軍在全球進入戰略收縮階段,深刻影響著全球戰略格局.自掌舵美國後,拜登作出三個重要決定:美俄實現首腦峰會;力主阿富汗撤軍行動;宣佈美國回來了,主動跟歐洲修復跨大西洋聯盟,拜登一系列 ...

2008年俄格戰爭,喬治亞輕信美國開戰,結果美國光說不練靠不住

2008年俄格戰爭,喬治亞輕信美國開戰,結果美國光說不練靠不住
都說"人有多大膽,地有多大產",喬治亞,對這句話深信不疑.喬治亞位於高加索山脈之下,國土面積不過6.7萬平方公里,人口不到400萬,軍隊不過2萬人,但是就這樣的一個國家,在全世界人 ...

1961年果阿戰爭:印度碾壓葡萄牙,終結400多年殖民史

1961年果阿戰爭:印度碾壓葡萄牙,終結400多年殖民史
印度軍隊 印度的果阿,猶如中國的澳門,都是葡萄牙殖民擴張的產物. 1947年英國人從印度撤離之後,葡萄牙人仍然盤踞果阿等地,拒絕撤離. 1961年12月,印度在反覆交涉失敗後,不顧西方世界的普遍反對, ...

俄氣高管:俄氣正逐步加大對歐洲天然氣供應量
新華社莫斯科10月7日電(記者李奧)俄羅斯天然氣工業股份公司(俄氣)管理委員會副總裁.俄天然氣工業出口公司總經理葉連娜·布林米斯特羅娃7日表示,俄氣正透過所有管道逐步加大對歐洲的天然氣供應量. 據俄羅 ...

1997年香港迴歸前夕,英國34艘軍艦闖入南海,與我軍對峙三天後認慫

1997年香港迴歸前夕,英國34艘軍艦闖入南海,與我軍對峙三天後認慫
1984年,中英協議規定英國需在1997年將香港還給中國.然而,就在民眾都沉浸在香港即將回歸的喜悅之時,英國卻突然將自己的34艘戰艦公然開進了我國南海地區,並且與中國海軍對峙了72個小時. 這到底是怎 ...

張佩綸日記中的1894年

張佩綸日記中的1894年
俯瞰劉公島 一朝被貶,餘生羈旅.張佩綸恐是外放的清流人中仕途生涯最不濟者,晚景以"詩人終老". 貶謫是張佩綸人生軌跡的重大拐點.而後,張佩綸與宦海保持距離,但作為"局內之 ...

高山鋪戰役:楊勇堅持要打這仗,最後以800人代價殲敵一萬
1947年,可以稱之為戰略轉折最重要的一年,亦可以稱之為改變戰局,揚名天下的一年. 這一年的戰爭為之後很多年,人們回憶起來,都不得不提的便是劉伯承與鄧小平於1947年的壯舉. 抗日戰爭結束之後,蔣介石 ...

【黨史天天讀】獨家照片披露九一八事變:日本蓄謀已久 鐵證如山

【黨史天天讀】獨家照片披露九一八事變:日本蓄謀已久 鐵證如山
928年6月4日清晨,瀋陽皇姑屯附近突然傳來一聲巨響,在京奉鐵路與南滿鐵路的交點上,日軍提前安放的炸藥瞬間爆炸!奉系軍閥張作霖乘坐的列車被炸燬,張作霖受重傷,不久離世. 這就是震驚中外的皇姑屯事件. ...

赫魯曉夫訪美時點名見瑪麗蓮夢露,美國精心安排,事後表示很滿意

赫魯曉夫訪美時點名見瑪麗蓮夢露,美國精心安排,事後表示很滿意
1959年,赫魯曉夫收到,美國總統艾森豪威爾的邀請,前往美國進行訪問. 當時蘇聯和美國正處於冷戰時期,很多人猜測赫魯曉夫此次訪美有可能使兩國之間的緊張關係得到緩和. 不過就在赫魯曉夫準備去美國之前,他 ...

王麗雲和車曉:母女倆先後離異,至今都是單身貴族

王麗雲和車曉:母女倆先後離異,至今都是單身貴族
影視圈裡有這樣一對"母女花",媽媽王麗雲是熒屏上有名的"婆婆專業戶",女兒車曉是著名的新生代花旦,母女倆像兩顆璀璨的星星,閃耀在演藝圈. 1982年6月12日, ...

055編隊逼近美國本土,美軍先高調宣傳,又迅速刪帖的原因找到了

055編隊逼近美國本土,美軍先高調宣傳,又迅速刪帖的原因找到了
近日,美國海岸警衛隊釋出了一組照片,中國人民解放軍的一艘055型和一艘052D型導彈驅逐艦和一艘903型遠洋補給艦,一艘815型電子偵察船,出現在阿留申群島附近.這條訊息引發了軒然大波,但是美方隨即把 ...

1969年朝鮮不經警告,直接擊落美國預警機,美國做了什麼?

1969年朝鮮不經警告,直接擊落美國預警機,美國做了什麼?
1969年4月15日,美軍EC-121M偵察機準備如往常一般,穿越朝鮮領空,在中.蘇.朝三國領空附近收集情報.然而往日異常順利的任務,這次卻栽了個大跟頭. 在美國人心中, 4線實力的朝鮮竟主動出動戰機 ...

抗美援朝中,中國有27個軍隊入朝作戰,一個軍有多少人?

抗美援朝中,中國有27個軍隊入朝作戰,一個軍有多少人?
1950年,南朝鮮政府出兵北朝鮮,北朝鮮與南朝鮮之間戰爭一觸即發. 1950年6月28日,北朝鮮人民軍就已經攻佔漢城,佔領了整個朝鮮多達百分之九十的領土. 此時,遠在地球另一方的超級霸主--美國開始插 ...

這一場血戰:司令員最後派出一個團援兵,只有副團長和80個兵

這一場血戰:司令員最後派出一個團援兵,只有副團長和80個兵
自古以來,所有的和平都由戰爭所締造,即使在稱為和平年代的今天仍有許多的地方戰火連天,處在國破家亡的憂愁之中. 那一年,在抗日戰爭中剛剛結束,全國人民處在修整之際,因為蔣介石的出爾反爾,戰火又一次的降臨 ...

志願軍如何打服美軍:衝鋒號有魔法、坑道戰無解?中國軍魂他不懂

志願軍如何打服美軍:衝鋒號有魔法、坑道戰無解?中國軍魂他不懂
志願軍跨過鴨綠江 為何越戰之中,中國警告美軍不要越過17°線,美國就能乖乖聽話? 為何有美國軍官曾說:"中國再也不是那個軟弱無能的國家,誰和他們做對,誰就是傻子!" 這都源於一場戰 ...

日軍為什麼垂涎中國東北

日軍為什麼垂涎中國東北
日軍在1931年9月18日發動九一八事變,派遣特務炸燬南滿鐵路並嫁禍給中國,強行派軍侵佔中國東北,扶持傀儡政權偽滿洲國,由此中國的14年抗戰拉開序幕 日本軍隊侵佔東北 為什麼日本要喪心病狂侵佔中國東北 ...

廣西老年大學詩詞學會會員作品展示(40)警鐘長鳴——紀念“9.18”亊變90週年
廣西老年大學詩詞學會會員作品展示(40)警鐘長鳴--紀念"9.18"亊變90週年 紀念"9.18"警告日軍閥 黃吉明 人防警報年年響,國恥難忘明是非. 振興築夢 ...

結婚9天入臺潛伏的謝漢光,42年後迴歸大陸:髮妻仍在、兒孫滿堂

結婚9天入臺潛伏的謝漢光,42年後迴歸大陸:髮妻仍在、兒孫滿堂
在革命程序中有許多家喻戶曉的英雄,也有很多隱秘戰線的無名英雄. 這些無名英雄潛伏在敵人之中,在無聲的戰場上默默為革命做貢獻,其驚險程度不亞於在槍林炮火中戰鬥. 謝漢光就是一位在臺灣潛伏最久的特工,他風 ...

1958年,毛主席強勢親定海權:敢過線試試,美國也照打不誤

1958年,毛主席強勢親定海權:敢過線試試,美國也照打不誤
"中國領海寬度為12海里,一切外來飛機.船舶,未經允許,闖入我國領海及上空,後果自負." 1958年9月4日,在毛主席的指導下,我國出臺了<中華人民共和國關於領海的宣告> ...