家政预约小程序01用户注册

news2024/12/23 23:05:23

目录

  • 1 创建数据源
  • 2 创建应用
  • 3 创建页面
  • 4 用户注册
  • 5 角色选择
  • 6 设置首页
  • 总结

学习低代码的时候,使用官方模板搭建无疑是一个很好的途径。但是低代码工具更新比较频繁,基本每两周就要迭代一个版本。随着官方版本的迭代,官方模板安装好之后会有很多问题,有的是组件已经过时了,有的是语法已经不支持了,运行时候会有很多报错的问题。

我们本次教程就结合官方的家政预约模板,带着大家从0到1一起搭建一下。我们本篇是介绍一下用户注册的功能。

1 创建数据源

用户注册的时候先需要将信息存入数据库中,在微搭中我们通过创建数据源来保存数据。打开控制台,点击数据模型,点击新建
在这里插入图片描述
输入数据源的名称注册用户,标识自动生成
在这里插入图片描述
然后点击添加列,添加字段
在这里插入图片描述
列的创建要根据我们需要的信息进行创建,一般注册用户我们需要采集用户的姓名、昵称、头像、电话这些基本信息,先输入姓名,类型选择文本
在这里插入图片描述
然后再点击当前的列,点击向右插入,输入昵称,类型选择文本
在这里插入图片描述
在这里插入图片描述
按照同样的操作方式,添加头像列,类型选择图片
在这里插入图片描述
继续输入电话字段,类型选择电话
在这里插入图片描述
基本信息录入之后就需要考虑角色的问题,一般使用小程序的人员是区分不同的类型的,比如管理员可以操作所有,客服可以处理订单,工人可以上门服务完成订单,顾客可以发起预约进行评价。

这种不同的人员可以进行不同的操作的,一般在系统设计的时候我们是通过角色来区分。在管理信息系统中角色和权限是一个比较复杂的内容,设计的好不好决定了系统日后的扩展能力。我们这里就涉设计的比较简单,只是通过一个枚举字段来进行区分。

添加一个角色字段,类型选择枚举
在这里插入图片描述
枚举项的值我们通过创建关联选项集来完成,选项分为管理员、客服、工人、顾客四类
在这里插入图片描述
还有就是需要考虑用户注册是否需要审核的问题。通常我们会提供一个管理后台来由管理员进行审核注册的人员信息,我们这里设计一个审核状态的字段,分为待审核、通过、不通过,操作模式和角色相同

在这里插入图片描述
在这里插入图片描述
为了防止恶意用户,我们需要设计一个人员的状态,分为启用和禁用,禁用之后就不允许在小程序上进行操作
在这里插入图片描述
在这里插入图片描述
最后就是考虑数据权限的问题,一般是本人只允许操作本人的数据,小程序的数据权限是通过openid来控制的,openid是微信用户登录之后的唯一标识,我们创建一个openid字段
在这里插入图片描述

2 创建应用

数据源创建好了之后,就可以开发程序了。微搭中程序是用应用来表示的,点击应用点击新建应用,从空白新建
在这里插入图片描述
在这里插入图片描述
创建好应用之后先修改一下应用的名称
在这里插入图片描述

3 创建页面

我们的用户注册需要两个页面,一个是角色引导页,一个是信息注册提交页面。点击创建页面的图标,创建页面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4 用户注册

切换到用户注册页面,添加表单容器组件,数据源选择注册用户,自动生成表单页面
在这里插入图片描述
我们要从角色引导页面传入角色信息,选中页面组件,新建URL参数,输入role
在这里插入图片描述
在这里插入图片描述
选中昵称字段,设置属性,打开从小程序的获取昵称的配置
在这里插入图片描述
选中头像字段,配置属性,打开从小程序端获取头像的配置
在这里插入图片描述
选中角色字段,设置输入值,绑定我们刚才设置的URL参数
在这里插入图片描述
在这里插入图片描述
选中审核状态字段,设置选中值为待审核
在这里插入图片描述
选中用户状态字段,设置选中值为启用
在这里插入图片描述
选中openid字段,设置输入值,从当前登录用户中选中openId信息
在这里插入图片描述
然后切换到样式,将这些系统需要的字段隐藏
在这里插入图片描述
在这里插入图片描述
选中表单容器,我们设置保存成功后返回首页
在这里插入图片描述

5 角色选择

切换到角色选择页面,先放置普通容器,里边添加四个按钮
在这里插入图片描述
选中普通容器,切换到样式,设置布局为纵向排列
在这里插入图片描述
设置按钮有一定的外边距,保持一定的间隔
在这里插入图片描述
给按钮设置事件,设置点击事件,动作选择打开页面,跳转到用户注册页面,角色信息,分配设置为1、2、3、4
在这里插入图片描述
通过传入不同的参数实现角色的选择

