學習使我happy!!!
小(xiao)(xiao)程序(xu)是一(yi)種新的(de)開放能力,開發者(zhe)可以(yi)快(kuai)速(su)地開發一(yi)個小(xiao)(xiao)程序(xu)。小(xiao)(xiao)程序(xu)可以(yi)在微(wei)信內被(bei)便(bian)捷(jie)地獲(huo)取和傳播(bo),同時具有出色的(de)使用體驗。為什么選(xuan)擇它?
小程序對于新手來說,是很容易上手的,需要你用幾天時間去熟悉小程序的構建過程和說明文檔,你就可以初步做出一個比較完整的小程序。 我覺得小程序最屌地方還是rpx,使得小程序有很大的兼容性,在頁面布局使用這個屬性,可以適應不同的手機,這也使得我們降低工作量。而且小程序是一個不需要下載安裝即可使用的應用,而且它的背后是強大的微信,所以,如果我們能夠用自己的創造思維去看待這個,你會得到很大的收獲O(∩_∩)O哈哈~。
"pages":[
"pages/index/index", // 主頁
"pages/happynotice/happynotice", //開心通告欄
"pages/userinfo/userinfo", //個人信息詳情>
"pages/queryintegral/queryintegral", // 積分查詢
"pages/integralmall/integralmall", // 積分商城
"pages/user/user", //個人信息
"pages/integraldetail/integraldetail", // 優惠券詳情
"pages/qrcodenull/qrcodenull", // 請求注冊頁面
"pages/register/register", // 注冊信息頁面
"pages/qrcode/qrcode" //我的二維碼
],
項目功能已實現功能:
在(zai)這里我們首先要登錄利用(yong)(yong)wx.login(OBJECT) 必寫(不然獲取(qu)不到用(yong)(yong)戶(hu)的信息(xi)) 然后利用(yong)(yong)方法wx.getUserInfo(OBJECT)獲取(qu)用(yong)(yong)戶(hu)信息(xi)
//登錄的信息創建
wx.login({
success: function (e) {
wx.setStorage({
key: "key",
data: e.errMsg
})
}
})
//獲取用戶的信息
wx.getUserInfo({
success: function(res) {
var userInfo = res.userInfo
var nickName = userInfo.nickName
var avatarUrl = userInfo.avatarUrl
var gender = userInfo.gender //性別 0:未知、1:男、2:女
var province = userInfo.province
var sex;
...
2. 優惠券的顯示及頁面傳值
這(zhe)(zhe)里(li)我(wo)(wo)們(men)從easy-mock獲取到(dao)優惠(hui)券(quan)的(de)(de)信(xin)息(xi)(xi)并(bing)且將信(xin)息(xi)(xi)顯示到(dao)頁(ye)(ye)面(mian)上(shang),我(wo)(wo)們(men)就(jiu)利(li)用(yong)了wx:for這(zhe)(zhe)個(ge)(ge)(ge)控制屬(shu)性(xing)綁定(ding)一(yi)個(ge)(ge)(ge)數組 這(zhe)(zhe)里(li)我(wo)(wo)們(men)還可以注意這(zhe)(zhe)個(ge)(ge)(ge)信(xin)息(xi)(xi)navigator是(shi)個(ge)(ge)(ge)跳(tiao)轉頁(ye)(ye)面(mian)的(de)(de)屬(shu)性(xing),在跳(tiao)轉的(de)(de)過程(cheng)中(zhong)它(ta)可以傳(chuan)值,例(li)如**?url={{item.url}}這(zhe)(zhe)里(li)我(wo)(wo)要穿(chuan)的(de)(de)是(shi)圖(tu)片(pian)地址(zhi)信(xin)息(xi)(xi)到(dao)下(xia)個(ge)(ge)(ge)頁(ye)(ye)面(mian)。 當然頁(ye)(ye)面(mian)傳(chuan)值并(bing)不是(shi)只是(shi)這(zhe)(zhe)樣(yang)方法,還有設置全局的(de)(de)數據緩存(cun)**,引入事件訂閱和發布onfire.js,這(zhe)(zhe)里(li)就(jiu)不一(yi)一(yi)介紹了有興趣可以去Google
<block wx:for="{{imgs}}" wx:key="" class="block" >
<swiper-item >
<navigator url="/pages/integraldetail/integraldetail?url={{item.url}}&description={{item.description}}&prompt={{item.prompt}}">
<image src="{{item.url}}" class="side-img" />
<view class="check click">查看詳情view>
navigator>
<view class="exchange click" bindtap="exchangetap">立即兌換view>
swiper-item>
block>
```
我們需要在js文件中聲明你的的優惠券數據imgs:[],**注意這里是json格式加','**
```javascript
data: {
imgs:[],
modalHidden: true,
},
利用wx.request(OBJECT)發起的(de)是https請(qing)求,從easymock中獲取數據(ju)信(xin)息(xi),利用setData()改變imgs得值, 要(yao)注意一(yi)定要(yao)聲明var that = this,因(yin)為wx:request里面是請(qing)求不到當前頁面的(de)data的(de)數據(ju)信(xin)息(xi),我們需要(yao)將this的(de)賦(fu)值給that。還有一(yi)個微(wei)信(xin)小程序,同時只能有5個網絡請(qing)求連接(jie)。
var that = this;
wx.request({
url: "//www.easy-mock.com/mock/595f3f139adc231f357b0615/McDonald/list",
method: 'GET',
success: function (res) {
console.log(res);
that.setData({
imgs: res.data.image,
})
}
})
3. 星座選擇器(這里我踩過坑)
表單組(zu)件picker支持三種選(xuan)(xuan)擇(ze)(ze)(ze)(ze)器,通(tong)過mode來區分,分別是普通(tong)選(xuan)(xuan)擇(ze)(ze)(ze)(ze)器,時間選(xuan)(xuan)擇(ze)(ze)(ze)(ze)器,日期選(xuan)(xuan)擇(ze)(ze)(ze)(ze)器,這(zhe)里(li)我們選(xuan)(xuan)擇(ze)(ze)(ze)(ze)的是普通(tong)選(xuan)(xuan)擇(ze)(ze)(ze)(ze)器。range是顯示(shi)的數組(zu),只有聲明mode為selector這(zhe)個(ge)才(cai)能實現;value表示(shi)選(xuan)(xuan)擇(ze)(ze)(ze)(ze)的第幾個(ge)(由0開始(shi));bindchange是觸發事件
<view class="userdata-name">星座view>
<view class="userdata-symbol">view>
<picker mode="selector" class="userdata-input" range="{{actionConItems}}" value="{{conIndex}}" bindchange="pickerConSelected">
<text>{{actionConItems[conIndex]}}text>
picker>
view>
從微信(xin)端獲(huo)取的個(ge)人信(xin)息(xi)(xi)放(fang)在(zai)本地利(li)用wx.setStorageSync("key", '')存(cun)儲(chu)特定的信(xin)息(xi)(xi),picker到(dao)的星座就(jiu)可以利(li)用這個(ge)方法,放(fang)到(dao)本地。
data: {
actionConItems: ['白羊座','金牛座','雙子座','巨蟹座','獅子座','處女座','天秤座','天蝎座','射手座','摩羯座','水瓶座','雙魚座'],
conIndex: 0,
},
//星座彈出窗口 可以將數據放在本地setStorage
pickerConSelected: function (e) {
console.log('picker發送選擇改變,星座為' + e.detail.value);
wx.setStorageSync("con", e.detail.value);
this.setData({
conIndex: e.detail.value,
btnColor: "#ffc324",
});
},
踩過的坑...
|