培训报名小程序-用户注册

目录

  • 1 创建数据源
  • 2 注册用户
  • 3 判断用户是否注册
  • 4 完整代码
  • 总结

我们的培训报名小程序,用户每次打开时都需要填写个人信息才可以报名,如果用户多次报名课程,每次都需要填写个人信息,比较麻烦。

本篇我们就优化一下功能,打开小程序的时候我们判断用户是否注册,如果已注册就直接提取个人信息,如果未注册就引导用户注册。

1 创建数据源

先创建一个报名人员信息表
在这里插入图片描述
然后创建字段,我们的字段有姓名、性别、身份证、电话、工作单位,为了控制数据权限我们增加一个openid字段
在这里插入图片描述

2 注册用户

数据源建好了之后,我们新建一个用户注册的页面
在这里插入图片描述
在这里插入图片描述
用户注册的话我们使用表单容器来开发,拖入表单容器,数据源选择我们刚刚创建的数据源
在这里插入图片描述
这里要注意,openid需要绑定输入值,绑定为用户登录信息里的openid
在这里插入图片描述
然后切换到样式,影藏组件
在这里插入图片描述
选中表单容器,我们在提交成功之后增加一个返回上一页的事件
在这里插入图片描述

3 判断用户是否注册

如何判断用户是否注册呢?这需要在生命周期函数中做判断,打开应用编辑器,在右下角点击代码编辑器
在这里插入图片描述
在这里插入图片描述
首先呢我们需要获取一下用户的openid,可以从当前的登录对象里获取,先输入如下代码获取用户的登录信息

 var openid ;//存储登录用户的id//获取当前登录用户基本信息await $app.auth.getUserInfo().then(res =>{ openid = res.openId});

获取到信息之后,按照这个登录信息去用户表匹配去

const user = await app.cloud.callModel({name:'bmry_v3qpbaf',methodName:'wedaGetItem',params:{where:[{key:'openid',rel:'eq',val:openid}]}})

然后根据用户信息是否获取到来做路由跳转