6 设置首页

我们在首页通过逻辑来判断用户是否注册,在代码区,点击新建,选择javascript方法
在这里插入图片描述
第一步先获取用户的openid

const openid = await $w.auth.getUserInfo().openId

第二步根据openid去数据源查询

const result = await $w.cloud.callDataSource({
    dataSourceName: "yhgl_2rtx1m9",
    methodName: "wedaGetItemV2",
    params: {
      // 筛选内容,筛选内容推荐使用编辑器数据筛选器生成
      filter: {
        where: {
          $and: [
            {
              openid: {
                $eq: openid, // 获取单条时,推荐传入_id数据标识进行操作
              },
            },
          ],
        },
      },
      select: {
        $master: true, // 常见的配置,返回主表
      },
    },
  });

第三歩根据返回的结果进行页面跳转,如果未注册就跳转到注册页面

if (Object.keys(result).length == 0) {
    $w.utils.navigateTo({
      pageId: "u_jiao_se_xuan_ze", // 页面 Id
      params: { key: "value" },
    });
  }

代码写好之后,设置页面加载时调用我们的自定义方法即可
在这里插入图片描述

总结

我们本篇带着大家实现了一下用户注册以及首页加载时判断用户是否是注册用户的功能,涉及到数据源的搭建,应用的创建,页面的搭建以及业务逻辑的编制过程。低代码搭建既涉及到可视化开发也涉及到代码编写,所以需要熟悉工具和开发语言才可以按照需要编制出自己想要的应用来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1695849.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

联想端游联运SDK接入指南

1. 接入流程 本文档主要介绍了 联想PC游戏SDK接入流程、联想游戏提供的功能、接入注意事项等。 1.1. 接入方式 1. 联想游戏SDK2.1版本支持“账号防沉迷支付”接入方式; a. 联想提供账号注册、登录等能力 b. 联想提供防沉迷服务 c. 联想提供游戏内支付 1.2. 对…

使用LoRA进行高效微调:基本原理

Using LoRA for efficient fine-tuning: Fundamental principles — ROCm Blogs (amd.com) [2106.09685] LoRA: Low-Rank Adaptation of Large Language Models (arxiv.org) Parametrizations Tutorial — PyTorch Tutorials 2.3.0cu121 documentation 大型语言模型&#xf…

Boyer-Moore投票算法

摩尔投票法,又称为博耶-摩尔多数投票算法,是一种用于在一组数据中寻找多数元素(出现次数超过一半的元素)的算法。该算法的效率非常高,时间复杂度为O(n),空间复杂度为O(1),适合处理大数据量的情况。 步骤 首先定义两个…

JSONP原理及应用实例

JSONP是什么 JSONP&#xff08;JSON with Padding&#xff09;是一种跨域数据请求技术&#xff0c;它允许网页在不受同源策略限制的情况下从其他域中请求数据。JSONP的原理是利用 <script> 标签的跨域特性&#xff0c;通过 <script> 标签&#xff0c;指向包含 JSO…

通过继承React.Component创建React组件-5

在React中&#xff0c;V16版本之前有三种方式创建组件&#xff08;createClass() 被删除了)&#xff0c;之后只有两种方式创建组件。这两种方式的组件创建方式效果基本相同&#xff0c;但还是有一些区别&#xff0c;这两种方法在体如下&#xff1a; 本节先了解下用extnds Reac…

vue+elemntui 加减表单框功能样式

<el-form ref"form" :model"form" :rules"rules" label-width"80px"><el-form-item label"配置时间" prop"currentAllocationDate"><div v-for"(item,key) in timeList"><el-date…

ROCm上来自Transformers的双向编码器表示(BERT)

14.8. 来自Transformers的双向编码器表示&#xff08;BERT&#xff09; — 动手学深度学习 2.0.0 documentation (d2l.ai) 代码 import torch from torch import nn from d2l import torch as d2l#save def get_tokens_and_segments(tokens_a, tokens_bNone):""&qu…

Cortex-M3的SysTick 定时器

目录 概述 1 SysTick 定时器 1.1 SysTick 定时器功能介绍 1.2 SysTick 定时器功能实现 1.3 SysTick在系统中的作用 2 SysTick应用的实例 2.1 建立异常服务例程 2.2 使能异常 2.3 闹钟功能 2.4 重定位向量表 2.5 消灭二次触发 3 SysTick在FreeRTOS中的应用 3.1 STM…

(完全解决)Python字典dict如何由键key索引转化为点.dot索引

