uni + uniCloud 云開發(fā) 附源碼

uniCloud 云開發(fā)小程序响蕴。主體界面圖下

5951687516826_.pic.jpg
5961687516827_.pic.jpg

關(guān)鍵步驟如下

  • web控制臺地址:uniCloud控制臺
  • HBuilderX 會在項目創(chuàng)建后彈出 uniCloud初始化向?qū)В鶕?jù)向?qū)Р渴稹?/p>

    11.png

二沛善、關(guān)聯(lián)服務(wù)空間

  • 一個開發(fā)者可以擁有多個服務(wù)空間,每個服務(wù)空間都是一個獨立的serverless云環(huán)境塞祈,不同服務(wù)空間之間的云函數(shù)金刁、數(shù)據(jù)庫、存儲都是隔離的议薪。
2.1 關(guān)聯(lián)云空間
  • 對項目根目錄uniCloud點右鍵選擇關(guān)聯(lián)云服務(wù)空間尤蛮,綁定之前創(chuàng)建的服務(wù)空間,或者新建一個服務(wù)空間斯议。初次使用都需要新建服務(wù)空間产捞。


    22.png
2.2 創(chuàng)建云函數(shù)
  • uniCloud項目創(chuàng)建并綁定服務(wù)空間后,開發(fā)者可以創(chuàng)建云函數(shù)(云對象是云函數(shù)的一種哼御,云函數(shù)可泛指普通云函數(shù)和云對象)坯临。在uniCloud/cloudfunctions目錄右鍵創(chuàng)建云函數(shù)/云對象。


    55.png

    66.png
2.3 云函數(shù)編寫
  • 創(chuàng)建云函數(shù)后恋昼,生成一個目錄看靠,該目錄下自動生成index.js,是該云函數(shù)的入口文件液肌,不可改名挟炬。如果云函數(shù)還需要引入其他js,可在index.js入口文件中引用,同時也在這個文件中編寫云函數(shù)谤祖。


    77.png
2.4 調(diào)用云函數(shù)
  • 通過uniCloud.callFunction()調(diào)用云函數(shù)婿滓,以在pages/index/index.vue中調(diào)用云函數(shù)為例,代碼如下:
<template>
    <view class="content">
        <button @click="call">顯示數(shù)據(jù)庫</button>
    </view>
</template>

<script>
    export default {
        data() {
            return {
                title: 'Hello'
            }
        },
        onLoad() {

        },
        onShow() {
            if(this.$refs&&this.$refs.udb){
                this.$refs.udb.refresh();
            }
        },
        methods: {
            call(){
                uniCloud.callFunction({
                    name:"testfun",
                    data:{name:"小白",age:18}
                })
                .then(res=>{
                    uni.showModal({
                        title:JSON.stringify(res)
                    })
                })
                .catch(err=>{
                    console.log(err);
                })
            }
        }
    }
</script>
2.5 運行
  • HBuilderX自帶一個云函數(shù)本地運行環(huán)境粥喜,運行項目時也默認(rèn)選擇 連接本地云函數(shù)空幻。可以在底部控制臺中的前端控制臺右上角進(jìn)行切換容客★躅酰可以對testfun云函數(shù)點右鍵上傳到uniCloud服務(wù)空間,然后在前端控制臺右上角切換為 連接云端云函數(shù)缩挑,那么此時客戶端連接的就是真正的現(xiàn)網(wǎng)uniCloud服務(wù)器了但两。


    88.png

三、云數(shù)據(jù)庫

  • uniCloud提供了一個 JSON 格式的文檔型數(shù)據(jù)庫供置。顧名思義谨湘,數(shù)據(jù)庫中的每條記錄都是一個 JSON 格式的文檔。一個uniCloud服務(wù)空間芥丧,有且只有一個數(shù)據(jù)庫紧阔;一個數(shù)據(jù)庫可以有多個表;一個表可以有多個記錄续担;一個記錄可以有多個字段擅耽。
    
3.1 新建云數(shù)據(jù)庫
99.png
3.2 新增數(shù)據(jù)
  • 點擊進(jìn)入新建的數(shù)據(jù)庫(concat),添加記錄->按條輸入數(shù)據(jù)物遇,點擊確定乖仇,新的數(shù)據(jù)就會出現(xiàn)在數(shù)據(jù)庫里。


    99.png
3.3 更改表結(jié)構(gòu)配置
  • 學(xué)習(xí)使用询兴,把表結(jié)構(gòu)的增刪改查的權(quán)限都放開乃沙。


    111.png
3.4 前端展示數(shù)據(jù)庫數(shù)據(jù)
  • 通過unicloud-db將數(shù)據(jù)庫的數(shù)據(jù)發(fā)往前端進(jìn)行展示。
<template>
    <view class="content">
        <unicloud-db ref="udb" v-slot:default="{data, loading, error, options}" collection="users">
            <view v-if="error">{{error.message}}</view>
            <view v-else>
                <uni-list>
                    <uni-list-item v-for="item in data" :key="item._id" :title="item.name" :note="item.tel"></uni-list-item>
                </uni-list>
            </view>
        </unicloud-db>
    </view>
</template>

<script>
    export default {
        data() {
            return {
                
            }
        },
        methods: {
            
        }
    }
