diff --git a/MyApi/models.py b/MyApi/models.py index 47a1680..e215d60 100644 --- a/MyApi/models.py +++ b/MyApi/models.py @@ -59,7 +59,7 @@ class User(models.Model): member_end_time = models.BigIntegerField(blank=True, null=True) # 存储会员到期时间的时间戳 is_active = models.BooleanField(default=True) # 状态,启用/禁用,默认启用 usage_count = models.IntegerField(default=0, blank=True, null=True) # 用户使用次数 - coins = models.IntegerField(default=3, verbose_name='金币数量') # 用户金币数量 + coins = models.IntegerField(default=30, verbose_name='金币数量') # 用户金币数量 balance = models.DecimalField(max_digits=10, decimal_places=2, default=0.00, verbose_name='用户余额') # 用户余额 inviter_nickname = models.CharField(max_length=150, blank=True, null=True, verbose_name='邀请人昵称') # 用户邀请人昵称 invitees_count = models.IntegerField(default=0, verbose_name='邀请人数量') # 邀请人数量 @@ -237,7 +237,7 @@ class TransactionLog(models.Model): class IDCounter(models.Model): - count = models.IntegerField(default=10000) # 初始化为0或其他你想开始的数字 + count = models.IntegerField(default=30000) # 初始化为0或其他你想开始的数字 @classmethod def get_next_id(cls): diff --git a/MyApi/views.py b/MyApi/views.py index 457aa99..71dd4ed 100644 --- a/MyApi/views.py +++ b/MyApi/views.py @@ -224,13 +224,6 @@ def miniapp_login(request): if 'openid' in result: openid = result['openid'] session_key = result['session_key'] - - # 解密encryptedData获取用户信息 - # pc = WXBizDataCrypt(APPID, session_key) - # decrypted_data = pc.decrypt(encrypted_data, iv) - - # token = generate_token_for_user(openid) - # print(decrypted_data) if openid: user, created = User.objects.get_or_create(openid=openid) # 如果是新用户,则设置其它属性 defaultDailyFreeParseNum totalParseNum @@ -268,36 +261,35 @@ def miniapp_login(request): #获取用户信息 def userinfo(request): data = json.loads(request.body) - openid = data.get('openid','') + openid = data.get('openid', '') if contains_sql_or_xss(openid): logger.error(f'{openid} 用户触发威胁字符检测: {data}') return JsonResponse({'status': 'error', 'message': '你的国际行为已被记录,我们将保留追责权利'}) if not openid: - return JsonResponse({"status": "erroe",'body': '缺少openid参数'}) - else: - increment = -0 - function_type = 'luserinfo' - result = update_usage_count(openid, increment, function_type) - membership_types = MembershipType.objects.all().values('type', 'title', 'description', 'price', 'coins','is_quota') + return JsonResponse({"status": "error", 'body': '缺少openid参数'}) + + try: user = User.objects.get(openid=openid) - if user: - user_info = model_to_dict(user) - try: + except User.DoesNotExist: + return JsonResponse({"status": "error", 'userInfo': None}) - user_info['member_start_time'] = time.strftime("%Y-%m-%d %H:%M:%S", - time.localtime(user.member_start_time)) - user_info['member_end_time'] = time.strftime("%Y-%m-%d %H:%M:%S", - time.localtime(user.member_end_time)) - except: - user_info['member_start_time'] = user.member_start_time - user_info['member_end_time'] = user.member_end_time + increment = -0 + function_type = 'luserinfo' + result = update_usage_count(openid, increment, function_type) + membership_types = MembershipType.objects.all().values('type', 'title', 'description', 'price', 'coins', 'is_quota') - membership_type_list = list(membership_types) - return JsonResponse({"status": "success", 'userInfo': user_info, 'membershipTypeList': membership_type_list}) - else: - return JsonResponse({"status": "erroe", 'userInfo': None}) + user_info = model_to_dict(user) + try: + user_info['member_start_time'] = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(user.member_start_time)) + user_info['member_end_time'] = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(user.member_end_time)) + except: + user_info['member_start_time'] = user.member_start_time + user_info['member_end_time'] = user.member_end_time + + membership_type_list = list(membership_types) + return JsonResponse({"status": "success", 'userInfo': user_info, 'membershipTypeList': membership_type_list}) def generate_token_for_user(openid): # 定义密钥,你应该将其保存在配置文件或环境变量中 @@ -564,7 +556,8 @@ def redeem_card(request): return JsonResponse({'error': '卡密激活失败,请联系管理员'}) elif card.card_type == 'quota': # 如果是额度卡,调用更新使用次数函数 - success = update_usage_count(openid, increment=+card.validity_period) + + success = update_usage_count(openid, increment=+card.validity_period,function_type='redeem_card') if success.get('success'): card.used_by_openid = openid card.is_used = True diff --git a/test b/test new file mode 160000 index 0000000..ca32eef --- /dev/null +++ b/test @@ -0,0 +1 @@ +Subproject commit ca32eef513aade1d80ac5badf5b23f5820f045f5 diff --git a/uploaded_videos/tmp_1690184b2327a9bba204ceb4940f4d53aa517030f0967553.jpg b/uploaded_videos/tmp_1690184b2327a9bba204ceb4940f4d53aa517030f0967553.jpg new file mode 100644 index 0000000..444d5e3 Binary files /dev/null and b/uploaded_videos/tmp_1690184b2327a9bba204ceb4940f4d53aa517030f0967553.jpg differ diff --git a/uploaded_videos/tmp_58d8eace845bc70e0d4f541ce52feba37f3b584758b587df.jpg b/uploaded_videos/tmp_58d8eace845bc70e0d4f541ce52feba37f3b584758b587df.jpg new file mode 100644 index 0000000..7a68eca Binary files /dev/null and b/uploaded_videos/tmp_58d8eace845bc70e0d4f541ce52feba37f3b584758b587df.jpg differ diff --git a/uploaded_videos/tmp_58d8eace845bc70e0d4f541ce52feba37f3b584758b587df_Gjrp6nC.jpg b/uploaded_videos/tmp_58d8eace845bc70e0d4f541ce52feba37f3b584758b587df_Gjrp6nC.jpg new file mode 100644 index 0000000..7a68eca Binary files /dev/null and b/uploaded_videos/tmp_58d8eace845bc70e0d4f541ce52feba37f3b584758b587df_Gjrp6nC.jpg differ