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元,用作体验,大家在退出前一定要前往关闭项目,不然会一直扣钱,影响后续使用。

相关推荐
不会敲代码14 小时前
手写 Zustand:三十分钟带你搞懂状态管理库的核心原理
前端·javascript·源码
神奇的程序员4 小时前
重构了自己5年前写的截图插件
前端·javascript·架构
养肥胖虎4 小时前
Docker学习笔记:后端、数据库和反向代理怎么一起跑起来
后端·nginx·docker·postgresql·go·部署
橙淮4 小时前
从优化到安全再到未来 ——JavaScript 全维度技术指南
javascript
晓杰'5 小时前
从0到1实现 Balatro 游戏后端(2):NestJS框架搭建与项目结构设计
后端·websocket·typescript·node.js·游戏开发·项目实战·nestjs
无所事事O_o5 小时前
二次验证码TOTP 使用说明
后端·二次验证码·谷歌验证器
ltl6 小时前
Multi-Head Attention:为什么要分多个头
后端
UXbot6 小时前
一人独立交付 UI + 前端:AI 驱动 UI 设计工具的五大功能模块深度评测
前端·低代码·ui·设计模式·交互
kobesdu6 小时前
【ROS2实战笔记-19】ROS2 生命周期节点的启动顺序、状态转换陷阱与热备方案
java·前端·笔记·机器人·ros·ros2
诚实可靠王大锤6 小时前
React Native 输入框与按钮焦点冲突解决方案(rn版本0.70.3)
前端·javascript·react native·react.js