入门项目 A5-3 interface-user 第三方接口3
'''
用户接口层
'''
# 导入数据库包下面的处理数据模,为了使用其内部名称空间
from db import db_handler
# 注册接口函数,接收名字与密码两个参数
def register_interface(name, pwd, balance=15000):
user_dic = db_handler.select(name) # 用户信息字典 == 数据库包 里面的 查找用户名是否存在得返回值
# 返回值(不返回则返回了(没有设置返回值),存在则返回用户信息字典)
if user_dic: # 如果返回了字典说明用户名在之前已经被注册
return False, '用户已存在' # 返回给外界两个值(错误,用户已存在)
# 以上条件没有成立,说明用户信息不存在,用户的注册名没有被别人注册,可以执行下面代码,将用户信息写入
user_dic = { # 定义用户信息字典
'name': name, 'pwd': pwd, 'balance': balance, 'flow': [], 'shopping_cart': {}
# 用户名[k]:姓名,
# 用户密码[k]:密码,
# 用户流水[K]:空列表后续添加信息,
# 购物车[k]:空字典后续添加用户选择商品信息
}
db_handler.save(user_dic)
# 调用数据包里面的数据库模下面的保存字典函数,并传入已经处理好的用户信息字典
return True, '注册成功!' # (True,'注册成功!')此处return向外界返回了两个值,布尔值True 和 字符串‘注册成功’
# 登陆接口功能函数,接收名字与密码两个参数
def login_interface(name, pwd):
user_dic = db_handler.select(name) # 调用数据库的select函数功能查找用户是否存在
# user_dic 接收返回 (用户信息字典/None)
if not user_dic: # if not None = if True ,执行内部代码
return False, '用户不存在!' # 返回 错误,用户不存在,此处的False是为了给前端flag两种回复方案
if pwd == user_dic['pwd']: # 如果输入的密码等于用户信息字典中密码K的值
return True, '登陆成功!' # 返回True,登陆成功
else:
return False, '密码错误!' # 返回False,密码错误
# 查看用户余额接口
def check_balance_interface(name):
# 用户信息/None
user_dic = db_handler.select(name)
if not user_dic['balance']:
return '请充值..'
return user_dic['balance']
# 注销功能
def logout_interface():
from core import src
src.user_info['name'] = None
return '注销成功'
入门项目 A5-3 interface-user 第三方接口3的更多相关文章
- JavaSE入门学习21:Java面向对象之接口(interface)(二)
一接口实现的多态 在上一篇博文:JavaSE入门学习20:Java面向对象之接口(interface)(一)中提到了接口的实现存在多态性,那么 这一篇主要就要分析接口实现的多态. 实例一 Test.j ...
- android 学习随笔二十七(JNI:Java Native Interface,JAVA原生接口 )
JNI(Java Native Interface,JAVA原生接口) 使用JNI可以使Java代码和其他语言写的代码(如C/C++代码)进行交互. 问:为什么要进行交互? 首先,Java语言提供的类 ...
- Java Web系统经常使用的第三方接口
1. Web Service 接口 1.1 接口方式说明和长处 在笔者的开发生涯中,当作为接口提供商给第三方提供接口时,以及作为client去调用第三方提供的接口时,大部分时候都是使用 Web Se ...
- Java Web系统常用的第三方接口
1. Web Service 接口 1.1 接口方式说明和优点 在笔者的开发生涯中,当作为接口提供商给第三方提供接口时,以及作为客户端去调用第三方提供的接口时,大部分时候都是使用 Web Se ...
- 使用HttpClient调用第三方接口
最近项目中需要调用第三方的Http接口,这里我用到了HttpClient. 首先我们要搞明白第三方接口中需要我们传递哪些参数.数据,搞明白参数以后我们就可以使用HttpClient调用接口了. 1.调 ...
- SpringMVC 结合HttpClient调用第三方接口实现
使用HttpClient 依赖jar包 1:commons-httpclient-3.0.jar 2:commons-logging-1.1.1.jar 3:commons-codec-1.6.jar ...
- 30分钟入门Java8之默认方法和静态接口方法
30分钟入门Java8之默认方法和静态接口方法 前言 上一篇文章30分钟入门Java8之lambda表达式,我们学习了lambda表达式.现在继续Java8新语言特性的学习,今天,我们要学习的是默认方 ...
- 根据ip地址从第三方接口获取详细的地理位置
最近项目某个功能需要根据ip地址从第三方接口获取详细的地理位置,从网上找了很多例子,主要接口有新浪的,淘宝的,腾讯的.试了淘宝的,如果是数量级小的还可以,如果数量级达到上十万级就速度慢了,会导致系统崩 ...
- ASP.NET和支付宝合作开发第三方接口的注意事项
最近公司和支付宝合作开发第三方接口的项目,这里把过程中需要注意的地方说明一下: 前提:一般来说单个银行不接收个人或私企开通支付接口.因此,和第三方支付公司合作,签订合约开放接口就是通行的做法. 流程: ...
- 调用支付宝第三方接口(沙箱环境) SpringMVC+Maven
一.蚂蚁金服开放平台的操作 网址:https://open.alipay.com/platform/home.htm 支付宝扫码登陆
随机推荐
- java之高效操作文件
代码: import java.io.IOException; import java.nio.file.FileVisitOption; import java.nio.file.FileVisit ...
- nginx-相关功能分析 第四章
# Nginx服务器的rewrite.全局变量.重定向和防盗链相关功能 一:Nginx 后端服务器组的配置: 1.upstream: 用于定义可由proxy_pass,fastcgi_pass,uws ...
- [pytorch修改]npyio.py 实现在标签中使用两种delimiter分割文件的行
from __future__ import division, absolute_import, print_function import io import sys import os impo ...
- ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
centos7.5 使用into outfile备份失败 问题: mysql> select * from world.city into outfile '/tmp/world_city.da ...
- mybatis插入数据并返回主键(oracle)
通常我们执行一个inser语句,即使有返回,也只是会返回影响了多少条数据 @insert("insert into t_user (id,name) values (suser.nextva ...
- Windows下Python安装numpy+mkl,Scipy和statsmodels
最近做时间序列分析需要用到Python中的statsmodels,但是安装过程中遇到很头疼的问题,Google.Stackover各种都没有找到合适的解决办法,而且貌似还有很多同学也在吐槽Window ...
- Hi3519v101 SDK安装及升级
安装SDK 1.解压tgz压缩包 将 Hi3519V101_SDK_Vx.x.x.x.tgz 压缩包放入共享文件夹中,并解压到Linux内部如 /sdk 目录下,因为在共享目录中编译容易出现各种错误. ...
- sqlserver 判断字符串是否是数字
https://www.cnblogs.com/zjfblog/p/5625202.html sql2005有个函数ISNUMERIC(expression)函数:当expression为数字时,返回 ...
- C++字节对齐汇总
一.什么是字节对齐 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数 ...
- Hadoop EC 踩坑 :data block 缺失导致的 HDFS 传输速率下降
环境:hadoop-3.0.2 + 11 机集群 + RS-6-3-1024K 的EC策略 状况:某天,往 HDFS 上日常 put 业务数据时,发现传输速率严重下降 分析: 检查集群发现,在之前的传 ...