Skip to content

Commit d224264

Browse files
author
Taois
committed
feat: ds写法升级
1 parent 018972b commit d224264

File tree

9 files changed

+613
-122
lines changed

9 files changed

+613
-122
lines changed

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# drpyS(drpy-node)
22

33
nodejs作为服务端的drpy实现。全面升级异步写法
4-
~~积极开发中,每日一更~~,当前进度 `89%`
4+
~~积极开发中,每日一更~~,当前进度 `91%`
55
~~找工作中,随缘更新~~
66
上班当牛马,下班要带娃,阶段性佛系趁娃睡觉熬夜更新
77

@@ -26,6 +26,10 @@ nodejs作为服务端的drpy实现。全面升级异步写法
2626

2727
## 更新记录
2828

29+
### 20250902
30+
31+
更新至V1.2.23
32+
2933
### 20250901
3034

3135
更新至V1.2.22

controllers/config.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -739,6 +739,8 @@ export default (fastify, options, done) => {
739739
const query = request.query; // 获取 query 参数
740740
const pwd = query.pwd || '';
741741
const sub_code = query.sub || '';
742+
const cat_sub_code = ENV.get('cat_sub_code', 'all');
743+
const must_sub_code = Number(ENV.get('must_sub_code', '0')) || 0;
742744
const cfg_path = request.params['*']; // 捕获整个路径
743745
try {
744746
// 获取主机名,协议及端口
@@ -783,7 +785,7 @@ export default (fastify, options, done) => {
783785
// }
784786
const getFilePath = (cfgPath, rootDir, fileName) => path.join(rootDir, `data/cat/${fileName}`);
785787
const processContent = (content, cfgPath, requestUrl, requestHost) => {
786-
const $config_url = requestUrl.replace(cfgPath, `/1?sub=all&pwd=${process.env.API_PWD || ''}`);
788+
const $config_url = requestUrl.replace(cfgPath, `/1?sub=${cat_sub_code}&pwd=${process.env.API_PWD || ''}`);
787789
return content.replaceAll('$config_url', $config_url).replaceAll('$host', requestHost);
788790
}
789791

@@ -832,10 +834,14 @@ export default (fastify, options, done) => {
832834
if (sub_code) {
833835
let subs = getSubs(options.subFilePath);
834836
sub = subs.find(it => it.code === sub_code);
835-
// console.log('sub:', sub);
837+
console.log('sub:', sub);
836838
if (sub && sub.status === 0) {
837839
return reply.status(500).send({error: `此订阅码:【${sub_code}】已禁用`});
840+
} else if (!sub && must_sub_code) {
841+
return reply.status(500).send({error: `此订阅码:【${sub_code}】不存在`});
838842
}
843+
} else if (!sub_code && must_sub_code) {
844+
return reply.status(500).send({error: `缺少订阅码参数`});
839845
}
840846

841847
const siteJSON = await generateSiteJSON(options, requestHost, sub, pwd);

docs/updateRecord.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# drpyS更新记录
22

3+
### 20250902
4+
5+
更新至V1.2.23
6+
7+
1. 新增猫爪专属订阅码设置,默认为all,设置中心-接口挂载可以配置猫爪订阅码
8+
2. 增加严格订阅码模式(启用此开关所有配置地址sub=没填或者不在已有订阅码中都无法访问,不启用则保持以前逻辑显示全部源)
9+
3. ds源写法更新,支持 `推荐` `一级` `搜索` 按字符串快捷写法同dr2
10+
311
### 20250901
412

513
更新至V1.2.22

0 commit comments

Comments
 (0)