本章节是开发微信小程序版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);
}