前言

最近交女朋友了,就,从此君王不早朝?不咋学习了
女朋友有个需求,就是想找个地方记一下朋友的生日,还需要提醒的那种,我就在想想想怎么解决这个需求
于是想到了小程序+公众号这一套东西,顺便学点习吧


常用 API

跳转页面

1
2
3
uni.navigateTo({
url: `/pages/getUserInfo/index`,
});

获取 / 设置本地缓存

1
2
uni.getStorageSync("openid");
uni.setStorageSync("openid", openid);

发送请求

1
2
3
4
5
6
7
uni.request({
url: "http://localhost:3000/jscode2session",
date: {
code: res.code,
},
success: (res) => {},
});

提示

1
2
3
4
5
6
wx.showModal({
title: "提示",
content: `提示内容?`,
showCancel: true,
success: (e) => {},
});

开发踩坑

Vue

  • 组件的 prop 不要用 id,属性的值被冲掉了。

网络请求的封装 + 基本请求地址

大致思路就是

  • 封装一个 promise ,然后统一管理 api ,这样会清楚一些。
    在这里插入图片描述

Mysql

语法

  • 查询语句的写法,注意条件 WHERE 要放到后面

    1
    2
    3
    4
    5
    const [rows_update] = await connection.promise().execute(
    `UPDATE friends
    SET name = ?, lunarDate = ?, solarDate = ?, isOfficialAccountReminder = ?, isRemindSolar = ?, isRemindLunar = ?, remark = ?
    WHERE id = ?`,
    [name, lunarDate, solarDate, isOfficialAccountReminder, isRemindSolar, isRemindLunar, remark, id]
  • 表设计的时候,有种类型 tinyint可以用来存储布尔值

  • 清理表格,自增字段从零开始

    1
    TRUNCATE TABLE 表名;
  • 设计删除逻辑的时候,不需要勾选 Zerofill ,否则存储的时候就会变成 00000001 这样的
    在这里插入图片描述

表设计

  • timestamp 类型的数据不需要给长度,给了的话就会自动在字符串后面添加 0 (navcat 的操作)在这里插入图片描述

存储 emoji

我想在表里存 emoji ,但是数据库报错了

在这里插入图片描述

于是我尝试修改字段的格式为 utf8mb4_unicode_ci 之后就可以了

在这里插入图片描述

在这里插入图片描述


知识点复习

小程序的生命周期

官方生命周期

  • onShow 就是每次进入页面都会执行的是个宁钩子
  • onLoad 就是只执行一次

下拉刷新

在这里插入图片描述

1
2
3
"style": {
"enablePullDownRefresh": true
}

然后再打开的页面中写这个钩子函数:

1
2
3
4
5
onPullDownRefresh() {
this.queryFriendList().then((res) => {
uni.stopPullDownRefresh()
})
},

处理带有 emojy 的字符串

掘金上的教程