系分小组项目踩坑笔记

系分小组项目踩坑笔记

5月5日 TypeError:wx.getSetting is not a function

  • 首先,从github上clone下来代码,放到微信开发者工具上跑,结果报了“编译.wxml错误的error”:(昨晚我问了我的另一位组员,他clone下来的代码是可以直接跑的,所以不是代码本身的问题)
    在这里插入图片描述
    于是我打开了控制台:TypeError:wx.getSetting is not a function
    在这里插入图片描述
    我在网上搜索了一下“wx.getSetting is not a function”,搜到一些转载的博客,也没写原博客地址,我这里就贴一下我看的别人转载博客的地址吧:博客链接

  • 似乎和支持API的版本库有关:
    我在微信公众平台的教程上搜索了wx.getSetting这个方法:从基础库1.2.0开始支持
    wx.getSettting·小程序
    在这里插入图片描述

  • 那么怎么知道自己的基础库的版本符不符合呢?微信工作平台里面还有相应教程:
    基础库·小程序
    以及兼容处理

5月15日 上一次问题的解决

  • 先说一说前面一个问题吧:
    • 关于之前的基本库的版本兼容问题,首先用的是很久之前的API了,并且队友也是用的一样的代码还运行成功了,所以问题应该没有我想的那么复杂……那么是什么原因呢,我问了队友用的开发者工具是什么版本的,他们说是最新版的,而我的是在某度助手下载的老版本……于是我到微信公众平台上下载了最新版本的微信web开发者工具,再拿去跑原来的代码,发现error消失了。
    • 附上下载的链接:微信开发者工具

5月15日 are entirely different commit histories问题

  • 组长说好的星期一pr,而我再回去pr的时候又踩了一个坑,待了两天才从坑里跳出来。说一下这个坑是怎么跳进去再怎么爬出来的吧:
    • 问题说明介绍:上面说到我下了一个最新版本的开发工具,界面有了不小的变化,结果发现自己一开始并不会用,一开始想要直接导入clone下来的代码,但不知那时候是做了什么,导入一直是失败的,然后直接在本地新建了一个文件夹并且在文件夹里面新初始化了一个本地仓库,这就为后面踩坑种下了前因……更要命的是我在后面push到我自己的GitHub仓库的时候,用的是强制push……然后GitHub上项目的目录什么的变成了本地的目录,掉坑由此开始:当我想要把上游仓库的代码pr到自己GitHub仓库更新或者试着把自己GitHub仓库pr到上游仓库时,根本无法创建new pull request,并且提示:xxx are entirely different commit histories
    • 查询过程:我查了很多博客,许多博客都有说可以在git bash的命令行输入:git pull origin master --allow-unrelated-histories
    • 尝试解决过程:很多博客上说的是本地仓库和个人GitHub仓库存在这个问题,而我的是个人GitHub仓库和小组上游GitHub仓库之间存在的问题。这个给了我一些思路,我使用命令”git remote add origin 个人GitHub仓库地址“和“git remote add upstream 上游仓库地址”,然后用“git pull upstream master --allow-unrelated-histories”命令从上游仓库拉取代码(PS:应该直接用git pull也行),然后再将本地仓库的代码push到个人GitHub仓库。自己原先的工作也可以添加到相应地方然后push,并且之前的commit记录不会消失。
    • 怎么说呢,这次课程小组项目开发,才算是对Git的使用熟悉了一些吧,自己一个人使用的仓库和小组一起用的仓库毕竟是不一样的,一路下来踩了一个又一个的坑,然后再一个个解决。总的来说还是要及时去做自己的任务,早点发现问题,留给自己多一点时间从坑里面爬出来吧!