文章目录 背景解决方案基础版升级版 背景 For example, instead of writing mydict[‘val’], I’d like to write mydict.val. 解决方案 基础版 I’ve always kept this around in a util file. You can use it as a mixin on your own classes too. class dotdict(dict)…

如何进行异地多地兼容组网设置?

跨地区工作、远程办公和异地合作已成为常态。由于网络限制和安全性要求&#xff0c;远程连接仍然是一个具有挑战性的问题。为了解决这一难题&#xff0c;各行各业都在寻找一种能在异地多地兼容的组网设置方案。本文将着重介绍基于【天联】的组网解决方案&#xff0c;探讨其操作…

SpringBoot——整合Thymeleaf模板

目录 模板引擎 新建一个SpringBoot项目 pom.xml application.properties Book BookController bookList.html ​编辑 项目总结 模板引擎 模板引擎是为了用户界面与业务数据分离而产生的&#xff0c;可以生成特定格式的页面在Java中&#xff0c;主要的模板引擎有JSP&…

如何评价刘强东说“业绩不好的人不是我兄弟”

在近日的一次京东管理层会议上&#xff0c;创始人刘强东以不容置疑的口吻表明了对公司文化的坚定态度&#xff1a;“凡是长期业绩不好&#xff0c;从来不拼搏的人&#xff0c;不是我的兄弟。”这句话不仅是对那些工作表现不佳的员工的直接警告&#xff0c;也透露出京东在追求业…

C++语法|多重继承详解(一)|理解虚基类和虚继承

系列汇总讲解&#xff0c;请移步&#xff1a; C语法&#xff5c;虚函数与多态详细讲解系列&#xff08;包含多重继承内容&#xff09; 虚基类是多重继承知识上的铺垫。 首先我们需要明确抽象类和虚基类的区别&#xff1a; 抽象类&#xff1a;有纯虚函数的类 虚基类是什么呢&a…

阿里云的域名购买和备案(一)

前言 本篇文章主要讲阿里云的域名购买和备案。 大家好&#xff0c;我是小荣&#xff0c;我又开始做自己的产品迷途dev了。这里详细记录一下域名购买的流程和备案流程。视频教学 购买流程 1.阿里云官网搜索域名注册 2.搜索你想注册的域名 3.将想要注册的域名加入域名清单 4.点…

[Linux]网络原理与配置

一.NAT模式网路配置 虚拟系统的IP地址处于随机网段&#xff0c;同时在母机上会额外有一个与虚拟IP地址网段相同的IP地址&#xff0c;可以实现母机与虚拟机的通信。虚拟系统的IP地址可以通过主机实际的IP地址作为代理IP&#xff0c;与外部系统进行通信。 优点&#xff1a;不造…

2024.05.25学习记录

1、面经复习&#xff1a; JS异步进阶、vue-react-diff、vue-router模式、requestldleCallback、React Fiber 2、代码随想录刷题、动态规划 3、组件库使用storybook

【C++】牛客——JZ38 字符串的排列

✨题目链接&#xff1a; JZ38 字符串的排列 ✨题目描述 输入一个长度为 n 字符串&#xff0c;打印出该字符串中字符的所有排列&#xff0c;你可以以任意顺序返回这个字符串数组。 例如输入字符串ABC,则输出由字符A,B,C所能排列出来的所有字符串ABC,ACB,BAC,BCA,CBA和CAB。 数…

结合时间复杂度浅谈二分法的好处(将持续更新,绝对值你一个收藏)

前言 笔者虽然刷的算法题不多,但是笔者也敢说,二分法真的是一种很优越的算法,使用上限极高的那种,正因如此,笔者才想浅谈一下二分法. 封面是我很喜欢的一个游戏角色,不知道有没有老gal玩家知道! 什么是二分法? 枚举查找即顺序查找&#xff0c;实现原理是逐个比较数组 a[0:…

【C++】详解二叉搜索树

目录 树概述 二叉搜索树概述 概念 特性 元素操作 插入 删除 模拟实现 框架 查找 插入 删除 树概述 树——在计算机中是一种很常见的数据结构。 树是一种很强大的数据结构&#xff0c;数据库&#xff0c;linux操作系统管理和windows操作系统管理所有文件的结构就是…

【基础详解】快速入门入门 SQLite数据可

简介 SQLite 是一个开源的嵌入式关系数据库&#xff0c;实现了自给自足的、无服务器的、配置无需的、事务性的 SQL 数据库引擎。它是一个零配置的数据库&#xff0c;这意味着与其他数据库系统不同&#xff0c;比如 MySQL、PostgreSQL 等&#xff0c;SQLite 不需要在系统中设置…