用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

2017-4-10 00:06:02 天下雪原创达人 造轮子 人生巅峰 楼主 01050
官方回答会标注官方回答,否则则为非官方回答;
问题:
微信小程序setData内如何使用变量做指针?
我要用listenSwiper听取swiper的变化,改变被选中的swiper-item之前和之后的swiper-item的样式。我用的代码如下:
[AppleScript] 纯文本查看 复制代码
  listenSwiper: function(e) {
    var prev = 'items['+(e.detail.current-1)+'].x'
    var now = 'items['+(e.detail.current)+'].x'
    var next = 'items['+(e.detail.current+1)+'].x'
    console.log(prev)
    console.log(now)
    console.log(next)
    this.setData({
      prev:12,
      now:0,
      next:-12,
    })
  },
这是不会成功是因为微信小程序自动把prev、now、next这三个变量当作了string来处理。也就是所并不是修改了:
[AppleScript] 纯文本查看 复制代码
this.setData({
  'items[0].x':12,
  'items[1].x':0,
  'items[2].x':-12,
})
而是添加了:
[backcolor=rgba(0, 0, 0, 0.74902)]

[AppleScript] 纯文本查看 复制代码
this.setData({
  'prev':12,
  'now':0,
  'next':-12,
})
有没有什么好办法来解决这个问题/挑战?

答:cipchk
[AppleScript] 纯文本查看 复制代码
 listenSwiper: function(e) {
    let updataData = {};
    updateData['items['+(e.detail.current-1)+'].x'] = 12;
    updateData['items['+(e.detail.current-1)+'].x'] = 0;
    updateData['items['+(e.detail.current-1)+'].x'] = -12;
    this.setData(updataData);
  },

问题:
关于小程序读取蓝牙特征值问题
有人成功使用小程序调通BLE的吗?为什么我读取的特征值返回的value都是——proto:null
答:开泰
function buf2hex(buffer) { // buffer is an ArrayBuffer
  return Array.prototype.map.call(new Uint8Array(buffer), x => ('00' + x.toString(16)).slice(-2)).join('');
}

转换下格式就可以了


问题:
大家怎么解决request重复提交的问题?
系统后台经常能收到用户提交上来两条一模一样的的记录,时分秒都一样。
我相信不是用户手抖,也不是代码问题,那就是request的问题,有人碰见吗?如何解决
我的应用场景是用户post一个form-表单,提交成功后为switchTab到首页。

答:只被猫吃的猫粮
可能真用户手抖点了两次呢..
用户点完按钮开始提交,在还没有POST完成的时候又点了一次,就会进行两次POST提交
建议做一个布尔值锁定,点击提交bool值false,回调成功后再变为true。

问题:

如果获取页面回传参数?
A 页面 打开 B 页面进行一些参数填写,销毁 B 界面后, A 界面如何获得 B 页面填写的参数?
除了全局共享,还有没有其他方法?

答:只被猫吃的猫粮
应该是没有的,B界面销毁时没有什么能力能给A界面传递参数,还是直接用全局变量吧。


问题:
使用wx.uploadFile(OBJECT)上传图片的问题

//客户端按照官方的说明
wx.chooseImage({
  success: function(res) {
    var tempFilePaths = res.tempFilePaths
    wx.uploadFile({
      url: 'https://xxx.com/xx.aspx', //加密后开发者台服务器处理文件地址
      filePath: tempFilePaths[0],  //要上传文件资源的路径
      name: 'fileImage',  //文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容
      formData:{
            "OpenID": app.globalData.OpenID,
            "picUrl": tempFilePaths[0]
      },
      success: function(res){
        var data = res.data
        //do something
      }
    })
  }
})

C#后台代码

//遍历Request.Form对象;
    for (int i = 0; i < Request.Form.Count; i++)
    {
        Response.Write( i.ToString() +":" + Request.Form.Keys.ToString());
    }
只能获取formData中定义的参数:OpenID 和picUrl,fileImage 获取不到这个参数名。
官方文档中所谓“开发者在服务器端通过这个 key 可以获取到文件二进制内容”,现在key获取不到,有哪位大侠用C#写过,解决过,谢谢指教!

答:东舟科技
呵呵,这个问题,通过找资料,自己解决 了,问题的关键 multipart/form-data,这个不是普通的表单提交,用Request.Form获取名称是不行的,应该用文件方式,下面吧相关代码贴出来(C#):
if (Request.RequestType == "POST")
            {               
                HttpPostedFile postedFile = Request.Files["fileImages"]; //前端:文件对应的 key
                string fileName;
                fileName = System.IO.Path.GetFileName(postedFile.FileName);  

                postedFile.SaveAs(Request.MapPath("~/Upload/") + fileName); //图片文件保存字开发者服务器上

            }

问题:

微信小程序组件button: “disable”不能使用三元运算?

答:道哥
button的disabled属性是不判断里面的是true还是false的,只要包含disabled这个关机字,就被禁







有问题请在本站内搜索相应关键词,假如无法解决请在综合交流区内发帖咨询,发帖时请提供详细的问题描述、相关图片及代码。
发新帖
您需要登录后才可以回帖 登录 | 立即注册