微信开发遇到的坑_微信小程序开发遇到的坑 - CSDN
  • 微信开发遇到

    2019-04-20 01:38:30
    1、 用微信的文件上传功能,一次只能上传一个文件,多个上传还要用setTimeout把前后时间设到100毫秒左右... 2、 微信选择图片和录音出来的localId在安卓和iOS之间格式是不一样的! 安卓里是这样的:weixin://...
        

    1、 用微信的文件上传功能,一次只能上传一个文件,多个上传还要用setTimeout把前后时间设到100毫秒左右...

    2、 微信选择图片和录音出来的localId在安卓和iOS之间格式是不一样的!

    安卓里是这样的:weixin://resourceid/1570ae3e9daa599cd65b5921d9a1ca49
    iOS是这样的:wxLocalResource://1234567890123434321
    也就是当你想判断一个字符串是不是微信的本地文件的时候还要根据这两个来...我做语音上传就碰到这个坑

    3、 在iOS版中,使用微信录音功能,录完音之后,audio标签播放的音乐会被调得特别小声,关掉页面再打开一个专门用audio播放声音的页面音量也调不上来,只有双击home键关掉微信再打开,音量才恢复。

    本来想向微信提 bug 的,但是偶然发现录音过后使用微信自带的试听接口试听一下,连audio的音量都被调好了,所以自己做了个hack。播放录音和结束播放之间最好用setTimeout设置个10毫秒。

    4、 在安卓版微信中(不知iOS版是否有相同问题),多次上传同一张图片到微信服务端,会出现后面上传的图片变样,比如说整张图变得偏红色、绿色。解决办法是第一次上传图片的时候把图片从微信服务端保存到自己的服务端,然后在服务端缓存一下localID对应的服务端图片是哪张,我是缓存3天,最好多缓存几天,因为每次选择同一张照片都是同一个localId的。

    展开全文
  • 微信开发遇到

    2019-06-14 09:41:59
    2019独角兽企业重金招聘Python工程师标准>>> ...

    近段时间经常和微信支付打交道,发现微信支付差支付宝太多

    首先,微信调试是一大槽点,各种不能用,不过发现一款神器,这里就不作过多的介绍,大家可以慢慢研究

    https://github.com/luofei614/SocketLog

    微信调试、API调试和AJAX的调试的工具,能将日志通过WebSocket输出到Chrome浏览器的console中

    1,微信支付,支付过程中有内部交易号(平台),外部交易号(第三方),多达五种支付方式,SDK微信,H5微信,WAP微信,微信好友代付,微信扫码,五种支付号产生的内部交易号不可以通用,支付宝不存在此情况

    2,微信退款:

        a.微信退款没有异步回调,此处巨坑,查退款状态还需要去第三方主动查,查也就算了,查的状态还不一定是成功,支付宝有同步及异步回调

        b.微信退款是原路返回,用户使用银行卡支付,如果用户解绑银行卡,微信退款状态会失败,或一直处于退款中,用户也不会收到退款,接口查询直接返回system error,尼玛这是什么鬼,然后去微信商户后台查询显示用户帐户异常,支付宝则会退到余额

        c.微信客服各种不能用,微信电话打不通,尼玛想找个人问问都不行,发邮件竟然要7个工作日才能回复,支付宝客服就好多了,有技术客服,表示用起来很爽


    另外银联支付也有个比较坑的地方,同一个交易号,当天支付后,过了晚上12点可以再支付,这尼玛是出于什么样的考虑

    转载于:https://my.oschina.net/jhasheng/blog/534378

    展开全文
  • ##微信小程序开发遇到 1.关于token. 如果在扫描二维码进来的时候获取token,会接收到上次的tokn。 具体解决代码 判断全局是否有 app.globalData.userMsg if (app.globalData.userMsg) { this.setData({ id: ...

    ##微信小程序开发

    1.关于token.

    如果在扫描二维码进来的时候获取token,会接收到上次的tokn。

    具体解决代码 判断全局是否有 app.globalData.userMsg
    
     if (app.globalData.userMsg) {
          this.setData({
            id: options.id || options.scene,
            school: app.globalData.tarSchool,
          }, () => {
            this.getGoodsDetail()
            this.getCommentList()
          })
        } else {
          // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
          // 所以此处加入 callback 以防止这种情况
          app.userMsgReady = res => {
            this.setData({
              id: options.id || options.scene,
              school: app.globalData.tarSchool,
            }, () => {
              this.getGoodsDetail()
              this.getCommentList()
            })
          }
        }
    
    重点:具体代码请查看	https://www.cnblogs.com/shipskunkun/p/11802379.html
    

    2.关于图片自适应

     .goods-banner {
                       width: 100%;
                       height: 320rpx;
                   }
    

    3.关于七牛上传本地图片

    1. const qiniuUpload = require('../../../utils/qiniuUploader.js');
    

    先引入七牛上傳sdk, 初始化七牛uptoken,小程序選擇圖片成功時,發送qiniuLoadurl

    2. this.qiniu();
    qiniu(){
        let token = app.globalData.token;
        app.post({
          url:'mobile/login/qi_niu_token',
          data:{
            token
          }
        }).then(res=>{
          this.setData({
            uptoken:res.data.uptoken
          })
        }).catch(err=>{
          console.log(err);
        })
      },
    
     3. chooseImg(){
        let that = this;
        wx.chooseImage({
          count: 1,
          success: function(res) {
            let img_url = res.tempFilePaths[0];
            console.log(img_url);
            that.qiniuLoadurl(img_url);
          }
        })
      },
    
    4. qiniuLoadurl(url){
        let that = this;
          qiniuUpload.upload(url,(res)=>{
            console.log(res)
          }, (error) => {
            console.log(error)
          },{
            uploadURL: 'https://sqiniu.iule.net',
            domain: 'https://sqiniu.iule.net/',
          uptoken: that.data.uptoken,
          region: "ECN",
        })
      },
    

    4.判断是否是手机号

      isPhone(val) {
          const reg = /^(1)[0-9]{10}$/;
          return reg.test(String(val).trim())
        },
    

    5.设置sass编写css

    在配置文件中设置 C:\Users\win\AppData\Roaming\Code\User \setting

    {
        "files.associations": {
    
            "*.cjson": "jsonc",
            "*.wxss": "css",
            "*.wxs": "javascript"
        },
        "emmet.includeLanguages": {
            "wxml": "html"
        },
        "easysass.formats": [
            {
              "format": "expanded", //格式,expanded不压缩,compressed压缩
              "extension": ".wxss" //输出文件的后缀,小程序可以写'wxss'
            },
            // {
            //   "format": "compressed",
            //   "extension": ".min.css"
            // }
          ],
        "minapp-vscode.disableAutoConfig": true
    }
    

    在viscode中下载Easy Sass

    7.微信小程序二维码参数解析

    let scene = decodeURIComponent(options.q).split('?')[1].split('=')[1];
    
    在onLoad事件里获得options 在options的q里面获取网址,在decodeURIComponent里解析获得参数
    

    8.关于生成海报图片的方式

    git地址:https://github.com/kuckboy1994/mp_canvas_drawer
    

    9.当请求失败的时候

    wx.hideLoading();
    app.toast.fail(err.message || "请求错误")
    

    10.&&

    if (!item.name) {
            app.toast.fail("姓名不能为空");
        	    throw new Error("姓名不能为空");
          } else if (!item.isNew && !item.classes) {
            app.toast.fail("班级不能为空");
            throw new Error("班级不能为空");
          }
    只有两者都为ture 才能进入,否则不进来
    

    11.结算

    this.setData({
          totalPrice: parseFloat(total).toFixed(2)
        })
    

    12.关于苹果手机左右滑动的问题

    在JSON文件中 设置不能滑动
    "disableScroll": true
    

    13.小程序关于后端富文本问题

    把图片解析成小程序图片并且把空格解析出来
      var jsonDa = app.globalData.student.compay_culture.replace(/\<img/gi,  '<img class="rich-img" ' );
        var newData = jsonDa.replace(/&nbsp;/g, '\xa0');
    

    14.关于tabBar页面底部适配问题

    • 外部最大的id代码
    padding-bottom: env(safe-area-inset-bottom);
    

    15.删除数组内的第几个对象

    this.loadList.splice(index,1)
    

    16.小程序提示内容

     wx.showToast({
            title: '请选择售后的商品',
            icon: 'none'
          })
    

    17结算

    parseFloat(total).toFixed(2)
    

    18.pick

        <picker class="weui-btn" mode="selector" range-key="{{'workage'}}" range="{{position}}" bindchange="bindTimeChange">
          <button id="{{position =='请选择你的职位'?'':'col'}}">{{position}}</button>
        </picker>
    
     position:[{id:'0',workage:'一年级'},{id:'1',workage:'一年级'},{id:'2',workage:'一年级'},{id:'3',workage:'一年级'},{id:'4',workage:'一年级'}]
    
    展开全文
  • 微信小程序开发遇到

    千次阅读 2019-02-16 16:23:31
    这个确实的个大坑,因为这个是开发微信小程序的基础,配置不好就没法使用小程序。 这个问题是首先要解决的,刚开始开发微信小程序,由于设置的不校验域名,所以忽略了这一点,等上线后才发现,里面数据全是空的,...

    1、小程序环境配置的问题

    这个坑确实的个大坑,因为这个是开发微信小程序的基础,配置不好就没法使用小程序。

    这个问题是首先要解决的,刚开始开发微信小程序,由于设置的不校验域名,所以忽略了这一点,等上线后才发现,里面数据全是空的,因为小程序环境没配置好。小程序环境需要https支持,也就是需要安装ssl证书,然后我就买了证书安装上,参考着百度经验里面的教程,很快就安装好了,一切都设置好后,也能正式访问了。

    SSL证书

    然后打开微信小程序配置,开启校验域名,结果发现微信小程序里面还是报错,查找报错原因,是因为我配置的SSL证书是TLS1.0,而微信小程序要求是TLS必须大于等于1.2。既然找到了问题,那就去解决它,但是又发现windows2003的系统不支持TLS1.2,无奈只好把服务器系统重装,装成windows2008R2系统,装好后,重新配置环境,重新安装证书,结果装上后,TLS还是1.0。

    郁闷了,最后百度查找了很多资料,然后尝试着解决均告失败,正在一筹莫展的时候,突然看到了一篇英文文章,讲的大意就是如何将win2008R2系统ssl证书TLS1.0升级为1.2,赶快按照上面的方法试试,结果还是失败了。怎么回事呢?根据以往的经验感觉应该不是配置的问题,猜测是不是iis配置没生效引起的。为了保险起见,干脆直接重启服务器试试,结果奇迹出现了,升级TLS1.2成功。

    2、json格式转换问题

    微信小程序接收的数据json数据,所以需要把数据类型转化为json,这个相对比较简单一些,网上有很多转换的代码,直接加上去就可以了。php的json转化代码不多赘述了,值得一提的是asp格式转换为json的时候比较麻烦一些,走了一些弯路,最直接的方法就是拼凑法,将asp的数据拼成json格式就可以了。但是需要注意一些html标签,需要过滤掉,因为微信小程序里面不支持html标签。

    3、富文本的问题

    微信小程序无法加载html标签,同时数据渲染也无法渲染wxml标签,因为微信小程序本身是不支持富文本的,所以出来的格式很难看,并且给人很呆板生硬的感觉,想像网页一样表现的丰富一些,就需要引入第三方wxParse.js,(至于如何导入,如何使用,网上有很多资料,在此不再多说,很简单,自行百度即可)。因为我开发的用户比较多,有一部分用户已经有电脑站,手机站,微信站了,现在需要在此基础上再开发小程序,那么就需要调用原来的数据库。如果是php+mysql的还好弄点,有些站是asp的,asp在处理富文本这个问题上,比较复杂一点,我的解决方法是,先将asp获取的数据进行过滤,过滤所有不支持的html标签,只保留wxParse支持的一些html标签,然后再引入wxParse.js进行解析,这样就可以了。

    4、微信小程序app.json里pages数组中路径顺序问题

    这个坑有点深,之前没注意,后来加了底部的tabBar才发现,原来这个顺序和底部的tabBar有很大关系。配置tabBar时,list参数中的pagePath参数至少需要包含app.json里pages数组中的第一个路径,否则会导致tabBar不显示。

    5、微信小程序底部菜单tabBar跳转无法带参数问题

    开发微信小程序的都会碰到过,就是小程序底部菜单跳转的时候,是不能带参数的,这个问题也很好解决,直接把需要传递参数的页面在跳转前将数据添加到全局数据app.js里。需要接受参数的页面在onShow方法接收之前,添加到app.js的数据就可以了

    6、微信小程序使用POST方法请求的问题

    这个坑也是不小的坑,微信小程序发起wx.request()方法请求,用get方法请求都没什么问题,但是用post方法请求时,就容易出现这样或那样的问题,原因是wx.request()使用post方法请求时,还需要加上header,header[content-type]值为application/x-www-form-urlencoded,否则请求返回失败。

    微信小程序

    7、微信小程序中屏幕自适应问题

    在设计wxss样式的时候,尽量使用rpx单位,rpx单位是微信小程序中css的尺寸单位,rpx可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。当然微信小程序也支持rem尺寸单位,rem和rpx的换算关系:rem: 规定屏幕宽度为20rem;1rem = (750/20)rpx

    8、微信小程序的图片宽度和高度问题

    在微信小程序image图片标签中,如果在样式中只设置了图片的宽度,而没设置图片的高度,或者高度设为auto(自动)100%,都会导致图片不显示,必须指定图片的高度才能显示。不过image标签封装了mode属性,可以根据需求自行设置。

    展开全文
  • 那这个报错就是微信公众平台没有发送过来呀。 折腾了半个小时! 我去,发现不能在url中指定80端口,就可以成功,如下图: 这样不指定端口才正确。微信说明还是不是很明确 在handle模块,实例代码是py2代码,...
  • 微信野心越来越大,如今已经从开始简单的聊天工具发展成了一个互联网生态系统,网罗了目前各大互联网平台所具备的功能,最近iOS端微信上线的“搜一搜”和“看一看”更加证实了这一点,直接看下面这张图吧: ...
  • 移动端 / 微信浏览器开发遇到

    千次阅读 2020-05-25 17:01:41
    两个月前开始全身心投入到公司的一个移动端项目,框架选型是vue,这篇文章也是在花费两个月的时间,项目一期完成之后得空进行的一片总结性文章,其中包括通用的移动端开发以及vue在移动端开发特有的一些,本...
  • 微信H5开发遇到(二)

    千次阅读 2019-02-14 10:20:22
    ios中滚动没有惯性问题 ios设备上除了body的滚动带有惯性,其他dom的滚动都没有惯性 解决方案 -webkit-overflow-scrolling: touch;
  • 1、Do not have longtapDeal1 handler in current page: pages/test/test?解答:引起这个错误的原因是在pages/test/test这个目录下未找到longtapDeal1 这个function。解决方案:在对应的js文件中增加名字为...
  • 微信开发中的

    2018-12-11 19:18:49
    今天在做微信开发的时候,遇到个编码的;最终发现,在微信公众号服务配置的时候《消息加密方式》选择是《兼容模式》。导致返回的XML数据是ASCII编码的。而且用PHP的编码转换也一直不成功。最终在“基本设置----...
  • 关于微信开发上传文件的

    千次阅读 2018-12-15 12:42:33
    我简单的总结下我在微信开发遇到的两种网页: 第三方网站 这个是我自己给的称谓,所谓的第三方网站就是没有使用微信给的API,用原生或者框架代码做成的网站,这个网站可以放在微信公众号提供的一个菜单里,作为一...
  • 小白进行微信公众号开发有半年,遇到了许多,android和IOS的兼容性的时代性问题,还要微信浏览器的不友善;慢慢跟后续会加,有遇到的同行可以补充;以下; 1.点击事件失效  点击事件失效是最快遇到的问题,这个...
  • 微信开发遇到 在tp5使用session失效 问题描述:在不同控制器定义个session ,在另一个控制器却访问不到这个session 原因:tp5中的session只支持浏览器的访问,又或者是微信小程序是经过微信的中继服务器链接...
  • 各种各样的之-对接支付宝微信支付遇到 1、对接支付宝 : 公司使用的支付平台是在龙果支付的基础上修改的, 原龙果支付对接了微信支付宝APP支付, 我们这次刚好要使用微信支付宝APP支付。 新申请的商户...
  • 微信h5开发

    2019-06-11 22:05:52
    记一次微信h5开发。。。正常的效果如下:本身用的cube-ui开发,上半部分是自己写的,下边用的是better-scroll,为了滑动更流畅。这个页面前边有一个登录页面,登录之后就会跳到这个首页。在安卓和浏览器上,乃至...
  • 微信开发注意事项

    2018-07-11 15:55:40
    刚接触微信开发踩坑无数,现将踩过的作整理,适合刚接触微信开发的程序猿。 1:长期运营人员绑定 大部分情况下微信公众号的管理员不是自己,这时候开发的时候会遇到很多麻烦,很多操作都需要管理员或长期运维人员...
  • JS-SDK需要向服务端获取签名,且获取签名中需要的参数包括所在页面的网址,但由于单页应用的路由特殊,其中涉及到的iOS和Android的微信客户端浏览器内核的差异性导致的兼容问题 JS-SDK签名 官网所述的是 所有...
  • 企业微信开发建议2

    千次阅读 2017-07-11 10:53:48
    几天前我们发过一篇“企业微信开发建议”,说的是企业微信遇到。 今天,继续这一话题。 经测试,微信企业号升级到企业微信是有的。不建议升级!!!不建议升级!!!不建议升级!!! ...
  • 最近接手了一个vue单页面应用的售票商城,就不可避免的要用到支付,主要讲下微信支付做的过程中遇到的哪些。 首先微信支付分为2部分。一个是在微信环境下的支付可以直接调用微信方法。一个是微信浏览器外的H5支付...
  • Android微信支付遇到

    千次阅读 2017-08-09 11:58:05
    微信开发遇到....
1 2 3 4 5 ... 20
收藏数 13,425
精华内容 5,370
关键字:

微信开发遇到的坑