小程序开发记录——魁拔喵喵喵
最近发布了一版小程序,叫“魁拔喵喵喵”,是我自己的吸喵网站。
起源于我经常在朋友圈晒猫,但是很多人又对猫咪不敢兴趣,我就换了个入口。不光不至于朋友圈满屏的猫,这样还能让更多没加好友的人一起吸猫。
这一版,支持了点赞,和随时上传的后台。小程序二维码如下:
我有个内测名单,每次发布前都会找几个小伙伴测试下,需要加入的联系我。
小程序v1.0.2界面:
踩坑记录
第一次做小程序,踩了一些小坑,简单记录下:
1. 获取权限
这是最大的一个坑。开发过程中,遇到最大的问题就是,好不容易搜出一套解决方案,然后一用发现 API 已经不推荐使用了。还有就是openId
和unionId
傻傻分不清。隔了个把月后,健忘的我又重蹈覆辙了次。
解决方案:
1.1 场景1:一进入页面就要取用户信息。
解决方案:使用云函数+指定的wxml
标签取用户信息。云函数用来取openId
,wxml
用来取昵称和头像。云函数代码如下:
// 云函数入口文件
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