精华内容
下载资源
问答
  • 订单侠开放平台-美团联盟CPS外卖红包API可以一键生成适用于H5、App端推广活动页面链接,用户通过活动页链接领取相关优惠券红包,红包可在美团APP、美团外卖APP、美团外卖小程序下单且选择在线支付时使用。...

    订单侠开放平台-美团联盟CPS外卖红包API可以一键生成适用于H5、App端推广活动页面链接,用户通过活动页链接领取相关优惠券红包,红包可在美团APP、美团外卖APP、美团外卖小程序下单且选择在线支付时使用。

    美团/饿了么外卖CPS联盟返利公众号小程序裂变核心源码

    源代码地址

    http://www.mybei.cn

    步骤

    在这里插入图片描述

    返回

    {
    	"code": 200,
    	"msg": "请求成功【success】",
    	"data": {
    		"h5": "https://runion.meituan.com/url?key=a144a9fa40a42c55af00214bb4bb3993971&url=https%3A%2F%2Fi.meituan.com%2Fawp%2Fhfe%2Fblock%2Fa945391288b790d558b7%2F78716%2Findex.html%3Fappkey%3Da144a9fa40a42c55af00214bb4bb3993971%3A2dingdanxia123456&sid=2dingdanxia123456",
    		"short_h5": "https://click.jutuike.com/mt.php?t=1&u=2&k=123456",
    		"we_app_info": {
    			"app_id": "wxde8ac0a21135c07d",
    			"page_path": "/index/pages/h5/h5?weburl=https%3A%2F%2Frunion.meituan.com%2Furl%3Fkey%3Da144a9fa40a42c55af00214bb4bb3993971%26url%3Dhttps%253A%252F%252Fi.meituan.com%252Fawp%252Fhfe%252Fblock%252Fa13b87919a9ace9cfab4%252F89400%252Findex.html%253Fappkey%253Da144a9fa40a42c55af00214bb4bb3993971%253A2dingdanxia123456%26sid%3D2dingdanxia123456"
    		},
    		"qrcode": "https://wxqrcode.dingdanxia.com/qrcode/images/meituan/2020-09-04/2/195806/2.jpg"
    	}
    }		
    
    展开全文
  • 美团外卖小程序源码

    千次阅读 2020-12-22 21:50:59
    美团外卖小程序源码 https://ext.dcloud.net.cn/plugin?id=3711
    展开全文
  • 前段使用的是wx.navigateToMiniProgram(Object object),方法,前期使用的时候功能是是正常的,突然昨天用户提出跳转到美团页面时出现白屏,神奇的时用户使用同样的小程序再去跳转到美团小程序时也是出现白屏,...

    最近在开发小程序时需要做小程序跳转到美团的小程序商家详情页面,前端使用的是wx.navigateToMiniProgram(Object object)方法,前期使用的时候功能是是正常的,突然昨天用户提出跳转到美团页面时出现白屏,神奇的时用户使用同样的小程序再去跳转到美团小程序时也是出现白屏,最开始时怀疑自己的代码问题就开始排查自己的代码,发现前段代码完全是按照微信提供的api提示的实现的,只能怀疑是获取地址的问题,地址完全是按照微信的官方提供的方法获取的链接地址,具体操作步骤为
    1 打开微信公众平台,扫码进入,选择登陆小程序登陆
    在这里插入图片描述
    在首页工具选项中,选择生成小程序码,跳转到如下页面
    在这里插入图片描述
    输入需要搜索的小程序,点击搜索按钮,这里以美团外卖小程序为例,然后点击下一步,如下图所示
    在这里插入图片描述
    点击获取更多页面路径,
    在这里插入图片描述

    开启入口处输入您的微信号,就ok啦,然后点击开启
    在这里插入图片描述

    如图所示。
    2 打开美团外码小程序(按照你刚才搜索的自行更改)微信小程序输入您要查询的店铺然后进入店铺详情:
    在这里插入图片描述
    在这里插入图片描述
    点击上图箭头处所示,然后在最下方点击复制路径就ok啦。
    ,发现微信官方取美团跳转地址为
    packages/restaurant_bak/restaurant/restaurant.html?act_page_code=undefined&cTime=1616377418451&aas=1005&poi_id=996197415525331

    解决方案为 :去掉.html,并去掉_bak 就ok 啦,这是最近美团更新后出现的问题,刚刚解决,分享给大家。

    展开全文
  • 美团外卖小程序

    万次阅读 2017-07-02 16:42:13
    这个美团外卖的小程序我是从github上面找到的,然后参考他的代码完成的。所以界面和代码还是有点相似,毕竟现在我才刚开始学习,所以我认为参考大牛源码也是一种提升。因为里面有许多的技巧在里面,有的时候就可以...

    这个美团外卖的小程序我是从github上面找到的,然后参考他的代码完成的。所以界面和代码还是有点相似,毕竟现在我才刚开始学习,所以我认为参考大牛源码也是一种提升。因为里面有许多的技巧在里面,有的时候就可以不用这么纠结应该如何布局等。


    这是一个首页界面,在写代码的时候,只要在app.json的pages的数组的第一行写上你要的首页路径就可以了,因为小程序是将获取到的第一条路径默认为首页。

    这些页面都是采用组件写的,而且小程序的组件不多。只要学过前端的都能够很快的上手小程序的前台页面的编写,而且这里的前端都是采用动态的渲染方式的,所以就会有模板的使用出现。这里的模板开始和结束符为{{}}。

    然后就是点击商家信息栏进入商家页面了。


    这里面的话是采用scroll-view组件写的,因为左边的要滚动,右边的也要滚动。所以要采用scroll-view来写。这里的scroll-view要固定height的值,不然会出不来滚动的效果,不能用百分比的形式。然后按钮的话只要采用bindtap来绑定函数就ok了。这样子的话,只要我们点击图片就会触发事件,这里的bind是可冒泡的,采用catch的话就不会冒泡了。


    之后就是订单的提交了,这里的话只要提取静态的购物车数据就ok了。之后直接显示出来,然后再请求url来进行订单的提交。

    这个程序大概就是这样子了。

    代码在这里:传送门


    2017.7.19更新

    在使用js的变量的时候,我发现var a=2,b=[]。这样子写有问题,他会说我的变量未定义。


    定位添加:

    在index.js里面可以使用wx自定义函数getLocation来获取位置数据

    wx.getLocation({
          type: "wgs84",
          success: function (res) {
            var lat = res.latitude;//纬度  
            var lng = res.longitude;//经度  
            console.log("lat:" + lat);
            console.log("lng:" + lng);
            that.getCity(lat, lng);//调用自己写的函数获得城市信息
          },
        }) 
    获取到数据之后就要利用百度的api来将具体的经纬度转为位置的信息了。所以这里的话可以自己封装一个函数来使用,这里就是上面代码所用到的getCity函数。

    //获得城市  
      getCity: function (lat, lng) {
        var that = this;
        var url = "http://api.map.baidu.com/geocoder/v2/";
        var param = {
          ak: 'QgDjg59KnbdsL14plwnoP5rUAGKyDYPe',
          location: lat + ',' + lng,
          output: 'json'
        };
        wx.request({
          url: url,
          data: param,
          success: function (res) {
            console.log(res);
            var city = res.data.result.addressComponent.district;
            var street = res.data.result.addressComponent.street;
            that.setData({
              city: city,
              street: street
            });
          }
        })
      }

    这样子就可以获取到城市和街道的数据了,之后只要自己在前端页面调用就ok了。


    然后就是对数据的动态加载,因为这里的数据是假的,所以做出来的也是假的加载条。



    这里面其实是利用

    scroll-view组件的bindscrolltolower事件来做的,这里面首先给出一个分组数据,然后等到滑到底部就会触发这个函数,就可以在里面做数据动态添加和动画效果出来了。这个函数会出现抖动的现象,所以要使用一个变量来控制只能进行一次。具体代码如下:

    shop.js:
    具体的更改代码在onLoading和addGoods和timeOut函数里面。
    var app = getApp();
    var server = require('../../utils/server.js');
    Page({
    
      /**
       * 页面的初始数据
       */
      data: {
        cart:{
          count:0,
          total:0
        },
        cartList:[],
        localList:[],
        isFreshing:false,
        loding:false,
        count:1,
        sum : 0,
        showCartDetail:false,
        defaultImg: 'http://global.zuzuche.com/assets/images/common/zzc-logo.png',
      },
    
      /**
       * 生命周期函数--监听页面加载
       */
      onLoad: function (options) {
        var shopId = options.id;
        var shop = server.selectedShopDetail(shopId);
        this.setData({
          shopId : shopId,
          shop : shop,
          sum : shop.menu.length
        });
        var menu = Array(shop.menu[0]);
        this.setData({
          menu: menu
        });
        console.log("myShop");
        console.log(this.data.shop);
        console.log(this.data.menu);
        //加载静态订单数据
        var res = wx.getStorageSync('orderList');
        if(res){
          if(res.count<0)res.count=0;
          this.setData({
            cart:{
              count:res.count==null?0:res.count,
              total:res.total
            }
          });
          
          console.log("shop---Loading");
          console.log(res.count,res.total,res.cartList);
          console.log(this.data.cart.count, this.data.cart.total);
          console.log("shop---end");
          if(!server.isEmptyObject(res.cartList)){
            this.setData({
              cartList:res.cartList,
              localList:server.filterEmptyObject(res.cartList)
            });
          }
        }
    
        //防止未定义数组的形式
        if (typeof this.data.cartList[this.data.shopId] == 'undefined' || server.isEmptyObject(this.data.cartList[this.data.shopId])) {
          var cartList = this.data.cartList;
          cartList[this.data.shopId] = [];
          this.setData({
            cartList: cartList
          })
        }
        console.log(this.data.localList, this.data.cartList)
      },
    
      /**
       * 生命周期函数--监听页面初次渲染完成
       */
      onReady: function () {
        
      },
    
      /**
       * 生命周期函数--监听页面显示
       */
      onShow: function () {
        
      },
    
      /**
       * 生命周期函数--监听页面隐藏
       */
      onHide: function () {
        
      },
    
      /**
       * 生命周期函数--监听页面卸载
       */
      onUnload: function () {
        
      },
    
      /**
       * 页面相关事件处理函数--监听用户下拉动作
       */
      onPullDownRefresh: function () {
        
      },
    
      /**
       * 页面上拉触底事件的处理函数
       */
      onReachBottom: function () {
        
      },
    
      /**
       * 用户点击右上角分享
       */
      onShareAppMessage: function () {
        
      },
      /**
       * 商品展示滚动
       */
      onGoodsScroll:function(e){
        var that = this;
        var scare = e.detail.scrollWidth / 250,
        scrollTop = e.detail.scrollTop,
        h = 0,
        selectOrder,
        len = this.data.shop.menu.length;
        this.data.shop.menu.forEach(function(classify,i){
            var _h = 37.5 + 94 * classify.menu.length;
            //console.log("srcollTop:" + scrollTop);
            //console.log(h - 100 / scare);
            if (scrollTop + 500 >= h ){
              selectOrder = classify.id;
             
            }
           
            h += _h;
        });
        this.setData({
          selectOrder: selectOrder
        });
      },
      /*
        增加商品
      */
      addGoods:function(e){
        var that = this;
        if (!this.data.isFreshing && that.data.count < that.data.sum){
          this.setData({
            loding: true,
            isFreshing:true
          });
          setTimeout(this.timeOut, 2000);
        }
      },
      //定时增加
      timeOut:function(){
        var that = this;
         {
          var menu = that.data.menu;
          menu.push(that.data.shop.menu[that.data.count]);
          //console.log(that.data.count);
          that.setData({
            menu: menu,
            count: that.data.count + 1,
            loding:false,
            isFreshing:false
          });
          //console.log("jinrulimiandeshuju");
        }
      },
      showCartDetailf:function(){
        this.setData({
          showCartDetail : !this.data.showCartDetail
        });
        console.log(this.data.showCartDetail);
      },
      hiddenCartDetailf:function(){
        this.setData({
          showCartDetail : false
        });
        console.log(this.data.showCartDetail);
      },
      //检查下标
      checkOrderSame: function (name) {
        var list = this.data.cartList[this.data.shopId];
        for (var index in list) {
          if (list[index].name === name) {
            return index;
          }
        }
        return false;
      },
      //将饭菜加入购物车
      tapAddCart:function(e){
        var price = parseFloat(e.target.dataset.price);
        var name = e.target.dataset.name;
        var img = e.target.dataset.pic;
        var list = this.data.cartList;
        var sortedList = [];
        var index;
        if (index = this.checkOrderSame(name)){
          sortedList = list[this.data.shopId][index];
          var num = list[this.data.shopId][index].num;
          list[this.data.shopId][index].num = num + 1;
          list[this.data.shopId][index].pay = (num+1)*sortedList.price;
        }else{
          //console.log(this.data.cartList);
          //console.log(list);
          //console.log(this.data.shopId);
          var order={
            'price' : price,
            'name' : name,
            "num": 1,
            'img' : img,
            'shopId': this.data.shopId,
            'shopName': this.data.shop.restaurant_name,
            'pay': price,
          };
          list[this.data.shopId].push(order);
          sortedList = order;
        }
        this.setData({
          cartList : list,
          localList :  server.filterEmptyObject(list)
        });
        this.addCount(sortedList);
        console.log(this.data.localList);
      },
      //删除购物车上的饭菜
      tapReduceCart:function(e){
        var name = e.target.dataset.name;
        var price = e.target.dataset.price;
        var list = this.data.cartList;
        var index,sortedList = [];
        if(index = this.checkOrderSame(name)){
          var num = list[this.data.shopId][index].num;
          if(num>1){
            sortedList = list[this.data.shopId][index];
            list[this.data.shopId][index].num = num - 1;
          }else{
            sortedList = list[this.data.shopId][index];
            list[this.data.shopId].splice(index,1);
          }
        }
        this.setData({
          cartList : list,
          localList : server.filterEmptyObject(list)
        });
        this.deduceCount(list);
      },
      //增加数量
      addCount: function (list) {
        var count = this.data.cart.count + 1,
          total = this.data.cart.total + list.price;
        total = Math.round(parseFloat(total));
        this.saveCart(count, total);
      },
      //减少数量
      deduceCount: function (list) {
        var count = this.data.cart.count - 1,
          total = this.data.cart.total - list.price;
        total = Math.round(parseFloat(total));
        this.saveCart(count, total);
      },
      //保存购物车的东西
      saveCart: function (count, total) {
        console.log(typeof total, total);
        if (isNaN(total))
          total = 0;
          console.log(typeof total,total);
        total = Math.round(parseFloat(total));
        this.setData({
          cart: {
            count: count,
            total: total
          }
        });
        wx.setStorage({
          key: 'orderList',
          data: {
            cartList: this.data.cartList,
            count: this.data.cart.count,
            total: this.data.cart.total
          }
        });
      },
      submit: function (e) {
        var total = this.data.cart.total
        wx.navigateTo({
          url: '/pages/order/order?pay=1&total=' + total
        })
      }
    })




    功能上还是比较少,所以等到有时间再补吧


    展开全文
  • 今天为大家完整分析下外卖CPS的搭建和引流渠道,...>无裂变小程序管理->添加小程序->填入你自己的链接 微信开发者工具,导入项目,提交审核 <template> <div class="content-page"> <div class="content-nav"> ...
  • 1,实现的需求 1)首页:标题栏获取用户当前位置,使用腾讯api实现定位,不用弹窗...管理地址:添加新地址,编辑地址(地址id,用户id) 客服中心:接入客服(公众号后台可设置客服人员) 退出账号:清空本地用户信息
  • 外卖CPS小程序部署指南,个人获取美团外卖小程序跳转链接 上次利用闲暇时间弄了个外卖CPS小程序,并把代码开源出来,还是有挺多小伙伴来领取源码的。不仅有同行的人,还有跨行的人,也摸索着搞出来小程序推一推。有...
  • 美团/饿了么外卖CPS联盟返利公众号小程序裂变核心源码 源代码地址 https://gitee.com/caonima008/coupon/ 成品展示 截图 步骤 下载以上源代码到本地 https://gitee.com/caonima008/coupon/ 修改为你自己的微信...
  • 仿美团微信小程序

    千次阅读 2019-01-28 10:50:26
    体验版 代码上传至资源, 1,实现的需求 1)首页:标题栏获取用户当前位置,使用腾讯api实现定位,不用弹窗出现用户授权, 进入首页,获取附近商铺的列表 ...2)店铺:根据店铺id获取店铺相关信息 ...
  • 小程序 饿了么美团外卖券返利小程序源码+教程 美团/饿了么外卖CPS联盟返利公众号小程序裂变核心源码 源代码地址 http://www.mybei.cn 步骤 下载以上源代码到本地 http://www.mybei.cn 修改为你自己的微信小程序,...
  • 美团/饿了么外卖CPS联盟返利公众号小程序裂变核心源码 源代码地址 https://gitee.com/caonima008/coupon/ 成品展示 截图 步骤 下载以上源代码到本地 https://gitee.com/caonima008/coupon/ 修改为你自己的微信...
  • 美团/饿了么外卖CPS联盟返利公众号小程序裂变核心源码 源代码地址 https://gitee.com/caonima008/coupon/ 成品展示 截图 步骤 下载以上源代码到本地 https://gitee.com/caonima008/coupon/ 修改为你自己的微信...
  • 美团的appId:wx2c348cf579062e56 饿了么appId:wxece3a9a4c82f58c9 1 打开微信公众平台,扫码进入,选择登陆小程序登陆 ...2 打开美团外码小程序(按照你刚才搜索的自行更改)微信小程序输入您要...
  • 外卖红包小程序 美团外卖小程序 饿了么外卖小程序 美团饿了吗红包,先领红包再下单。外卖红包,cps分成,别人领红包下单,你拿佣金。 源代码地址 https://gitee.com/caonima008/waimai_hongbao 作者联系方式 wx: ...
  • 本文实例为大家分享了微信小程序城市选择器,供大家参考,具体内容如下 代码很简单. var city = require('../../utils/city.js'); var app = getApp() Page({ data: { searchLetter: [], showLetter: "", ...
  • 美团/饿了么外卖CPS联盟返利公众号小程序裂变核心源码 源代码地址 https://gitee.com/caonima008/coupon/ 步骤 下载以上源代码到本地 https://gitee.com/caonima008/coupon/ 修改为你自己的微信小程序,打开 /dist/...
  • 本文首发于公众号「一知行」 外卖CPS 外卖红包CPS就是你从美团、饿了么平台取红包链接,分享给其他...获取美团、饿了么的小程序appid和路径 美团:https://union.meituan.com/ 饿了么、双十一:https://pub.alimam
  • 外卖红包小程序 美团外卖小程序 饿了么外卖小程序 美团饿了吗红包,先领红包再下单。外卖红包,cps分成,别人领红包下单,你拿佣金。 美团饿了么外卖CPS联盟小程序,订阅消息每天提醒用户领取外卖红包,使用外卖红包...
  • 美团/饿了么外卖CPS联盟返利公众号小程序裂变核心源码 源代码地址 https://gitee.com/caonima008/coupon/ 步骤 下载以上源代码到本地 https://gitee.com/caonima008/coupon/ 修改为你自己的微信小程序,打开 /dist/...
  • 前段时间天天在抖音刷到 [每天都点外卖,竟然不知道这个隐藏功能] 推广视频,基于程序员明锐的嗅觉,发现里面...于是自己整个了一个简单的美团饿了吗领外卖红包的,在公众号、微信群发了几次,没想到效果还挺好: ...
  • 美团/饿了么外卖CPS联盟返利公众号小程序裂变核心源码 源代码地址 https://gitee.com/caonima008/coupon/ 成品展示 截图 步骤 下载以上源代码到本地 https://gitee.com/caonima008/coupon/ 修改为你自己的微信...
  • 美团的CPS门槛高,需要企业资质,推广费过万才能提现,而且结算需要发票,流程繁琐麻烦,只支持外卖红包推广,今天介绍一个支持外卖红包,商超生鲜,团购商城三种推广方式的官方平台,附带一下线上小程序吃喝优惠券...
  • 外卖分销返利系统美团饿了么cps优惠券小程序 外卖cps带分销返利源码 源代码地址 http://www.mybei.cn 部署搭建步骤 下载以上源代码到本地 http://www.mybei.cn 成品展示 截图 步骤 下载以上源代码到本地 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,722
精华内容 3,088
关键字:

美团小程序id