小程序云开发速成版bug遭遇

一、跳转页面

跳转其他页面:当url路径对应的是app.json中tabBar配置的页面时只能使用switchTab

              wx.switchTab({     
                url: '/pages/main/main',
              })

二、异步改同步

异步请求-》同步等待结果

第一种

根据官方给出的代码片段,导入之后出现了两个文件,小白如我只用到了此文件,

promisify.js 创建好放入lib 

module.exports = (api) => {
  return (options, ...params) => {
    return new Promise((resolve, reject) => {
      api(Object.assign({}, options, { success: resolve, fail: reject }), ...params);
    });
  }
}

const promisify = require('../../libs/promisify.js');

const getUserInfo= promisify(wx.getUserInfo);

const login = promisify(wx.login);

第二种

给方法加上async 云函数以及数据的操作使用await,等待结果根据返回结果判断是执行return false还是继续向下执行逻辑;

  bindGetUserInfo: async function(e){}

var isteach_res = await wx.cloud.callFunction({
              name: 'checkTeacher',
              data: {
                mobile: this.data.mobile.toString(),
              }
            });

三、订阅消息

subscribeMessage.send

const result = await cloud.openapi.subscribeMessage.send({ 
    touser:event.openID, 
    templateId:event.templateId,
    page: 'pages/index/index', 
      lang:"zh_CN",
      data: {
        name2: { value: event.stuname }, 
        date3: { value: event.dakatime }, 
        phrase1: { value: '签到成功' }, 
        thing4: { value: event.coursename } 
      }
    })
    return result

开启本地调试,入参:

{
"msgType":"签到",
"templateId":"",
"openID":"",
"stuname":"qwA-",
"dakatime":"1",
"coursename":"1"
}

模板呢是公众平台上随便申请的一个,结果stuname->name2一直报错,原因是测试学生名称为'学生2',经百度找到了官方文档,发送此请求的参数有规定,但由于程序内部没有与此规定保持一致,所以云函数一直提示name2 非法参数;接下来同样的情况出现在了date3,

date.DATA日期年月日格式(支持+24小时制时间),支持填时间段,两个时间点之间用“~”符号连接例如:2019年10月1日,或:2019年10月1日 15:01
name.DATA姓名10个以内纯汉字或20个以内纯字母或符号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值