Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
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
Beispiel #4
0
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
Beispiel #5
0
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()
Beispiel #6
0
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()
Beispiel #7
0
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
Beispiel #8
0
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
Beispiel #9
0
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
Beispiel #10
0
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()
Beispiel #11
0
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()
	
Beispiel #12
0
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()
Beispiel #13
0
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()
Beispiel #15
0
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()
Beispiel #17
0
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()
Beispiel #18
0
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()
Beispiel #19
0
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()
Beispiel #20
0
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()
	
Beispiel #21
0
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()
Beispiel #22
0
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()
Beispiel #23
0
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()
Beispiel #24
0
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()
Beispiel #25
0
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()
Beispiel #26
0
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()
Beispiel #27
0
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()
Beispiel #28
0
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
Beispiel #29
0
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()
Beispiel #30
0
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
Beispiel #31
0
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
Beispiel #32
0
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 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()

	
Beispiel #35
0
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
Beispiel #37
0
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()
Beispiel #38
0
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()
Beispiel #39
0
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()
Beispiel #40
0
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()
Beispiel #41
0
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()
Beispiel #43
0
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()
Beispiel #44
0
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
Beispiel #46
0
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
Beispiel #47
0
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
Beispiel #48
0
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
Beispiel #49
0
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
Beispiel #50
0
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()
Beispiel #51
0
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
Beispiel #52
0
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
Beispiel #53
0
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
Beispiel #54
0
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
Beispiel #55
0
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
Beispiel #56
0
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
Beispiel #57
0
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()