亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 小程序 > 正文

我要點爆”微信小程序云開發之項目建立與我的頁面功能實現

2020-03-21 15:55:03
字體:
來源:轉載
供稿:網友

開發環境搭建

使用自己的AppID新建小程序項目,后端服務選擇小程序·云開發,點擊新建,完成項目新建。



微信小程序,云開發
 

新建成功后跳轉到開發者工具界面

微信小程序,云開發


新建后,微信端為我們提供了一個參考的模板程序,這里我們自己來創建各個所需的文件與代碼,所以刪除所有不需要的文件,刪除cloudfunctions、miniprogram/images、miniprogram/pages文件下所有文件,同時也刪除style文件和刪除app.json中原始的頁面配置。
 

微信小程序,云開發

微信小程序,云開發

此時編譯下方控制臺會報“VM8100:5 appJSON["pages"] 需至少存在一項”錯誤,因為app.json中未配置任何頁面路徑,下面我們來對app.json進行配置。

{ "cloud": true, "pages": [ "pages/index/index", "pages/detonation/detonation", "pages/user/user" ],

 

“cloud”: true表示讓云能力可以在所有基礎庫中使用,在頁面路徑列表pages下加入三個Tab頁面路徑,在window中設置全局的默認窗口樣式,通過tabBar設置底部tab欄的樣式,配置完成后點擊編譯,開發工具會自動生成三個頁面的文件夾以及相關文件。

"window": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#FF3333", "navigationBarTitleText": "我要點爆", "navigationBarTextStyle": "white", "backgroundColor": "#FF3333" }, "tabBar": { "backgroundColor": "#F2F2F2", "color": "#6B6B6B", "selectedColor": "#FF0000", "list": [  {  "pagePath": "pages/index/index",  "text": "世界",  "iconPath": "/images/shi.png",  "selectedIconPath": "/images/shi1.png"  },  {  "pagePath": "pages/detonation/detonation",  "text": "點爆",  "iconPath": "/images/bao2.png",  "selectedIconPath": "/images/bao1.png"  },  {  "pagePath": "pages/user/user",  "text": "我的",  "iconPath": "/images/wo1.png",  "selectedIconPath": "/images/wo.png"  } ] }, "sitemapLocation": "sitemap.json"}

 

配置成功后頁面結構與效果

微信小程序,云開發

微信小程序,云開發

創建數據庫環境

設置環境名稱,環境名稱可以根據自己需求設置,這里設置與項目名相同dbx,下方的環境ID會自動生成,無需修改,點擊確定完成創建。

微信小程序,云開發

創建成功后跳轉云開發控制臺頁面

微信小程序,云開發

配置app.js文件,在調用云開發各 API 前,需先調用初始化方法 init 一次(全局只需一次),在wx.cloud.init中設置程序所讀環境的數據庫位置,剛才創建的數據庫環境的ID


微信小程序,云開發 微信小程序,云開發

實現我的頁面布局制作與用戶授權登錄功能

首先對頁面進行布局,頭部使用一個button按鈕來進行授權登錄獲取用戶信息的操作,設置button的open-type為getUserInfo,使得按鈕可以從bindgetuserinfo回調中獲取到用戶信息,設置回調方法為getUserInfoHandler。為了讓用戶授權后實時更新用戶頭像與用戶名,這里使用數據綁定與判斷的方法。

<!-- pages/user/user.wxml --><view class="user_header"> <view class="header_box"> <image src="{{userTx || defaultUrl}}"></image> <button class="{{username == '點擊登錄' ? 'usernameDe' : 'username'}}" open-type="getUserInfo" bindgetuserinfo="getUserInfoHandler">{{username}}</button> <view class="qiandao">  <text>糖果</text> </view> </view></view><view class="user_main"> <view class="main_box"> <view class="box_item">  <image src="/images/jilu.png"></image>  <text>點爆記錄</text> </view> <view class="box_item">  <image src="/images/zhudian.png"></image>  <text>最近助點</text> </view> </view> <view class="main_box"> <view class="box_item">  <image src="/images/fengcun.png"></image>  <text>我的封存</text> </view> <view class="box_item">  <image src="/images/usercang.png"></image>  <text>我的收藏</text> </view> </view></view>

 

頁面布局完成后進行user.js的編寫,data中設置頁面初始數據,username用于控制授權按鈕用戶名變換,defaultUrl設置默認頭像,userTx記錄用戶頭像,userInfo記錄用戶授權后所獲取的信息,gender用與用戶性別判斷,province用于記錄地區信息。

// pages/user/user.jsPage({ data: { username: '點擊登錄', defaultUrl: '/images/yuyin5.png', userTx: '', userInfo: {}, gender: 1, province: '', },

在onLoad中對頁面進行初始化設置和用戶是否登錄的初始化設置,在用戶授權登錄后直接使用本地的用戶信息,如果本地信息不存在則通過wx.getSetting獲取用戶設置,看用戶是否授權過,如果授權過,則wx.getUserInfo直接獲取用戶信息。

onLoad: function () { wx.setNavigationBarTitle({  title: '我的' }) //當重新加載這個頁面時,查看是否有已經登錄的信息 let username = wx.getStorageSync('username'),  avater = wx.getStorageSync('avatar'); if (username) {  this.setData({  username: username,  userTx: avater  }) } wx.getSetting({  success: res => {  if (res.authSetting['scope.userInfo']) {   wx.getUserInfo({   success: res => {    this.setData({    userTx: res.userInfo.avatarUrl,    userInfo: res.userInfo    })   }   })  }  } }) },

getUserInfoHandler方法保存系統常用的用戶信息到本地和完成用戶信息數據庫注冊,**button組件中bindgetuserinfo方法回調的detail數據與wx.getUserInfo返回的一致**,通過detail將所需的用戶信息提取出來,將性別gender替換為‘男'和‘女',將頭像、用戶名、性別、地區保存在本地。然后使用云數據庫API進行數據庫操作。

getUserInfoHandler: function (e) { let d = e.detail.userInfo var gen = d.gender == 1 ? '男' : '女' this.setData({  userTx: d.avatarUrl,  username: d.nickName }) wx.setStorageSync('avater', d.avatarUrl) wx.setStorageSync('username', d.nickName) wx.setStorageSync('gender', gen) wx.setStorageSync('province', d.province) //獲取數據庫引用 const db = wx.cloud.database() const _ = db.command //查看是否已有登錄,無,則獲取id var userId = wx.getStorageSync('userId') if (!userId) {  userId = this.getUserId() } //查找數據庫 db.collection('users').where({  _openid: d.openid }).get({  success(res) {  // res.data 是包含以上定義的記錄的數組  //如果查詢到數據,將數據記錄,否則去數據庫注冊  if (res.data && res.data.length > 0) {   wx.setStorageSync('openId', res.data[0]._openid)  } else {   //定時器   setTimeout(() => {   //寫入數據庫   db.collection('users').add({    data: {    userId: userId,    userSweet: 10,    voice: 0,    baovoice: 0,    iv: d.iv    },    success: function () {    console.log('用戶id新增成功')    db.collection('users').where({     userId: userId    }).get({     success: res => {     wx.setStorageSync('openId', res.data[0]._openid)     },     fail: err => {     console.log('用戶_openId設置失敗')     }    })    },    fail: function (e) {    console.log('用戶id新增失敗')    }   })   }, 100)  }  },  fail: err => {  } }) }, getUserId: function () { //生產唯一id,采用一個字母或數字+1970年到現在的毫秒數+10w的一個隨機數組成 var w = "abcdefghijklmnopqrstuvwxyz0123456789",  firstW = w[parseInt(Math.random() * (w.length))]; var userId = firstW + (Date.now()) + (Math.random() * 100000).toFixed(0) wx.setStorageSync('userId', userId) return userId; },})

在云開發控制臺中創建數據庫集合,我們新建一個users集合,我們只需新建集合,通過js中使用云開發API可自動創建集合中的屬性和數據。

微信小程序,云開發

該users集合為用戶信息表,記錄用戶信息,表users的結構如下:

微信小程序,云開發
 

集合創建成功后,點擊將出現進行編譯,此時頁面效果如下:

微信小程序,云開發

我們點擊“點擊登錄”按鈕,然后對程序進行授權,授權后可以看到我們的頭像和用戶名都顯示出來了,同時,打開云開發控制臺,查看users集合,可以看到我們信息已經成功保存在了集合中。

微信小程序,云開發 微信小程序,云開發

微信小程序,云開發

至此,我們就完成了

1、云端控制臺數據庫的創建
2、我的頁面的樣式制作
3、用戶授權登錄功能制作
4、云數據庫的用戶數據存儲的實現

項目源碼:https://github.com/xiedong2016/dbx

總結

以上所述是小編給大家介紹的我要點爆”微信小程序云開發之項目建立與我的頁面功能實現,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲日韩欧美视频| 97在线观看免费高清| 欧美韩日一区二区| 亚洲免费成人av电影| 日韩福利伦理影院免费| 欧美日韩成人黄色| 久久久久久久国产| 国产精品中文字幕在线观看| 日本a级片电影一区二区| 亚洲国产欧美一区二区三区久久| 亚洲精品二三区| 欧美国产在线视频| 久久久久久亚洲精品不卡| 91色在线视频| 国产精品久久久久999| 精品成人国产在线观看男人呻吟| 97精品伊人久久久大香线蕉| 日韩av中文字幕在线播放| 欧美激情xxxx性bbbb| 97久久精品国产| 成人免费看吃奶视频网站| 欧美午夜丰满在线18影院| 91精品啪aⅴ在线观看国产| 亚洲视频在线免费看| 欧美成人合集magnet| 精品国产精品三级精品av网址| 九九热这里只有在线精品视| 亚洲国产成人在线播放| 亚洲无限av看| 在线视频亚洲欧美| 亚洲国产成人精品一区二区| 国产亚洲精品久久久久久777| 国产精品视频一区二区三区四| 欧美日韩亚洲一区二| 91精品国产91久久| 国产精品视频久| 伊人伊人伊人久久| 精品日韩视频在线观看| 日韩大片免费观看视频播放| 欧美激情精品久久久久| 亚洲免费小视频| 91久久久精品| 国产精品福利无圣光在线一区| 久久久久久久久久国产| 亚洲视频日韩精品| 亚洲精品福利在线观看| 51精品国产黑色丝袜高跟鞋| 亚洲一区二区黄| 亚洲欧美国产精品| 亚洲成人久久网| 日日骚av一区| 精品久久久久久久大神国产| 日韩专区中文字幕| 久久久视频精品| 欧美午夜性色大片在线观看| 欧美成人黑人xx视频免费观看| 欧美激情久久久| 国产成人aa精品一区在线播放| 成人女保姆的销魂服务| 成人精品久久一区二区三区| 亚洲视频视频在线| 日韩在线中文字| 国产伦精品一区二区三区精品视频| 91精品久久久久久久久不口人| 成人免费视频a| 久久亚洲国产精品| 亚洲精品一区二区网址| 国产成人精品免费久久久久| 欧美激情国产高清| 91精品国产高清久久久久久久久| 日韩av在线网址| 精品久久久久国产| 色婷婷**av毛片一区| 人人爽久久涩噜噜噜网站| 亚洲奶大毛多的老太婆| 欧美激情精品久久久久久久变态| 中文字幕精品av| 久久久精品国产亚洲| 国产精品视频资源| 亚洲第一精品夜夜躁人人爽| 国产精品久久久久久亚洲调教| 深夜福利91大全| 亚洲视频专区在线| 91国产美女在线观看| 日本韩国欧美精品大片卡二| 日韩成人中文电影| 丝袜亚洲欧美日韩综合| 国产精品嫩草视频| 国产精品午夜视频| 日韩小视频在线观看| 国产精品网站视频| 不用播放器成人网| 麻豆国产精品va在线观看不卡| 一区二区在线视频| 亚洲日韩第一页| 国产精品一区二区久久国产| 欧美中文字幕第一页| 欧美交受高潮1| 欧美国产亚洲视频| 一个人看的www欧美| 亚洲资源在线看| 国产精品久久久久久久7电影| 欧美成人合集magnet| 欧美老女人xx| 欧美一区二粉嫩精品国产一线天| 亚洲美女视频网| 欧美成人激情图片网| 最新国产精品亚洲| 成人性生交大片免费观看嘿嘿视频| 国产亚洲人成网站在线观看| 最近中文字幕mv在线一区二区三区四区| 亚洲欧美国产一区二区三区| 欧美性xxxx极品hd欧美风情| 国产精品18久久久久久首页狼| 久久综合电影一区| 亚洲老板91色精品久久| 亚洲国产精品国自产拍av秋霞| 91色中文字幕| 亚洲欧美日韩国产成人| 国产精品综合久久久| 91久久精品美女高潮| 国产成人在线一区二区| 亚洲欧美国产高清va在线播| 欧美成aaa人片在线观看蜜臀| 97人洗澡人人免费公开视频碰碰碰| 亚洲成人久久久| 色综合天天狠天天透天天伊人| 国产精品久久久久久五月尺| 中文字幕亚洲一区二区三区| 久久久在线视频| 亚洲免费小视频| 色悠悠久久88| 日韩欧美在线视频日韩欧美在线视频| 国产69久久精品成人看| 成人免费淫片aa视频免费| 亚洲影院在线看| 国产一区av在线| 国产精品视频区1| 日韩在线观看网站| 欧美日韩一区二区在线| 国产69久久精品成人看| 亚洲自拍另类欧美丝袜| 中文字幕av一区二区三区谷原希美| 国产亚洲精品久久久久久| 国产一区二区三区丝袜| 色香阁99久久精品久久久| 欧美激情中文字幕乱码免费| 亚洲精品一区二区久| 国产精品入口日韩视频大尺度| 欧美插天视频在线播放| 国产福利精品av综合导导航| 51久久精品夜色国产麻豆| 色综久久综合桃花网| 欧美成aaa人片在线观看蜜臀| 亚洲字幕在线观看| 亚洲人成绝费网站色www| 欧美精品九九久久| 亚洲乱码国产乱码精品精天堂| 欧美激情按摩在线| 欧美中文字幕精品| 不卡在线观看电视剧完整版| 欧美成人免费一级人片100| 欧美激情综合色| 性欧美在线看片a免费观看|