fix: 订阅模式登录验证、永久会员类型区分、动态代码HTTP返回值修复、侧边栏滚动位置保持

- 修复订阅模式登录时错误检查余额的问题
- 区分无限余额和永久订阅两种永久会员类型
- 修复动态代码HTTP请求返回值在JS中无法正确访问的问题
- 添加侧边栏滚动位置保持功能
- 移除developer角色相关代码,统一使用admin
- 添加缺失的i18n翻译key
This commit is contained in:
2026-05-01 16:39:31 +08:00
parent c0edb32614
commit ea8ffb6c74
69 changed files with 554 additions and 369 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"fmt"
+1 -1
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"log"
+1 -1
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"fmt"
@@ -1,4 +1,4 @@
package main
package main
import (
"fmt"
+1 -1
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"fmt"
+1 -1
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"fmt"
+1 -1
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"fmt"
+1 -1
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"log"
+1 -1
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"log"
+1 -1
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"log"
+1 -1
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"log"
+1 -1
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"log"
+1 -1
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"log"
+1 -1
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"fmt"
+2 -2
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"fmt"
@@ -145,7 +145,7 @@ func main() {
},
"如何获取API密钥?": {
TitleEn: "How to Get API Key?",
ContentEn: "# How to Get API Key?\n\n## Steps\n\n### 1. Register Account\nFirst, register a developer account on the platform.\n\n### 2. Create Application\n1. Go to Console > Applications\n2. Click \"Create Application\" button\n3. Fill in application name and description\n4. Click \"Create\"\n\n### 3. Get App Key\nAfter creating the application, you can find the App Key on the application details page.\n\n## App Key Format\nApp Key is a unique identifier in the format:\n```\napp_xxxxxxxxxxxxxxxx\n```\n\n## Security Notes\n- Do not share your App Key publicly\n- Regenerate App Key if it's compromised\n- Use environment variables to store App Key in production",
ContentEn: "# How to Get API Key?\n\n## Steps\n\n### 1. Register Account\nFirst, register a admin account on the platform.\n\n### 2. Create Application\n1. Go to Console > Applications\n2. Click \"Create Application\" button\n3. Fill in application name and description\n4. Click \"Create\"\n\n### 3. Get App Key\nAfter creating the application, you can find the App Key on the application details page.\n\n## App Key Format\nApp Key is a unique identifier in the format:\n```\napp_xxxxxxxxxxxxxxxx\n```\n\n## Security Notes\n- Do not share your App Key publicly\n- Regenerate App Key if it's compromised\n- Use environment variables to store App Key in production",
},
"卡密验证失败怎么办?": {
TitleEn: "What to Do When Card Key Verification Fails?",
+5 -5
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"fmt"
@@ -18,15 +18,15 @@ func main() {
}{
"免费版": {
NameEn: "Free",
DescriptionEn: "Basic features for individual developers",
DescriptionEn: "Basic features for individual admins",
},
"公益版": {
NameEn: "Community",
DescriptionEn: "Free for individual developers",
DescriptionEn: "Free for individual admins",
},
"专业版": {
NameEn: "Professional",
DescriptionEn: "Advanced features for professional developers",
DescriptionEn: "Advanced features for professional admins",
},
"企业版": {
NameEn: "Enterprise",
@@ -46,7 +46,7 @@ func main() {
},
"开发者版": {
NameEn: "Developer",
DescriptionEn: "Perfect for individual developers",
DescriptionEn: "Perfect for individual admins",
},
"团队版": {
NameEn: "Team",
+1 -1
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"log"
+3 -3
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"fmt"
@@ -131,7 +131,7 @@ func main() {
},
"faq-api-key": {
TitleEn: "How to Get API Key?",
ContentEn: "# How to Get API Key?\n\n## Steps\n\n1. Login to developer dashboard\n2. Go to \"Application Management\" page\n3. Create new application or select existing one\n4. In application details page you can see:\n - **AppID**: Application unique identifier\n - **AppKey**: Application key\n - **SecretKey**: Encryption key\n\n## Notes\n\n- AppKey is only shown once when created, please save it in time\n- Click \"Reset Key\" button to reset AppKey if needed\n- Old key becomes invalid immediately after reset\n- SecretKey is for server-side response verification, do not use it on client side",
ContentEn: "# How to Get API Key?\n\n## Steps\n\n1. Login to admin dashboard\n2. Go to \"Application Management\" page\n3. Create new application or select existing one\n4. In application details page you can see:\n - **AppID**: Application unique identifier\n - **AppKey**: Application key\n - **SecretKey**: Encryption key\n\n## Notes\n\n- AppKey is only shown once when created, please save it in time\n- Click \"Reset Key\" button to reset AppKey if needed\n- Old key becomes invalid immediately after reset\n- SecretKey is for server-side response verification, do not use it on client side",
SummaryEn: "Detailed steps to get API key",
},
"faq-card-fail": {
@@ -141,7 +141,7 @@ func main() {
},
"faq-agent": {
TitleEn: "How to Implement Agent Authorization?",
ContentEn: "# How to Implement Agent Authorization?\n\n## What is Agent Authorization?\n\nAgent authorization allows developers to authorize their applications to other developers, who can then generate card keys and sell them.\n\n## Authorization Process\n\n1. **Apply for Authorization**\n - Authorized party submits application to authorizer\n - Enter application ID\n - Wait for authorizer approval\n\n2. **Approve Authorization**\n - Authorizer views application\n - Set card key type permissions after approval\n - Set agent discount\n\n3. **Generate Card Keys**\n - Authorized party selects authorized application\n - Select card key types with permission\n - Generate and sell card keys\n\n4. **Settle Revenue**\n - Sales revenue is settled proportionally\n - Authorized party receives income\n\n## Permission Management\n\n- Authorizer can modify card key type permissions at any time\n- Can pause or terminate authorization\n- Can view agent's sales data",
ContentEn: "# How to Implement Agent Authorization?\n\n## What is Agent Authorization?\n\nAgent authorization allows admins to authorize their applications to other admins, who can then generate card keys and sell them.\n\n## Authorization Process\n\n1. **Apply for Authorization**\n - Authorized party submits application to authorizer\n - Enter application ID\n - Wait for authorizer approval\n\n2. **Approve Authorization**\n - Authorizer views application\n - Set card key type permissions after approval\n - Set agent discount\n\n3. **Generate Card Keys**\n - Authorized party selects authorized application\n - Select card key types with permission\n - Generate and sell card keys\n\n4. **Settle Revenue**\n - Sales revenue is settled proportionally\n - Authorized party receives income\n\n## Permission Management\n\n- Authorizer can modify card key type permissions at any time\n- Can pause or terminate authorization\n- Can view agent's sales data",
SummaryEn: "Implementation process and permission management for agent authorization",
},
}
+1 -1
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"log"
+1 -1
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"log"
+1 -1
View File
@@ -1,4 +1,4 @@
package main
package main
import (
"log"