if(JSON.stringify(user) === "{}"){app.navigateTo({pageId: 'u_yong_hu_zhu_ce',    // 页面 Id });}else{$app.dataset.state.user = user}

4 完整代码

export default {async onPageLoad(query) {//console.log('---------> LifeCycle onPageLoad', query)var openid ;//存储登录用户的id//获取当前登录用户基本信息await $app.auth.getUserInfo().then(res =>{ openid = res.openId});console.log("openid",openid)const user = await app.cloud.callModel({name:'bmry_v3qpbaf',methodName:'wedaGetItem',params:{where:[{key:'openid',rel:'eq',val:openid}]}})if(JSON.stringify(user) === "{}"){app.navigateTo({pageId: 'u_yong_hu_zhu_ce',    // 页面 Id });}else{$app.dataset.state.user = user}},onPageShow() {//console.log('---------> LifeCycle onPageShow')},onPageReady() {//console.log('---------> LifeCycle onPageReady')},onPageHide() {//console.log('---------> LifeCycle onPageHide')},onPageUnload() {//console.log('---------> LifeCycle onPageUnload')},
}

总结

我们本篇介绍了用户注册以及在首页判断用户是否注册来自动跳转的内容,在开发业务逻辑的时候,需要熟练掌握javascript以及微搭API的用法才可以按照自己的需要实现具体的功能,感兴趣的同学照着教程练习一下吧。

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

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

相关文章

线上售楼vr全景看房成为企业数字化营销工具

在房地产业中,VR全景拍摄为买家提供了虚拟看房的全新体验。买家可以通过相关设备,远程参观各个楼盘的样板间和实景,感受房屋的空间布局和环境氛围,极大地提高了购房决策的准确性。对于房地产开发商和中介机构来说,VR全…

如何搭建个人邮件服务hmailserver并实现远程发送邮件

文章目录 1. 安装hMailServer2. 设置hMailServer3. 客户端安装添加账号4. 测试发送邮件5. 安装cpolar6. 创建公网地址7. 测试远程发送邮件8. 固定连接公网地址9. 测试固定远程地址发送邮件 hMailServer 是一个邮件服务器,通过它我们可以搭建自己的邮件服务,通过cpolar内网映射工…

计算机竞赛 GRU的 电影评论情感分析 - python 深度学习 情感分类

1 前言 🔥学长分享优质竞赛项目,今天要分享的是 🚩 GRU的 电影评论情感分析 - python 深度学习 情感分类 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 这…

代码随想录算法训练营第三十八天 | 理论基础,509. 斐波那契数,70. 爬楼梯,746. 使用最小花费爬楼梯

代码随想录算法训练营第三十八天 | 理论基础,509. 斐波那契数,70. 爬楼梯,746. 使用最小花费爬楼梯 理论基础什么是动态规划动态规划的解题步骤动态规划应该如何debug 509. 斐波那契数递归解法 70. 爬楼梯746. 使用最小花费爬楼梯 理论基础 视…

计蒜客T1170——人民币支付

超级水&#xff0c;不解释&#xff0c;代码的处理方式减低了繁琐程度&#xff0c; #include <iostream> using namespace std;int main(int argc, char** argv) {int num0;cin>>num;int money[6]{100,50,20,10,5,1};for(int i0;i<5;i){int count0;countnum/mone…

C++超基础语法

&#x1f493;博主个人主页:不是笨小孩&#x1f440; ⏩专栏分类:数据结构与算法&#x1f440; C&#x1f440; 刷题专栏&#x1f440; C语言&#x1f440; &#x1f69a;代码仓库:笨小孩的代码库&#x1f440; ⏩社区&#xff1a;不是笨小孩&#x1f440; &#x1f339;欢迎大…

IDEA常用工具配置

IDEA常用工具&配置 如果发现插件市场用不了&#xff0c;可以设置Http Proxy&#xff0c;在该界面上点击”Check connection“并输入的地址&#xff1a;https://plugins.jetbrains.com/ 。 一、常用插件 1、MybatisX Mybaits Plus插件&#xff0c;支持java与xml互转 2、F…

日志系统——日志格式化模块设计

一&#xff0c;模块主要成员 该模块的主要作用是对日志消息进行格式化&#xff0c;将日志消息组织成制定格式的字符串。 该模块主要成员有两个&#xff1a;1.格式化字符串。 2.格式化子项数组 1.1 格式化字符串 格式化字符串的主要功能是保存日志输出的格式字符串。其格式化字…

WPF 界面结构化处理

文章目录 概要一、xaml界面结构化处理二、逻辑树与视觉树 概要 WPF 框架是开源的&#xff0c;但是不能跨平台&#xff0c;可以使用MAUI&#xff0c;这个框架可以跨平台&#xff0c;WPF源码可以在github上下载&#xff0c;下载地址&#xff1a;https://gitbub.com/dotnet/wpf。…

【C++ 记忆站】命名空间

文章目录 命名空间概念命名空间的定义1、正常的命名空间定义2、命名空间可以嵌套3、同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中 命名空间的使用1、加命名空间名称及作用域限定符2、使用using将命名空间中某个成员引入3、使用using namespac…

初试时间官宣!研招网发布下半年重要时间节点!今日速报来了

距24考研初试还有127天&#xff0c;今天给大家带来初试和报名时间官宣消息、考研报名注意事项、研招网发布的2024考研“保姆级”下半年重要时间节点。有用记得收藏 24考研报名和初试时间官宣 已有学校在招生简章中明确24考研初试时间 初试时间预计为&#xff1a;2023年12月23…

初试rabbitmq

rabbitmq的七种模式 Hello word 客户端引入依赖 <!--rabbitmq 依赖客户端--><dependency><groupId>com.rabbitmq</groupId><artifactId>amqp-client</artifactId><version>5.8.0</version></dependency> 生产者 imp…

邀请函|澎峰科技邀您参加CCF HPC China2023

一年一度的全球超算盛会&#xff01; 以“算力互联智领未来”为主题的第十九届全国高性能计算学术年会&#xff08;CCF HPC China 2023&#xff09;将于8月24-26日&#xff08;展览23-25日&#xff09;在青岛红岛国际会议展览中心举办。 九大院士领衔 打造顶级超算盛会 力邀…

《离散数学及其应用(原书第8版)》ISBN978-7-111-63687-8 第11章 11.1.3 树的性质 节 第664页的例9说明

《离散数学及其应用&#xff08;原书第8版&#xff09;》ISBN978-7-111-63687-8 第11章 11.1.3 树的性质 节 第664页的定理3的引申 定理3 带有i个内点的m叉树含有nmi1个顶点 见本人博文 内点定义不同的讨论 如果对于一个m叉正则树&#xff0c;即任意分支节点的儿子恰好有m个&am…

谈谈IP地址和子网掩码的概念及应用

个人主页&#xff1a;insist--个人主页​​​​​​ 本文专栏&#xff1a;网络基础——带你走进网络世界 本专栏会持续更新网络基础知识&#xff0c;希望大家多多支持&#xff0c;让我们一起探索这个神奇而广阔的网络世界。 目录 一、IP地址的概念 二、IP地址的分类 1、A类 …

长胜证券:散户可以随大流吗?怎么做才好?

在我国的股市里边&#xff0c;最不缺的或许便是散户了&#xff0c;一方面&#xff0c;散户促进了股市的活泼&#xff0c;可一方面又特容易望风而动&#xff0c;追涨杀跌。因此&#xff0c;散户能够随大流吗&#xff1f;该怎么做才好&#xff1f;对于这些&#xff0c;长胜证券为…

IntelliJ IDEA热部署:JRebel插件的安装与使用

热部署 概述JRebel 概述 热部署&#xff0c;指修改代码后&#xff0c;无需停止应用程序&#xff0c;即可使修改后的代码生效&#xff0c;其有利于提高开发效率。 热部署方式&#xff1a; 手动热部署&#xff1a;修改代码后&#xff0c;重新编译项目&#xff0c;然后启动应用程…

Springboot项目启动后按顺序加载自定义类 (demo)

1. 实现ApplicationRunner接口, 重写run方法 import lombok.extern.slf4j.Slf4j; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.core.annotation.Order; import org.springframewor…

【C语言】const修饰普通变量和指针

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家了解const修饰普通变量和指针&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 文章目录 一.const修饰普通变量二.const修饰指针1.const 放在 * 左边2.const 放在…

Nacos - 安装指南(Windows系统)

一、下载安装包 Nacos现在虽然已经出到二点几的版本&#xff0c;但二点几版本还处在测试阶段&#xff0c;我们选择下载成熟的 1.4.6 版本 下载地址&#xff1a;Nacos 1.4.6 GitHub的Release下载页 拉到页面最底部&#xff0c;可以看到下载按钮&#xff0c;windows版本使用naco…