        </div>

        <div class="body-content-footer-container">
            <!-- footer start, is footer nav -->
            {{if empty($module_data) or !isset($module_data['is_footer_nav']) or $module_data['is_footer_nav'] eq 1}}
                {{if (!isset($page_pure) or $page_pure neq 1) and (!isset($is_footer) or $is_footer eq 1)}}
                	{{:ModuleInclude('public/footer_nav', isset($module_data) ? $module_data : [])}}
                {{/if}}
            {{/if}}
            <!-- footer end -->

            <!-- is footer hook -->
            {{if empty($module_data) or !isset($module_data['is_footer_hook']) or $module_data['is_footer_hook'] eq 1}}
                <!-- 公共底部钩子 -->
                {{if !isset($page_pure) or $page_pure neq 1}}
                    {{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
                        <div class="plugins-tag">
                            <span>plugins_view_common_bottom</span>
                        </div>
                    {{/if}}
                    {{if !empty($plugins_view_common_bottom_data) and is_array($plugins_view_common_bottom_data)}}
                        {{foreach $plugins_view_common_bottom_data as $hook}}
                            {{if is_string($hook) or is_int($hook)}}
                                {{$hook|raw}}
                            {{/if}}
                        {{/foreach}}
                    {{/if}}
                {{/if}}

                <!-- footer公共底部钩子 -->
                {{if !isset($is_footer) or $is_footer eq 1}}
                    {{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
                        <div class="plugins-tag">
                            <span>plugins_view_common_bottom_footer</span>
                        </div>
                    {{/if}}
                    {{if !empty($plugins_view_common_bottom_footer_data) and is_array($plugins_view_common_bottom_footer_data)}}
                        {{foreach $plugins_view_common_bottom_footer_data as $hook}}
                            {{if is_string($hook) or is_int($hook)}}
                                {{$hook|raw}}
                            {{/if}}
                        {{/foreach}}
                    {{/if}}
                {{/if}}
            {{/if}}
        </div>
    </div>

    <!-- 公共上传组件初始化 -->
    <textarea id="upload-editor-view" data-url="{{if isset($is_load_upload_editor) and $is_load_upload_editor eq 1}}{{:MyUrl('index/ueditor/index', ['path_type'=>empty($editor_path_type) ? 'common' : $editor_path_type])}}{{/if}}" style="display: none;"></textarea>

    <!-- 公共单个上传组件表单初始化 -->
    <form class="am-form form-validation-common-upload-editor-single" method="post" action="{{:MyUrl('index/ueditor/index', ['path_type'=>empty($editor_path_type) ? 'common' : $editor_path_type])}}" request-type="ajax-fun" request-value="CommonFormUploadEditorSingleBack" style="display: none;">
        <input type="file" name="upfile" accept="" />
        <input type="hidden" name="action" value="uploadimage" />
        <button type="reset"></button>
        <button type="submit"></button>
    </form>

    <!-- 公共购物车加入成功提示 -->
    <div class="am-modal am-modal-no-btn" tabindex="-1" id="common-user-cart-success-modal">
        <div class="am-modal-dialog am-radius">
            <div class="am-modal-hd">
                <span>{{:MyLang('reminder_title')}}</span>
                <a href="javascript: void(0)" class="am-close am-close-spin" data-am-modal-close>&times;</a>
            </div>
            <div class="am-modal-bd">

                <div class="am-text-center am-margin-top">
                    <span class="am-text-success iconfont icon-enable"> {{:MyLang('common.user_cart_success_modal_tips')}}</span>
                </div>
                <div class="am-margin-top-sm">
                    <span>{{:MyLang('common.user_cart_success_modal_text_first')}}</span>
                    <strong class="common-cart-total">{{$user_cart_summary.buy_number}}</strong>
                    <span>{{:MyLang('common.user_cart_success_modal_text_last')}}</span>
                </div>
                <div class="am-margin-top-sm">
                    <a href="{{:MyUrl('index/cart/index')}}" class="am-btn am-btn-secondary am-radius am-margin-right-sm">{{:MyLang('common.user_cart_success_modal_cart_title')}}</a>
                    <button type="button" class="am-btn am-btn-primary am-radius am-margin-left-sm" data-am-modal-close>{{:MyLang('common.user_cart_success_modal_buy_title')}}</button>
                </div>
            </div>
        </div>
    </div>

    <!-- 公共视频扫码组件初始化 -->     
    <div class="am-popup am-radius popup-iframe popup-not-title" id="common-video-scan-popup">
        <div class="am-popup-inner am-radius">
            <span data-am-modal-close class="am-close am-close-alt">&times;</span>
            <div class="scanner">
                <div class="scan-area">
                    <div class="mark top-left"></div>
                    <div class="mark top-right"></div>
                    <div class="mark bottom-left"></div>
                    <div class="mark bottom-right"></div>
                </div>
                <video id="video"></video>
                <i class="am-icon-refresh am-icon-md video-scan-switch-camera-submit"></i>
                <button type="button" class="am-btn am-btn-primary am-radius am-btn-xs video-scan-continue-submit am-hide">{{:MyLang('continue_scan_title')}}</button>
                <div class="video-scan-audio-container"></div>
            </div>
        </div>
    </div>

    <!-- 主题数据管理 -->
    {{if !empty($theme_data_admin_data) and isset($theme_data_admin_data['status']) and $theme_data_admin_data['status'] eq 1 and !empty($theme_data_admin_data['admin_url_data']) and !in_array($action_name, ['modallogininfo'])}}
        <div class="theme-data-admin-container">
            <a href="{{:MyUrl('index/index/index', ['is_theme_data_admin'=>0])}}" class="am-btn am-btn-danger am-btn-sm am-radius">
                <i class="iconfont icon-logout"></i>
                <span>{{:MyLang('quit_admin_title')}}</span>
            </a>
        </div>
    {{/if}}
</body>
</html>

<!-- 类库 -->
<script type='text/javascript' src="{{$public_host}}static/common/lib/jquery/jquery-3.7.1.min.js?v={{$static_cache_version}}"></script>
<script type='text/javascript' src="{{$public_host}}static/common/lib/assets/js/amazeui.js?v={{$static_cache_version}}"></script>

<!-- jshash -->
<script type='text/javascript' src="{{$public_host}}static/common/lib/jshash/md5-min.js?v={{$static_cache_version}}"></script>

<!-- 图片放大镜 -->
{{if isset($is_load_imagezoom) and $is_load_imagezoom eq 1}}
    <script type='text/javascript' src="{{$public_host}}static/common/lib/imagezoom/jquery.imagezoom.min.js?v={{$static_cache_version}}"></script>
{{/if}}

<!-- echarts 图表 -->
{{if isset($is_load_echarts) and $is_load_echarts eq 1}}
    <script type='text/javascript' src="{{$public_host}}static/common/lib/echarts/echarts.min.js?v={{$static_cache_version}}"></script>
    <script type='text/javascript' src="{{$public_host}}static/common/lib/echarts/macarons.js?v={{$static_cache_version}}"></script>
    <script type='text/javascript' src="{{$public_host}}static/common/lib/echarts/shine.js?v={{$static_cache_version}}"></script>
{{/if}}

<!-- amazeui插件 -->
<script type='text/javascript' src="{{$public_host}}static/common/lib/amazeui-switch/amazeui.switch.min.js?v={{$static_cache_version}}"></script>
<script type='text/javascript' src="{{$public_host}}static/common/lib/amazeui-chosen/amazeui.chosen.js?v={{$static_cache_version}}"></script>
<script type='text/javascript' src="{{$public_host}}static/common/lib/amazeui-dialog/amazeui.dialog.js?v={{$static_cache_version}}"></script>
<script type='text/javascript' src="{{$public_host}}static/common/lib/amazeui-tagsinput/amazeui.tagsinput.min.js?v={{$static_cache_version}}"></script>

<!-- 轮播插件 -->
<script type='text/javascript' src="{{$public_host}}static/common/lib/swiper/swiper.min.js?v={{$static_cache_version}}"></script>
<script type='text/javascript' src="{{$public_host}}static/common/lib/swiper/swiper-bundle.min.js?v={{$static_cache_version}}"></script>

<!-- 图像裁剪插件 -->
<script type='text/javascript' src="{{$public_host}}static/common/lib/cropper/cropper.min.js?v={{$static_cache_version}}"></script>

<!-- 元素拖动 -->
<script type='text/javascript' src="{{$public_host}}static/common/lib/tdrag/tdrag.min.js?v={{$static_cache_version}}"></script>

<!-- 复制插件 -->
<script type='text/javascript' src="{{$public_host}}static/common/lib/clipboard/clipboard.min.js?v={{$static_cache_version}}"></script>

<!-- base64 -->
<script type='text/javascript' src="{{$public_host}}static/common/lib/base64/base64csvtojson.js?v={{$static_cache_version}}"></script>

<!-- 元素拖拽排序插件 -->
<script type='text/javascript' src="{{$public_host}}static/common/lib/dragsort/jquery.dragsort-0.5.2.min.js?v={{$static_cache_version}}"></script>

<!-- 动画数数 -->
{{if isset($is_load_animation_count) and $is_load_animation_count eq 1}}
    <script type='text/javascript' src="{{$public_host}}static/common/lib/animation-count-to/animation.count.to.js?v={{$static_cache_version}}"></script>
{{/if}}

<!-- highlight代码高亮 -->
<script src="{{$public_host}}static/common/lib/highlight/highlight.min.js?v={{$static_cache_version}}"></script>

<!-- wangEditor 编辑器 -->
<script type='text/javascript' src="{{$public_host}}static/common/lib/wangeditor/wangeditor-5.1.23.js?v={{$static_cache_version}}"></script>

<!-- ueditor 编辑器 -->
<script type='text/javascript' src="{{$public_host}}static/common/lib/ueditor/ueditor.config.js?v={{$static_cache_version}}"></script>
<script type='text/javascript' src="{{$public_host}}static/common/lib/ueditor/ueditor.all.js?v={{$static_cache_version}}"></script>

<!-- 颜色选择器 -->
<script type='text/javascript' src="{{$public_host}}static/common/lib/xncolorpicker/xncolorpicker.min.js?v={{$static_cache_version}}"></script>

<!-- 日期组件 -->
<script type='text/javascript' src="{{$public_host}}static/common/lib/My97DatePicker/WdatePicker.js"></script>

<!-- ckplayer播放器 -->
{{if isset($is_load_ckplayer) and $is_load_ckplayer eq 1}}
    <script type='text/javascript' src="{{$public_host}}static/common/lib/ckplayer/js/ckplayer.min.js?v={{$static_cache_version}}"></script>
{{/if}}

<!-- xgplayer播放器 -->
{{if isset($is_load_xgplayer) and $is_load_xgplayer eq 1}}
    <script type='text/javascript' src="{{$public_host}}static/common/lib/xgplayer/xgplayer-2.31.2.js?v={{$static_cache_version}}"></script>
{{/if}}

<!-- hlsjs -->
{{if isset($is_load_hlsjs) and $is_load_hlsjs eq 1}}
    <script type='text/javascript' src="{{$public_host}}static/common/lib/hlsjs/hls-1.6.15.min.js?v={{$static_cache_version}}"></script>
{{/if}}

<!-- 条形码 -->
{{if isset($is_load_barcode) and $is_load_barcode eq 1}}
    <script type='text/javascript' src="{{$public_host}}static/common/lib/JsBarcode/JsBarcode.all.min.js?v={{$static_cache_version}}"></script>
{{/if}}

<!-- map -->
{{if isset($is_load_map_api) and $is_load_map_api eq 1 and !empty($load_map_type)}}
    {{switch $load_map_type}}
        {{case baidu}}
            <script type="text/javascript" src="{{$my_http}}://api.map.baidu.com/api?v=2.0&ak={{:MyC('common_baidu_map_ak')}}"></script>
        {{/case}}
        {{case amap}}
            <script type="text/javascript">
                window._AMapSecurityConfig = {
                    securityJsCode: '{{:MyC("common_amap_map_safety_ak")}}',
                }
            </script>
            <script type="text/javascript" src="{{$my_http}}://webapi.amap.com/maps?v=2.0&key={{:MyC('common_amap_map_ak')}}"></script>
        {{/case}}
        {{case tencent}}
            <script type="text/javascript" src="{{$my_http}}://map.qq.com/api/js?v=2.exp&key={{:MyC('common_tencent_map_ak')}}"></script>
            <script type="text/javascript" src="{{$my_http}}://map.qq.com/api/gljs?libraries={{if empty($map_tencent_libraries)}}service{{else /}}{{$map_tencent_libraries}}{{/if}}&v=1.exp&key={{:MyC('common_tencent_map_ak')}}"></script>
        {{/case}}
        {{case tianditu}}
            <script type="text/javascript" src="{{$my_http}}://api.tianditu.gov.cn/api?v=4.0&tk={{:MyC('common_tianditu_map_ak')}}"></script>
        {{/case}}
    {{/switch}}
{{/if}}

<!-- 打印js -->
{{if isset($is_load_hiprint) and $is_load_hiprint eq 1}}
    <script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/hiprint.bundle.js?v={{$static_cache_version}}"></script>
    <script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/polyfill.min.js?v={{$static_cache_version}}"></script>
    <script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/plugins/jquery.hiwprint.js?v={{$static_cache_version}}"></script>
    <script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/plugins/JsBarcode.all.min.js?v={{$static_cache_version}}"></script>
    <script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/plugins/qrcode.js?v={{$static_cache_version}}"></script>
    <script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/plugins/jquery.minicolors.min.js?v={{$static_cache_version}}"></script>
    <script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/plugins/jspdf/canvas2image.js?v={{$static_cache_version}}"></script>
    <script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/plugins/jspdf/canvg.min.js?v={{$static_cache_version}}"></script>
    <script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/plugins/jspdf/html2canvas.min.js?v={{$static_cache_version}}"></script>
    <script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/plugins/jspdf/jspdf.min.js?v={{$static_cache_version}}"></script>
    <script type="text/javascript" src="{{$public_host}}static/common/lib/hiprint/hiprint.config.js?v={{$static_cache_version}}"></script>
{{/if}}

<!-- 调用摄像头扫码js -->
{{if isset($is_load_video_scan) and $is_load_video_scan eq 1}}
    <script type="text/javascript" src="{{$public_host}}static/common/lib/ZXing/ZXing.min.js?v={{$static_cache_version}}"></script>
{{/if}}

<!-- 代码编辑器js -->
{{if isset($is_load_ace_builds) and $is_load_ace_builds eq 1}}
    <script type="text/javascript" src="{{$public_host}}static/common/lib/ace-builds/src-min/ace.js?v={{$static_cache_version}}"></script>
{{/if}}

<!-- 范围滑条 -->
{{if isset($is_load_jrange) and $is_load_jrange eq 1}}
    <script type="text/javascript" src="{{$public_host}}static/common/lib/jRange/jquery.range.js?v={{$static_cache_version}}"></script>
{{/if}}

<!-- webuploader -->
{{if isset($is_load_webuploader) and $is_load_webuploader eq 1}}
    <script type="text/javascript" src="{{$public_host}}static/common/lib/ueditor/third-party/webuploader/webuploader.min.js?v={{$static_cache_version}}"></script>
{{/if}}

<!-- uniapp webview js -->
{{if isset($is_load_uniapp_webview) and $is_load_uniapp_webview eq 1}}
    <script type="text/javascript">
        var user_agent = navigator.userAgent;
        if(user_agent.indexOf('AlipayClient') > -1)
        {
            // 支付宝小程序的 JS-SDK 防止 404 需要动态加载，如果不需要兼容支付宝小程序，则无需引用此 JS 文件。
            document.writeln('<script src="https://appx/web-view.min.js"' + '>' + '<' + '/' + 'script>');
        } else if(/QQ/i.test(user_agent) && /miniProgram/i.test(user_agent))
        {
            // QQ 小程序
            document.write('<script type="text/javascript" src="https://qqq.gtimg.cn/miniprogram/webview_jssdk/qqjssdk-1.0.0.js"><\/script>');
        } else if(/miniProgram/i.test(user_agent) && /micromessenger/i.test(user_agent))
        {
            // 微信小程序 JS-SDK 如果不需要兼容微信小程序，则无需引用此 JS 文件。
            document.write('<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"><\/script>');
        } else if(/toutiaomicroapp/i.test(user_agent))
        {
            // 头条小程序 JS-SDK 如果不需要兼容头条小程序，则无需引用此 JS 文件。
            document.write('<script type="text/javascript" src="https://s3.pstatp.com/toutiao/tmajssdk/jssdk-1.0.1.js"><\/script>');
        } else if(/swan/i.test(user_agent))
        {
            // 百度小程序 JS-SDK 如果不需要兼容百度小程序，则无需引用此 JS 文件。
            document.write('<script type="text/javascript" src="https://b.bdstatic.com/searchbox/icms/searchbox/js/swan-2.0.18.js"><\/script>');
        } else if(/quickapp/i.test(user_agent))
        {
            // 快手
            document.write('<script type="text/javascript" src="https://quickapp/jssdk.webview.min.js"><\/script>');
        }
    </script>
    <!-- uni 的 SDK -->
    <!-- 需要把 uni.webview.1.5.4.js 下载到自己的服务器 -->
    <script type="text/javascript" src="{{$public_host}}static/common/lib/uniapp/uniapp-webview-1.5.6.js?v={{$static_cache_version}}"></script>
    <script type="text/javascript">
    // 待触发 `UniAppJSBridgeReady` 事件后，即可调用 uni 的 API。
    document.addEventListener('UniAppJSBridgeReady', function()
    {
        $(function()
        {
            // 导航事件
            $(document).on('click', '.submit-mini-event', function()
            {
                var url = $(this).data('url');
                var action = $(this).data('action');
                switch(action)
                {
                    case 'switchTab':
                        uni.switchTab({url: url});
                        break;
                    case 'reLaunch':
                        uni.reLaunch({url: url});
                        break;
                    case 'navigateBack':
                        uni.navigateBack({delta: 1});
                        break;
                    default:
                        uni[action]({url: url});
                        break;
                }
            });
        });
    });
    </script>
{{/if}}

<!-- 隐藏编辑器初始化 -->
<script type="text/javascript">
    var upload_editor = UE.getEditor("upload-editor-view", {
        isShow: false,
        focus: false,
        enableAutoSave: false,
        autoSyncData: false,
        autoFloatEnabled:false,
        wordCount: false,
        sourceEditor: null,
        scaleEnabled:true,
        toolbars: [["insertimage", "insertvideo", "attachment"]]
    });

    // 跳转方法处理
    function CommonTransferBackHandle(url)
    {
        window.location.href = url;
    }

    // 刷新方法处理
    function CommonReloadBackHandle()
    {
        window.location.reload();
    }

    // 关闭弹窗
    function CommonPopupClose()
    {
        $('.am-popup').modal('close');
        $('.am-modal').modal('close');
    }

    // 公共单个文件上传表单回调
    function CommonFormUploadEditorSingleBack(e)
    {
        CommonFormUploadEditorSingleBackHandle(e);
    }

    // 子级调用购物车数量更新
    function IframePopupHomeCartNumberTotalUpdate(value, popup = null)
    {
        HomeCartNumberTotalUpdate(value);
        if((popup || null) != null)
        {
            $(popup).modal('close');
        }
    }
</script>

<!-- 项目公共 -->
<script type='text/javascript' src="{{$public_host}}static/common/js/common.js?v={{$static_cache_version}}"></script>
<script type='text/javascript' src="{{$public_host}}static/common/js/forminput.js?v={{$static_cache_version}}"></script>
{{if !empty($static_path_data['common_js'])}}
    <script type='text/javascript' src="{{$public_host}}static/{{$static_path_data.common_js}}?v={{$static_cache_version}}"></script>
{{/if}}
{{if !empty($static_path_data['theme_import_js']) and is_array($static_path_data['theme_import_js'])}}
    {{foreach $static_path_data.theme_import_js as $v}}
        <script type='text/javascript' src="{{$public_host}}static/{{$v}}?v={{$static_cache_version}}"></script>
    {{/foreach}}
{{/if}}
{{if !empty($static_path_data['module_js'])}}
    <script type='text/javascript' src="{{$public_host}}static/{{$static_path_data.module_js}}?v={{$static_cache_version}}"></script>
{{/if}}
{{if !empty($static_path_data['other_js'])}}
    <script type='text/javascript' src="{{$public_host}}static/{{$static_path_data.other_js}}?v={{$static_cache_version}}"></script>
{{/if}}
{{if isset($is_load_layout_admin) and $is_load_layout_admin eq 1}}
    <script type='text/javascript' src="{{$public_host}}static/common/js/layout.admin.js?v={{$static_cache_version}}"></script>
{{/if}}

<!-- 应用插件公共js -->
{{if !empty($static_path_data['plugins_js'])}}
    <script type='text/javascript' src="{{$public_host}}static/{{$static_path_data.plugins_js}}?v={{$static_cache_version}}"></script>
{{/if}}

<!-- 当前控制器js -->
{{if !empty($static_path_data['page_js'])}}
	<script type='text/javascript' src="{{$public_host}}static/{{$static_path_data.page_js}}?v={{$static_cache_version}}"></script>
{{/if}}

<!-- 底部信息 --> 
{{if (!isset($page_pure) or $page_pure neq 1) and (!isset($is_footer) or $is_footer eq 1)}}
    {{:MyC('home_footer_info')}}
{{/if}}

<!-- js钩子 -->
{{if (!isset($page_pure) or $page_pure neq 1) and (!isset($is_footer) or $is_footer eq 1)}}
    {{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
        <div class="plugins-tag">
            <span>plugins_js</span>
        </div>
    {{/if}}
{{/if}}
{{if !empty($plugins_js_data) and is_array($plugins_js_data)}}
    {{foreach $plugins_js_data as $hook}}
        {{if !empty($hook) and is_string($hook)}}
            {{if substr($hook, 0, 4) eq 'http'}}
                <script type='text/javascript' src="{{$hook}}?v={{$static_cache_version}}"></script>
            {{else /}}
                <script type='text/javascript' src="{{$public_host}}{{$hook}}?v={{$static_cache_version}}"></script>
            {{/if}}
        {{elseif is_array($hook) /}}
            {{foreach $hook as $hook_js}}
                {{if !empty($hook_js) and is_string($hook_js)}}
                    {{if substr($hook_js, 0, 4) eq 'http'}}
                        <script type='text/javascript' src="{{$hook_js}}?v={{$static_cache_version}}"></script>
                    {{else /}}
                        <script type='text/javascript' src="{{$public_host}}{{$hook_js}}?v={{$static_cache_version}}"></script>
                    {{/if}}
                {{/if}}
            {{/foreach}}
        {{/if}}
    {{/foreach}}
{{/if}}

<!-- 公共页面底部钩子 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true}}
    <div class="plugins-tag">
        <span>plugins_common_page_bottom</span>
    </div>
{{/if}}
{{if !empty($plugins_common_page_bottom_data) and is_array($plugins_common_page_bottom_data)}}
    {{foreach $plugins_common_page_bottom_data as $hook}}
        {{if is_string($hook) or is_int($hook)}}
            {{$hook|raw}}
        {{/if}}
    {{/foreach}}
{{/if}}