1.先放几张效果图吧!我之前是做安卓开发的,前段时间帮朋友开发了一款小程序。前端学过html+css+js的童鞋应该对里面的一些语法都都很熟悉了,这里主要说下商品加入购物车的一些逻辑,我这里用的是将商品信息的数组缓存到storage的方法,购物车直接get到内存中那个数组名。还有弹出选择框这里也遇到了一些坑。我这里后端用的是php,对于一个做安卓的java?来说,php里面的一些东西还是花了一些时间去了解。下面是微信支付wxpayapi的jsapi代码,具体的这个文件可以去微信开发者文档里下载。
?phpini_set('date.timezone','Asia/Shanghai');//error_reporting(E_ERROR);require_once"../lib/WxPay.Api.php";require_once"WxPay.JsApiPay.php";require_once'log.php';//初始化日志//$logHandlernewCLogFileHandler("../logs/".date('Y-m-d').'.log');//$logLog::Init($logHandler,15);//打印输出数组信息//functionprintf_info($data)//{//foreach($dataas$key$value){//echo"fontcolor'#00ff55;'$key/font:$valuebr/";//}//}//①、获取用户openid$toolsnewJsApiPay();$openId$tools-GetOpenid();//②、统一下单$inputnewWxPayUnifiedOrder();$input-SetBody("test");$input-SetAttach("test");$input-SetOut_trade_no(WxPayConfig::MCHID.date("YmdHis"));$input-SetTotal_fee("1");$input-SetTime_start(date("YmdHis"));$input-SetTime_expire(date("YmdHis",time()+10));$input-SetGoods_tag("test");$input-SetNotify_url("http://paysdk.weixin.qq.com/example/notify.php");$input-SetTrade_type("JSAPI");$input-SetOpenid($openId);$orderWxPayApi::unifiedOrder($input);//echo'fontcolor"#f00"b统一下单支付单信息/b/fontbr/';//printf_info($order);$jsApiParameters$tools-GetJsApiParameters($order);echo$jsApiParameters;//获取共享收货地址js函数参数$editAddress$tools-GetEditAddressParameters();//③、在支持成功回调通知中处理成功之后的事宜,见notify.php/***注意:*1、当你的回调地址不可访问的时候,回调通知会失败,可以通过查询订单来确认支付是否成功*2、jsapi支付时需要填入用户openid,WxPay.JsApiPay.php中有获取openid流程(文档可以参考微信公众平台“网页授权接口”,*参考http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html)*/?2.下面是部分前端代码:
viewclass"main"viewwx:if"{{hasList}}"viewclass"cart-box"viewclass"cart-list"wx:for"{{carts}}"wx:key"{{index}}"iconwx:if"{{item.selected}}"type"success"color"red"data-index"{{index}}"class"cart-pro-select"bindtap"selectList"/iconwx:elsetype"circle"class"cart-pro-select"data-index"{{index}}"bindtap"selectList"/navigatorurl"../details/details?id{{item.id}}"imageclass"cart-thumb"src"{{item.image}}"/image/navigatortextclass"cart-pro-name"{{item.title}}/texttextclass"cart-pro-price"¥{{item.price}}/textviewclass"textview"textstyle"font-size:30rpx;color:#C0C0C0;"{{item.sub}}/text/viewviewclass"cart-count-box"textclass"cart-count-down"bindtap"minusCount"data-obj"{{obj}}"data-index"{{index}}"-/texttextclass"cart-count-num"{{item.num}}/texttextclass"cart-count-add"bindtap"addCount"data-index"{{index}}"+/text/viewtextclass"cart-del"bindtap"deleteList"data-index"{{index}}"×/text/view/viewviewclass"cart-footer"iconwx:if"{{selectAllStatus}}"type"success_circle"color"#fff"class"total-select"bindtap"selectAll"/iconwx:elsetype"circle"color"#fff"class"total-select"bindtap"selectAll"/viewclass"order-icon"imagebindtap"submitOrder"src"/images/icon1.png"/image/viewtext全选/texttextclass"cart-toatl-price"¥{{totalPrice}}/text/view/viewviewwx:elseviewclass"cart-no-data"购物车是空的哦~/view/view/view//page/component/new-pages/cart/cart.js//varcarsnewCars();//实例化购物车Page({data:{carts:[],//购物车列表hasList:false,//列表是否有数据totalPrice:0,//总价,初始为0selectAllStatus:true,//全选状态,默认全选obj:{name:"hello"}},onShareAppMessage:function(res){varawx.getStorageSync("id")varbwx.getStorageSync("name")if(res.from'button'){//来自页面内转发按钮console.log(res.target)}return{title:'名片500张仅19元全国包邮货到付款,转发可享受更多优惠价',path:'/pages/mine/mine?id'+a+'sub'+b,success:function(res){//转发成功wx.showModal({title:'提示',content:'转发成功',})},fail:function(res){//转发失败}}},//分割线onShow(){varthatthis;varid1wx.getStorageSync('cart1')||[];varid2wx.getStorageSync('cart2')||[];varid3wx.getStorageSync('cart3')||[];varid4wx.getStorageSync('cart4')||[];varid5wx.getStorageSync('cart5')||[];//名片类,安格纸varid6wx.getStorageSync('cart6')||[];varid7wx.getStorageSync('cart7')||[];varid8wx.getStorageSync('cart8')||[];varid9wx.getStorageSync('cart9')||[];varid10wx.getStorageSync('cart10')||[];varid11wx.getStorageSync('cart11')||[];varid12wx.getStorageSync('cart12')||[];varid13wx.getStorageSync('cart13')||[];varid14wx.getStorageSync('cart14')||[];//哑面varid15wx.getStorageSync('cart15')||[];varid16wx.getStorageSync('cart16')||[];varid17wx.getStorageSync('cart17')||[];varid18wx.getStorageSync('cart18')||[];console.log(id1);console.log(id2);varsub1id1.concat(id2).concat(id3).concat(id4).concat(id5).concat(id6).concat(id7).concat(id8).concat(id9).concat(id10).concat(id11).concat(id12).concat(id13).concat(id14).concat(id15).concat(id16).concat(id17).concat(id18);that.setData({hasList:true,carts:sub1,});this.getTotalPrice();},/*提交订单*/submitOrder:function(flag){varresthis.data.carts;if(!res){res[];}//在下单的时候过滤不下单的商品,if(flag){varnewRes[];for(leti0;ires.length;i++){if(res[i].selected){newRes.push(res[i]);}}resnewRes;console.log(res);wx.setStorageSync('res',res);}wx.navigateTo({url:'../orders/orders?account'+this.data.account+'fromcars'});},/***当前商品选中事件*/selectList(e){console.log(e);constindexe.currentTarget.dataset.index;letcartsthis.data.carts;constselectedcarts[index].selected;console.log(selected);varidcarts[index].id;console.log(id);carts[index].selected!selected;this.setData({carts:carts});this.getTotalPrice();},/***删除购物车当前商品*/deleteList(e){constindexe.currentTarget.dataset.index;letcartsthis.data.carts;console.log(e);console.log(carts);varidcarts[index].id;console.log(id);carts.splice(index,1);if(id1){wx.removeStorageSync('cart1');}//分割线if(id2){wx.removeStorageSync('cart2');}//分割线if(id3){wx.removeStorageSync('cart3');}//分割线if(id4){wx.removeStorageSync('cart4');}//分割线if(id5){wx.removeStorageSync('cart5');}//分割线if(id6){wx.removeStorageSync('cart6');}//分割线if(id7){wx.removeStorageSync('cart7');}//分割线if(id8){wx.removeStorageSync('cart8');}//分割线if(id9){wx.removeStorageSync('cart9');}//分割线if(id10){wx.removeStorageSync('cart10');}//分割线if(id11){wx.removeStorageSync('cart11');}//分割线if(id12){wx.removeStorageSync('cart12');}//分割线if(id13){wx.removeStorageSync('cart13');}//分割线if(id14){wx.removeStorageSync('cart14');}//分割线if(id15){wx.removeStorageSync('cart15');}//分割线if(id16){wx.removeStorageSync('cart16');}//分割线if(id17){wx.removeStorageSync('cart17');}//分割线if(id18){wx.removeStorageSync('cart18');}//分割线this.setData({carts:carts});if(!carts.length){this.setData({hasList:false});}else{this.getTotalPrice();}},/***购物车全选事件*/selectAll(e){//console.log(e)letselectAllStatusthis.data.selectAllStatus;selectAllStatus!selectAllStatus;letcartsthis.data.carts;for(leti0;icarts.length;i++){carts[i].selectedselectAllStatus;}this.setData({selectAllStatus:selectAllStatus,carts:carts});this.getTotalPrice();},/***绑定加数量事件*/addCount(e){constindexe.currentTarget.dataset.index;letcartsthis.data.carts;letnumcarts[index].num;numnum+1;carts[index].numnum;this.setData({carts:carts});this.getTotalPrice();},/***绑定减数量事件*/minusCount(e){constindexe.currentTarget.dataset.index;constobje.currentTarget.dataset.obj;letcartsthis.data.carts;letnumcarts[index].num;if(num1){returnfalse;}numnum-1;carts[index].numnum;this.setData({carts:carts});this.getTotalPrice();},/***计算总价*/getTotalPrice(){letcartsthis.data.carts;//获取购物车列表lettotal0;for(leti0;icarts.length;i++){//循环列表得到每个数据if(carts[i].selected){//判断选中才会计算价格total+carts[i].num*carts[i].price;//所有价格加起来}}this.setData({//最后赋值到data中渲染到页面carts:carts,totalPrice:total.toFixed(2)});}})3.有兴趣的童鞋可以下载学习下,没有积分或者有什么技术上问题的小伙伴,都可以私聊我,我有空就会回复的,qq:2029578566;源文件下载地址
干货分享自己做过的一个带二级分销支付等功能的微信小程序已上线-小程序分销源码-小程序分销系统开发
浏览量:1777
时间:
来源:青魂墨客
版权声明
即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。
最新资讯
-

