Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
evm-store
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanli
evm-store
Commits
45d223b9
Commit
45d223b9
authored
Aug 03, 2021
by
wanli
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'release' of
ssh://47.105.117.50:2224/wanli/evm-store
into release
parents
8d6a85a3
b1082fdb
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
2642 additions
and
115 deletions
+2642
-115
tools/build_out/application/config.py
tools/build_out/application/config.py
+0
-89
tools/build_out/controllers/api.py
tools/build_out/controllers/api.py
+2
-0
tools/build_out/hao.360.cn.json
tools/build_out/hao.360.cn.json
+2526
-0
tools/build_out/manager.py
tools/build_out/manager.py
+17
-18
tools/build_out/result.json
tools/build_out/result.json
+1
-1
tools/build_out/views/__init__.py
tools/build_out/views/__init__.py
+4
-0
tools/build_out/views/business.py
tools/build_out/views/business.py
+76
-0
tools/build_out/views/monitor.py
tools/build_out/views/monitor.py
+1
-0
tools/build_out/views/openapi.py
tools/build_out/views/openapi.py
+14
-7
tools/build_out/webcreator/response.py
tools/build_out/webcreator/response.py
+1
-0
No files found.
tools/build_out/application/config.py
deleted
100644 → 0
View file @
8d6a85a3
# -*- 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
()
tools/build_out/controllers/api.py
View file @
45d223b9
...
...
@@ -200,6 +200,8 @@ class AppReview(object):
return
None
,
ResponseCode
.
APPLICATION_NOT_EXISTS
# 根据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
)
if
not
target_file
.
exists
():
return
None
,
ResponseCode
.
APPLICATION_NOT_EXISTS
...
...
tools/build_out/hao.360.cn.json
0 → 100644
View file @
45d223b9
{
"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
tools/build_out/manager.py
View file @
45d223b9
'''
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
\t
ools
\b
uild_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
\t
ools
\r
esources
\
manager.py
'''
# -*- coding: utf-8 -*-
from
tornado.wsgi
import
WSGIContainer
from
tornado.httpserver
import
HTTPServer
from
tornado.web
import
Application
,
RequestHandler
,
FallbackHandler
from
tornado.ioloop
import
IOLoop
from
flask_script
import
Manager
from
flask_migrate
import
Migrate
from
application.app
import
create_app
,
db
from
application.config
import
config
from
views.monitor
import
DeviceMessageHandler
,
WatchHandler
,
NotifyHandler
# 根据配置初始化app
app
=
create_app
(
config
)
...
...
@@ -38,7 +24,6 @@ def run():
To use: python3 manager.py run
"""
# app.logger.setLevel(app.config.get('LOG_LEVEL', logging.INFO))
http_server
=
HTTPServer
(
WSGIContainer
(
app
))
http_server
.
listen
(
int
(
port
),
address
=
host
)
IOLoop
.
instance
()
.
start
()
...
...
@@ -49,8 +34,22 @@ def debug():
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
.
run
(
debug
=
True
,
port
=
int
(
port
),
host
=
host
)
#
app.run(debug=True, port=int(port), host=host)
if
__name__
==
'__main__'
:
manager
.
run
()
tools/build_out/result.json
View file @
45d223b9
{
"directories"
:
[],
"files"
:
[{
"basename"
:
"details.md5"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"md5"
,
"filename"
:
"details"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/details.md5"
,
"size"
:
16
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"didi.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"didi"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/didi.png"
,
"size"
:
6417
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"evue_appstore.md5"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"md5"
,
"filename"
:
"evue_appstore"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/evue_appstore.md5"
,
"size"
:
16
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"download.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"download"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/download.png"
,
"size"
:
356
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"aiqiyi.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"aiqiyi"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/aiqiyi.png"
,
"size"
:
4999
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"alipay.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"alipay"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/alipay.png"
,
"size"
:
3545
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"evue_appstore.evue"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"evue"
,
"filename"
:
"evue_appstore"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/evue_appstore.evue"
,
"size"
:
1128
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"application_method.js"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"js"
,
"filename"
:
"application_method"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/application_method.js"
,
"size"
:
5041
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"qq.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"qq"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/qq.png"
,
"size"
:
5702
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"evm_store_64_64.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"evm_store_64_64"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/evm_store_64_64.png"
,
"size"
:
1189
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"evue_launcher.md5"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"md5"
,
"filename"
:
"evue_launcher"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/evue_launcher.md5"
,
"size"
:
16
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"enter.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"enter"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/enter.png"
,
"size"
:
700
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"call.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"call"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/call.png"
,
"size"
:
1266
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"camera.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"camera"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/camera.png"
,
"size"
:
3853
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"memory_management.js"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"js"
,
"filename"
:
"memory_management"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/memory_management.js"
,
"size"
:
4019
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"find_watch.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"find_watch"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/find_watch.png"
,
"size"
:
6352
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"yy.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"yy"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/yy.png"
,
"size"
:
5690
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"index.evue"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"evue"
,
"filename"
:
"index"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/index.evue"
,
"size"
:
14268
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"aliqua.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"aliqua"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/aliqua.png"
,
"size"
:
3120
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"ai-assistant.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"ai-assistant"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/ai-assistant.png"
,
"size"
:
5068
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"call2.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"call2"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/call2.png"
,
"size"
:
977
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"baidutieba.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"baidutieba"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/baidutieba.png"
,
"size"
:
3456
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"evue_launcher.evue"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"evue"
,
"filename"
:
"evue_launcher"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/evue_launcher.evue"
,
"size"
:
12816
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"installed.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"installed"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/installed.png"
,
"size"
:
1038
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"movie.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"movie"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/movie.png"
,
"size"
:
3816
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"like.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"like"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/like.png"
,
"size"
:
357
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"qq_music.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"qq_music"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/qq_music.png"
,
"size"
:
4030
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"details.evue"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"evue"
,
"filename"
:
"details"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/details.evue"
,
"size"
:
12448
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"backspace.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"backspace"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/backspace.png"
,
"size"
:
556
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"blueteeth.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"blueteeth"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/blueteeth.png"
,
"size"
:
868
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"appstore_application.json"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"json"
,
"filename"
:
"appstore_application"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/appstore_application.json"
,
"size"
:
213
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"epk.json"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"json"
,
"filename"
:
"epk"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/epk.json"
,
"size"
:
505
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"tool.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"tool"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/tool.png"
,
"size"
:
2531
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"360.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"360"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/360.png"
,
"size"
:
4038
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"call3.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"call3"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/call3.png"
,
"size"
:
756
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"gaode.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"gaode"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/gaode.png"
,
"size"
:
3923
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"voice.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"voice"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/voice.png"
,
"size"
:
3787
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"close.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"close"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/close.png"
,
"size"
:
971
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"music.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"music"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/music.png"
,
"size"
:
2880
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"index.md5"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"md5"
,
"filename"
:
"index"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/index.md5"
,
"size"
:
16
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"360kids.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"360kids"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/360kids.png"
,
"size"
:
5168
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"
\u
542f
\u
52a8
\u
5668.json"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"json"
,
"filename"
:
"
\u
542f
\u
52a8
\u
5668"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/
\u
542f
\u
52a8
\u
5668.json"
,
"size"
:
4708
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"back.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"back"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/back.png"
,
"size"
:
399
,
"timestamp"
:
1626938854
,
"type"
:
"file"
},
{
"basename"
:
"setup.png"
,
"dirname"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src"
,
"extension"
:
"png"
,
"filename"
:
"setup"
,
"path"
:
"
\u
542f
\u
52a8
\u
5668-1.0.1-2-20210722152734/src/setup.png"
,
"size"
:
937
,
"timestamp"
:
1626938854
,
"type"
:
"file"
}]}
\ No newline at end of file
{
"directories"
:
[{
"basename"
:
"
\u
7cfb
\u
7edf
\u
8bbe
\u
7f6e-1.0.0-2-20210722225315"
,
"dirname"
:
"."
,
"path"
:
"
\u
7cfb
\u
7edf
\u
8bbe
\u
7f6e-1.0.0-2-20210722225315"
,
"timestamp"
:
1626965595
,
"type"
:
"dir"
}],
"files"
:
[]}
\ No newline at end of file
tools/build_out/views/__init__.py
View file @
45d223b9
...
...
@@ -25,6 +25,7 @@ from . import monitorEvm
from
.
import
menu
from
.
import
file
from
.
import
openapi
from
.
import
business
api_v1
=
Blueprint
(
'api_v1'
,
__name__
)
...
...
@@ -65,6 +66,9 @@ api.add_resource(monitorImage.MonitorImageResourceList, '/monitorImage')
api
.
add_resource
(
monitorEvm
.
MonitorEvmResource
,
'/monitorEvm/<string:uuid>'
)
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
.
Batch
,
'/menu/delete/batch'
)
api
.
add_resource
(
menu
.
Create
,
'/menu/create'
)
...
...
tools/build_out/views/business.py
0 → 100644
View file @
45d223b9
#!/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
)
tools/build_out/views/monitor.py
View file @
45d223b9
...
...
@@ -354,3 +354,4 @@ if __name__ == "__main__":
signal
.
signal
(
signal
.
SIGTERM
,
raise_graceful_exit
)
tornado
.
ioloop
.
IOLoop
.
current
()
.
start
()
print
(
"WebSocket Service Started......"
)
tools/build_out/views/openapi.py
View file @
45d223b9
...
...
@@ -440,6 +440,7 @@ class LauncherResource(Resource):
result
,
message
=
signalManager
.
actionGetLauncher
.
emit
(
data
)
if
result
:
logger
.
info
(
result
.
resolve
())
ret
=
result
.
read_bytes
()
# with open(result.resolve().as_posix(), "rb") as f:
# ret = f.read()
...
...
@@ -448,6 +449,7 @@ class LauncherResource(Resource):
except
ValidationError
as
e
:
return
response_result
(
ResponseCode
.
HTTP_INVAILD_REQUEST
,
data
=
e
.
messages
)
except
Exception
as
e
:
traceback
.
print_exc
()
data
=
None
if
hasattr
(
e
,
'args'
):
data
=
e
.
args
...
...
@@ -471,7 +473,7 @@ class AppListResource(Resource):
self
.
parser
.
add_argument
(
"imei"
,
type
=
str
,
location
=
"json"
,
required
=
False
)
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
,
location
=
"json"
,
required
=
False
)
args
=
self
.
parser
.
parse_args
()
...
...
@@ -491,7 +493,7 @@ class AppListResource(Resource):
t
=
item
.
to_dict
()
t
.
update
({
'download'
:
random
.
randint
(
1
,
1000
),
'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
)
# result = getListAppsSchema.dumps(result)
...
...
@@ -499,27 +501,32 @@ class AppListResource(Resource):
{
"uuid"
:
1
,
"img"
:
"music.png"
,
"title"
:
"音乐"
"title"
:
"音乐"
,
"url"
:
"http://store.evmiot.com/uploads/store/music.png"
},
{
"uuid"
:
2
,
"img"
:
"movie.png"
,
"title"
:
"视频"
"title"
:
"视频"
,
"url"
:
"http://store.evmiot.com/uploads/store/movie.png"
},
{
"uuid"
:
3
,
"img"
:
"camera.png"
,
"title"
:
"相机"
"title"
:
"相机"
,
"url"
:
"http://store.evmiot.com/uploads/store/camera.png"
},
{
"uuid"
:
4
,
"img"
:
"voice.png"
,
"title"
:
"语音"
"title"
:
"语音"
,
"url"
:
"http://store.evmiot.com/uploads/store/voice.png"
},
{
"uuid"
:
5
,
"img"
:
"tool.png"
,
"title"
:
"工具"
"title"
:
"工具"
,
"url"
:
"http://store.evmiot.com/uploads/store/tool.png"
}
]
...
...
tools/build_out/webcreator/response.py
View file @
45d223b9
...
...
@@ -90,6 +90,7 @@ class ResponseCode(object):
# 应用模块
APPLICATION_NOT_EXISTS
=
(
3010001
,
'application not exists'
)
APPLICATION_EXISTS
=
(
3010002
,
'application already exists'
)
APPLICATION_URL_IS_NULL
=
(
3010003
,
'application url null'
)
# 文件管理模块
FILE_NOT_EXISTS
=
(
3010001
,
'file not exists'
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment