#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}