即速应用,赋能企业玩转微信小程序智慧经营
作为国内领军的智慧商业经营服务商,即速应用始终秉承“让每个企业都拥有自己的智慧店铺”的愿景,持续赋能更多企业玩转智慧经营。即速应用旗下拥有“小程序搭建工具-即速应用”、“私域流量专家-即客云”等产品,帮助商家打通互联网全生态营销闭环。 -

即客云2.0重磅更新,让微信小程序运营更简单!
即客云作为一款基于企业微信的第三方工具,现从多维度提供超过30种功能,自上线以来,已服务多家企业,受到一致好评。近期,我们根据客户反馈和市场调研正式推出升级版 即客云2.0!更新了私域运营SOP,群日历功能,批量拓客,客户雷达,消息推送,个人欢迎语,帮助企业更好运用企业微信;同时提升了社群运营工作标准化,提升运营效率,帮助企业实现客户增长,玩转私域流量。 -

零代码 + AI 双轮驱动|即速应用解锁人工智能小程序开发新范式
无需代码、无需 AI 算法功底,普通人也能快速搭建智能小程序。即速应用将人工智能与零代码开发深度融合,推出 AI 智能生成能力,用户通过自然语言描述需求,AI 自动生成小程序页面、功能模块与后台配置,覆盖商城、预约、同城、社区团购等全场景。平台内置 AI 智能推荐、智能客服、用户画像分析等能力,一键对接微信生态,打通视频号、企业微信、短信跳转,帮企业快速落地 AI 应用,抢占智慧经营先机,让每家企业都拥有 AI 驱动的智慧店铺。










