def UpdeteInfo(token = '' ,username ='',nickname = ''): resultDic = Package() resultDic.clear() if Token.check_token_isvalid(token): try: userName = '' result = Token.get_token(token) userName = result.userName user = User.objects.get(email=userName) user.name = username user.nickname = nickname user.edit_time = getCurrentTime() user.save() resultDic.status = 0 except (Exception) as e: resultDic.status = 1 resultDic.code = 5003 resultDic.message = '服务器内部错误' else: resultDic.status = 1 resultDic.code = 5002 resultDic.message = 'token无效 请重新登录' return resultDic
def Login(email='', passwd=''): ''' 用户登录 param email 登录用户名 param passwd 用户密码(MD5加密) ''' resultDic = Package() resultDic.clear() try: newPasswd = stringToMD5(conf.PASSWD_FIXED_CHARACTER + passwd) user = User.objects.get(email=email, password=newPasswd) resultDic.status = 0 result = {} token = stringToMD5(datetime.datetime.now().strftime("%Y%m%d%H%M%S")) Token.save_token(token, user.email) result['token'] = token result['email'] = user.email result['name'] = user.name result['nickname'] = user.nickname resultDic.setResult(result) except (Exception) as e: resultDic.status = 1 resultDic.code = 1002 resultDic.message = '用户名或密码错误' return resultDic
def saveProject(info): token = info['context']['token'] resultDic = Package() resultDic.clear() if not Token.check_token_isvalid(token): resultDic.status = 1 resultDic.code = 8003 resultDic.message = 'token失效 请重新登录' return resultDic try: appID = info['package']['appID'] userName = '' result = Token.get_token(token) userName = result.userName project = Projects.objects.get(appid=appID, owner=userName) fileName = CONFIG.WRITE_LUA_SCRIPT_FILE_BASE_PATH + appID + '/projectJson.json' writeFile(fileName, json.dumps(info['package'])) project.edit_time = getCurrentTime() project.save() except (Exception) as e: resultDic.status = 1 resultDic.code = 8004 resultDic.message = '你不是当前工程的拥有者不能修改' return resultDic
def deleteProject(token, appID): resultDic = Package() resultDic.clear() if not Token.check_token_isvalid(token): resultDic.status = 1 resultDic.code = 7004 resultDic.message = 'token失效 请重新登录' return resultDic try: userName = '' result = Token.get_token(token) userName = result.userName project = Projects.objects.get(appid=appID, owner=userName) project.delete() share_project = ShareProject.objects.filter(appid=appID) share_project.delete() #删除文件夹 Dir = CONFIG.WRITE_LUA_SCRIPT_FILE_BASE_PATH + appID shutil.rmtree(Dir) #删除 #删除ZIP文件 zipFileName = CONFIG.WRITE_LUA_SCRIPT_FILE_BASE_PATH + appID + '.zip' if os.path.exists(zipFileName): os.remove(zipFileName) except (Exception) as e: resultDic.status = 1 resultDic.code = 7005 resultDic.message = '您不是此工程的拥有者,不能删除此工程 ^^' return resultDic
def wsShareProject(request): resultDic = Package() resultDic.clear() token = '' appid = '' user = '' option = '' jsonStr = request.raw_post_data.decode('utf8') try: shareItem = json.loads(jsonStr) token = shareItem['token'] appid = shareItem['appid'] user = shareItem['user'] option = shareItem['option'] pre = shareItem['permission'] except (Exception) as e: if request.POST: token = request.POST.get('token','') appid = request.POST.get('appid','') user = request.POST.get('user','') option = request.POST.get('option','') pre = request.POST.get('permission') else: token = request.GET.get('token','') appid = request.GET.get('appid','') user = request.GET.get('user','') option = request.GET.get('option','') pre = request.GET.get('permission') intPre = 1 if pre == '2': intPre = 2 resultDic = shareProject(token=token,appid=appid,user=user,option=option,pre = intPre) return resultDic.archiveJson()
def SSOAuthCallBack(request): fromSource = '' if request.GET: fromSource = request.GET.get('type','') resultDic = Package() resultDic.clear() username = '******'%request.user if username == 'AnonymousUser': resultDic.status = 1 resultDic.code = 1002 resultDic.message = '' else: conn=MySQLdb.connect(host=conf.DB_HOST,user=conf.DB_USERNAEM,passwd=conf.DB_PASSWD,db=conf.DB_NAME,port=conf.DB_PORT,charset='utf8') cur=conn.cursor() cur.execute("select * from auth_user where username = '******'"%username) result = cur.fetchone(); cur.close() conn.close() isExist = False try: user = User.objects.get(email=result[7]) user.name = result[4] user.nickname = result[6].encode('utf8') user.save() isExist = True except (Exception) as e: isExist = False if isExist == False: user_pwd = stringToMD5(conf.PASSWD_FIXED_CHARACTER+result[4]) user = User(name=result[4], email= result[7], nickname=result[6].encode('utf8'), password=user_pwd, create_time=getCurrentTime(), edit_time=getCurrentTime(), last_login_time = getCurrentTime(), login_source = 1, signin_source = 2, signin_ip = '127.0.0.1', userid='000000', is_ctrip = 1, ) user.save() token = stringToMD5(datetime.datetime.now().strftime("%Y%m%d%H%M%S")) Token.save_token(token,result[7]) resultInfo = {} resultInfo['token'] = token resultInfo['name'] = result[4] resultInfo['nickname'] = result[6].encode('utf8') resultInfo['email'] = result[7] resultDic.setResult(resultInfo) if fromSource == 'mobile': return resultDic.archiveJson() return resultDic.archiveJavaScript()
def Login(email='',passwd=''): ''' 用户登录 param email 登录用户名 param passwd 用户密码(MD5加密) ''' resultDic = Package() resultDic.clear() try: newPasswd = stringToMD5(conf.PASSWD_FIXED_CHARACTER+passwd) user = User.objects.get(email=email,password=newPasswd) resultDic.status = 0 result = {} token = stringToMD5(datetime.datetime.now().strftime("%Y%m%d%H%M%S")) Token.save_token(token,user.email) result['token'] = token; result['email'] = user.email; result['name'] = user.name; result['nickname'] = user.nickname; resultDic.setResult(result) except (Exception) as e: resultDic.status = 1 resultDic.code = 1002 resultDic.message = '用户名或密码错误' return resultDic
def deleteProject(token,appID): resultDic = Package() resultDic.clear() if not Token.check_token_isvalid(token): resultDic.status = 1 resultDic.code = 7004 resultDic.message = 'token失效 请重新登录' return resultDic try: userName = '' result = Token.get_token(token) userName = result.userName project = Projects.objects.get(appid=appID,owner=userName) project.delete() share_project = ShareProject.objects.filter(appid=appID) share_project.delete() #删除文件夹 Dir = CONFIG.WRITE_LUA_SCRIPT_FILE_BASE_PATH+appID shutil.rmtree(Dir)#删除 #删除ZIP文件 zipFileName = CONFIG.WRITE_LUA_SCRIPT_FILE_BASE_PATH + appID + '.zip' if os.path.exists(zipFileName): os.remove(zipFileName) except (Exception) as e: resultDic.status = 1 resultDic.code = 7005 resultDic.message = '您不是此工程的拥有者,不能删除此工程 ^^' return resultDic
def saveProject(info): token = info['context']['token'] resultDic = Package() resultDic.clear() if not Token.check_token_isvalid(token): resultDic.status = 1 resultDic.code = 8003 resultDic.message = 'token失效 请重新登录' return resultDic try: appID = info['package']['appID'] userName = '' result = Token.get_token(token) userName = result.userName project = Projects.objects.get(appid=appID,owner=userName) fileName = CONFIG.WRITE_LUA_SCRIPT_FILE_BASE_PATH+appID+'/projectJson.json' writeFile(fileName,json.dumps(info['package'])) project.edit_time = getCurrentTime() project.save() except (Exception) as e: resultDic.status = 1 resultDic.code = 8004 resultDic.message = '你不是当前工程的拥有者不能修改' return resultDic
def updateInfo(request): ''' 获取用户信息 ''' resultDic = Package() resultDic.clear() token = '' username = '' usernick = '' if request.GET: token = request.GET.get('token', '') username = request.GET.get('username', '') usernick = request.GET.get('nickname', '') else: token = request.POST.get('token', '') username = request.POST.get('username', '') usernick = request.POST.get('nickname', '') if token == '': resultDic.status = 1 resultDic.code = 5001 resultDic.message = 'toke为空 请填写token' else: resultDic = UpdeteInfo(token=token, username=username, nickname=usernick) return resultDic.archiveJson()
def updateInfo(request): ''' 获取用户信息 ''' resultDic = Package() resultDic.clear() token = '' username = '' usernick = '' if request.GET: token = request.GET.get('token','') username = request.GET.get('username','') usernick = request.GET.get('nickname','') else : token = request.POST.get('token','') username = request.POST.get('username','') usernick = request.POST.get('nickname','') if token == '': resultDic.status = 1 resultDic.code = 5001 resultDic.message = 'toke为空 请填写token' else: resultDic = UpdeteInfo(token=token,username =username,nickname = usernick) return resultDic.archiveJson()
def wsFetchProject(request): resultDic = Package() appid = '' token = '' if request.GET: appid = request.GET.get('appid') token = request.GET.get('token') resultDic = fetchProject(appid,token) else: resultDic.status = 1 resultDic.code = 9001 resultDic.message = '请求方式错误' return resultDic.archiveJson()
def searchUser(request): resultDic = Package() resultDic.clear() keyword = "" appid = "" token = "" jsonStr = request.raw_post_data.decode("utf8") try: obj = json.loads(jsonStr) keyword = obj["keyword"] appid = obj["appid"] token = obj["token"] except (Exception) as e: keyword = request.GET.get("keyword") appid = request.GET.get("appid") token = request.GET.get("token") if not keyword: keyword = request.POST.get("keyword") appid = request.POST.get("appid") token = request.POST.get("token") if keyword == "" or appid == "" or token == "": return HttpResponse("") userList = [] if ( keyword == "@" or keyword == "com" or keyword == "cn" or keyword == "." or keyword == "org" or keyword == "io" or keyword == "me" ): resultDic.setResult(userList) return resultDic.archiveJson() users = User.objects.filter(email__contains=keyword) owner = "" if Token.check_token_isvalid(token): result = Token.get_token(token) owner = result.userName for x in range(len(users)): user = users[x] hasShare = ShareProject.objects.filter(share_ower=owner, share_user=user.email, appid=appid) if len(hasShare) <= 0: if owner == user.email: continue userDic = {} userDic["email"] = "%s" % user.email userDic["nickname"] = "%s" % user.nickname userList.append(userDic) resultDic.setResult(userList) return resultDic.archiveJson()
def searchUser(request): resultDic = Package() resultDic.clear() keyword = '' appid = '' token = '' jsonStr = request.raw_post_data.decode('utf8') try: obj = json.loads(jsonStr) keyword = obj['keyword'] appid = obj['appid'] token = obj['token'] except (Exception) as e: keyword = request.GET.get('keyword') appid = request.GET.get('appid') token = request.GET.get('token') if not keyword: keyword = request.POST.get('keyword') appid = request.POST.get('appid') token = request.POST.get('token') if keyword == '' or appid == '' or token == '': return HttpResponse('') userList = [] if keyword == '@' or keyword == 'com' or keyword == 'cn' or keyword == '.' or keyword == 'org' or keyword == 'io' or keyword == 'me': resultDic.setResult(userList) return resultDic.archiveJson() users = User.objects.filter(email__contains=keyword) owner = '' if Token.check_token_isvalid(token): result = Token.get_token(token) owner = result.userName for x in range(len(users)): user = users[x] hasShare = ShareProject.objects.filter(share_ower=owner, share_user=user.email, appid=appid) if len(hasShare) <= 0: if owner == user.email: continue userDic = {} userDic['email'] = '%s' % user.email userDic['nickname'] = '%s' % user.nickname userList.append(userDic) resultDic.setResult(userList) return resultDic.archiveJson()
def wsSaveProject(request): resultDic = Package() resultDic.clear() appJson = '' if request.POST: jsonStr = request.raw_post_data.decode('utf8') jsonDic = {} try: jsonDic = json.loads(jsonStr) resultDic = saveProject(jsonDic) except (Exception) as e: resultDic.status = 1 resultDic.code = 8002 resultDic.message = '工程json有格式错误' else: resultDic.status = 1 resultDic.code = 8001 resultDic.message = '请求方式错误' return resultDic.archiveJson()
def wsFeedBack(request): resultDic = Package() resultDic.clear() if request.POST: source = request.POST.get('source') content = request.POST.get('content') token = request.POST.get('token') email = request.POST.get('email') resultDic = FeedBack(token=token, email=email, content=content, source=source) else: resultDic.status = 1 resultDic.code = 13001 resultDic.message = '请求方式正确' return resultDic.archiveJson()
def wsShareList(request): resultDic = Package() resultDic.clear() token = '' appid = '' jsonStr = request.raw_post_data.decode('utf8') try: obj = json.loads(jsonStr) token = obj['token'] appid = obj['appid'] except (Exception) as e: if request.POST: token = request.POST.get('token', '') appid = request.POST.get('appid', '') else: token = request.GET.get('token', '') appid = request.GET.get('appid', '') resultDic = shareList(token=token, appid=appid) return resultDic.archiveJson()
def wsShareList(request): resultDic = Package() resultDic.clear() token = '' appid = '' jsonStr = request.raw_post_data.decode('utf8') try: obj = json.loads(jsonStr) token = obj['token'] appid = obj['appid'] except (Exception) as e: if request.POST: token = request.POST.get('token','') appid = request.POST.get('appid','') else: token = request.GET.get('token','') appid = request.GET.get('appid','') resultDic = shareList(token=token,appid=appid) return resultDic.archiveJson()
def wsCreateProject(request): #返回给前端的 resultDic = Package() resultDic.clear() #获取JSON jsonStr = '' if request.POST: jsonStr = request.raw_post_data.decode('utf8') resultDic = createProject(jsonStr) else: resultDic.status = 1 resultDic.code = 6001 resultDic.message = '请求方式错误' return resultDic.archiveJson()
def wsFeedBack(request): resultDic = Package() resultDic.clear() if request.POST: source = request.POST.get('source') content = request.POST.get('content') token = request.POST.get('token') email = request.POST.get('email') resultDic = FeedBack(token = token,email = email,content = content,source = source) else: resultDic.status = 1 resultDic.code = 13001 resultDic.message = '请求方式正确' return resultDic.archiveJson()
def wsShareProject(request): resultDic = Package() resultDic.clear() token = '' appid = '' user = '' option = '' jsonStr = request.raw_post_data.decode('utf8') try: shareItem = json.loads(jsonStr) token = shareItem['token'] appid = shareItem['appid'] user = shareItem['user'] option = shareItem['option'] pre = shareItem['permission'] except (Exception) as e: if request.POST: token = request.POST.get('token', '') appid = request.POST.get('appid', '') user = request.POST.get('user', '') option = request.POST.get('option', '') pre = request.POST.get('permission') else: token = request.GET.get('token', '') appid = request.GET.get('appid', '') user = request.GET.get('user', '') option = request.GET.get('option', '') pre = request.GET.get('permission') intPre = 1 if pre == '2': intPre = 2 resultDic = shareProject(token=token, appid=appid, user=user, option=option, pre=intPre) return resultDic.archiveJson()
def userInfo(request): ''' 获取用户信息 ''' resultDic = Package() resultDic.clear() token = '' if request.GET: token = request.GET.get('token', '') else: token = request.POST.get('token', '') if token == '': resultDic.status = 1 resultDic.code = 4001 resultDic.message = 'token为空 请填写token' else: resultDic = UserInfo(token=token) return resultDic.archiveJson()
def wsFetchProjectList(request): #返回给前端的 resultDic = Package() resultDic.clear() device = request.GET.get('device', '') token = request.GET.get('token', '') if token == '': resultDic.status = 1 resultDic.code = 10001 resultDic.message = 'token为空' else: deviceflag = 0 if device == 'ios': deviceflag = 1 elif device == 'android': deviceflag = 2 resultDic = fetchProjectList(device=deviceflag, token=token) return resultDic.archiveJson()
def userInfo(request): ''' 获取用户信息 ''' resultDic = Package() resultDic.clear() token = '' if request.GET: token = request.GET.get('token','') else : token = request.POST.get('token','') if token == '': resultDic.status = 1 resultDic.code = 4001 resultDic.message = 'token为空 请填写token' else: resultDic = UserInfo(token = token) return resultDic.archiveJson()
def wsFetchProject(request): resultDic = Package() appid = '' token = '' if request.GET: appid = request.GET.get('appid') token = request.GET.get('token') resultDic = fetchProject(appid, token) else: resultDic.status = 1 resultDic.code = 9001 resultDic.message = '请求方式错误' return resultDic.archiveJson()
def wsFetchProjectList(request): #返回给前端的 resultDic = Package() resultDic.clear() device = request.GET.get('device','') token = request.GET.get('token','') if token == '': resultDic.status = 1 resultDic.code = 10001 resultDic.message = 'token为空' else: deviceflag = 0 if device == 'ios': deviceflag = 1 elif device == 'android': deviceflag = 2 resultDic = fetchProjectList(device = deviceflag, token = token) return resultDic.archiveJson()
def FeedBack(token = '',email = '',content = '',source = ''): resultDic = Package() resultDic.clear() if content == '' or content == None: resultDic.status = 1 resultDic.code = 13003 resultDic.message = '内容为空' return resultDic if source == '' or source == None: resultDic.status = 1 resultDic.code = 13004 resultDic.message = '来源为空' return resultDic user = '' if token == '' or token == None: if email == '' or email == None: resultDic.status = 1 resultDic.code = 13006 resultDic.message = '邮箱为空' return resultDic user = email else : if not Token.check_token_isvalid(token): resultDic.status = 1 resultDic.code = 13002 resultDic.message = 'toke无效 请重新登录' return resultDic else : result = Token.get_token(token) user = result[0] try: feedback = Feedback(user_name=user, content = content, create_time = getCurrentTime() , source = source, ) feedback.save() except (Exception) as e: resultDic.status = 1 resultDic.code = 13005 resultDic.message = '服务器内部异常' return resultDic
def login(request): ''' 用户登录接口 ''' resultDic = Package() resultDic.clear() user_email = '' user_pwd = '' jsonStr = '' if request.POST: jsonStr = request.raw_post_data.decode('utf8') else : resultDic.status = 1 resultDic.code = 1001 resultDic.message = '请求方式不正确' return resultDic.archiveJson() try: loginObj = json.loads(jsonStr) user_email = loginObj['email'] user_pwd = loginObj['passwd'] except (Exception) as e: user_email = request.POST.get('email') user_pwd = request.POST.get('passwd') if user_email == '' or user_email == None: resultDic.status = 1 resultDic.code = 1003 resultDic.message = '登录邮箱为空' elif user_pwd == '' or user_pwd == None: resultDic.status = 1 resultDic.code = 1004 else: resultDic = Login(email=user_email,passwd=user_pwd) return resultDic.archiveJson()
def fetchProject(appid, token): resultDic = Package() resultDic.clear() if not Token.check_token_isvalid(token): resultDic.status = 1 resultDic.code = 9002 resultDic.message = 'token失效 请重新登录' else: #返回给前端的 try: fileName = CONFIG.WRITE_LUA_SCRIPT_FILE_BASE_PATH + appid + '/projectJson.json' result = readFile(fileName) resultObj = json.loads(result) resultDic.setResult(resultObj) except (Exception) as e: resultDic.status = 1 resultDic.code = 9003 resultDic.message = '服务器内部异常' return resultDic
def Updatepassword(token='',newpwd='',oldpwd=''): resultDic = Package() resultDic.clear() newPasswd = stringToMD5(conf.PASSWD_FIXED_CHARACTER+newpwd) oldPasswd = stringToMD5(conf.PASSWD_FIXED_CHARACTER+oldpwd) if Token.check_token_isvalid(token): try: userName = '' result = Token.get_token(token) userName = result.userName user = User.objects.get(email=userName) if not user.password == oldPasswd: resultDic.status = 1 resultDic.code = 3004 resultDic.message = '旧密码不匹配' return resultDic user.password = newPasswd resultDic.status = 0 resultArray ={} resultArray['email'] = user.email resultArray['token'] = token resultDic.setResult(resultArray) user.save() except (Exception) as e: resultDic.status = 1 resultDic.code = 3005 resultDic.message = '服务器内部异常 请稍后再试' else: resultDic.status = 1 resultDic.code = 3002 resultDic.message = 'Token无效 请重新登录' return resultDic
def UserInfo(token=''): resultDic = Package() resultDic.clear() if Token.check_token_isvalid(token): try: userName = '' result = Token.get_token(token) userName = result.userName user = User.objects.get(email=userName) resultDic.status = 0 resultArray = {} resultArray['name'] = user.name resultArray['nickname'] = user.nickname resultArray['email'] = user.email resultArray['createtime'] = user.create_time resultArray['userid'] = user.userid resultDic.setResult(resultArray) except (Exception) as e: resultDic.status = 1 resultDic.code = 4003 resultDic.message = '服务器内部错误' else: resultDic.status = 1 resultDic.code = 4002 resultDic.message = 'token无效 请重新登录' return resultDic
def wsUploadImage(request): #返回给前端的 resultDic = Package() resultDic.clear() # resultDic.message = parserHTTPRequest(request) # return resultDic.archiveJson() appid = '' if request.method == 'POST': try: appid = request.POST.get('appid') form = UploadFileForm(request.POST,request.FILES) if form.is_valid(): fileName = '' fileName = handle_uploaded_file(request.FILES['file'],appid) return HttpResponseRedirect('http://wxddb1.qa.nt.ctripcorp.com/api/uploader/success.html#'+fileName) else: resultDic['status'] = '0' except (Exception) as e: flag = parserHTTPRequest(request) if flag == '0': resultDic.status = 1 resultDic.message = flag#'上传图片出错' else: resultList = flag.split('+') resultDic.status = 0 fileName = '' if len(resultList) >= 2: appid = resultList[0] fileName = resultList[1] resultDictory = {} resultDictory['fileName'] = fileName resultDictory['appid'] = appid resultDic.setResult(resultDictory) else: resultDic.status = 1 resultDic.message = '请求方式不对' return resultDic.archiveJson()
def wsCreateZip(request): #返回给前端的 resultDic = Package() resultDic.clear() #获取JSON appid = '' token = '' if request.POST: appid = request.POST.get('appid','') token = request.POST.get('token','') else: appid = request.GET.get('appid','') token = request.GET.get('token','') if not Token.check_token_isvalid(token): resultDic.status = 1 resultDic.code = 15004 resultDic.message = 'toke失效 请重新登录' userName = '' result = Token.get_token(token) userName = result.userName try: flag = Parser.wsParser(appid,userName) if (flag == 1): target_dir = CONFIG.WRITE_LUA_SCRIPT_FILE_BASE_PATH target = target_dir + appid + '.zip' if (os.path.exists(target_dir + appid)): zipdir(target_dir + appid,target) downloadUrl = CONFIG.PROJECT_DOWNLOAD_URL + appid + '.zip' resultDictory = {} resultDictory['url'] = downloadUrl resultDic.setResult(resultDictory) else: resultDic.status = 1 resultDic.code = 15002 resultDic.message = '服务器内部异常' else: resultDic.status = 1 resultDic.code = 15003 resultDic.message = flag#'Lua解析失败' except (Exception) as e: resultDic.status = 1 resultDic.code = 15005 resultDic.message = 'Lua解析异常' return resultDic.archiveJson()
def UpdeteInfo(token='', username='', nickname=''): resultDic = Package() resultDic.clear() if Token.check_token_isvalid(token): try: userName = '' result = Token.get_token(token) userName = result.userName user = User.objects.get(email=userName) user.name = username user.nickname = nickname user.edit_time = getCurrentTime() user.save() resultDic.status = 0 except (Exception) as e: resultDic.status = 1 resultDic.code = 5003 resultDic.message = '服务器内部错误' else: resultDic.status = 1 resultDic.code = 5002 resultDic.message = 'token无效 请重新登录' return resultDic
def registToken(request): from ProtoShop.models.ProtoShop.models import DeviceToken resultDic = Package() resultDic.clear() if request.POST: token = request.POST.get('token','') devicetoken = request.POST.get('devicetoken','') if devicetoken == '': resultDic.status = 1 resultDic.code = 14002 resultDic.message = 'deviceToken为空' else: import ProtoShop.utils.token as Token from ProtoShop.utils.views import getCurrentTime,getIP if Token.check_token_isvalid(token): try: userName = '' result = Token.get_token(token) userName = result.userName device = DeviceToken(user_name=userName,device_token=devicetoken,device_ip=getIP(request),last_time=getCurrentTime()) device.save() except (Exception) as e: resultDic.status = 1 resultDic.code = 14003 resultDic.message = '服务器内部错误' else : resultDic.status = 1 resultDic.code = 14001 resultDic.message = '请求方式不正确' return resultDic.archiveJson()
def login(request): ''' 用户登录接口 ''' resultDic = Package() resultDic.clear() user_email = '' user_pwd = '' jsonStr = '' if request.POST: jsonStr = request.raw_post_data.decode('utf8') else: resultDic.status = 1 resultDic.code = 1001 resultDic.message = '请求方式不正确' return resultDic.archiveJson() try: loginObj = json.loads(jsonStr) user_email = loginObj['email'] user_pwd = loginObj['passwd'] except (Exception) as e: user_email = request.POST.get('email') user_pwd = request.POST.get('passwd') if user_email == '' or user_email == None: resultDic.status = 1 resultDic.code = 1003 resultDic.message = '登录邮箱为空' elif user_pwd == '' or user_pwd == None: resultDic.status = 1 resultDic.code = 1004 else: resultDic = Login(email=user_email, passwd=user_pwd) return resultDic.archiveJson()
def register(request): ''' 用户注册 ''' resultDic = Package() resultDic.clear() user_name = '' user_nick = '' user_pwd = '' user_email = '' jsonStr = '' if request.POST: jsonStr = request.raw_post_data.decode('utf8') else: resultDic.status = 1 resultDic.code = 2001 resultDic.message = '请求方式错误' return resultDic.archiveJson() try: loginObj = json.loads(jsonStr) user_pwd = loginObj['passwd'] user_email = loginObj['email'] user_nick = loginObj['nickname'] except (Exception) as e: if request.POST: user_pwd = request.POST.get('passwd') user_email = request.POST.get('email') user_nick = request.POST.get('nickname') # else: # user_pwd = request.GET.get('passwd') # user_email = request.GET.get('email') # user_nick = request.GET.get('nickname') if user_email == '' or user_email == None: resultDic.status = 1 resultDic.code = 2004 resultDic.message = '邮箱为空' return resultDic.archiveJson() if not validate_email(user_email): resultDic.status = 1 resultDic.code = 2006 resultDic.message = '邮箱格式不合法' return resultDic.archiveJson() if user_pwd == '' or user_pwd == None: resultDic.status = 1 resultDic.code = 2005 resultDic.message = '用户密码不能为空' return resultDic.archiveJson() info = {} info['user_name'] = user_name info['user_nick'] = user_nick info['user_pwd'] = user_pwd info['user_email'] = user_email info['ip'] = getIP(request) resultDic = Register(info) return resultDic.archiveJson()
def updatepwd(request): ''' 修改密码 ''' resultDic = Package() resultDic.clear() token = '' newpwd = '' if request.POST: token = request.POST.get('token','') newpwd = request.POST.get('passwd','') oldpasswd = request.POST.get('oldpwd','') else: token = request.GET.get('token','') newpwd = request.GET.get('passwd','') oldpasswd = request.GET.get('oldpasswd','') if token == '' or token == None: resultDic.status = 1 resultDic.code = 3006 resultDic.message = 'token为空' elif newpwd == '' or newpwd == None: resultDic.status = 1 resultDic.code = 3003 resultDic.message = '新密码为空' else: resultDic = Updatepassword(token=token,newpwd=newpwd,oldpwd=oldpasswd) return resultDic.archiveJson()
def register(request): ''' 用户注册 ''' resultDic = Package() resultDic.clear() user_name = '' user_nick = '' user_pwd = '' user_email = '' jsonStr = '' if request.POST: jsonStr = request.raw_post_data.decode('utf8') else : resultDic.status = 1 resultDic.code = 2001 resultDic.message = '请求方式错误' return resultDic.archiveJson() try: loginObj = json.loads(jsonStr) user_pwd = loginObj['passwd'] user_email = loginObj['email'] user_nick = loginObj['nickname'] except (Exception) as e: if request.POST: user_pwd = request.POST.get('passwd') user_email = request.POST.get('email') user_nick = request.POST.get('nickname') # else: # user_pwd = request.GET.get('passwd') # user_email = request.GET.get('email') # user_nick = request.GET.get('nickname') if user_email == '' or user_email == None: resultDic.status = 1 resultDic.code = 2004 resultDic.message = '邮箱为空' return resultDic.archiveJson() if not validate_email(user_email): resultDic.status = 1 resultDic.code = 2006 resultDic.message = '邮箱格式不合法' return resultDic.archiveJson() if user_pwd == '' or user_pwd == None: resultDic.status = 1 resultDic.code = 2005 resultDic.message = '用户密码不能为空' return resultDic.archiveJson() info = {} info['user_name'] = user_name info['user_nick'] = user_nick info['user_pwd'] = user_pwd info['user_email'] = user_email info['ip'] = getIP(request) resultDic = Register(info) return resultDic.archiveJson()
def wsUploadImage(request): #返回给前端的 resultDic = Package() resultDic.clear() # resultDic.message = parserHTTPRequest(request) # return resultDic.archiveJson() appid = '' if request.method == 'POST': try: appid = request.POST.get('appid') form = UploadFileForm(request.POST, request.FILES) if form.is_valid(): fileName = '' fileName = handle_uploaded_file(request.FILES['file'], appid) return HttpResponseRedirect( 'http://wxddb1.qa.nt.ctripcorp.com/api/uploader/success.html#' + fileName) else: resultDic['status'] = '0' except (Exception) as e: flag = parserHTTPRequest(request) if flag == '0': resultDic.status = 1 resultDic.message = flag #'上传图片出错' else: resultList = flag.split('+') resultDic.status = 0 fileName = '' if len(resultList) >= 2: appid = resultList[0] fileName = resultList[1] resultDictory = {} resultDictory['fileName'] = fileName resultDictory['appid'] = appid resultDic.setResult(resultDictory) else: resultDic.status = 1 resultDic.message = '请求方式不对' return resultDic.archiveJson()
def SSOAuthCallBack(request): fromSource = '' if request.GET: fromSource = request.GET.get('type', '') resultDic = Package() resultDic.clear() username = '******' % request.user if username == 'AnonymousUser': resultDic.status = 1 resultDic.code = 1002 resultDic.message = '' else: conn = MySQLdb.connect(host=conf.DB_HOST, user=conf.DB_USERNAEM, passwd=conf.DB_PASSWD, db=conf.DB_NAME, port=conf.DB_PORT, charset='utf8') cur = conn.cursor() cur.execute("select * from auth_user where username = '******'" % username) result = cur.fetchone() cur.close() conn.close() isExist = False try: user = User.objects.get(email=result[7]) user.name = result[4] user.nickname = result[6].encode('utf8') user.save() isExist = True except (Exception) as e: isExist = False if isExist == False: user_pwd = stringToMD5(conf.PASSWD_FIXED_CHARACTER + result[4]) user = User( name=result[4], email=result[7], nickname=result[6].encode('utf8'), password=user_pwd, create_time=getCurrentTime(), edit_time=getCurrentTime(), last_login_time=getCurrentTime(), login_source=1, signin_source=2, signin_ip='127.0.0.1', userid='000000', is_ctrip=1, ) user.save() token = stringToMD5(datetime.datetime.now().strftime("%Y%m%d%H%M%S")) Token.save_token(token, result[7]) resultInfo = {} resultInfo['token'] = token resultInfo['name'] = result[4] resultInfo['nickname'] = result[6].encode('utf8') resultInfo['email'] = result[7] resultDic.setResult(resultInfo) if fromSource == 'mobile': return resultDic.archiveJson() return resultDic.archiveJavaScript()
def wsDeleteProject(request): resultDic = Package() appID = '' token = '' if request.GET: appID = request.GET.get('appid') token = request.GET.get('token') else: resultDic.status = 1 resultDic.code = 7001 resultDic.message = '请求方式错误' if token == '' or token == None: resultDic.status = 1 resultDic.code = 7002 resultDic.message = 'token为空' if appID == '' or appID == None: resultDic.status = 1 resultDic.code = 7003 resultDic.message = 'appid为空' resultDic = deleteProject(token, appID) return resultDic.archiveJson()
def fetchProjectList(device='', token=''): resultDic = Package() resultDic.clear() if not Token.check_token_isvalid(token): resultDic.status = 1 resultDic.code = 10002 resultDic.message = 'token失效 请重新登录' else: ower = '' result = Token.get_token(token) ower = result.userName projects = [] resultList = [] try: if device == 0: projects = Projects.objects.filter(Q(owner=ower)) else: projects = Projects.objects.filter( Q(owner=ower, platform=device)) for x in range(len(projects)): project = projects[x] resultList.append(createProjectDic(project)) shareprojects = ShareProject.objects.filter(share_user=ower) for y in range(len(shareprojects)): share = shareprojects[y] project = Projects.objects.get(appid=share.appid) resultList.append(createProjectDic(project)) resultDic.setResult(resultList) except (Exception) as e: resultDic.status = 1 resultDic.code = 10007 resultDic.message = '服务器内部错误' return resultDic
def createProject(info): resultDic = Package() resultDic.clear() json_obj = json.loads(info) token = json_obj['context']['token'] if not Token.check_token_isvalid(token): resultDic.status = 1 resultDic.code = 6002 resultDic.message = 'token失效 请重新登录' return resultDic try: #获取文件路径 path = CONFIG.WRITE_LUA_SCRIPT_FILE_BASE_PATH folderName = getTimeMD5() new_path = os.path.join(path,folderName) if not os.path.isdir(new_path): os.makedirs(new_path) #将工程配置文件写入 projectDic = {} projectDic['appID'] = folderName projectDic['appName'] = json_obj['package']['appName'] projectDic['appPlatform'] = json_obj['package']['appPlatform'] projectDic['appIcon'] = CONFIG.PROJECT_ICON_URL projectDic['splash'] = {} projectDic['splash']['image'] = '' projectDic['splash']['delay'] = '' projectDic['splash']['duration'] = '' projectDic['splash']['transferType'] = '' sizeDic = {} sizeDic['width'] = json_obj['package']['size']['width'] sizeDic['height'] = json_obj['package']['size']['height'] projectDic['size'] = sizeDic scenesDic = {} scenesDic['id'] = '%d00'%time.time() scenesDic['order'] = 0 scenesDic['name'] = 'Scene 1' scenesDic['background'] = '' scenesDic['elements'] = [] projectDic['scenes'] = [scenesDic] projectFileName = CONFIG.WRITE_LUA_SCRIPT_FILE_BASE_PATH + folderName + '/projectJson.json' file_handler = codecs.open(projectFileName, 'w',"utf-8") file_handler.write(json.dumps(projectDic)) file_handler.close() resultDictory = {} resultDictory['appID'] = folderName; resultDictory['appName'] = json_obj['package']['appName'] resultDictory['appPlatform'] = json_obj['package']['appPlatform'] resultDic.setResult(resultDictory) userName = '' result = Token.get_token(token) userName = result.userName #将此配置列表写入 saveProjectWith(json_obj,folderName,userName) except (Exception) as e: resultDic.status = 1 resultDic.code = 6003 resultDic.message = '服务器内部异常' return resultDic
def shareProject(token='', appid='', user=None, option='', pre=1): resultDic = Package() resultDic.clear() if token == '' or appid == '' or user == None or user == '' or option == '': resultDic.status = 1 resultDic.code = 11002 resultDic.message = '输入信息不完整' else: pass if not Token.check_token_isvalid(token): resultDic.status = 1 resultDic.code = 11003 resultDic.message = 'token失效 请重新登录' return resultDic result = Token.get_token(token) useremail = result.userName try: Projects.objects.get(appid=appid, owner=useremail) except (Exception) as e: resultDic.status = 1 resultDic.code = 11004 resultDic.message = '分享的工程不存在' return resultDic try: ''' 多用户 ''' users = json.loads(users) for x in range(len(users)): resultDic = optionDB(useremail, appid, users[x], option, pre) except (Exception) as e: ''' 多用户 ''' if isinstance(user, list): for x in range(len(users)): resultDic = optionDB(useremail, appid, users[x], option, pre) else: ''' 单用户 ''' resultDic = optionDB(useremail, appid, user, option, pre) return resultDic
def fetchProjectList(device = '',token = ''): resultDic = Package() resultDic.clear() if not Token.check_token_isvalid(token): resultDic.status = 1 resultDic.code = 10002 resultDic.message = 'token失效 请重新登录' else: ower = '' result = Token.get_token(token) ower = result.userName projects = [] resultList = [] try: if device == 0: projects = Projects.objects.filter(Q(owner=ower)) else : projects = Projects.objects.filter(Q(owner=ower,platform=device)) for x in range(len(projects)): project = projects[x] resultList.append(createProjectDic(project)) shareprojects = ShareProject.objects.filter(share_user=ower) for y in range(len(shareprojects)): share = shareprojects[y] project = Projects.objects.get(appid=share.appid) resultList.append(createProjectDic(project)) resultDic.setResult(resultList) except (Exception) as e: resultDic.status = 1 resultDic.code = 10007 resultDic.message = '服务器内部错误' return resultDic
def Register(userInfo): resultDic = Package() resultDic.clear() try: user = User.objects.get(email=userInfo['user_email']) resultDic.status = 1 resultDic.code = 2002 resultDic.message = '您注册的用户已存在' except (Exception) as e: try: user_pwd = stringToMD5(conf.PASSWD_FIXED_CHARACTER+userInfo['user_pwd']) user = User(name=userInfo['user_name'], email= userInfo['user_email'], nickname=userInfo['user_nick'], password=user_pwd, create_time=getCurrentTime(), edit_time=getCurrentTime(), last_login_time = getCurrentTime(), login_source = 1, signin_source = 2, signin_ip = userInfo['ip'], userid='000000', is_ctrip = 1, ) user.save() token = stringToMD5(datetime.datetime.now().strftime("%Y%m%d%H%M%S")) Token.save_token(token,userInfo['user_email']) resultInfo = {} resultInfo['token'] = token resultInfo['name'] = userInfo['user_name'] resultInfo['nickname'] = userInfo['user_nick'] resultInfo['email'] = userInfo['user_email'] resultDic.setResult(resultInfo) except (Exception) as e: resultDic.status = 1 resultDic.code = 2003 resultDic.message = '服务器内部错误' return resultDic
def wsDeleteProject(request): resultDic = Package() appID = '' token = '' if request.GET: appID = request.GET.get('appid') token = request.GET.get('token') else: resultDic.status = 1 resultDic.code = 7001 resultDic.message = '请求方式错误' if token == '' or token == None: resultDic.status = 1 resultDic.code = 7002 resultDic.message = 'token为空' if appID == '' or appID == None: resultDic.status = 1 resultDic.code = 7003 resultDic.message = 'appid为空' resultDic = deleteProject(token,appID) return resultDic.archiveJson()
def shareList(token='',appid =''): resultDic = Package() resultDic.clear() if token == '': resultDic.status = 1 resultDic.code = 12002 resultDic.message = 'token为空' else : if Token.check_token_isvalid(token): result = Token.get_token(token) user = result.userName shares = [] if appid =='': shares = ShareProject.objects.filter(share_ower=user) else : shares = ShareProject.objects.filter(share_ower=user,appid=appid) shareList = [] for x in range(len(shares)): share = shares[x] users = User.objects.filter(email=share.share_user) for x in range(len(users)): user = users[x] userDic = {} userDic['email'] = '%s'%user.email userDic['nickname'] = '%s'%user.nickname shareList.append(userDic) resultDic.setResult(shareList) else: resultDic.status = 1 resultDic.code = 12003 resultDic.message = 'toke失效 请重新登录' return resultDic
def FeedBack(token = '',email = '',content = '',source = ''): resultDic = Package() resultDic.clear() if content == '' or content == None: resultDic.status = 1 resultDic.code = 13003 resultDic.message = '内容为空' return resultDic if source == '' or source == None: resultDic.status = 1 resultDic.code = 13004 resultDic.message = '来源为空' return resultDic user = '' if token == '' or token == None: if email == '' or email == None: resultDic.status = 1 resultDic.code = 13006 resultDic.message = '邮箱为空' return resultDic user = email else : if not Token.check_token_isvalid(token): resultDic.status = 1 resultDic.code = 13002 resultDic.message = 'toke无效 请重新登录' return resultDic else : result = Token.get_token(token) user = result.userName try: feedback = Feedback(user_name=user, content = content, create_time = getCurrentTime() , source = source, ) feedback.save() except (Exception) as e: resultDic.status = 1 resultDic.code = 13005 resultDic.message = '服务器内部异常' return resultDic
def optionDB(owner = '',appid='',user='',option='',pre = 1): resultDic = Package() resultDic.clear() if user == owner: resultDic.status = 0 resultDic.code = 11007 resultDic.message = '不能给自己分享' return resultDic hasShare = ShareProject.objects.filter(share_ower=owner,share_user=user,appid=appid) if len(hasShare)>0 and option != '2': resultDic.status = 1 resultDic.code = 11005 resultDic.message = '已经分享过啦' return resultDic try: User.objects.get(email=user) except (Exception) as e: resultDic.status = 1 resultDic.code = 11004 resultDic.message = '分享的用户不存在' return resultDic if option == '1': sharepro = ShareProject(appid=appid,share_user=user,share_time=getCurrentTime(),share_ower=owner,permission=pre) sharepro.save() elif option == '2': sharepro = ShareProject.objects.filter(appid=appid,share_user=user,share_ower=owner) sharepro.delete() else: resultDic.status = 1 resultDic.code = 11006 resultDic.message = '未知操作' return resultDic shares = ShareProject.objects.filter(share_ower=owner) shareList = [] for x in range(len(shares)): share = shares[x] users = User.objects.filter(email=share.share_user) for x in range(len(users)): user = users[x] userDic = {} userDic['email'] = '%s'%user.email userDic['nickname'] = '%s'%user.nickname shareList.append(userDic) resultDic.setResult(shareList) return resultDic
def optionDB(owner='', appid='', user='', option='', pre=1): resultDic = Package() resultDic.clear() if user == owner: resultDic.status = 0 resultDic.code = 11007 resultDic.message = '不能给自己分享' return resultDic hasShare = ShareProject.objects.filter(share_ower=owner, share_user=user, appid=appid) if len(hasShare) > 0 and option != '2': resultDic.status = 1 resultDic.code = 11005 resultDic.message = '已经分享过啦' return resultDic try: User.objects.get(email=user) except (Exception) as e: resultDic.status = 1 resultDic.code = 11004 resultDic.message = '分享的用户不存在' return resultDic if option == '1': sharepro = ShareProject(appid=appid, share_user=user, share_time=getCurrentTime(), share_ower=owner, permission=pre) sharepro.save() elif option == '2': sharepro = ShareProject.objects.filter(appid=appid, share_user=user, share_ower=owner) sharepro.delete() else: resultDic.status = 1 resultDic.code = 11006 resultDic.message = '未知操作' return resultDic shares = ShareProject.objects.filter(share_ower=owner) shareList = [] for x in range(len(shares)): share = shares[x] users = User.objects.filter(email=share.share_user) for x in range(len(users)): user = users[x] userDic = {} userDic['email'] = '%s' % user.email userDic['nickname'] = '%s' % user.nickname shareList.append(userDic) resultDic.setResult(shareList) return resultDic
def shareProject(token='',appid='',user=None,option='',pre=1): resultDic = Package() resultDic.clear() if token == '' or appid == '' or user == None or user == '' or option == '': resultDic.status = 1 resultDic.code = 11002 resultDic.message = '输入信息不完整' else : pass if not Token.check_token_isvalid(token): resultDic.status = 1 resultDic.code = 11003 resultDic.message = 'token失效 请重新登录' return resultDic result = Token.get_token(token) useremail = result.userName try: Projects.objects.get(appid=appid,owner=useremail) except (Exception) as e: resultDic.status = 1 resultDic.code = 11004 resultDic.message = '分享的工程不存在' return resultDic try: ''' 多用户 ''' users = json.loads(users) for x in range(len(users)): resultDic = optionDB(useremail,appid,users[x],option,pre) except (Exception) as e: ''' 多用户 ''' if isinstance(user,list): for x in range(len(users)): resultDic = optionDB(useremail,appid,users[x],option,pre) else: ''' 单用户 ''' resultDic = optionDB(useremail,appid,user,option,pre) return resultDic
def createProject(info): resultDic = Package() resultDic.clear() json_obj = json.loads(info) token = json_obj['context']['token'] if not Token.check_token_isvalid(token): resultDic.status = 1 resultDic.code = 6002 resultDic.message = 'token失效 请重新登录' return resultDic try: #获取文件路径 path = CONFIG.WRITE_LUA_SCRIPT_FILE_BASE_PATH folderName = getTimeMD5() new_path = os.path.join(path, folderName) if not os.path.isdir(new_path): os.makedirs(new_path) #将工程配置文件写入 projectDic = {} projectDic['appID'] = folderName projectDic['appName'] = json_obj['package']['appName'] projectDic['appPlatform'] = json_obj['package']['appPlatform'] projectDic['appIcon'] = CONFIG.PROJECT_ICON_URL projectDic['splash'] = {} projectDic['splash']['image'] = '' projectDic['splash']['delay'] = '' projectDic['splash']['duration'] = '' projectDic['splash']['transferType'] = '' sizeDic = {} sizeDic['width'] = json_obj['package']['size']['width'] sizeDic['height'] = json_obj['package']['size']['height'] projectDic['size'] = sizeDic scenesDic = {} scenesDic['id'] = '%d00' % time.time() scenesDic['order'] = 0 scenesDic['name'] = 'Scene 1' scenesDic['background'] = '' scenesDic['elements'] = [] projectDic['scenes'] = [scenesDic] projectFileName = CONFIG.WRITE_LUA_SCRIPT_FILE_BASE_PATH + folderName + '/projectJson.json' file_handler = codecs.open(projectFileName, 'w', "utf-8") file_handler.write(json.dumps(projectDic)) file_handler.close() resultDictory = {} resultDictory['appID'] = folderName resultDictory['appName'] = json_obj['package']['appName'] resultDictory['appPlatform'] = json_obj['package']['appPlatform'] resultDic.setResult(resultDictory) userName = '' result = Token.get_token(token) userName = result.userName #将此配置列表写入 saveProjectWith(json_obj, folderName, userName) except (Exception) as e: resultDic.status = 1 resultDic.code = 6003 resultDic.message = '服务器内部异常' return resultDic
def updatepwd(request): ''' 修改密码 ''' resultDic = Package() resultDic.clear() token = '' newpwd = '' if request.POST: token = request.POST.get('token', '') newpwd = request.POST.get('passwd', '') oldpasswd = request.POST.get('oldpwd', '') else: token = request.GET.get('token', '') newpwd = request.GET.get('passwd', '') oldpasswd = request.GET.get('oldpasswd', '') if token == '' or token == None: resultDic.status = 1 resultDic.code = 3006 resultDic.message = 'token为空' elif newpwd == '' or newpwd == None: resultDic.status = 1 resultDic.code = 3003 resultDic.message = '新密码为空' else: resultDic = Updatepassword(token=token, newpwd=newpwd, oldpwd=oldpasswd) return resultDic.archiveJson()