"""import osimport jsonfrom datetime import datetime

USER_STATUS = FalseUSER_COUNT = {}SHOPPING_CAR = {}

def decorate(arg):

    def inner():        if not USER_STATUS:            print('请先登陆后再查看!')            return        arg()        return

    return inner

def register():    while 1:        username = input('注册用户名:')        with open('8login.txt', 'r', encoding='utf-8') as f:            register1 = True            for line in f:                if line.split('----')[0].strip() == username:                    register1 = False                    print('帐户已存在!')                    break            if not register1:                break        pwd = input('密码:')        sj = datetime.now().strftime('%Y-%m-%d %H:%M:%S')        msg = '----'.join([username, pwd, sj, '0'])        with open('8login.txt', 'a', encoding='utf-8') as f:            f.write(msg + '\n')        print('注册成功!')        return

def login():    while 1:        username = input('用户名:')        with open('8login.txt', 'r', encoding='utf-8') as f:            status = False            for line in f:                if line.split('----')[0] == username:                    if line.split('----')[-1].strip() == '3':                        print('帐户已锁定!')                        return                    status = True                    break

            if not status:                print('用户不存在!')                return        pwd = input('密码:')        with open('8login.txt', 'r', encoding='utf-8') as f:            for line in f:                if line.split('----')[0] == username and line.split('----')[1] == pwd:                    USER_COUNT[username] = 0                    print('登陆成功')                    global USER_STATUS                    USER_STATUS = username                    return        if USER_COUNT.get(username) == None:            USER_COUNT[username] = 0        if USER_COUNT[username] < 3:            USER_COUNT[username] += 1            if not USER_COUNT[username] < 3:                with open('8login.txt', 'r', encoding='utf-8') as f1, \                        open('8login(改).txt', 'w', encoding='utf-8') as f2:                    for line in f1:                        if line.split('----')[0] == username:                            new_line = line.replace('0', '3')                            f2.write(new_line)                        else:                            f2.write(line)                os.remove('8login.txt')                os.rename('8login(改).txt', '8login.txt')                print('输入错误超过3次,锁定账号!')                return            print('登录失败请重试!')

@decoratedef goods():    f = open('8商品列表', 'r', encoding='utf-8')    a = f.read()    lst = a.split('\n')    max_page, end = divmod(len(lst), 3)  # 最大页,最后一页条数(总条数,每页条数)    if end > 0:        max_page += 1    x, y, z = 0, 3, 1    while 1:        if y > len(lst):            y = len(lst)        for i in range(x, y):            print(lst[i])        print('当前第%s页,共%s页.' % (z, max_page))        user = input('请输入序号加入到购物车,Y/y进入下一页,N/n退出:')        if user.upper() == 'N':            return '已退出'        elif user.upper() == 'Y':            x += 3            y += 3            z += 1            if y == len(lst) + 3:                x, y, z = 0, 3, 1            continue        elif user.isdigit():            pand = False            f = open('8商品列表', 'r', encoding='utf-8')            for line in f:                cut = line.split('|')                if user == cut[0]:                    pand = True                    if SHOPPING_CAR.get(cut[1]) == None:                        SHOPPING_CAR[cut[1]] = 0                    break            if not pand:                print('输入错误!')                continue            while 1:                count = input('请选择数量:')                if not count.isdigit():                    print('请输入阿拉伯数字!')                    continue                SHOPPING_CAR[cut[1]] += int(count)                date = datetime.now().strftime('%Y-%m-%d-%H-%M')                global USER_STATUS                dir_path = os.path.exists('shopping_car\\%s' % USER_STATUS)                if not dir_path:                    os.mkdir('shopping_car\\%s' % USER_STATUS)                with open("shopping_car\\%s\\%s.txt" % (USER_STATUS, date), 'w', encoding='utf-8') as f:                    up = json.dumps(SHOPPING_CAR, ensure_ascii=False)                    f.write(up)                    break

            print('已添加进购物车!')            print(SHOPPING_CAR)

        else:            print('输入有误!')

@decoratedef shopping_car():    if not os.path.exists('shopping_car\\%s' % USER_STATUS):        print('您的购物车是空的,快去购买吧!')        return    content = os.walk('shopping_car\\%s' % USER_STATUS)    for a, b, c in content:        for x in c:            print(x)            f = open('shopping_car\\%s\\%s' % (USER_STATUS, x), 'r', encoding='utf-8')            for line in f:                a = json.loads(line)                for item in a:                    f = open('8商品列表', 'r', encoding='utf-8')                    ls = f.read().split('\n')                    for lm in ls:                        if lm.split('|')[1] == item:                            price = lm.split('|')[2]                    print('    %s|%s|%s个' % (item,price , a[item]))

    return

def main():    '''    主页面    :return:    '''    dic = {'1': register, '2': login, '3': goods, '4': shopping_car}    while 1:        print('''*****欢迎来到沙河商城!*****1.注册帐户2.登陆帐户3.浏览商品4.查看购物车''')        a = input('请选择(N/n退出):')        if a.upper() == 'N':            return        if dic.get(a) == None:            print('输入有误!')            continue        dic.get(a)()

main()"""

