visuddhinanda 2 недель назад
Родитель
Сommit
d3d8bc6308

+ 2 - 2
api-v13/config/cache.php

@@ -15,7 +15,7 @@ return [
     |
     */
 
-    'default' => env('CACHE_STORE', 'database'),
+    'default' => env('CACHE_STORE', 'redis'),
 
     /*
     |--------------------------------------------------------------------------
@@ -112,7 +112,7 @@ return [
     |
     */
 
-    'prefix' => env('CACHE_PREFIX', Str::slug((string) env('APP_NAME', 'laravel')).'-cache-'),
+    'prefix' => env('CACHE_PREFIX', Str::slug((string) env('APP_NAME', 'laravel')) . '-cache-'),
 
     /*
     |--------------------------------------------------------------------------

+ 2 - 2
api-v13/config/database.php

@@ -17,7 +17,7 @@ return [
     |
     */
 
-    'default' => env('DB_CONNECTION', 'sqlite'),
+    'default' => env('DB_CONNECTION', 'pgsql'),
 
     /*
     |--------------------------------------------------------------------------
@@ -149,7 +149,7 @@ return [
 
         'options' => [
             'cluster' => env('REDIS_CLUSTER', 'redis'),
-            'prefix' => env('REDIS_PREFIX', Str::slug((string) env('APP_NAME', 'laravel')).'-database-'),
+            'prefix' => env('REDIS_PREFIX', Str::slug((string) env('APP_NAME', 'laravel')) . '-database-'),
             'persistent' => env('REDIS_PERSISTENT', false),
         ],
 

+ 1 - 1
api-v13/config/filesystems.php

@@ -41,7 +41,7 @@ return [
         'public' => [
             'driver' => 'local',
             'root' => storage_path('app/public'),
-            'url' => rtrim(env('APP_URL', 'http://localhost'), '/').'/storage',
+            'url' => rtrim(env('APP_URL', 'http://localhost'), '/') . '/storage',
             'visibility' => 'public',
             'throw' => false,
             'report' => false,

+ 165 - 0
api-v13/config/mint.php

@@ -0,0 +1,165 @@
+<?php
+
+return [
+    'app' => [
+        'icp_code' => env('APP_ICP_CODE', ''),
+        'mps_code' => env('APP_MPS_CODE', ''),
+        'jwt_secrets_key' => env('JWT_SECRETS_KEY', ''),
+
+    ],
+    'languages' => [
+        'en' => 'English',
+        'zh-Hans' => '简体中文',
+        'zh-Hant' => '繁体中文',
+    ],
+    'default_language' => 'en',
+    'library' => [
+        'list_min_progress' => env('LIBRARY_LIST_MIN_PROGRESS', 0.5),
+    ],
+    'snowflake' => [
+        'data_center_id' => env('SNOWFLAKE_DATA_CENTER_ID', 1),
+        'worker_id' => env('SNOWFLAKE_WORKER_ID', 1),
+        /*
+        |--------------------------------------------------------------------------
+        | snowflake id start date don't modify
+        |--------------------------------------------------------------------------
+        */
+        'start' => "2021-12-22",
+    ],
+
+    'server' => [
+        'rpc' => [
+            'grpc' =>  env('GRPC_WEB_SERVER', "http://localhost:9999"),
+
+            'morus' => [
+                'host' => env('MORUS_GRPC_HOST', "localhost"),
+                'port' => env('MORUS_GRPC_PORT', 9999),
+            ],
+
+            'lily' => [
+                'host' => env('LILY_GRPC_HOST', "localhost"),
+                'port' => env('LILY_GRPC_PORT', 9000),
+            ],
+
+            'tulip' => [
+                'host' => env('TULIP_GRPC_HOST', "localhost"),
+                'port' => env('TULIP_GRPC_PORT', 9990),
+            ],
+        ],
+        'api' => [
+            'default' => env('APP_API', "http://localhost:8000/api"),
+            'bamboo' => env('BAMBOO_API_HOST', env('APP_URL') . '/api'),
+        ],
+        'assets' => env('ASSETS_SERVER', "localhost:9999"),
+
+        'dashboard_base_path' => env('DASHBOARD_BASE_PATH', "http://127.0.0.1:3000/my"),
+
+        'cdn_urls' => explode(',', env('CDN_URLS', "https://www.wikipali.cc/downloads")),
+
+
+    ],
+
+    'attachments' => [
+        'bucket_name' => [
+            'temporary' => env('ATTACHMENTS_TEMPORARY_BUCKET_NAME', "attachments-staging"),
+            'permanent' => env('ATTACHMENTS_PERMANENT_BUCKET_NAME', "attachments-staging"),
+        ],
+    ],
+
+    'cache' => [
+        //这个值prod,staging无需设置
+        'expire' => env('CACHE_EXPIRE', 36000),
+    ],
+
+    /*
+    |--------------------------------------------------------------------------
+    | 另外增添的路径
+    |--------------------------------------------------------------------------
+    |
+    |
+    */
+    'path' => [
+        'dependence' => storage_path('depandence'),
+        'palitext' => storage_path('resources/pali_html'),
+        'palitext_filelist' => storage_path('resources/pali_html/filelist.csv'),
+        'palicsv' => storage_path('app/tmp/pali_csv'),
+        'pali_title' => storage_path('resources/pali_title'),
+        'paliword' => storage_path('resources/pali_word'),
+        'paliword_book' => storage_path('resources/pali_word/book'),
+        'paliword_index' => storage_path('resources/pali_word/index'),
+        'word_statistics' => storage_path('resources/word_statistics/data'),
+        'dict_text' => storage_path('resources/dict_text'),
+    ],
+
+    'admin' => [
+        'root_uuid' => '6e12f8ea-ee4d-4e0f-a6b0-472f2d99a814',
+        'robot_uuid' => '6e12f8ea-ee4d-4e0f-a6b0-472f2d99a814',
+        'cs_channel' => '1e4b926d-54d7-4932-b8a6-7cdc65abd992',
+    ],
+
+    'dependence' => [
+        [
+            'url' => 'https://www.github.com/iapt-platform/wipali-globle',
+            'path' => 'wipali-globle',
+        ],
+    ],
+
+    'email' => [
+        'ScheduleEmailOutputTo' => env('SCHEDULE_EMAIL_OUTPUTTO', 'kosalla1987@126.com'),
+        'ScheduleEmailOutputOnFailure' => env('SCHEDULE_EMAIL_OUTPUTONFAILURE', 'kosalla1987@126.com'),
+    ],
+
+    'ai' => [
+        'proxy' => env('OPENAI_PROXY', 'http://127.0.0.1:4000'),
+        'assistant' => 'test161',
+        'default' => 'kimi',
+        'logo' => [
+            'gemini' => 'gemini-color.png',
+            'grok' => 'grok.png',
+            'Claude' => 'claude-color.png',
+            'api.openai.com' => 'openai.png',
+            'qwen' => 'qwen-color.png',
+            'deepseek' => 'deepseek-color.png'
+        ]
+    ],
+    'mq' => [
+        'loop_limit' => [
+            'ai_translate' => env('MQ_LOOP_LIMIT_AI_TRANSLATE', 0)
+        ]
+    ],
+    'rabbitmq' => [
+        'queues' => [
+            'ai_translate_v2' => [
+                'retry_times' => env('RABBITMQ_AI_RETRY_TIMES', 3),
+                'max_loop_count' => env('RABBITMQ_AI_MAX_LOOP', 10),
+                'timeout' => env('RABBITMQ_AI_TIMEOUT', 300),
+                'dead_letter_queue' => 'ai_translate_dlq',
+                'dead_letter_exchange' => 'ai_translate_dlx',
+            ],
+            'heartbeat_queue' => [
+                'ttl' => 86400000, // 24小时 TTL (毫秒)
+                'max_length' => 10000,
+            ]
+        ],
+
+        // 死信队列配置
+        'dead_letter_queues' => [
+            'ai_translate_dlq' => [
+                'ttl' => 86400000, // 24小时 TTL (毫秒)
+                'max_length' => 10000,
+            ],
+        ],
+    ],
+    'opensearch' => [
+        'index' => 'wikipali_20260424',
+        'config' => [
+            'scheme' => env('OPENSEARCH_SCHEME', 'http'),
+            'host' => env('OPENSEARCH_HOST', '127.0.0.1'),
+            'port' => env('OPENSEARCH_PORT', 9200),
+            'username' => env('OPENSEARCH_USERNAME', ''),
+            'password' => env('OPENSEARCH_PASSWORD', ''),
+            'ssl_verification' => env('OPENSEARCH_SSL_VERIFICATION', false),
+        ],
+
+    ],
+];

