微信小程序:接手项目,修bug

程序,接手,项目,bug · 浏览次数 : 139

小编点评

```html ```

正文

好家伙,

 

问题描述如下:

小程序主界面,选择快速上传会议记录

 

 

 

选择快速

其中,没有2022-2023第二学期,所以,新的会议记录无法上传

 

于是,我自愿修复这个bug

由于我们没有产品文档

我只能由已知,推未知

亲爱的学长告诉我,这是一个使用了uni-app开发的微信小程序

 

开搞,

1.首先我们把两个工具下好

 

 

 微信开发者工具下载地址:微信开发者工具下载地址与更新日志 | 微信开放文档 (qq.com)

HBuilderX下载地址:HBuilderX-高效极客技巧 (dcloud.io)

 

2.去到小程序中 设置=>安全设置 打开服务端口

 

 

 

3.记下端口号

 

 

 

 点击运行设置

 配置服务端口

 

 

 

 

4.运行项目

使用HBuilder X 打开项目,随后使用微信开发者工具运行

 

 记得配置小程序的路径

 

 不可直接使用微信开发者工具打开项目

(Hbuilder X将.vue文件编译为微信小程序对应格式的文件)

开始运行

看看项目目录:

 

哦,用vue写的

 

5.找bug

找到"添加会议记录"对应的页面相关代码

addMeeting.vue文件代码如下:

<template>
  <view>
    <view class="hiddenTitle">
    </view>
    <view class="cu-bar bg-white">
      <view class="action" @tap="backIndex">
        <text class="cuIcon-back text-gray"></text> 返回
      </view>
      <view class="content text-blod">
        添加会议记录
      </view>
    </view>
    <view class="grid col-2 ">
      <view class="padding cu-form-group Block">
        <view class="title">学期:</view>
        <picker @change="TermChange" :value="termIndex" :range="term">
          <view class="picker" required="required">
            {{termIndex>-1?term[termIndex]:'选择学期'}}
          </view>
        </picker>
      </view>
      <view class="padding cu-form-group Block">
        <view class="title">时间:</view>
        <picker mode="date" :value="date" start="2020-09-01" end="2023-09-01" @change="DateChange">
          <view class="picker">
            {{meetingObj.date}}
          </view>
        </picker>
      </view>
      <view class="padding cu-form-group">
        <view class="title">周数:</view>
        <input name="input" type="text" v-model="meetingObj.week"></input>
      </view>
      <view class="padding cu-form-group">
        <view class="title">地点:</view>
        <picker @change="PlaceChange" :range="place">
          <view class="picker">
            {{meetingObj.place}}
          </view>
        </picker>
      </view>
      <view class="padding cu-form-group">
        <view class="title">会议主持:</view>
        <input name="input" type="text" v-model="meetingObj.meetingHost"></input>
      </view>
      <view class="padding cu-form-group">
        <view class="title">会议记录:</view>
        <input name="input" type="text" v-model="meetingObj.recorder"></input>
      </view>
    </view>
    <view class="grid col-1 Block">
      <view class="padding cu-form-group">
        <view class="title">请假人员:</view>
        <input name="input" type="text" v-model="meetingObj.leavingPerson"></input>
      </view>
      <view class="padding cu-form-group">
        <view class="title">迟到人员:</view>
        <input name="input" v-model="meetingObj.latePerson"></input>
      </view>
    </view>
    <view class="cu-form-group margin-top Block meetingInfo ">
      <textarea class="text" maxlength="-1" :disabled="modalName!=null" placeholder="会议内容" @input="textareaInput"
        v-model="meetingObj.content"></textarea>
    </view>
    <view class="padding flex flex-direction">
      <button class="cu-btn bg-gradual-green lg margin-xs" @click="commit">上传</button>
    </view>
  </view>
</template>

<script>
  export default {
    data() {
      return {
        serverUrl: this.$globalUrl,
        termIndex: -1,
        placeIndex: -1,
        term: ['2021-2022 第一学期', '2021-2022 第二学期', '2022-2023 第一学期'],
        place: ['B1-415'],
        date: '2021-09-01',
        meetingObj: {},
        isSelectedTerm: false
      }
    },
    methods: {
      backIndex() {
        uni.switchTab({
          url: "../../pages/index/index"
        })
      },
      TermChange(e) {
        this.termIndex = e.detail.value
        this.isSelectedTerm = true
        this.$set(this.meetingObj, 'term', this.term[this.termIndex])
        console.log(this.meetingObj)
      },
      PlaceChange(e) {
        this.placeIndex = e.detail.value
        this.$set(this.meetingObj, 'place', this.place[this.placeIndex])
      },
      DateChange(e) {
        this.date = e.detail.value
        this.$set(this.meetingObj, 'date', this.date)
      },
      textareaInput(e) {
        this.textareaAValue = e.detail.value
        this.$set(this.meetingObj, 'content', this.textareaAValue)
      },
      commit() {
        let that = this
        if (!that.isSelectedTerm) {
          uni.showToast({
            icon: "error",
            title: "别忘了选学期鸭~",
            duration: 2000
          })
        }
        uni.request({
            url: that.serverUrl + '/meet/insertMeeting',
            data: that.meetingObj,
            header: {
              "Authorization": uni.getStorageSync('tokenHead') + ' ' + uni.getStorageSync('token')
            },
            method: 'POST'
          }).then(data => {
            console.log(data)
            var [error, res] = data;
            if (res.data.code == 200) {
              wx.showToast({
                title: '添加成功',
                icon: 'success',
                duration: 2000,
              })
              setTimeout(() => {
                uni.navigateBack()
              }, 2200)
            }
            if (res.data.code == 400) {
              wx.showToast({
                title: '记录已存在',
                icon: 'error',
                duration: 2000,
              })
            }
          })
      },
      onLoad(option) {
        let getItem = JSON.parse(decodeURIComponent(option.item))
        this.meetingObj = getItem
      }
    }
  }