转载于:https://www.cnblogs.com/zjx1/p/10745468.html

商城系统:包含用户注册/用户登陆/商品浏览/我的购物车功能.相关推荐

  1. springboot后台怎么获取前端传过来的excel_开源商城系统包含后台管理和手机端

    此开源项目是一个基于Spring Boot和Vue.js的web商城系统 包含了商城的后台管理系统 提供了手机端的商城系统 小程序版开发中 app版(基于Flutter)开发中 功能模块 包含了后台管 ...

  2. 积分兑换商城系统怎么提高用户活跃度

    积分兑换商城系统在互联网中,是提高用户活跃度的重要渠道,利用积分的价值和人气商品来吸引用户购物消费,活跃用户,提高销量.积分兑换商城系统怎么提高用户活跃度呢? 一.对消费群体进行了解 对消费群体的爱好 ...

  3. 微服务商城系统 实战记录 用户、商家、后台管理员注册与登录功能实现

    代码见 https://github.com/betterGa/ChangGou 文章目录 一.用户注册 1.使用 ajax (POST 方法) 2.使用 thymeleaf 3.解决跨域问题 二.用 ...

  4. 小程序商城系统CRMEB Pro v1.1全新重构,新增DIY功能

    CRMEB ProV1.1全新升级发布,真正实现了后台可自由拖拽组合实现首页布局的DIY功能,这一功能的实现,将告别过去千篇一律的同质化界面布局,真正实现个性化.高自由的随心组合.本次发布的版本中我们 ...

  5. 魔众积分商城系统 v1.3.0 后台菜单快捷搜索,框架功能升级

    魔众积分商城系统提供积分商城,会员积分系统,积分兑换商城,积分系统,积分运营,营销活动工具,积分游戏.API接口对接会员积分系统,简单配置页面即可上线,助力企业会员运营管理. 魔众积分商城系统发布v1 ...

  6. 基于Node+Vue+Express开发实现商城系统

    项目编号:BS-QD-006 前言: 2003年中国电子商城进入低谷期,在绝大多数人选择放弃电子商城的情况下,依旧有些企业仍未放弃,并苦苦坚持电子商城的发展.这使得人们不得不重新考虑如何定位新一代的电 ...

  7. vuecli 实战商城后台管理系统_前台商城系统及后台管理系统

    概述内容 mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现. 前台商城系统包含首页门户.商品推荐.商品搜索.商品展示.购物车.订单流程.会员中心 ...

  8. 多用户商城系统商品表设计

    多用户商城系统商品表用于存储商家上架的商品信息. 商品表(wst_goods)   字段名称 字段说明 字段描述 类型 长度 默认 必填 goodsId 自增ID   int 11   是 1 goo ...

  9. B2B2C商城系统处理用户的支付和结算

    B2B2C商城系统是指将B2B和B2C两种商业模式相结合,构建出的一种全新的商城系统.该系统不仅提供了针对企业的批量采购服务,还可以为消费者提供个性化的购物体验.当用户购买商品时,商城系统需要对其支付 ...

最新文章

  1. php time相差12小时_优化你的PHP代码,从现在做起
  2. 一个查看UI5控件所有公有方法的小技巧
  3. 计算机基本信息的获取
  4. 北京内推 | 微软亚洲互联网工程院(STCA)招聘NLP算法实习生
  5. iOS一些推荐的学习路径发展
  6. Linux / Ubuntu系统查看磁盘空间及目录容量
  7. html个版本间的特点,了解下什么是HTML5,他与以往的版本有什么区别 什么新元素...
  8. 你们计算机专业的学生应该看看这篇文章
  9. 破解key file时经常用到的几个API函数及其用法
  10. 这是我见过最全面的Python装饰器详解 没有学不会这种说法
  11. websocket握手失败_WebSocket握手期间出错:意外的响应代码:500
  12. 赢利定位是网站建设前提
  13. vue-router学习第一天
  14. c语言读取gps模块数据类型,GPS数据读取与处理(一)之GPS模块的数据格式
  15. 分享一款开源数据库建模工具--PDMan(可代替powerdesigner)
  16. 基于动态超图卷积网络的地铁客流预测
  17. Vue 实现PC端和移动端的自适应
  18. java 穷举_java循环穷举
  19. IVL和SVL的区别
  20. 使用Google Maps API和google-maps-react进行React Apps

热门文章

  1. 使用HTML+CSS动画属性让鼠标放在图片上让图片动起来
  2. UDP之广播搜索局域网内设备信息
  3. API 设计、开发、测试一体化协作平台ApiFox、ApiPost和YAPI对比
  4. BLUESIGN认证辅导,bluesign system管理输入,采取哪些负责任的行动
  5. idmp计算任务shell脚本创建路径全过程
  6. how2j学习总结-未完
  7. 【报告分享】2020年中国房地产销售额百亿企业排行榜-中国指数研究院(附下载)
  8. 视频直播质量的评测和实现分享
  9. 从Qualcomm技术看loT未来发展方向
  10. Cows in a Row