laf-全栈开发者都在用

laf 是什么

laf 是开源的云开发平台,提供云函数、云数据库、云存储等开箱即用的应用资源。让开发者专注于业务开发,无需折腾服务器,快速释放创意。

为什么使用laf

laf作为开源的云开发平台,不再拥有繁琐的步骤,可以做到自己的创意、想法即写即用,并且发布之后大家都可以使用。让前端开发者们秒变全栈开发者,成为大前端;后端开发者解放自己,提升效率。

手把手带你体验用户登录

首先,来到laf,点击 立即开发

手机号登录后,点击 新建应用

项目名称就叫 user-name。点击 立即创建

点击 开发

来到此页面,我们可以看到这是laf提供给我们的云函数、云数据库、云存储

接下来我们点击上图右上角的 + 添加函数。函数叫做:register。勾选POST即可。post的语义就是添加,这里我们是要往用户数据里添加一个用户,所以只要勾选POST。

来到右边Body下,我们需要传入一些数据

我把接下来要用的代码贴在下方,大家可以直接使用

javascript 复制代码
import cloud from '@lafjs/cloud'
//node 内置的crypto加密模块
import { createHash } from 'crypto'
export default async function (ctx: FunctionContext) {
  //拿到请求体里面的username,password? http? req
  const { username, password } = ctx.body;
  //永远不要相信用户
  //正则表达式  小写,大写字母和0-9。3到16位
  if (!/^[a-zA-Z0-9]{3,16}$/.test(username)) return {
    error: "invalid username"
  }
  if (!/^[a-zA-Z0-9]{3,16}$/.test(password)) return {
    error: "invalid password"
  }
  console.log(
    createHash("sha256").update(password).digest("hex")
  )
  const db = cloud.database();
  //用户名是否存在 ?count
  const exists = await db.collection("users")
  .where({ username:username})
  .count();
  // console.log(exists)
  if(exists.total>0)
  return {error:"username already existed"}

  


  //用户的明文密码不能存  单向加密,比对加密过后的
  const { id } = await db.collection("users").add({
    username: username,
    password:
      createHash("sha256").update(password).digest("hex")
  })

  return { data: id };
}

点击运行后,来到数据库,我们便得到了数据。

这里我们是对未发布的函数进行了运行调试,带大家体验一下laf的使用感觉,大家如果想发布自己的云函数,可以先行前往laf云开发的开发指南中学习如何发布以及调用,或者等待作者后续的讲解哦。

注意

laf刚开始会送大家10元,用作体验,大家在退出前一定要前往关闭项目,不然会一直扣钱,影响后续使用。

相关推荐
全栈老石11 分钟前
Python 异步生存手册:给被 JS async/await 宠坏的全栈工程师
后端·python
大模型玩家七七13 分钟前
梯度累积真的省显存吗?它换走的是什么成本
java·javascript·数据库·人工智能·深度学习
space621232719 分钟前
在SpringBoot项目中集成MongoDB
spring boot·后端·mongodb
. . . . .21 分钟前
shadcn组件库
前端
2501_9447114329 分钟前
JS 对象遍历全解析
开发语言·前端·javascript
Tony Bai1 小时前
再见,丑陋的 container/heap!Go 泛型堆 heap/v2 提案解析
开发语言·后端·golang
发现一只大呆瓜1 小时前
虚拟列表:支持“向上加载”的历史消息(Vue 3 & React 双版本)
前端·javascript·面试
css趣多多1 小时前
ctx 上下文对象控制新增 / 编辑表单显示隐藏的逻辑
前端
阔皮大师1 小时前
INote轻量文本编辑器
java·javascript·python·c#
lbb 小魔仙1 小时前
【HarmonyOS实战】React Native 表单实战:自定义 useReactHookForm 高性能验证
javascript·react native·react.js