微信小程序登录注册--python搭建后端

article/2025/10/24 2:42:11

这个程序不连数据库,所以一旦python程序重启前面的注册就没用了

这个程序不连数据库,所以一旦python程序重启前面的注册就没用了

这个程序不连数据库,所以一旦python程序重启前面的注册就没用了

这里无脑简单介绍一下这个low到爆炸的小程序(额。。因为当时无脑在练习python的正则的后来不知怎么就写到这里了,这里给读者一个心里暗示:本人尚未接受算法教学,所以内部代码极度的low,如果有大神有好的代码练习请带带无脑)

好了话不多说直接上代码:

先是微信小程序:

//登录界面// index.js
Page({/*** 页面的初始数据*/data: {account:"",//账号password:"",//密码inputtext:"",//清空input内容res:false,//判断账号密码是否正确 true->可以登录;false->不能登录;},//函数--获取账号gettext:function(e){this.setData({account:e.detail.value})},// 函数--获取密码getpassword:function(e){this.setData({password:e.detail.value})},// 函数--将获取的账号和密码交给后端对比submitTp:function(){wx.request({url: 'http://127.0.0.1:8001/models/denglu',data:{account:this.data.account,password:this.data.password},header: {'content-type': 'application/json' // 默认值},success:(res)=>{console.log(res)this.setData({res:res.data.res})if(this.data.res==false){wx.showToast({title: '登录失败',icon:'error',duration:500,mask:true,image:"/对方错了.jpg"})}else{this.setData({password:""})wx.navigateTo({url: '/pages/account/account',//跳转到用户界面额。。。因为只是为了实现注册和登录无脑并没有把account界面录入进来})}}})this.setData({inputtext:""})},// 函数--跳转注册页面toRegister:function(){wx.navigateTo({url: '/pages/register/register',})},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {},/*** 生命周期函数--监听页面初次渲染完成*/onReady: function () {},/*** 生命周期函数--监听页面显示*/onShow: function () {},/*** 生命周期函数--监听页面隐藏*/onHide: function () {},/*** 生命周期函数--监听页面卸载*/onUnload: function () {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {},/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {},/*** 用户点击右上角分享*/onShareAppMessage: function () {}
})<!--index.wxml-->
<view class="container"><view id='id1' class="text"><text>账号:</text><input placeholder="请输入账号" bindinput="gettext" /></view><view id='id1' class="passworld"><text>密码:</text><input placeholder="请输入密码" password="true" bindinput="getpassword" value="{{ inputtext}}"/></view><button bindtap="submitTp">登录</button><button bindtap="toRegister">注册</button>
</view>/**index.wxss**/
.container{display: flex;flex-direction: column;
}
#id1{display: flex;flex-direction: row;align-items: center;
}
input{border: 1rpx solid #225588;margin: 20rpx 100rpx;border-radius: 20rpx;
}
button{background-color: darkgray;margin: 20rpx;
}

