<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
use think\facade\Route;

$header = [
    'Access-Control-Allow-Credentials' => 'true',
    'Access-Control-Max-Age'           => 1800,
    'Access-Control-Allow-Origin'      => '*',
    'Access-Control-Allow-Methods'     => 'GET, POST, PATCH, PUT, DELETE, OPTIONS',
    'Access-Control-Allow-Headers'     => 'Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since, X-CSRF-TOKEN, X-Requested-With,Token,Language,X-token',
];

/**
 * 不需要登陆的路由
 */
Route::group('/',function (){
    Route::group('/',function (){
        // 邮箱 登录
        Route::post('/email_login', 'Login/loginEmail');
        // 发送邮件
        Route::post('/email', 'Login/sendEmail');
        // 邮箱注册
        Route::post('/email_reg', 'Login/registerEmail');
        // 发送短信
        Route::post('/sms', 'Login/sendSms');
        //短信注册
        Route::post('/sms_reg', 'Login/registerSms');
        //短信登陆
        Route::post('/sms_login', 'Login/loginSms');
        //通过邮箱重新设置密码
        Route::post('/forget_email', 'Login/resetPasswordByEmail');
        //通过短信重新设置密码
        Route::post('/forget_sms', 'Login/resetPasswordBySms');
        // 手机号密码登陆
        Route::post('/phone_login', 'Login/phoneLogin');

        // 获取配置
        Route::post('/get_config', 'Upload/getConfig');

    })->middleware(\app\home\middleware\RepeatOperateMiddleware::class);
    // 获取帮助中心文档
    Route::post('/faq_index', 'Faq/index');
    Route::post('/faq_detail', 'Faq/detail');
    Route::post('/banner_index', 'Carousel/index');
    Route::post('/banner_detail', 'Carousel/detail');
    Route::post('/announcement_index', 'Announcement/index');
    Route::post('/announcement_detail', 'Announcement/detail');

    Route::post('/doc_platform', 'Document/getPlatform');
    Route::post('/doc_pc', 'Document/getDocPc');
    Route::post('/doc_detail', 'Document/detail');
    Route::post('/doc', 'Document/getDoc');

    // 国家和地区
    Route::post('/country', 'Country/getAll');
    // 获取首页广告图
    Route::post('/carousal', 'Carousel/getCarousel');
    Route::post('/market', 'Market/marketList');
    Route::post('/market_rate', 'Market/marketRate');
    Route::post('/market_trade', 'Market/marketTradeList');
    Route::post('/trade_type', 'Market/TradeTypeList');
    Route::post('/face_list', 'Market/ContractFaceList');
    Route::post('/face_forex', 'Market/ForexFaceList');

    Route::post('/lang', 'Language/langList');
    Route::post('/service', 'Language/serviceList');
    Route::post('/init_data', 'Language/initRedisData');

    // 获取股票市场状态
    Route::post('/stock/check_status', 'Stock/checkMarketStatus');


    //Route::post('payment_test', 'Pay/test'); //获取充值渠道
    Route::post('indpay_notify', 'Pay/indPayNotify')->name('indpay_notify'); //支付异步通知地址
    Route::post('indpay_query', 'Pay/indPayQuery')->name('indpay_query'); //支付同步通知地址
    Route::post('single_notify', 'Pay/singleNotify')->name('single_notify');

    //数字币充值
    Route::post('pay_notify', 'Pay/payNotify')->name('pay_notify');  //充值通知接口
    Route::post('order_confirm', 'Pay/OrderConfirm')->name('order_confirm');  //充值通知接口
    Route::get('get_wallet', 'Pay/wallet')->name('get_wallet');//获取钱包地址
    Route::post('htpay_notify', 'Pay/htPayNotify')->name('htpay_notify');  //充值通知接口
    Route::post('arpay_notify', 'Pay/arPayNotify')->name('arpay_notify');  //充值通知接口

    Route::post('xdpay_notify', 'Pay/XdPayNotify')->name('xdpay_notify');  //充值通知接口
    Route::post('xdpay_anotify', 'Pay/XdPayAppNotify')->name('xdpay_anotify');  //充值通知接口

    Route::post('qeaepay_notify', 'Pay/QeaePayNotify')->name('qeaepay_notify');  //充值通知接口
    Route::post('qeaepay_appNotify', 'Pay/QeaePayAppNotify')->name('qeaepay_appNotify');  //充值通知接口

    Route::post('xdpay_notify', 'Pay/XdPayNotify')->name('xdpay_notify');  //充值通知接口
    Route::post('xdpay_anotify', 'Pay/XdPayAppNotify')->name('xdpay_anotify');  //充值通知接口

    Route::post('mopay_notify', 'Pay/MoPayNotify')->name('mopay_notify');  //充值通知接口
    Route::post('mopay_anotify', 'Pay/MoPayAppNotify')->name('mopay_anotify');  //充值通知接口

    Route::post('nicepay_notify', 'Pay/NicePayNotify')->name('nicepay_notify');
    Route::post('nicepay_anotify', 'Pay/NicePayApplyNotify')->name('nicepay_anotify');

    Route::post('clickpay_notify', 'Pay/ClickPayNotify')->name('clickpay_notify');  //充值通知接口
    Route::post('clickpay_ApplyNotify', 'Pay/ClickPayApplyNotify')->name('clickpay_appNotify');  //充值通知接口

    Route::post('starpay_notify', 'Pay/starPayNotify')->name('starpay_notify');  //充值通知接口
    Route::post('starpay_ApplyNotify', 'Pay/ClickPayApplyNotify')->name('starpay_appNotify');  //充值通知接口


    Route::post('payment_test', 'Pay/test');

    Route::post('bank_list', 'Pay/BankList');

    // 需要登陆的操作
    Route::group('/',function (){
        // 上传用户头像
        Route::post('upload_header', 'Upload/uploadHeaderImage');
        // 需要防止重复操作的路由
        Route::group('', function () {
            // 设置国家码
            Route::post('user/set_country', 'User/setCountry');

            // 设置用户头像
            Route::post('head_update', 'User/updateHeadImg');
            // 登陆状态获取邮箱验证码
            Route::post('user/email_send', 'User/sendEmail');
            // 登陆状态获取邮箱验证码
            Route::post('user/sms_send', 'User/sendSms');
            // 设置用户信息
            Route::post('user/update_info', 'User/updateInfo');


            // 邮箱修改支付密码
            Route::post('user/update_pay_password_email', 'User/updatePayPasswordByEmail');
            // 短信修改支付密码
            Route::post('user/update_pay_password_sms', 'User/updatePayPasswordBySms');
            // 邮箱修改支付密码-忘记密码
            Route::post('user/reset_pay_password_email', 'User/resetPayPasswordByEmail');
            // 短信修改支付密码-忘记密码
            Route::post('user/reset_pay_password_sms', 'User/resetPayPasswordBySms');

            // 邮箱修改密码
            Route::post('user/update_password_email', 'User/updatePasswordByEmail');
            // 短信修改密码
            Route::post('user/update_password_sms', 'User/updatePasswordBySms');
            // 邮箱修改密码-忘记密码
            Route::post('user/reset_password_email', 'User/resetPasswordByEmail');
            // 短信修改密码-忘记密码
            Route::post('user/reset_password_sms', 'User/resetPasswordBySms');

            // 邮件 设置支付密码
            Route::post('user/pay_password_email_set', 'User/setPayPasswordByEmail');
            // 短信 设置支付密码
            Route::post('user/pay_password_sms_set', 'User/setPayPasswordBySms');

            // 绑定邮箱
            Route::post('user/bind_email', 'User/bindEmail');
            Route::post('user/update_email', 'User/updateEmail');
            // 绑定手机号
            Route::post('user/bind_phone', 'User/bindPhone');
            Route::post('user/update_phone', 'User/updatePhone');

            // 新增实名认证
            Route::post('user_verify/add', 'UserVerify/add');


        })->middleware(\app\home\middleware\RepeatOperateMiddleware::class);

        // 新增实名认证
        Route::post('user_verify/detail', 'UserVerify/detail');

        // 获取时间
        Route::post('user/get_time', 'User/getTime');
        // 获取用户基础信息
        Route::post('user/info', 'User/getUserInfo');
        Route::post('user/purchase_vip', 'User/purchaseVip');  //用户购买VIP
        Route::post('user/purchase_vip_log', 'User/purchaseVipLog');  //用户购买VIP记录列表
        // 获取用户的代理创建的群聊信息
        Route::post('user/get_anchor_for_agent', 'User/getAnchorForAgent');
        // 获取登陆记录
        Route::post('user/login_log', 'User/loginLog');
        // 退出登陆
        Route::post('user/log_out', 'User/logout');
        //申请模拟账号
        Route::post('user/apply_test', 'User/applyTest');
        Route::post('user/test_login', 'User/testLogin');
        Route::post('user/formal_login', 'User/formalLogin');


        Route::post('payment_list', 'Pay/payChannel'); //获取充值渠道
        Route::post('user_recharge', 'Pay/rechargeApply')->middleware(\app\home\middleware\RepeatOperateMiddleware::class); // 用户申请充值接口 防止重复操作

        Route::post('user_assets', 'Wallet/getAllAssets'); // 获取用户所有资产列表数据
        Route::post('user_balance', 'Wallet/getUserBalance'); // 获取用户所有资产列表数据
        Route::post('balance_record', 'Wallet/UserBalanceRecord'); // 获取用户资金明细数据

        Route::post('recharge_list', 'Wallet/userRechargeList');
        Route::post('recharge_wallet', 'Wallet/userRechargeWallet');
        Route::post('upload_recharge', 'Upload/uploadRechargeImage');

        Route::post('transfer', 'Wallet/userTransfer')->middleware(\app\home\middleware\RepeatOperateMiddleware::class); // 用户资金划转接口
        Route::post('transfer_list', 'Wallet/userTransferRecord'); // 用户资金划转接口

        Route::post('user_drawal', 'Wallet/drawalApply')->middleware(\app\home\middleware\RepeatOperateMiddleware::class); // 用户申请提现接口
        Route::post('canncel_drawal', 'Wallet/canncelDrawalApply')->middleware(\app\home\middleware\RepeatOperateMiddleware::class); // 用户申请提现接口
        Route::post('drawal_fee', 'Wallet/drawalFee'); // 用户提现手续费接口
        Route::post('drawal_list', 'Wallet/userDrawalList'); // 用户提现手续费接口

        Route::post('trc20_list', 'Pay/getTRC20BuyList'); // TRC20

        Route::post('add_bank', 'Wallet/addUserBank'); // 用户添加银行卡
        Route::post('user_bank', 'Wallet/getUserBank'); // 获取用户银行卡列表
        Route::post('bank_info', 'Wallet/getUserBankInfo'); // 获取用户银行卡详情
        Route::post('del_bank', 'Wallet/delUserBank'); // 删除用户银行卡
        Route::post('add_wallet_address', 'Wallet/addWalletAddress'); // 用户添加钱包地址
        Route::post('wallet_address', 'Wallet/getWalletAddress'); // 获取用户钱包地址列表
        Route::post('del_wallet_address', 'Wallet/delWalletAddress'); // 删除用户钱包地址
        Route::post('get_wallet_address', 'Wallet/getWalletAddressInfo'); // 获取用户钱包地址详情

        Route::post('get_transfer_rate', 'Wallet/getRateToTransfer'); // 获取用户账户之间划转的费率 支持计算具体值

        Route::post('user_market', 'Market/userMarket'); // 获取用户自选数据
        Route::post('add_market', 'Market/addMarket'); // 添加用户自选数据
        Route::post('del_market', 'Market/delMarket'); // 删除用户自选数据
        Route::post('is_collect', 'Market/MarketCollect'); // 删除用户自选数据
        Route::post('trade_fee', 'Market/tradeFee');
        Route::post('contract_setting', 'Market/ContractSetting');

        Route::post('team_collect', 'Team/userTeamCollect');// 获取团队汇总
        Route::post('team_back', 'Team/userTeamBack'); // 获取团队人数
        Route::post('team_list', 'Team/userTeamList'); // 获取团队人数
        // 根据邮箱重新设置密码
        Route::post('user/reset_pwd_email', 'User/resetPasswordByEmail');
        Route::post('user/lever_apply', 'User/leverApply');

        Route::post('apply_test_money', 'User/applyTestMoney');


        // 股票申购
        Route::post('pre_stock/order', 'PreStock/order')->middleware(\app\home\middleware\RepeatOperateMiddleware::class); // 新股下单 防止重复操作
        Route::post('pre_stock/post_pay', 'PreStock/postPay')->middleware(\app\home\middleware\RepeatOperateMiddleware::class); // 新股下单后支付 - 订单支付
        Route::post('pre_stock/list', 'PreStock/list');
        Route::post('pre_stock/detail', 'PreStock/detail');

        // 基金订单
        Route::post('fund/order', 'Fund/order')->middleware(\app\home\middleware\RepeatOperateMiddleware::class);
        Route::post('fund/user_fund', 'Fund/userFund');
        Route::post('fund/detail', 'Fund/detail');
        Route::post('fund/history', 'Fund/history');

        Route::post('has_pay', 'Wallet/userHasNotPay');
        Route::post('pay_ipo', 'Wallet/dealUnPayIPO');

        //大宗交易
        Route::post('block/index', 'Block/index'); //大宗交易商品列表
        Route::post('block/list', 'Block/list'); //大宗交易订单

        //投票
        Route::post('vote/index', 'Vote/index');
        Route::post('vote/cheer', 'Vote/cheer');
        //贷款
        Route::post('user/apply_loan', 'User/apply_loan');
        Route::post('user/loan', 'User/loan');

        // 视频点播相关
        Route::post('video/video_on_demand_list', 'Video/videoOnDemandList');  // 获取视频点播列表
        Route::post('video/video_on_demand_detail', 'Video/videoOnDemandDetail');  // 获取某个点播配置详情


    })->middleware(\app\home\middleware\AuthMiddleware::class);
    // 美股申购列表 不需要登陆
    Route::post('pre_stock/index', 'PreStock/index');
    Route::post('pre_stock/stock_detail', 'PreStock/stockDetail');

    //基金
    Route::post('fund/index', 'Fund/index');
    Route::post('auto_login', 'Login/autoLogin');

    Route::post('get_ip', 'Login/getIP');
    Route::get('get_news', 'News/index');
    Route::post('test', 'News/test');
    Route::post('test_api', 'User/purchaseVipLog');


})->allowCrossDomain($header);