【帮助篇】微信小程序开发常用JS代码整理

本章节是开发微信小程序版Z平台过程中,整理的一些开发常用代码

第一、基础方面

获取应用实例 


const app = getApp();


//获取共用JS


var util = require('../../utils/util.js');


//输出日志


console.log('');


//屏幕最大宽度

750rpx


启动页面加载等待


wx.showLoading({title: '上传中'});

关闭页面加载等待


wx.hideLoading();


//是否提示框


 wx.showModal({
    title: '提示',
    content: '这是一个模态弹窗',
    success: function (res) {
        if (res.confirm) {//这里是点击了确定以后
          console.log('用户点击确定')
        } else {//这里是点击了取消以后
          console.log('用户点击取消')
        }
   }
 })


//多项选择提示框


wx.showActionSheet({
  itemList: ['同意', '不同意', '哈哈'],
  success (res) {
    console.log(res.tapIndex)
  },
  fail (res) {
    console.log(res.errMsg)
  }
})


//延时方法


setTimeout(function () {

      要执行的代码
}, 1000)


//判读是否授权访问相关硬件


wx.getSetting({
    success(res) {
      
        //判读是否授权访问摄像头
        if (!res.authSetting['scope.camera']) {
          wx.authorize({
            scope: 'scope.camera',
            success() {
            }
          })
        }
        
        //判读是否授权访问麦克风
        if (!res.authSetting['scope.record']) {
          wx.authorize({
            scope: 'scope.record',
            success() {
            }
          })
        }

    }
})

第二、传递参数与页面跳转方面

//操作StorageSync


wx.setStorageSync('zid', res.data.data.zid);
wx.getStorageSync('zid');


操作Data参数

存储
this.setData({ 参数名: 参数值});

存储【回调函数中】
回调函数外定义 
var that = this;
that.setData({ 参数名: 参数值});

获取Data参数值 
this.data.参数名

获取Data参数值 【回调函数中】
var that = this;
that.data.参数名


跳转页面方法

//关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。 
wx.redirectTo({url: '/pages/main/main'});

//不关闭当前页面,打开新页面,新页面有返回按钮
wx.navigateTo({url: '/pages/main/main'});

//关闭当前页面,返回上一页面或多级页面
wx.navigateBack({delta: 1});


页面之间传参A  ---->  B

A页面JS发送
var cid = 'XXXXXXXXXX';
wx.navigateTo({
  url: '/pages/childreninfo_add/childreninfo_add?cid='+cid
});

B页面JS接收
onLoad: function (options) {
  var cid = options.cid;
}

第三、事件处理方面

//添加点击事件


bindtap="XXXX"
XXXX: function (e){
  var id = e.currentTarget.id;
}

//设置参数
<view class='sr' data-zid='{{item.zid}}' bindtap="lookFile">
//事件方法中获取参数 
var zid = e.currentTarget.dataset.zid;  


//输入完成事件


bindblur="XXXX"
XXXX: function (e) {
  this.setData({ chidreninfo_text: e.detail.value })
}


//点击放大图片


id="{{src}}" bindtap="openimg"
//查看图片
  openimg: function (event) {
    var src = event.currentTarget.id;
    wx.previewImage({
      urls: [src] // 需要预览的图片http链接列表
    })
  }


HTTP接口调用

//加载列表数据
  initList: function () {
    var that = this;
    //启动页面加载等待
    wx.showLoading({ title: '信息加载' });
    //当前用户ID
    var user = wx.getStorageSync('user');
    //加载数据
    wx.request({
      url: app.globalData.ServerURL + '/getMenuList1ForWX',
      data: {
        userzid: user.zid,//用户ID
        accesskeyid: app.globalData.accesskeyid,
        accesskeysecret: app.globalData.accesskeysecret
      },
      success(res) {
        //关闭页面加载等待
        wx.hideLoading();
        if (res.data.code == 'SUCCESS') {
          that.setData({ list: res.data.data.concat() });
        } else {
          util.alert('接口调用出错|' + res.data.msg);
        }
      }
    });
  },


打开文档


wx.downloadFile({
  // 示例 url,并非真实存在
  url: 'http://example.com/somefile.pdf',
  success: function (res) {
    const filePath = res.tempFilePath
    wx.openDocument({
      filePath: filePath,
      success: function (res) {
        console.log('打开文档成功')
      }
    })
  }
})


设置页面下拉刷新 

1.在页面json中添加属性与数据变量
"enablePullDownRefresh": true
data: {
    cilist:[],
    pageno:1
},
  
2.添加监听事件
/**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.data.pageno = 1;
    this.data.cilist = [];
    //加载动态列表信息
    this.initChildreninfoList();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if (!this.loading) {
      this.data.cilist = [];
      //页号
      this.data.pageno = Number(this.data.pageno) + Number(1);
      this.initChildreninfoList();
    }
  },
  

3.编辑对应获取数据方法
initChildreninfoList:function(){
    
    //启动页面加载等待
    wx.showLoading({ title: '信息加载中' })
    var zid = wx.getStorageSync('zid');

    var that = this;

    wx.request({
      url: app.globalData.ServerURL +'/wx_p_getchildreninfolist_for_parentuserid',
      data: {
        zid: zid,
        pagenum: this.data.pageno,
        accesskeyid: app.globalData.accesskeyid,
        accesskeysecret: app.globalData.accesskeysecret
      },
      success(res) {
        //关闭页面加载等待
        wx.hideLoading();
        if (res.data.code == 'SUCCESS') {
          that.setData({ cilist: that.data.cilist.concat(res.data.data)})
        } else {
          util.alert('接口调用出错|' + res.data.msg);
        }
      }
    });

  },
 4.后台方法示例
StringBuffer sql1 = new StringBuffer();
sql1.append("select ci.zid,tuser.user_name teacherid,DATE_FORMAT(ci.create_time,'%Y-%m-%d %H:%i:%S') create_time, ci.content,ci.img1,ci.img2,ci.img3,ci.img4,ci.img5,ci.img6,ci.img7,ci.img8,ci.img9 ");
sql1.append("from hq_childreninfo ci ");
sql1.append("inner join hq_parentuser_children pc on ci.childrenid = pc.childrenid ");
sql1.append("inner join z_user tuser on ci.teacherid = tuser.zid ");
sql1.append("where pc.pid = '"+parentuserid+"' ");
sql1.append("order by ci.create_time desc");
                  
int pagenum = Integer.valueOf(bean.get("pagenum"));//页号
int rowcount = 10;//分页显示行数
if(pagenum>0) {//页号和分布显示行数都必须大于0
 int row_num = pagenum * rowcount;//分页开始行号
 sql1.append(" limit 0,"+row_num);
}else {
 sql1.append(" limit 0,"+rowcount);
}

 

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵戬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值