//注册界面// pages/register/register.js
Page({/*** 页面的初始数据*/data: {account:"",password:"",e_mail:"",flag:"",//判断是否注册成功},// 函数--获取accountgetAccount:function(e){this.setData({account:e.detail.value})},// 函数--获取passwordgetPassword:function(e){this.setData({password:e.detail.value})},// 函数--获取e-mailgetE_mail:function(e){this.setData({e_mail:e.detail.value})},// 函数--提交注册信息submit_Information:function(){wx.request({url: 'http://127.0.0.1:8000/model/zhuce',data:{account:this.data.account,password:this.data.password,email:this.data.e_mail},header: {'content-type': 'application/json' // 默认值},success:(res)=>{console.log(res.data.res)let res1=res.data.resif(res1==false){wx.showToast({title: '邮箱有误或是账号已存在',})}else{wx.showToast({title: '注册成功',})}}})},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {},/*** 生命周期函数--监听页面初次渲染完成*/onReady: function () {},/*** 生命周期函数--监听页面显示*/onShow: function () {},/*** 生命周期函数--监听页面隐藏*/onHide: function () {},/*** 生命周期函数--监听页面卸载*/onUnload: function () {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {},/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {},/*** 用户点击右上角分享*/onShareAppMessage: function () {}
})<!--pages/register/register.wxml-->
<view class="register"><view class="box1"><text>账号:</text><input placeholder="请输入用户名" bindinput="getAccount" /><text>密码:</text><input password="true"  placeholder="请输入密码" bindinput="getPassword"/><text>邮箱:</text><input placeholder="请输入邮箱" bindinput="getE_mail"/></view><button bindtap="submit_Information">提交</button>
</view>/* pages/register/register.wxss */
.box1{display: flex;flex-direction: row;align-items: center;flex-wrap: wrap;
}
.box1 text{margin: 20rpx 30rpx;
}
.box1 input{border: 1rpx solid #c9acac;border-radius: 20rpx;
}
button{margin-top: 20rpx;background-color: darkgrey;
}

算了,考虑到无脑每次找别人代码时经常缺斤少两导致重新跑不起来这里把app的代码也带入吧

 // app.json

{"pages": ["pages/index/index","pages/account/account","pages/register/register"],"window": {"backgroundTextStyle": "light","navigationBarBackgroundColor": "#fff","navigationBarTitleText": "Weixin","navigationBarTextStyle": "black"},"style": "v2","sitemapLocation": "sitemap.json"
}

js和css无脑没改(直接删干净)

这是其中要的一张图 

python的代码:

#登录的后端
# _*_ coding:utf-8 _*_
# @time     :2022/4/6 9:47
# @file     :text/wx-dl-后端.py
# @IDE      :PyCharm
# @Author   :zfrom fastapi import FastAPI
import uvicorn
import requests as rq
import reapp = FastAPI()@app.get('/models/denglu')
def say_hello(account: str, password: str):flag = Falseflag = determine_password(account, password)return { "res": flag}def determine_password(account, password):''':param account: 登录的账号:param password: 登录的密码:return: 如果匹配:True;如果不匹配:False;'''f = open('dir12.txt', 'r')str_txt = f.read()dict_txt = eval(str_txt)if account in dict_txt:if password == dict_txt[account]:return Trueelse:return Falseelse:return Falseif __name__ == '__main__':# 我的文件名为wx-dl-后端,所以下面的参数app = ‘wx-dl-后端:app’uvicorn.run(app='wx-dl-后端:app', host="127.0.0.1", port=8001, reload=True, debug=True)
#注册的后端
# _*_ coding:utf-8 _*_
# @time     :2022/4/6 13:05
# @file     :text/wx-zc-后端.py
# @IDE      :PyCharm
# @Author   :zfrom fastapi import FastAPI
import uvicornapp = FastAPI()
dir1_str = {}@app.get('/model/zhuce')
def say_hello(account: str, password: str, email: str):global dir1_strflag = Trueif email.find('@') == -1 or not email.endswith(".com"):flag = Falseelse:f_r = open('dir12.txt', 'r')  # 打开账号文件用于读txt_str = f_r.read()  # 读取账号信息f_r.close()f_w = open('dir12.txt', 'w')  # 打开账号文件用于写  !!!!切记此行代码必须在f_r读取关闭的后面不然会清空原文件!!!!if len(txt_str) != 0:dir1_str = eval(txt_str)  # 内容转字典if exist_account(dir1_str, account):  # 判断账号是否被注册dir1_str[account] = password  # 存入字典f_w.write(str(dir1_str))f_w.close()else:f_w.write(str(dir1_str))f_w.close()flag = Falsereturn {"res": flag}def exist_account(mydir, account):''':param mydir: 字典参数:param account: 注册的账号:return: 存在:false ;不存在:True'''if account in mydir:return Falseelse:return Trueif __name__ == '__main__':# 我的文件名为wx-zc-后端,所以下面的参数app = ‘wx-zc-后端:app’uvicorn.run(app='wx-zc-后端:app', host="127.0.0.1", port=8000, reload=True, debug=True)


http://chatgpt.dhexx.cn/article/rUrD7ZCa.shtml

相关文章

微信小程序入门04-后端脚手架搭建

我们上一篇已经介绍了权限系统的库表搭建&#xff0c;光有表还是不够的&#xff0c;我们还需要有一个后台系统和数据库进行交互。搭建后台的时候既需要选择使用什么语言&#xff0c;也需要选择框架。 框架分为前端框架和后端框架。在第一篇微信开发者工具搭建的时候我们其实前…

基于node搭建前端服务器,nodejs做微信小程序后端

利用小程序进行云开发必须安装node.js吗 任何一种后台开发语言都是可以的&#xff0c;只要它能够接收到小程序发出的请求&#xff0c;并且能够按照小程序指定的格式&#xff08;通常就是json&#xff09;返回数据给小程序就行。 但是&#xff0c;小程序官方专门为和php制作了…

微信小程序后台服务怎么搭建

小程序是目前最大的流量风口&#xff0c;与APP不同的是小程序的便捷&#xff0c;也就是小程序的核心竞争力与理念&#xff0c;不过小程序和APP的相同点都是属于应用&#xff0c;因此需要后台服务的支持&#xff0c;微信小程序的后台搭建常用到腾讯云&#xff0c;包括云数据库与…

3.1【微信小程序全栈开发课程】在本地搭建后端开发环境

第二章将前端页面的框架基本搭建好了&#xff0c;第三章&#xff0c;我们来做登录功能&#xff0c;登录功能需要在后端获取到用户信息&#xff0c;返回到前端。所以先来搭建后端开发环境 1、后端开发环境介绍 我们的项目用的是前后端分离开发 前端可以理解为微信端&#xff…

微信小程序如何搭建自己的后台(超详细,超完整)(上线必备)!!!

首先&#xff0c;今天是个特殊的日子&#xff0c;请让我先说上一句&#xff1a;幸运女神在微笑 思路 ①&#xff1a;首先我们需要拥有自己的 AppID &#xff08;有点废话了&#xff09;。 ②&#xff1a;我们需要有一个后台&#xff0c;即服务器。域名&#xff08;需备案&am…

人工智能(搜索策略)

有信息搜索(Informed Search)&#xff1a; 1. 又称为启发式搜索(Heuristic Search) 2. 搜索过程中利用与问题有关的经验信息 3. 引入估计函数(evaluation function)来估计节点位于解路径上的“希望”&#xff0c;函数值越小“希望”越大 4. 搜索过程中按照估价函数的大小对…

人工智能-搜索----启发式搜索

搜索算法的形式化描述&#xff1a; <状态state、动作motion、状态转移state transition、路径path、测试目标test target> 一、启发式搜索(有信息搜索)&#xff08;Heuristic Search&#xff09; 代表算法&#xff1a;贪婪最佳优先搜索&#xff08;Greedy best-first…

NeevaAI人工智能搜索引擎来了

***ChatGPT 无法为您提供实时数据或事实验证&#xff0c;而NeevaAI可以** 概述 无跟踪。没有偏见。搜索不受企业影响-这是Neeva的标语。Neeva是一款订阅制搜索引擎&#xff0c;是一款很小众的的搜索引擎&#xff0c;由前Google高管Sridhar Ramaswamy创立。Neeva的目标是为用户…

人工智能之搜索方法

人工智能之搜索方法 人工智能课程复习笔记专题 人工智能绪论 人工智能之知识表示 人工智能之搜索方法 人工智能之经典逻辑推理 人工智能之专家系统 人工智能之不确定推理方法 人工智能之机器学习 一、搜索的基本概念 1、搜索的含义 根据问题实际情况&#xff0c;不…

智能搜索引擎 | 驱动电商业务增长实践

开放搜索是阿里集团搜索业务中台&#xff0c;基于大数据深度学习在线服务体系打造的智能搜索云服务产品。拥有核心引擎、召回排序、搜索引导、充分开放等核心能力&#xff0c;可应用在电商行业、教育行业、内容行业等场景。目前帮助数千家客户搭建自己的搜索业务。 实践案例&a…

搜索。。。

1、mysql的like具有局限性 # 体现在功能不全&#xff0c;性能低。不适用于全文搜索&#xff08;日志或简历中搜索字段&#xff09;、没有相关性搜索排名等等 select name from goods WHERE name LIKE "%苹果%"2、试试elasticsearch 搜索 1、解决mysql like 的短板 …

人工智能——图搜索

一&#xff0e;数据驱动和目标驱动搜索 以下情况建议使用目标驱动搜索&#xff1a; &#xff08;1&#xff09;目标或假设是在问题陈述中给出的。例如定理的证明&#xff0c;目标就是定理。 &#xff08;2&#xff09;与问题数据匹配的规则非常多&#xff0c;会产生大量分支…

人工智能搜索策略:A*算法

人工智能搜索策略&#xff1a;A*算法 目录 人工智能搜索策略&#xff1a;A*算法A算法1.全局择优搜索2.局部择优搜索 A*算法1. A*算法的可纳性2. A*算法的最优性3. h(n)的单调限制A* 算法应用举例对A*算法的一点思考熟练掌握A*算法的性质A*算法的性质A*算法的最优性h(n)的单调限…

智能搜索框

html部分 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, i…

Artificial Intelligence 人工智能 AI search AI 搜索

文章目录 前言一、Uninformed Search (无信息搜索&#xff09;二、Data structure for search tree三、Breadth-first search (广度优先搜索)1. Pseudocode for a BFS 四、Depth-first search (深度优先搜索)1. Pseudocode for a DFS 五、Measuring performance六、BFS和DFS时间…

搜索技术——群智能

如果有兴趣了解更多相关内容&#xff0c;欢迎来我的个人网站看看&#xff1a;瞳孔空间 一&#xff1a;初识群智能 1.1&#xff1a;粒子群算法 粒子群算法&#xff0c;也称粒子群优化算法或鸟群觅食算法&#xff08;Particle Swarm Optimization&#xff09;&#xff0c;缩写…

人工智能之搜索算法

通过搜索来解决问题 文章目录 通过搜索来解决问题1. 什么是算法?2. 什么是搜索?3. 搜索算法3.1 如何做路径规划?3.2 搜索过程3.3 通用搜索算法3.4 盲目的搜索算法3.4.1 深度优先遍历(Deep First Search)3.4.2 广度优先遍历(BFS)3.4.3 Dijkstra 算法3.5 启发式搜索算法(有信息…

人工智能:搜索策略

一、无信息的搜索策略 1.宽度优先搜索 2.一致代价搜索 当每一步的行动代价都相等时宽度优先搜索是最优的,因为它总是先扩展深度最浅的未扩展结点。 一致代价搜索( uniform-cost search)扩展的是路径消耗(gn)最小的结点n。这可以通过将边缘结点集组织成按g值排序的队列来实现…

人工智能中的搜索

最近在mooc学习人工智能&#xff1a;模型于算法&#xff0c;下面记录课上的例子和学到的东西。 首先&#xff0c;人工智能搜索是从海量的信息源中通过约束条件和额外信息运用算法找到问题所对应的答案。 正所谓&#xff0c;你见&#xff0c;或者不见我&#xff0c;我就在那里不…

人工智能——搜索技术

转载&#xff1a;https://blog.csdn.net/Sun7_She/article/details/40344329 AI-3的80~84不懂 A*算法不懂 引言&#xff1a; 什么是搜索&#xff1a; 根据问题的实际情况不断寻找可利用的知识&#xff0c;构造出一条代价较少的推理路线&#xff0c;使问题得到圆满的解决的过程称…