...
 
Commits (2)
    https://gitcode.net/phpchina/shopxo/-/commit/fb52e01691be288a90c66263bd68eb0164df6ccf 多语言支持自动识别开关、新增公共弹窗静态关闭、其他细节优化 2023-03-28T12:13:54+08:00 gongfuxiang fuxiang.gong@qq.com https://gitcode.net/phpchina/shopxo/-/commit/ad7c3aabefa1c1e420ed871cb65695f3e24c3185 用户信息读取优化 2023-03-28T14:41:03+08:00 gongfuxiang fuxiang.gong@qq.com
......@@ -90,11 +90,11 @@ class Design extends Base
// 品牌
'brand_list' => BrandService::CategoryBrand(),
// 静态数据
'border_style_type_list' => BaseLayout::ConstConfigData('border_style_type_list'),
'goods_view_list_show_style' => BaseLayout::ConstConfigData('goods_view_list_show_style'),
'many_images_view_list_show_style' => BaseLayout::ConstConfigData('many_images_view_list_show_style'),
'images_text_view_list_show_style' => BaseLayout::ConstConfigData('images_text_view_list_show_style'),
'images_magic_cube_view_list_show_style' => BaseLayout::ConstConfigData('images_magic_cube_view_list_show_style'),
'border_style_type_list' => BaseLayout::ConstData('border_style_type_list'),
'goods_view_list_show_style' => BaseLayout::ConstData('goods_view_list_show_style'),
'many_images_view_list_show_style' => BaseLayout::ConstData('many_images_view_list_show_style'),
'images_text_view_list_show_style' => BaseLayout::ConstData('images_text_view_list_show_style'),
'images_magic_cube_view_list_show_style' => BaseLayout::ConstData('images_magic_cube_view_list_show_style'),
// 首页商品排序规则
'goods_order_by_type_list' => MyLang('goods_order_by_type_list'),
'goods_order_by_rule_list' => MyLang('goods_order_by_rule_list'),
......
......@@ -202,6 +202,12 @@
scaleEnabled:true,
toolbars: [["insertimage", "insertvideo", "attachment"]]
});
// 关闭弹窗
function CommonPopupClose()
{
$('.am-popup').modal('close');
}
</script>
<!-- 项目公共 -->
......
......@@ -173,6 +173,14 @@
{{/foreach}}
</div>
</div>
<div class="am-form-group">
<label>{{$data.common_multilingual_auto_status.name}}<span class="am-form-group-label-tips">{{$data.common_multilingual_auto_status.describe}}</span></label>
<select name="{{$data.common_multilingual_auto_status.only_tag}}" class="am-radius chosen-select" data-validation-message="{{$data.common_multilingual_auto_status.error_tips}}" required>
{{foreach $common_close_open_list as $v}}
<option value="{{$v.value}}" {{if isset($data['common_multilingual_auto_status']['value']) and $data['common_multilingual_auto_status']['value'] eq $v['value']}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
</div>
<div class="am-form-group">
<label>{{$data.admin_use_multilingual_status.name}}<span class="am-form-group-label-tips">{{$data.admin_use_multilingual_status.describe}}</span></label>
<select name="{{$data.admin_use_multilingual_status.only_tag}}" class="am-radius chosen-select" data-validation-message="{{$data.admin_use_multilingual_status.error_tips}}" required>
......
......@@ -108,11 +108,11 @@ class Index extends Common
$assign['brand_list'] = BrandService::CategoryBrand();
// 静态数据
$assign['border_style_type_list'] = BaseLayout::ConstConfigData('border_style_type_list');
$assign['goods_view_list_show_style'] = BaseLayout::ConstConfigData('goods_view_list_show_style');
$assign['many_images_view_list_show_style'] = BaseLayout::ConstConfigData('many_images_view_list_show_style');
$assign['images_text_view_list_show_style'] = BaseLayout::ConstConfigData('images_text_view_list_show_style');
$assign['images_magic_cube_view_list_show_style'] = BaseLayout::ConstConfigData('images_magic_cube_view_list_show_style');
$assign['border_style_type_list'] = BaseLayout::ConstData('border_style_type_list');
$assign['goods_view_list_show_style'] = BaseLayout::ConstData('goods_view_list_show_style');
$assign['many_images_view_list_show_style'] = BaseLayout::ConstData('many_images_view_list_show_style');
$assign['images_text_view_list_show_style'] = BaseLayout::ConstData('images_text_view_list_show_style');
$assign['images_magic_cube_view_list_show_style'] = BaseLayout::ConstData('images_magic_cube_view_list_show_style');
// 首页商品排序规则
$assign['goods_order_by_type_list'] = MyLang('goods_order_by_type_list');
......
......@@ -188,6 +188,12 @@
toolbars: [["insertimage", "insertvideo", "attachment"]]
});
// 关闭弹窗
function CommonPopupClose()
{
$('.am-popup').modal('close');
}
// 子级调用购物车数量更新
function IframePopupHomeCartNumberTotalUpdate(value, popup = null)
{
......
......@@ -123,7 +123,9 @@
{{/if}}
<!-- 右侧快捷入口 -->
<div class="am-fr">
<a href="{{:MyUrl('index/user/reginfo')}}" target="_blank" class="am-text-danger am-margin-right-sm">{{:MyLang('register_title')}}</a>
{{if !empty($home_user_reg_type)}}
<a href="{{:MyUrl('index/user/reginfo')}}" target="_blank" class="am-text-danger am-margin-right-sm">{{:MyLang('register_title')}}</a>
{{/if}}
<a href="{{:MyUrl('index/user/forgetpwdinfo')}}" target="_blank">{{:MyLang('user.login_retrieve_password_title')}}</a>
</div>
</div>
......
......@@ -3853,6 +3853,11 @@ return [
'desc' => '默認開啟',
'tips' => '請選擇底部頁腳內容狀態',
],
'common_multilingual_choose_list' => [
'name' => '可用多語言',
'desc' => '勾選則使用',
'tips' => '請勾選需要使用的語言',
],
'admin_use_multilingual_status' => [
'name' => '後端使用多語言',
'desc' => '默認關閉',
......@@ -3863,10 +3868,15 @@ return [
'desc' => '默認關閉',
'tips' => '請選擇前端用多語言',
],
'common_multilingual_choose_list' => [
'name' => '可用多語言',
'desc' => '勾選則使用',
'tips' => '請勾選需要使用的語言',
'common_multilingual_auto_status' => [
'name' => '自動識別用戶語言',
'desc' => '默認關閉',
'tips' => '請選擇自動識別用戶語言',
],
'common_user_unique_system_type_model' => [
'name' => '用戶以系統類標識維度',
'desc' => '默認關閉',
'tips' => '請選擇用戶以系統類標識維度',
],
],
];
......
......@@ -3853,6 +3853,11 @@ return [
'desc' => 'Standard auf',
'tips' => 'Bitte wählen Sie den Inhaltsstatus der unteren Fußzeile aus',
],
'common_multilingual_choose_list' => [
'name' => 'In mehreren Sprachen verfügbar',
'desc' => 'Überprüfen Sie die Verwendung',
'tips' => 'Bitte markieren Sie die Sprache, die Sie verwenden möchten',
],
'admin_use_multilingual_status' => [
'name' => 'Backend verwendet mehrere Sprachen',
'desc' => 'Standard Aus',
......@@ -3863,10 +3868,15 @@ return [
'desc' => 'Standard Aus',
'tips' => 'Bitte wählen Sie mehrere Sprachen für das Frontend',
],
'common_multilingual_choose_list' => [
'name' => 'In mehreren Sprachen verfügbar',
'desc' => 'Überprüfen Sie die Verwendung',
'tips' => 'Bitte markieren Sie die Sprache, die Sie verwenden möchten',
'common_multilingual_auto_status' => [
'name' => 'Benutzersprache automatisch erkennen',
'desc' => 'Standard Aus',
'tips' => 'Bitte wählen Sie eine automatisch erkannte Benutzersprache',
],
'common_user_unique_system_type_model' => [
'name' => 'Der Benutzer identifiziert die Dimension mit einer Systemklasse',
'desc' => 'Standard Aus',
'tips' => 'Bitte wählen Sie einen Benutzer aus, um die Dimension mit einer Systemklasse zu identifizieren',
],
],
];
......
......@@ -3892,6 +3892,11 @@ return [
'desc' => 'Default on',
'tips' => 'Please select the bottom footer content status',
],
'common_multilingual_choose_list' => [
'name' => 'Available in multiple languages',
'desc' => 'Check to use',
'tips' => 'Please tick the language you want to use',
],
'admin_use_multilingual_status' => [
'name' => 'Backend uses multiple languages',
'desc' => 'Default on',
......@@ -3902,10 +3907,15 @@ return [
'desc' => 'Default on',
'tips' => 'Please select multiple languages for the front end',
],
'common_multilingual_choose_list' => [
'name' => 'Available in multiple languages',
'desc' => 'Check to use',
'tips' => 'Please tick the language you want to use',
'common_multilingual_auto_status' => [
'name' => 'Automatically recognize user language',
'desc' => 'Default on',
'tips' => 'Please select an automatically recognized user language',
],
'common_user_unique_system_type_model' => [
'name' => 'The user identifies the dimension with a system class',
'desc' => 'Default on',
'tips' => 'Please select a user to identify the dimension with a system class',
],
],
];
......
......@@ -3853,6 +3853,11 @@ return [
'desc' => 'Ouvert par défaut',
'tips' => 'Veuillez sélectionner létat du contenu du pied de page inférieur',
],
'common_multilingual_choose_list' => [
'name' => 'Multilingue disponible',
'desc' => 'Cocher pour utiliser',
'tips' => 'Veuillez cocher la langue que vous devez utiliser',
],
'admin_use_multilingual_status' => [
'name' => 'Back - end multilingue',
'desc' => 'Désactivé par défaut',
......@@ -3863,10 +3868,15 @@ return [
'desc' => 'Désactivé par défaut',
'tips' => 'Veuillez sélectionner front end en multilingue',
],
'common_multilingual_choose_list' => [
'name' => 'Multilingue disponible',
'desc' => 'Cocher pour utiliser',
'tips' => 'Veuillez cocher la langue que vous devez utiliser',
'common_multilingual_auto_status' => [
'name' => 'Reconnaissance automatique de la langue de lutilisateur',
'desc' => 'Désactivé par défaut',
'tips' => 'Veuillez sélectionner reconnaître automatiquement la langue de lutilisateur',
],
'common_user_unique_system_type_model' => [
'name' => 'Lutilisateur identifie la dimension par classe système',
'desc' => 'Désactivé par défaut',
'tips' => 'Veuillez sélectionner un utilisateur pour identifier la dimension par classe système',
],
],
];
......
......@@ -3853,6 +3853,11 @@ return [
'desc' => 'Predefinito il',
'tips' => 'Seleziona lo stato del contenuto del piè di pagina inferiore',
],
'common_multilingual_choose_list' => [
'name' => 'Disponibile in più lingue',
'desc' => 'Controlla da usare',
'tips' => 'Seleziona la lingua che vuoi usare',
],
'admin_use_multilingual_status' => [
'name' => 'Il backend usa più lingue',
'desc' => 'Predefinito disattivato',
......@@ -3863,10 +3868,15 @@ return [
'desc' => 'Predefinito disattivato',
'tips' => 'Seleziona più lingue per il front-end',
],
'common_multilingual_choose_list' => [
'name' => 'Disponibile in più lingue',
'desc' => 'Controlla da usare',
'tips' => 'Seleziona la lingua che vuoi usare',
'common_multilingual_auto_status' => [
'name' => 'Riconosci automaticamente la lingua dellutente',
'desc' => 'Predefinito disattivato',
'tips' => 'Seleziona una lingua utente riconosciuta automaticamente',
],
'common_user_unique_system_type_model' => [
'name' => 'Lutente identifica la dimensione con una classe di sistema',
'desc' => 'Predefinito disattivato',
'tips' => 'Selezionare un utente per identificare la dimensione con una classe di sistema',
],
],
];
......
......@@ -3853,6 +3853,11 @@ return [
'desc' => 'デフォルトのオープン',
'tips' => '下部フッターのコンテンツステータスを選択してください',
],
'common_multilingual_choose_list' => [
'name' => '使用可能な多言語',
'desc' => 'チェックすると使用する',
'tips' => '使用する言語をチェックしてください',
],
'admin_use_multilingual_status' => [
'name' => 'バックエンドでの多言語の使用',
'desc' => 'デフォルトのオフ',
......@@ -3863,10 +3868,15 @@ return [
'desc' => 'デフォルトのオフ',
'tips' => 'フロントエンド用の多言語を選択してください',
],
'common_multilingual_choose_list' => [
'name' => '使用可能な多言語',
'desc' => 'チェックすると使用する',
'tips' => '使用する言語をチェックしてください',
'common_multilingual_auto_status' => [
'name' => 'ユーザー言語の自動認識',
'desc' => 'デフォルトのオフ',
'tips' => '自動認識ユーザー言語を選択してください',
],
'common_user_unique_system_type_model' => [
'name' => 'ユーザーがシステムクラスで次元を識別する',
'desc' => 'デフォルトのオフ',
'tips' => 'ユーザーを選択して次元をシステムクラスで識別してください',
],
],
];
......
......@@ -3853,6 +3853,11 @@ return [
'desc' => '기본 설정',
'tips' => '아래쪽 바닥글 내용 상태를 선택하십시오.',
],
'common_multilingual_choose_list' => [
'name' => '다국어 사용 가능',
'desc' => '체크는 사용',
'tips' => '사용할 언어를 선택하십시오.',
],
'admin_use_multilingual_status' => [
'name' => '백엔드에서 다국어 사용',
'desc' => '기본 끄기',
......@@ -3863,10 +3868,15 @@ return [
'desc' => '기본 끄기',
'tips' => '여러 언어로 프런트엔드를 선택하십시오.',
],
'common_multilingual_choose_list' => [
'name' => '다국어 사용 가능',
'desc' => '체크는 사용',
'tips' => '사용할 언어를 선택하십시오.',
'common_multilingual_auto_status' => [
'name' => '사용자 언어 자동 식별',
'desc' => '기본 끄기',
'tips' => '사용자 언어 자동 식별 선택',
],
'common_user_unique_system_type_model' => [
'name' => '사용자가 시스템 클래스로 차원 식별',
'desc' => '기본 끄기',
'tips' => '시스템 클래스로 차원을 식별할 사용자를 선택하십시오.',
],
],
];
......
......@@ -3853,6 +3853,11 @@ return [
'desc' => 'Standaard op',
'tips' => 'Selecteer de inhoudsstatus onderaan de voettekst',
],
'common_multilingual_choose_list' => [
'name' => 'Beschikbaar in meerdere talen',
'desc' => 'Controleren om te gebruiken',
'tips' => 'Vink de taal aan die u wilt gebruiken',
],
'admin_use_multilingual_status' => [
'name' => 'Backend gebruikt meerdere talen',
'desc' => 'Standaard uitgeschakeld',
......@@ -3863,10 +3868,15 @@ return [
'desc' => 'Standaard uitgeschakeld',
'tips' => 'Selecteer meerdere talen voor de frontend',
],
'common_multilingual_choose_list' => [
'name' => 'Beschikbaar in meerdere talen',
'desc' => 'Controleren om te gebruiken',
'tips' => 'Vink de taal aan die u wilt gebruiken',
'common_multilingual_auto_status' => [
'name' => 'Gebruikerstaal automatisch herkennen',
'desc' => 'Standaard uitgeschakeld',
'tips' => 'Selecteer een automatisch herkende gebruikerstaal',
],
'common_user_unique_system_type_model' => [
'name' => 'De gebruiker identificeert de dimensie met een systeemklasse',
'desc' => 'Standaard uitgeschakeld',
'tips' => 'Selecteer een gebruiker om de dimensie te identificeren met een systeemklasse',
],
],
];
......
......@@ -3853,6 +3853,11 @@ return [
'desc' => 'Открыть по умолчанию',
'tips' => 'Выберите состояние содержимого внизу страницы',
],
'common_multilingual_choose_list' => [
'name' => 'Многоязычие',
'desc' => 'Выбор используется',
'tips' => 'Выберите нужный язык.',
],
'admin_use_multilingual_status' => [
'name' => 'Модуль многоязычия',
'desc' => 'Закрыть по умолчанию',
......@@ -3863,10 +3868,15 @@ return [
'desc' => 'Закрыть по умолчанию',
'tips' => 'Пожалуйста, выберите многоязычный интерфейс',
],
'common_multilingual_choose_list' => [
'name' => 'Многоязычие',
'desc' => 'Выбор используется',
'tips' => 'Выберите нужный язык.',
'common_multilingual_auto_status' => [
'name' => 'Автоматическая идентификация языка пользователя ',
'desc' => 'Закрыть по умолчанию',
'tips' => 'Выберите язык автоматической идентификации пользователя ',
],
'common_user_unique_system_type_model' => [
'name' => 'Пользователь идентифицирует измерения в системном классе ',
'desc' => 'Закрыть по умолчанию',
'tips' => 'Выберите пользователя для обозначения уровня системы ',
],
],
];
......
......@@ -3853,6 +3853,11 @@ return [
'desc' => 'Abierto por defecto',
'tips' => 'Por favor, seleccione el Estado del contenido del pie de página inferior.',
],
'common_multilingual_choose_list' => [
'name' => 'Multilingüismo disponible',
'desc' => 'Si se marca, se utiliza',
'tips' => 'Por favor, marque el idioma que necesita usar',
],
'admin_use_multilingual_status' => [
'name' => 'El back - end utiliza Multilingüismo',
'desc' => 'Cierre predeterminado',
......@@ -3863,10 +3868,15 @@ return [
'desc' => 'Cierre predeterminado',
'tips' => 'Por favor, elija la parte delantera para usar varios idiomas',
],
'common_multilingual_choose_list' => [
'name' => 'Multilingüismo disponible',
'desc' => 'Si se marca, se utiliza',
'tips' => 'Por favor, marque el idioma que necesita usar',
'common_multilingual_auto_status' => [
'name' => 'Reconocimiento automático del lenguaje del usuario',
'desc' => 'Cierre predeterminado',
'tips' => 'Por favor, elija el idioma de usuario de reconocimiento automático',
],
'common_user_unique_system_type_model' => [
'name' => 'El usuario identifica la dimensión con la clase del sistema',
'desc' => 'Cierre predeterminado',
'tips' => 'Por favor, seleccione el usuario para identificar la dimensión con la clase del sistema',
],
],
];
......
......@@ -3853,6 +3853,11 @@ return [
'desc' => 'Standard på',
'tips' => 'Välj innehållsstatus längst ner i sidfoten',
],
'common_multilingual_choose_list' => [
'name' => 'Finns på flera språk',
'desc' => 'Kontrollera att använda',
'tips' => 'Markera det språk du vill använda',
],
'admin_use_multilingual_status' => [
'name' => 'Backend använder flera språk',
'desc' => 'Standardavstängning',
......@@ -3863,10 +3868,15 @@ return [
'desc' => 'Standardavstängning',
'tips' => 'Välj flera språk för fronten',
],
'common_multilingual_choose_list' => [
'name' => 'Finns på flera språk',
'desc' => 'Kontrollera att använda',
'tips' => 'Markera det språk du vill använda',
'common_multilingual_auto_status' => [
'name' => 'Identifiera automatiskt användarspråk',
'desc' => 'Standardavstängning',
'tips' => 'Välj ett automatiskt igenkännt användarspråk',
],
'common_user_unique_system_type_model' => [
'name' => 'Användaren identifierar dimensionen med en systemklass',
'desc' => 'Standardavstängning',
'tips' => 'Välj en användare för att identifiera dimensionen med en systemklass',
],
],
];
......
......@@ -3853,6 +3853,11 @@ return [
'desc' => 'เปิดปริยาย',
'tips' => 'โปรดเลือกสถานะเนื้อหาท้ายหน้า',
],
'common_multilingual_choose_list' => [
'name' => 'มีหลายภาษา',
'desc' => 'ติ๊กแล้วใช้',
'tips' => 'กรุณาเลือกภาษาที่ต้องการใช้',
],
'admin_use_multilingual_status' => [
'name' => 'แบ็คเอนด์ใช้หลายภาษา',
'desc' => 'ปิดปริยาย',
......@@ -3863,10 +3868,15 @@ return [
'desc' => 'ปิดปริยาย',
'tips' => 'โปรดเลือกหลายภาษาสำหรับส่วนหน้า',
],
'common_multilingual_choose_list' => [
'name' => 'มีหลายภาษา',
'desc' => 'ติ๊กแล้วใช้',
'tips' => 'กรุณาเลือกภาษาที่ต้องการใช้',
'common_multilingual_auto_status' => [
'name' => 'ระบุภาษาผู้ใช้โดยอัตโนมัติ',
'desc' => 'ปิดปริยาย',
'tips' => 'โปรดเลือกระบุภาษาผู้ใช้โดยอัตโนมัติ',
],
'common_user_unique_system_type_model' => [
'name' => 'ผู้ใช้ระบุมิติในชั้นเรียนระบบ',
'desc' => 'ปิดปริยาย',
'tips' => 'โปรดเลือกผู้ใช้เพื่อระบุมิติในคลาสของระบบ',
],
],
];
......
......@@ -3853,6 +3853,11 @@ return [
'desc' => 'Mở mặc định',
'tips' => 'Vui lòng chọn trạng thái nội dung chân trang dưới cùng',
],
'common_multilingual_choose_list' => [
'name' => 'Đa ngôn ngữ có sẵn',
'desc' => 'Đánh dấu thì dùng',
'tips' => 'Vui lòng chọn ngôn ngữ cần sử dụng',
],
'admin_use_multilingual_status' => [
'name' => 'Hỗ trợ đa ngôn ngữ',
'desc' => 'Đóng mặc định',
......@@ -3863,10 +3868,15 @@ return [
'desc' => 'Đóng mặc định',
'tips' => 'Vui lòng chọn front-end đa ngôn ngữ',
],
'common_multilingual_choose_list' => [
'name' => 'Đa ngôn ngữ có sẵn',
'desc' => 'Đánh dấu thì dùng',
'tips' => 'Vui lòng chọn ngôn ngữ cần sử dụng',
'common_multilingual_auto_status' => [
'name' => 'Tự động nhận dạng ngôn ngữ người dùng',
'desc' => 'Đóng mặc định',
'tips' => 'Vui lòng chọn ngôn ngữ nhận dạng người dùng tự động',
],
'common_user_unique_system_type_model' => [
'name' => 'Người dùng xác định kích thước bằng lớp hệ thống',
'desc' => 'Đóng mặc định',
'tips' => 'Vui lòng chọn người dùng để xác định kích thước theo lớp hệ thống',
],
],
];
......
......@@ -3853,6 +3853,11 @@ return [
'desc' => '默认开启',
'tips' => '请选择底部页脚内容状态',
],
'common_multilingual_choose_list' => [
'name' => '可用多语言',
'desc' => '勾选则使用',
'tips' => '请勾选需要使用的语言',
],
'admin_use_multilingual_status' => [
'name' => '后端使用多语言',
'desc' => '默认关闭',
......@@ -3863,10 +3868,15 @@ return [
'desc' => '默认关闭',
'tips' => '请选择前端用多语言',
],
'common_multilingual_choose_list' => [
'name' => '可用多语言',
'desc' => '勾选则使用',
'tips' => '请勾选需要使用的语言',
'common_multilingual_auto_status' => [
'name' => '自动识别用户语言',
'desc' => '默认关闭',
'tips' => '请选择自动识别用户语言',
],
'common_user_unique_system_type_model' => [
'name' => '用户以系统类标识维度',
'desc' => '默认关闭',
'tips' => '请选择用户以系统类标识维度',
],
],
];
......
......@@ -34,7 +34,7 @@ class BaseLayout
* @desc description
* @param [string] $key [配置key]
*/
public static function ConstConfigData($key)
public static function ConstData($key)
{
$lang_border = MyLang('layout.border_style_type_list');
$lang_goods_view = MyLang('layout.goods_view_list_show_style');
......
......@@ -199,7 +199,7 @@ class MultilingualService
// 根据用户读取
if(empty($value))
{
$user = (RequestModule() == 'admin') ? AdminService::LoginInfo() : UserService::LoginUserInfo();
$user = (RequestModule() == 'admin') ? AdminService::LoginInfo() : UserService::CacheLoginUserInfo();
if(!empty($user['id']))
{
// 缓存读取
......@@ -208,7 +208,7 @@ class MultilingualService
}
// 自动检测
if(empty($value))
if(empty($value) && MyC('common_multilingual_auto_status') == 1)
{
$value = self::BrowserHttpAcceptLanguage();
}
......
......@@ -941,10 +941,8 @@ class OrderAftersaleService
// 启动事务
Db::startTrans();
// 捕获异常
try {
// 钱包退款
if($is_walet === true)
{
......
......@@ -426,7 +426,7 @@ class StatisticalService
['add_time', '>=', self::$last_month_time_start],
['add_time', '<=', self::$last_month_time_end],
];
$last_month_count = Db::name('Order')->where($where)->sum('total_price');
$last_month_count = Db::name('Order')->where($where)->sum('pay_price')-Db::name('Order')->where($where)->sum('refund_price');
// 当月
$where = [
......@@ -434,7 +434,7 @@ class StatisticalService
['add_time', '>=', self::$this_month_time_start],
['add_time', '<=', self::$this_month_time_end],
];
$same_month_count = Db::name('Order')->where($where)->sum('total_price');
$same_month_count = Db::name('Order')->where($where)->sum('pay_price')-Db::name('Order')->where($where)->sum('refund_price');
// 昨天
$where = [
......@@ -442,7 +442,7 @@ class StatisticalService
['add_time', '>=', self::$yesterday_time_start],
['add_time', '<=', self::$yesterday_time_end],
];
$yesterday_count = Db::name('Order')->where($where)->sum('total_price');
$yesterday_count = Db::name('Order')->where($where)->sum('pay_price')-Db::name('Order')->where($where)->sum('refund_price');
// 今天
$where = [
......@@ -450,7 +450,7 @@ class StatisticalService
['add_time', '>=', self::$today_time_start],
['add_time', '<=', self::$today_time_end],
];
$today_count = Db::name('Order')->where($where)->sum('total_price');
$today_count = Db::name('Order')->where($where)->sum('pay_price')-Db::name('Order')->where($where)->sum('refund_price');
} else {
$last_month_count = 0.00;
$same_month_count = 0.00;
......@@ -502,7 +502,7 @@ class StatisticalService
// 订单收入总计、是否有收入统计权限
if(AdminIsPower('index', 'income'))
{
$order_complete_total = Db::name('Order')->where(array_merge($where, [['status', 'in', [2,3,4]]]))->sum('total_price');
$order_complete_total = Db::name('Order')->where(array_merge($where, [['status', 'in', [2,3,4]]]))->sum('pay_price')-Db::name('Order')->where(array_merge($where, [['status', 'in', [2,3,4]]]))->sum('refund_price');
} else {
$order_complete_total = 0.00;
}
......
......@@ -236,6 +236,68 @@ class UserService
// 静态数据避免重复读取
static $user_login_info = null;
if($user_login_info === null)
{
$user_login_info = self::CacheLoginUserInfo();
}
if(!empty($user_login_info))
{
// 是否缓存读取
if($is_cache)
{
// 重新更新用户session或cookie缓存
self::UserLoginRecord($user_login_info['id']);
// 重新存储用户缓存
if(!empty($user_login_info['token']))
{
MyCache(SystemService::CacheKey('shopxo.cache_user_info').$user_login_info['token'], $user_login_info);
}
} else {
if(APPLICATION == 'web')
{
self::UserLoginRecord($user_login_info['id']);
} else {
$user_login_info = self::UserTokenData($user_login_info['token']);
}
}
}
return $user_login_info;
}
/**
* 获取用户token用户数据
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2019-08-18T19:01:59+0800
* @desc description
* @param [string] $token [用户token]
*/
public static function UserTokenData($token)
{
// token缓存数据
$user = self::CacheUserTokenData($token);
if(!empty($user) && isset($user['id']))
{
return $user;
}
// 数据库校验
return self::AppUserInfoHandle(null, 'token', $token);
}
/**
* 用户登录缓存数据
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2023-03-28
* @desc description
*/
public static function CacheLoginUserInfo()
{
// 静态数据避免重复读取
static $user_cache_login_info = null;
if($user_cache_login_info === null)
{
// 参数
$params = input();
......@@ -244,50 +306,29 @@ class UserService
if(APPLICATION == 'web')
{
// web用户session
$user_login_info = MyCookie(self::$user_login_key);
$user_cache_login_info = MyCookie(self::$user_login_key);
// 用户信息为空,指定了token则设置登录信息
if(empty($user_login_info))
if(empty($user_cache_login_info))
{
$token = empty($params['token']) ? MyCookie(self::$user_token_key) : $params['token'];
if(!empty($token))
{
$user_login_info = self::UserTokenData($token);
if(!empty($user_login_info) && isset($user_login_info['id']))
{
self::UserLoginRecord($user_login_info['id']);
}
$user_cache_login_info = self::CacheUserTokenData($token);
}
}
} else {
if(!empty($params['token']))
{
$user_login_info = self::UserTokenData($params['token']);
$user_cache_login_info = self::CacheUserTokenData($params['token']);
}
}
}
// 是否缓存读取
if(!empty($user_login_info) && !$is_cache)
{
// 根据用户id从数据库获取信息并处理
$user_login_info = self::UserHandle(self::UserInfo('id', $user_login_info['id']));
if(!empty($user_login_info))
{
// 重新更新用户缓存
self::UserLoginRecord($user_login_info['id']);
if(!empty($user_login_info['token']))
{
MyCache(SystemService::CacheKey('shopxo.cache_user_info').$user_login_info['token'], $user_login_info);
}
}
}
return $user_login_info;
return $user_cache_login_info;
}
/**
* 获取用户token用户数据
* 获取用户token缓存用户数据
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
......@@ -295,16 +336,9 @@ class UserService
* @desc description
* @param [string] $token [用户token]
*/
public static function UserTokenData($token)
public static function CacheUserTokenData($token)
{
$user = MyCache(SystemService::CacheKey('shopxo.cache_user_info').$token);
if(!empty($user) && isset($user['id']))
{
return $user;
}
// 数据库校验
return self::AppUserInfoHandle(null, 'token', $token);
return MyCache(SystemService::CacheKey('shopxo.cache_user_info').$token);
}
/**
......
......@@ -581,8 +581,18 @@ function FromInit(form_name)
// 默认仅提示
default :
$button.button('reset');
Prompt(result.msg, 'success');
// 等于parent则关闭父窗口
if(request_value == 'parent')
{
setTimeout(function()
{
$button.button('reset');
parent.CommonPopupClose();
}, 1500);
} else {
$button.button('reset');
}
}
} else {
Prompt(result.msg);
......
......@@ -9736,6 +9736,7 @@ tbody.am-collapse.am-in {
.am-dimmer.am-active {
opacity: 1;
}
.am-cursor-pointer,
[data-am-collapse] {
cursor: pointer;
}
......
......@@ -250,8 +250,8 @@ flex: 1 1 0%;line-height: 16px;cursor: pointer;}
display: block;
float: left;
text-align: center;
width: 120px;
color: #FFF;
width: 140px;
color: #fff;
border: 1px solid #d2364c;
background-color: #d2364c;
font-size: 14px;
......@@ -272,7 +272,7 @@ flex: 1 1 0%;line-height: 16px;cursor: pointer;}
}
.buy-nav .buy-nav-opt {
position: absolute;
margin-left: 285px;
margin-left: 310px;
display: block;
}
.buy-nav .buy-nav-opt .nav-icon-home {
......@@ -297,12 +297,6 @@ flex: 1 1 0%;line-height: 16px;cursor: pointer;}
text-align: left;
}
}
@media only screen and (min-width:1025px) {
.buy-nav {
padding-left: 65px;
margin-top: 10px !important;
}
}
@media only screen and (max-width:640px) {
.buy-nav .buy-submit-container,
.goods-not-buy-tips {
......@@ -376,7 +370,7 @@ flex: 1 1 0%;line-height: 16px;cursor: pointer;}
}
@media only screen and (min-width: 1025px) {
.buy-nav .buy-nav-opt {
margin-left: 280px;
margin-left: 320px;
}
.buy-nav .buy-nav-opt .nav-icon:not(:last-child) {
margin-right: 15px;
......@@ -406,6 +400,9 @@ flex: 1 1 0%;line-height: 16px;cursor: pointer;}
/*左侧商品-看了又看*/
.browse { display: none; }
/* 基础主体 */
.item-inform { margin-bottom: 20px; }
@media only screen and (min-width:641px) {
/*导航固定*/
ul.am-tabs-nav.am-nav.am-nav-tabs {margin-right:10px ;margin-left: 10px;width: auto;}
......@@ -451,7 +448,7 @@ flex: 1 1 0%;line-height: 16px;cursor: pointer;}
.scoll .goods-video-submit-close { top: 10px; }
/* 基础主体 */
.item-inform { margin-top: 10px; margin-bottom: 10px; }
.item-inform { margin-top: 10px; }
}
@media only screen and (min-width:1025px) {
......