+ 254 - 0
api-v13/config/taxonomy.php

@@ -0,0 +1,254 @@
+<?php
+
+/**
+ * 佛教百科分类体系
+ * WikiPali Taxonomy Configuration
+ *
+ * 结构:一级分类 > 二级分类 > 标签列表
+ * 用法:config('taxonomy') 或 TaxonomyController 调用
+ * // 取全部分类
+$taxonomy = config('taxonomy');
+
+// 取所有一级分类标签(用于导航)
+$categories = collect(config('taxonomy'))->pluck('label', 'id');
+
+// 取某个一级分类下的二级分类
+$subs = collect(config('taxonomy'))
+    ->firstWhere('id', 'abhidhamma')['subs'];
+
+// 取所有标签(扁平化,用于搜索/自动补全)
+$allTags = collect(config('taxonomy'))
+    ->flatMap(fn($cat) => collect($cat['subs'])
+        ->flatMap(fn($sub) => $sub['tags']))
+    ->unique()
+    ->values();
+ */
+
+return [
+    [
+        'id'    => 'vinaya',
+        'label' => '律学',
+        'subs'  => [
+            [
+                'id'    => 'āpatti',
+                'label' => '戒条罪类',
+                'tags'  => ['波罗夷', '僧残', '不定', '舍堕', '单堕', '悔过', '众学', '灭诤', '比库戒', '比库尼戒', '学处', '犯罪', '无犯', '违犯条件'],
+            ],
+            [
+                'id'    => 'vinayakamma',
+                'label' => '僧羯磨',
+                'tags'  => ['羯磨',  '结界', '布萨', '自恣', '受具足', '出家', '僧团', '惩罚羯磨'],
+            ],
+            [
+                'id'    => 'monastic-life',
+                'label' => '僧侣生活与器具',
+                'tags'  => ['三衣', '钵', '住处', '精舍', '雨安居', '迦提那衣', '头陀行', '乞食', '日用器具', '净食'],
+            ],
+        ],
+    ],
+
+    [
+        'id'    => 'dhamma',
+        'label' => '法义',
+        'subs'  => [
+            [
+                'id'    => 'basic-doctrine',
+                'label' => '基本教义',
+                'tags'  => ['四圣谛',  '缘起', '十二缘起', '三法印', '五蕴', '三宝', '八正道',],
+            ],
+            [
+                'id'    => 'kamma-samsara',
+                'label' => '业与轮回',
+                'tags'  => ['业', '善业', '不善业', '无记业', '业报', '轮回', '结生', '再生', '三界轮转'],
+            ],
+            [
+                'id'    => 'nibbana',
+                'label' => '涅槃与解脱',
+                'tags'  => ['涅槃', '有余涅槃', '无余涅槃', '解脱', '道', '果', '烦恼断除', '结', '漏'],
+            ],
+            [
+                'id'    => 'citta',
+                'label' => '心路与心类',
+                'tags'  => ['欲界心', '色界心', '无色界心', '出世间心', '善心', '不善心', '无记心', '心路', '五门心路', '意门心路', '速行', '有分',],
+            ],
+            [
+                'id'    => 'cetasika',
+                'label' => '心所法',
+                'tags'  => ['遍一切心心所', '杂心所', '不善心所', '美心所', '贪', '嗔', '痴', '慢', '邪见', '掉举', '信', '念', '慧', '悲', '喜', '舍'],
+            ],
+            [
+                'id'    => 'rupa',
+                'label' => '色法',
+                'tags'  => ['四大种', '地界', '水界', '火界', '风界', '净色', '所造色', '色聚', '业生色', '心生色', '时节生色', '食生色', '真实色', '非真实色'],
+            ],
+            [
+                'id'    => 'paccaya',
+                'label' => '缘起与发趣法',
+                'tags'  => ['二十四缘', '因缘',],
+            ],
+        ],
+    ],
+
+
+    [
+        'id'    => 'bhavana',
+        'label' => '禅修',
+        'subs'  => [
+            [
+                'id'    => 'samatha',
+                'label' => '止禅',
+                'tags'  => ['遍禅', '不净观', '随念', '四梵住',  '入出息念', '四界差别', '禅相', '取相', '似相', '近行定', '安止定', '禅那', '禅支', '无色定'],
+            ],
+            [
+                'id'    => 'vipassana',
+                'label' => '观禅',
+                'tags'  => ['名色分别', '观智', '生灭智', '坏灭智', '怖畏智', '厌离智', '行舍智', '道智', '果智', '毘婆舍那', '三相', '无常随观', '苦随观', '无我随观', '刹那定'],
+            ],
+        ],
+    ],
+
+
+    [
+        'id'    => 'patha',
+        'label' => '典籍',
+        'tags'  => ['经名', '品名', '篇名'],
+        'subs'  => [
+            [
+                'id'    => 'suttapitaka',
+                'label' => '经藏',
+                'tags'  => ['长部', '中部', '相应部', '增支部', '小部',],
+            ],
+            [
+                'id'    => 'abhidhammapitaka',
+                'label' => '论藏',
+                'tags'  => ['法集论', '分别论', '界论', '人施设论', '论事', '双论'],
+            ],
+            [
+                'id'    => 'vinayapitaka',
+                'label' => '律藏',
+                'tags'  => ['经分别', '篇章', '附随'],
+            ],
+            [
+                'id'    => 'vanna',
+                'label' => '注释',
+                'tags'  => ['义注', '复注', '根本复注', '再复注'],
+            ],
+            [
+                'id'    => 'anna',
+                'label' => '藏外',
+                'tags'  => ['清净道论', '历史', '文法书'],
+            ],
+            [
+                'id'    => 'vatthu',
+                'label' => '故事类',
+                'tags'  => ['本生', '佛种姓', '譬喻', '天宫事', '饿鬼事'],
+            ],
+        ],
+    ],
+
+    [
+        'id'    => 'cosmology',
+        'label' => '世界观',
+        'subs'  => [
+            [
+                'id'    => 'akasaloka',
+                'label' => '空间世间',
+                'tags'  => ['欲界', '色界', '无色界', '欲界天', '梵天界', '净居天', '人间', '有情居', '天界层次'],
+            ],
+            [
+                'id'    => 'apaya',
+                'label' => '地狱与恶趣',
+                'tags'  => ['地狱',  '饿鬼界', '畜生界', '阿修罗界', '四恶趣'],
+            ],
+            [
+                'id'    => 'amanussa',
+                'label' => '神灵与非人',
+                'tags'  => ['天神', '梵天', '夜叉', '龙族', '乾达婆', '非人', '护法神'],
+            ],
+        ],
+    ],
+
+    [
+        'id'    => 'puggala',
+        'label' => '人名',
+        'subs'  => [
+            [
+                'id'    => 'buddha',
+                'label' => '佛',
+                'tags'  => ['佛名', '过去佛', '二十八佛', '独觉佛', '菩萨'],
+            ],
+            [
+                'id'    => 'pabbajita',
+                'label' => '出家弟子',
+                'tags'  => ['上首弟子', '大弟子', '比库弟子', '比库尼弟子', '沙弥', '沙弥尼', '在学尼'],
+            ],
+            [
+                'id'    => 'gahapati',
+                'label' => '在家人',
+                'tags'  => ['男居士', '女居士', '护法者', '国王', '婆罗门', '施主', '转轮圣王', '王后', '大长者'],
+            ],
+            [
+                'id'    => 'titthiya',
+                'label' => '外道',
+                'tags'  => ['外道名'],
+            ],
+        ],
+    ],
+
+    [
+        'id'    => 'padesa',
+        'label' => '地名',
+        'subs'  => [
+            [
+                'id'    => 'gama',
+                'label' => '人类聚落',
+                'tags'  => ['十六大国', '国家', '村落', '市镇', '寺院名'],
+            ],
+            [
+                'id'    => 'udaka',
+                'label' => '水系',
+                'tags'  => ['河流', '湖泊', '海洋'],
+            ],
+            [
+                'id'    => 'pabbata',
+                'label' => '山岳',
+                'tags'  => ['山名', '山脉'],
+            ],
+        ],
+    ],
+
+    [
+        'id'    => 'bhuta',
+        'label' => '动植物',
+        'subs'  => [
+            [
+                'id'    => 'tiracchana',
+                'label' => '动物',
+                'tags'  => ['兽类', '鸟类', '爬行类', '水生动物', '昆虫', '神话动物', '龙族', '金翅鸟', '畜养动物', '野生动物'],
+            ],
+            [
+                'id'    => 'bhutagama',
+                'label' => '植物',
+                'tags'  => ['树木', '花卉', '草药', '粮食作物', '果实', '菩提树类'],
+            ],
+        ],
+    ],
+
+    [
+        'id'    => 'saddaniti',
+        'label' => '巴利语言与语法',
+        'subs'  => [
+            [
+                'id'    => 'grammar-terms',
+                'label' => '语法术语',
+                'tags'  => ['名词', '动词', '形容词', '副词', '格', '数', '性', '时态', '语式', '复合词类型', '前缀', '后缀'],
+            ],
+            [
+                'id'    => 'grammar-abbrev',
+                'label' => '语法缩写与标注',
+                'tags'  => ['词性标注', '格标注', '语态标注', '使役态', '引用标记', '出处标注'],
+            ],
+        ],
+    ],
+
+];