<?php
if ( ! defined( 'ABSPATH' ) ) exit;

// 注意这里的类名，要和主文件里 YFJ_Module_ + ucfirst('bazi_cesuan') 对应
class YFJ_Module_Fengshui_xuankong extends YFJ_Base_Module {

    public function __construct() {
        $this->module_id = 'fengshui_xuankong';             // 1. 修改模块 ID
        $this->shortcode = 'yfj_fengshui_xuankong';         // 2. 修改短代码
        $this->api_endpoint = '/v1/Fengshui/xuankong';      // 3. 配置对应的真实 API 接口

        parent::__construct();
    }

    /**
     * 专属数据拦截与加工引擎 (重写基类方法)
     * 在这里可以对 API 返回的原始数据进行格式化、过滤或追加二次计算的自定义数据。
     */
    protected function process_api_data($raw_data) {
        // 1. 确保数据是数组格式，防止报错
        if (is_array($raw_data)) {
            //如果 API 没返回格局，给个默认的兜底值
            if (!isset($raw_data['base_info']['zhengge'])) {
                $raw_data['base_info']['zhengge'] = '未入格';
            }
        }

        //将处理后的数据返回给 views/result.php 进行渲染
        return $raw_data;
    }

    /**
     * 沙盒模式下的模拟数据
     */
    protected function get_demo_data($post_data) {
        //获取当前后台设置的语言
        $lang = get_option('yfj_language', 'zh-cn');

        // 1. 把你的完整 JSON 粘贴到单引号里面（要考虑到zh-cn 和 zh-tw）
        $demo_json_zh_cn  = '{"errcode":0,"errmsg":"请求成功","notice":"本次测算结果仅供娱乐使用，请勿用于封建迷信和违法用途。","data":{"yuanyun":"一运","yuanyun_qizhi":"1864年 至 1883年","yongti":"挨星下卦","shan":"丑","shanxiang":"丑山未向","shuikou":"无","minggua":"无","simple_desc":"宜出煞，楼门或大门宜开畅。而不宜收敛。开门宜大，或门旁边有较多玻璃窗，于室内于门处不宜有所阻拦，如设屏风等。且门外地势宜略低。","pan_info":{"feixing_gong":[{"shanpan":8,"xiangpan":3,"yunpan":"六","dipan":"坎一","feixing_desc":"运势不佳时期，可能会带来一系列不利影响。具体包括对小口，如儿童，不利，可能会遇到难以生育男孩、多生女孩等问题。健康方面可能会出现腰痛等。同时，未婚女性和男性可能会面临晚婚的问题。总体来说，这段时间要特别注意心理健康和身体安全，尽量避免潜在的风险和负面影响，保护自己和家人的健康。"},{"shanpan":1,"xiangpan":1,"yunpan":"四","dipan":"艮八","feixing_desc":"整体桃花运势不错。《紫白诀》提到，一白代表官运，预示着可能会在文职领域有所发展，主导文章与智慧，适合从事读书、写作等脑力工作。《玄空秘旨》则说，坎宫若高耸闭塞，容易导致耳聋，如果在坎宫有不通畅的路径，可能引发遗精或血液方面的问题。《玄机赋》也指出，坎宫若有缺陷，女性容易流产，水在坎宫中流动，象征着丧失志气或目标不明确。"},{"shanpan":6,"xiangpan":5,"yunpan":"八","dipan":"震三","feixing_desc":"在星运当令的时期，通常会带来财运的喜悦。根据《玄空秘旨》的说法，这时财富运势如同富贵的陶朱公，顺利而丰厚。与之相对的是，如果运势失去平衡，则容易出现健康问题，如容易生病或受伤。此外，还可能对长子不利，可能导致精神健康问题，甚至让父亲变得消极。因此，在这种时期，要特别注意健康管理，保持积极的精神状态，同时照顾好家庭成员，特别是长子和父亲，以避免可能的负面影响。"},{"shanpan":5,"xiangpan":6,"yunpan":"九","dipan":"巽四","feixing_desc":"当六白金星化解了五黄煞气时，通常会带来大吉大利的运势，能够减少疾病和灾难的发生，使生活和工作中出现更多的好运和顺利。然而，这种吉利的状态可能会对父亲的安宁产生一些不利影响，即父亲的健康或生活状况可能会受到一定的影响。虽然整体运势趋向于吉利，但仍需特别关注父亲的健康和安全。"},{"shanpan":9,"xiangpan":2,"yunpan":"五","dipan":"离九","feixing_desc":"火土相生，运势可能会带来一些不利影响。具体来说，家庭人口多可能导致不安定，容易引发健康问题，如眼疾和妇科病。同时，火土相生可能使一些人表现得愚钝和顽固，还可能影响生育能力，导致贫困。如果运势得令，仍有积极的方面。此时可能会出现有才华的秀士，家庭中的人丁会较为旺盛。"},{"shanpan":7,"xiangpan":4,"yunpan":"七","dipan":"坤二","feixing_desc":"在这个时期，运势可能会带来一些不利的情况。桃花运较旺，但也容易引发情感上的麻烦或纠纷。出门时要特别小心，可能会遭遇刀伤或其他意外。此外，这段时间对长女不利，可能会遇到健康问题或其他困扰。对从事文职工作的人也有不利影响，可能会导致工作上的困难。还可能出现精神不稳或疯狂的情况，对女性尤其不利。因此，在这段时期，建议保持冷静，注意安全，照顾好家庭成员的健康，特别是长女和女性，以减少可能的负面影响。"},{"shanpan":2,"xiangpan":9,"yunpan":"三","dipan":"兑七","feixing_desc":"火土相生的格局下，家庭中可能多生女孩，并且容易引发桃花运，这意味着感情上可能会有复杂的局面。然而，这种格局也可能对母亲的健康产生不利影响。若火土得令，即命运走向顺利之时，家庭中可能会迎来学业、文职上的好消息，如考试成功或职业进步。但如果命运失令，则可能导致不孕不育，或者子嗣不聪明。《摇鞭赋》进一步指出，当不利因素进入家庭时，可能会带来灾难，尤其容易对家中的年轻女性造成伤害或不幸。因此，需要特别注意家庭成员的健康和整体运势变化。"},{"shanpan":3,"xiangpan":8,"yunpan":"二","dipan":"乾六","feixing_desc":"在不利的情况下，容易对少年的健康和安全造成不良影响，可能导致多种疾病和伤害，甚至可能出现严重的健康问题。同时，也可能导致经济上的破财，影响家庭的财务状况，这些负面影响提醒在遇到运势不佳时，要特别关注少年的健康，采取预防措施，避免可能的财务损失和家族困境。"},{"shanpan":4,"xiangpan":7,"yunpan":"一","dipan":"中五","feixing_desc":"当运势得令时，财运和感情状况都会非常好，预示着财色双全，生活富足而美好。然而，当运势失令时，家庭中的姑嫂关系可能会紧张，不容易和谐相处。此时还容易遇到其他伤害，影响健康；对文职工作也不利，可能导致表现不佳；还可能出现严重健康问题，对家中的长媳不利，甚至可能遭遇劫盗等损失。这提示在运势良好时要珍惜机会，而在运势不佳时则需要特别小心处理家庭关系和自身安全。"}]}}}';
        $demo_json_zh_tw  = '{"errcode":0,"errmsg":"请求成功","notice":"本次测算结果仅供娱乐使用，请勿用于封建迷信和违法用途。","data":{"yuanyun":"一運","yuanyun_qizhi":"1864年 至 1883年","yongti":"挨星下卦","shan":"丑","shanxiang":"丑山未向","shuikou":"無","minggua":"無","simple_desc":"宜出煞，楼门或大门宜开畅。而不宜收敛。开门宜大，或门旁边有较多玻璃窗，于室内于门处不宜有所阻拦，如设屏风等。且门外地势宜略低。","pan_info":{"feixing_gong":[{"shanpan":8,"xiangpan":3,"yunpan":"六","dipan":"坎一","feixing_desc":"運勢不佳時期，可能會帶來一系列不利影響。具體包括對小口，如兒童，不利，可能會遇到難以生育男孩、多生女孩等問題。健康方面可能會出現腰痛等。同時，未婚女性和男性可能會面臨晚婚的問題。總體來說，這段時間要特別註意心理健康和身體安全，盡量避免潛在的風險和負面影響，保護自己和家人的健康。"},{"shanpan":1,"xiangpan":1,"yunpan":"四","dipan":"艮八","feixing_desc":"整體桃花運勢不錯。《紫白訣》提到，一白代表官運，預示著可能會在文職領域有所發展，主導文章與智慧，適合從事讀書、寫作等腦力工作。《玄空秘旨》則說，坎宮若高聳閉塞，容易導致耳聾，如果在坎宮有不通暢的路徑，可能引發遺精或血液方面的問題。《玄機賦》也指出，坎宮若有缺陷，女性容易流產，水在坎宮中流動，象征著喪失誌氣或目標不明確。"},{"shanpan":6,"xiangpan":5,"yunpan":"八","dipan":"震三","feixing_desc":"在星運當令的時期，通常會帶來財運的喜悅。根據《玄空秘旨》的說法，這時財富運勢如同富貴的陶朱公，順利而豐厚。與之相對的是，如果運勢失去平衡，則容易出現健康問題，如容易生病或受傷。此外，還可能對長子不利，可能導致精神健康問題，甚至讓父親變得消極。因此，在這種時期，要特別註意健康管理，保持積極的精神狀態，同時照顧好家庭成員，特別是長子和父親，以避免可能的負面影響。"},{"shanpan":5,"xiangpan":6,"yunpan":"九","dipan":"巽四","feixing_desc":"當六白金星化解了五黃煞氣時，通常會帶來大吉大利的運勢，能夠減少疾病和災難的發生，使生活和工作中出現更多的好運和順利。然而，這種吉利的狀態可能會對父親的安寧產生一些不利影響，即父親的健康或生活狀況可能會受到一定的影響。雖然整體運勢趨向於吉利，但仍需特別關註父親的健康和安全。"},{"shanpan":9,"xiangpan":2,"yunpan":"五","dipan":"離九","feixing_desc":"火土相生，運勢可能會帶來一些不利影響。具體來說，家庭人口多可能導致不安定，容易引發健康問題，如眼疾和婦科病。同時，火土相生可能使一些人表現得愚鈍和頑固，還可能影響生育能力，導致貧困。如果運勢得令，仍有積極的方面。此時可能會出現有才華的秀士，家庭中的人丁會較為旺盛。"},{"shanpan":7,"xiangpan":4,"yunpan":"七","dipan":"坤二","feixing_desc":"在這個時期，運勢可能會帶來一些不利的情況。桃花運較旺，但也容易引發情感上的麻煩或糾紛。出門時要特別小心，可能會遭遇刀傷或其他意外。此外，這段時間對長女不利，可能會遇到健康問題或其他困擾。對從事文職工作的人也有不利影響，可能會導致工作上的困難。還可能出現精神不穩或瘋狂的情況，對女性尤其不利。因此，在這段時期，建議保持冷靜，註意安全，照顧好家庭成員的健康，特別是長女和女性，以減少可能的負面影響。"},{"shanpan":2,"xiangpan":9,"yunpan":"三","dipan":"兌七","feixing_desc":"火土相生的格局下，家庭中可能多生女孩，並且容易引發桃花運，這意味著感情上可能會有復雜的局面。然而，這種格局也可能對母親的健康產生不利影響。若火土得令，即命運走向順利之時，家庭中可能會迎來學業、文職上的好消息，如考試成功或職業進步。但如果命運失令，則可能導致不孕不育，或者子嗣不聰明。《搖鞭賦》進一步指出，當不利因素進入家庭時，可能會帶來災難，尤其容易對家中的年輕女性造成傷害或不幸。因此，需要特別註意家庭成員的健康和整體運勢變化。"},{"shanpan":3,"xiangpan":8,"yunpan":"二","dipan":"乾六","feixing_desc":"在不利的情況下，容易對少年的健康和安全造成不良影響，可能導致多種疾病和傷害，甚至可能出現嚴重的健康問題。同時，也可能導致經濟上的破財，影響家庭的財務狀況，這些負面影響提醒在遇到運勢不佳時，要特別關註少年的健康，采取預防措施，避免可能的財務損失和家族困境。"},{"shanpan":4,"xiangpan":7,"yunpan":"一","dipan":"中五","feixing_desc":"當運勢得令時，財運和感情狀況都會非常好，預示著財色雙全，生活富足而美好。然而，當運勢失令時，家庭中的姑嫂關系可能會緊張，不容易和諧相處。此時還容易遇到其他傷害，影響健康；對文職工作也不利，可能導致表現不佳；還可能出現嚴重健康問題，對家中的長媳不利，甚至可能遭遇劫盜等損失。這提示在運勢良好時要珍惜機會，而在運勢不佳時則需要特別小心處理家庭關系和自身安全。"}]}}}';

        if ($lang == 'zh-tw') {
            $demo_json = $demo_json_zh_tw;
        } else {
            $demo_json = $demo_json_zh_cn;
        }

        // 2. 解析为 PHP 数组
        $demo_array_json = json_decode($demo_json, true);

        // 3. 【核心提取】剥离外层的 errcode 状态，只提取 data 节点内容
        $data = $demo_array_json['data'] ?? [];

        // 5. 返回处理好的干净数据给 process_api_data
        return $data;
    }
}