Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
逆着光、寻觅
dr_py
提交
314a5cdd
dr_py
项目概览
逆着光、寻觅
/
dr_py
与 Fork 源项目一致
Fork自
晚风拂柳颜 / dr_py
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
dr_py
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
314a5cdd
编写于
10月 17, 2022
作者:
H
hjdhnx
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
优化drpy豆瓣源支持本地js
上级
f160ead3
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
158 addition
and
148 deletion
+158
-148
base/rules.db
base/rules.db
+0
-0
js/drpy.js
js/drpy.js
+1
-1
js/drpy.jsd
js/drpy.jsd
+34
-0
js/rules.py
js/rules.py
+4
-2
js/version.txt
js/version.txt
+1
-1
py/drpy一级.js
py/drpy一级.js
+117
-143
templates/config.txt
templates/config.txt
+1
-1
未找到文件。
base/rules.db
浏览文件 @
314a5cdd
无法预览此类型文件
js/drpy.js
浏览文件 @
314a5cdd
...
@@ -28,7 +28,7 @@ var rule = {
...
@@ -28,7 +28,7 @@ var rule = {
lazy
:
''
,
lazy
:
''
,
// 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
// 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
一级
:
''
,
一级
:
''
,
一级
:
'
js:let d=[];let douban=input.split("douban=")[1].split("&")[0];let douban_api_host="https://frodo.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);return JSON.parse(html)}catch(e){print("发生了错误:"+e.message);return{}}}function cate_filter(d,douban){douban=douban||"";try{
if(MY_CATE==="interests"){if(douban){let status=MY_FL.status||"mark";let subtype_tag=MY_FL.subtype_tag||"";let year_tag=MY_FL.year_tag||"全部";let path="/user/"+douban+"/interests";let res=miniapp_request(path,{type:"movie",status:status,subtype_tag:subtype_tag,year_tag:year_tag,start:(MY_PAGE-1)*count,count:count})}else{return{}}}else if(MY_CATE==="hot_gaia"){let sort=MY_FL.sort||"recommend";let area=MY_FL.area||"全部";let path="/movie/"+MY_CATE;let res=miniapp_request(path,{area:area,sort:sort,start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE==="tv_hot"||MY_CATE==="show_hot"){let stype=MY_FL.type||MY_CATE;let path="/subject_collection/"+stype+"/items";let res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE.startsWith("rank_list")){let id=MY_CATE==="rank_list_movie"?"movie_real_time_hotest":"tv_real_time_hotest";id=MY_FL.榜单||id;let path="/subject_collection/"+id+"/items";let res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else{let path="/"+MY_CATE+"/recommend";let selected_categories;if(Object.keys(MY_FL).length>0){let sort=MY_FL.sort||"T";let tags=Object.Values(MY_FL).join(",");if(MY_CATE==="movie"){selected_categories={"类型":MY_FL.类型||"","地区":MY_FL.地区||""}}else{selected_categories={"类型":MY_FL.类型||"","形式":MY_FL.类型?MY_FL.类型+"地区":"","地区":MY_FL.地区||""}}}else{let sort="T";let tags="";if(MY_CATE==="movie"){selected_categories={"类型":"","地区":""}}else{selected_categories={"类型":"","形式":"","地区":""}}}let params={tags:tags,sort:sort,refresh:0,selected_categories:stringify(selected_categories),start:(MY_PAGE-1)*count,count:count};let
res=miniapp_request(path,params)}let result={page:MY_PAGE,pagecount:Math.ceil(res.total/count),limit:count,total:res.total};let items=[];if(/^rank_list|tv_hot|show_hot/.test(MY_CATE)){items=res["subject_collection_items"]}else if(MY_CATE==="interests"){res["interests"].forEach(function(it){items.push(it.subject)})}else{items=res.items}let lists=[];items.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"";let rat_str=rating||"暂无评分";let title=item.title;let honor=item.honor_infos||[];let honor_str=honor.map(function(it){return it.title}).join("|");let vod_obj={vod_name:title!=="未知电影"?title:"暂不支持展示",vod_pic:item.pic.normal,vod_remarks:rat_str+" "+honor_str};let vod_obj_d={url:item.type+"$"+item.id,title:title!=="未知电影"?title:"暂不支持展示",pic_url:item.pic.normal,desc:rat_str+" "+honor_str};lists.push(vod_obj);d.push(vod_obj_d)}});result.list=lists;return result}catch(e){print(e.message)}return{}}let res=cate_filter(d);setResult2(res);
'
,
一级
:
'
js:let d=[];let douban=input.split("douban=")[1].split("&")[0];let douban_api_host="https://frodo.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);return JSON.parse(html)}catch(e){print("发生了错误:"+e.message);return{}}}function cate_filter(d,douban){douban=douban||"";try{
let res={};if(MY_CATE==="interests"){if(douban){let status=MY_FL.status||"mark";let subtype_tag=MY_FL.subtype_tag||"";let year_tag=MY_FL.year_tag||"全部";let path="/user/"+douban+"/interests";res=miniapp_request(path,{type:"movie",status:status,subtype_tag:subtype_tag,year_tag:year_tag,start:(MY_PAGE-1)*count,count:count})}else{return{}}}else if(MY_CATE==="hot_gaia"){let sort=MY_FL.sort||"recommend";let area=MY_FL.area||"全部";let path="/movie/"+MY_CATE;res=miniapp_request(path,{area:area,sort:sort,start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE==="tv_hot"||MY_CATE==="show_hot"){let stype=MY_FL.type||MY_CATE;let path="/subject_collection/"+stype+"/items";res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE.startsWith("rank_list")){let id=MY_CATE==="rank_list_movie"?"movie_real_time_hotest":"tv_real_time_hotest";id=MY_FL.榜单||id;let path="/subject_collection/"+id+"/items";res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else{let path="/"+MY_CATE+"/recommend";let selected_categories;let tags;let sort;if(Object.keys(MY_FL).length>0){sort=MY_FL.sort||"T";tags=Object.values(MY_FL).join(",");if(MY_CATE==="movie"){selected_categories={"类型":MY_FL.类型||"","地区":MY_FL.地区||""}}else{selected_categories={"类型":MY_FL.类型||"","形式":MY_FL.类型?MY_FL.类型+"地区":"","地区":MY_FL.地区||""}}}else{sort="T";tags="";if(MY_CATE==="movie"){selected_categories={"类型":"","地区":""}}else{selected_categories={"类型":"","形式":"","地区":""}}}let params={tags:tags,sort:sort,refresh:0,selected_categories:stringify(selected_categories),start:(MY_PAGE-1)*count,count:count};
res=miniapp_request(path,params)}let result={page:MY_PAGE,pagecount:Math.ceil(res.total/count),limit:count,total:res.total};let items=[];if(/^rank_list|tv_hot|show_hot/.test(MY_CATE)){items=res["subject_collection_items"]}else if(MY_CATE==="interests"){res["interests"].forEach(function(it){items.push(it.subject)})}else{items=res.items}let lists=[];items.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"";let rat_str=rating||"暂无评分";let title=item.title;let honor=item.honor_infos||[];let honor_str=honor.map(function(it){return it.title}).join("|");let vod_obj={vod_name:title!=="未知电影"?title:"暂不支持展示",vod_pic:item.pic.normal,vod_remarks:rat_str+" "+honor_str};let vod_obj_d={url:item.type+"$"+item.id,title:title!=="未知电影"?title:"暂不支持展示",pic_url:item.pic.normal,desc:rat_str+" "+honor_str};lists.push(vod_obj);d.push(vod_obj_d)}});result.list=lists;return result}catch(e){print(e.message)}return{}}let res=cate_filter(d);setResult2(res);
'
,
二级
:
''
,
二级
:
''
,
搜索
:
''
,
搜索
:
''
,
}
}
\ No newline at end of file
js/drpy.jsd
0 → 100644
浏览文件 @
314a5cdd
var rule = {
title:'drpy',
host:'https://frodo.douban.com',
homeUrl:'',
searchUrl:'',
searchable:1,
quickSearch:1,
filterable:1,
// 分类链接fypage参数支持1个()表达式
url:'/?pg=fypage&class=fyclass&douban=',
filter_url:'fl={{fl}}',
headers:{
"Host": "frodo.douban.com",
"Connection": "Keep-Alive",
"Referer": "https://servicewechat.com/wx2f9b06c1de1ccfca/84/page-frame.html",
"content-type": "application/json",
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat"
},
timeout:5000,
class_name:'我的豆瓣&热门电影&热播剧集&热播综艺&电影筛选&电视筛选&电影榜单&电视榜单',
class_url:'interests&hot_gaia&tv_hot&show_hot&movie&tv&rank_list_movie&rank_list_tv',
filter:{'interests': [{'key': 'status', 'name': '状态', 'value': [{'n': '想看', 'v': 'mark'}, {'n': '在看', 'v': 'doing'}, {'n': '看过', 'v': 'done'}]}, {'key': 'subtype_tag', 'name': '形式', 'value': [{'n': '全部', 'v': ''}, {'n': '电影', 'v': 'movie'}, {'n': '电视', 'v': 'tv'}]}, {'key': 'year_tag', 'name': '年代', 'value': [{'n': '全部', 'v': '全部'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2010年代', 'v': '2010年代'}, {'n': '2000年代', 'v': '2000年代'}, {'n': '90年代', 'v': '90年代'}, {'n': '80年代', 'v': '80年代'}, {'n': '70年代', 'v': '70年代'}, {'n': '60年代', 'v': '60年代'}, {'n': '更早', 'v': '更早'}]}], 'hot_gaia': [{'key': 'sort', 'name': '排序', 'value': [{'n': '热度', 'v': 'recommend'}, {'n': '最新', 'v': 'time'}, {'n': '评分', 'v': 'rank'}]}, {'key': 'area', 'name': '地区', 'value': [{'n': '全部', 'v': '全部'}, {'n': '华语', 'v': '华语'}, {'n': '欧美', 'v': '欧美'}, {'n': '韩国', 'v': '韩国'}, {'n': '日本', 'v': '日本'}]}], 'tv_hot': [{'key': 'type', 'name': '分类', 'value': [{'n': '综合', 'v': 'tv_hot'}, {'n': '国产剧', 'v': 'tv_domestic'}, {'n': '欧美剧', 'v': 'tv_american'}, {'n': '日剧', 'v': 'tv_japanese'}, {'n': '韩剧', 'v': 'tv_korean'}, {'n': '动画', 'v': 'tv_animation'}]}], 'show_hot': [{'key': 'type', 'name': '分类', 'value': [{'n': '综合', 'v': 'show_hot'}, {'n': '国内', 'v': 'show_domestic'}, {'n': '国外', 'v': 'show_foreign'}]}], 'movie': [{'key': '类型', 'name': '类型', 'value': [{'n': '全部类型', 'v': ''}, {'n': '喜剧', 'v': '喜剧'}, {'n': '爱情', 'v': '爱情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '动画', 'v': '动画'}, {'n': '悬疑', 'v': '悬疑'}, {'n': '犯罪', 'v': '犯罪'}, {'n': '惊悚', 'v': '惊悚'}, {'n': '冒险', 'v': '冒险'}, {'n': '音乐', 'v': '音乐'}, {'n': '历史', 'v': '历史'}, {'n': '奇幻', 'v': '奇幻'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '战争', 'v': '战争'}, {'n': '传记', 'v': '传记'}, {'n': '歌舞', 'v': '歌舞'}, {'n': '武侠', 'v': '武侠'}, {'n': '情色', 'v': '情色'}, {'n': '灾难', 'v': '灾难'}, {'n': '西部', 'v': '西部'}, {'n': '纪录片', 'v': '纪录片'}, {'n': '短片', 'v': '短片'}]}, {'key': '地区', 'name': '地区', 'value': [{'n': '全部地区', 'v': ''}, {'n': '华语', 'v': '华语'}, {'n': '欧美', 'v': '欧美'}, {'n': '韩国', 'v': '韩国'}, {'n': '日本', 'v': '日本'}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '英国', 'v': '英国'}, {'n': '法国', 'v': '法国'}, {'n': '德国', 'v': '德国'}, {'n': '意大利', 'v': '意大利'}, {'n': '西班牙', 'v': '西班牙'}, {'n': '印度', 'v': '印度'}, {'n': '泰国', 'v': '泰国'}, {'n': '俄罗斯', 'v': '俄罗斯'}, {'n': '加拿大', 'v': '加拿大'}, {'n': '澳大利亚', 'v': '澳大利亚'}, {'n': '爱尔兰', 'v': '爱尔兰'}, {'n': '瑞典', 'v': '瑞典'}, {'n': '巴西', 'v': '巴西'}, {'n': '丹麦', 'v': '丹麦'}]}, {'key': 'sort', 'name': '排序', 'value': [{'n': '近期热度', 'v': 'T'}, {'n': '首映时间', 'v': 'R'}, {'n': '高分优先', 'v': 'S'}]}, {'key': '年代', 'name': '年代', 'value': [{'n': '全部年代', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2010年代', 'v': '2010年代'}, {'n': '2000年代', 'v': '2000年代'}, {'n': '90年代', 'v': '90年代'}, {'n': '80年代', 'v': '80年代'}, {'n': '70年代', 'v': '70年代'}, {'n': '60年代', 'v': '60年代'}, {'n': '更早', 'v': '更早'}]}], 'tv': [{'key': '类型', 'name': '类型', 'value': [{'n': '不限', 'v': ''}, {'n': '电视剧', 'v': '电视剧'}, {'n': '综艺', 'v': '综艺'}]}, {'key': '电视剧形式', 'name': '电视剧形式', 'value': [{'n': '不限', 'v': ''}, {'n': '喜剧', 'v': '喜剧'}, {'n': '爱情', 'v': '爱情'}, {'n': '悬疑', 'v': '悬疑'}, {'n': '动画', 'v': '动画'}, {'n': '武侠', 'v': '武侠'}, {'n': '古装', 'v': '古装'}, {'n': '家庭', 'v': '家庭'}, {'n': '犯罪', 'v': '犯罪'}, {'n': '科幻', 'v': '科幻'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '历史', 'v': '历史'}, {'n': '战争', 'v': '战争'}, {'n': '动作', 'v': '动作'}, {'n': '冒险', 'v': '冒险'}, {'n': '传记', 'v': '传记'}, {'n': '剧情', 'v': '剧情'}, {'n': '奇幻', 'v': '奇幻'}, {'n': '惊悚', 'v': '惊悚'}, {'n': '灾难', 'v': '灾难'}, {'n': '歌舞', 'v': '歌舞'}, {'n': '音乐', 'v': '音乐'}]}, {'key': '综艺形式', 'name': '综艺形式', 'value': [{'n': '不限', 'v': ''}, {'n': '真人秀', 'v': '真人秀'}, {'n': '脱口秀', 'v': '脱口秀'}, {'n': '音乐', 'v': '音乐'}, {'n': '歌舞', 'v': '歌舞'}]}, {'key': '地区', 'name': '地区', 'value': [{'n': '全部地区', 'v': ''}, {'n': '华语', 'v': '华语'}, {'n': '欧美', 'v': '欧美'}, {'n': '国外', 'v': '国外'}, {'n': '韩国', 'v': '韩国'}, {'n': '日本', 'v': '日本'}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '美国', 'v': '美国'}, {'n': '英国', 'v': '英国'}, {'n': '泰国', 'v': '泰国'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '意大利', 'v': '意大利'}, {'n': '法国', 'v': '法国'}, {'n': '德国', 'v': '德国'}, {'n': '西班牙', 'v': '西班牙'}, {'n': '俄罗斯', 'v': '俄罗斯'}, {'n': '瑞典', 'v': '瑞典'}, {'n': '巴西', 'v': '巴西'}, {'n': '丹麦', 'v': '丹麦'}, {'n': '印度', 'v': '印度'}, {'n': '加拿大', 'v': '加拿大'}, {'n': '爱尔兰', 'v': '爱尔兰'}, {'n': '澳大利亚', 'v': '澳大利亚'}]}, {'key': 'sort', 'name': '排序', 'value': [{'n': '近期热度', 'v': 'T'}, {'n': '首播时间', 'v': 'R'}, {'n': '高分优先', 'v': 'S'}]}, {'key': '年代', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2010年代', 'v': '2010年代'}, {'n': '2000年代', 'v': '2000年代'}, {'n': '90年代', 'v': '90年代'}, {'n': '80年代', 'v': '80年代'}, {'n': '70年代', 'v': '70年代'}, {'n': '60年代', 'v': '60年代'}, {'n': '更早', 'v': '更早'}]}, {'key': '平台', 'name': '平台', 'value': [{'n': '全部', 'v': ''}, {'n': '腾讯视频', 'v': '腾讯视频'}, {'n': '爱奇艺', 'v': '爱奇艺'}, {'n': '优酷', 'v': '优酷'}, {'n': '湖南卫视', 'v': '湖南卫视'}, {'n': 'Netflix', 'v': 'Netflix'}, {'n': 'HBO', 'v': 'HBO'}, {'n': 'BBC', 'v': 'BBC'}, {'n': 'NHK', 'v': 'NHK'}, {'n': 'CBS', 'v': 'CBS'}, {'n': 'NBC', 'v': 'NBC'}, {'n': 'tvN', 'v': 'tvN'}]}], 'rank_list_movie': [{'key': '榜单', 'name': '榜单', 'value': [{'n': '实时热门电影', 'v': 'movie_real_time_hotest'}, {'n': '一周口碑电影榜', 'v': 'movie_weekly_best'}, {'n': '豆瓣电影Top250', 'v': 'movie_top250'}]}], 'rank_list_tv': [{'key': '榜单', 'name': '榜单', 'value': [{'n': '实时热门电视', 'v': 'tv_real_time_hotest'}, {'n': '华语口碑剧集榜', 'v': 'tv_chinese_best_weekly'}, {'n': '全球口碑剧集榜', 'v': 'tv_global_best_weekly'}, {'n': '国内口碑综艺榜', 'v': 'show_chinese_best_weekly'}, {'n': '国外口碑综艺榜', 'v': 'show_global_best_weekly'}]}]},
limit:20,
play_parse:false,
推荐:'',
推荐:'js:let d=[];let douban_api_host="https://frodo.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);return JSON.parse(html)}catch(e){print("发生了错误:"+e.message);return{}}}function subject_real_time_hotest(){try{let res=miniapp_request("/subject_collection/subject_real_time_hotest/items",{});let lists=[];let arr=res.subject_collection_items||[];arr.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"暂无评分";let honnor=(item.honor_infos||[]).map(function(it){return it.title}).join("|");lists.append({vod_id:"msearch:"+TYPE,vod_name:item.title||"",vod_pic:item.pic.normal,vod_remarks:rating+" "+honnor})}});return lists}catch(e){print("发生了错误:"+e.message);return[]}}VODS=subject_real_time_hotest();print(VODS);',
// 手动调用解析请求json的url,此lazy不方便
lazy:'',
// 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float',
一级:'',
一级:'js:let d=[];let douban=input.split("douban=")[1].split("&")[0];let douban_api_host="https://frodo.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);return JSON.parse(html)}catch(e){print("发生了错误:"+e.message);return{}}}function cate_filter(d,douban){douban=douban||"";try{if(MY_CATE==="interests"){if(douban){let status=MY_FL.status||"mark";let subtype_tag=MY_FL.subtype_tag||"";let year_tag=MY_FL.year_tag||"全部";let path="/user/"+douban+"/interests";let res=miniapp_request(path,{type:"movie",status:status,subtype_tag:subtype_tag,year_tag:year_tag,start:(MY_PAGE-1)*count,count:count})}else{return{}}}else if(MY_CATE==="hot_gaia"){let sort=MY_FL.sort||"recommend";let area=MY_FL.area||"全部";let path="/movie/"+MY_CATE;let res=miniapp_request(path,{area:area,sort:sort,start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE==="tv_hot"||MY_CATE==="show_hot"){let stype=MY_FL.type||MY_CATE;let path="/subject_collection/"+stype+"/items";let res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE.startsWith("rank_list")){let id=MY_CATE==="rank_list_movie"?"movie_real_time_hotest":"tv_real_time_hotest";id=MY_FL.榜单||id;let path="/subject_collection/"+id+"/items";let res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else{let path="/"+MY_CATE+"/recommend";let selected_categories;if(Object.keys(MY_FL).length>0){let sort=MY_FL.sort||"T";let tags=Object.Values(MY_FL).join(",");if(MY_CATE==="movie"){selected_categories={"类型":MY_FL.类型||"","地区":MY_FL.地区||""}}else{selected_categories={"类型":MY_FL.类型||"","形式":MY_FL.类型?MY_FL.类型+"地区":"","地区":MY_FL.地区||""}}}else{let sort="T";let tags="";if(MY_CATE==="movie"){selected_categories={"类型":"","地区":""}}else{selected_categories={"类型":"","形式":"","地区":""}}}let params={tags:tags,sort:sort,refresh:0,selected_categories:stringify(selected_categories),start:(MY_PAGE-1)*count,count:count};let res=miniapp_request(path,params)}let result={page:MY_PAGE,pagecount:Math.ceil(res.total/count),limit:count,total:res.total};let items=[];if(/^rank_list|tv_hot|show_hot/.test(MY_CATE)){items=res["subject_collection_items"]}else if(MY_CATE==="interests"){res["interests"].forEach(function(it){items.push(it.subject)})}else{items=res.items}let lists=[];items.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"";let rat_str=rating||"暂无评分";let title=item.title;let honor=item.honor_infos||[];let honor_str=honor.map(function(it){return it.title}).join("|");let vod_obj={vod_name:title!=="未知电影"?title:"暂不支持展示",vod_pic:item.pic.normal,vod_remarks:rat_str+" "+honor_str};let vod_obj_d={url:item.type+"$"+item.id,title:title!=="未知电影"?title:"暂不支持展示",pic_url:item.pic.normal,desc:rat_str+" "+honor_str};lists.push(vod_obj);d.push(vod_obj_d)}});result.list=lists;return result}catch(e){print(e.message)}return{}}let res=cate_filter(d);setResult2(res);',
二级:'',
搜索:'',
}
\ No newline at end of file
js/rules.py
浏览文件 @
314a5cdd
...
@@ -73,6 +73,7 @@ def getRulesJs2py(path='cache',js_mode=0):
...
@@ -73,6 +73,7 @@ def getRulesJs2py(path='cache',js_mode=0):
# rule_codes 是个 js2py.base.JsObjectWrapper 类型,所以下面才能用. 获取属性
# rule_codes 是个 js2py.base.JsObjectWrapper 类型,所以下面才能用. 获取属性
new_rule_list
=
[]
new_rule_list
=
[]
for
i
in
range
(
len
(
rule_list
)):
for
i
in
range
(
len
(
rule_list
)):
# 过滤排除drpy
if
js_mode
==
1
and
rule_list
[
i
]
==
'drpy'
:
if
js_mode
==
1
and
rule_list
[
i
]
==
'drpy'
:
continue
continue
sable
=
rule_codes
[
i
].
searchable
or
0
sable
=
rule_codes
[
i
].
searchable
or
0
...
@@ -125,8 +126,9 @@ def getRules(path='cache',js_mode=0):
...
@@ -125,8 +126,9 @@ def getRules(path='cache',js_mode=0):
# rule_codes 是个 js2py.base.JsObjectWrapper 类型,所以下面才能用. 获取属性
# rule_codes 是个 js2py.base.JsObjectWrapper 类型,所以下面才能用. 获取属性
new_rule_list
=
[]
new_rule_list
=
[]
for
i
in
range
(
len
(
rule_list
)):
for
i
in
range
(
len
(
rule_list
)):
if
js_mode
==
1
and
rule_list
[
i
]
==
'drpy'
:
# 过滤排除drpy
continue
# if js_mode == 1 and rule_list[i] == 'drpy':
# continue
rule_codes
[
i
]
=
ujson
.
loads
(
rule_codes
[
i
].
json
())
rule_codes
[
i
]
=
ujson
.
loads
(
rule_codes
[
i
].
json
())
sable
=
rule_codes
[
i
].
get
(
'searchable'
,
0
)
sable
=
rule_codes
[
i
].
get
(
'searchable'
,
0
)
tmpObj
=
{
tmpObj
=
{
...
...
js/version.txt
浏览文件 @
314a5cdd
3.9.9
3.9.9beta1
\ No newline at end of file
\ No newline at end of file
py/drpy一级.js
浏览文件 @
314a5cdd
js
:
js
:
// print(input);
// print(MY_CATE);
// print(MY_PAGE);
// print(MY_FL);
let
d
=
[];
let
d
=
[];
let
douban
=
input
.
split
(
'
douban=
'
)[
1
].
split
(
'
&
'
)[
0
];
let
douban
=
input
.
split
(
"
douban=
"
)[
1
].
split
(
"
&
"
)[
0
];
let
douban_api_host
=
'
https://frodo.douban.com/api/v2
'
;
let
douban_api_host
=
"
https://frodo.douban.com/api/v2
"
;
let
miniapp_apikey
=
'
0ac44ae016490db2204ce0a042db2916
'
;
let
miniapp_apikey
=
"
0ac44ae016490db2204ce0a042db2916
"
;
const
count
=
30
;
const
count
=
30
;
function
miniapp_request
(
path
,
query
){
function
miniapp_request
(
path
,
query
)
{
try
{
try
{
let
url
=
douban_api_host
+
path
;
let
url
=
douban_api_host
+
path
;
query
.
apikey
=
miniapp_apikey
;
query
.
apikey
=
miniapp_apikey
;
// let headers = {
// "Host": "frodo.douban.com",
// "Connection": "Keep-Alive",
// "Referer": "https://servicewechat.com/wx2f9b06c1de1ccfca/84/page-frame.html",
// "content-type": "application/json",
// "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat"
// }
// fetch_params.headers = headers;
fetch_params
.
headers
=
oheaders
;
fetch_params
.
headers
=
oheaders
;
// print(fetch_params);
url
=
buildUrl
(
url
,
query
);
url
=
buildUrl
(
url
,
query
);
let
html
=
fetch
(
url
,
fetch_params
);
// let html = request(url);
return
JSON
.
parse
(
html
)
let
html
=
fetch
(
url
,
fetch_params
);
}
catch
(
e
)
{
// print(html);
print
(
"
发生了错误:
"
+
e
.
message
);
return
JSON
.
parse
(
html
);
return
{}
}
catch
(
e
){
print
(
'
发生了错误:
'
+
e
.
message
);
return
{}
}
}
}
}
function
cate_filter
(
d
,
douban
)
{
function
cate_filter
(
d
,
douban
)
{
douban
=
douban
||
''
;
douban
=
douban
||
""
;
try
{
try
{
if
(
MY_CATE
===
'
interests
'
){
let
res
=
{};
if
(
douban
)
{
if
(
MY_CATE
===
"
interests
"
)
{
let
status
=
MY_FL
.
status
||
"
mark
"
;
if
(
douban
)
{
let
subtype_tag
=
MY_FL
.
subtype_tag
||
"
"
;
let
status
=
MY_FL
.
status
||
"
mark
"
;
let
year_tag
=
MY_FL
.
year_tag
||
"
全部
"
;
let
subtype_tag
=
MY_FL
.
subtype_tag
||
"
"
;
let
path
=
"
/user/
"
+
douban
+
"
/interests
"
;
let
year_tag
=
MY_FL
.
year_tag
||
"
全部
"
;
let
res
=
miniapp_request
(
path
,
{
let
path
=
"
/user/
"
+
douban
+
"
/interests
"
;
"
type
"
:
"
movie
"
,
res
=
miniapp_request
(
path
,
{
"
status
"
:
status
,
type
:
"
movie
"
,
"
subtype_tag
"
:
subtype_tag
,
status
:
status
,
"
year_tag
"
:
year
_tag
,
subtype_tag
:
subtype
_tag
,
"
start
"
:
(
MY_PAGE
-
1
)
*
count
,
year_tag
:
year_tag
,
"
count
"
:
count
start
:
(
MY_PAGE
-
1
)
*
count
,
});
count
:
count
// print(res);
})
}
else
{
}
else
{
return
{}
return
{}
}
}
}
else
if
(
MY_CATE
===
"
hot_gaia
"
){
}
else
if
(
MY_CATE
===
"
hot_gaia
"
)
{
let
sort
=
MY_FL
.
sort
||
"
recommend
"
;
let
sort
=
MY_FL
.
sort
||
"
recommend
"
;
let
area
=
MY_FL
.
area
||
"
全部
"
;
let
area
=
MY_FL
.
area
||
"
全部
"
;
let
path
=
'
/movie/
'
+
MY_CATE
;
let
path
=
"
/movie/
"
+
MY_CATE
;
let
res
=
miniapp_request
(
path
,
{
res
=
miniapp_request
(
path
,
{
"
area
"
:
area
,
area
:
area
,
"
sort
"
:
sort
,
sort
:
sort
,
"
start
"
:
(
MY_PAGE
-
1
)
*
count
,
start
:
(
MY_PAGE
-
1
)
*
count
,
"
count
"
:
count
count
:
count
});
})
// print(res);
}
else
if
(
MY_CATE
===
"
tv_hot
"
||
MY_CATE
===
"
show_hot
"
)
{
}
else
if
(
MY_CATE
===
"
tv_hot
"
||
MY_CATE
===
"
show_hot
"
){
let
stype
=
MY_FL
.
type
||
MY_CATE
;
let
stype
=
MY_FL
.
type
||
MY_CATE
;
let
path
=
"
/subject_collection/
"
+
stype
+
"
/items
"
;
let
path
=
"
/subject_collection/
"
+
stype
+
"
/items
"
res
=
miniapp_request
(
path
,
{
let
res
=
miniapp_request
(
path
,
{
start
:
(
MY_PAGE
-
1
)
*
count
,
"
start
"
:
(
MY_PAGE
-
1
)
*
count
,
count
:
count
"
count
"
:
count
})
});
}
else
if
(
MY_CATE
.
startsWith
(
"
rank_list
"
))
{
// print(res);
let
id
=
MY_CATE
===
"
rank_list_movie
"
?
"
movie_real_time_hotest
"
:
"
tv_real_time_hotest
"
;
}
id
=
MY_FL
.
榜单
||
id
;
else
if
(
MY_CATE
.
startsWith
(
"
rank_list
"
)){
let
path
=
"
/subject_collection/
"
+
id
+
"
/items
"
;
let
id
=
MY_CATE
===
"
rank_list_movie
"
?
"
movie_real_time_hotest
"
:
"
tv_real_time_hotest
"
;
res
=
miniapp_request
(
path
,
{
id
=
MY_FL
.
榜单
||
id
;
start
:
(
MY_PAGE
-
1
)
*
count
,
let
path
=
"
/subject_collection/
"
+
id
+
"
/items
"
;
count
:
count
let
res
=
miniapp_request
(
path
,
{
})
"
start
"
:
(
MY_PAGE
-
1
)
*
count
,
}
else
{
"
count
"
:
count
let
path
=
"
/
"
+
MY_CATE
+
"
/recommend
"
;
});
// print(res);
}
else
{
let
path
=
"
/
"
+
MY_CATE
+
"
/recommend
"
;
let
selected_categories
;
let
selected_categories
;
if
(
Object
.
keys
(
MY_FL
).
length
>
0
){
let
tags
;
let
sort
=
MY_FL
.
sort
||
"
T
"
;
let
sort
;
let
tags
=
Object
.
Values
(
MY_FL
).
join
(
'
,
'
);
if
(
Object
.
keys
(
MY_FL
).
length
>
0
)
{
if
(
MY_CATE
===
"
movie
"
){
sort
=
MY_FL
.
sort
||
"
T
"
;
tags
=
Object
.
values
(
MY_FL
).
join
(
"
,
"
);
if
(
MY_CATE
===
"
movie
"
)
{
selected_categories
=
{
selected_categories
=
{
"
类型
"
:
MY_FL
.
类型
||
''
,
"
类型
"
:
MY_FL
.
类型
||
""
,
"
地区
"
:
MY_FL
.
地区
||
''
"
地区
"
:
MY_FL
.
地区
||
""
}
}
}
else
{
}
else
{
selected_categories
=
{
selected_categories
=
{
"
类型
"
:
MY_FL
.
类型
||
""
,
"
类型
"
:
MY_FL
.
类型
||
""
,
"
形式
"
:
MY_FL
.
类型
?
MY_FL
.
类型
+
'
地区
'
:
''
,
"
形式
"
:
MY_FL
.
类型
?
MY_FL
.
类型
+
"
地区
"
:
""
,
"
地区
"
:
MY_FL
.
地区
||
""
"
地区
"
:
MY_FL
.
地区
||
""
}
}
}
}
}
else
{
}
else
{
let
sort
=
"
T
"
;
sort
=
"
T
"
;
let
tags
=
""
;
tags
=
""
;
if
(
MY_CATE
===
"
movie
"
)
{
if
(
MY_CATE
===
"
movie
"
)
{
selected_categories
=
{
selected_categories
=
{
"
类型
"
:
""
,
"
类型
"
:
""
,
"
地区
"
:
""
"
地区
"
:
""
};
}
}
else
{
}
else
{
selected_categories
=
{
selected_categories
=
{
"
类型
"
:
""
,
"
类型
"
:
""
,
"
形式
"
:
""
,
"
形式
"
:
""
,
"
地区
"
:
""
"
地区
"
:
""
}
}
}
}
}
}
let
params
=
{
let
params
=
{
"
tags
"
:
tags
,
tags
:
tags
,
"
sort
"
:
sort
,
sort
:
sort
,
"
refresh
"
:
0
,
refresh
:
0
,
"
selected_categories
"
:
stringify
(
selected_categories
),
selected_categories
:
stringify
(
selected_categories
),
"
start
"
:
(
MY_PAGE
-
1
)
*
count
,
start
:
(
MY_PAGE
-
1
)
*
count
,
"
count
"
:
count
count
:
count
}
}
;
// print(params);
// print(params);
let
res
=
miniapp_request
(
path
,
params
)
res
=
miniapp_request
(
path
,
params
)
}
}
let
result
=
{
let
result
=
{
"
page
"
:
MY_PAGE
,
page
:
MY_PAGE
,
"
pagecount
"
:
Math
.
ceil
(
res
.
total
/
count
),
pagecount
:
Math
.
ceil
(
res
.
total
/
count
),
"
limit
"
:
count
,
limit
:
count
,
"
total
"
:
res
.
total
total
:
res
.
total
}
}
;
let
items
=
[];
let
items
=
[];
if
(
/^rank_list|tv_hot|show_hot/
.
test
(
MY_CATE
))
{
if
(
/^rank_list|tv_hot|show_hot/
.
test
(
MY_CATE
))
{
items
=
res
[
'
subject_collection_items
'
]
items
=
res
[
"
subject_collection_items
"
]
}
}
else
if
(
MY_CATE
===
"
interests
"
)
{
else
if
(
MY_CATE
===
'
interests
'
){
res
[
"
interests
"
].
forEach
(
function
(
it
)
{
res
[
"
interests
"
].
forEach
(
function
(
it
){
items
.
push
(
it
.
subject
)
items
.
push
(
it
.
subject
)
})
;
})
}
else
{
}
else
{
items
=
res
.
items
items
=
res
.
items
}
}
let
lists
=
[];
let
lists
=
[];
// print(items);
items
.
forEach
(
function
(
item
)
{
items
.
forEach
(
function
(
item
){
if
(
item
.
type
===
"
movie
"
||
item
.
type
===
"
tv
"
)
{
if
(
item
.
type
===
'
movie
'
||
item
.
type
===
'
tv
'
){
let
rating
=
item
.
rating
?
item
.
rating
.
value
:
""
;
let
rating
=
item
.
rating
?
item
.
rating
.
value
:
''
;
let
rat_str
=
rating
||
"
暂无评分
"
;
let
rat_str
=
rating
||
'
暂无评分
'
;
let
title
=
item
.
title
;
let
title
=
item
.
title
;
let
honor
=
item
.
honor_infos
||
[];
let
honor
=
item
.
honor_infos
||
[];
let
honor_str
=
honor
.
map
(
function
(
it
){
return
it
.
title
}).
join
(
'
|
'
);
let
honor_str
=
honor
.
map
(
function
(
it
)
{
return
it
.
title
}).
join
(
"
|
"
);
let
vod_obj
=
{
let
vod_obj
=
{
// "vod_id": f'msearch:{item.get("type", "")}__{item.get("id", "")}',
vod_name
:
title
!==
"
未知电影
"
?
title
:
"
暂不支持展示
"
,
// "vod_id": item.type+'$'+item.id,
vod_pic
:
item
.
pic
.
normal
,
"
vod_name
"
:
title
!==
"
未知电影
"
?
title
:
"
暂不支持展示
"
,
vod_remarks
:
rat_str
+
"
"
+
honor_str
"
vod_pic
"
:
item
.
pic
.
normal
,
"
vod_remarks
"
:
rat_str
+
"
"
+
honor_str
};
};
let
vod_obj_d
=
{
let
vod_obj_d
=
{
url
:
item
.
type
+
'
$
'
+
item
.
id
,
url
:
item
.
type
+
"
$
"
+
item
.
id
,
title
:
title
!==
"
未知电影
"
?
title
:
"
暂不支持展示
"
,
title
:
title
!==
"
未知电影
"
?
title
:
"
暂不支持展示
"
,
pic_url
:
item
.
pic
.
normal
,
pic_url
:
item
.
pic
.
normal
,
desc
:
rat_str
+
"
"
+
honor_str
desc
:
rat_str
+
"
"
+
honor_str
};
};
lists
.
push
(
vod_obj
);
lists
.
push
(
vod_obj
);
d
.
push
(
vod_obj_d
)
;
d
.
push
(
vod_obj_d
)
}
}
});
});
result
.
list
=
lists
;
result
.
list
=
lists
;
return
result
return
result
}
catch
(
e
)
{
}
catch
(
e
)
{
print
(
e
.
message
)
print
(
e
.
message
);
}
}
return
{}
return
{}
}
}
// cate_filter(d);
// setResult(d);
let
res
=
cate_filter
(
d
);
let
res
=
cate_filter
(
d
);
// setHomeResult(res);
setResult2
(
res
);
setResult2
(
res
);
\ No newline at end of file
templates/config.txt
浏览文件 @
314a5cdd
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
"ext":"{{ host }}/admin/view/{{ rule.name }}.js"
"ext":"{{ host }}/admin/view/{{ rule.name }}.js"
}{% endif %}{% if loop.last==False %},{% endif %}{% endfor %}
}{% endif %}{% if loop.last==False %},{% endif %}{% endfor %}
{% if js_mode == 1 %},{
{% if js_mode == 1 %},{
"key":"
dr
_drpy",
"key":"
js
_drpy",
"name":"drpy(道长)",
"name":"drpy(道长)",
"type":1,
"type":1,
"api":"{{ host }}/vod?rule=drpy",
"api":"{{ host }}/vod?rule=drpy",
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录