</script>

<style lang="scss">
  .Block {
    border-top: 1rpx solid #eee;
  }

  .meetingInfo {
    height: 40vh;
    width: 100%;

    .text {
      height: 90%;
      font-size: 30rpx;
    }
  }

  .hiddenTitle {
    height: 40px;
    background-color: #FFFFFF;
  }
</style>

 

定位到关键代码

      <view class="padding cu-form-group Block">
        <view class="title">学期:</view>
        <picker @change="TermChange" :value="termIndex" :range="term">
          <view class="picker" required="required">
            {{termIndex>-1?term[termIndex]:'选择学期'}}
          </view>
        </picker>
      </view>

 

诶,tern数组,那大概率是这个数组出问题了

这条给他加上

term: ['2021-2022 第一学期', '2021-2022 第二学期', '2022-2023 第一学期','2022-2023 第二学期'],

ok

 

 

 

ok,搞定了

与微信小程序:接手项目,修bug相似的内容:

微信小程序:接手项目,修bug

好家伙, 问题描述如下: 小程序主界面,选择快速上传会议记录 选择快速 其中,没有2022-2023第二学期,所以,新的会议记录无法上传 于是,我自愿修复这个bug 由于我们没有产品文档 我只能由已知,推未知 亲爱的学长告诉我,这是一个使用了uni-app开发的微信小程序 开搞, 1.首先我们把两个

第141篇:微信小程序wx.request接口报错(errno: 600001, errMsg: "request:fail -2:net::ERR_FAILED")

好家伙, 来看看报错 报错如下: 请求发送部分,代码如下: uni.request({ url: self.serverUrl + "/getRealName", method: 'GET', data: { "code": self.info.code, }, header: { "Authori

Java解析微信获取手机号信息

在微信中,用户手机号的获取通常是通过微信小程序的getPhoneNumber接口来实现的。这个接口允许用户在授权后,将加密的手机号数据传递给开发者。由于隐私保护,微信不会直接提供用户的明文手机号,而是提供一个加密的手机号字符串和相应的解密密钥。 以下是一个基于Java的示例,展示了如何接收并解密从微

微信小程序预约视频号直播

一、概述 微信小程序提供了可以唤起预约视频号直播弹窗的接口 reserveChannelsLive,该接口接收一个参数 noticeId,通过 getChannelsLiveNoticeInfo 接口获取。因此,过程如下: 查看视频号 id finderUserName --> 调用 getChan

微信小程序使用微信云托管添加自定义域名并转发到pexels.com

背景:我要在小程序上显示pexels.com上的图片,然后我得先把pexels.com的域名添加到小程序的request合法域名中,但是pexels.com是国外的,在国内没有备案所以添加不了。解决方案就是:用一个已经备案好的域名进行转发,转发的服务器我选择的是微信云托管,备案好的域名还需要ssl,

微信小程序生态13-微信公众号自定义菜单配置

序 微信公众号分为订阅号和服务号两种,虽然二者很大的不同,但是这两种公众号的底部却是差不多的:都有菜单栏,而且这些底部菜单也都是自定义配置的。 如CSDN的官方公众号的底部就有精彩栏目、新程序员、CSDN等菜单可供使用: 那这些菜单是如何生成的呢?微信以配置方式的不同把它分为了两类:自定义菜单、个性

微信小程序生态15- 批量提交微信小程序审核的一种方式

大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 以下是『微信小程序生态系列文章』正文! # 需求背景 我们是一个提供SaaS服务的小程序服务商,会给每一个客户申请一个专属的小程序,到目前为止已经差不

uniapp微信小程序转支付宝小程序踩坑(持续更新)

首先第一个,真有被折磨到! // 微信正常使用,支付宝不行 // 以下两种 微信、支付宝都正常使用

零代码搭建一个微信小程序

基于Astro零代码能力,学习体验快速搭建微信小程序。

低代码助力微信小程序对接,提升开发效率

本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 微信小程序相信大家都用过,相较于APP,微信小程序的优势在于其便捷性,只需要下载一个微信就可以访问所有的小程序,因此许多开发者也逐渐将自己开发的系统部署到微信小程序上以供