小程序开发记录——魁拔喵喵喵

最近发布了一版小程序,叫“魁拔喵喵喵”,是我自己的吸喵网站。

起源于我经常在朋友圈晒猫,但是很多人又对猫咪不敢兴趣,我就换了个入口。不光不至于朋友圈满屏的猫,这样还能让更多没加好友的人一起吸猫。

这一版,支持了点赞,和随时上传的后台。小程序二维码如下:

小程序魁拔喵喵喵

我有个内测名单,每次发布前都会找几个小伙伴测试下,需要加入的联系我。

小程序v1.0.2界面:

魁拔喵喵喵v1.0.2


踩坑记录

第一次做小程序,踩了一些小坑,简单记录下:

1. 获取权限

这是最大的一个坑。开发过程中,遇到最大的问题就是,好不容易搜出一套解决方案,然后一用发现 API 已经不推荐使用了。还有就是openIdunionId傻傻分不清。隔了个把月后,健忘的我又重蹈覆辙了次。

解决方案:

1.1 场景1:一进入页面就要取用户信息。

解决方案:使用云函数+指定的wxml标签取用户信息。云函数用来取openIdwxml用来取昵称和头像。云函数代码如下:

// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init()

// 云函数入口函数
exports.main = async (event, context) => {  
  const {
    OPENID,
    APPID,
    UNIONID,
  } = cloud.getWXContext()

  return {
    OPENID,
    APPID,
    UNIONID,
  }
}

取用户信息的wxml

<open-data type="userAvatarUrl"></open-data>  
<open-data type="userNickName"></open-data>  
场景2:点击的时候取用户信息

解决方案:在点击的时候取用户信息,相关代码如下:

<button open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="clickStar">点个赞</button>  
clickStar(e) {  
  // 能取到非常详细的用户信息
  const userInfo = JSON.parse(e.detail.rawData)
}
2. Error: 未找到 project.config.json 中的 qcloudRoot 字段。错误:10080

解决方案:在project.config.json配置"qcloudRoot": "./miniprogram/"

3. stats.updated = 0 而不是 = 1

问题描述:用doc.updateAPI的时候,返回的的stats.updated的值为0,如果改成功应该是>0的值。

解决方案:用端去调用stats.updated,必须之前记录是自己的_openId。如果想要改别人的_openId对应的数据,可以使用云函数去做。

4. 列表倒序

解决方案:有一个倒序的API:db.collection('list_page').orderBy('date', 'desc').get()

5. 点击如何传参
<button bindtap="clickAdd" data-id="{{id}}">按钮</button>  
clickAdd(e) {  
    e.target.dataset.id
}
5. .get()获取数据只有20条。

解决方案:用端去调用.get()的时候,只有20条。得用云函数包装下,就可以取到所有内容。

最后,附上源码地址:https://github.com/makaiqian/wx-kuiba

麻凯倩

微信:makaiqian,请备注来源“博客”并介绍自己。

总访问量: 总访客数: 备案号:浙ICP备15036547号-1