微信小程序开发

来源:互联网 发布:下软件送流量 编辑:程序博客网 时间:2024/04/29 07:24

第一次做微信小程序开发,感觉问题很多,就写写笔记,给想学的朋友们看一下,有不对的地方也希望有大佬能帮忙指点一下


简单的我就不多说了,文档上面都有,学着看文档也是一种学习,下面就说一下开发中的问题


先讲一下request请求,比较简单

var that = this //访问之前记得加这个

wx.request({
url: '',//请求地址
data: { OrderdetailsVoArr: clist, usersAddressId: that.data.address.usersAddressId}, //不用可以不写

header: {//请求头
"Content-Type": "applciation/json"
},
method: "GET",//get为默认方法/POST
success: function (res) {


that.setData({//如果在sucess直接写this就变成了wx.request()的this了.必须为getdata函数的this,不然无法重置调用函数

imgUrls: res.data.list //这里的list是指你返回的json数据,后面还可以接着点,直到拿到想要的数据,


})

},
fail: function (err) { },//请求失败
complete: function () { }//请求完成后执行的函数
})

这里有个问题,就是微信访问服务器与浏览器不同,每次访问都是一个新的请求,所以会导致每次访问后台的sessionID不同,session中的东西就会拿不到

所以我们需要让后台将每次生产的sessionID 告诉我们,然后放到微信缓存中

wx.setStorageSync('sessionID', res.data.sessionID);
要用的时候记得拿出来,我用的是同步,异步可能会导致用的时候数据没拿到,要用异步的话可以去看看官方文档,上面都有,我就不多说了
var sessionID = wx.getStorageSync('sessionID')
if (sessionID) {
this.setData({ sessionID : sessionID });
}
这样在每次访问的时候在header中加上sessionID就行了

wx.request({
url: '',//请求地址
header: {//请求头
"Content-Type": "applciation/json",
//告诉服务器sessionID
'Cookie': 'JSESSIONID=' + that.data.sessionId
},

做登陆的时候碰到一个比较坑的,就是登陆成功后无法跳转的页面,我刚开始是这样写的

wx.redirectTo({  url: '../user/user'})
原来是因为在app.json中这样写了
{
"pagePath": "page/component/user/user",
"iconPath": "image/42.png",
"selectedIconPath": "image/41.png",
"text": "我的"
}

所以只能这样访问

wx.switchTab({
url: '../user/user'
})

做购物车的时候当时在data里面定义了一个OrderdetailsVo

data: {
OrderdetailsVo:{
productId:'',
productNum:'',
},
}
但是不知道为什么拿到的数据会被最后一条覆盖掉,最后没办法,只能用老办法了
var that = this;
var clist = new Array();
function OrderdetailsVo(productId, productNum) {
this.productId = productId,
this.productNum = productNum
}
for (var i = 0; i < that.data.carts.length; i++) {

if (that.data.carts[i].selected) {

var orderdetails = new OrderdetailsVo(that.data.carts[i].product.productId, that.data.carts[i].productCount)



clist.push(orderdetails)
}
}

其实就跟平时写的js一样,将clist传过去就好了,但是要注意的是传过去的东西后台需要用fastjson解析一下,不然拿不到






原创粉丝点击