Example #1
0
def get_icon(request):
    '''获取用户头像'''
    phonenum = request.GET.get('phonenum')
    try:
        user = User.objects.get(phone=phonenum)
        data = {
            "icon": urljoin(MY_STATIC_FILES_URL, 'headIcon/' + user.icon),
            "msg": "success"
        }
        return render_json(data, OK)
    except:
        data = {"icon": '', "msg": "用户名或密码错误"}
        return render_json(data, GET_ICON_IMAGE_FAIL)
Example #2
0
def login(request):
    '''无需注册的登录,如果不存在则创建'''
    phonenum = request.POST.get('phonenum')
    vcode = request.POST.get('vcode')
    if check_vcode(phonenum, vcode):
        user, _ = User.objects.get_or_create(phone=phonenum)
        token = uuid.uuid4().hex
        cache.set(token, user.id, timeout=3600)
        data = {'msg': "登录成功", 'token': token}
        return render_json(data, OK)
    else:
        data = {
            'msg': '登录失败',
        }
        return render_json(data, VERIFY_CODE_FAIL)
Example #3
0
def delete_self_issue(request):
    '''删除表白帖子'''
    user = request.user
    confessid = request.GET.get("confessid")
    confess = Confess.objects.filter(pk=confessid)
    if confess.exists():
        confess = confess.first()
        if user.id == confess.userID:
            confess.is_delete = True
            confess.save()
            return render_json(confess.to_dict('release_time'), OK)
        else:
            return render_json({'msg': "没有权限删除该帖子"}, ISSUE_NOT_ALLOWED)
    else:
        return render_json({'msg': '该表白帖子不存在'}, ISSUE_NOT_EXIST)
Example #4
0
def get_vcode(request):
    '''获取验证码'''
    phonenum = request.GET.get('phonenum')
    vcode = get_code(4)
    # res = send_msg(phonenum, vcode)
    cache.set('Vcode-%s' % phonenum, vcode, timeout=3600)
    print(cache.get('Vcode-%s' % phonenum))
    return render_json(None, OK)
Example #5
0
def do_comment(request):
    '''评论'''
    user_id = request.user.id
    confess_id = request.GET.get('confess_id')
    context = request.POST.get('comment')
    comment = Comment()
    comment.userID = user_id
    comment.confessID = confess_id
    comment.context = context
    comment.save()
    return render_json(comment.to_dict('comment_time'), OK)
Example #6
0
def index(request):
    '''首页信息展示'''
    # 需要每条表白的 第一张图片、点赞数、评论数
    # 帖子分页
    start = int(request.GET.get('start', '0').strip())
    step = int(request.GET.get('step', '10').strip())
    confesses = Confess.objects.all()[start:step]
    if confesses.exists():
        # image1_list, image2_list = get_first_image_list(confesses)
        images_list = [i.images for i in (confesses)]
        res_images = [i.split('##') for i in images_list]
        length = len(res_images)
        data = {
            'image1_list': res_images[0:length // 2],
            'image2_list': res_images[length // 2:length],
        }
        return render_json(data, OK)
    else:
        data = {'image1_list': [], 'image2_list': []}
        return render_json(data, NO_DATA)
Example #7
0
def update_self_data(request):
    '''修改个人资料'''
    uid = request.user.id

    # 处理上传图片
    icon = request.FILES.get('icon')
    filename = 'avatar-%s' % uid
    filepath, filename = save_upload_file(filename,
                                          icon,
                                          save_path='static/headIcon')

    # 处理个人文字信息保存
    exist_user = User.objects.get(pk=uid)
    form = UserForm(request.POST)
    if not form.is_valid():
        return render_json(form.errors, BAD_DATA)
    user = form.save(commit=False)
    user.id = uid  # 保存用户id
    user.icon = filename  # 用户头像文件名
    user.phone = exist_user.phone  # 用户手机号
    user.save()
    return render_json(user.to_dict(), OK)
 def process_request(self, request):
     path = request.path
     need_login_path = [
         '/user/update_self_data', '/user/issue', '/user/get_self_issue',
         '/user/delete_self_issue'
     ]
     if path in need_login_path:
         token = request.GET.get('token')
         uid = cache.get(token)
         if uid:
             user = User.objects.filter(pk=uid).first()
             request.user = user
         else:
             return render_json('need login', NEED_LOGIN)
     else:
         return
Example #9
0
def issue(request):
    '''发表表白贴子'''
    userID = request.user.id
    userName = request.user.u_name
    print(userName, userID)
    context = request.POST.get('context', None)
    image1 = request.FILES.get('image1', None)
    image2 = request.FILES.get('image2', None)
    image3 = request.FILES.get('image3', None)

    confess = Confess()
    confess.userID = userID
    confess.userName = userName
    confess.context = context
    confess.image1, confess.image2, confess.image3 = save_issue_image(
        userID, image1, image2, image3)
    confess.save()
    return render_json(confess.to_dict('release_time'), OK)
Example #10
0
 def process_request(self, request):
     path = request.path
     need_login_path = [
         '/api/proxy/user/update_self_data', '/api/proxy/user/issue',
         '/api/proxy/user/get_self_issue',
         '/api/proxy/user/delete_self_issue',
         "/api/proxy/user/get_collections",
         "/api/proxy/user/get_care_confessions",
         "/api/proxy/user/add_collection", '/api/proxy/user/uploadImg',
         '/api/proxy/user/do_comment', '/api/proxy/user/care',
         '/api/proxy/user/get_notice', '/api/proxy/user/changeMessageState'
     ]
     if path in need_login_path:
         token = request.GET.get('token')
         uid = cache.get(token)
         if uid:
             user = User.objects.filter(pk=uid).first()
             request.user = user
         else:
             return render_json('need login', NEED_LOGIN)
     else:
         return
Example #11
0
def get_self_issue(request):
    '''获取自己所有发布的表白帖子'''
    uid = request.user.id
    confessions = Confess.objects.filter(Q(userID=uid) & Q(is_delete=False))
    data = many_to_dict(confessions)
    return render_json(data, OK)