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