abstrait:作業(yè)總結(jié):這次練習(xí)學(xué)得內(nèi)容比較多,要好好消化。自己看了一次老師的教程之后,也根據(jù)自己的需求做了一些功能,也遇到了一些問(wèn)題,也學(xué)習(xí)了很多。我的商城模塊:<!--pages/my/index.wxml--> <view class="upimg"> <image src="../../img/grzxt_01.jpg&q
作業(yè)總結(jié):
這次練習(xí)學(xué)得內(nèi)容比較多,要好好消化。
自己看了一次老師的教程之后,也根據(jù)自己的需求做了一些功能,也遇到了一些問(wèn)題,也學(xué)習(xí)了很多。
我的商城模塊:
<!--pages/my/index.wxml--> <view class="upimg"> <image src="../../img/grzxt_01.jpg" class="img"></image> <view wx:if="{{haslogin==true}}" class="icon"><image class="img2" src="{{userinfo.avatarUrl}}"></image></view> <view wx:if="{{haslogin==true}}" class="name">{{userinfo.nickName}}</view> </view> <button open-type="getUserInfo" bindgetuserinfo="getUserInfo" wx:if="{{haslogin==false}}" > 授權(quán)登錄 </button> <!-- 圖標(biāo) --> <view class="lbox"> <view class="ibox" bindtap="payInfo" data-id="0"><image class="limg" src="../../img/grzxt_07.png"></image><view class="txt">未支付</view></view> <view class="ibox" bindtap="payInfo" data-id="1"><image class="limg" src="../../img/grzxt_09.png"></image><view class="txt">已支付</view></view> <view class="ibox" bindtap="payInfo" data-id="2"><image class="limg" src="../../img/grzxt_12.png"></image><view class="txt">已完成</view></view> </view> <!-- 地址信息 --> <view class="obox" bindtap="getAdress"> <image class="aimg" src="../../img/grzxtp_06.png"/> <view class="atxt">我的地址</view> <image class="bimg" src="../../img/xzrqt_03.png"/> </view>
// pages/my/index.js var com=require("../../utils/util.js"); const app = getApp(); Page({ /** * 頁(yè)面的初始數(shù)據(jù) */ data: { userinfo:"", haslogin:false }, /** * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載 */ onLoad: function (options) { }, getUserInfo:function(e){ console.log(e); this.setData({ userinfo:e.detail.userInfo }); com.login('Api/Home/login',{ nickname: e.detail.userInfo.nickName, imgs: e.detail.userInfo.avatarUrl, gender: e.detail.userInfo.gender, },'setcon',this); }, setcon:function(e){ console.log('222'); console.log(e); this.setData({ haslogin:true }) app.globalData.userInfo=e; }, payInfo:function(e){ if (app.globalData.userInfo){ wx.navigateTo({ url: 'order?id='+e.currentTarget.dataset.id, });}else{ wx.showToast({ title: '請(qǐng)先登錄', icon:'none', duration:5000, }) } }, getAdress:function(){ if (app.globalData.userInfo) { wx.chooseAddress({ success(res) { console.log(res) } }); }else{ wx.showToast({ title: '請(qǐng)先登錄', icon: 'none', duration: 5000, }) } } })
購(gòu)物車(chē)模塊
<!--pages/shop/list.wxml--> <scroll-view class="scrolist" scroll-y="ture"> <checkbox-group bindchange="checkboxChange"> <block wx:for="{{lists}}" wx:key="" wx:for-index="dname"> <view class="lbox"> <checkbox class="cbox" checked="{{item.checked}}" value="{{dname}}"></checkbox> <image class="img" src="{{item.shop.imgs}}"/> <view class="txt"> <view class="tit">{{item.shop.title}}</view> <view class="pri">${{item.countpri}}.00</view> </view> <view class="count"> <button class="btn" bindtap="neqCount" data-type="0" data-ord="{{dname}}">-</button> <input class="cva" value=' {{item.count}}'></input> <button class="btn" bindtap="neqCount" data-type="1" data-ord="{{dname}}">+</button> </view> </view> </block> </checkbox-group> </scroll-view> <!-- 統(tǒng)計(jì)欄 --> <view class="sum"> <checkbox-group class="lcbox" bindchange="selectedall"> <checkbox class="cbox2" value='1' checked='{{allselected}}' />全選 </checkbox-group> <view class="sumpri">¥{{totalpri}}</view> <view class="submit" bindtap="gopay">結(jié)算</view> </view> <!-- <view bindtap="test">測(cè)試</view> -->
// pages/shop/list.js var com=require("../../utils/util.js"); const app = getApp(); var clist=[]; var all=0; var value=[]; Page({ /** * 頁(yè)面的初始數(shù)據(jù) */ data: { lists:[], price:0, allselected:false, totalpri:0 }, /** * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載 */ onLoad: function (options) { // console.log(app.globalData.userInfo); }, /** * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面顯示app.globalData.userInfo.uid */ onShow: function () { com.post('Api/Home/car_list',{uid:1},'setcon',this) }, setcon:function(e){ clist=e.list; this.singlecountpri(clist) }, checkboxChange:function(e){ // console.log(e); // console.log(e.detail.value); value = e.detail.value; var arr=e.detail.value; this.singlecountpri(clist,arr); if (e.detail.value.length == clist.length){ this.setData({ allselected:true }) }else{ this.setData({ allselected: false }) } }, singlecountpri:function(e,arr){ var allCount=0; for (var i = 0; i <clist.length; i++) { e[i].countpri = e[i].count * e[i].shop.price; } if(arr){ arr.forEach(function (v, i) { allCount +=e[v].countpri }); this.setData({ totalpri: allCount }); return; } // console.log(e); this.setData({ lists: e }); }, neqCount:function(e){ // console.log(e.currentTarget.dataset); var reslist = clist[e.currentTarget.dataset.ord].count; // console.log(reslist); if (e.currentTarget.dataset.type==0){ if(reslist==0){ reslist==0 }else{ reslist -= 1; } }else{ reslist += 1; } clist[e.currentTarget.dataset.ord].count=reslist; this.singlecountpri(clist); }, selectedall:function(e){ all+=1; console.log(all); if (all==1){ for(var j=0;j<clist.length;j++){ clist[j].checked='true', value=[0,1,2,3,4,5,6] } }else{ for (var j = 0; j <clist.length; j++) { clist[j].checked = '', value = []; } // all=0; } // console.log(value); // console.log(clist); var res =[]; for(var d=0;d<clist.length;d++){ res[d]=d; } // console.log(res); if(all==1){ this.singlecountpri(clist,res); }else{ res=[] this.singlecountpri(clist, res); all = 0; } this.setData({ lists:clist }) }, test:function(){ wx.switchTab({ //跳轉(zhuǎn)到tabBar頁(yè)面,并關(guān)閉其他所有tabBar頁(yè)面 url: "/pages/my/index" }) }, gopay:function(){ // com.post('Api/Home/car_count', { id: 1, count: 5 }, 'setcc', this); var plist=this.data.lists; var that=this; var values=""; var valuess=''; // console.log(plist); if(value.length!==0){ value.forEach(function(v,i){ values = values +plist[v].id +',', valuess=values.substr(0,values.length-1), console.log(valuess), com.post('Api/Home/car_count',{id:plist[v].id,count:plist[v].count},'setcc',that) }); wx.navigateTo({ url: 'order?id=' + valuess, }); }else{ wx.showToast({ title: '沒(méi)有選中任何產(chǎn)品', icon: 'none', duration: 2000 }) } }, setcc:function(e){ console.log(e); } })
訂單模塊
<!--pages/shop/order.wxml--> <view class="btm"> <!-- 地址 --> <view class="adress"> <view class="maintap" wx:if="{{address==0}}" bindtap="setAddress">添加收貨地址</view> <view class="maintap" wx:if="{{address.userName}}" bindtap="setAddress">切換收貨地址</view> <view class="atxt">姓名:{{address.userName}}</view> <view class="atxt">聯(lián)系方式:{{address.telNumber}}</view> <view class="atxt" style="height:100rpx;">詳細(xì)地址:{{address.provinceName}} {{address.cityName}} {{address.detailInfo}}</view> </view> <!-- <待支付列表> --> <scroll-view class="scrolist" scroll-y="true"> <block wx:for="{{orderlist}}" wx:key=""> <view class="lbox"> <image class="img" src="{{item.imgs}}"/> <view class="txt"> <view class="tit">{{item.title}}</view> <view class="pri">${{item.price}} x{{item.car.count}}</view> </view> <view class="count"> <view class="sumpri">${{item.singlecount}}.00</view> </view> </view> </block> </scroll-view> <view class="area"> <textarea class="txtarea" rows="3" placeholder="備注:50字以內(nèi)(選填)" bindinput="desc"></textarea> </view> <!-- 統(tǒng)計(jì)欄 --> <view class="sum"> <view class="sumpri">總金額:¥{{totalprice}}</view> <view class="submit">結(jié)算</view> </view> </view>
// pages/shop/order.js var com = require("../../utils/util.js"); const app = getApp(); Page({ /** * 頁(yè)面的初始數(shù)據(jù) */ data: { address: 0, orderlist:[], totalprice:0, }, /** * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載 */ onLoad: function (options) { console.log(options); com.post('Api/Home/car_order',{id:options.id},'getlist',this) }, getlist:function(e){ console.log(e); var list=e.car; for(var i=0;i<list.length;i++){ list[i].singlecount = list[i].car.count * list[i].price; } console.log(list); this.setData({ orderlist:list, totalprice:e.total_price, }) }, setAddress: function () { var self = this; wx.chooseAddress({ success: function (res) { console.log(res); self.setData({ address: res }); } }) }, desc: function (e) { console.log(e.detail.value); } })
Professeur correcteur:查無(wú)此人Temps de correction:2018-12-26 12:32:09
Résumé du professeur:寫(xiě)的不錯(cuò),有問(wèn)題可以提交工單。作業(yè)加上自己的思路會(huì)更好,老師更能清楚你是否學(xué)會(huì)了