Commit 45d223b9 authored by wanli's avatar wanli

Merge branch 'release' of ssh://47.105.117.50:2224/wanli/evm-store into release

parents 8d6a85a3 b1082fdb
# -*- coding: utf-8 -*-
import os
import multiprocessing
MODE = 'develop' # develop: 开发模式; production: 生产模式
class ProductionConfig(object):
EPK_DIR = "D:\\projects\\scriptiot\\evm_app_store_files\\epks"
UPLOAD_ROOT_DIR = "D:\\projects\\scriptiot\\evm_app_store_files"
UPLOAD_ALLOWED = set(['doc', 'docs', 'csv', 'xls', 'xlsx'])
BIND = '127.0.0.1:3001'
WORKERS = multiprocessing.cpu_count() * 2 + 1
WORKER_CONNECTIONS = 10000
BACKLOG = 64
TIMEOUT = 60
LOG_LEVEL = 'INFO'
LOG_DIR_PATH = os.path.join(os.path.dirname(__file__), 'logs')
LOG_FILE_MAX_BYTES = 1024 * 1024 * 100
LOG_FILE_BACKUP_COUNT = 10
PID_FILE = 'run.pid'
REDIS_HOST = '127.0.0.1'
REDIS_PORT = 6379
REDIS_PASSWORD = ''
REDIS_MAX_CONNECTIONS = 100
JWT_HEADER_NAME = 'Authorization'
JWT_HEADER_TYPE = 'Bearer'
JWT_SECRET_KEY = '6UdxRgs2hvWpTLmj027d5vt7dXXQX'
JWT_ACCESS_TOKEN_EXPIRES = 7200
JWT_REFRESH_TOKEN_EXPIRES = 1800
MYSQL_DB = 'qianjing_iot'
MYSQL_HOST = '127.0.0.1'
MYSQL_PORT = 3306
MYSQL_USER = 'debian-sys-maint'
MYSQL_PWD = 'XMigC2B2uugnv18y'
SQLALCHEMY_BINDS = {
'app-store': 'sqlite:///../test.db'
}
SQLALCHEMY_DATABASE_URI = 'sqlite:///../test.db'
def __init__(self):
super().__init__()
self.SQLALCHEMY_DATABASE_URI = 'sqlite:///../test.db'
class DevelopConfig(object):
EPK_DIR = "D:\\projects\\scriptiot\\evm_app_store_files\\epks"
UPLOAD_ROOT_DIR = "D:\\projects\\scriptiot\\evm_app_store_files"
UPLOAD_ALLOWED = set(['doc', 'docs', 'csv', 'xls', 'xlsx'])
BIND = '127.0.0.1:3001'
WORKERS = 2
WORKER_CONNECTIONS = 1000
BACKLOG = 64
TIMEOUT = 30
LOG_LEVEL = 'DEBUG'
LOG_DIR_PATH = os.path.join(os.path.dirname(__file__), 'logs')
LOG_FILE_MAX_BYTES = 1024 * 1024
LOG_FILE_BACKUP_COUNT = 1
PID_FILE = 'run.pid'
REDIS_HOST = '127.0.0.1'
REDIS_PORT = 6379
REDIS_PASSWORD = ''
REDIS_MAX_CONNECTIONS = 100
JWT_HEADER_NAME = 'Authorization'
JWT_HEADER_TYPE = 'Bearer'
JWT_SECRET_KEY = '6UdxRgs2hvWpTLmj027d5vt7dXXQX'
JWT_ACCESS_TOKEN_EXPIRES = 7200
JWT_REFRESH_TOKEN_EXPIRES = 1800
MYSQL_DB = 'qianjing_iot'
MYSQL_HOST = '127.0.0.1'
MYSQL_PORT = 3306
MYSQL_USER = 'debian-sys-maint'
MYSQL_PWD = 'XMigC2B2uugnv18y'
SQLALCHEMY_BINDS = {
'app-store': 'sqlite:///../evue-store.db'
}
SQLALCHEMY_DATABASE_URI = 'sqlite:///../evue-store.db'
SQLALCHEMY_TRACK_MODIFICATIONS = True
SQLALCHEMY_ECHO = False
def __init__(self):
super().__init__()
self.SQLALCHEMY_DATABASE_URI = 'sqlite:///../evue-store.db'
if MODE == 'production':
config = ProductionConfig()
else:
config = DevelopConfig()
...@@ -200,6 +200,8 @@ class AppReview(object): ...@@ -200,6 +200,8 @@ class AppReview(object):
return None, ResponseCode.APPLICATION_NOT_EXISTS return None, ResponseCode.APPLICATION_NOT_EXISTS
# 根据app找到EPK文件,读取出二进制数据,返回 # 根据app找到EPK文件,读取出二进制数据,返回
if not app.download_url or len(app.download_url) == 0:
return None, ResponseCode.APPLICATION_URL_IS_NULL
target_file = Path(config.UPLOAD_ROOT_DIR).joinpath(app.download_url) target_file = Path(config.UPLOAD_ROOT_DIR).joinpath(app.download_url)
if not target_file.exists(): if not target_file.exists():
return None, ResponseCode.APPLICATION_NOT_EXISTS return None, ResponseCode.APPLICATION_NOT_EXISTS
......
{
"topIcon": [
{
"name": "签到",
"startTime": "2020-06-14 00:00:00",
"endTime": "2020-06-31 23:59:59",
"url": "http://h5.mse.360.cn/beens/index.html?from=userinfo",
"picUrl": "http://p8.qhimg.com/t01bbf0e645eaea0996.png"
}
],
"topBanner": [
{
"name": "小说热搜榜",
"url": "https://h5.mse.360.cn/xiaoshuorebang.html",
"picUrl": "http://p6.qhimg.com/t01f5d9189225042c1c.png",
"startTime": "2001-02-08 00:00:00",
"endTime": "2001-12-31 23:59:59",
"tagShow": 0
},
{
"name": "聚焦奥运",
"url": "https://www.360kuai.com/pc/event/zhuanti?zid=26&sign=llq",
"picUrl": "https://p0.ssl.qhimg.com/t0172ce0d4f6ace103b.png",
"startTime": "2021-07-23 00:00:00",
"endTime": "2021-12-31 23:59:59",
"tagShow": 0
}
],
"items": [
{
"title": "默认",
"mingzhan": [
{
"icon": "http://store.evmiot.com/uploads/hao/t01f175958912b832ee.png",
"file": "t01f175958912b832ee.png",
"name": "百度",
"url": "https://m.baidu.com/?from=1024193j",
"color": "",
"index": 0
},
{
"icon": "http://store.evmiot.com/uploads/hao/t01492aff011c338b8b.png",
"file": "t01492aff011c338b8b.png",
"name": "搜狐",
"url": "http://m.sohu.com/",
"color": "",
"index": 1
},
{
"icon": "http://store.evmiot.com/uploads/hao/t013b254ff00b6617c9.png",
"file": "t013b254ff00b6617c9.png",
"name": "凤凰网",
"url": "http://i.ifeng.com/",
"color": "",
"index": 2
},
{
"icon": "http://store.evmiot.com/uploads/hao/t01d2dd9fa8b5997763.png",
"file": "t01d2dd9fa8b5997763.png",
"name": "新浪",
"url": "https://sina.cn/index/feed?wm=6189",
"color": "",
"index": 3
},
{
"icon": "http://store.evmiot.com/uploads/hao/t01b2093cc3015d6de5.png",
"file": "t01b2093cc3015d6de5.png",
"name": "腾讯",
"url": "https://xw.qq.com/",
"color": "",
"index": 4
},
{
"icon": "http://store.evmiot.com/uploads/hao/t019acf51fa20abaaec.png",
"file": "t019acf51fa20abaaec.png",
"name": "今日头条",
"url": "https://m.toutiao.com/?W2atIF=1",
"color": "",
"index": 5
},
{
"icon": "http://store.evmiot.com/uploads/hao/t0129ff9f312327b419.png",
"file": "t0129ff9f312327b419.png",
"name": "网易",
"url": "http://3g.163.com/touch/",
"color": "",
"index": 6
},
{
"icon": "http://store.evmiot.com/uploads/hao/t0116b03e0157c040a7.png",
"file": "t0116b03e0157c040a7.png",
"name": "人民网",
"url": "http://m.people.cn/",
"color": "",
"index": 7
},
{
"icon": "http://store.evmiot.com/uploads/hao/t01c918f4f1a5addd00.png",
"file": "t01c918f4f1a5addd00.png",
"name": "携程旅行",
"url": "https://c.ssp.360.cn/t?type=19&pub=1001283_746920_2187988&cus=0_0_0_32439_0&url=http%3A%2F%2Fwww.ctrip.com%2F%3Fallianceid%3D1328%26sid%3D1643",
"color": "",
"index": 8
},
{
"icon": "http://store.evmiot.com/uploads/hao/t01ea8e33d0d85ee704.png",
"file": "t01ea8e33d0d85ee704.png",
"name": "淘热卖",
"url": "https://mo.m.taobao.com/k2/sn2019.html?refpid=mm_15144495_17960311_64926311&clk1=front16daf167fecd17c1fc8af",
"color": "",
"index": 9
},
{
"icon": "http://store.evmiot.com/uploads/hao/t017ce0bae7df087f1d.png",
"file": "t017ce0bae7df087f1d.png",
"name": "58家政",
"url": "https://c.ssp.360.cn/t?type=19&pub=1001283_746920_2188686&cus=0_0_0_25559_0&url=https%3A%2F%2Fjumpluna.58.com%2Fi%2F2enmtq5hkwgucegdg",
"color": "",
"index": 10
},
{
"icon": "http://store.evmiot.com/uploads/hao/t01c62d22b5b0d32eb0.png",
"file": "t01c62d22b5b0d32eb0.png",
"name": "金融课堂",
"url": "https://h5.360jrkt.com/datamark/Qr40umvIs-c?__pl__=",
"color": "",
"index": 11
}
],
"class": [],
"banner": []
},
{
"title": "科技 · IT",
"mingzhan": [
{
"index": 0,
"name": "36氪",
"icon": "http://store.evmiot.com/uploads/hao/t019de65a51d6fefd91.png",
"file": "t019de65a51d6fefd91.png",
"url": "https://36kr.com",
"color": ""
},
{
"index": 1,
"name": "少数派",
"icon": "http://store.evmiot.com/uploads/hao/t01be8ce21abe853320.png",
"file": "t01be8ce21abe853320.png",
"url": "https://sspai.com",
"color": ""
},
{
"index": 2,
"name": "钛媒体",
"icon": "http://store.evmiot.com/uploads/hao/t01545e615e16ea7087.png",
"file": "t01545e615e16ea7087.png",
"url": "https://m.tmtpost.com",
"color": ""
},
{
"index": 3,
"name": "果壳",
"icon": "http://store.evmiot.com/uploads/hao/t012714bfcecdd3ecda.png",
"file": "t012714bfcecdd3ecda.png",
"url": "https://m.guokr.com",
"color": ""
},
{
"index": 4,
"name": "虎嗅",
"icon": "http://store.evmiot.com/uploads/hao/t0159341ea2a3d84115.png",
"file": "t0159341ea2a3d84115.png",
"url": "https://m.huxiu.com",
"color": ""
},
{
"index": 5,
"name": "TechWeb",
"icon": "http://store.evmiot.com/uploads/hao/t012de478c5bb5ac5ba.png",
"file": "t012de478c5bb5ac5ba.png",
"url": "http://m.techweb.com.cn",
"color": ""
},
{
"index": 6,
"name": "泡泡网",
"icon": "http://store.evmiot.com/uploads/hao/t017f4a95a0cbaf843f.png",
"file": "t017f4a95a0cbaf843f.png",
"url": "http://m.pcpop.com",
"color": ""
},
{
"index": 7,
"name": "IT之家",
"icon": "http://store.evmiot.com/uploads/hao/t01b83d0ac83f60d3cf.png",
"file": "t01b83d0ac83f60d3cf.png",
"url": "https://m.ithome.com",
"color": ""
},
{
"index": 8,
"name": "瘾科技",
"icon": "http://store.evmiot.com/uploads/hao/t01f031f26cf7edbc77.png",
"file": "t01f031f26cf7edbc77.png",
"url": "https://cn.engadget.com",
"color": ""
},
{
"index": 9,
"name": "爱范儿",
"icon": "http://store.evmiot.com/uploads/hao/t0115abf33e502fbf8e.png",
"file": "t0115abf33e502fbf8e.png",
"url": "https://www.ifanr.com",
"color": ""
},
{
"index": 10,
"name": "品玩",
"icon": "http://store.evmiot.com/uploads/hao/t0195390069400bd07c.png",
"file": "t0195390069400bd07c.png",
"url": "https://www.pingwest.com",
"color": ""
},
{
"index": 11,
"name": "中关村在线",
"icon": "http://store.evmiot.com/uploads/hao/t014e67a9935f1ac040.png",
"file": "t014e67a9935f1ac040.png",
"url": "https://m.zol.com.cn",
"color": ""
}
],
"class": [
[
{
"index": 0,
"name": "钛锋网",
"url": "https://www.tmtforum.com",
"color": ""
},
{
"index": 1,
"name": "极客公园",
"url": "http://www.geekpark.net",
"color": ""
},
{
"index": 2,
"name": "数字尾巴",
"url": "https://m.dgtle.com",
"color": ""
},
{
"index": 3,
"name": "科普中国",
"url": "https://www.cdstm.cn",
"color": ""
},
{
"index": 4,
"name": "每日科技网",
"url": "https://m.newskj.org",
"color": ""
}
],
[
{
"index": 5,
"name": "天极网",
"url": "http://wap.yesky.com",
"color": ""
},
{
"index": 6,
"name": "科技头条",
"url": "https://www.ttnews.com.cn",
"color": ""
},
{
"index": 7,
"name": "驱动中国",
"url": "https: //m.qudong.com",
"color": ""
},
{
"index": 8,
"name": "电脑之家",
"url": "https://m.pchome.net",
"color": ""
},
{
"index": 9,
"name": "华军软件园",
"url": "https://mnews.onlinedown.net",
"color": ""
}
],
[
{
"index": 10,
"name": "爱搞机",
"url": "http://m.igao7.com",
"color": ""
},
{
"index": 11,
"name": "CNMO",
"url": "http://www.cnmo.com",
"color": ""
},
{
"index": 12,
"name": "V2EX",
"url": "https://www.v2ex.com",
"color": ""
},
{
"index": 13,
"name": "ZEALER",
"url": "https://m.zealer.com",
"color": ""
},
{
"index": 14,
"name": "PingPong",
"url": "https://news.pingpongx.com",
"color": ""
}
],
[
{
"index": 15,
"name": "端科技",
"url": "https://www.appnz.com",
"color": ""
},
{
"index": 16,
"name": "cnBeta",
"url": "https://m.cnbeta.com",
"color": ""
},
{
"index": 17,
"name": "IT168",
"url": "http://m.it168.com",
"color": ""
},
{
"index": 18,
"name": "DoNews",
"url": "http://3g.donews.com",
"color": ""
},
{
"index": 19,
"name": "PConline",
"url": "https://www.pconline.com.cn",
"color": ""
}
]
],
"banner": [],
"index": 1
},
{
"title": "汽车",
"mingzhan": [
{
"index": 0,
"name": "懂车帝",
"icon": "http://store.evmiot.com/uploads/hao/t01ce5f449f8eb68f60.png",
"file": "t01ce5f449f8eb68f60.png",
"url": "https://m.dcdapp.com/",
"color": ""
},
{
"index": 1,
"name": "汽车之家",
"icon": "http://store.evmiot.com/uploads/hao/t0192a171c3609b4493.png",
"file": "t0192a171c3609b4493.png",
"url": "http://m.autohome.com.cn/",
"color": ""
},
{
"index": 2,
"name": "爱卡汽车",
"icon": "http://store.evmiot.com/uploads/hao/t01c9ec87c6bc7cc9eb.png",
"file": "t01c9ec87c6bc7cc9eb.png",
"url": "http://a.xcar.com.cn/",
"color": ""
},
{
"index": 3,
"name": "太平洋汽车",
"icon": "http://store.evmiot.com/uploads/hao/t01faa780b603518b71.png",
"file": "t01faa780b603518b71.png",
"url": "http://m.pcauto.com.cn/",
"color": ""
},
{
"index": 4,
"name": "人人车",
"icon": "http://store.evmiot.com/uploads/hao/t0161151f045ce64b5d.png",
"file": "t0161151f045ce64b5d.png",
"url": "https://m.renrenche.com/",
"color": ""
},
{
"index": 5,
"name": "易车网",
"icon": "http://store.evmiot.com/uploads/hao/t01bf764a87181208bd.png",
"file": "t01bf764a87181208bd.png",
"url": "https://link.yiche.com/OrderCSSelect?yc_hzly=360search_middle",
"color": ""
}
],
"class": [
[
{
"index": 2,
"name": "腾讯汽车",
"url": "https://xw.qq.com/m/auto",
"color": ""
},
{
"index": 3,
"name": "新浪汽车",
"url": "https://auto.sina.cn/",
"color": ""
},
{
"index": 6,
"name": "搜狐汽车",
"url": "https://m.auto.sohu.com/",
"color": ""
},
{
"index": 7,
"name": "网易汽车",
"url": "https://3g.163.com/touch/auto/",
"color": ""
},
{
"index": 8,
"name": "凤凰汽车",
"url": "http://iauto.ifeng.com/home",
"color": ""
}
],
[
{
"index": 11,
"name": "牛摩网",
"url": "http://m.newmotor.com.cn",
"color": ""
},
{
"index": 12,
"name": "汽车江湖",
"url": "http://news.m.qc188.com",
"color": ""
},
{
"index": 13,
"name": "正北方网",
"url": "http://auto.northnews.cn/m/",
"color": ""
},
{
"index": 14,
"name": "网上车市",
"url": "http://a.cheshi.com/",
"color": ""
}
]
],
"banner": [],
"index": 2
},
{
"title": "军事",
"mingzhan": [],
"class": [
[
{
"index": 0,
"name": "铁血网",
"url": "https://m.tiexue.net",
"color": ""
},
{
"index": 1,
"name": "腾讯军事",
"url": "https://xw.qq.com/m/mil?pgv_ref=3gqtb&ADTAG=3gqtb",
"color": ""
},
{
"index": 2,
"name": "新浪军事",
"url": "https://mil.sina.cn/?from=wap",
"color": ""
},
{
"index": 3,
"name": "凤凰军事",
"url": "https://mil.ifeng.com",
"color": ""
},
{
"index": 4,
"name": "搜狐军事",
"url": "https://m.sohu.com/ch/10",
"color": ""
}
],
[
{
"index": 5,
"name": "西陆网",
"url": "http://m.xilu.com/",
"color": ""
},
{
"index": 6,
"name": "前沿网",
"url": "http://m.qianyan001.com",
"color": ""
},
{
"index": 7,
"name": "东方军事",
"url": "http://wap.eastday.com/list.html?id=5",
"color": ""
},
{
"index": 8,
"name": "米尔军事",
"url": "https://m.miercn.com",
"color": ""
},
{
"index": 9,
"name": "环球网军事",
"url": "https://m.huanqiu.com/list/mil",
"color": ""
}
],
[
{
"index": 0,
"name": "铁血网",
"url": "https://m.tiexue.net",
"color": ""
},
{
"index": 1,
"name": "腾讯军事",
"url": "https://xw.qq.com/m/mil?pgv_ref=3gqtb&ADTAG=3gqtb",
"color": ""
},
{
"index": 2,
"name": "新浪军事",
"url": "https://mil.sina.cn/?from=wap",
"color": ""
},
{
"index": 3,
"name": "凤凰军事",
"url": "https://mil.ifeng.com",
"color": ""
},
{
"index": 4,
"name": "搜狐军事",
"url": "https://m.sohu.com/ch/10",
"color": ""
}
],
[
{
"index": 5,
"name": "西陆网",
"url": "http://m.xilu.com/",
"color": ""
},
{
"index": 6,
"name": "前沿网",
"url": "http://m.qianyan001.com",
"color": ""
},
{
"index": 7,
"name": "东方军事",
"url": "http://wap.eastday.com/list.html?id=5",
"color": ""
},
{
"index": 8,
"name": "米尔军事",
"url": "https://m.miercn.com",
"color": ""
},
{
"index": 9,
"name": "环球网军事",
"url": "https://m.huanqiu.com/list/mil",
"color": ""
}
],
[
{
"index": 0,
"name": "铁血网",
"url": "https://m.tiexue.net",
"color": ""
},
{
"index": 1,
"name": "腾讯军事",
"url": "https://xw.qq.com/m/mil?pgv_ref=3gqtb&ADTAG=3gqtb",
"color": ""
},
{
"index": 2,
"name": "新浪军事",
"url": "https://mil.sina.cn/?from=wap",
"color": ""
},
{
"index": 3,
"name": "凤凰军事",
"url": "https://mil.ifeng.com",
"color": ""
},
{
"index": 4,
"name": "搜狐军事",
"url": "https://m.sohu.com/ch/10",
"color": ""
}
],
[
{
"index": 5,
"name": "西陆网",
"url": "http://m.xilu.com/",
"color": ""
},
{
"index": 6,
"name": "前沿网",
"url": "http://m.qianyan001.com",
"color": ""
},
{
"index": 7,
"name": "东方军事",
"url": "http://wap.eastday.com/list.html?id=5",
"color": ""
},
{
"index": 8,
"name": "米尔军事",
"url": "https://m.miercn.com",
"color": ""
},
{
"index": 9,
"name": "环球网军事",
"url": "https://m.huanqiu.com/list/mil",
"color": ""
}
]
],
"banner": [],
"index": 3
},
{
"title": "社区 · 体育",
"mingzhan": [
{
"index": 0,
"name": "知乎",
"icon": "http://store.evmiot.com/uploads/hao/t013a16d826b0f8645c.png",
"file": "t013a16d826b0f8645c.png",
"url": "https://www.zhihu.com/",
"color": ""
},
{
"index": 1,
"name": "贴吧",
"icon": "http://store.evmiot.com/uploads/hao/t01391907112696fcd9.png",
"file": "t01391907112696fcd9.png",
"url": "https://tieba.baidu.com/",
"color": ""
},
{
"index": 2,
"name": "虎扑",
"icon": "http://store.evmiot.com/uploads/hao/t01f7a144eb7548f583.png",
"file": "t01f7a144eb7548f583.png",
"url": "https://m.hupu.com/",
"color": ""
},
{
"index": 3,
"name": "豆瓣",
"icon": "http://store.evmiot.com/uploads/hao/t01eb7d4acd6212e7af.png",
"file": "t01eb7d4acd6212e7af.png",
"url": "https://m.douban.com/",
"color": ""
},
{
"index": 4,
"name": "西祠",
"icon": "http://store.evmiot.com/uploads/hao/t017e3084b6254e6bc0.png",
"file": "t017e3084b6254e6bc0.png",
"url": "https://3g.xici.net/",
"color": ""
},
{
"index": 5,
"name": "水木",
"icon": "http://store.evmiot.com/uploads/hao/t01b4df43eb600d2db2.png",
"file": "t01b4df43eb600d2db2.png",
"url": "https://wap.mysmth.net/",
"color": ""
},
{
"index": 6,
"name": "天涯",
"icon": "http://store.evmiot.com/uploads/hao/t017600f0f93ee15b2c.png",
"file": "t017600f0f93ee15b2c.png",
"url": "https://www.tianya.cn/m/",
"color": ""
},
{
"index": 7,
"name": "凯迪",
"icon": "http://store.evmiot.com/uploads/hao/t01938812513bd5a299.png",
"file": "t01938812513bd5a299.png",
"url": "http://m.kdnet.net",
"color": ""
},
{
"index": 8,
"name": "小红书",
"icon": "http://store.evmiot.com/uploads/hao/t01ba28cf17c46eed2e.png",
"file": "t01ba28cf17c46eed2e.png",
"url": "https://www.xiaohongshu.com",
"color": ""
},
{
"index": 9,
"name": "微博",
"icon": "http://store.evmiot.com/uploads/hao/t0141aa48f1e438e6aa.png",
"file": "t0141aa48f1e438e6aa.png",
"url": "https://m.weibo.cn/",
"color": ""
},
{
"index": 10,
"name": "猫扑",
"icon": "http://store.evmiot.com/uploads/hao/t015c32c86c25b5f33d.png",
"file": "t015c32c86c25b5f33d.png",
"url": "https://m.mop.com",
"color": ""
},
{
"index": 11,
"name": "简书",
"icon": "http://store.evmiot.com/uploads/hao/t017504b51fe4a2ae0e.png",
"file": "t017504b51fe4a2ae0e.png",
"url": "https://www.jianshu.com",
"color": ""
}
],
"class": [
[
{
"index": 0,
"name": "腾讯体育",
"url": "https://xw.qq.com/m/sports/index.htm",
"color": ""
},
{
"index": 1,
"name": "新浪体育",
"url": "http://sports.sina.com.cn",
"color": ""
},
{
"index": 2,
"name": "搜狐体育",
"url": "https://m.sohu.com/z/?_f=m-index_sports_hsdh",
"color": ""
},
{
"index": 3,
"name": "凤凰体育",
"url": "https://sports.ifeng.com",
"color": ""
},
{
"index": 4,
"name": "央视网体育",
"url": "https://sports.cctv.com/mobile/index.shtml",
"color": ""
}
],
[
{
"index": 5,
"name": "CCTV5",
"url": "https://tv.cctv.com/cctv5/m/",
"color": ""
},
{
"index": 6,
"name": "球探网",
"url": "http://m.win007.com",
"color": ""
},
{
"index": 7,
"name": "东方体育",
"url": "https://msports.eastday.com/",
"color": ""
},
{
"index": 8,
"name": "CRI体育",
"url": "http://sports.cri.cn/i",
"color": ""
},
{
"index": 9,
"name": "21CN体育",
"url": "http://sports.21cn.com",
"color": ""
}
],
[
{
"index": 10,
"name": "NBA",
"url": "https://china.nba.com",
"color": ""
},
{
"index": 11,
"name": "雪缘网",
"url": "http://m.gooooal.com",
"color": ""
},
{
"index": 12,
"name": "大众体育",
"url": "http://sports.dzwww.com",
"color": ""
},
{
"index": 13,
"name": "TOM体育",
"url": "http://sports.tom.com/",
"color": ""
},
{
"index": 14,
"name": "新华网体育",
"url": "http://sports.xinhuanet.com/mobile.htm",
"color": ""
}
]
],
"banner": []
},
{
"title": "房产",
"mingzhan": [
{
"index": 0,
"name": "贝壳",
"icon": "http://store.evmiot.com/uploads/hao/t0143272ab319d0815c.png",
"file": "t0143272ab319d0815c.png",
"url": "https://m.ke.com/",
"color": ""
},
{
"index": 1,
"name": "我爱我家",
"icon": "http://store.evmiot.com/uploads/hao/t012f56079a4b41bb95.png",
"file": "t012f56079a4b41bb95.png",
"url": "https://m.5i5j.com/",
"color": ""
},
{
"index": 2,
"name": "房天下",
"icon": "http://store.evmiot.com/uploads/hao/t01987962700d4fbda7.png",
"file": "t01987962700d4fbda7.png",
"url": "https://m.fang.com/",
"color": ""
},
{
"index": 3,
"name": "吉屋网",
"icon": "http://store.evmiot.com/uploads/hao/t014f69e35a1e5c3aa9.png",
"file": "t014f69e35a1e5c3aa9.png",
"url": "http://m.jiwu.com",
"color": ""
},
{
"index": 4,
"name": "安居客",
"icon": "http://store.evmiot.com/uploads/hao/t01c5c5c49431ab37bc.png",
"file": "t01c5c5c49431ab37bc.png",
"url": "https://m.anjuke.com",
"color": ""
},
{
"index": 5,
"name": "百姓网",
"icon": "http://store.evmiot.com/uploads/hao/t0173fd3a3bde8b34ab.png",
"file": "t0173fd3a3bde8b34ab.png",
"url": "http://www.baixing.com/",
"color": ""
},
{
"index": 6,
"name": "链家",
"icon": "http://store.evmiot.com/uploads/hao/t01046393509146034e.png",
"file": "t01046393509146034e.png",
"url": "https://m.lianjia.com/",
"color": ""
},
{
"index": 7,
"name": "宜家家居",
"icon": "http://store.evmiot.com/uploads/hao/t01ab8449360786d51d.png",
"file": "t01ab8449360786d51d.png",
"url": "http://m.ikea.com/cn/zh/",
"color": ""
},
{
"index": 8,
"name": "Q房网",
"icon": "http://store.evmiot.com/uploads/hao/t017135b1c9918b6626.png",
"file": "t017135b1c9918b6626.png",
"url": "http://m.qfang.com/",
"color": ""
},
{
"index": 9,
"name": "土巴兔",
"icon": "http://store.evmiot.com/uploads/hao/t012ede18044a41e600.png",
"file": "t012ede18044a41e600.png",
"url": "http://m.to8to.com/",
"color": ""
},
{
"index": 10,
"name": "搜狐焦点",
"icon": "http://store.evmiot.com/uploads/hao/t011ac65dde89544085.png",
"file": "t011ac65dde89544085.png",
"url": "https://m.focus.cn/",
"color": ""
},
{
"index": 11,
"name": "小猪短租",
"icon": "http://store.evmiot.com/uploads/hao/t0175d1dfcee4327dde.png",
"file": "t0175d1dfcee4327dde.png",
"url": "http://m.xiaozhu.com/",
"color": ""
}
],
"class": [
[
{
"index": 0,
"name": "乐居",
"url": "https://m.leju.com/",
"color": ""
},
{
"index": 1,
"name": "齐家网",
"url": "http://m.jia.com/",
"color": ""
},
{
"index": 2,
"name": "新浪乐居",
"url": "http://house.sina.cn/touch/index/",
"color": ""
},
{
"index": 3,
"name": "尚品宅配",
"url": "http://m.homekoo.com/",
"color": ""
},
{
"index": 4,
"name": "家居在线",
"url": "https://m.jiajuol.com/",
"color": ""
}
],
[
{
"index": 5,
"name": "美丽家",
"url": "http://m.meilijia.com/",
"color": ""
},
{
"index": 6,
"name": "新浪家居",
"url": "http://jiaju.sina.cn/",
"color": ""
},
{
"index": 7,
"name": "一起装修",
"url": "http://m.17house.com/",
"color": ""
}
]
],
"banner": [],
"index": 5
},
{
"title": "招聘 · 求职",
"mingzhan": [
{
"index": 0,
"name": "51job",
"icon": "http://store.evmiot.com/uploads/hao/t01b6ef742a7036044d.png",
"file": "t01b6ef742a7036044d.png",
"url": "https://m.51job.com/",
"color": ""
},
{
"index": 1,
"name": "BOSS直聘",
"icon": "http://store.evmiot.com/uploads/hao/t01224959650dc20441.png",
"file": "t01224959650dc20441.png",
"url": "https://www.zhipin.com",
"color": ""
},
{
"index": 2,
"name": "智联招聘",
"icon": "http://store.evmiot.com/uploads/hao/t01414e216b25ca5e2e.png",
"file": "t01414e216b25ca5e2e.png",
"url": "http://m.zhaopin.com/",
"color": ""
},
{
"index": 3,
"name": "猎聘网",
"icon": "http://store.evmiot.com/uploads/hao/t01323d749addc2123d.png",
"file": "t01323d749addc2123d.png",
"url": "http://m.liepin.com/",
"color": ""
},
{
"index": 4,
"name": "拉勾网",
"icon": "http://store.evmiot.com/uploads/hao/t01123a4d80a6eeac6f.png",
"file": "t01123a4d80a6eeac6f.png",
"url": "http://www.lagou.com/",
"color": ""
},
{
"index": 5,
"name": "大街网",
"icon": "http://store.evmiot.com/uploads/hao/t01d7b63f8c5ccca8c8.png",
"file": "t01d7b63f8c5ccca8c8.png",
"url": "http://m.dajie.com/",
"color": ""
},
{
"index": 6,
"name": "看准网",
"icon": "http://store.evmiot.com/uploads/hao/t01aadc5f18985c056f.png",
"file": "t01aadc5f18985c056f.png",
"url": "http://m.kanzhun.com/",
"color": ""
},
{
"index": 7,
"name": "一览英才",
"icon": "http://store.evmiot.com/uploads/hao/t017e4057ed22490bdd.png",
"file": "t017e4057ed22490bdd.png",
"url": "http://m.job1001.com/",
"color": ""
},
{
"index": 8,
"name": "领英",
"icon": "http://store.evmiot.com/uploads/hao/t01b8eebff362fa2d6c.png",
"file": "t01b8eebff362fa2d6c.png",
"url": "https://www.linkedin.com",
"color": ""
},
{
"index": 9,
"name": "百城招聘",
"icon": "http://store.evmiot.com/uploads/hao/t014a52cc6b8612eed6.png",
"file": "t014a52cc6b8612eed6.png",
"url": "http://m.bczp.cn",
"color": ""
},
{
"index": 10,
"name": "职友集",
"icon": "http://store.evmiot.com/uploads/hao/t0114bd4c293a2517cc.png",
"file": "t0114bd4c293a2517cc.png",
"url": "http://m.jobui.com/",
"color": ""
},
{
"index": 11,
"name": "大美业",
"icon": "http://store.evmiot.com/uploads/hao/t01b836ca2d133ca351.png",
"file": "t01b836ca2d133ca351.png",
"url": "http://m.138job.com",
"color": ""
}
],
"class": [
[
{
"index": 0,
"name": "汇博网",
"url": "https://m.huibo.com",
"color": ""
},
{
"index": 1,
"name": "58招聘",
"url": "https://m.58.com/bj/job.shtml",
"color": ""
},
{
"index": 2,
"name": "前程无忧",
"url": "http://3g.51job.com/",
"color": ""
},
{
"index": 3,
"name": "中华英才",
"url": "http://mcampus.chinahr.com",
"color": ""
},
{
"index": 4,
"name": "大众人才",
"url": "http://m.dazhonghr.com",
"color": ""
}
],
[
{
"index": 5,
"name": "应届生",
"url": "http://m.yingjiesheng.com/",
"color": ""
},
{
"index": 6,
"name": "北极星",
"url": "https://mhr.bjx.com.cn",
"color": ""
},
{
"index": 7,
"name": "丁香人才",
"url": "https://3g.jobmd.cn",
"color": ""
},
{
"index": 8,
"name": "人才热线",
"url": "https://m.cjol.com",
"color": ""
},
{
"index": 9,
"name": "英才网联",
"url": "https://m.800hr.com",
"color": ""
}
],
[
{
"index": 10,
"name": "兼职网",
"url": "https://wap.1010jz.com",
"color": ""
},
{
"index": 11,
"name": "服装人才",
"url": "http://m.cfw.cn",
"color": ""
},
{
"index": 12,
"name": "汽车人才",
"url": "https://m.qcr.cc",
"color": ""
}
]
],
"banner": [],
"index": 6
},
{
"title": "健康 · 母婴",
"mingzhan": [
{
"index": 0,
"name": "好大夫",
"icon": "http://store.evmiot.com/uploads/hao/t0120c1e57f510e4c2f.png",
"file": "t0120c1e57f510e4c2f.png",
"url": "https://m.haodf.com/",
"color": ""
},
{
"index": 1,
"name": "快速问医生",
"icon": "http://store.evmiot.com/uploads/hao/t016306d41adea64e0d.png",
"file": "t016306d41adea64e0d.png",
"url": "https://m.120ask.com/",
"color": ""
},
{
"index": 2,
"name": "寻医问药网",
"icon": "http://store.evmiot.com/uploads/hao/t01222a7bb2e1cb3cb0.png",
"file": "t01222a7bb2e1cb3cb0.png",
"url": "http://3g.club.xywy.com",
"color": ""
},
{
"index": 3,
"name": "挂号网",
"icon": "http://store.evmiot.com/uploads/hao/t0142776414512c38e1.png",
"file": "t0142776414512c38e1.png",
"url": "https://wy.guahao.com",
"color": ""
},
{
"index": 4,
"name": "39健康",
"icon": "http://store.evmiot.com/uploads/hao/t016d62d78fe2e136fd.png",
"file": "t016d62d78fe2e136fd.png",
"url": "https://m.39.net/",
"color": ""
},
{
"index": 5,
"name": "春雨医生",
"icon": "http://store.evmiot.com/uploads/hao/t016ec7c1a79ab4ed9a.png",
"file": "t016ec7c1a79ab4ed9a.png",
"url": "https://m.chunyuyisheng.com",
"color": ""
},
{
"index": 6,
"name": "宝宝树",
"icon": "http://store.evmiot.com/uploads/hao/t01e5290c6e377188cf.png",
"file": "t01e5290c6e377188cf.png",
"url": "https://m.babytree.com",
"color": ""
},
{
"index": 7,
"name": "摇篮网",
"icon": "http://store.evmiot.com/uploads/hao/t015c48fa391b4f3c41.png",
"file": "t015c48fa391b4f3c41.png",
"url": "http://3g.yaolan.com",
"color": ""
},
{
"index": 8,
"name": "育儿网",
"icon": "http://store.evmiot.com/uploads/hao/t011360c828be76f989.png",
"file": "t011360c828be76f989.png",
"url": "http://m.ci123.com",
"color": ""
},
{
"index": 9,
"name": "妈妈网",
"icon": "http://store.evmiot.com/uploads/hao/t01897892a402a647b4.png",
"file": "t01897892a402a647b4.png",
"url": "http://m.mama.cn",
"color": ""
},
{
"index": 10,
"name": "辣妈帮",
"icon": "http://store.evmiot.com/uploads/hao/t0115ae80c109f33b00.png",
"file": "t0115ae80c109f33b00.png",
"url": "http://www.lamabang.com",
"color": ""
},
{
"index": 11,
"name": "贝瓦儿歌",
"icon": "http://store.evmiot.com/uploads/hao/t01765d4dd1bb782fee.png",
"file": "t01765d4dd1bb782fee.png",
"url": "http://m.beva.com",
"color": ""
}
],
"class": [
[
{
"index": 0,
"name": "求医网",
"url": "http://m.qiuyi.cn",
"color": ""
},
{
"index": 1,
"name": "99健康",
"url": "https://m.99.com.cn",
"color": ""
},
{
"index": 2,
"name": "亲子网",
"url": "https://m.pcbaby.com.cn",
"color": ""
},
{
"index": 3,
"name": "播种网",
"url": "https://m.bozhong.com",
"color": ""
},
{
"index": 4,
"name": "亲亲宝贝",
"url": "https://m.qbaobei.com",
"color": ""
}
],
[
{
"index": 5,
"name": "亲贝网",
"url": "http://www.qinbei.com",
"color": ""
},
{
"index": 6,
"name": "育儿网",
"url": "http://m.ci123.com",
"color": ""
},
{
"index": 7,
"name": "360好药",
"url": "https://m.360haoyao.com/",
"color": ""
},
{
"index": 8,
"name": "家庭医生",
"url": "http://m.familydoctor.com.cn",
"color": ""
}
]
],
"banner": [],
"index": 7
},
{
"title": "旅游 · 住宿",
"mingzhan": [],
"class": [
[
{
"index": 0,
"name": "携程",
"url": "https://c.ssp.360.cn/t?type=19&pub=1001283_746920_2187988&cus=0_0_0_16357_0&url=http%3A%2F%2Fm.ctrip.com%2Fhtml5%2F%3Fallianceid%3D273047%26sid%3D1330124%26sourceid%3D2056%26openapp%3D3",
"color": ""
},
{
"index": 1,
"name": "去哪儿",
"url": "https://touch.qunar.com/",
"color": ""
},
{
"index": 2,
"name": "同程",
"url": "https://m.ly.com",
"color": ""
},
{
"index": 3,
"name": "途牛",
"url": "https://m.tuniu.com",
"color": ""
},
{
"index": 4,
"name": "艺龙",
"url": "https://m.elong.com/",
"color": ""
}
],
[
{
"index": 5,
"name": "马蜂窝",
"url": "https://m.mafengwo.cn/",
"color": ""
},
{
"index": 6,
"name": "穷游网",
"url": "https://m.qyer.com",
"color": ""
},
{
"index": 7,
"name": "驴妈妈",
"url": "https://m.lvmama.com",
"color": ""
},
{
"index": 8,
"name": "骑行 圈",
"url": "http://www.qixingquan.com/m/",
"color": ""
},
{
"index": 9,
"name": "磨房",
"url": "http://www.doyouhike.net/mobile",
"color": ""
}
],
[
{
"index": 10,
"name": "途家网",
"url": "https://www.tujia.com",
"color": ""
},
{
"index": 11,
"name": "如家酒店",
"url": "https://www.bthhotels.com/Wap/homeinn",
"color": ""
},
{
"index": 12,
"name": "华住酒店",
"url": "https://m.huazhu.com/Home/Index",
"color": ""
},
{
"index": 13,
"name": "住哪儿",
"url": "http://m.zhuna.cn",
"color": ""
},
{
"index": 14,
"name": "布丁酒店",
"url": "http://www.podinns.com",
"color": ""
}
],
[
{
"index": 0,
"name": "携程",
"url": "https://c.ssp.360.cn/t?type=19&pub=1001283_746920_2187988&cus=0_0_0_16357_0&url=http%3A%2F%2Fm.ctrip.com%2Fhtml5%2F%3Fallianceid%3D273047%26sid%3D1330124%26sourceid%3D2056%26openapp%3D3",
"color": ""
},
{
"index": 1,
"name": "去哪儿",
"url": "https://touch.qunar.com/",
"color": ""
},
{
"index": 2,
"name": "同程",
"url": "https://m.ly.com",
"color": ""
},
{
"index": 3,
"name": "途牛",
"url": "https://m.tuniu.com",
"color": ""
},
{
"index": 4,
"name": "艺龙",
"url": "https://m.elong.com/",
"color": ""
}
],
[
{
"index": 5,
"name": "马蜂窝",
"url": "https://m.mafengwo.cn/",
"color": ""
},
{
"index": 6,
"name": "穷游网",
"url": "https://m.qyer.com",
"color": ""
},
{
"index": 7,
"name": "驴妈妈",
"url": "https://m.lvmama.com",
"color": ""
},
{
"index": 8,
"name": "骑行 圈",
"url": "http://www.qixingquan.com/m/",
"color": ""
},
{
"index": 9,
"name": "磨房",
"url": "http://www.doyouhike.net/mobile",
"color": ""
}
],
[
{
"index": 10,
"name": "途家网",
"url": "https://www.tujia.com",
"color": ""
},
{
"index": 11,
"name": "如家酒店",
"url": "https://www.bthhotels.com/Wap/homeinn",
"color": ""
},
{
"index": 12,
"name": "华住酒店",
"url": "https://m.huazhu.com/Home/Index",
"color": ""
},
{
"index": 13,
"name": "住哪儿",
"url": "http://m.zhuna.cn",
"color": ""
},
{
"index": 14,
"name": "布丁酒店",
"url": "http://www.podinns.com",
"color": ""
}
]
],
"banner": [],
"index": 8
},
{
"title": "网购",
"mingzhan": [
{
"index": 0,
"name": "淘宝",
"icon": "http://store.evmiot.com/uploads/hao/t013530211fb3591083.png",
"file": "t013530211fb3591083.png",
"url": "https://main.m.taobao.com",
"color": ""
},
{
"index": 1,
"name": "京东",
"icon": "http://store.evmiot.com/uploads/hao/t019d58a7874a74fe46.png",
"file": "t019d58a7874a74fe46.png",
"url": "https://m.jd.com",
"color": ""
},
{
"index": 2,
"name": "国美",
"icon": "http://store.evmiot.com/uploads/hao/t01b13ca02f5ddbf308.png",
"file": "t01b13ca02f5ddbf308.png",
"url": "https://m.gome.com.cn",
"color": ""
},
{
"index": 3,
"name": "苏宁",
"icon": "http://store.evmiot.com/uploads/hao/t0103d1eda2952ca211.png",
"file": "t0103d1eda2952ca211.png",
"url": "https://m.suning.com/",
"color": ""
},
{
"index": 4,
"name": "拼多多",
"icon": "http://store.evmiot.com/uploads/hao/t01e1e73c056fb8843f.png",
"file": "t01e1e73c056fb8843f.png",
"url": "http://m.pinduoduo.com/",
"color": ""
},
{
"index": 5,
"name": "亚马逊",
"icon": "http://store.evmiot.com/uploads/hao/t01d1d46d023b762eb8.png",
"file": "t01d1d46d023b762eb8.png",
"url": "https://www.amazon.cn",
"color": ""
},
{
"index": 6,
"name": "唯品会",
"icon": "http://store.evmiot.com/uploads/hao/t016dba6e19b268c50d.png",
"file": "t016dba6e19b268c50d.png",
"url": "https://m.vip.com/index.html",
"color": ""
},
{
"index": 7,
"name": "当当 网",
"icon": "http://store.evmiot.com/uploads/hao/t01ba1d79361d34c641.png",
"file": "t01ba1d79361d34c641.png",
"url": "http://m.dangdang.com",
"color": ""
},
{
"index": 8,
"name": "蘑菇街",
"icon": "http://store.evmiot.com/uploads/hao/t01f243189b735fdc09.png",
"file": "t01f243189b735fdc09.png",
"url": "https://m.mogujie.com/",
"color": ""
},
{
"index": 9,
"name": "考拉",
"icon": "http://store.evmiot.com/uploads/hao/t01739f6f6acd5395e9.png",
"file": "t01739f6f6acd5395e9.png",
"url": "https://m.kaola.com/",
"color": ""
},
{
"index": 10,
"name": "1号店",
"icon": "http://store.evmiot.com/uploads/hao/t013b6c3e7f84a34cce.png",
"file": "t013b6c3e7f84a34cce.png",
"url": "https://m.yhd.com",
"color": ""
},
{
"index": 11,
"name": "乐淘",
"icon": "http://store.evmiot.com/uploads/hao/t01e17a6b5599c39a6b.png",
"file": "t01e17a6b5599c39a6b.png",
"url": "https://fk.letao.com",
"color": ""
}
],
"class": [
[
{
"index": 12,
"name": "蜜芽",
"url": "https://m.mia.com",
"color": ""
},
{
"index": 14,
"name": "好乐买",
"url": "http://t.okbuy.com",
"color": ""
}
]
],
"banner": [],
"index": 9
},
{
"title": "音乐 · FM",
"mingzhan": [],
"class": [
[
{
"index": 0,
"name": "酷狗",
"url": "http://m.kugou.com/",
"color": ""
},
{
"index": 1,
"name": "QQ音乐",
"url": "https://i.y.qq.com/n2/m/",
"color": ""
},
{
"index": 2,
"name": "虾米",
"url": "https://h.xiami.com/",
"color": ""
},
{
"index": 3,
"name": "酷我",
"url": "https://m.kuwo.cn/",
"color": ""
},
{
"index": 4,
"name": "网易云音乐",
"url": "https://music.163.com/m/",
"color": ""
}
],
[
{
"index": 5,
"name": "清风DJ",
"url": "https://m.vvvdj.com",
"color": ""
},
{
"index": 6,
"name": "365音乐",
"url": "http://m.yue365.com",
"color": ""
},
{
"index": 7,
"name": "音悦Tai",
"url": "http://m.yinyuetai.com",
"color": ""
},
{
"index": 8,
"name": "一听音乐",
"url": "https://h5.1ting.com",
"color": ""
},
{
"index": 9,
"name": "喜马拉雅",
"url": "https://m.ximalaya.com",
"color": ""
}
],
[
{
"index": 10,
"name": "企鹅FM",
"url": "https://fm.qq.com",
"color": ""
},
{
"index": 11,
"name": "荔枝FM",
"url": "https://m.lizhi.fm",
"color": ""
},
{
"index": 12,
"name": "蜻蜓FM",
"url": "https://m.qingting.fm",
"color": ""
},
{
"index": 13,
"name": "豆瓣FM",
"url": "https://douban.fm",
"color": ""
},
{
"index": 14,
"name": "即听FM",
"url": "http://i.fm.hebrbtv.com",
"color": ""
}
],
[
{
"index": 15,
"name": "猫耳FM",
"url": "https://m.missevan.com",
"color": ""
},
{
"index": 16,
"name": "FM98",
"url": "http://fm98.net",
"color": ""
},
{
"index": 12,
"name": "蜻蜓FM",
"url": "https://m.qingting.fm",
"color": ""
},
{
"index": 13,
"name": "豆瓣FM",
"url": "https://douban.fm",
"color": ""
},
{
"index": 14,
"name": "即听FM",
"url": "http://i.fm.hebrbtv.com",
"color": ""
}
],
[
{
"index": 10,
"name": "企鹅FM",
"url": "https://fm.qq.com",
"color": ""
},
{
"index": 11,
"name": "荔枝FM",
"url": "https://m.lizhi.fm",
"color": ""
},
{
"index": 12,
"name": "蜻蜓FM",
"url": "https://m.qingting.fm",
"color": ""
},
{
"index": 13,
"name": "豆瓣FM",
"url": "https://douban.fm",
"color": ""
},
{
"index": 14,
"name": "即听FM",
"url": "http://i.fm.hebrbtv.com",
"color": ""
}
],
[
{
"index": 15,
"name": "猫耳FM",
"url": "https://m.missevan.com",
"color": ""
},
{
"index": 16,
"name": "FM98",
"url": "http://fm98.net",
"color": ""
},
{
"index": 12,
"name": "蜻蜓FM",
"url": "https://m.qingting.fm",
"color": ""
},
{
"index": 13,
"name": "豆瓣FM",
"url": "https://douban.fm",
"color": ""
},
{
"index": 14,
"name": "即听FM",
"url": "http://i.fm.hebrbtv.com",
"color": ""
}
]
],
"banner": [],
"index": 10
},
{
"title": "彩票",
"mingzhan": [],
"class": [
[
{
"index": 0,
"name": "中彩网",
"url": "http://m.zhcw.com/",
"color": ""
},
{
"index": 1,
"name": "彩经网",
"url": "https://m.cjcp.com.cn",
"color": ""
},
{
"index": 2,
"name": "爱乐透",
"url": "https://5g.iletou.com",
"color": ""
},
{
"index": 3,
"name": "500彩票",
"url": "https://m.500.com/",
"color": ""
},
{
"index": 4,
"name": "中国福彩",
"url": "http://www.cwl.gov.cn/",
"color": ""
}
],
[
{
"index": 5,
"name": "乐彩网",
"url": "https://touch.17500.cn",
"color": ""
},
{
"index": 6,
"name": "彩客网",
"url": "http://m.310win.com/",
"color": ""
},
{
"index": 7,
"name": "万彩吧",
"url": "https://www.c8.cn",
"color": ""
},
{
"index": 8,
"name": "澳客网",
"url": "https://m.okooo.com",
"color": ""
},
{
"index": 9,
"name": "新浪彩票",
"url": "http://lotto.sina.cn/",
"color": ""
}
],
[
{
"index": 0,
"name": "中彩网",
"url": "http://m.zhcw.com/",
"color": ""
},
{
"index": 1,
"name": "彩经网",
"url": "https://m.cjcp.com.cn",
"color": ""
},
{
"index": 2,
"name": "爱乐透",
"url": "https://5g.iletou.com",
"color": ""
},
{
"index": 3,
"name": "500彩票",
"url": "https://m.500.com/",
"color": ""
},
{
"index": 4,
"name": "中国福彩",
"url": "http://www.cwl.gov.cn/",
"color": ""
}
],
[
{
"index": 5,
"name": "乐彩网",
"url": "https://touch.17500.cn",
"color": ""
},
{
"index": 6,
"name": "彩客网",
"url": "http://m.310win.com/",
"color": ""
},
{
"index": 7,
"name": "万彩吧",
"url": "https://www.c8.cn",
"color": ""
},
{
"index": 8,
"name": "澳客网",
"url": "https://m.okooo.com",
"color": ""
},
{
"index": 9,
"name": "新浪彩票",
"url": "http://lotto.sina.cn/",
"color": ""
}
],
[
{
"index": 0,
"name": "中彩网",
"url": "http://m.zhcw.com/",
"color": ""
},
{
"index": 1,
"name": "彩经网",
"url": "https://m.cjcp.com.cn",
"color": ""
},
{
"index": 2,
"name": "爱乐透",
"url": "https://5g.iletou.com",
"color": ""
},
{
"index": 3,
"name": "500彩票",
"url": "https://m.500.com/",
"color": ""
},
{
"index": 4,
"name": "中国福彩",
"url": "http://www.cwl.gov.cn/",
"color": ""
}
],
[
{
"index": 5,
"name": "乐彩网",
"url": "https://touch.17500.cn",
"color": ""
},
{
"index": 6,
"name": "彩客网",
"url": "http://m.310win.com/",
"color": ""
},
{
"index": 7,
"name": "万彩吧",
"url": "https://www.c8.cn",
"color": ""
},
{
"index": 8,
"name": "澳客网",
"url": "https://m.okooo.com",
"color": ""
},
{
"index": 9,
"name": "新浪彩票",
"url": "http://lotto.sina.cn/",
"color": ""
}
]
],
"banner": [],
"index": 11
},
{
"title": "查询",
"mingzhan": [],
"class": [
[
{
"index": 0,
"name": "天气",
"url": "http://m.weathercn.com/index.do?",
"color": ""
},
{
"index": 1,
"name": "火车",
"url": "http://m.ctrip.com/webapp/train/",
"color": ""
},
{
"index": 2,
"name": "机票",
"url": "http://touch.qunar.com/h5/flight/",
"color": ""
},
{
"index": 3,
"name": "地图",
"url": "http://map.so.com/",
"color": ""
},
{
"index": 4,
"name": "公交线路",
"url": "https://m.8684.cn",
"color": ""
}
],
[
{
"index": 5,
"name": "快递",
"url": "https://m.kuaidi100.com/",
"color": ""
},
{
"index": 6,
"name": "邮编",
"url": "http://m.ip138.com/youbian/",
"color": ""
},
{
"index": 7,
"name": "黄历",
"url": "http://m.life.httpcn.com/huangli/",
"color": ""
},
{
"index": 8,
"name": "违章",
"url": "https://m.weizhang8.cn/",
"color": ""
},
{
"index": 9,
"name": "常用电话",
"url": "http://m.46644.com/tel/",
"color": ""
}
],
[
{
"index": 0,
"name": "天气",
"url": "http://m.weathercn.com/index.do?",
"color": ""
},
{
"index": 1,
"name": "火车",
"url": "http://m.ctrip.com/webapp/train/",
"color": ""
},
{
"index": 2,
"name": "机票",
"url": "http://touch.qunar.com/h5/flight/",
"color": ""
},
{
"index": 3,
"name": "地图",
"url": "http://map.so.com/",
"color": ""
},
{
"index": 4,
"name": "公交线路",
"url": "https://m.8684.cn",
"color": ""
}
],
[
{
"index": 5,
"name": "快递",
"url": "https://m.kuaidi100.com/",
"color": ""
},
{
"index": 6,
"name": "邮编",
"url": "http://m.ip138.com/youbian/",
"color": ""
},
{
"index": 7,
"name": "黄历",
"url": "http://m.life.httpcn.com/huangli/",
"color": ""
},
{
"index": 8,
"name": "违章",
"url": "https://m.weizhang8.cn/",
"color": ""
},
{
"index": 9,
"name": "常用电话",
"url": "http://m.46644.com/tel/",
"color": ""
}
],
[
{
"index": 0,
"name": "天气",
"url": "http://m.weathercn.com/index.do?",
"color": ""
},
{
"index": 1,
"name": "火车",
"url": "http://m.ctrip.com/webapp/train/",
"color": ""
},
{
"index": 2,
"name": "机票",
"url": "http://touch.qunar.com/h5/flight/",
"color": ""
},
{
"index": 3,
"name": "地图",
"url": "http://map.so.com/",
"color": ""
},
{
"index": 4,
"name": "公交线路",
"url": "https://m.8684.cn",
"color": ""
}
],
[
{
"index": 5,
"name": "快递",
"url": "https://m.kuaidi100.com/",
"color": ""
},
{
"index": 6,
"name": "邮编",
"url": "http://m.ip138.com/youbian/",
"color": ""
},
{
"index": 7,
"name": "黄历",
"url": "http://m.life.httpcn.com/huangli/",
"color": ""
},
{
"index": 8,
"name": "违章",
"url": "https://m.weizhang8.cn/",
"color": ""
},
{
"index": 9,
"name": "常用电话",
"url": "http://m.46644.com/tel/",
"color": ""
}
]
],
"banner": [],
"index": 12
},
{
"title": "其他",
"mingzhan": [
{
"icon": "http://store.evmiot.com/uploads/hao/t01c3c4aa250cec12f4.png",
"name": "城市名片",
"url": "https://citycard.so.com",
"color": "",
"index": 11
},
{
"icon": "http://store.evmiot.com/uploads/hao/t015e0026c02fda70ce.png",
"file": "t015e0026c02fda70ce.png",
"name": "360借条",
"url": "https://mkt.360jie.com.cn/activity/ch/mbrsh5/mingzhan",
"color": "",
"index": 15
},
{
"icon": "http://store.evmiot.com/uploads/hao/t0148c3a3943e85e721.png",
"file": "t0148c3a3943e85e721.png",
"name": "360理财",
"url": "https://m2.nicaifu.com/mncf/#/channel?ncf_st_fr=sjllq01&pageCode=MC10264",
"color": "",
"index": 16
}
],
"class": [
[
{
"name": "【游戏】",
"url": "http://h5.wan.360.cn/?src=wanh5-llqdh",
"color": "#0A6BF2",
"index": 10
},
{
"name": "封仙传奇",
"url": "http://tg.13.h5.lingo666.com/play/10274.html",
"index": 11
},
{
"name": "霸王雄心",
"url": "http://tg.13.h5.lingo666.com/play/10260.html",
"index": 12
},
{
"name": "西游女儿国",
"url": "http://tg.13.h5.lingo666.com/play/10266.html",
"index": 13
},
{
"name": "沙巴克传奇",
"url": "http://tg.13.h5.lingo666.com/play/10195.html",
"index": 14
}
],
[
{
"index": 25,
"name": "【教育】",
"url": "https://m.so.com/s?ie=utf-8&srcg=360aphone_navigation_search&q=%E5%9C%A8%E7%BA%BF%E6%95%99%E8%82%B2",
"color": "#0A6BF2"
},
{
"index": 26,
"name": "学习啦",
"url": "http://m.xuexila.com/",
"color": ""
},
{
"index": 27,
"name": "上学吧",
"url": "https://m.shangxueba.com/",
"color": ""
},
{
"index": 28,
"name": "高三网",
"url": "http://m.gaosan.com/",
"color": ""
},
{
"index": 29,
"name": "精英家教",
"url": "http://m.1010jiajiao.com/",
"color": ""
}
],
[
{
"index": 45,
"name": "【摄影】",
"url": "https://m.image.so.com/i?q=%E6%91%84%E5%BD%B1&srcg=360aphone_navigation_search",
"color": "#0A6BF2"
},
{
"index": 46,
"name": "蜂鸟网",
"url": "https://m.fengniao.com/",
"color": ""
},
{
"index": 47,
"name": "摄图网",
"url": "http://m.699pic.com/",
"color": ""
},
{
"index": 48,
"name": "图片之家",
"url": "http://m.tupianzj.com/",
"color": ""
},
{
"index": 49,
"name": "POCO摄影",
"url": "http://wap.poco.cn/",
"color": ""
}
],
[
{
"name": "【游戏】",
"url": "http://h5.wan.360.cn/?src=wanh5-llqdh",
"color": "#0A6BF2",
"index": 10
},
{
"name": "封仙传奇",
"url": "http://tg.13.h5.lingo666.com/play/10274.html",
"index": 11
},
{
"name": "霸王雄心",
"url": "http://tg.13.h5.lingo666.com/play/10260.html",
"index": 12
},
{
"name": "西游女儿国",
"url": "http://tg.13.h5.lingo666.com/play/10266.html",
"index": 13
},
{
"name": "沙巴克传奇",
"url": "http://tg.13.h5.lingo666.com/play/10195.html",
"index": 14
}
],
[
{
"index": 25,
"name": "【教育】",
"url": "https://m.so.com/s?ie=utf-8&srcg=360aphone_navigation_search&q=%E5%9C%A8%E7%BA%BF%E6%95%99%E8%82%B2",
"color": "#0A6BF2"
},
{
"index": 26,
"name": "学习啦",
"url": "http://m.xuexila.com/",
"color": ""
},
{
"index": 27,
"name": "上学吧",
"url": "https://m.shangxueba.com/",
"color": ""
},
{
"index": 28,
"name": "高三网",
"url": "http://m.gaosan.com/",
"color": ""
},
{
"index": 29,
"name": "精英家教",
"url": "http://m.1010jiajiao.com/",
"color": ""
}
],
[
{
"index": 45,
"name": "【摄影】",
"url": "https://m.image.so.com/i?q=%E6%91%84%E5%BD%B1&srcg=360aphone_navigation_search",
"color": "#0A6BF2"
},
{
"index": 46,
"name": "蜂鸟网",
"url": "https://m.fengniao.com/",
"color": ""
},
{
"index": 47,
"name": "摄图网",
"url": "http://m.699pic.com/",
"color": ""
},
{
"index": 48,
"name": "图片之家",
"url": "http://m.tupianzj.com/",
"color": ""
},
{
"index": 49,
"name": "POCO摄影",
"url": "http://wap.poco.cn/",
"color": ""
}
]
],
"banner": [],
"index": 13
}
]
}
\ No newline at end of file
'''
Author: your name
Date: 2021-07-15 09:33:39
LastEditTime: 2021-07-28 19:56:22
LastEditors: your name
Description: In User Settings Edit
FilePath: \evm-store\tools\build_out\manager.py
'''
'''
Author: your name
Date: 2021-06-15 17:40:09
LastEditTime: 2021-06-30 18:09:51
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\tools\resources\manager.py
'''
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from tornado.wsgi import WSGIContainer from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer from tornado.httpserver import HTTPServer
from tornado.web import Application, RequestHandler, FallbackHandler
from tornado.ioloop import IOLoop from tornado.ioloop import IOLoop
from flask_script import Manager from flask_script import Manager
from flask_migrate import Migrate from flask_migrate import Migrate
from application.app import create_app, db from application.app import create_app, db
from application.config import config from application.config import config
from views.monitor import DeviceMessageHandler, WatchHandler, NotifyHandler
# 根据配置初始化app # 根据配置初始化app
app = create_app(config) app = create_app(config)
...@@ -38,7 +24,6 @@ def run(): ...@@ -38,7 +24,6 @@ def run():
To use: python3 manager.py run To use: python3 manager.py run
""" """
# app.logger.setLevel(app.config.get('LOG_LEVEL', logging.INFO)) # app.logger.setLevel(app.config.get('LOG_LEVEL', logging.INFO))
http_server = HTTPServer(WSGIContainer(app)) http_server = HTTPServer(WSGIContainer(app))
http_server.listen(int(port), address=host) http_server.listen(int(port), address=host)
IOLoop.instance().start() IOLoop.instance().start()
...@@ -49,8 +34,22 @@ def debug(): ...@@ -49,8 +34,22 @@ def debug():
debug模式启动命令函数 debug模式启动命令函数
To use: python3 manager.py debug To use: python3 manager.py debug
""" """
wsgi_app = WSGIContainer(app)
application = Application([
(r"/api/v1/evm_store/monitor", DeviceMessageHandler),
(r"/api/v1/evm_store/watch", WatchHandler),
(r"/ws/v1/notify", NotifyHandler),
(r'.*', FallbackHandler, dict(fallback=wsgi_app))
])
application.listen(int(port), address=host)
IOLoop.current().start()
print("WebSocket Service Started......")
# app.logger.setLevel(logging.DEBUG) # app.logger.setLevel(logging.DEBUG)
app.run(debug=True, port=int(port), host=host) # app.run(debug=True, port=int(port), host=host)
if __name__ == '__main__': if __name__ == '__main__':
manager.run() manager.run()
{"directories": [], "files": [{"basename": "details.md5", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "md5", "filename": "details", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/details.md5", "size": 16, "timestamp": 1626938854, "type": "file"}, {"basename": "didi.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "didi", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/didi.png", "size": 6417, "timestamp": 1626938854, "type": "file"}, {"basename": "evue_appstore.md5", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "md5", "filename": "evue_appstore", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/evue_appstore.md5", "size": 16, "timestamp": 1626938854, "type": "file"}, {"basename": "download.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "download", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/download.png", "size": 356, "timestamp": 1626938854, "type": "file"}, {"basename": "aiqiyi.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "aiqiyi", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/aiqiyi.png", "size": 4999, "timestamp": 1626938854, "type": "file"}, {"basename": "alipay.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "alipay", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/alipay.png", "size": 3545, "timestamp": 1626938854, "type": "file"}, {"basename": "evue_appstore.evue", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "evue", "filename": "evue_appstore", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/evue_appstore.evue", "size": 1128, "timestamp": 1626938854, "type": "file"}, {"basename": "application_method.js", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "js", "filename": "application_method", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/application_method.js", "size": 5041, "timestamp": 1626938854, "type": "file"}, {"basename": "qq.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "qq", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/qq.png", "size": 5702, "timestamp": 1626938854, "type": "file"}, {"basename": "evm_store_64_64.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "evm_store_64_64", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/evm_store_64_64.png", "size": 1189, "timestamp": 1626938854, "type": "file"}, {"basename": "evue_launcher.md5", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "md5", "filename": "evue_launcher", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/evue_launcher.md5", "size": 16, "timestamp": 1626938854, "type": "file"}, {"basename": "enter.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "enter", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/enter.png", "size": 700, "timestamp": 1626938854, "type": "file"}, {"basename": "call.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "call", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/call.png", "size": 1266, "timestamp": 1626938854, "type": "file"}, {"basename": "camera.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "camera", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/camera.png", "size": 3853, "timestamp": 1626938854, "type": "file"}, {"basename": "memory_management.js", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "js", "filename": "memory_management", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/memory_management.js", "size": 4019, "timestamp": 1626938854, "type": "file"}, {"basename": "find_watch.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "find_watch", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/find_watch.png", "size": 6352, "timestamp": 1626938854, "type": "file"}, {"basename": "yy.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "yy", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/yy.png", "size": 5690, "timestamp": 1626938854, "type": "file"}, {"basename": "index.evue", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "evue", "filename": "index", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/index.evue", "size": 14268, "timestamp": 1626938854, "type": "file"}, {"basename": "aliqua.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "aliqua", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/aliqua.png", "size": 3120, "timestamp": 1626938854, "type": "file"}, {"basename": "ai-assistant.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "ai-assistant", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/ai-assistant.png", "size": 5068, "timestamp": 1626938854, "type": "file"}, {"basename": "call2.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "call2", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/call2.png", "size": 977, "timestamp": 1626938854, "type": "file"}, {"basename": "baidutieba.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "baidutieba", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/baidutieba.png", "size": 3456, "timestamp": 1626938854, "type": "file"}, {"basename": "evue_launcher.evue", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "evue", "filename": "evue_launcher", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/evue_launcher.evue", "size": 12816, "timestamp": 1626938854, "type": "file"}, {"basename": "installed.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "installed", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/installed.png", "size": 1038, "timestamp": 1626938854, "type": "file"}, {"basename": "movie.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "movie", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/movie.png", "size": 3816, "timestamp": 1626938854, "type": "file"}, {"basename": "like.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "like", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/like.png", "size": 357, "timestamp": 1626938854, "type": "file"}, {"basename": "qq_music.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "qq_music", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/qq_music.png", "size": 4030, "timestamp": 1626938854, "type": "file"}, {"basename": "details.evue", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "evue", "filename": "details", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/details.evue", "size": 12448, "timestamp": 1626938854, "type": "file"}, {"basename": "backspace.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "backspace", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/backspace.png", "size": 556, "timestamp": 1626938854, "type": "file"}, {"basename": "blueteeth.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "blueteeth", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/blueteeth.png", "size": 868, "timestamp": 1626938854, "type": "file"}, {"basename": "appstore_application.json", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "json", "filename": "appstore_application", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/appstore_application.json", "size": 213, "timestamp": 1626938854, "type": "file"}, {"basename": "epk.json", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "json", "filename": "epk", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/epk.json", "size": 505, "timestamp": 1626938854, "type": "file"}, {"basename": "tool.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "tool", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/tool.png", "size": 2531, "timestamp": 1626938854, "type": "file"}, {"basename": "360.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "360", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/360.png", "size": 4038, "timestamp": 1626938854, "type": "file"}, {"basename": "call3.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "call3", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/call3.png", "size": 756, "timestamp": 1626938854, "type": "file"}, {"basename": "gaode.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "gaode", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/gaode.png", "size": 3923, "timestamp": 1626938854, "type": "file"}, {"basename": "voice.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "voice", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/voice.png", "size": 3787, "timestamp": 1626938854, "type": "file"}, {"basename": "close.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "close", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/close.png", "size": 971, "timestamp": 1626938854, "type": "file"}, {"basename": "music.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "music", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/music.png", "size": 2880, "timestamp": 1626938854, "type": "file"}, {"basename": "index.md5", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "md5", "filename": "index", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/index.md5", "size": 16, "timestamp": 1626938854, "type": "file"}, {"basename": "360kids.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "360kids", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/360kids.png", "size": 5168, "timestamp": 1626938854, "type": "file"}, {"basename": "\u542f\u52a8\u5668.json", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "json", "filename": "\u542f\u52a8\u5668", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/\u542f\u52a8\u5668.json", "size": 4708, "timestamp": 1626938854, "type": "file"}, {"basename": "back.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "back", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/back.png", "size": 399, "timestamp": 1626938854, "type": "file"}, {"basename": "setup.png", "dirname": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src", "extension": "png", "filename": "setup", "path": "\u542f\u52a8\u5668-1.0.1-2-20210722152734/src/setup.png", "size": 937, "timestamp": 1626938854, "type": "file"}]} {"directories": [{"basename": "\u7cfb\u7edf\u8bbe\u7f6e-1.0.0-2-20210722225315", "dirname": ".", "path": "\u7cfb\u7edf\u8bbe\u7f6e-1.0.0-2-20210722225315", "timestamp": 1626965595, "type": "dir"}], "files": []}
\ No newline at end of file \ No newline at end of file
...@@ -25,6 +25,7 @@ from . import monitorEvm ...@@ -25,6 +25,7 @@ from . import monitorEvm
from . import menu from . import menu
from . import file from . import file
from . import openapi from . import openapi
from . import business
api_v1 = Blueprint('api_v1', __name__) api_v1 = Blueprint('api_v1', __name__)
...@@ -65,6 +66,9 @@ api.add_resource(monitorImage.MonitorImageResourceList, '/monitorImage') ...@@ -65,6 +66,9 @@ api.add_resource(monitorImage.MonitorImageResourceList, '/monitorImage')
api.add_resource(monitorEvm.MonitorEvmResource, '/monitorEvm/<string:uuid>') api.add_resource(monitorEvm.MonitorEvmResource, '/monitorEvm/<string:uuid>')
api.add_resource(monitorEvm.MonitorEvmResourceList, '/monitorEvm') api.add_resource(monitorEvm.MonitorEvmResourceList, '/monitorEvm')
api.add_resource(business.NavigationList, '/business/navigation')
api.add_resource(business.StoreResource, '/business/application')
api.add_resource(menu.MenuList, '/menu') api.add_resource(menu.MenuList, '/menu')
api.add_resource(menu.Batch, '/menu/delete/batch') api.add_resource(menu.Batch, '/menu/delete/batch')
api.add_resource(menu.Create, '/menu/create') api.add_resource(menu.Create, '/menu/create')
......
#!/usr/bin/env python
# -*- coding: utf_8 -*-
import json
from pathlib import Path
from flask import current_app, jsonify, request
from flask_restful import Resource
from flask_restful.reqparse import RequestParser
from flask_jwt_extended import ( jwt_required, get_jwt_identity )
from application.signal_manager import signalManager
from models.monitorEvm import getListMonitorEvmSchema, getListMonitorEvmsSchema, getMonitorEvmSchema
from webcreator.log import logger
from webcreator.response import ResponseCode, response_result
class NavigationList(Resource):
def __init__(self):
self.parser = RequestParser()
def get(self):
self.parser.add_argument("page", type=int, location="args", default=1, required=False)
self.parser.add_argument("pageSize", type=int, location="args", default=15, required=False)
args = self.parser.parse_args()
try:
target_file = Path(__file__).parent.parent.joinpath("hao.360.cn.json")
data = target_file.read_text()
data = json.loads(data)
return response_result(ResponseCode.HTTP_SUCCESS, data=data)
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.HTTP_SERVER_ERROR)
class ApplicationResource(Resource):
def __init__(self):
self.parser = RequestParser()
def get(self, uuid):
self.parser.add_argument("page", type=int, location="args", default=1)
self.parser.add_argument("pageSize", type=int, location="args", default=15)
args = self.parser.parse_args()
try:
json_payload = request.json
print("========>", uuid, json_payload)
data = getMonitorEvmSchema.load(json_payload)
result, message = signalManager.actionGetMonitorEvm.emit(uuid, data)
if result:
json_dumps = getMonitorEvmSchema.dump(result)
return response_result(message, data=json_dumps)
return response_result(message)
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.HTTP_SERVER_ERROR)
class StoreResource(Resource):
def __init__(self):
self.parser = RequestParser()
def get(self, uuid):
self.parser.add_argument("page", type=int, location="args", default=1)
self.parser.add_argument("pageSize", type=int, location="args", default=15)
args = self.parser.parse_args()
try:
json_payload = request.json
print("========>", uuid, json_payload)
data = getMonitorEvmSchema.load(json_payload)
result, message = signalManager.actionGetMonitorEvm.emit(uuid, data)
if result:
json_dumps = getMonitorEvmSchema.dump(result)
return response_result(message, data=json_dumps)
return response_result(message)
except Exception as e:
current_app.logger.error(e)
return response_result(ResponseCode.HTTP_SERVER_ERROR)
...@@ -354,3 +354,4 @@ if __name__ == "__main__": ...@@ -354,3 +354,4 @@ if __name__ == "__main__":
signal.signal(signal.SIGTERM, raise_graceful_exit) signal.signal(signal.SIGTERM, raise_graceful_exit)
tornado.ioloop.IOLoop.current().start() tornado.ioloop.IOLoop.current().start()
print("WebSocket Service Started......")
...@@ -440,6 +440,7 @@ class LauncherResource(Resource): ...@@ -440,6 +440,7 @@ class LauncherResource(Resource):
result, message = signalManager.actionGetLauncher.emit(data) result, message = signalManager.actionGetLauncher.emit(data)
if result: if result:
logger.info(result.resolve())
ret = result.read_bytes() ret = result.read_bytes()
# with open(result.resolve().as_posix(), "rb") as f: # with open(result.resolve().as_posix(), "rb") as f:
# ret = f.read() # ret = f.read()
...@@ -448,6 +449,7 @@ class LauncherResource(Resource): ...@@ -448,6 +449,7 @@ class LauncherResource(Resource):
except ValidationError as e: except ValidationError as e:
return response_result(ResponseCode.HTTP_INVAILD_REQUEST, data=e.messages) return response_result(ResponseCode.HTTP_INVAILD_REQUEST, data=e.messages)
except Exception as e: except Exception as e:
traceback.print_exc()
data = None data = None
if hasattr(e, 'args'): if hasattr(e, 'args'):
data = e.args data = e.args
...@@ -471,7 +473,7 @@ class AppListResource(Resource): ...@@ -471,7 +473,7 @@ class AppListResource(Resource):
self.parser.add_argument( self.parser.add_argument(
"imei", type=str, location="json", required=False) "imei", type=str, location="json", required=False)
self.parser.add_argument( self.parser.add_argument(
"review", type=int, location="json", required=False) "review", type=int, location="json", default=1, required=False)
self.parser.add_argument("category", type=str, self.parser.add_argument("category", type=str,
location="json", required=False) location="json", required=False)
args = self.parser.parse_args() args = self.parser.parse_args()
...@@ -491,7 +493,7 @@ class AppListResource(Resource): ...@@ -491,7 +493,7 @@ class AppListResource(Resource):
t = item.to_dict() t = item.to_dict()
t.update({'download': random.randint(1, 1000), t.update({'download': random.randint(1, 1000),
'like': random.randint(0, 100), 'like': random.randint(0, 100),
'meta_data': json.loads(item.meta_data)}) 'meta_data': json.loads(item.meta_data) if item.meta_data else None})
dataList.append(t) dataList.append(t)
# result = getListAppsSchema.dumps(result) # result = getListAppsSchema.dumps(result)
...@@ -499,27 +501,32 @@ class AppListResource(Resource): ...@@ -499,27 +501,32 @@ class AppListResource(Resource):
{ {
"uuid": 1, "uuid": 1,
"img": "music.png", "img": "music.png",
"title": "音乐" "title": "音乐",
"url": "http://store.evmiot.com/uploads/store/music.png"
}, },
{ {
"uuid": 2, "uuid": 2,
"img": "movie.png", "img": "movie.png",
"title": "视频" "title": "视频",
"url": "http://store.evmiot.com/uploads/store/movie.png"
}, },
{ {
"uuid": 3, "uuid": 3,
"img": "camera.png", "img": "camera.png",
"title": "相机" "title": "相机",
"url": "http://store.evmiot.com/uploads/store/camera.png"
}, },
{ {
"uuid": 4, "uuid": 4,
"img": "voice.png", "img": "voice.png",
"title": "语音" "title": "语音",
"url": "http://store.evmiot.com/uploads/store/voice.png"
}, },
{ {
"uuid": 5, "uuid": 5,
"img": "tool.png", "img": "tool.png",
"title": "工具" "title": "工具",
"url": "http://store.evmiot.com/uploads/store/tool.png"
} }
] ]
......
...@@ -90,6 +90,7 @@ class ResponseCode(object): ...@@ -90,6 +90,7 @@ class ResponseCode(object):
# 应用模块 # 应用模块
APPLICATION_NOT_EXISTS = (3010001, 'application not exists') APPLICATION_NOT_EXISTS = (3010001, 'application not exists')
APPLICATION_EXISTS = (3010002, 'application already exists') APPLICATION_EXISTS = (3010002, 'application already exists')
APPLICATION_URL_IS_NULL = (3010003, 'application url null')
# 文件管理模块 # 文件管理模块
FILE_NOT_EXISTS = (3010001, 'file not exists') FILE_NOT_EXISTS = (3010001, 'file not exists')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment