})
.catch((err) => {
reject(err);
});
});
};
exports.main = async (event, context) => {
const { userInfo } = event.data;
const { OPENID, APPID, UNIONID } = cloud.getWXContext();
try {
await addUser(OPENID, userInfo);
return {
code: 200,
msg: “登陆成功”,
data: { userId: OPENID, …userInfo },
};
} catch (err) {
return { code: 500, msg: “服务器错误!”, err };
}
};
小程序端调用云函数
fetch({
name: “login”,
data: { userInfo: e.detail.userInfo },
}).then((res) => {
if (res.code != 200) {
app.toast(res.msg);
return;
}
wx.setStorageSync(“userInfo”, res.data);
this.setData({ userInfo: res.data });
this.getData(res.data.userId);
});
封装的 fetch 函数
export function fetch(params) {
return new Promise((resolve, reject) => {
const { name, data } = params;
wx.cloud.callFunction({
name,
data: { data },
success: (res) => {
resolve(res.result);
},
fail: (err) => {
reject(err);
},
});
});
}
增改
const cloud = require(“wx-server-sdk”);
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV });
const db = cloud.database();
const collection = db.collection(“punchGoal”);
const createPunchGoal = (data) => {
return new Promise((resolve, reject) => {
collection
.add({ data: { …data, count: 0 } })
.then(() => {
resolve();
})
.catch((err) => {
reject(err);
});
});
};
const updatePunchGoal = (data) => {
const id = data._id;
delete data._id;
return new Promise((resolve, reject) => {
collection
.doc(id)
.update({ data: { …data } })
.then(() => {
resolve();
})
.catch((err) => {
reject(err);
});
});
};
exports.main = async (event, context) => {
// 数据校验
const params = [“goalName”, “iconName”, “punchTimes”, “startTime”];
if (
!params.every(
(item) =>
event.data[item] !== “” &&
event.data[item] !== null &&
event.data[item] !== undefined
)
) {
return { code: 500, msg: “参数错误!” };
}
event.data.userId = cloud.getWXContext().OPENID;
// 时间格式化
event.data.date = new Date();
for (const item of [“startTime”, “endTime”]) {
event.data[item] = event.data[item] ? new Date(event.data[item]) : null;
}
try {
if (event.data._id) {
await updatePunchGoal(event.data);
return { code: 200, msg: “修改成功” };
} else {
await createPunchGoal(event.data);
return { code: 200, msg: “新增成功” };
}
} catch (err) {
return { code: 500, msg: “服务器错误!”, err };
}
};
查
const cloud = require(“wx-server-sdk”);
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV });
const db = cloud.database();
const collection = db.collection(“punchGoal”);
const getPunchGoalList = (data) => {
const { userId } = data;
return new Promise(async (resolve, reject) => {
collection
.where({ userId })
.get()
.then((res) => {
resolve(res.data);
})
.catch((err) => {
reject(err);
});
});
};
exports.main = async (event, context) => {
if (!event.data.userId) {
return { code: 500, msg: “参数错误!” };
}
try {
const list = await getPunchGoalList(event.data);
return { code: 200, msg: “查询成功”, data: { list } };
} catch (err) {
return { code: 500, msg: “服务器错误!”, err };
}
};
删除
const cloud = require(“wx-server-sdk”);
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV });
const db = cloud.database();
const collection = db.collection(“punchGoal”);
const deletePunchGoal = (punchGoalId) => {
return new Promise((resolve, reject) => {
collection
.doc(punchGoalId)
.remove()
.then(() => {
resolve();
})
.catch((err) => {
reject(err);
});
});
};
exports.main = async (event, context) => {
if (!event.data.id) {
return { code: 400, msg: “参数错误!” };
}
try {
await deletePunchGoal(event.data.id);
return { code: 200, msg: “删除成功” };
} catch (err) {
return { code: 500, msg: “服务器错误!”, err };
}
};
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
天花板技术停滞不前!**
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-KShDiWxW-1710926678975)]
[外链图片转存中…(img-R7goxPD1-1710926678976)]
[外链图片转存中…(img-xpRMu2BJ-1710926678976)]
[外链图片转存中…(img-wJUm3bWi-1710926678977)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
[外链图片转存中…(img-qnKEjAxg-1710926678977)]