6月11日 跳转延迟,showToast一闪而过的问题

  • 最近写电子政务案例分析的期末项目卡成sb,小组项目遇到的一些小坑就没有继续更新,想了想还是要继续更新吧
    • 关于wx.showToast的一闪而逝的问题:
      • 之前没有想好怎么弄这个一闪而过的问题,今天在网上看了一些博客,基本上是说用setTimeout延迟跳转,我不管是改了延迟时间,还是删掉自己写的直接复制博客上的代码,发现依然是存在一闪而过直接跳转的问题。(其中看见一篇博客底下有人吐槽代码没效果,我一开始想的和他一样,emmmmmmm。还好下面有人说代码没问题,我开始在我的其他代码找原因,结果……)
      • 结果发现自己原来写没延迟代码的时候,用的是返回上一页面的跳转
        在这里插入图片描述
      • 而博客上的跳转延迟,是一个switchTab下面的url跳转。一闪而过的原因是,即使上面的跳转是延时的,但是代码运行到下面的navigateBack的时候,马上就跳转走了,并且由于上一页面和url的是同一页面,一开始就没有发现。
      • 解决:删除原来的跳转,只使用一个跳转的函数

6月11日 向服务器上传数据后的反馈显示的问题

  • 为了用户体验,上传数据后应该要有个showToast来告诉用户上传的情况,于是我在上传的函数的success回调函数里面就写了一个比如“发布成功”的弹窗。然而……
    在这里插入图片描述
  • 在组里同学的提醒下,说要考虑上传数据失败以及上传的不可用的数据
  • emmm,上传数据失败?这个不是上传函数success的回调函数吗?既然运行了success里面的代码不就说明上传成功了吗?
  • 好吧,这个问题没有想清楚,但是看一下服务器返回的信息:有个errcode,还有个errmsg,不管怎样,还是要考虑上传之后服务器的响应情况,这个是应该要做的
    在这里插入图片描述
  • 解决:判断服务器返回的信息,errcode为1才说明上传成功,为0或者其他的话,不应该弹出“上传成功”的窗口,应该显示errmsg相应的信息

6月12日 判断输入框是否为空

  • 我又来了,……

  • 上次说到要对代码进行修改,现在做到“表白上传”,表白嘛,肯定要真心实意的,上传一个空的东西算什么,于是决定对用户输入的表白内容进行判断,若为空,不能让他发出去鱼目混珠。

  • 一开始呢,直接判断是否为null,然而一点效果都木有,好像就有点类似“空集不为空”,还能怎么样呢,改呗

    if(that.data.content.toString != null)
    
  • 然后查博客看见有一个根据长度判断的,欸,发现如果用长度判断,不仅可以判断空输入,还能对仅输入空格的输入进行判断,然而,当我只输入一个字符‘?’的时候,发现居然还是判定为空,emmmmmmm。要知道本朝人民在聊天表词时以不变应万变用单个标点符号“一词达意”不在少数,若是因此判定不能上传的话,要向全国人民谢罪滴……

  • 继续看博客,又有一个方法:直接用that.data.content判断,也不用“!=”或者“==”判断,如果是空输入,则that.data.content为false。发现这个也能判断空输入,并且在输入‘?’时也能通过判定,呼,不用谢罪了!但是,在我输入一个空格‘ ’的时候,居然也一样通过判定了,接着改

    if(that.data.content)
    
  • 那么我额外加一个判断是否为‘ ’的if语句和前面if(that.data.content)配合会怎么样呢?还是不行,在输入多个空格时,还是要阵亡……看来要换一个方法

  • 嗯,既然空格影响判断,那么能不能把输入的内容中的空格清除掉呢?还真的有博客讲这个方法,那就先把空格清除再判断吧,清除掉空格之后,再用if(that.data.content_t)判断,就能达到我的要求了

    var content_t = that.data.content;
    content_t = content_t.replace(/\s*/g, "");//清除其中的空格
    if(content_t){//现在尽管能判断也没有输入,但是输入空格时判断错误,若是加入长度的判断,只有标点符号的情况下也会失误
           //先试一试内容与空格比较
           //空格的数量是个问题
           //试试清除输入的空格
           //哈哈哈哈哈好了
           //应该放前面,不符合不能上传
            wx.showToast({
              title: '表白发布成功',
              icon: 'success',
              duration: 2000,
              success: function () {
                setTimeout(function () {
                  //要延时执行的代码
                  wx.switchTab({
                    url: '../confession/confession'
                  })
                }, 2000) //延迟时间
              }
            })
           }else{
             wx.showToast({
               title: '不能发布空内容',
               icon: 'success',
               duration: 2000,
             })
           }
    
  • 当然,这个判断要放到数据上传的函数前面,不符合的不能上传(测试的时候上传了一大堆乱七八糟的东西,队友怕是想大西我)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值