from flask import Flask,request,jsonify
from excel import highvalue,item,reward,mall,general,baodai,getNpc
from flask_cors import *
# from io import BytesIO
import sys
import base64
app=Flask(__name__)
CORS(app)
@app.route('/')
def hello():
return app.send_static_file('index.html')
@app.route('/search',methods=['POST'])
def postDir():
if request.method=="POST":
searchText=request.get_json()['searchText']
dev=request.get_json()['dev']
re=[]
isItem=False
isReward=False
if searchText.isnumeric():
rewardValue=reward.main(searchText,dev)
if(rewardValue['status']=='ok'):
re.append([rewardValue['data']])
isReward=True
else:
itemValue=item.getNum(searchText,dev)
if(itemValue['status']=='ok'):
re.append(itemValue['data'])
isItem=True
else:
itemValue=item.getName(searchText,dev)
if(itemValue['status']=='ok'):
re.append(itemValue['data'])
isItem=True
if len(re)!=0:
if isItem:
returnNumber=1
elif isReward:
returnNumber=2
else:
returnNumber=3
return jsonify({
'status':'ok',
'data':re[0],
'returnNumber':returnNumber
})
else:
return jsonify({
'status':'no',
'msg':'查找的信息不存在,或者表格样式有问题'
})
else:
return jsonify({
'status':'ok',
'msg':'输入正确的格式'
})
@app.route('/huodong_item',methods=['POST'])
def postItem():
if request.method=='POST':
searchText=request.get_json()['searchText']
re=item.main(searchText)
if(re['status']=='ok'):
return jsonify({
'status':'ok',
'data':re['data'],
'returnNumber':1,
'itemNextIndex':re['itemNextIndex']
})
else:
return jsonify({
'status':'no',
'msg':'查找的信息不存在,一定是输入的活动索引有问题'
})
@app.route('/lq',methods=['POST'])
def postLq():
if request.method=='POST':
searchText=request.get_json()['searchText']
index=request.get_json()['index']
re=general.get_list(searchText,index)
return jsonify({
'status':'ok',
'msg':re
})
# 给一个礼券名字,返回可能抽到的武将
# 爵印宝袋
@app.route('/baodai',methods=['POST'])
def postBaodai():
if request.method=='POST':
dev=request.get_json()['dev']
searchText=request.get_json()['searchText']
re=baodai.main(searchText,dev)
return jsonify({
're':re
})
@app.route('/test',methods=['GET'])
def show_test2():
print('LALAL')
return '2222222'
# @app.route('/test',methods=['GET'])
# def show_test():
# print(request)
# return '1111111111'
@app.route('/upload',methods=['POST'])
def upload():
print('-------->')
print(request.files)
print(request.form)
if request.method=="POST" and 'file' in request.files:
# filename=photos.save(request.files['file'])
# file_url=photos.url(filename)
file=request.files['file'].read()
with open('C:/Users/wb.lbte/Desktop/go/name.jpeg','wb') as f:
f.write(base64.b64encode(file))
return jsonify({
"ststus":"ok"
})
else:
print("没有取到")
return jsonify({
"ststus":'no'
})
@app.route("/hashCheck",methods=["POST"])
def hashCheck():
if request.method=="POST":
print(request.form)
hashValue=request.form["hash"]
if hashValue!="" and hashValue=="1":
return jsonify({
"status":"1"
# 正常返回,这个文件已经上传过了,不用在上传了.
})
else:
return jsonify({
"status":"0",
# 没有上传过
"list":[1,3,4]
# 返回已经上传的文件块
# "list":[]
# 一个都没有上传的时候就是这样的
})
return jsonify({
"status":request.form["hash"]
})
return jsonify({
"status":"asdf333333333"
})
@app.route("/chain",methods=["POST"])
def testchain():
id=request.form['id']
if id=="1" or id =="2":
return jsonify({
"status":"no",
"id":id
})
else:
return jsonify({
"status":"ok",
"id":id
})
@app.route("/getNpc",methods=["POST"])
def getNpcMain():
if request.method=="POST":
searchText=request.get_json()['searchText']
dev=request.get_json()['dev']
if searchText.isnumeric():
re=getNpc.getNpcTeam(searchText,dev)
return jsonify({
"status":"ok",
"data":re
})
else:
print('输入的不是数字,不做处理')
@app.route('/set')
@app.route('/postFile',methods={"POST"})
def postFile():
if request.method=="POST":
print(request.files)
return jsonify({
"stattus":"asdf"
})
return jsonify({
"stattus":"asdf"
})
if __name__ == '__main__':
app.config['JSON_AS_ASCII'] = False
app.run(port=8080,debug=True)
import xlrd
import excel.item as item
reward_loc=r'C:\Users\wb.lbte\Desktop\excel\reward.xls'
reward_rx=r'C:\Users\wb.lbte\Desktop\rx-trunk-ex\reward.xls'
def add(x,title,yy,itemcolValue,dev):
if(isinstance(yy,float)):
re=[]
re.append(item.simpleGet(yy,dev))
if(str(itemcolValue[x+1])!=''):
re.append({
'name':title[x+1]+' : '+str(itemcolValue[x+1]),
})
else:
re.append({
'name':title[x+1]+' : '+'注意属性为空,是否需要填表',
})
re.append({
'name':title[x+2]+' : '+str(itemcolValue[x+2]),
})
return {
'name':title[x],
'children':re
}
else:
re=[]
re.append({
'name':title[x]+' : '+str(yy)[:-2],
})
re.append({
'name':title[x+1]+' : '+itemcolValue[x+1],
})
re.append({
'name':str(title[x+2])+' : '+str(itemcolValue[x+2]),
})
return {
'name':title[x],
'children':re
}
def addjiang(xx,yy,title,itemcolValue,dev):
if(isinstance(yy,float)):
ree=[]
# ree.append({
# 'name':title[xx]+' : '+str(yy)[:-2],
# })
ree.append(item.simpleGet(yy,dev))
ree.append({
'name':title[xx+1]+' : '+itemcolValue[xx+1],
})
return {
'name':title[xx],
'children':ree
}
else:
ree=[]
r=[x for x in yy.split(',')]
name_r_chilren=[]
# for x in r:
# if x.isnumeric():
# name_r_chilren.append(item.simpleGet(x)['name'])
# else:
if(len(r)>=2) and r[0].isnumeric():
for x in r:
name_r_chilren.append(item.simpleGet(x)['name'])
ree.append({
'name':name_r_chilren
})
ree.append({
'name':title[xx+1]+' : '+str(itemcolValue[xx+1]),
})
return {
'name':title[xx],
'children':ree
}
else:
ree.append({
'name':title[xx]+' : '+str(itemcolValue[xx])
})
ree.append({
'name':title[xx+1]+' : '+str(itemcolValue[xx+1]),
})
return {
'name':title[xx],
'children':ree
}
def tesh(xx,yy,title,itemcolValue,key):
r1={
'name': title[xx]+' : '+str(key[yy]),
}
r2={
'name':str(title[xx+1])+' : '+str(itemcolValue[xx+1]),
}
r3={
'name':title[xx+2]+' : '+str(itemcolValue[xx+2]),
}
re=[]
re.append(r1)
re.append(r2)
re.append(r3)
return {
'name':title[xx],
'children':re
}
def addjiang2(xx,yy,title):
re=''
if isinstance(yy,float):
re=int(yy)
else:
re=yy
return {
'name': str(title[xx])+' : '+str(re),
'value':yy,
}
te={
'bxp':'宠物经验','hxp':'座骑游戏','wujiang':'武将好感度','energy':'活力值','orgsc':'势力贡献','shimen':'师门贡献','wuxun':'武勋值','mingjianghun':'名将魂积分','fuben':'副本积分','huodong':'活动积分','xiuxianwanfa':'休闲玩法','xiayi':'侠义积分','jierihuodong':'节日活动','jiangxingling':'将星令','duizhang':'队长','jianghun':'将魂','xinfa':'心法'
}
def main(num,dev):
if dev==0:
data=xlrd.open_workbook(reward_loc)
elif dev==1:
data=xlrd.open_workbook(reward_rx)
table=data.sheet_by_index(1)
title=table.row_values(0)
numid=table.col_values(0)
numid.pop(0)
isFind=False
for [x,y] in enumerate(numid):
if int(num)==int(y):
isFind=True
itemcolValue=table.row_values(x+1)
obj={}
objChildren=[]
obj['children']=objChildren
jiang={}
jiang['name']="必得奖励"
objjiang=[]
jiang['children']=objjiang
suiji={}
suiji['name']='随机奖励'
objsuiji=[]
suiji['children']=objsuiji
teshu={}
teshu['name']='特殊奖励'
objteshu=[]
teshu['children']=objteshu
jinggao={}
jinggao['name']='警告'
objjinggao=[]
jinggao['children']=objjinggao
qita={}
qita['name']='其他奖励'
objqita=[]
qita['children']=objqita
gonggao={}
gonggao['name']='奖励公告'
objgonggao=[]
gonggao['children']=objgonggao
duizhang={}
duizhang['name']='队长奖励'
objduizhang=[]
duizhang['children']=objduizhang
for [xx,yy] in enumerate(itemcolValue):
if( xx==23 or xx==25 or xx==27 or xx==29 or xx==31 or
xx==33 or xx==34 or xx==36 or xx==37 or xx==39 or
xx==40 or xx==42 or xx==43 or xx==45 or xx==46 or
xx==48 or xx==49 or xx==51 or xx==52
or xx==54 or xx==55 or xx==57 or xx==58 or xx==66 or xx==67
or xx==63 or xx==64 or xx==60 or xx==61 or xx==69 or xx==70
or xx==72 or xx==73 or xx==75 or xx==76 or xx==78 or xx==79
or xx==81 or xx==82 or xx==92
or xx==87 or xx==89 or xx==91):
# 跳过的项
continue
elif (xx==1):
obj['name']=str(yy)
elif(xx>=2 and xx<=9):
# 警告
if(yy!=''):
objjinggao.append(addjiang2(xx,yy,title))
elif (xx>=10 and xx<=21 or xx==95 or xx==96 or xx==97 or xx==98):
# 其他奖励
if(yy!=''):
objqita.append(addjiang2(xx,yy,title))
elif(xx==22 or xx==24 or xx==26 or xx==28 or xx==30):
# 必得
if(yy!=''):
objjiang.append(addjiang(xx,yy,title,itemcolValue,dev))
# print(objjiang)
elif(xx==53 or xx==56 or xx==50 or xx==47 or xx==44 or xx==41 or xx==38 or xx==35 or xx==32 or xx==59 or xx==62 or xx==65):
# 随机
if(yy!='') and isinstance(yy,float):
objsuiji.append(add(xx,title,yy,itemcolValue,dev))
elif (yy!=''):
cellsuiji=[c for c in yy.split(',')]
if(len(cellsuiji)>1):
reobj={}
reobj['name']=title[xx]
reobjArr=[]
reobjArr.append(add(xx,title,yy,itemcolValue,dev)['children'][1])
reobjArr.append(add(xx,title,yy,itemcolValue,dev)['children'][2])
for x in cellsuiji:
reobjArr.append(item.simpleGet(x,dev))
reobj['children']=reobjArr
objsuiji.append(reobj)
else:
objsuiji.append(add(xx,title,yy,itemcolValue,dev))
elif(xx==68 or xx==71 or xx==74 or xx==77 or xx==80 or xx==83):
# 特殊
if(yy!=''):
objteshu.append(tesh(xx,yy,title,itemcolValue,te))
elif(xx==83 or xx==84 or xx==85):
# 队长
if(yy!=''):
objduizhang.append(addjiang2(xx,yy,title))
elif(xx==86 or xx==88 or xx==90):
# 公告
if(yy!=''):
objgonggao.append(addjiang(xx,yy,title,itemcolValue,dev))
objChildren.append(jiang)
objChildren.append(suiji)
objChildren.append(teshu)
objChildren.append(jinggao)
objChildren.append(qita)
objChildren.append(duizhang)
objChildren.append(gonggao)
# print(obj)
if(obj):
return {
'status':'ok',
'data':obj
}
else:
return {
'status':'noOk',
'msg':'没有找到对应的reward'
}
if not isFind:
return {
'status':'noOk',
'msg':'没有找到对应的reward'
}
def getSome(arr):
re=[]
for x in arr:
re.append(main(x,0))
if(len(re)):
return {
'status':'ok',
'data':re
}
else:
return {
'status':'no',
'msg':'没有找到对应的reward'
}
def getHuodong(x,dev):
# x为本次活动的初始奖励id
data=xlrd.open_workbook(reward_loc)
table=data.sheet_by_index(1)
colNum=table.nrows
re=[]
ncols=table.col_values(0)
ncols.pop(0)
for [i,y] in enumerate(ncols):
if int(y)==x:
startIndex=i+1
for i in range(colNum-startIndex):
re.append(main(int(table.row(startIndex+i)[0].value),dev))
# return re
if(len(re)):
return {
'status':'ok',
'data':re
}
else:
return {
'status':'no',
'data':'请在次确认输入的id'
}
网友评论