您的当前位置:首页正文

微信xiao、网页、SDK总结

2024-11-30 来源:个人技术集锦

一、小程序

1.1[小程序]小程序官方提供的接口仅支持单文件上传,对多文件上传实现需要自行处理异步。

  var  result=[];
  //多张图片上传
  uploadimg(data){
    let that=this,
    i=data.i?data.i:0,//当前上传的哪张图片
    success=data.success?data.success:0,//上传成功的个数
    fail=data.fail?data.fail:0;//上传失败的个数
    if(i===0){
      that.result=[];
    }
    wx.uploadFile({
      url: jxConfig.serviceUrl+data.url, 
      filePath: data.path[i].src,
      name: 'files',//这里根据自己的实际情况改
      formData:data.formData,//这里是上传图片时一起上传的数据
      header: {  
        "Content-Type": "multipart/form-data",
        'platform':'wx-weap',
        'token': jxConfig.userInfo().token
      },  
      success: (resp) => {
      success++;//图片上传成功,图片上传成功的变量+1
          //这里可能有BUG,失败也会执行这里,所以这里应该是后台返回过来的状态码为成功时,这里的success才+1
      },
      fail: (res) => {
        fail++;//图片上传失败,图片上传失败的变量+1
      },
      complete: (res) => {
        that.result[i]=JSON.parse(res.data)
        that.result[i]["source"]=data.path[i]
        i++;//这个图片执行完上传后,开始上传下一张
        if(i==data.path.length){   //当图片传完时,停止调用          
          data.callBack(that.result);
        }else{//若图片还没有传完,则继续调用函数
          data.i=i;
          data.success=success;
          data.fail=fail;
          that.uploadimg(data);
        }  
      }
    });
  },

二、微信网页

2.1微信网页调用SDK发起分享,link参数的URL在IOS上可以正常,在安卓上拿不到。主要是IOS上URL会被自动encodeURI,而安卓设备上不会自动帮你转换,需要要自己做转换。

    wx.onMenuShareAppMessage({
        title: document.title, // 分享标题
        desc: "更多", // 分享描述
        link:encodeURI(url), // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
        imgUrl:`${window.location.href.split('#')[0]}${imagepath}`,
        success: function (msg) {
            console.log("onMenuShareAppMessage success",msg)
            // 用户确认分享后执行的回调函数
        },
        cancel: function (msg) {
            console.log("onMenuShareAppMessage cancle",msg)
            // 用户取消分享后执行的回调函数
        }
      });

 

显示全文