| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #coding=utf-8
- '''
- '''
- import json,time,random
- from django.db import transaction
- import common.models as cm
- import common.error_info as ce
- import common.common_functions as ccf
- import common.common_control as ccc
- from utils.aestool import aescbc
- def add_wxauth_info(request):
- """
- """
- qdata = request.json
- need_params = ["nickname","avatar","openid"]
- print qdata
- print need_params
- mse = ccf.check_params(*need_params,**qdata)
- if mse:
- raise ce.TipException(mse)
- vals = ccf.get_need_params(*need_params,**qdata)
- obj,flag = cm.UserInfo.objects.get_or_create(openid=vals.get("openid"))
- obj.nickname = vals.get("username")
- obj.avatar = vals.get("avatar")
- obj.save()
- return obj
- def get_wxauth_info(request):
- """
- """
- #
- uid = request.user.id
- player = request.player
- user = cm.UserInfo.objects.filter(id=uid).values().first()
- user["nickname"] = user["username"]
- player = request.player
- if player and not player.fund:
- user["need_fill"] = 1
- else:
- user["need_fill"] = 0
- return user
- def update_wxauth_info(request):
- """
- """
- uid = request.user.id
- qdata = request.json
- cm.UserInfo.objects.filter(id=uid).update(userinfo=json.dumps(qdata))
- return user
- def login_user(request):
- """
- """
- info = request.json
- usercode = info.get('usercode')
- openid = info.get('openid')
- avatar = info.get('avatarUrl')
- nickname = info.get('nickName')
- if not usercode:
- raise ce.TipException(u"缺少参数!")
- user = cm.UserInfo.objects.filter(usercode=usercode).first()
- if not user:
- raise ce.TipException(u"用户代号不存在!")
- if user.is_bind:
- if not openid == user.openid:
- raise ce.TipException(u"微信号与用户代码不配!")
- if not cm.Player.objects.filter(user_id=user.id).first():
- raise ce.TipException(u"该账号未参加任何比赛,不能登录!")
- user.openid = openid
- user.avatar = avatar
- user.nickname = nickname
- user.is_bind = 1
- user.save()
- tstr = "{}_{}{}".format(user.id,time.time(),random.randint(100000,999999))
- token = aescbc.encrypt(tstr)
- return {"id":user.id,"token":token}
|