小程序完整demo

一个多月的时间研究和编写,做了个测试项目,由于本人的css不好,做的界面很是难看,希望不要在意。

项目地址:https://github.com/dt8888/MyselfProject/tree/master

首页

  1. 这个页面主要是定位,其实很简单,就是调用微信Api(wx.getLocation),可以直接获取经纬度,(wx.chooseLocation方法可以调取地图显示位置)

代码如下:

wx.getLocation({
      success: function (res) {
          that.globalData.longitude = res.longitude,
          that.globalData.latitude=res.latitude//这里是获取经纬度
      },
    })

购买

2.购买,主要是支付功能( wx.requestPayment),这一块需要与自己服务器配合,我的做法步奏为:1.先调服务器接口获取订单---->2.根据订单号获取支付所需要的串----->3.调用wx.requestPayment

代码:

 //调起微信支付
  gotoWxPay() {
    var that = this;
    var payStrArr = that.data.wxPayString.split("&");
    var payStrDict = {};
    if (payStrArr.length>0)
    {
      var j;
      for (var i = 0;  j = payStrArr[i]; i++){
        payStrDict[j.substring(0, j.indexOf("="))] = j.substring(j.indexOf("=") + 1,    j.length);
      }
       
    }
     wx.requestPayment({
       "appId": payStrDict["appId"],
       "timeStamp": payStrDict["timeStamp"],
       "nonceStr": payStrDict["nonceStr"],
       "package": "prepay_id=" + payStrDict["pg"],
       "signType": 'MD5',
       "paySign": payStrDict["paySign"],
      success: function(res) {
       console.log("支付成功");
      },  
      fail: function () {
      },
      complete: function () {
       }  
      })
  }

点技师

  1. 没有什么技术点,都是一些布局上的控制,调用接口时,要把之前获取的经纬度传过去,就需要把之前的经纬度保存为全局变量。唯一有点容易错误的就是跳转页面传值:

.wxml代码

<image class='imageView' mode="scaleToFill" src="{{imageUrl}}{{data.headImgUrl}}       " data-headerUrl= "{{imageUrl}}{{data.headImgUrl}}" data-jsgh='{{data.gh}}' bindtap='bigImag' ></image>

data-headerUrl在起个中间变量 js点击图片方法:

bigImag(e){
    var imageUrl = e.currentTarget.dataset.headerurl;
    var jsGh = e.currentTarget.dataset.jsgh;
   wx.navigateTo({
     url: '../bigImage/bigImage?headerUrl=' + imageUrl + "&jsNum=" + jsGh
   })
  }

注意:(headerUrl这个参数即使大写 在点击方法中e.currentTarget.dataset.headerurl 是小写)

资讯

  1. 主要是一些养生的方法,可以仔细看一下以防止。(没有主要的技术点,自己随便看看啦)

我的

5.我的自己的订单一些信息,主要的功能模块为:登录(获取用户信息),扫码核销,绑定手机号码,发送推送(模版消息)

1)登录(弹框 倒计时 前面文章有仔细写) 2)扫码核销

代码:

//扫描核销
  scandCode(){
    wx.scanCode({
      success: (res) => {
        console.log(res)
      }
    })
  }

3)绑定手机号码 .wxml代码

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber" class='bind' >绑定手机号</button>

js代码

//绑定手机号码
  getPhoneNumber: function (e) {
    console.log(e.detail.errMsg)
    console.log(e.detail.iv)
    console.log(e.detail.encryptedData)
    this.setData({
      telePhone: "1521****014"
    })
  }

注意:encryptedData需要解密,具体解密算法需要后台调用,我没有找到在前端解密的方法,不然,我也会做的完整的。具体解密算法为你: https://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.html

4)发送推送(模版消息) 我前面的文章中有,感兴趣的可以查看。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

剖析Go编写的Socket服务器模块解耦及基础模块的设计

Server的解耦—通过Router+Controller实现逻辑分发 在实际的系统项目工程中中,我们在写代码的时候要尽量避免不必要的耦合,否则你以后在更新和维...

38070
来自专栏王磊的博客

一些好用的开源控件

      工作两年,一直都在做些编码方面的表面功夫,实现了很多很炫的功能,在此写下一些体验。有些比较小的dll文件我会发上来,如果是开源组织的代码我会把地址附...

39260
来自专栏落影的专栏

iOS开发笔记(八)---- 键盘、静态库、动画、Crash定位

42590
来自专栏挖掘大数据

Cobub无码埋点关键技术实现流程(附图)

随着大数据时代的到来,数据采集也已经变的越来越重要。前端埋点作为一个比较成熟的数据接入手段被广泛应用着。目前埋点分为两种方式,有码与无码埋点。有码埋点比较容易理...

27460
来自专栏lonelydawn的前端猿区

javascript生成.xls文件(兼容IE&Chrome&Firefox)

贴代码,一切尽在注释中 <html> <head> <meta charset="utf-8"> </head> <body> <input ...

19760
来自专栏Golang语言社区

剖析Go编写的Socket服务器模块解耦及基础模块的设计

Server的解耦—通过Router+Controller实现逻辑分发 在实际的系统项目工程中中,我们在写代码的时候要尽量避免不必要的耦合,否则你以后在更新和维...

37660
来自专栏谭伟华的专栏

文件上传那些事儿

最近把产品目前使用的FileUploader从老的组件库分离出来的,自己也查阅了相关的各种资料,对文件上传的这些事有了更进一步的了解。

7K40
来自专栏移动开发之家

Flutter完整开发实战详解(三、 打包与填坑篇)

作为系列文章的第三篇,继篇章一和篇章二之后,本篇将为你着重展示:Flutter开发过程的打包流程、APP包对比、细节技巧与问题处理。本篇主要描述的Flutter...

65930
来自专栏一个会写诗的程序员的博客

bootstrap-table 前端分页,刷新事件代码实例

参考文档: http://bootstrap-table.wenzhixin.net.cn/

1.3K10
来自专栏Golang语言社区

剖析Go编写的Socket服务器模块解耦及基础模块的设计

Server的解耦—通过Router+Controller实现逻辑分发 在实际的系统项目工程中中,我们在写代码的时候要尽量避免不必要的耦合,否则你以后在更新和维...

38780

扫码关注云+社区

领取腾讯云代金券