- addToCart()
// page/component/details/details.js Page({ data: {}, onLoad: function (options) { var post_content = [ { id: 0, image: 'http://gzwrd168-1251553776.coscd.myqcloud.com/gzwrd/gg688.png', title: '野生葛根植物饮品 6听礼盒装', price: 68.00, stock: '有货', detail: '野生葛根原料含12%的黄酮类化合物,如葛根素、大豆黄酮苷、花生素等营养成分,含人体必须氨基酸、铁、钙、铜、硒等矿物质,是老少皆宜的名贵滋补品,有“亚洲人参”之美誉。可调理肠胃、解酒护肝、降三高、丰胸美颜、提高免疫力等保健功效。', parameter: '配料:纯净水、葛根、食品添加剂(木糖醇、脂肪酸脂、三聚磷酸钠、碳酸氢钠、安赛蜜、三氯蔗糖);净含量:246ml×6听礼盒装;保质期:18 个月;生产日期:见罐底;贮存方式:阴凉、干燥、避光、常温下贮存;饮用方法:直接饮用、冷藏或加热风味更佳; 饮用前请摇晃均匀;食品生产执行标准:Q/WRD 0001S;食品生产许可证号:SC10652052110153;公司地址:贵州省 黔东南州 天下苗族第一县•台江;原料种植基地:贵州省黔东南苗族侗族自治州;台江县南宫镇大田基地;商家电话:0855-5473683', service: '支持退货' }, { id: 1, image: 'http://gzwrd168-1251553776.coscd.myqcloud.com/gzwrd/gg688.png', title: '农家紫苏植物蛋白饮品 6听礼盒装', price: 68.00, stock: '有货', detail: '野生葛根原料含12%的黄酮类化合物,如葛根素、大豆黄酮苷、花生素等营养成分,含人体必须氨基酸、铁、钙、铜、硒等矿物质,是老少皆宜的名贵滋补品,有“亚洲人参”之美誉。可调理肠胃、解酒护肝、降三高、丰胸美颜、提高免疫力等保健功效。', parameter: '配料:纯净水、葛根、食品添加剂(木糖醇、脂肪酸脂、三聚磷酸钠、碳酸氢钠、安赛蜜、三氯蔗糖);净含量:246ml×6听礼盒装;保质期:18 个月;生产日期:见罐底;贮存方式:阴凉、干燥、避光、常温下贮存;饮用方法:直接饮用、冷藏或加热风味更佳; 饮用前请摇晃均匀;食品生产执行标准:Q/WRD 0001S;食品生产许可证号:SC10652052110153;公司地址:贵州省 黔东南州 天下苗族第一县•台江;原料种植基地:贵州省黔东南苗族侗族自治州;台江县南宫镇大田基地;商家电话:0855-5473683', service: '支持退货' } ] this.setData({ posts_key: postsData.postList }) }, num: 1, totalNum: 0, hasCarts: false, curIndex: 0, show: false, scaleCart: false }, addCount(){ let num = this.data.num; num++; this.setData({ num: num }) }, addToCart() { const self = this; const num = this.data.num; let total = this.data.totalNum; self.setData({ show: true }) setTimeout(function () { self.setData({ show: false, scaleCart: true }) setTimeout(function () { self.setData({ scaleCart: false, hasCarts: true, totalNum: num + total }) }, 200) }, 300) }, bindTap(e) { const index = parseInt(e.currentTarget.dataset.index); this.setData({ curIndex: index }) } }) 以下为wxml <block wx:for="{{posts_key}}" > <view class="main"> <view class="goods-box"> <image src="{{goods.image}}" class="goods-thumb"></image> <navigator open-type="switchTab" url="../cart/cart"> <view class="carts-icon {{scaleCart?'on':''}}"> <image src="http://gzwrd168-1251553776.coscd.myqcloud.com/photos/cart22.png"></image> <text class="carts-icon-num" wx:if="{{hasCarts}}">{{totalNum}}</text> </view> </navigator> <view class="goods-operation"> <text class="goods-operation-num">数量 {{num}}</text> <text class="goods-operation-add" bindtap="addCount">+</text> <text class="goods-to-cart" bindtap="addToCart">加入购物车</text> <image src="http://gzwrd168-1251553776.coscd.myqcloud.com/photos/cart11.png" class="goods-cart-img" bindtap="addToCart"></image> </view> <image wx:if="{{show}}" src="http://gzwrd168-1251553776.coscd.myqcloud.com/photos/cart11.png" class="to-carts-icon"></image> <view class="goods-stock">{{goods.stock}}</view> <view class="goods-title">{{goods.title}}</view> <view class="goods-price">¥ {{goods.price}}</view> </view> <view class="goods-tab-box"> <view class="goods-tab-nav {{curIndex === 0 ?'on':''}}" bindtap="bindTap" data-index="0">商品详情</view> <view class="goods-tab-nav {{curIndex === 1 ?'on':''}}" bindtap="bindTap" data-index="1">产品参数</view> <view class="goods-tab-nav {{curIndex === 2 ?'on':''}}" bindtap="bindTap" data-index="2">售后保障</view> <view class="goods-content"> <view wx:if="{{curIndex === 0}}">{{goods.detail}}</view> <view wx:if="{{curIndex === 1}}">{{goods.parameter}}</view> <view wx:if="{{curIndex === 2}}">{{goods.service}}</view> </view> </view> </view> </block> [图片]
2018-04-09 - php
D:\xampp\htdocs\Zerg\public>php -S localhost:8080 router.php 'php' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 这个问题如何解决?
2018-02-06 - 添加省市区地址电话姓名不能保存到页面
[图片] 域名明明是对的,为什么不行? [图片] 这里保存不了!什么原因? [图片] 购物车数据如何跳转到另一个页面去结算? [图片] 请专家帮忙解惑!谢谢! 你想反馈一个 Bug 还是 提一个需求? 如果是 Bug: * Bug 表现是什么?预期表现是什么? * 如何复现? * 提供一个最简复现 Demo 如果是需求: * 你希望有什么能力? * 你需要这个能力的场景是 ?
2018-01-27 - 为什么开发都工具和手机显示不一至?
为什么开发都工具和手机显示不一至? 开发都工具显示:[图片] 而手机上显示是这样? [图片]
2017-12-13 - wx.addPhoneContact(OBJECT)
求wx.addPhoneContact(OBJECT)示范代码?
2017-12-12 - 省市县地址选择为何不显示?
我从另一个demo考address-add过另一个address-add后省市县就没有显示选择, 高手帮我看看哪里出了问题? [图片] 考到另一个demo就没有选择了,是什么问题? [图片] 代码: //--js var commonCityData = require('../../utils/city.js') //获取应用实例 var app = getApp() Page({ data: { provinces:[], citys:[], districts:[], selProvince:'请选择', selCity:'请选择', selDistrict:'请选择', selProvinceIndex:0, selCityIndex:0, selDistrictIndex:0 }, bindCancel:function () { wx.navigateBack({}) }, bindSave: function(e) { var that = this; var linkMan = e.detail.value.linkMan; var address = e.detail.value.address; var mobile = e.detail.value.mobile; var code = e.detail.value.code; if (linkMan == ""){ wx.showModal({ title: '提示', content: '请填写联系人姓名', showCancel:false }) return } if (mobile == ""){ wx.showModal({ title: '提示', content: '请填写手机号码', showCancel:false }) return } if (this.data.selProvince == "请选择"){ wx.showModal({ title: '提示', content: '请选择地区', showCancel:false }) return } if (this.data.selCity == "请选择"){ wx.showModal({ title: '提示', content: '请选择地区', showCancel:false }) return } var cityId = commonCityData.cityData[this.data.selProvinceIndex].cityList[this.data.selCityIndex].id; var districtId; if (this.data.selDistrict == "请选择" || !this.data.selDistrict){ districtId = ''; } else { districtId = commonCityData.cityData[this.data.selProvinceIndex].cityList[this.data.selCityIndex].districtList[this.data.selDistrictIndex].id; } if (address == ""){ wx.showModal({ title: '提示', content: '请填写详细地址', showCancel:false }) return } if (code == ""){ wx.showModal({ title: '提示', content: '请填写邮编', showCancel:false }) return } var apiAddoRuPDATE = "add"; var apiAddid = that.data.id; if (apiAddid) { apiAddoRuPDATE = "update"; } else { apiAddid = 0; } wx.request({ url: 'https://api.it120.cc/' + app.globalData.subDomain + '/user/shipping-address/' + apiAddoRuPDATE, data: { token: app.globalData.token, id: apiAddid, provinceId: commonCityData.cityData[this.data.selProvinceIndex].id, cityId: cityId, districtId: districtId, linkMan:linkMan, address:address, mobile:mobile, code:code, isDefault:'true' }, success: function(res) { if (res.data.code != 0) { // 登录错误 wx.hideLoading(); wx.showModal({ title: '失败', content: res.data.msg, showCancel:false }) return; } // 跳转到结算页面 wx.navigateBack({}) } }) }, initCityData:function(level, obj){ if(level == 1){ var pinkArray = []; for(var i = 0;i<commonCityData.cityData.length;i++){ pinkArray.push(commonCityData.cityData[i].name); } this.setData({ provinces:pinkArray }); } else if (level == 2){ var pinkArray = []; var dataArray = obj.cityList for(var i = 0;i<dataArray.length;i++){ pinkArray.push(dataArray[i].name); } this.setData({ citys:pinkArray }); } else if (level == 3){ var pinkArray = []; var dataArray = obj.districtList for(var i = 0;i<dataArray.length;i++){ pinkArray.push(dataArray[i].name); } this.setData({ districts:pinkArray }); } }, bindPickerProvinceChange:function(event){ var selIterm = commonCityData.cityData[event.detail.value]; this.setData({ selProvince:selIterm.name, selProvinceIndex:event.detail.value, selCity:'请选择', selCityIndex:0, selDistrict:'请选择', selDistrictIndex: 0 }) this.initCityData(2, selIterm) }, bindPickerCityChange:function (event) { var selIterm = commonCityData.cityData[this.data.selProvinceIndex].cityList[event.detail.value]; this.setData({ selCity:selIterm.name, selCityIndex:event.detail.value, selDistrict: '请选择', selDistrictIndex: 0 }) this.initCityData(3, selIterm) }, bindPickerChange:function (event) { var selIterm = commonCityData.cityData[this.data.selProvinceIndex].cityList[this.data.selCityIndex].districtList[event.detail.value]; if (selIterm && selIterm.name && event.detail.value) { this.setData({ selDistrict: selIterm.name, selDistrictIndex: event.detail.value }) } }, onLoad: function (e) { var that = this; this.initCityData(1); var id = e.id; if (id) { // 初始化原数据 wx.showLoading(); wx.request({ url: 'https://api.it120.cc/' + app.globalData.subDomain + '/user/shipping-address/detail', data: { token: app.globalData.token, id: id }, success: function (res) { wx.hideLoading(); if (res.data.code == 0) { that.setData({ id:id, addressData: res.data.data, selProvince: res.data.data.provinceStr, selCity: res.data.data.cityStr, selDistrict: res.data.data.areaStr }); that.setDBSaveAddressId(res.data.data); return; } else { wx.showModal({ title: '提示', content: '无法获取快递地址数据', showCancel: false }) } } }) } }, setDBSaveAddressId: function(data) { var retSelIdx = 0; for (var i = 0; i < commonCityData.cityData.length; i++) { if (data.provinceId == commonCityData.cityData[i].id) { this.data.selProvinceIndex = i; for (var j = 0; j < commonCityData.cityData[i].cityList.length; j++) { if (data.cityId == commonCityData.cityData[i].cityList[j].id) { this.data.selCityIndex = j; for (var k = 0; k < commonCityData.cityData[i].cityList[j].districtList.length; k++) { if (data.districtId == commonCityData.cityData[i].cityList[j].districtList[k].id) { this.data.selDistrictIndex = k; } } } } } } }, selectCity: function () { }, deleteAddress: function (e) { var that = this; var id = e.currentTarget.dataset.id; wx.showModal({ title: '提示', content: '确定要删除该收货地址吗?', success: function (res) { if (res.confirm) { wx.request({ url: 'https://api.it120.cc/' + app.globalData.subDomain + '/user/shipping-address/delete', data: { token: app.globalData.token, id: id }, success: (res) => { wx.navigateBack({}) } }) } else if (res.cancel) { console.log('用户点击取消') } } }) } }) //--json { "navigationBarTitleText": "地址管理", "enablePullDownRefresh": false } //--wxml <view class="container"> <form bindsubmit="bindSave"> <view class="form-box"> <view class="row-wrap"> <view class="label">联系人</view> <view class="label-right"> <input name="linkMan" class="input" type="text" placeholder="姓名" value="{{addressData.linkMan}}"/> </view> </view> <view class="row-wrap"> <view class="label">手机号码</view> <view class="label-right"> <input name="mobile" class="input" maxlength="11" type="number" placeholder="11位手机号码" value="{{addressData.mobile}}"/> </view> </view> <view class="row-wrap" bindtap="selectCity"> <view class="label">选择地区</view> <picker bindchange="bindPickerProvinceChange" range="{{provinces}}"> <view class="picker {{selProvince=='请选择'?'hui':''}}"> {{selProvince}} </view> </picker> <picker bindchange="bindPickerCityChange" range="{{citys}}"> <view class="picker {{selCity=='请选择'?'hui':''}}"> {{selCity}} </view> </picker> <picker bindchange="bindPickerChange" range="{{districts}}"> <view class="picker {{selDistrict=='请选择'?'hui':''}}"> {{selDistrict}} </view> </picker> </view> <view class="addr-details"> <view class="label">详细地址</view> <view class="label-right"> <!--<input class="input" type="text" placeholder="街道门牌信息"/>--> <textarea name="address" auto-height placeholder="街道门牌信息" value="{{addressData.address}}"/> </view> </view> <view class="row-wrap"> <view class="label">邮政编号</view> <view class="label-right"> <input name="code" class="input" type="text" value="{{addressData.code}}"/> </view> </view> </view> <button type="warn" class="save-btn" formType="submit">保存</button> <button type="default" class="save-btn" bindtap="deleteAddress" data-id="{{addressData.id}}" wx:if="{{addressData}}">删除该地址</button> <button type="default" class="cancel-btn" bindtap="bindCancel">取消</button> </form> </view> //--wxss page{ height: 100%; } .container{ background-color: #f5f5f9; justify-content: initial; } .form-box{ width:100%; background-color: #fff; margin-top: 20rpx; } .row-wrap{ width: 720rpx; height: 88rpx; line-height: 88rpx; margin-left: 30rpx; border-bottom: 1rpx solid #eee; display: flex; font-size: 28rpx; /*justify-content: space-between;*/ } .row-wrap .label{ width: 160rpx; color: #000 } .row-wrap .label-right{ flex: 1; height: 88rpx; line-height: 88rpx; } .row-wrap .label-right input{ height: 100%; font-size: 28rpx; padding-right: 30rpx; } .row-wrap .right-box{ margin-right: 30rpx; } .arrow-right{ width: 15rpx; height: 24rpx; } .save-btn, .cancel-btn{ width: 690rpx; height: 80rpx; line-height: 80rpx; text-align: center; margin-top:30rpx; border-radius: 6rpx; box-sizing: border-box; } .save-btn{ background-color: #e64340; color:#fff; } button[type="default"]{ background-color: #ffffff; color:#000; } .addr-details{ height: auto; padding: 30rpx 0; margin-left:30rpx; border-bottom: 1rpx solid #eee; display: flex; font-size: 28rpx; } .addr-details .label{ margin:auto 0 auto 0; width: 160rpx; color: #000 } .addr-details textarea{ box-sizing: border-box; width: 480rpx; overflow: scroll; } picker { min-width: 20rpx; height: 100%; margin-right: 20rpx; } .hui{ color: #777; }
2017-12-11