• 小程序开发常见问题


    1.小程序如何实现页面间的跳转?

    之前想在页面间做个跳转,想直接写在index.wxml中,类似于HTML中a标签的href属性,但没有看到官方的相关说明,官方以页面栈的方式维护了当前的所有页面,同时提供了一系列api供开发者使用,其中可以实现跳转的功能页面有5个。分别是:
    (1)wx.navigateTo(OBJECT)
    保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。注:目前页面路径对多只能十层。
    (2)wx.redirectTo(OBJECT)
    关闭当前页面,跳转到应用内的某个页面。
    (3)wx.reLaunch(OBJECT)
    关闭所有页面,打开到应用内的某个页面。
    (4)wx.switchTab(OBJECT)
    跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
    (5)wx.navigateBack(OBJECT)
    关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages()) 获取当前的页面栈,决定需要返回几层。
    最后通过小程序的事件机制实现了页面间跳转。

    //index.wxml
    <view class="usermotto">
        <text class="user-motto" bindtap="goProductPage">{{motto}}</text>
      </view>
    
    //index.js
    goProductPage: function (e) {
        wx.navigateTo({
          url: '../product/product', //相对路径
          success: function () {
            console.log('进入了成功的回调');
          },
          fail: function () {
            console.log('进入了失败的回调');
          }
        })
      }
    

    2.小程序如何发布?

    构建好自己的小程序后如何发布呢?自己在小程序的后台找了好久,只看到了下面这张图,后来才知道要在微信开发者工具中先提交代码,提交后在后台的“开发管理”菜单下的“开发版本”里看到对应版本,然后再提交审核即可,提交后可以看到“审核版本”里多了一条记录,一般审核要1-3天。


    参考官方文档

    3.怎样修改小程序的默认启动页面

    在每个小程序的app.json页面会包含一个pages属性的配置项,该配置项是一个数组,每一项都是字符串,来指定小程序由哪些页面组成。每一项代表对应页面的【路径+文件名】信息,数组的第一项代表小程序的初始页面。
    所以修改该数组的第一项就修改了小程序的默认启动页面。

    3.小程序要审核多久?

    一般审核要1-3天。我的第一个小程序提交审核后第二天拿到了审核结果。审核失败后把具体原因提示给你,你根据具体原因修改后再提交即可。
    第一次提交审核失败原因

    4.如何改变小程序的标题?

    wx.setNavigationBarTitle({
          title: '附近门店'
        })
    

    5.如何调起扫一扫功能?

     wx.scanCode({
          success: (res) => {
            console.log(res)
          },
          fail:(error) =>{
            console.log(error)
          }
    

    6.能否设置导航条的字体?

    在app.json文件里可以配置导航条字体的颜色和背景色,文字的大小无法改变。

    {
      "pages": [
        "pages/productList/productList",
      ],
      "window": {
        "backgroundTextStyle": "light",
        "navigationBarBackgroundColor": "#fff",
        "navigationBarTitleText": "门店数字化营销",
        "navigationBarTextStyle": "black"
      }
    }
    

    7.小程序如何通过路由传递参数?

    从列表页跳转到详情页
    (1)在列表页(xxList.wxml)绑定事件

     <view class="product-img" bindtap='goproductDetail' id="{{item.id}}">
              <image src="{{item.imgSrc}}"/>
      </view>
    

    (2)在列表页(xxList.js)通过事件对象获取参数

     goproductDetail:function(event){
        let that = this;
        let chosenPrdId = event.currentTarget.id
        wx.navigateTo({
          url: `../productDetail/productDetail?productId=${chosenPrdId}`,
          success: function () {
    
            wx.setNavigationBarTitle({
              title: '产品详情'
            })
          },
          fail: function () {
            console.log('进入了失败的回调');
          }
        })
      }
    
    

    (3)在详情页(xxDetail.js)获取路由参数

     onLoad: function (option) {
        console.log(option.chosenPrdId); //选择的id
        // TODO 访问后台接口查询具体信息
    
      }
    

    8.小程序如何发起请求?

       wx.request({
          url: 'http://127.0.0.1:3000',
          data:{
            userInfo: e.detail.userInfo
          },
          method:'GET',
          header:{
            'content-type': 'application/json' // 默认值
          },
          success:function(res){
            console.log(res.data);
          }
        })
    

    9.wx.request想要连接localhost怎么做?

    在微信开发者工具--设置--项目设置--勾选不检验域名。(我的微信开发者工具版本是1.02.1806120,平台是ios)

    10.小程序request请求方法为POST为什么访问不到,而get却可以?

    开始以为是自己参数的问题,去网上找了很多答案,例如把header参数 'content-type':设为'application/x-www-form-urlencoded',不起作用,依然404。继续找,在一篇博文为中看到request的合法域名要是类似
    https://XXX.com这样的,不能是类似https://www.XXXX.com这样的,看到这突然意识到可能是自己连接本地127的问题,于是在网上随便找了个https的post请求,报错400,提示参数格式不对,而不是接口找不到。

    初次接触小程序,理解不正确的地方请多多赐教。

  • 相关阅读:
    xmgrace的配置
    redhat 的安装及grub livecd 的引导
    AutoDock 的安装及 virtual screening 的配置
    怎么查看redhat版本
    分子模拟软件schrodinger的安装
    Amber学习第八天:含有配体的蛋白分子动力学
    Amber 模拟蛋白流程
    Openbabel的安装
    Amber 的安装
    浅谈SQL Server 对于内存的管理
  • 原文地址:https://www.cnblogs.com/JessicaIsEvolving/p/9300170.html
Copyright © 2020-2023  润新知