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

相关推荐
卡兰芙的微笑7 分钟前
get_property --Cmakelist之中
前端·数据库·编辑器
覆水难收呀9 分钟前
三、(JS)JS中常见的表单事件
开发语言·前端·javascript
猿来如此呀17 分钟前
运行npm install 时,卡在sill idealTree buildDeps没有反应
前端·npm·node.js
andrew_121921 分钟前
腾讯 IEG 游戏前沿技术 二面复盘
后端·sql·面试
hw_happy22 分钟前
解决 npm ERR! node-sass 和 gyp ERR! node-gyp 报错问题
前端·npm·sass
FHKHH27 分钟前
计算机网络第二章:作业 1: Web 服务器
服务器·前端·计算机网络
Lill_bin32 分钟前
JVM内部结构解析
jvm·后端·spring cloud·微服务·云原生·ribbon
视觉小鸟1 小时前
【JVM安装MinIO】
前端·jvm·chrome
evanYang_1 小时前
Spring Boot配置文件敏感信息加密
spring boot·后端·oracle
二川bro1 小时前
【已解决】Uncaught RangeError: Maximum depth reached
前端