</script>

四诗舰、數(shù)據(jù)操作

4.1 增加
  • 在pages中新建一個頁面警儒,路徑pages/add/add.vue,記得要在page.json中注冊眶根。新增數(shù)據(jù)主要通過db.collection("數(shù)據(jù)庫中的表").add(this.新增的數(shù)據(jù))來實現(xiàn)蜀铲。
133.png
4.2 刪除
  • 數(shù)據(jù)刪除通過數(shù)據(jù)庫中的表.remove(刪除的數(shù)據(jù))實現(xiàn),刪除數(shù)據(jù)要有事件觸發(fā)本案例使用longpress.native汛闸,在項目首頁中實現(xiàn)刪除功能蝙茶。
<template>
    <view class="content">
        <unicloud-db ref="udb" v-slot:default="{data, loading, error, options}" collection="users">
            <view v-if="error">{{error.message}}</view>
            <view v-else>
                <uni-list>
                    <uni-list-item @longpress.native="$refs.udb.remove(item._id)" v-for="item in data" :key="item._id" :title="item.name" :note="item.tel"></uni-list-item>
                </uni-list>
            </view>
        </unicloud-db>
    </view>
</template>

<script>
    export default {
        data() {
            return {
                title: 'Hello'
            }
        },
        methods: {
            call(){
                uniCloud.callFunction({
                    name:"testfun",
                    data:{name:"小白",age:18}
                })
                .then(res=>{
                    uni.showModal({
                        title:JSON.stringify(res)
                    })
                })
                .catch(err=>{
                    console.log(err);
                })
            }
        }
    }
</script>


4.3 修改
  • 對數(shù)據(jù)庫中已存在數(shù)據(jù)進(jìn)行修改。首先在pages中新建一個update頁面(page.json中注冊)诸老。在首頁中觸發(fā)數(shù)據(jù)修改隆夯,在update頁面中對數(shù)據(jù)進(jìn)行修改確認(rèn)钳恕。
<template>
    <view class="content">
        <unicloud-db ref="udb" v-slot:default="{data, loading, error, options}" collection="users">
            <view v-if="error">{{error.message}}</view>
            <view v-else>
                <uni-list>
                    <uni-list-item link :to="'/pages/update/update?item='+JSON.stringify(item)" 
                    @longpress.native="$refs.udb.remove(item._id)" v-for="item in data" :key="item._id" :title="item.name" :note="item.tel"></uni-list-item>
                </uni-list>
            </view>
        </unicloud-db>
    </view>
</template>

<script>
    export default {
        data() {
            return {
                title: 'Hello'
            }
        },
        onLoad() {

        },
        onShow() {
            //首頁數(shù)據(jù)進(jìn)行展示時,刷新蹄衷,重新獲取數(shù)據(jù)庫數(shù)據(jù)
            if(this.$refs&&this.$refs.udb){
                this.$refs.udb.refresh();
            }
        },
        methods: {
            call(){
                uniCloud.callFunction({
                    name:"testfun",
                    data:{name:"小白",age:18}
                })
                .then(res=>{
                    uni.showModal({
                        title:JSON.stringify(res)
                    })
                })
                .catch(err=>{
                    console.log(err);
                })
            }
        }
    }
</script>
通過以上步驟忧额,你已經(jīng)創(chuàng)建了一個uniCloud項目,并可以使用數(shù)據(jù)庫數(shù)據(jù)進(jìn)行增刪改查了愧口,趕緊打開HBuilderx試試吧睦番。
交流聯(lián)系 v 1216562962
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市耍属,隨后出現(xiàn)的幾起案子托嚣,更是在濱河造成了極大的恐慌,老刑警劉巖厚骗,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件示启,死亡現(xiàn)場離奇詭異,居然都是意外死亡领舰,警方通過查閱死者的電腦和手機夫嗓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來冲秽,“玉大人舍咖,你說我怎么就攤上這事★鄙#” “怎么了排霉?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長刨仑。 經(jīng)常有香客問我郑诺,道長,這世上最難降的妖魔是什么杉武? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮辙售,結(jié)果婚禮上轻抱,老公的妹妹穿的比我還像新娘。我一直安慰自己旦部,他們只是感情好祈搜,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著士八,像睡著了一般容燕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上婚度,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天蘸秘,我揣著相機與錄音,去河邊找鬼。 笑死醋虏,一個胖子當(dāng)著我的面吹牛寻咒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播颈嚼,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼毛秘,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了阻课?” 一聲冷哼從身側(cè)響起叫挟,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎限煞,沒想到半個月后抹恳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡晰骑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年适秩,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片硕舆。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡秽荞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出抚官,到底是詐尸還是另有隱情扬跋,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布凌节,位于F島的核電站钦听,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏倍奢。R本人自食惡果不足惜朴上,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望卒煞。 院中可真熱鬧痪宰,春花似錦、人聲如沸畔裕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽扮饶。三九已至具练,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間甜无,已是汗流浹背扛点。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工哥遮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人占键。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓昔善,卻偏偏與公主長得像,于是被迫代替她去往敵國和親畔乙。 傳聞我的和親對象是個殘疾皇子君仆,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容