服务层多语言适配

This commit is contained in:
gongfuxiang 2023-02-11 17:01:04 +08:00
parent bbfeb0cbe9
commit 18f03bcdec
49 changed files with 1350 additions and 1060 deletions

View File

@ -82,57 +82,6 @@ return [
// 用户
'user' => [
'base_nav_title' => 'User',
// 表单
'form_item_system_type' => 'System Type',
'form_item_system_type_tips' => 'default',
'form_item_system_type_message' => 'System type 2~60 characters',
'form_item_username' => 'Username',
'form_item_username_message' => 'User name 2~30 characters',
'form_item_nickname' => 'Nickname',
'form_item_nickname_message' => 'Nickname can be up to 30 characters',
'form_item_mobile' => 'Phone Number',
'form_item_mobile_message' => 'Mobile number format error',
'form_item_email' => 'E-mail',
'form_item_email_message' => 'Email format error',
'form_item_alipay_openid' => 'Alipay openid',
'form_item_alipay_openid_message' => 'Please fill in Alipay openid',
'form_item_baidu_openid' => 'Baidu openid',
'form_item_baidu_openid_message' => 'Please fill in Baidu openid',
'form_item_toutiao_openid' => 'Toutiao openid',
'form_item_toutiao_openid_message' => 'Please fill in the header openid',
'form_item_toutiao_unionid' => 'Toutiao unionid',
'form_item_toutiao_unionid_message' => 'Please fill in the headline unionid',
'form_item_qq_openid' => 'QQopenid',
'form_item_qq_openid_message' => 'Please fill in QQ openid',
'form_item_qq_unionid' => 'QQunionid',
'form_item_qq_unionid_message' => 'Please fill in QQuinonid',
'form_item_weixin_openid' => 'WeChat openid',
'form_item_weixin_openid_message' => 'Please fill in WeChat openid',
'form_item_weixin_unionid' => 'WeChat unionid',
'form_item_weixin_unionid_message' => 'Please fill in WeChat unionid',
'form_item_web_weixin_openid' => 'WeChat webopenid',
'form_item_web_weixin_openid_message' => 'Please fill in WeChat webopenid',
'form_item_kuaishou_openid' => 'Kwai openid',
'form_item_kuaishou_openid_message' => 'Please fill in the Kwai openid',
'form_item_province' => 'Province',
'form_item_province_message' => 'Maximum 60 characters in the province',
'form_item_city' => 'City',
'form_item_city_message' => 'Maximum 60 characters in the city',
'form_item_county' => 'District/County',
'form_item_county_message' => '60 characters at most in the district/county',
'form_item_address' => 'Detail Address',
'form_item_address_message' => 'Detail Address format is up to 80 characters',
'form_item_integral' => 'Valid Integral',
'form_item_integral_message' => 'Please enter valid points',
'form_item_locking_integral' => 'Lock Integral',
'form_item_locking_integral_message' => 'Please enter locked points',
'form_item_birthday' => 'Birthday',
'form_item_birthday_message' => 'Incorrect birthday format',
'form_item_referrer' => 'Invite User ID',
'form_item_referrer_message' => 'Please enter the invitation user ID',
'form_item_pwd' => 'Login Password',
'form_item_pwd_tips' => 'Enter to change the password',
'form_item_pwd_message' => 'Login password format is between 6 and 18 characters',
// 动态表格
'form_table' => [
'id' => 'User ID',
@ -162,28 +111,6 @@ return [
// 用户地址
'useraddress' => [
'base_nav_title' => 'User Address',
// 表单
'form_item_user_id' => 'User ID',
'form_item_user_id_message' => 'Please fill in user id',
'form_item_name' => 'Full Name',
'form_item_name_message' => 'Name format is between 2 and 16 characters',
'form_item_alias' => 'Alias',
'form_item_alias_message' => 'Alias format can be up to 16 characters',
'form_item_tel' => 'Telephone',
'form_item_tel_message' => 'Incorrect phone format',
'form_item_address' => 'Detailed Address',
'form_item_address_message' => 'Detailed address format is between 1 and 80 characters',
'form_item_idcard_name' => 'ID Card Name',
'form_item_idcard_name_tips' => 'Optional, please be consistent with the uploaded ID name',
'form_item_idcard_name_message' => 'The name format of ID card can be up to 16 characters',
'form_item_idcard_number' => 'ID No',
'form_item_idcard_number_tips' => 'Optional, please be consistent with the uploaded ID number',
'form_item_idcard_number_message' => 'ID card number format can be up to 18 characters',
'form_item_idcard_images' => 'ID Card Photo',
'form_item_idcard_images_tips' => 'For selective transmission, please use the original ID card to shoot, and the picture should be clear',
'form_item_idcard_front_button_name' => 'Upload IDCard Front Pictures',
'form_item_idcard_back_button_name' => 'Upload IDCard Back Pictures',
'form_item_idcard_no_user_tips' => 'Associate users before uploading ID card images',
// 详情
'detail_user_address_idcard_name' => 'Full Name',
'detail_user_address_idcard_number' => 'Number',
@ -273,7 +200,7 @@ return [
],
'goods_tips_list' => [
'1. By default, the WEB side displays 3 levels, the lowest level is 1 and the highest level is 3 (if set to 0, the default is 3)',
'2. Mobile terminal default display level 0 (commodity list mode), minimum level 0, and maximum level 3 (1~3 are classified display mode)',
'2. Mobile terminal default display level 0 (goods list mode), minimum level 0, and maximum level 3 (1~3 are classified display mode)',
'3. The style of the front category page will be different if the level is different',
],
'goods_auto_mode_max_count_tips_list' => [
@ -450,23 +377,9 @@ return [
'base_nav_title' => 'Warehouse',
'top_tips_list' => [
'1. The higher the weight value is, the higher the weight is. The inventory is deducted according to the weight.)',
'2. The warehouse can only be soft-deleted, will not be available after deletion, and only the data in the database can be retained), and the associated commodity data can be deleted by itself',
'3. The warehouse will be deactivated and deleted, and the associated commodity inventory will be released immediately',
'2. The warehouse can only be soft-deleted, will not be available after deletion, and only the data in the database can be retained), and the associated goods data can be deleted by itself',
'3. The warehouse will be deactivated and deleted, and the associated goods inventory will be released immediately',
],
// 表单
'form_item_name' => 'Full Name',
'form_item_name_message' => 'Name format is between 2 and 30 characters',
'form_item_alias' => 'Alias',
'form_item_alias_message' => 'Alias format can be up to 16 characters',
'form_item_level' => 'Weight',
'form_item_level_tips' => 'The higher the weight value, the higher the weight',
'form_item_level_message' => 'Please enter a valid weight value',
'form_item_contacts_name' => 'Contacts Name',
'form_item_contacts_name_message' => 'Contact format is between 2 and 16 characters',
'form_item_contacts_tel' => 'Contact Tel',
'form_item_contacts_tel_message' => 'Please fill in the contact number',
'form_item_address' => 'Detail Address',
'form_item_address_message' => 'Address format is between 1 and 80 characters',
// 动态表格
'form_table' => [
'info' => 'Name/Alias',
@ -494,11 +407,6 @@ return [
'no_spec_data_tips' => 'No specification data',
'batch_setup_inventory_placeholder' => 'Batch set value',
'base_spec_inventory_title' => 'Specification Inventory',
// 表单
'add_goods_title' => 'Goods Add',
'form_item_warehouseg_placeholder' => 'Warehouse...',
'form_item_warehouseg_message' => 'Please select a warehouse',
'form_item_inventory_message' => 'Inventory quantity 0~100000000',
// 动态表格
'form_table' => [
'goods' => 'Base Info',
@ -807,7 +715,7 @@ return [
'form_item_url_message' => 'Incorrect format of url address',
'form_item_value_article_message' => 'Wrong article selection',
'form_item_value_customview_message' => 'Incorrect selection of custom page',
'form_item_value_goods_category_message'=> 'Wrong selection of commodity classification',
'form_item_value_goods_category_message'=> 'Wrong selection of goods classification',
'form_item_value_design_message' => 'Incorrect selection of page design',
// 动态表格
'form_table' => [
@ -1134,7 +1042,6 @@ return [
'cancel_delete_plugins_button_name' => 'Think again',
'more_plugins_store_to_text' => 'Go to the app store to select more plugins to enrich the site >>',
'no_data_store_to_text' => 'Go to the app store to select plug-in rich sites >>',
'plugins_no_data_tips' => 'There is no relevant application yet',
],
// 安装页面
@ -1175,10 +1082,6 @@ return [
// 快捷导航
'quicknav' => [
'base_nav_title' => 'QuickNavigation',
// 表单
'form_item_name' => 'Name',
'form_item_name_message' => 'Name format: 2~60 characters',
'form_item_images_url' => 'Navigation Icon',
// 动态表格
'form_table' => [
'name' => 'Name',
@ -1196,21 +1099,6 @@ return [
// 地区管理
'region' => [
'base_nav_title' => 'Region',
// 表单
'form_item_id' => 'Unique Number',
'form_item_id_tips' => [
'1. If left blank, the system will automatically generate',
'2. Do not modify at will to avoid data confusion',
],
'form_item_id_message' => 'Please enter a unique number',
'form_item_name' => 'Name',
'form_item_name_message' => 'Name format 2~16 characters',
'form_item_lng' => 'Longitude',
'form_item_lng_message' => 'Please fill in the longitude',
'form_item_lat' => 'Latitude',
'form_item_lat_message' => 'Please fill in the latitude',
'form_item_letters' => 'Initial',
'form_item_letters_message' => 'Please fill in the initials',
],
// 筛选价格
@ -1221,26 +1109,11 @@ return [
'Minimum price 1000 - maximum price 0 is greater than 1000',
'The minimum price of 100 - the maximum price of 500 is greater than or equal to 100 and less than 500',
],
// 表单
'form_item_name' => 'Name',
'form_item_name_message' => 'Name format 2~16 characters',
'form_item_min_price' => 'Minimum Price',
'form_item_min_price_message' => 'Incorrect minimum price',
'form_item_max_price' => 'Maximum Price',
'form_item_max_price_message' => 'Incorrect maximum price',
],
// 首页轮播
'slide' => [
'base_nav_title' => 'Slide',
// 表单
'form_item_name' => 'Name',
'form_item_name_message' => 'Name format: 2~60 characters',
'form_item_images_url' => 'Slide Pictures',
'form_item_images_url_tips' => [
'1. Recommended size of PC end: 1920 * 480px',
'2. Recommended size of mobile terminal: 1200 * 360px',
],
// 动态表格
'form_table' => [
'name' => 'Name',
@ -1290,9 +1163,6 @@ return [
// sql控制台
'sqlconsole' => [
'top_tips' => 'PS: Non-developers should not execute any SQL statements at will, which may cause the entire system database to be deleted.',
'form_sql_placeholder' => 'SQL Statement',
'form_sql_message' => 'Please fill in the SQL statement to be executed',
'form_dev_tips' => 'If you need to execute SQL statements, change the [is_develop] value in the [config/shopxo. php] file to [true] to enable developer mode.',
],
// 应用商店
@ -1308,19 +1178,6 @@ return [
'remove_cache_title' => 'Clear Cache',
'user_status_title' => 'User Status',
'user_status_message' => 'Please select user status',
// 商店绑定
'store_check_update_name' => 'Check for update',
'store_bind_accounts_name' => 'Bind ShopXO store account',
'store_bind_accounts_tips' => 'Bind ShopXO App Store account, get the latest version information of plug-in, install and update online',
'store_bind_authorized_subject_name' => 'Authorized Subject',
'store_bind_form_accounts' => 'Accounts',
'store_bind_form_accounts_placeholder' => 'User name/mobile phone/email',
'store_bind_form_accounts_message' => 'Account format 1~30 characters',
'store_bind_form_password' => 'Password',
'store_bind_form_password_placeholder' => 'Login Password',
'store_bind_form_password_message' => 'Login password format 6~30 characters',
'store_bind_form_regster_name' => 'No account, go to register',
'store_bind_form_tips' => 'One account supports binding to multiple ShopXO stores',
// 商品参数
'form_goods_params_config_error_tips' => 'Goods parameter configuration information',
'form_goods_params_copy_no_tips' => 'Please paste the configuration information first',
@ -1338,9 +1195,9 @@ return [
'form_goods_params_thead_value_title' => 'Parameter value',
'form_goods_params_row_add_title' => 'Add a row',
'form_goods_params_list_tips' => [
'1. All (displayed under commodity basic information and detail parameters)',
'2. Details (only displayed under the commodity details parameter)',
'3. Basic (only displayed under commodity basic information)',
'1. All (displayed under goods basic information and detail parameters)',
'2. Details (only displayed under the goods details parameter)',
'3. Basic (only displayed under goods basic information)',
'4. The shortcut operation will clear the original data and reload the page to restore the original data (only effective after saving the product)',
],
],
@ -1420,13 +1277,13 @@ return [
'goods_save' => 'Item add/edit',
'goods_delete' => 'Goods delete',
'goods_statusupdate' => 'Goods status update',
'goods_basetemplate' => 'Get commodity base template',
'goods_basetemplate' => 'Get goods base template',
'goods_detail' => 'Goods details',
'goodscategory_index' => 'Goods category',
'goodscategory_save' => 'Goods category add/edit',
'goodscategory_delete' => 'Goods category delete',
'goodsparamstemplate_index' => 'Goods params',
'goodsparamstemplate_delete' => 'Delete commodity params',
'goodsparamstemplate_delete' => 'Delete goods params',
'goodsparamstemplate_statusupdate' => 'Goods params status update',
'goodsparamstemplate_saveinfo' => 'Goods params add/edit page',
'goodsparamstemplate_save' => 'Goods params add/edit ',
@ -1562,14 +1419,14 @@ return [
'warehouse_delete' => 'Warehouse delete',
'warehouse_statusupdate' => 'Warehouse status update',
'warehouse_detail' => 'Warehouse details',
'warehousegoods_index' => 'Warehouse commodity admin',
'warehousegoods_index' => 'Warehouse goods admin',
'warehousegoods_detail' => 'Warehouse item details',
'warehousegoods_delete' => 'Warehouse Item Deletion',
'warehousegoods_statusupdate' => 'Warehouse commodity status update',
'warehousegoods_statusupdate' => 'Warehouse goods status update',
'warehousegoods_goodssearch' => 'Warehouse item search',
'warehousegoods_goodsadd' => 'Warehouse item search add',
'warehousegoods_goodsdel' => 'Warehouse item search delete',
'warehousegoods_inventoryinfo' => 'Warehouse commodity inventory editing page',
'warehousegoods_inventoryinfo' => 'Warehouse goods inventory editing page',
'warehousegoods_inventorysave' => 'Edit warehouse inventory',
]
],

View File

@ -82,57 +82,6 @@ return [
// 用户
'user' => [
'base_nav_title' => '用户',
// 表单
'form_item_system_type' => '系统类型',
'form_item_system_type_tips' => '默认 default',
'form_item_system_type_message' => '系统类型2~60字符',
'form_item_username' => '用户名',
'form_item_username_message' => '用户名2~30个字符',
'form_item_nickname' => '昵称',
'form_item_nickname_message' => '昵称最多30个字符',
'form_item_mobile' => '手机号码',
'form_item_mobile_message' => '手机号码格式错误',
'form_item_email' => '电子邮箱',
'form_item_email_message' => '电子邮箱格式错误',
'form_item_alipay_openid' => '支付宝openid',
'form_item_alipay_openid_message' => '请填写支付宝openid',
'form_item_baidu_openid' => '百度openid',
'form_item_baidu_openid_message' => '请填写百度openid',
'form_item_toutiao_openid' => '头条openid',
'form_item_toutiao_openid_message' => '请填写头条openid',
'form_item_toutiao_unionid' => '头条unionid',
'form_item_toutiao_unionid_message' => '请填写头条unionid',
'form_item_qq_openid' => 'QQopenid',
'form_item_qq_openid_message' => '请填写QQopenid',
'form_item_qq_unionid' => 'QQunionid',
'form_item_qq_unionid_message' => '请填写QQunionid',
'form_item_weixin_openid' => '微信openid',
'form_item_weixin_openid_message' => '请填写微信openid',
'form_item_weixin_unionid' => '微信unionid',
'form_item_weixin_unionid_message' => '请填写微信unionid',
'form_item_web_weixin_openid' => '微信webopenid',
'form_item_web_weixin_openid_message' => '请填写微信webopenid',
'form_item_kuaishou_openid' => '快手openid',
'form_item_kuaishou_openid_message' => '请填写快手openid',
'form_item_province' => '所在省',
'form_item_province_message' => '所在省最多60个字符',
'form_item_city' => '所在市',
'form_item_city_message' => '所在市最多60个字符',
'form_item_county' => '所在区/县',
'form_item_county_message' => '所在区/县最多60个字符',
'form_item_address' => '详细地址',
'form_item_address_message' => '地址格式最多80个字符',
'form_item_integral' => '有效积分',
'form_item_integral_message' => '请输入有效积分',
'form_item_locking_integral' => '锁定积分',
'form_item_locking_integral_message' => '请输入锁定积分',
'form_item_birthday' => '生日',
'form_item_birthday_message' => '生日格式有误',
'form_item_referrer' => '邀请用户ID',
'form_item_referrer_message' => '请输入邀请用户ID',
'form_item_pwd' => '登录密码',
'form_item_pwd_tips' => '输入则修改密码',
'form_item_pwd_message' => '登录密码格式6~18个字符之间',
// 动态表格
'form_table' => [
'id' => '用户ID',
@ -162,28 +111,6 @@ return [
// 用户地址
'useraddress' => [
'base_nav_title' => '用户地址',
// 表单
'form_item_user_id' => '用户id',
'form_item_user_id_message' => '请填写用户id',
'form_item_name' => '姓名',
'form_item_name_message' => '姓名格式2~16个字符之间',
'form_item_alias' => '别名',
'form_item_alias_message' => '别名格式最多16个字符',
'form_item_tel' => '电话',
'form_item_tel_message' => '电话格式有误',
'form_item_address' => '详细地址',
'form_item_address_message' => '详细地址格式1~80个字符之间',
'form_item_idcard_name' => '身份证姓名',
'form_item_idcard_name_tips' => '选填,请务必与上传的身份证件姓名保持一致',
'form_item_idcard_name_message' => '身份证姓名格式最多16个字符',
'form_item_idcard_number' => '身份证号码',
'form_item_idcard_number_tips' => '选填,请务必与上传的身份证件号码保持一致',
'form_item_idcard_number_message' => '身份证号码格式最多18个字符',
'form_item_idcard_images' => '身份证照片',
'form_item_idcard_images_tips' => '选传,请使用身份证原件拍摄,图片要清晰',
'form_item_idcard_front_button_name' => '上传人像面图片',
'form_item_idcard_back_button_name' => '上传国微面图片',
'form_item_idcard_no_user_tips' => '先关联用户后再上传身份证图片',
// 详情
'detail_user_address_idcard_name' => '姓名',
'detail_user_address_idcard_number' => '号码',
@ -452,20 +379,6 @@ return [
'2. 仓库仅软删除、删除后将不可用、仅数据库中保留数据)可以自行删除关联的商品数据',
'3. 仓库停用和删除、关联的商品库存会立即释放',
],
// 表单
'form_item_name' => '姓名',
'form_item_name_message' => '姓名格式2~30个字符之间',
'form_item_alias' => '别名',
'form_item_alias_message' => '别名格式最多16个字符',
'form_item_level' => '权重',
'form_item_level_tips' => '权重数值越大代表权重越高',
'form_item_level_message' => '请输入有效权重数值',
'form_item_contacts_name' => '联系人',
'form_item_contacts_name_message' => '联系人格式2~16个字符之间',
'form_item_contacts_tel' => '联系电话',
'form_item_contacts_tel_message' => '请填写联系电话',
'form_item_address' => '详细地址',
'form_item_address_message' => '地址格式1~80个字符之间',
// 动态表格
'form_table' => [
'info' => '名称/别名',
@ -493,11 +406,6 @@ return [
'no_spec_data_tips' => '无规格数据',
'batch_setup_inventory_placeholder' => '批量设置的值',
'base_spec_inventory_title' => '规格库存',
// 表单
'add_goods_title' => '商品添加',
'form_item_warehouseg_placeholder' => '仓库...',
'form_item_warehouseg_message' => '请选择仓库',
'form_item_inventory_message' => '库存数量0~100000000',
// 动态表格
'form_table' => [
'goods' => '基础信息',
@ -1119,7 +1027,6 @@ return [
'cancel_delete_plugins_button_name' => '再考虑一下',
'more_plugins_store_to_text' => '去应用商店挑选更多插件丰富站点 >>',
'no_data_store_to_text' => '到应用商店挑选插件丰富站点 >>',
'plugins_no_data_tips' => '还没有相关应用',
],
// 安装页面
@ -1160,10 +1067,6 @@ return [
// 快捷导航
'quicknav' => [
'base_nav_title' => '快捷导航',
// 表单
'form_item_name' => '名称',
'form_item_name_message' => '名称格式2~60个字符',
'form_item_images_url' => '导航图标',
// 动态表格
'form_table' => [
'name' => '名称',
@ -1181,21 +1084,6 @@ return [
// 地区管理
'region' => [
'base_nav_title' => '地区',
// 表单
'form_item_id' => '唯一编号',
'form_item_id_tips' => [
'1. 留空则系统自动生成',
'2. 不要随意修改、避免数据错乱',
],
'form_item_id_message' => '请输入唯一编号',
'form_item_name' => '名称',
'form_item_name_message' => '名称格式2~16个字符',
'form_item_lng' => '经度',
'form_item_lng_message' => '请填写经度',
'form_item_lat' => '纬度',
'form_item_lat_message' => '请填写纬度',
'form_item_letters' => '首字母',
'form_item_letters_message' => '请填写首字母',
],
// 筛选价格
@ -1206,26 +1094,11 @@ return [
'最小价格1000 - 最大价格0 则是大于1000',
'最小价格100 - 最大价格500 则是大于等于100并且小于500',
],
// 表单
'form_item_name' => '名称',
'form_item_name_message' => '名称格式2~16个字符',
'form_item_min_price' => '最小价格',
'form_item_min_price_message' => '最小价格有误',
'form_item_max_price' => '最大价格',
'form_item_max_price_message' => '最大价格有误',
],
// 首页轮播
'slide' => [
'base_nav_title' => '轮播',
// 表单
'form_item_name' => '名称',
'form_item_name_message' => '名称格式2~60个字符',
'form_item_images_url' => '轮播图片',
'form_item_images_url_tips' => [
'1. PC端建议尺寸1920*480px',
'2. 手机端建议尺寸1200*360px',
],
// 动态表格
'form_table' => [
'name' => '名称',
@ -1275,9 +1148,6 @@ return [
// sql控制台
'sqlconsole' => [
'top_tips' => 'PS非开发人员请不要随意执行任何SQL语句操作可能导致将整个系统数据库被删除。',
'form_sql_placeholder' => 'SQL语句',
'form_sql_message' => '请填写需要执行的SQL语句',
'form_dev_tips' => '如需要执行SQL 语句,请在[ config/shopxo.php ]文件中[ is_develop ]值改为[ true ]开启开发者模式。',
],
// 应用商店
@ -1293,19 +1163,6 @@ return [
'remove_cache_title' => '清除缓存',
'user_status_title' => '用户状态',
'user_status_message' => '请选择用户状态',
// 商店绑定
'store_check_update_name' => '检查更新',
'store_bind_accounts_name' => '绑定ShopXO商店账户',
'store_bind_accounts_tips' => '绑定ShopXO应用商店帐号、获取插件最新版本信息、在线安装及更新',
'store_bind_authorized_subject_name' => '授权主体',
'store_bind_form_accounts' => '账号',
'store_bind_form_accounts_placeholder' => '用户名/手机/邮箱',
'store_bind_form_accounts_message' => '账号格式1~30个字符',
'store_bind_form_password' => '密码',
'store_bind_form_password_placeholder' => '登录密码',
'store_bind_form_password_message' => '登录密码格式6~30个字符',
'store_bind_form_regster_name' => '未有账号,去注册',
'store_bind_form_tips' => '一个账号支持绑定多台ShopXO商城',
// 商品参数
'form_goods_params_config_error_tips' => '商品参数配置信息',
'form_goods_params_copy_no_tips' => '请先粘贴配置信息',

View File

@ -35,7 +35,7 @@
<span>{{$site_store_info.user.user_name_view}}</span>
<a href="javascript:;" class="am-margin-left-xs store-accounts-event">{{:MyLang('modify_title')}}</a>
{{else /}}
<a href="javascript:;" class="am-margin-left-xs store-accounts-event">{{:MyLang('common.store_bind_accounts_name')}}</a>
<a href="javascript:;" class="am-margin-left-xs store-accounts-event">{{:MyLang('store_bind_accounts_name')}}</a>
<!-- 连接商店错误信息 --->
{{if !empty($site_store_error)}}
<span class="am-text-danger am-margin-left-sm">{{$site_store_error}}</span>
@ -50,13 +50,13 @@
<div class="am-fr am-nbfc right-content">
<!-- VIP授权信息 -->
{{if !empty($site_store_info) and !empty($site_store_info['vip']) and !empty($site_store_info['vip']['auth_view'])}}
<a class="am-icon-diamond vip {{if isset($site_store_info['vip']['status']) and $site_store_info['vip']['status'] eq 1}}vip-active{{/if}}" {{if empty($site_store_info['vip']['go_url'])}}href="javascript:;"{{else /}}href="{{$site_store_info.vip.go_url}}" target="_blank"{{/if}} {{if !empty($site_store_info['vip']['auth_person'])}}data-am-popover="{content: '{{:MyLang('common.store_bind_authorized_subject_name')}}{{$site_store_info.vip.auth_person}}', trigger: 'hover focus', theme: 'sm'}"{{/if}}> {{$site_store_info.vip.auth_view}}</a>
<a class="am-icon-diamond vip {{if isset($site_store_info['vip']['status']) and $site_store_info['vip']['status'] eq 1}}vip-active{{/if}}" {{if empty($site_store_info['vip']['go_url'])}}href="javascript:;"{{else /}}href="{{$site_store_info.vip.go_url}}" target="_blank"{{/if}} {{if !empty($site_store_info['vip']['auth_person'])}}data-am-popover="{content: '{{:MyLang('store_bind_authorized_subject_name')}}{{$site_store_info.vip.auth_person}}', trigger: 'hover focus', theme: 'sm'}"{{/if}}> {{$site_store_info.vip.auth_view}}</a>
{{/if}}
<!-- 右侧版本信息及更新检查 -->
<span class="right-base">
<a {{if !empty($site_store_links) and !empty($site_store_links['system_update_log'])}}href="{{$site_store_links.system_update_log}}" target="_blank"{{else /}}href="javascript:;"{{/if}} class="am-margin-left-xs">{{$Think.APPLICATION_VERSION}}</a>
<a href="javascript:;" class="am-margin-left-sm inspect-upgrade-submit" data-url="{{:MyUrl('admin/index/inspectupgrade')}}">{{:MyLang('common.store_check_update_name')}}{{if !empty($site_store_info) and !empty($site_store_info['upgrade']) and !empty($site_store_info['upgrade']['version_old']) and $site_store_info['upgrade']['version_old'] eq $Think.APPLICATION_VERSION}}<i></i>{{/if}}</a>
<a href="javascript:;" class="am-margin-left-sm inspect-upgrade-submit" data-url="{{:MyUrl('admin/index/inspectupgrade')}}">{{:MyLang('store_check_update_name')}}{{if !empty($site_store_info) and !empty($site_store_info['upgrade']) and !empty($site_store_info['upgrade']['version_old']) and $site_store_info['upgrade']['version_old'] eq $Think.APPLICATION_VERSION}}<i></i>{{/if}}</a>
</span>
</div>
</div>

View File

@ -35,8 +35,8 @@
</p>
{{if empty($site_store_info) or empty($site_store_info['user'])}}
<p>
<span>{{:MyLang('common.store_bind_accounts_tips')}}</span>
<button type="button" class="am-btn am-btn-secondary am-radius am-btn-xs am-margin-left-xs am-icon-gg store-accounts-event"> {{:MyLang('common.store_bind_accounts_name')}}</button>
<span>{{:MyLang('store_bind_accounts_tips')}}</span>
<button type="button" class="am-btn am-btn-secondary am-radius am-btn-xs am-margin-left-xs am-icon-gg store-accounts-event"> {{:MyLang('store_bind_accounts_name')}}</button>
</p>
{{/if}}
</div>
@ -157,7 +157,7 @@
{{else /}}
<div class="table-no">
<i class="am-icon-skyatlas am-icon-lg"></i>
<p class="am-margin-top-sm">{{:MyLang('pluginsadmin.plugins_no_data_tips')}}</p>
<p class="am-margin-top-sm">{{:MyLang('plugins_no_data_tips')}}</p>
<div class="am-margin-top-xl">
<a href="{{$store_url}}" target="_blank" class="am-margin-left-xs">{{:MyLang('pluginsadmin.no_data_store_to_text')}}</a>
</div>

View File

@ -8,21 +8,21 @@
<!-- form start -->
<form class="am-form form-validation-store-accounts view-save" action="{{:MyUrl('admin/index/storeaccountsbind')}}" method="POST" request-type="ajax-reload">
<div class="am-form-group am-form-group-refreshing business-form-block am-margin-top-xs">
<label>{{:MyLang('common.store_bind_form_accounts')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="text" name="common_store_accounts" placeholder="{{:MyLang('common.store_bind_form_accounts_placeholder')}}" data-validation-message="{{:MyLang('common.store_bind_form_accounts_message')}}" class="am-radius" value="" autocomplete="off" required />
<label>{{:MyLang('store_bind_form_accounts')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="text" name="common_store_accounts" placeholder="{{:MyLang('store_bind_form_accounts_placeholder')}}" data-validation-message="{{:MyLang('store_bind_form_accounts_message')}}" class="am-radius" value="" autocomplete="off" required />
</div>
<div class="am-form-group am-form-group-refreshing business-form-block am-margin-top-xs">
<label>{{:MyLang('common.store_bind_form_password')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="password" name="common_store_password" placeholder="{{:MyLang('common.store_bind_form_password_placeholder')}}" data-validation-message="{{:MyLang('common.store_bind_form_password_message')}}" class="am-radius" value="" autocomplete="off" required />
<label>{{:MyLang('store_bind_form_password')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="password" name="common_store_password" placeholder="{{:MyLang('store_bind_form_password_placeholder')}}" data-validation-message="{{:MyLang('store_bind_form_password_message')}}" class="am-radius" value="" autocomplete="off" required />
</div>
<div class="am-form-group am-form-group-refreshing am-margin-top-sm">
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm am-btn-block" data-am-loading="{loadingText:'{{:MyLang('bind_tips')}}'}">{{:MyLang('bind_title')}}</button>
</div>
<div class="am-margin-top-xr am-text-right am-padding-right-xs">
<a href="{{:MyConfig('shopxo.store_regster_url')}}" target="_blank">{{:MyLang('common.store_bind_form_regster_name')}}</a>
<a href="{{:MyConfig('shopxo.store_regster_url')}}" target="_blank">{{:MyLang('store_bind_form_regster_name')}}</a>
</div>
<p class="am-text-warning am-text-center am-margin-top-sm">{{:MyLang('common.store_bind_form_tips')}}</p>
<p class="am-text-warning am-text-center am-margin-top-sm">{{:MyLang('store_bind_form_tips')}}</p>
</form>
<!-- form end -->
</div>

View File

@ -13,8 +13,8 @@
<div class="am-cf">
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('quicknav.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="text" name="name" placeholder="{{:MyLang('quicknav.form_item_name_message')}}" minlength="2" maxlength="60" data-validation-message="{{:MyLang('quicknav.form_item_name_message')}}" class="am-radius" {{if !empty($data['name'])}} value="{{$data.name}}"{{/if}} required />
<label>{{:MyLang('common_service.quicknav.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="text" name="name" placeholder="{{:MyLang('common_service.quicknav.form_item_name_message')}}" minlength="2" maxlength="60" data-validation-message="{{:MyLang('common_service.quicknav.form_item_name_message')}}" class="am-radius" {{if !empty($data['name'])}} value="{{$data.name}}"{{/if}} required />
</div>
</div>
<div class="am-u-sm-6 am-padding-horizontal-0">
@ -63,7 +63,7 @@
<div class="am-cf">
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group am-form-file">
<label class="am-block">{{:MyLang('quicknav.form_item_images_url')}}<span class="am-form-group-label-tips-must">*</span></label>
<label class="am-block">{{:MyLang('common_service.quicknav.form_item_images_url')}}<span class="am-form-group-label-tips-must">*</span></label>
<ul class="plug-file-upload-view slide-images_url-images-view" data-form-name="images_url" data-max-number="1" data-delete="0" data-dialog-type="images">
<li>
<input type="text" name="images_url" value="{{if !empty($data['images_url'])}}{{$data.images_url}}{{/if}}" data-validation-message="{{:MyLang('form_upload_images_message')}}" required />

View File

@ -22,36 +22,36 @@
<div class="am-cf">
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('region.form_item_id')}}{{if is_array(MyLang('form_item_id_tips'))}}<a href="javascript:;" class="am-icon-question-circle am-text-warning am-margin-left-sm" data-am-popover="{content: '{{:implode('<br />', MyLang('form_item_id_tips'))}}', trigger: 'hover focus', theme: 'sm'}"></a>{{/if}}</label>
<input type="text" placeholder="{{:MyLang('region.form_item_id')}}" name="id" maxlength="16" data-validation-message="{{:MyLang('region.form_item_id_message')}}" class="am-radius" />
<label>{{:MyLang('common_service.region.form_item_id')}}{{if is_array(MyLang('form_item_id_tips'))}}<a href="javascript:;" class="am-icon-question-circle am-text-warning am-margin-left-sm" data-am-popover="{content: '{{:implode('<br />', MyLang('form_item_id_tips'))}}', trigger: 'hover focus', theme: 'sm'}"></a>{{/if}}</label>
<input type="text" placeholder="{{:MyLang('common_service.region.form_item_id')}}" name="id" maxlength="16" data-validation-message="{{:MyLang('common_service.region.form_item_id_message')}}" class="am-radius" />
</div>
</div>
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('region.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="text" placeholder="{{:MyLang('region.form_item_name_message')}}" name="name" minlength="2" maxlength="16" data-validation-message="{{:MyLang('region.form_item_name_message')}}" class="am-radius" required />
<label>{{:MyLang('common_service.region.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="text" placeholder="{{:MyLang('common_service.region.form_item_name_message')}}" name="name" minlength="2" maxlength="16" data-validation-message="{{:MyLang('common_service.region.form_item_name_message')}}" class="am-radius" required />
</div>
</div>
</div>
<div class="am-cf">
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('region.form_item_lng')}}</label>
<input type="number" placeholder="{{:MyLang('region.form_item_lng')}}" name="lng" step="0.01" data-validation-message="{{:MyLang('region.form_item_lng_message')}}" class="am-radius" />
<label>{{:MyLang('common_service.region.form_item_lng')}}</label>
<input type="number" placeholder="{{:MyLang('common_service.region.form_item_lng')}}" name="lng" step="0.01" data-validation-message="{{:MyLang('common_service.region.form_item_lng_message')}}" class="am-radius" />
</div>
</div>
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('region.form_item_lat')}}</label>
<input type="number" placeholder="{{:MyLang('region.form_item_lat')}}" name="lat" step="0.01" data-validation-message="{{:MyLang('region.form_item_lat_message')}}" class="am-radius" />
<label>{{:MyLang('common_service.region.form_item_lat')}}</label>
<input type="number" placeholder="{{:MyLang('common_service.region.form_item_lat')}}" name="lat" step="0.01" data-validation-message="{{:MyLang('common_service.region.form_item_lat_message')}}" class="am-radius" />
</div>
</div>
</div>
<div class="am-cf">
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('region.form_item_letters')}}</label>
<input type="text" placeholder="{{:MyLang('region.form_item_letters')}}" name="letters" data-validation-message="{{:MyLang('region.form_item_letters_message')}}" class="am-radius" value="" />
<label>{{:MyLang('common_service.region.form_item_letters')}}</label>
<input type="text" placeholder="{{:MyLang('common_service.region.form_item_letters')}}" name="letters" data-validation-message="{{:MyLang('common_service.region.form_item_letters_message')}}" class="am-radius" value="" />
</div>
</div>
<div class="am-u-sm-6 am-padding-horizontal-0">

View File

@ -70,7 +70,7 @@
</li>
{{/foreach}}
{{else /}}
<p class="am-text-warning">{{:MyLang('common_service.role.form_item_plugins_no_data_tips')}}</p>
<p class="am-text-warning">{{:MyLang('plugins_no_data_tips')}}</p>
{{/if}}
</ul>
</div>

View File

@ -25,16 +25,16 @@
<!-- form start -->
<form class="am-form form-validation am-form-popup-fixed" action="{{:MyUrl('admin/screeningprice/save')}}" method="POST" request-type="ajax-fun" request-value="TreeFormSaveBack">
<div class="am-form-group">
<label>{{:MyLang('screeningprice.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="text" placeholder="{{:MyLang('screeningprice.form_item_name_message')}}" name="name" minlength="2" maxlength="16" data-validation-message="{{:MyLang('screeningprice.form_item_name_message')}}" class="am-radius" required />
<label>{{:MyLang('common_service.screeningprice.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="text" placeholder="{{:MyLang('common_service.screeningprice.form_item_name_message')}}" name="name" minlength="2" maxlength="16" data-validation-message="{{:MyLang('common_service.screeningprice.form_item_name_message')}}" class="am-radius" required />
</div>
<div class="am-form-group">
<label>{{:MyLang('screeningprice.form_item_min_price')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="number" placeholder="{{:MyLang('screeningprice.form_item_min_price')}}" name="min_price" maxlength="10" data-validation-message="{{:MyLang('screeningprice.form_item_min_price_message')}}" class="am-radius" value="0" required />
<label>{{:MyLang('common_service.screeningprice.form_item_min_price')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="number" placeholder="{{:MyLang('common_service.screeningprice.form_item_min_price')}}" name="min_price" maxlength="10" data-validation-message="{{:MyLang('common_service.screeningprice.form_item_min_price_message')}}" class="am-radius" value="0" required />
</div>
<div class="am-form-group">
<label>{{:MyLang('screeningprice.form_item_max_price')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="number" placeholder="{{:MyLang('screeningprice.form_item_max_price')}}" name="max_price" maxlength="10" data-validation-message="{{:MyLang('screeningprice.form_item_max_price_message')}}" class="am-radius" value="0" required />
<label>{{:MyLang('common_service.screeningprice.form_item_max_price')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="number" placeholder="{{:MyLang('common_service.screeningprice.form_item_max_price')}}" name="max_price" maxlength="10" data-validation-message="{{:MyLang('common_service.screeningprice.form_item_max_price_message')}}" class="am-radius" value="0" required />
</div>
{{include file="lib/sort" /}}
{{include file="lib/is_enable" /}}

View File

@ -13,8 +13,8 @@
<div class="am-cf">
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('slide.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="text" name="name" placeholder="{{:MyLang('slide.form_item_name_message')}}" minlength="2" maxlength="60" data-validation-message="{{:MyLang('slide.form_item_name_message')}}" class="am-radius" {{if !empty($data['name'])}} value="{{$data.name}}"{{/if}} required />
<label>{{:MyLang('common_service.slide.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="text" name="name" placeholder="{{:MyLang('common_service.slide.form_item_name_message')}}" minlength="2" maxlength="60" data-validation-message="{{:MyLang('common_service.slide.form_item_name_message')}}" class="am-radius" {{if !empty($data['name'])}} value="{{$data.name}}"{{/if}} required />
</div>
</div>
<div class="am-u-sm-6 am-padding-horizontal-0">
@ -62,7 +62,7 @@
<div class="am-cf">
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group am-form-file">
<label class="am-block">{{:MyLang('slide.form_item_images_url')}}<span class="am-form-group-label-tips-must">*</span>{{if is_array(MyLang('slide.form_item_images_url_tips'))}}<a href="javascript:;" class="am-icon-question-circle am-text-warning am-margin-left-sm" data-am-popover="{content: '{{:implode('<br />', MyLang('slide.form_item_images_url_tips'))}}', trigger: 'hover focus', theme: 'sm'}"></a>{{/if}}</label>
<label class="am-block">{{:MyLang('common_service.slide.form_item_images_url')}}<span class="am-form-group-label-tips-must">*</span>{{if is_array(MyLang('common_service.slide.form_item_images_url_tips'))}}<a href="javascript:;" class="am-icon-question-circle am-text-warning am-margin-left-sm" data-am-popover="{content: '{{:implode('<br />', MyLang('common_service.slide.form_item_images_url_tips'))}}', trigger: 'hover focus', theme: 'sm'}"></a>{{/if}}</label>
<ul class="plug-file-upload-view slide-images_url-images-view" data-form-name="images_url" data-max-number="1" data-delete="0" data-dialog-type="images">
<li>
<input type="text" name="images_url" value="{{if !empty($data['images_url'])}}{{$data.images_url}}{{/if}}" data-validation-message="{{:MyLang('form_upload_images_message')}}" required />

View File

@ -12,7 +12,7 @@
<!-- form start -->
<form class="am-form form-validation" action="{{:MyUrl('admin/sqlconsole/implement')}}" method="POST" request-type="ajax-fun" request-value="ViewImplementBack">
<div class="am-form-group">
<textarea rows="16" name="sql" class="am-radius" placeholder="{{:MyLang('sqlconsole.form_sql_placeholder')}}" data-validation-message="{{:MyLang('sqlconsole.form_sql_message')}}" required></textarea>
<textarea rows="16" name="sql" class="am-radius" placeholder="{{:MyLang('common_service.sqlconsole.form_sql_placeholder')}}" data-validation-message="{{:MyLang('common_service.sqlconsole.form_sql_message')}}" required></textarea>
</div>
<div class="am-form-group am-form-group-refreshing am-margin-top-lg am-padding-left-0">
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm am-btn-block" data-am-loading="{loadingText:'{{:MyLang('processing_tips')}}'}">{{:MyLang('execute_title')}}</button>
@ -21,7 +21,7 @@
<!-- form end -->
{{else /}}
<div class="am-alert">
<p>{{:MyLang('sqlconsole.form_dev_tips')}}</p>
<p>{{:MyLang('common_service.sqlconsole.form_dev_tips')}}</p>
</div>
{{/if}}

View File

@ -12,22 +12,22 @@
<div class="am-cf">
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_system_type')}}<span class="am-form-group-label-tips">{{:MyLang('user.form_item_system_type_tips')}}</span></label>
<input type="text" name="system_type_name" class="am-radius" placeholder="{{:MyLang('user.form_item_system_type_message')}}" data-validation-message="{{:MyLang('user.form_item_system_type_message')}}" value="{{if empty($data['system_type'])}}default{{else /}}{{$data.system_type}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_system_type')}}<span class="am-form-group-label-tips">{{:MyLang('common_service.user.form_item_system_type_tips')}}</span></label>
<input type="text" name="system_type_name" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_system_type_message')}}" data-validation-message="{{:MyLang('common_service.user.form_item_system_type_message')}}" value="{{if empty($data['system_type'])}}default{{else /}}{{$data.system_type}}{{/if}}" />
</div>
</div>
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-cf">
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_username')}}</label>
<input type="text" name="username" class="am-radius" placeholder="{{:MyLang('user.form_item_username_message')}}" data-validation-message="{{:MyLang('user.form_item_username_message')}}" value="{{if !empty($data['username'])}}{{$data.username}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_username')}}</label>
<input type="text" name="username" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_username_message')}}" data-validation-message="{{:MyLang('common_service.user.form_item_username_message')}}" value="{{if !empty($data['username'])}}{{$data.username}}{{/if}}" />
</div>
</div>
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_nickname')}}</label>
<input type="text" name="nickname" class="am-radius" placeholder="{{:MyLang('user.form_item_nickname_message')}}" data-validation-message="{{:MyLang('user.form_item_nickname_message')}}" value="{{if !empty($data['nickname'])}}{{$data.nickname}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_nickname')}}</label>
<input type="text" name="nickname" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_nickname_message')}}" data-validation-message="{{:MyLang('common_service.user.form_item_nickname_message')}}" value="{{if !empty($data['nickname'])}}{{$data.nickname}}{{/if}}" />
</div>
</div>
</div>
@ -36,84 +36,84 @@
<div class="am-cf">
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_mobile')}}</label>
<input type="text" name="mobile" class="am-radius" placeholder="{{:MyLang('user.form_item_mobile')}}" pattern="{{:MyConst('common_regex_mobile')}}" data-validation-message="{{:MyLang('user.form_item_mobile_message')}}" value="{{if !empty($data['mobile'])}}{{$data.mobile}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_mobile')}}</label>
<input type="text" name="mobile" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_mobile')}}" pattern="{{:MyConst('common_regex_mobile')}}" data-validation-message="{{:MyLang('common_service.user.form_item_mobile_message')}}" value="{{if !empty($data['mobile'])}}{{$data.mobile}}{{/if}}" />
</div>
</div>
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_email')}}</label>
<input type="email" name="email" class="am-radius" placeholder="{{:MyLang('user.form_item_email')}}" data-validation-message="{{:MyLang('user.form_item_email_message')}}" value="{{if !empty($data['email'])}}{{$data.email}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_email')}}</label>
<input type="email" name="email" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_email')}}" data-validation-message="{{:MyLang('common_service.user.form_item_email_message')}}" value="{{if !empty($data['email'])}}{{$data.email}}{{/if}}" />
</div>
</div>
</div>
<div class="am-cf">
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_alipay_openid')}}</label>
<input type="text" name="alipay_openid" class="am-radius" placeholder="{{:MyLang('user.form_item_alipay_openid')}}" data-validation-message="{{:MyLang('user.form_item_alipay_openid_message')}}" value="{{if !empty($data['alipay_openid'])}}{{$data.alipay_openid}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_alipay_openid')}}</label>
<input type="text" name="alipay_openid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_alipay_openid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_alipay_openid_message')}}" value="{{if !empty($data['alipay_openid'])}}{{$data.alipay_openid}}{{/if}}" />
</div>
</div>
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_baidu_openid')}}</label>
<input type="text" name="baidu_openid" class="am-radius" placeholder="{{:MyLang('user.form_item_baidu_openid')}}" data-validation-message="{{:MyLang('user.form_item_baidu_openid_message')}}" value="{{if !empty($data['baidu_openid'])}}{{$data.baidu_openid}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_baidu_openid')}}</label>
<input type="text" name="baidu_openid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_baidu_openid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_baidu_openid_message')}}" value="{{if !empty($data['baidu_openid'])}}{{$data.baidu_openid}}{{/if}}" />
</div>
</div>
</div>
<div class="am-cf">
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_toutiao_openid')}}</label>
<input type="text" name="toutiao_openid" class="am-radius" placeholder="{{:MyLang('user.form_item_toutiao_openid')}}" data-validation-message="{{:MyLang('user.form_item_toutiao_openid_message')}}" value="{{if !empty($data['toutiao_openid'])}}{{$data.toutiao_openid}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_toutiao_openid')}}</label>
<input type="text" name="toutiao_openid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_toutiao_openid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_toutiao_openid_message')}}" value="{{if !empty($data['toutiao_openid'])}}{{$data.toutiao_openid}}{{/if}}" />
</div>
</div>
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_toutiao_unionid')}}</label>
<input type="text" name="toutiao_unionid" class="am-radius" placeholder="{{:MyLang('user.form_item_toutiao_unionid')}}" data-validation-message="{{:MyLang('user.form_item_toutiao_unionid_message')}}" value="{{if !empty($data['toutiao_unionid'])}}{{$data.toutiao_unionid}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_toutiao_unionid')}}</label>
<input type="text" name="toutiao_unionid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_toutiao_unionid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_toutiao_unionid_message')}}" value="{{if !empty($data['toutiao_unionid'])}}{{$data.toutiao_unionid}}{{/if}}" />
</div>
</div>
</div>
<div class="am-cf">
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_qq_openid')}}</label>
<input type="text" name="qq_openid" class="am-radius" placeholder="{{:MyLang('user.form_item_qq_openid')}}" data-validation-message="{{:MyLang('user.form_item_qq_openid_message')}}" value="{{if !empty($data['qq_openid'])}}{{$data.qq_openid}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_qq_openid')}}</label>
<input type="text" name="qq_openid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_qq_openid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_qq_openid_message')}}" value="{{if !empty($data['qq_openid'])}}{{$data.qq_openid}}{{/if}}" />
</div>
</div>
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_qq_unionid')}}</label>
<input type="text" name="qq_unionid" class="am-radius" placeholder="{{:MyLang('user.form_item_qq_unionid')}}" data-validation-message="{{:MyLang('user.form_item_qq_unionid_message')}}" value="{{if !empty($data['qq_unionid'])}}{{$data.qq_unionid}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_qq_unionid')}}</label>
<input type="text" name="qq_unionid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_qq_unionid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_qq_unionid_message')}}" value="{{if !empty($data['qq_unionid'])}}{{$data.qq_unionid}}{{/if}}" />
</div>
</div>
</div>
<div class="am-cf">
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_weixin_openid')}}</label>
<input type="text" name="weixin_openid" class="am-radius" placeholder="{{:MyLang('user.form_item_weixin_openid')}}" data-validation-message="{{:MyLang('user.form_item_weixin_openid_message')}}" value="{{if !empty($data['weixin_openid'])}}{{$data.weixin_openid}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_weixin_openid')}}</label>
<input type="text" name="weixin_openid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_weixin_openid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_weixin_openid_message')}}" value="{{if !empty($data['weixin_openid'])}}{{$data.weixin_openid}}{{/if}}" />
</div>
</div>
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_weixin_unionid')}}</label>
<input type="text" name="weixin_unionid" class="am-radius" placeholder="{{:MyLang('user.form_item_weixin_unionid')}}" data-validation-message="{{:MyLang('user.form_item_weixin_unionid_message')}}" value="{{if !empty($data['weixin_unionid'])}}{{$data.weixin_unionid}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_weixin_unionid')}}</label>
<input type="text" name="weixin_unionid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_weixin_unionid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_weixin_unionid_message')}}" value="{{if !empty($data['weixin_unionid'])}}{{$data.weixin_unionid}}{{/if}}" />
</div>
</div>
</div>
<div class="am-cf">
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_web_weixin_openid')}}</label>
<input type="text" name="weixin_web_openid" class="am-radius" placeholder="{{:MyLang('user.form_item_web_weixin_openid')}}" data-validation-message="{{:MyLang('user.form_item_web_weixin_openid_message')}}" value="{{if !empty($data['weixin_web_openid'])}}{{$data.weixin_web_openid}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_web_weixin_openid')}}</label>
<input type="text" name="weixin_web_openid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_web_weixin_openid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_web_weixin_openid_message')}}" value="{{if !empty($data['weixin_web_openid'])}}{{$data.weixin_web_openid}}{{/if}}" />
</div>
</div>
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_kuaishou_openid')}}</label>
<input type="text" name="kuaishou_openid" class="am-radius" placeholder="{{:MyLang('user.form_item_kuaishou_openid')}}" data-validation-message="{{:MyLang('user.form_item_kuaishou_openid_message')}}" value="{{if !empty($data['kuaishou_openid'])}}{{$data.kuaishou_openid}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_kuaishou_openid')}}</label>
<input type="text" name="kuaishou_openid" class="am-radius" placeholder="{{:MyLang('common_service.user.form_item_kuaishou_openid')}}" data-validation-message="{{:MyLang('common_service.user.form_item_kuaishou_openid_message')}}" value="{{if !empty($data['kuaishou_openid'])}}{{$data.kuaishou_openid}}{{/if}}" />
</div>
</div>
</div>
@ -121,26 +121,26 @@
<div class="am-cf">
<div class="am-u-sm-3 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_province')}}</label>
<input type="text" placeholder="{{:MyLang('user.form_item_province')}}" name="province" data-validation-message="{{:MyLang('user.form_item_province_message')}}" class="am-radius" value="{{if !empty($data['province'])}}{{$data.province}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_province')}}</label>
<input type="text" placeholder="{{:MyLang('common_service.user.form_item_province')}}" name="province" data-validation-message="{{:MyLang('common_service.user.form_item_province_message')}}" class="am-radius" value="{{if !empty($data['province'])}}{{$data.province}}{{/if}}" />
</div>
</div>
<div class="am-u-sm-3 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_city')}}</label>
<input type="text" placeholder="{{:MyLang('user.form_item_city')}}" name="city" data-validation-message="{{:MyLang('user.form_item_city_message')}}" class="am-radius" value="{{if !empty($data['city'])}}{{$data.city}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_city')}}</label>
<input type="text" placeholder="{{:MyLang('common_service.user.form_item_city')}}" name="city" data-validation-message="{{:MyLang('common_service.user.form_item_city_message')}}" class="am-radius" value="{{if !empty($data['city'])}}{{$data.city}}{{/if}}" />
</div>
</div>
<div class="am-u-sm-3 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_county')}}</label>
<input type="text" placeholder="{{:MyLang('user.form_item_county')}}" name="county" data-validation-message="{{:MyLang('user.form_item_county_message')}}" class="am-radius" value="{{if !empty($data['county'])}}{{$data.county}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_county')}}</label>
<input type="text" placeholder="{{:MyLang('common_service.user.form_item_county')}}" name="county" data-validation-message="{{:MyLang('common_service.user.form_item_county_message')}}" class="am-radius" value="{{if !empty($data['county'])}}{{$data.county}}{{/if}}" />
</div>
</div>
<div class="am-u-sm-3 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_address')}}</label>
<input type="text" placeholder="{{:MyLang('user.form_item_address')}}" name="address" data-validation-message="{{:MyLang('user.form_item_address_message')}}" class="am-radius" value="{{if !empty($data['address'])}}{{$data.address}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_address')}}</label>
<input type="text" placeholder="{{:MyLang('common_service.user.form_item_address')}}" name="address" data-validation-message="{{:MyLang('common_service.user.form_item_address_message')}}" class="am-radius" value="{{if !empty($data['address'])}}{{$data.address}}{{/if}}" />
</div>
</div>
</div>
@ -148,14 +148,14 @@
<div class="am-cf">
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_integral')}}</label>
<input type="number" placeholder="{{:MyLang('user.form_item_integral')}}" name="integral" min="0" data-validation-message="{{:MyLang('user.form_item_integral_message')}}" class="am-radius" value="{{if !empty($data['integral'])}}{{$data.integral}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_integral')}}</label>
<input type="number" placeholder="{{:MyLang('common_service.user.form_item_integral')}}" name="integral" min="0" data-validation-message="{{:MyLang('common_service.user.form_item_integral_message')}}" class="am-radius" value="{{if !empty($data['integral'])}}{{$data.integral}}{{/if}}" />
</div>
</div>
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_locking_integral')}}</label>
<input type="number" placeholder="{{:MyLang('user.form_item_locking_integral')}}" name="locking_integral" min="0" data-validation-message="{{:MyLang('user.form_item_locking_integral_message')}}" class="am-radius" value="{{if !empty($data['locking_integral'])}}{{$data.locking_integral}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_locking_integral')}}</label>
<input type="number" placeholder="{{:MyLang('common_service.user.form_item_locking_integral')}}" name="locking_integral" min="0" data-validation-message="{{:MyLang('common_service.user.form_item_locking_integral_message')}}" class="am-radius" value="{{if !empty($data['locking_integral'])}}{{$data.locking_integral}}{{/if}}" />
</div>
</div>
</div>
@ -163,14 +163,14 @@
<div class="am-cf">
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_birthday')}}</label>
<input type="text" name="birthday" class="am-radius Wdate" placeholder="{{:MyLang('user.form_item_birthday')}}" pattern="{{:MyConst('common_regex_date')}}" data-validation-message="{{:MyLang('user.form_item_birthday_message')}}" value="{{if !empty($data['birthday'])}}{{$data.birthday}}{{/if}}" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd'})" />
<label>{{:MyLang('common_service.user.form_item_birthday')}}</label>
<input type="text" name="birthday" class="am-radius Wdate" placeholder="{{:MyLang('common_service.user.form_item_birthday')}}" pattern="{{:MyConst('common_regex_date')}}" data-validation-message="{{:MyLang('common_service.user.form_item_birthday_message')}}" value="{{if !empty($data['birthday'])}}{{$data.birthday}}{{/if}}" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd'})" />
</div>
</div>
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_referrer')}}</label>
<input type="number" placeholder="{{:MyLang('user.form_item_referrer')}}" name="referrer" data-validation-message="{{:MyLang('user.form_item_referrer_message')}}" min="0" class="am-radius" value="{{if !empty($data['referrer'])}}{{$data.referrer}}{{/if}}" />
<label>{{:MyLang('common_service.user.form_item_referrer')}}</label>
<input type="number" placeholder="{{:MyLang('common_service.user.form_item_referrer')}}" name="referrer" data-validation-message="{{:MyLang('common_service.user.form_item_referrer_message')}}" min="0" class="am-radius" value="{{if !empty($data['referrer'])}}{{$data.referrer}}{{/if}}" />
</div>
</div>
</div>
@ -181,8 +181,8 @@
</div>
<div class="am-u-sm-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('user.form_item_pwd')}}<span class="am-form-group-label-tips">{{:MyLang('user.form_item_pwd_tips')}}</span></label>
<input type="text" placeholder="{{:MyLang('user.form_item_pwd')}}" name="pwd" pattern="{{:MyConst('common_regex_pwd')}}" data-validation-message="{{:MyLang('user.form_item_pwd_message')}}" class="am-radius" value="" />
<label>{{:MyLang('common_service.user.form_item_pwd')}}<span class="am-form-group-label-tips">{{:MyLang('common_service.user.form_item_pwd_tips')}}</span></label>
<input type="text" placeholder="{{:MyLang('common_service.user.form_item_pwd')}}" name="pwd" pattern="{{:MyConst('common_regex_pwd')}}" data-validation-message="{{:MyLang('common_service.user.form_item_pwd_message')}}" class="am-radius" value="" />
</div>
</div>
</div>

View File

@ -22,37 +22,37 @@
{{/if}}
<div class="am-form-group">
<label>{{:MyLang('useraddress.form_item_user_id')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="number" name="user_id" placeholder="{{:MyLang('useraddress.form_item_user_id')}}" min="0" data-validation-message="{{:MyLang('useraddress.form_item_user_id_message')}}" class="am-radius" {{if !empty($data['user_id'])}} value="{{$data.user_id}}"{{/if}} required />
<label>{{:MyLang('common_service.useraddress.form_item_user_id')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="number" name="user_id" placeholder="{{:MyLang('common_service.useraddress.form_item_user_id')}}" min="0" data-validation-message="{{:MyLang('common_service.useraddress.form_item_user_id_message')}}" class="am-radius" {{if !empty($data['user_id'])}} value="{{$data.user_id}}"{{/if}} required />
</div>
<div class="am-cf">
<div class="am-u-sm-8 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('useraddress.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="text" name="name" placeholder="{{:MyLang('useraddress.form_item_name_message')}}" minlength="2" maxlength="16" data-validation-message="{{:MyLang('useraddress.form_item_name_message')}}" class="am-radius" {{if !empty($data['name'])}} value="{{$data.name}}"{{/if}} required />
<label>{{:MyLang('common_service.useraddress.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="text" name="name" placeholder="{{:MyLang('common_service.useraddress.form_item_name_message')}}" minlength="2" maxlength="16" data-validation-message="{{:MyLang('common_service.useraddress.form_item_name_message')}}" class="am-radius" {{if !empty($data['name'])}} value="{{$data.name}}"{{/if}} required />
</div>
</div>
<div class="am-u-sm-4 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('useraddress.form_item_alias')}}</label>
<input type="text" name="alias" placeholder="{{:MyLang('useraddress.form_item_alias_message')}}" minlength="0" maxlength="16" data-validation-message="{{:MyLang('useraddress.form_item_alias_message')}}" class="am-radius" {{if !empty($data['alias'])}} value="{{$data.alias}}"{{/if}} />
<label>{{:MyLang('common_service.useraddress.form_item_alias')}}</label>
<input type="text" name="alias" placeholder="{{:MyLang('common_service.useraddress.form_item_alias_message')}}" minlength="0" maxlength="16" data-validation-message="{{:MyLang('common_service.useraddress.form_item_alias_message')}}" class="am-radius" {{if !empty($data['alias'])}} value="{{$data.alias}}"{{/if}} />
</div>
</div>
</div>
<div class="am-form-group">
<label>{{:MyLang('useraddress.form_item_tel')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="text" name="tel" placeholder="{{:MyLang('useraddress.form_item_tel')}}" minlength="6" maxlength="30" data-validation-message="{{:MyLang('useraddress.form_item_tel_message')}}" class="am-radius" {{if !empty($data['tel'])}} value="{{$data.tel}}"{{/if}} required />
<label>{{:MyLang('common_service.useraddress.form_item_tel')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="text" name="tel" placeholder="{{:MyLang('common_service.useraddress.form_item_tel')}}" minlength="6" maxlength="30" data-validation-message="{{:MyLang('common_service.useraddress.form_item_tel_message')}}" class="am-radius" {{if !empty($data['tel'])}} value="{{$data.tel}}"{{/if}} required />
</div>
{{include file="lib/region_linkage" /}}
<div class="am-form-group">
<label>{{:MyLang('useraddress.form_item_address')}}<span class="am-form-group-label-tips-must">*</span></label>
<label>{{:MyLang('common_service.useraddress.form_item_address')}}<span class="am-form-group-label-tips-must">*</span></label>
<div class="am-input-group am-input-group-sm">
<input type="hidden" name="lng" id="form-lng" {{if !empty($data['lng'])}} value="{{$data.lng}}"{{/if}} />
<input type="hidden" name="lat" id="form-lat" {{if !empty($data['lat'])}} value="{{$data.lat}}"{{/if}} />
<input type="text" name="address" id="form-address" placeholder="{{:MyLang('useraddress.form_item_address_message')}}" minlength="2" maxlength="80" data-validation-message="{{:MyLang('useraddress.form_item_address_message')}}" class="am-radius am-form-field" {{if !empty($data['address'])}} value="{{$data.address}}"{{/if}} required />
<input type="text" name="address" id="form-address" placeholder="{{:MyLang('common_service.useraddress.form_item_address_message')}}" minlength="2" maxlength="80" data-validation-message="{{:MyLang('common_service.useraddress.form_item_address_message')}}" class="am-radius am-form-field" {{if !empty($data['address'])}} value="{{$data.address}}"{{/if}} required />
<span class="am-input-group-btn">
<button type="button" class="am-btn am-btn-default am-radius" id="map-location-submit">
<i class="am-icon-map-marker"></i>
@ -69,18 +69,18 @@
</div>
<div class="am-alert am-alert-secondary">
<div class="am-form-group">
<label>{{:MyLang('useraddress.form_item_idcard_name')}}<span class="am-form-group-label-tips">{{:MyLang('useraddress.form_item_idcard_name_tips')}}</span></label>
<input type="text" name="idcard_name" placeholder="{{:MyLang('useraddress.form_item_idcard_name_message')}}" minlength="0" maxlength="16" data-validation-message="{{:MyLang('useraddress.form_item_idcard_name_message')}}" class="am-radius" {{if !empty($data['idcard_name'])}} value="{{$data.idcard_name}}"{{/if}} />
<label>{{:MyLang('common_service.useraddress.form_item_idcard_name')}}<span class="am-form-group-label-tips">{{:MyLang('common_service.useraddress.form_item_idcard_name_tips')}}</span></label>
<input type="text" name="idcard_name" placeholder="{{:MyLang('common_service.useraddress.form_item_idcard_name_message')}}" minlength="0" maxlength="16" data-validation-message="{{:MyLang('common_service.useraddress.form_item_idcard_name_message')}}" class="am-radius" {{if !empty($data['idcard_name'])}} value="{{$data.idcard_name}}"{{/if}} />
</div>
<div class="am-form-group">
<label>{{:MyLang('useraddress.form_item_idcard_number')}}<span class="am-form-group-label-tips">{{:MyLang('useraddress.form_item_idcard_number_tips')}}</span></label>
<input type="text" name="idcard_number" placeholder="{{:MyLang('useraddress.form_item_idcard_number_message')}}" minlength="0" maxlength="18" data-validation-message="{{:MyLang('useraddress.form_item_idcard_number_message')}}" class="am-radius" {{if !empty($data['idcard_number'])}} value="{{$data.idcard_number}}"{{/if}} />
<label>{{:MyLang('common_service.useraddress.form_item_idcard_number')}}<span class="am-form-group-label-tips">{{:MyLang('common_service.useraddress.form_item_idcard_number_tips')}}</span></label>
<input type="text" name="idcard_number" placeholder="{{:MyLang('common_service.useraddress.form_item_idcard_number_message')}}" minlength="0" maxlength="18" data-validation-message="{{:MyLang('common_service.useraddress.form_item_idcard_number_message')}}" class="am-radius" {{if !empty($data['idcard_number'])}} value="{{$data.idcard_number}}"{{/if}} />
</div>
{{if empty($data) or empty($data['user_id'])}}
<p class="am-text-center am-text-warning am-margin-top-sm">{{:MyLang('useraddress.form_item_idcard_no_user_tips')}}</p>
<p class="am-text-center am-text-warning am-margin-top-sm">{{:MyLang('common_service.useraddress.form_item_idcard_no_user_tips')}}</p>
{{else /}}
<div class="am-form-group plug-file-upload-view">
<label>{{:MyLang('useraddress.form_item_idcard_images')}}<span class="am-form-group-label-tips">{{:MyLang('useraddress.form_item_idcard_images_tips')}}</span></label>
<label>{{:MyLang('common_service.useraddress.form_item_idcard_images')}}<span class="am-form-group-label-tips">{{:MyLang('common_service.useraddress.form_item_idcard_images_tips')}}</span></label>
<div class="am-nbfc user-address-idcard-images">
<div class="am-fl">
<ul class="plug-file-upload-view images-idcard_front" data-form-name="idcard_front" data-max-number="1" data-dialog-type="images">
@ -92,7 +92,7 @@
<i>×</i>
</li>
</ul>
<div class="plug-file-upload-submit" data-view-tag="ul.images-idcard_front">+ {{:MyLang('useraddress.form_item_idcard_front_button_name')}}</div>
<div class="plug-file-upload-submit" data-view-tag="ul.images-idcard_front">+ {{:MyLang('common_service.useraddress.form_item_idcard_front_button_name')}}</div>
</div>
<div class="am-fl am-margin-left-lg">
<ul class="plug-file-upload-view images-idcard_back" data-form-name="idcard_back" data-max-number="1" data-dialog-type="images">
@ -104,7 +104,7 @@
<i>×</i>
</li>
</ul>
<div class="plug-file-upload-submit" data-view-tag="ul.images-idcard_back">+ {{:MyLang('useraddress.form_item_idcard_back_button_name')}}</div>
<div class="plug-file-upload-submit" data-view-tag="ul.images-idcard_back">+ {{:MyLang('common_service.useraddress.form_item_idcard_back_button_name')}}</div>
</div>
</div>
</div>

View File

@ -22,8 +22,8 @@
<form class="am-form am-padding-sm goods-add-container">
<!-- 搜索 -->
<div class="forth-selection-container" data-search-url="{{:MyUrl('admin/warehousegoods/goodssearch')}}">
<select class="am-radius chosen-select forth-selection-form-warehouse" data-placeholder="{{:MyLang('warehousegoods.form_item_warehouseg_placeholder')}}" data-validation-message="{{:MyLang('warehousegoods.form_item_warehouseg_message')}}">
<option value="">{{:MyLang('warehousegoods.form_item_warehouseg_placeholder')}}</option>
<select class="am-radius chosen-select forth-selection-form-warehouse" data-placeholder="{{:MyLang('common_service.warehousegoods.form_item_warehouseg_placeholder')}}" data-validation-message="{{:MyLang('common_service.warehousegoods.form_item_warehouseg_message')}}">
<option value="">{{:MyLang('common_service.warehousegoods.form_item_warehouseg_placeholder')}}</option>
{{if !empty($warehouse_list)}}
{{foreach $warehouse_list as $v}}
<option value="{{$v.id}}">{{$v.name}}</option>

View File

@ -32,7 +32,7 @@
<tr>
<td>{{$v.name}}</td>
<td>
<input type="number" name="specifications_inventory[]" value="{{if !empty($v['inventory'])}}{{$v.inventory}}{{/if}}" placeholder="{{:MyLang('inventory_title')}}" class="am-radius" min="0" max="100000000" pattern="^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$" data-validation-message="{{:MyLang('warehousegoods.form_item_inventory_message')}}" />
<input type="number" name="specifications_inventory[]" value="{{if !empty($v['inventory'])}}{{$v.inventory}}{{/if}}" placeholder="{{:MyLang('inventory_title')}}" class="am-radius" min="0" max="100000000" pattern="^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$" data-validation-message="{{:MyLang('common_service.warehousegoods.form_item_inventory_message')}}" />
<input type="hidden" name="specifications_md5_key[]" value="{{$v.md5_key}}" />
<input type="hidden" name="specifications_spec[]" value="{{$v.spec}}" />
</td>

View File

@ -414,25 +414,6 @@ return [
// 用户地址
'useraddress' => [
'browser_seo_title' => 'My Address',
// 表单
'form_item_name' => 'Full Name',
'form_item_name_message' => 'Name format is between 2 and 16 characters',
'form_item_alias' => 'Alias',
'form_item_alias_message' => 'Alias format can be up to 16 characters',
'form_item_tel' => 'Telephone',
'form_item_tel_message' => 'Incorrect phone format',
'form_item_address' => 'Detailed Address',
'form_item_address_message' => 'Detailed address format is between 1 and 80 characters',
'form_item_idcard_name' => 'ID Card Name',
'form_item_idcard_name_tips' => 'Optional, please be consistent with the uploaded ID name',
'form_item_idcard_name_message' => 'The name format of ID card can be up to 16 characters',
'form_item_idcard_number' => 'ID No',
'form_item_idcard_number_tips' => 'Optional, please be consistent with the uploaded ID number',
'form_item_idcard_number_message' => 'ID card number format can be up to 18 characters',
'form_item_idcard_images' => 'ID Card Photo',
'form_item_idcard_images_tips' => 'For selective transmission, please use the original ID card to shoot, and the picture should be clear',
'form_item_idcard_front_button_name' => 'Upload IDCard Front Pictures',
'form_item_idcard_back_button_name' => 'Upload IDCard Back Pictures',
],
// 用户足迹
@ -556,20 +537,10 @@ return [
'logout_confirm_title' => 'Confirm Logout',
'logout_confirm_tips' => 'The account cannot be recovered after cancellation. Are you sure to continue?',
'email_title' => 'Original Email Verification',
'form_item_email' => 'E-mail',
'form_item_email_message' => 'Email format error',
'email_new_title' => 'New email verification',
'mobile_title' => 'Verification of original mobile phone number',
'form_item_mobile' => 'Phone Number',
'form_item_mobile_message' => 'Mobile number format error',
'mobile_new_title' => 'New mobile phone number verification',
'login_password_title' => 'Login password modification',
'form_item_current_password' => 'Current Password',
'form_item_current_password_message' => 'The current password format is between 6 and 18 characters',
'form_item_new_password' => 'New Password',
'form_item_new_password_message' => 'The new password format is between 6 and 18 characters',
'form_item_confirm_password' => 'Confirm Password',
'form_item_confirm_password_message' => 'Confirm that the password format is between 6 and 18 characters, consistent with the new password',
],
];
?>

View File

@ -414,25 +414,6 @@ return [
// 用户地址
'useraddress' => [
'browser_seo_title' => '我的地址',
// 表单
'form_item_name' => '姓名',
'form_item_name_message' => '姓名格式2~16个字符之间',
'form_item_alias' => '别名',
'form_item_alias_message' => '别名格式最多16个字符',
'form_item_tel' => '电话',
'form_item_tel_message' => '电话格式有误',
'form_item_address' => '详细地址',
'form_item_address_message' => '详细地址格式1~80个字符之间',
'form_item_idcard_name' => '身份证姓名',
'form_item_idcard_name_tips' => '选填,请务必与上传的身份证件姓名保持一致',
'form_item_idcard_name_message' => '身份证姓名格式最多16个字符',
'form_item_idcard_number' => '身份证号码',
'form_item_idcard_number_tips' => '选填,请务必与上传的身份证件号码保持一致',
'form_item_idcard_number_message' => '身份证号码格式最多18个字符',
'form_item_idcard_images' => '身份证照片',
'form_item_idcard_images_tips' => '选传,请使用身份证原件拍摄,图片要清晰',
'form_item_idcard_front_button_name' => '上传人像面图片',
'form_item_idcard_back_button_name' => '上传国微面图片',
],
// 用户足迹
@ -556,20 +537,10 @@ return [
'logout_confirm_title' => '确认注销',
'logout_confirm_tips' => '账号注销后不可恢复、确定继续吗?',
'email_title' => '原电子邮箱校验',
'form_item_email' => '电子邮箱',
'form_item_email_message' => '电子邮箱格式错误',
'email_new_title' => '新电子邮箱校验',
'mobile_title' => '原手机号码校验',
'form_item_mobile' => '手机号码',
'form_item_mobile_message' => '手机号码格式错误',
'mobile_new_title' => '新手机号码校验',
'login_password_title' => '登录密码修改',
'form_item_current_password' => '当前密码',
'form_item_current_password_message' => '当前密码格式6~18个字符之间',
'form_item_new_password' => '新密码',
'form_item_new_password_message' => '新密码格式格式6~18个字符之间',
'form_item_confirm_password' => '确认密码',
'form_item_confirm_password_message' => '确认密码格式6~18个字符之间与新密码一致',
],
];
?>

View File

@ -67,7 +67,7 @@
<div class="am-u-sm-12 am-u-md-6 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('personal.form_item_address')}}</label>
<input type="text" placeholder="{{:MyLang('personal.form_item_address')}}" name="address" data-validation-message="{{:MyLang('personal.form_item_address_message')}}" class="am-radius" value="{{if !empty($data['address'])}}{{$data.address}}{{/if}}" />
<input type="text" placeholder="{{:MyLang('personal.form_item_address')}}" name="address" maxlength="80" data-validation-message="{{:MyLang('personal.form_item_address_message')}}" class="am-radius" value="{{if !empty($data['address'])}}{{$data.address}}{{/if}}" />
</div>
</div>
</div>

View File

@ -28,7 +28,7 @@
<a href="{{:MyUrl('index/safety/index')}}" class="am-fr am-text-xs am-margin-top-sm am-icon-mail-reply"> {{:MyLang('retreat_title')}}</a>
</legend>
<div class="am-form-group">
<label>{{:MyLang('safety.form_item_email')}}</label>
<label>{{:MyLang('common_service.safety.form_item_email')}}</label>
<input type="text" class="am-radius" value="{{$user.email_security}}" disabled />
</div>
<div class="am-form-group">

View File

@ -28,16 +28,16 @@
<a href="{{:MyUrl('index/safety/index')}}" class="am-fr am-text-xs am-margin-top-sm am-icon-mail-reply"> {{:MyLang('retreat_title')}}</a>
</legend>
<div class="am-form-group">
<label>{{:MyLang('safety.form_item_current_password')}}</label>
<input type="password" name="my_pwd" placeholder="{{:MyLang('safety.form_item_current_password_message')}}" pattern="{{:MyConst('common_regex_pwd')}}" data-validation-message="{{:MyLang('safety.form_item_current_password_message')}}" class="am-radius" autocomplete="off" required />
<label>{{:MyLang('common_service.safety.form_item_current_password')}}</label>
<input type="password" name="my_pwd" placeholder="{{:MyLang('common_service.safety.form_item_current_password_message')}}" pattern="{{:MyConst('common_regex_pwd')}}" data-validation-message="{{:MyLang('common_service.safety.form_item_current_password_message')}}" class="am-radius" autocomplete="off" required />
</div>
<div class="am-form-group">
<label>{{:MyLang('safety.form_item_new_password')}}</label>
<input type="password" name="new_pwd" placeholder="{{:MyLang('safety.form_item_new_password_message')}}" pattern="{{:MyConst('common_regex_pwd')}}" data-validation-message="{{:MyLang('safety.form_item_new_password_message')}}" class="am-radius" id="new-loginpwd" autocomplete="off" required />
<label>{{:MyLang('common_service.safety.form_item_new_password')}}</label>
<input type="password" name="new_pwd" placeholder="{{:MyLang('common_service.safety.form_item_new_password_message')}}" pattern="{{:MyConst('common_regex_pwd')}}" data-validation-message="{{:MyLang('common_service.safety.form_item_new_password_message')}}" class="am-radius" id="new-loginpwd" autocomplete="off" required />
</div>
<div class="am-form-group">
<label>{{:MyLang('safety.form_item_confirm_password')}}</label>
<input type="password" name="confirm_new_pwd" placeholder="{{:MyLang('safety.form_item_confirm_password_message')}}" pattern="{{:MyConst('common_regex_pwd')}}" data-validation-message="{{:MyLang('safety.form_item_confirm_password_message')}}" class="am-radius" data-equal-to="#new-loginpwd" autocomplete="off" required />
<label>{{:MyLang('common_service.safety.form_item_confirm_password')}}</label>
<input type="password" name="confirm_new_pwd" placeholder="{{:MyLang('common_service.safety.form_item_confirm_password_message')}}" pattern="{{:MyConst('common_regex_pwd')}}" data-validation-message="{{:MyLang('common_service.safety.form_item_confirm_password_message')}}" class="am-radius" data-equal-to="#new-loginpwd" autocomplete="off" required />
</div>
<div class="am-form-group am-form-group-refreshing">
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm am-btn-block" data-am-loading="{loadingText:'{{:MyLang('processing_tips')}}'}">{{:MyLang('save_title')}}</button>

View File

@ -28,7 +28,7 @@
<a href="{{:MyUrl('index/safety/index')}}" class="am-fr am-text-xs am-margin-top-sm am-icon-mail-reply"> {{:MyLang('retreat_title')}}</a>
</legend>
<div class="am-form-group">
<label>{{:MyLang('safety.form_item_mobile')}}</label>
<label>{{:MyLang('common_service.safety.form_item_mobile')}}</label>
<input type="text" class="am-radius" value="{{$user.mobile_security}}" disabled />
</div>
<div class="am-form-group">

View File

@ -28,8 +28,8 @@
<a href="{{:MyUrl('index/safety/index')}}" class="am-fr am-text-xs am-margin-top-sm am-icon-mail-reply"> {{:MyLang('retreat_title')}}</a>
</legend>
<div class="am-form-group">
<label>{{:MyLang('safety.form_item_email')}}</label>
<input type="email" name="accounts" class="am-radius" id="accounts" placeholder="{{:MyLang('safety.form_item_email')}}" data-validation-message="{{:MyLang('safety.form_item_email_message')}}" required />
<label>{{:MyLang('common_service.safety.form_item_email')}}</label>
<input type="email" name="accounts" class="am-radius" id="accounts" placeholder="{{:MyLang('common_service.safety.form_item_email')}}" data-validation-message="{{:MyLang('common_service.safety.form_item_email_message')}}" required />
</div>
<div class="am-form-group">
<label>{{:MyLang('form_verify_title')}}</label>

View File

@ -28,8 +28,8 @@
<a href="{{:MyUrl('index/safety/index')}}" class="am-fr am-text-xs am-margin-top-sm am-icon-mail-reply"> {{:MyLang('retreat_title')}}</a>
</legend>
<div class="am-form-group">
<label>{{:MyLang('safety.form_item_mobile')}}</label>
<input type="text" name="accounts" class="am-radius" id="accounts" placeholder="{{:MyLang('safety.form_item_mobile')}}" pattern="{{:MyConst('common_regex_mobile')}}" data-validation-message="{{:MyLang('safety.form_item_mobile_message')}}" required />
<label>{{:MyLang('common_service.safety.form_item_mobile')}}</label>
<input type="text" name="accounts" class="am-radius" id="accounts" placeholder="{{:MyLang('common_service.safety.form_item_mobile')}}" pattern="{{:MyConst('common_regex_mobile')}}" data-validation-message="{{:MyLang('common_service.safety.form_item_mobile_message')}}" required />
</div>
<div class="am-form-group">
<label>{{:MyLang('form_verify_title')}}</label>

View File

@ -7,31 +7,31 @@
<div class="am-cf">
<div class="am-u-sm-8 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('useraddress.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="text" name="name" placeholder="{{:MyLang('useraddress.form_item_name_message')}}" minlength="2" maxlength="16" data-validation-message="{{:MyLang('useraddress.form_item_name_message')}}" class="am-radius" {{if !empty($data['name'])}} value="{{$data.name}}"{{/if}} required />
<label>{{:MyLang('common_service.useraddress.form_item_name')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="text" name="name" placeholder="{{:MyLang('common_service.useraddress.form_item_name_message')}}" minlength="2" maxlength="16" data-validation-message="{{:MyLang('common_service.useraddress.form_item_name_message')}}" class="am-radius" {{if !empty($data['name'])}} value="{{$data.name}}"{{/if}} required />
</div>
</div>
<div class="am-u-sm-4 am-padding-horizontal-0">
<div class="am-form-group">
<label>{{:MyLang('useraddress.form_item_alias')}}</label>
<input type="text" name="alias" placeholder="{{:MyLang('useraddress.form_item_alias_message')}}" minlength="0" maxlength="16" data-validation-message="{{:MyLang('useraddress.form_item_alias_message')}}" class="am-radius" {{if !empty($data['alias'])}} value="{{$data.alias}}"{{/if}} />
<label>{{:MyLang('common_service.useraddress.form_item_alias')}}</label>
<input type="text" name="alias" placeholder="{{:MyLang('common_service.useraddress.form_item_alias_message')}}" minlength="0" maxlength="16" data-validation-message="{{:MyLang('common_service.useraddress.form_item_alias_message')}}" class="am-radius" {{if !empty($data['alias'])}} value="{{$data.alias}}"{{/if}} />
</div>
</div>
</div>
<div class="am-form-group">
<label>{{:MyLang('useraddress.form_item_tel')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="text" name="tel" placeholder="{{:MyLang('useraddress.form_item_tel')}}" minlength="6" maxlength="30" data-validation-message="{{:MyLang('useraddress.form_item_tel_message')}}" class="am-radius" {{if !empty($data['tel'])}} value="{{$data.tel}}"{{/if}} required />
<label>{{:MyLang('common_service.useraddress.form_item_tel')}}<span class="am-form-group-label-tips-must">*</span></label>
<input type="text" name="tel" placeholder="{{:MyLang('common_service.useraddress.form_item_tel')}}" minlength="6" maxlength="30" data-validation-message="{{:MyLang('common_service.useraddress.form_item_tel_message')}}" class="am-radius" {{if !empty($data['tel'])}} value="{{$data.tel}}"{{/if}} required />
</div>
{{include file="lib/region_linkage" /}}
<div class="am-form-group">
<label>{{:MyLang('useraddress.form_item_address')}}<span class="am-form-group-label-tips-must">*</span></label>
<label>{{:MyLang('common_service.useraddress.form_item_address')}}<span class="am-form-group-label-tips-must">*</span></label>
{{if MyC('home_user_address_map_status') eq 1}}
<div class="am-input-group am-input-group-sm">
<input type="hidden" name="lng" id="form-lng" {{if !empty($data['lng'])}} value="{{$data.lng}}"{{/if}} />
<input type="hidden" name="lat" id="form-lat" {{if !empty($data['lat'])}} value="{{$data.lat}}"{{/if}} />
<input type="text" name="address" id="form-address" placeholder="{{:MyLang('useraddress.form_item_address_message')}}" minlength="2" maxlength="80" data-validation-message="{{:MyLang('useraddress.form_item_address_message')}}" class="am-radius am-form-field" {{if !empty($data['address'])}} value="{{$data.address}}"{{/if}} required />
<input type="text" name="address" id="form-address" placeholder="{{:MyLang('common_service.useraddress.form_item_address_message')}}" minlength="2" maxlength="80" data-validation-message="{{:MyLang('common_service.useraddress.form_item_address_message')}}" class="am-radius am-form-field" {{if !empty($data['address'])}} value="{{$data.address}}"{{/if}} required />
<span class="am-input-group-btn">
<button type="button" class="am-btn am-btn-default am-radius" id="map-location-submit">
<i class="am-icon-map-marker"></i>
@ -41,7 +41,7 @@
</div>
<div id="map" data-level="17" class="am-margin-top-xs"></div>
{{else /}}
<input type="text" name="address" id="form-address" placeholder="{{:MyLang('useraddress.form_item_address_message')}}" minlength="2" maxlength="80" data-validation-message="{{:MyLang('useraddress.form_item_address_message')}}" class="am-radius" {{if !empty($data['address'])}} value="{{$data.address}}"{{/if}} required />
<input type="text" name="address" id="form-address" placeholder="{{:MyLang('common_service.useraddress.form_item_address_message')}}" minlength="2" maxlength="80" data-validation-message="{{:MyLang('common_service.useraddress.form_item_address_message')}}" class="am-radius" {{if !empty($data['address'])}} value="{{$data.address}}"{{/if}} required />
{{/if}}
</div>
@ -52,15 +52,15 @@
{{if MyC('home_user_address_idcard_status') eq 1}}
<div class="am-alert am-alert-secondary">
<div class="am-form-group">
<label>{{:MyLang('useraddress.form_item_idcard_name')}}<span class="am-form-group-label-tips">{{:MyLang('useraddress.form_item_idcard_name_tips')}}</span></label>
<input type="text" name="idcard_name" placeholder="{{:MyLang('useraddress.form_item_idcard_name')}}" minlength="0" maxlength="16" data-validation-message="{{:MyLang('useraddress.form_item_idcard_name_message')}}" class="am-radius" {{if !empty($data['idcard_name'])}} value="{{$data.idcard_name}}"{{/if}} />
<label>{{:MyLang('common_service.useraddress.form_item_idcard_name')}}<span class="am-form-group-label-tips">{{:MyLang('common_service.useraddress.form_item_idcard_name_tips')}}</span></label>
<input type="text" name="idcard_name" placeholder="{{:MyLang('common_service.useraddress.form_item_idcard_name')}}" minlength="0" maxlength="16" data-validation-message="{{:MyLang('common_service.useraddress.form_item_idcard_name_message')}}" class="am-radius" {{if !empty($data['idcard_name'])}} value="{{$data.idcard_name}}"{{/if}} />
</div>
<div class="am-form-group">
<label>{{:MyLang('useraddress.form_item_idcard_number')}}<span class="am-form-group-label-tips">{{:MyLang('useraddress.form_item_idcard_number_tips')}}</span></label>
<input type="text" name="idcard_number" placeholder="{{:MyLang('useraddress.form_item_idcard_number')}}" minlength="0" maxlength="18" data-validation-message="{{:MyLang('useraddress.form_item_idcard_number_message')}}" class="am-radius" {{if !empty($data['idcard_number'])}} value="{{$data.idcard_number}}"{{/if}} />
<label>{{:MyLang('common_service.useraddress.form_item_idcard_number')}}<span class="am-form-group-label-tips">{{:MyLang('common_service.useraddress.form_item_idcard_number_tips')}}</span></label>
<input type="text" name="idcard_number" placeholder="{{:MyLang('common_service.useraddress.form_item_idcard_number')}}" minlength="0" maxlength="18" data-validation-message="{{:MyLang('common_service.useraddress.form_item_idcard_number_message')}}" class="am-radius" {{if !empty($data['idcard_number'])}} value="{{$data.idcard_number}}"{{/if}} />
</div>
<div class="am-form-group plug-file-upload-view">
<label>{{:MyLang('useraddress.form_item_idcard_images')}}<span class="am-form-group-label-tips">{{:MyLang('useraddress.form_item_idcard_images_tips')}}</span></label>
<label>{{:MyLang('common_service.useraddress.form_item_idcard_images')}}<span class="am-form-group-label-tips">{{:MyLang('common_service.useraddress.form_item_idcard_images_tips')}}</span></label>
<div class="am-nbfc user-address-idcard-images">
<div class="am-fl">
<ul class="plug-file-upload-view images-idcard_front" data-form-name="idcard_front" data-max-number="1" data-dialog-type="images">
@ -72,7 +72,7 @@
<i>×</i>
</li>
</ul>
<div class="plug-file-upload-submit" data-view-tag="ul.images-idcard_front">+{{:MyLang('useraddress.form_item_idcard_front_button_name')}}</div>
<div class="plug-file-upload-submit" data-view-tag="ul.images-idcard_front">+{{:MyLang('common_service.useraddress.form_item_idcard_front_button_name')}}</div>
</div>
<div class="am-fl am-margin-left-lg">
<ul class="plug-file-upload-view images-idcard_back" data-form-name="idcard_back" data-max-number="1" data-dialog-type="images">
@ -84,7 +84,7 @@
<i>×</i>
</li>
</ul>
<div class="plug-file-upload-submit" data-view-tag="ul.images-idcard_back">+{{:MyLang('useraddress.form_item_idcard_back_button_name')}}</div>
<div class="plug-file-upload-submit" data-view-tag="ul.images-idcard_back">+{{:MyLang('common_service.useraddress.form_item_idcard_back_button_name')}}</div>
</div>
</div>
</div>

View File

@ -202,6 +202,7 @@ return [
'plugins_control_tips' => 'Application controller error',
'plugins_action_tips' => 'Application method error',
'plugins_use_no_power_tips' => 'No permission to use this plugins',
'plugins_no_data_tips' => 'No plugins data',
'map_coordinate_error' => 'Incorrect coordinates',
'no_config_data_tips' => 'No data configured',
'config_empty_tips' => 'Configuration is empty',
@ -243,9 +244,31 @@ return [
'order_status_not_can_operate_tips' => 'Order status is inoperable',
'data_status_not_can_operate_tips' => 'Data status is inoperable',
'plugins_config_error_tips' => 'Incorrect plug-in configuration',
// 商店
'operate_frequent_tips' => 'Frequent operation, please try again later!',
'images_format_error_tips' => 'The picture is wrong, please change it!',
// 商店绑定
'store_bind_account_name' => 'Bind ShopXO store account',
'store_bind_account_tips' => 'If it is bound, please clear the cache under the menu tool on the left side of the mall background and try to access it again!',
'store_account_not_bind_tips' => 'Please bind the store account first',
'store_check_update_name' => 'Check for update',
'store_bind_accounts_name' => 'Bind ShopXO store account',
'store_bind_accounts_tips' => 'Bind ShopXO App Store account, get the latest version information of plug-in, install and update online',
'store_bind_authorized_subject_name' => 'Authorized Subject',
'store_content_error_tips' => 'Store connection failed',
'store_respond_data_error_tips' => 'The store returned the wrong data',
'store_respond_data_invalid_tips' => 'Store returned invalid data',
'store_respond_empty_tips' => 'The store returned no corresponding data. Please try again later!',
'store_respond_data_empty_tips' => 'The store returned an unexpected error. Please try again later!',
'store_respond_result_tips' => 'Store Return',
// 商店绑定表单
'store_bind_form_accounts' => 'Accounts',
'store_bind_form_accounts_placeholder' => 'User name/mobile phone/email',
'store_bind_form_accounts_message' => 'Account format 1~30 characters',
'store_bind_form_password' => 'Password',
'store_bind_form_password_placeholder' => 'Login Password',
'store_bind_form_password_message' => 'Login password format 6~30 characters',
'store_bind_form_regster_name' => 'No account, go to register',
'store_bind_form_tips' => 'One account supports binding to multiple ShopXO stores',
// 常用
'fullscreen_open_title' => 'Enable full screen',
'fullscreen_exit_title' => 'Exit full screen',
@ -983,7 +1006,6 @@ return [
'form_item_menu_no_data_tips' => 'No menu data',
'form_item_plugins' => 'Plugins Power',
'form_item_plugins_tips' => 'The plug-in also needs to check [Application Center ->Application Management+Application Call Management] permission in the current menu permission',
'form_item_plugins_no_data_tips' => 'No plugins data',
// 保存操作
'save_super_role_not_edit_tips' => 'The super administrator role cannot be edited',
'save_role_already_exist_tips' => 'Role already exists[{$var}]',
@ -1090,7 +1112,6 @@ return [
'base_config_replace_fail_tips' => 'Basic configuration replacement failed',
'new_config_file_update_fail_tips' => 'Failed to update the new app profile',
'liveplayer_config_fail_tips' => 'Live configuration failed',
'plugins_no_data_tips' => 'No plugins data',
],
// 手机端用户
'appminiuser' => [
@ -1154,7 +1175,7 @@ return [
'goods_no_exist_tips' => 'Item does not exist',
'goods_already_shelves_tips' => 'Goods are off the shelf',
'goods_inventory_not_enough_tips' => 'Insufficient inventory of goods',
'goods_spec_inventory_not_enough_tips' => 'Insufficient inventory of commodity specifications',
'goods_spec_inventory_not_enough_tips' => 'Insufficient inventory of goods specifications',
'goods_buy_min_error_tips' => 'Less than the minimum purchase quantity of goods',
'goods_buy_max_error_tips' => 'Exceeding the purchase limit of goods',
'goods_buy_exceed_inventory_tips' => 'The purchase quantity exceeds the inventory quantity of goods',
@ -1316,7 +1337,7 @@ return [
'form_item_category_id_tips' => 'Include children',
'form_item_category_id_message' => 'Please select product classification',
'form_item_config_title' => 'Params Config',
'form_item_config_value_placeholder' => 'Paste commodity parameter configuration information',
'form_item_config_value_placeholder' => 'Paste goods parameter configuration information',
'form_item_config_template_title' => 'Goods Params template',
'form_item_config_copy_title' => 'Copy Config',
'form_item_config_empty_title' => 'Clear Params',
@ -1391,8 +1412,8 @@ return [
'form_item_extends_popup_title' => 'Spec Extended Data',
// 规格
'form_spec_top_list_tips' => [
'1. Adding specifications in batches can quickly create commodity SKUs, greatly saving SKU editing time. Shortcut operation data does not affect SKU data, and only overwrites SKU when it is generated.',
'2. You can configure the specification template in the background commodity management ->commodity specification, select the commodity specification module to quickly generate the corresponding specification data, and effectively provide efficiency',
'1. Adding specifications in batches can quickly create goods SKUs, greatly saving SKU editing time. Shortcut operation data does not affect SKU data, and only overwrites SKU when it is generated.',
'2. You can configure the specification template in the background goods management ->goods specification, select the goods specification module to quickly generate the corresponding specification data, and effectively provide efficiency',
'3. After goods are added successfully, add and configure inventory in warehouse management ->warehouse goods',
],
'form_spec_template_tips' => 'Incorrect specification template data',
@ -1446,7 +1467,7 @@ return [
'form_params_select_title' => 'Goods Params Template',
'form_params_select_placeholder' => 'Goods Params Template...',
'form_params_select_message' => 'Please select a product parameter template',
'form_params_value_placeholder' => 'Paste commodity parameter configuration information',
'form_params_value_placeholder' => 'Paste goods parameter configuration information',
'form_params_config_copy_title' => 'Copy Config',
'form_params_config_empty_title' => 'Clear Params',
'form_params_list_content_tips' => 'You can directly click the parameter line to drag and sort or click up and down to move',
@ -1566,7 +1587,7 @@ return [
'form_item_url_message' => 'Incorrect format of url address',
'form_item_value_article_message' => 'Wrong article selection',
'form_item_value_customview_message' => 'Incorrect selection of custom page',
'form_item_value_goods_category_message'=> 'Wrong selection of commodity classification',
'form_item_value_goods_category_message'=> 'Wrong selection of goods classification',
'form_item_value_design_message' => 'Incorrect selection of page design',
// 前端顶部小导航-右侧
'header_top_nav_right' => [
@ -1665,7 +1686,7 @@ return [
'order_aftersale_overdue_tips' => 'The order has been sold later, please contact customer service for processing',
'order_aftersale_have_in_hand_tips' => 'Order aftersales is in progress, please do not repeat the application',
'refund_amount_max_order_price_tips' => 'The refund amount is greater than the order payment amount [historical refund {:history_price} yuan, order amount {:order_price} yuan]',
'return_quantity_max_order_number_tips' => 'The return quantity is greater than the purchase quantity [historical return quantity {:history_number}, order commodity quantity {:buy_number}]',
'return_quantity_max_order_number_tips' => 'The return quantity is greater than the purchase quantity [historical return quantity {:history_number}, order goods quantity {:buy_number}]',
'refund_only_not_can_return_goods_tips' => 'This aftersales order is for refund only, and return operation is not allowed',
'status_not_can_operate_tips' => 'The aftersales order status is inoperable',
'pay_log_empty_tips' => 'Payment log does not exist, please use manual processing method',
@ -1839,7 +1860,6 @@ return [
'file_no_power_tips' => 'No operation permission',
'pay_respond_file_no_exist_tips' => 'The payment return entry file does not exist. Please contact the administrator for processing',
'pay_notify_file_no_exist_tips' => 'The payment notification entry file does not exist. Please contact the administrator for processing',
'no_plugins_data_tips' => 'No plug-in data',
],
// 支付请求日志
'payrequestlog' => [
@ -1928,10 +1948,332 @@ return [
'plugins_call_config_error_tips' => 'Incorrect application configuration information',
'plugins_event_undefined_tips' => 'Application event is not defined',
'plugins_event_action_undefined_tips' => 'Application event method is not defined',
'plugins_no_data_tips' => 'No plug-in data',
'plugins_new_version_update_tips' => '({:plugins} v{:version})The plug-in has a new version to be updated',
'plugins_no_update_tips' => 'No plug-ins need to be updated',
],
// 插件主题更新服务
'pluginsupgrade' => [
'package_no_exist_tips' => 'The software package does not exist, please update it again',
'terminal_not_appoint_error_tips' => 'No terminal type specified',
'plugins_type_undefined_tips' => 'Plug-in operation type is not defined',
'download_url_empty_tips' => 'The download address is empty',
'plugins_download_fail_tips' => 'Plug-in download failed',
'plugins_config_error_tips' => 'The application plug-in configuration information is incorrect',
'payment_config_error_tips' => 'The payment plug-in configuration information is incorrect',
'plugins_identification_error_tips' => 'Wrong plug-in identification',
'update_type_error_tps' => 'Wrong update type',
'operate_key_error_tips' => 'Incorrect operation key',
],
// 快捷导航
'quicknav' => [
// 表单
'form_item_name' => 'Name',
'form_item_name_message' => 'Name format: 2~60 characters',
'form_item_images_url' => 'Navigation Icon',
],
// 地区
'region' => [
// 表单
'form_item_id' => 'Unique Number',
'form_item_id_tips' => [
'1. If left blank, the system will automatically generate',
'2. Do not modify at will to avoid data confusion',
],
'form_item_id_message' => 'Please enter a unique number',
'form_item_name' => 'Name',
'form_item_name_message' => 'Name format 2~16 characters',
'form_item_lng' => 'Longitude',
'form_item_lng_message' => 'Please fill in the longitude',
'form_item_lat' => 'Latitude',
'form_item_lat_message' => 'Please fill in the latitude',
'form_item_letters' => 'Initial',
'form_item_letters_message' => 'Please fill in the initials',
// 基础
'region_code_search_empty_tips' => 'Please enter the region number',
'region_no_data_tips' => 'No relevant regions',
],
// 资源
'resources' => [
// 保存
'save_attachment_title_tips' => 'Wrong name',
'save_attachment_original_tips' => 'Wrong original name',
'save_attachment_path_type_tips' => 'Wrong path mark',
'save_attachment_url_tips' => 'Wrong address',
'save_attachment_size_tips' => 'Wrong file size',
'save_attachment_ext_tips' => 'Incorrect extension',
'save_attachment_hash_tips' => 'Incorrect hash value',
// 基础
'delete_no_power_tips' => 'File does not have permission to delete',
'sync_file_to_db_tips' => 'total[{:count}], success[{:success}], fail[{:error}]',
],
// 安全
'safety' => [
// 表单
'form_item_email' => 'E-mail',
'form_item_email_message' => 'Email format error',
'form_item_mobile' => 'Phone Number',
'form_item_mobile_message' => 'Mobile number format error',
'form_item_current_password' => 'Current Password',
'form_item_current_password_message' => 'The current password format is between 6 and 18 characters',
'form_item_new_password' => 'New Password',
'form_item_new_password_message' => 'The new password format is between 6 and 18 characters',
'form_item_confirm_password' => 'Confirm Password',
'form_item_confirm_password_message' => 'Confirm that the password format is between 6 and 18 characters, consistent with the new password',
// 基础
'current_password_error_tips' => 'Current password error',
'confirm_new_password_atypism_tips' => 'The confirmed password is inconsistent with the new password',
'mobile_already_exist_tips' => 'Mobile number already exists',
'email_already_exist_tips' => 'Email already exists',
'accounts_no_exist_tips' => 'Account does not exist',
'accounts_emptyr_tips' => 'Account cannot be empty',
'accounts_type_error_tips' => 'Wrong account type',
'send_verify_email_title' => 'E-mail binding',
'accounts_logout_refuse_msg' => 'There are {:count} unfinished orders',
],
// 筛选价格
'screeningprice' => [
// 表单
'form_item_name' => 'Name',
'form_item_name_message' => 'Name format 2~16 characters',
'form_item_min_price' => 'Minimum Price',
'form_item_min_price_message' => 'Incorrect minimum price',
'form_item_max_price' => 'Maximum Price',
'form_item_max_price_message' => 'Incorrect maximum price',
],
// 搜索
'search' => [
'search_breadcrumb_result_last_text' => 'search result',
],
// 站点配置
'site' => [
'redis_extend_no_install_tips' => 'Please install the Redis extension first',
'redis_connect_success_tips' => 'Redis connection succeeded',
'redis_connect_fail_tips' => 'Redis connection failed',
],
// 轮播
'slide' => [
// 表单
'form_item_name' => 'Name',
'form_item_name_message' => 'Name format: 2~60 characters',
'form_item_images_url' => 'Slide Pictures',
'form_item_images_url_tips' => [
'1. Recommended size of PC end: 1920 * 480px',
'2. Recommended size of mobile terminal: 1200 * 360px',
],
],
// sql控制台
'sqlconsole' => [
// 表单
'form_sql_placeholder' => 'SQL Statement',
'form_sql_message' => 'Please fill in the SQL statement to be executed',
'form_dev_tips' => 'If you need to execute SQL statements, change the [is_develop] value in the [config/shopxo. php] file to [true] to enable developer mode.',
// 基础
'implement_fail_tips' => '[{:failure}] failed to run sql',
'implement_success_tips' => 'SQL run successfully[success: {:success}, failure: {:failure}]',
],
// 统计
'statistical' => [
// 时间区间
'time_section_day_3_name' => 'Last3Day',
'time_section_day_7_name' => 'Last7Day',
'time_section_day_15_name' => 'Last15Day',
'time_section_day_30_name' => 'Last30Day',
'time_section_day_180_name' => 'LastHalfYear',
'time_section_day_365_name' => 'Last1Year',
'time_section_this_month_name' => 'ThisMonth',
'time_section_last_month_name' => 'LastMonth',
'time_section_this_year_name' => 'ThisYear',
'time_section_last_year_name' => 'LastYear',
// 基础
'stats_total_name' => 'Total',
'stats_type_empty_tips' => 'Type is empty',
'stats_type_error_tips' => 'Wrong type',
'stats_time_start_tips' => 'Start time cannot be empty',
'stats_time_end_tips' => 'End time cannot be empty',
'stats_time_error_tips' => 'Start time cannot be less than end time',
],
// 系统更新
'systemupgrade' => [
'system_package_no_exist_tips' => 'The system package does not exist, please download again',
'update_package_no_exist_tips' => 'The upgrade package does not exist. Please download it again',
'package_download_fail_tips' => 'Package download failed',
],
// 主题
'theme' => [
'view_dir_no_power_tips' => 'View directory does not have permission',
'static_dir_no_power_tips' => 'The resource directory does not have permission',
'package_invalid_tips' => 'Invalid theme pack',
'template_id_error_tips' => 'Incorrect template id',
'theme_name_error_tips' => 'Incorrect subject name',
'system_theme_not_delete_tips' => 'System template cannot be deleted',
'current_use_theme_error_tips' => 'Cannot delete the theme in use',
'theme_copy_view_fail_tips' => 'View',
'theme_copy_static_fail_tips' => 'Static file',
'theme_new_config_error_tips' => 'The new configuration file is incorrect',
'theme_new_config_update_fail_tips' => 'Failed to update the new app profile',
'config_file_no_exist_tips' => 'Theme profile does not exist',
'config_error_tips' => 'The subject configuration information is incorrect',
],
// 附件上传
'ueditor' => [
'request_action_error_tips' => 'Request action error',
],
// 用户地址
'useraddress' => [
// 表单
'form_item_user_id' => 'User ID',
'form_item_user_id_message' => 'Please fill in user id',
'form_item_name' => 'Full Name',
'form_item_name_message' => 'Name format is between 2 and 16 characters',
'form_item_alias' => 'Alias',
'form_item_alias_message' => 'Alias format can be up to 16 characters',
'form_item_tel' => 'Telephone',
'form_item_tel_message' => 'Incorrect phone format',
'form_item_address' => 'Detailed Address',
'form_item_address_message' => 'Detailed address format is between 1 and 80 characters',
'form_item_idcard_name' => 'ID Card Name',
'form_item_idcard_name_tips' => 'Optional, please be consistent with the uploaded ID name',
'form_item_idcard_name_message' => 'The name format of ID card can be up to 16 characters',
'form_item_idcard_number' => 'ID No',
'form_item_idcard_number_tips' => 'Optional, please be consistent with the uploaded ID number',
'form_item_idcard_number_message' => 'ID card number format can be up to 18 characters',
'form_item_idcard_images' => 'ID Card Photo',
'form_item_idcard_images_tips' => 'For selective transmission, please use the original ID card to shoot, and the picture should be clear',
'form_item_idcard_front_button_name' => 'Upload IDCard Front Pictures',
'form_item_idcard_back_button_name' => 'Upload IDCard Back Pictures',
'form_item_idcard_no_user_tips' => 'Associate users before uploading ID card images',
// 基础
'address_id_empty_tips' => 'Address ID cannot be empty',
'province_matching_fail_tips' => 'Province matching failed',
'city_matching_fail_tips' => 'City matching failed',
'address_exist_tips' => 'Address already exists',
],
// 用户
'user' => [
// 表单
'form_item_system_type' => 'System Type',
'form_item_system_type_tips' => 'default',
'form_item_system_type_message' => 'System type 2~60 characters',
'form_item_username' => 'Username',
'form_item_username_message' => 'User name 2~30 characters',
'form_item_nickname' => 'Nickname',
'form_item_nickname_message' => 'Nickname can be up to 30 characters',
'form_item_mobile' => 'Phone Number',
'form_item_mobile_message' => 'Mobile number format error',
'form_item_email' => 'E-mail',
'form_item_email_message' => 'Email format error',
'form_item_alipay_openid' => 'Alipay openid',
'form_item_alipay_openid_message' => 'Please fill in Alipay openid',
'form_item_baidu_openid' => 'Baidu openid',
'form_item_baidu_openid_message' => 'Please fill in Baidu openid',
'form_item_toutiao_openid' => 'Toutiao openid',
'form_item_toutiao_openid_message' => 'Please fill in the header openid',
'form_item_toutiao_unionid' => 'Toutiao unionid',
'form_item_toutiao_unionid_message' => 'Please fill in the headline unionid',
'form_item_qq_openid' => 'QQopenid',
'form_item_qq_openid_message' => 'Please fill in QQ openid',
'form_item_qq_unionid' => 'QQunionid',
'form_item_qq_unionid_message' => 'Please fill in QQuinonid',
'form_item_weixin_openid' => 'WeChat openid',
'form_item_weixin_openid_message' => 'Please fill in WeChat openid',
'form_item_weixin_unionid' => 'WeChat unionid',
'form_item_weixin_unionid_message' => 'Please fill in WeChat unionid',
'form_item_web_weixin_openid' => 'WeChat webopenid',
'form_item_web_weixin_openid_message' => 'Please fill in WeChat webopenid',
'form_item_kuaishou_openid' => 'Kwai openid',
'form_item_kuaishou_openid_message' => 'Please fill in the Kwai openid',
'form_item_province' => 'Province',
'form_item_province_message' => 'Maximum 60 characters in the province',
'form_item_city' => 'City',
'form_item_city_message' => 'Maximum 60 characters in the city',
'form_item_county' => 'District/County',
'form_item_county_message' => '60 characters at most in the district/county',
'form_item_address' => 'Detail Address',
'form_item_address_message' => 'Detail Address format is up to 80 characters',
'form_item_integral' => 'Valid Integral',
'form_item_integral_message' => 'Please enter valid points',
'form_item_locking_integral' => 'Lock Integral',
'form_item_locking_integral_message' => 'Please enter locked points',
'form_item_birthday' => 'Birthday',
'form_item_birthday_message' => 'Incorrect birthday format',
'form_item_referrer' => 'Invite User ID',
'form_item_referrer_message' => 'Please enter the invitation user ID',
'form_item_pwd' => 'Login Password',
'form_item_pwd_tips' => 'Enter to change the password',
'form_item_pwd_message' => 'Login password format is between 6 and 18 characters',
// 保存
'save_admin_info_error_tips' => 'The current operation administrator information is incorrect',
'save_user_already_exist_tips' => 'User already exists[{$var}]',
'save_gender_range_error_tips' => 'The gender value range is incorrect',
'save_status_range_error_tips' => 'The status value range is incorrect',
'save_user_info_no_exist_tips' => 'User information does not exist',
'save_nickname_format_error_tips' => 'Nickname is between 2 and 16 characters',
// 基础
'user_no_exist_tips' => 'The user does not exist or has been deleted',
'user_status_error_tips' => 'Incorrect user status',
'admin_operate_name' => 'Administrator Action',
'user_not_audit_tips' => 'User waiting for approval',
'user_register_success_no_login_tips' => 'Registration succeeded. Please log in to the login page',
'mobile_already_exist_tips' => 'Mobile number already exists',
'email_already_exist_tips' => 'Email already exists',
'username_format_error_tips' => 'The user name format is 2~18 characters with alphanumeric underscore',
'login_email_send_title' => 'User Login',
'register_email_send_title' => 'User Register',
'forget_pwd_email_send_title' => 'Password Recovery',
'mobile_or_email_format_error_tips' => 'Incorrect format of mobile phone/email',
'mobile_already_bind_account_tips' => 'The phone has been bound to another account',
'mobile_empty_tips' => 'Mobile phone number cannot be empty',
'mobile_current_mobile_identical_tips' => 'Please use a new mobile number',
'account_already_exist_tips' => 'Account already exists',
'user_openid_empty_tips' => 'User openid cannot be empty',
'token_empty_tips' => 'Token cannot be empty',
],
// 仓库商品
'warehousegoods' => [
// 表单
'add_goods_title' => 'Goods Add',
'form_item_warehouseg_placeholder' => 'Warehouse...',
'form_item_warehouseg_message' => 'Please select a warehouse',
'form_item_inventory_message' => 'Inventory quantity 0~100000000',
// 保存
'save_inventory_data_error_tips' => 'Incorrect inventory data',
'save_md5_key_data_error_tips' => 'The inventory unique value is incorrect',
'save_spec_data_error_tips' => 'Incorrect inventory specification',
'save_inventory_spec_insert_fail_tips' => 'Failed to add specification inventory',
'save_warehouse_goods_update_fail_tips' => 'Inventory item update failed',
// 基础
'row_delete_fail_tips' => '{:index} deletion failed',
'warehouse_id_empty_tips' => 'The warehouse ID is incorrect',
'order_warehouse_id_empty_tips' => 'The order warehouse ID is incorrect',
'goods_spec_sync_inventory_fail_tips' => 'The order warehouse ID is incorrect',
'goods_sync_inventory_fail_tips' => 'Product inventory synchronization failed',
'goods_spec_inventory_not_enough_tips' => 'Warehouse goods specification inventory is insufficient',
'goods_spec_inventory_dec_fail_tips' => 'Failed to deduct inventory of warehouse goods specification',
'goods_inventory_not_enough_tips' => 'Insufficient inventory of warehouse goods',
'goods_inventory_dec_fail_tips' => 'Failed to deduct the inventory of warehouse goods',
'goods_spec_inventory_inc_fail_tips' => 'Rollback of warehouse goods specification inventory failed',
'goods_inventory_inc_fail_tips' => 'Failed to roll back the inventory of warehouse goods',
],
// 仓库商品
'warehouse' => [
// 表单
'form_item_name' => 'Full Name',
'form_item_name_message' => 'Name format is between 2 and 30 characters',
'form_item_alias' => 'Alias',
'form_item_alias_message' => 'Alias format can be up to 16 characters',
'form_item_level' => 'Weight',
'form_item_level_tips' => 'The higher the weight value, the higher the weight',
'form_item_level_message' => 'Please enter a valid weight value',
'form_item_contacts_name' => 'Contacts Name',
'form_item_contacts_name_message' => 'Contact format is between 2 and 16 characters',
'form_item_contacts_tel' => 'Contact Tel',
'form_item_contacts_tel_message' => 'Please fill in the contact number',
'form_item_address' => 'Detail Address',
'form_item_address_message' => 'Address format is between 1 and 80 characters',
// 基础
'warehouse_not_enable_name' => 'NotEnabled',
'warehouse_already_delete_name' => 'Deleted',
],
],
// -------------------- 公共 --------------------
@ -2238,7 +2580,7 @@ return [
'tips' => 'Please fill in the application private key',
],
'home_index_floor_goods_order_by_type' => [
'name' => 'Home floor commodity sorting type',
'name' => 'Home floor goods sorting type',
'desc' => 'Default synthesis',
'tips' => 'Please select the sort type of goods on the home floor',
],
@ -2293,7 +2635,7 @@ return [
'tips' => 'Please fill in the correct css/js static file cdn domain name',
],
'home_index_floor_goods_max_count' => [
'name' => 'Home floor commodity quantity',
'name' => 'Home floor goods quantity',
'desc' => 'Default 8',
'tips' => 'Please fill in the quantity of goods on the first floor',
],
@ -2528,9 +2870,9 @@ return [
'tips' => 'Please select whether to open online customer service',
],
'home_index_floor_left_goods_category_max_count' => [
'name' => 'Number of secondary commodity categories on the left side of the first floor',
'name' => 'Number of secondary goods categories on the left side of the first floor',
'desc' => 'Default 6',
'tips' => 'Please fill in the secondary commodity classification quantity on the left side of the first floor',
'tips' => 'Please fill in the secondary goods classification quantity on the left side of the first floor',
],
'home_order_aftersale_return_launch_day' => [
'name' => 'After sales time limit can be initiated after order completion',
@ -2763,14 +3105,14 @@ return [
'tips' => 'Please select the home floor data mode type',
],
'home_index_floor_manual_mode_goods' => [
'name' => 'Home floor commodity configuration',
'name' => 'Home floor goods configuration',
'desc' => 'Custom add item',
'tips' => 'Please select the commodity configuration of the first floor',
'tips' => 'Please select the goods configuration of the first floor',
],
'home_index_floor_left_top_category' => [
'name' => 'Second level commodity classification on the left side of the home floor',
'name' => 'Second level goods classification on the left side of the home floor',
'desc' => 'Classification under floor (drop-down multiple selection)',
'tips' => 'Please fill in the second level commodity classification on the left side of the home floor',
'tips' => 'Please fill in the second level goods classification on the left side of the home floor',
],
'home_navigation_main_quick_status' => [
'name' => 'Quick navigation status',
@ -2790,7 +3132,7 @@ return [
'home_index_banner_left_status' => [
'name' => 'Commodity classification on the left of home page rotation',
'desc' => 'Default on',
'tips' => 'Please select the commodity classification on the left side of the homepage rotation',
'tips' => 'Please select the goods classification on the left side of the homepage rotation',
],
'home_index_banner_right_status' => [
'name' => 'Home page rotation right aggregate content',

View File

@ -202,6 +202,7 @@ return [
'plugins_control_tips' => '应用控制器有误',
'plugins_action_tips' => '应用操作方法有误',
'plugins_use_no_power_tips' => '无权限使用该插件',
'plugins_no_data_tips' => '无插件数据',
'map_coordinate_error' => '坐标有误',
'no_config_data_tips' => '未配置数据',
'config_empty_tips' => '配置为空',
@ -243,9 +244,31 @@ return [
'order_status_not_can_operate_tips' => '订单状态不可操作',
'data_status_not_can_operate_tips' => '数据状态不可操作',
'plugins_config_error_tips' => '插件配置有误',
// 商店
'operate_frequent_tips' => '操作频繁,请稍后再试!',
'images_format_error_tips' => '图片有误,请换一张!',
// 商店绑定
'store_bind_account_name' => '绑定ShopXO商店账户',
'store_bind_account_tips' => '如已绑定、请到商城后台左侧菜单工具下面清除缓存再尝试访问!',
'store_account_not_bind_tips' => '请先绑定应用商店帐号',
'store_check_update_name' => '检查更新',
'store_bind_accounts_name' => '绑定ShopXO商店账户',
'store_bind_accounts_tips' => '绑定ShopXO应用商店帐号、获取插件最新版本信息、在线安装及更新',
'store_bind_authorized_subject_name' => '授权主体',
'store_content_error_tips' => '商店连接失败',
'store_respond_data_error_tips' => '商店返回数据有误',
'store_respond_data_invalid_tips' => '商店返回数据无效',
'store_respond_empty_tips' => '商店返回无对应数据、请稍后再试!',
'store_respond_data_empty_tips' => '商店返回异常错误、请稍后再试!',
'store_respond_result_tips' => '商店返回',
// 商店绑定表单
'store_bind_form_accounts' => '账号',
'store_bind_form_accounts_placeholder' => '用户名/手机/邮箱',
'store_bind_form_accounts_message' => '账号格式1~30个字符',
'store_bind_form_password' => '密码',
'store_bind_form_password_placeholder' => '登录密码',
'store_bind_form_password_message' => '登录密码格式6~30个字符',
'store_bind_form_regster_name' => '未有账号,去注册',
'store_bind_form_tips' => '一个账号支持绑定多台ShopXO商城',
// 常用
'fullscreen_open_title' => '开启全屏',
'fullscreen_exit_title' => '退出全屏',
@ -985,7 +1008,6 @@ return [
'form_item_menu_no_data_tips' => '无菜单数据',
'form_item_plugins' => '插件权限',
'form_item_plugins_tips' => '插件还需在当前菜单权限中勾选[ 应用中心 -> 应用管理+应用调用管理 ]权限',
'form_item_plugins_no_data_tips' => '无插件数据',
// 保存操作
'save_role_already_exist_tips' => '角色已存在[{$var}]',
'save_super_role_not_edit_tips' => '超级管理员角色不可编辑',
@ -1092,7 +1114,6 @@ return [
'base_config_replace_fail_tips' => '基础配置替换失败',
'new_config_file_update_fail_tips' => '新应用配置文件更新失败',
'liveplayer_config_fail_tips' => '直播配置失败',
'plugins_no_data_tips' => '无插件数据',
],
// 手机端用户
'appminiuser' => [
@ -1844,7 +1865,6 @@ return [
'file_no_power_tips' => '没操作权限',
'pay_respond_file_no_exist_tips' => '支付返回入口文件不存在,请联系管理员处理',
'pay_notify_file_no_exist_tips' => '支付通知入口文件不存在,请联系管理员处理',
'no_plugins_data_tips' => '无插件数据',
],
// 支付请求日志
'payrequestlog' => [
@ -1934,10 +1954,332 @@ return [
'plugins_call_config_error_tips' => '应用配置信息有误',
'plugins_event_undefined_tips' => '应用事件未定义',
'plugins_event_action_undefined_tips' => '应用事件方法未定义',
'plugins_no_data_tips' => '无插件数据',
'plugins_new_version_update_tips' => '({:plugins} v{:version})插件有新版本待更新',
'plugins_no_update_tips' => '无需要更新的插件',
],
// 插件主题更新服务
'pluginsupgrade' => [
'package_no_exist_tips' => '软件包不存在、请重新更新',
'terminal_not_appoint_error_tips' => '未指定终端类型',
'plugins_type_undefined_tips' => '插件操作类型未定义',
'download_url_empty_tips' => '下载地址为空',
'plugins_download_fail_tips' => '插件下载失败',
'plugins_config_error_tips' => '应用插件配置信息有误',
'payment_config_error_tips' => '支付插件配置信息有误',
'plugins_identification_error_tips' => '插件标识有误',
'update_type_error_tps' => '更新类型有误',
'operate_key_error_tips' => '操作key有误',
],
// 快捷导航
'quicknav' => [
// 表单
'form_item_name' => '名称',
'form_item_name_message' => '名称格式2~60个字符',
'form_item_images_url' => '导航图标',
],
// 地区
'region' => [
// 表单
'form_item_id' => '唯一编号',
'form_item_id_tips' => [
'1. 留空则系统自动生成',
'2. 不要随意修改、避免数据错乱',
],
'form_item_id_message' => '请输入唯一编号',
'form_item_name' => '名称',
'form_item_name_message' => '名称格式2~16个字符',
'form_item_lng' => '经度',
'form_item_lng_message' => '请填写经度',
'form_item_lat' => '纬度',
'form_item_lat_message' => '请填写纬度',
'form_item_letters' => '首字母',
'form_item_letters_message' => '请填写首字母',
// 基础
'region_code_search_empty_tips' => '请输入地区编号',
'region_no_data_tips' => '无相关地区',
],
// 资源
'resources' => [
// 保存
'save_attachment_title_tips' => '名称有误',
'save_attachment_original_tips' => '原名有误',
'save_attachment_path_type_tips' => '路径标记有误',
'save_attachment_url_tips' => '地址有误',
'save_attachment_size_tips' => '文件大小有误',
'save_attachment_ext_tips' => '扩展名有误',
'save_attachment_hash_tips' => 'hash值有误',
// 基础
'delete_no_power_tips' => '文件没有删除权限',
'sync_file_to_db_tips' => '总数[{:count}], 成功[{:success}], 失败[{:error}]',
],
// 安全
'safety' => [
// 表单
'form_item_email' => '电子邮箱',
'form_item_email_message' => '电子邮箱格式错误',
'form_item_mobile' => '手机号码',
'form_item_mobile_message' => '手机号码格式错误',
'form_item_current_password' => '当前密码',
'form_item_current_password_message' => '当前密码格式6~18个字符之间',
'form_item_new_password' => '新密码',
'form_item_new_password_message' => '新密码格式格式6~18个字符之间',
'form_item_confirm_password' => '确认密码',
'form_item_confirm_password_message' => '确认密码格式6~18个字符之间与新密码一致',
// 基础
'current_password_error_tips' => '当前密码错误',
'confirm_new_password_atypism_tips' => '确认密码与新密码不一致',
'mobile_already_exist_tips' => '手机号码已存在',
'email_already_exist_tips' => '电子邮箱已存在',
'accounts_no_exist_tips' => '账户不存在',
'accounts_emptyr_tips' => '账户不能为空',
'accounts_type_error_tips' => '账户类型有误',
'send_verify_email_title' => '电子邮箱绑定',
'accounts_logout_refuse_msg' => '存在{:count}个订单未完成',
],
// 筛选价格
'screeningprice' => [
// 表单
'form_item_name' => '名称',
'form_item_name_message' => '名称格式2~16个字符',
'form_item_min_price' => '最小价格',
'form_item_min_price_message' => '最小价格有误',
'form_item_max_price' => '最大价格',
'form_item_max_price_message' => '最大价格有误',
],
// 搜索
'search' => [
'search_breadcrumb_result_last_text' => '搜索结果',
],
// 站点配置
'site' => [
'redis_extend_no_install_tips' => '请先安装redis扩展',
'redis_connect_success_tips' => 'redis连接成功',
'redis_connect_fail_tips' => 'redis连接失败',
],
// 轮播
'slide' => [
// 表单
'form_item_name' => '名称',
'form_item_name_message' => '名称格式2~60个字符',
'form_item_images_url' => '轮播图片',
'form_item_images_url_tips' => [
'1. PC端建议尺寸1920*480px',
'2. 手机端建议尺寸1200*360px',
],
],
// sql控制台
'sqlconsole' => [
// 表单
'form_sql_placeholder' => 'SQL语句',
'form_sql_message' => '需要执行的SQL语句不能为空',
'form_dev_tips' => '如需要执行SQL 语句,请在[ config/shopxo.php ]文件中[ is_develop ]值改为[ true ]开启开发者模式。',
// 基础
'implement_fail_tips' => 'sql运行失败[{:failure}]条',
'implement_success_tips' => 'sql运行成功[success: {:success}, failure: {:failure}]',
],
// 统计
'statistical' => [
// 时间区间
'time_section_day_3_name' => '近3天',
'time_section_day_7_name' => '近7天',
'time_section_day_15_name' => '近15天',
'time_section_day_30_name' => '近30天',
'time_section_day_180_name' => '近半年',
'time_section_day_365_name' => '近1年',
'time_section_this_month_name' => '当月',
'time_section_last_month_name' => '上月',
'time_section_this_year_name' => '今年',
'time_section_last_year_name' => '去年',
// 基础
'stats_total_name' => '总量',
'stats_type_empty_tips' => '类型为空',
'stats_type_error_tips' => '类型有误',
'stats_time_start_tips' => '开始时间不能为空',
'stats_time_end_tips' => '结束时间不能为空',
'stats_time_error_tips' => '开始时间不能小于结束时间',
],
// 系统更新
'systemupgrade' => [
'system_package_no_exist_tips' => '系统包不存在、请重新下载',
'update_package_no_exist_tips' => '升级包不存在、请重新下载',
'package_download_fail_tips' => '包下载失败',
],
// 主题
'theme' => [
'view_dir_no_power_tips' => '视图目录没权限',
'static_dir_no_power_tips' => '资源目录没权限',
'package_invalid_tips' => '无效的主题包',
'template_id_error_tips' => '模板id有误',
'theme_name_error_tips' => '主题名称有误',
'system_theme_not_delete_tips' => '系统模板不能删除',
'current_use_theme_error_tips' => '不能删除正在使用的主题',
'theme_copy_view_fail_tips' => '视图',
'theme_copy_static_fail_tips' => '静态文件',
'theme_new_config_error_tips' => '新配置文件有误',
'theme_new_config_update_fail_tips' => '新应用配置文件更新失败',
'config_file_no_exist_tips' => '主题配置文件不存在',
'config_error_tips' => '主题配置信息有误',
],
// 附件上传
'ueditor' => [
'request_action_error_tips' => '请求action有误',
],
// 用户地址
'useraddress' => [
// 表单
'form_item_user_id' => '用户id',
'form_item_user_id_message' => '请填写用户id',
'form_item_name' => '姓名',
'form_item_name_message' => '姓名格式2~16个字符之间',
'form_item_alias' => '别名',
'form_item_alias_message' => '别名格式最多16个字符',
'form_item_tel' => '电话',
'form_item_tel_message' => '电话格式有误',
'form_item_address' => '详细地址',
'form_item_address_message' => '详细地址格式1~80个字符之间',
'form_item_idcard_name' => '身份证姓名',
'form_item_idcard_name_tips' => '选填,请务必与上传的身份证件姓名保持一致',
'form_item_idcard_name_message' => '身份证姓名格式最多16个字符',
'form_item_idcard_number' => '身份证号码',
'form_item_idcard_number_tips' => '选填,请务必与上传的身份证件号码保持一致',
'form_item_idcard_number_message' => '身份证号码格式最多18个字符',
'form_item_idcard_images' => '身份证照片',
'form_item_idcard_images_tips' => '选传,请使用身份证原件拍摄,图片要清晰',
'form_item_idcard_front_button_name' => '上传人像面图片',
'form_item_idcard_back_button_name' => '上传国微面图片',
'form_item_idcard_no_user_tips' => '先关联用户后再上传身份证图片',
// 基础
'address_id_empty_tips' => '地址id不能为空',
'province_matching_fail_tips' => '省匹配失败',
'city_matching_fail_tips' => '市匹配失败',
'address_exist_tips' => '地址已存在',
],
// 用户
'user' => [
// 表单
'form_item_system_type' => '系统类型',
'form_item_system_type_tips' => '默认 default',
'form_item_system_type_message' => '系统类型2~60字符',
'form_item_username' => '用户名',
'form_item_username_message' => '用户名2~30个字符',
'form_item_nickname' => '昵称',
'form_item_nickname_message' => '昵称最多30个字符',
'form_item_mobile' => '手机号码',
'form_item_mobile_message' => '手机号码格式错误',
'form_item_email' => '电子邮箱',
'form_item_email_message' => '电子邮箱格式错误',
'form_item_alipay_openid' => '支付宝openid',
'form_item_alipay_openid_message' => '请填写支付宝openid',
'form_item_baidu_openid' => '百度openid',
'form_item_baidu_openid_message' => '请填写百度openid',
'form_item_toutiao_openid' => '头条openid',
'form_item_toutiao_openid_message' => '请填写头条openid',
'form_item_toutiao_unionid' => '头条unionid',
'form_item_toutiao_unionid_message' => '请填写头条unionid',
'form_item_qq_openid' => 'QQopenid',
'form_item_qq_openid_message' => '请填写QQopenid',
'form_item_qq_unionid' => 'QQunionid',
'form_item_qq_unionid_message' => '请填写QQunionid',
'form_item_weixin_openid' => '微信openid',
'form_item_weixin_openid_message' => '请填写微信openid',
'form_item_weixin_unionid' => '微信unionid',
'form_item_weixin_unionid_message' => '请填写微信unionid',
'form_item_web_weixin_openid' => '微信webopenid',
'form_item_web_weixin_openid_message' => '请填写微信webopenid',
'form_item_kuaishou_openid' => '快手openid',
'form_item_kuaishou_openid_message' => '请填写快手openid',
'form_item_province' => '所在省',
'form_item_province_message' => '所在省最多60个字符',
'form_item_city' => '所在市',
'form_item_city_message' => '所在市最多60个字符',
'form_item_county' => '所在区/县',
'form_item_county_message' => '所在区/县最多60个字符',
'form_item_address' => '详细地址',
'form_item_address_message' => '地址格式最多80个字符',
'form_item_integral' => '有效积分',
'form_item_integral_message' => '请输入有效积分',
'form_item_locking_integral' => '锁定积分',
'form_item_locking_integral_message' => '请输入锁定积分',
'form_item_birthday' => '生日',
'form_item_birthday_message' => '生日格式有误',
'form_item_referrer' => '邀请用户ID',
'form_item_referrer_message' => '请输入邀请用户ID',
'form_item_pwd' => '登录密码',
'form_item_pwd_tips' => '输入则修改密码',
'form_item_pwd_message' => '登录密码格式6~18个字符之间',
// 保存
'save_admin_info_error_tips' => '当前操作管理员信息有误',
'save_user_already_exist_tips' => '用户已存在[{$var}]',
'save_gender_range_error_tips' => '性别值范围不正确',
'save_status_range_error_tips' => '状态值范围不正确',
'save_user_info_no_exist_tips' => '用户信息不存在',
'save_nickname_format_error_tips' => '昵称2~16个字符之间',
// 基础
'user_no_exist_tips' => '用户不存在或已删除',
'user_status_error_tips' => '用户状态有误',
'admin_operate_name' => '管理员操作',
'user_not_audit_tips' => '用户等待审核中',
'user_register_success_no_login_tips' => '注册成功,请到登录页面登录帐号',
'mobile_already_exist_tips' => '手机号码已存在',
'email_already_exist_tips' => '电子邮箱已存在',
'username_format_error_tips' => '用户名格式由字母数字下划线2~18个字符',
'login_email_send_title' => '用户登录',
'register_email_send_title' => '用户注册',
'forget_pwd_email_send_title' => '密码找回',
'mobile_or_email_format_error_tips' => '手机/邮箱格式有误',
'mobile_already_bind_account_tips' => '手机已绑定其他帐号',
'mobile_empty_tips' => '手机号码不能为空',
'mobile_current_mobile_identical_tips' => '请使用新的手机号',
'account_already_exist_tips' => '账号已存在',
'user_openid_empty_tips' => '用户openid不能为空',
'token_empty_tips' => 'token不能为空',
],
// 仓库商品
'warehousegoods' => [
// 表单
'add_goods_title' => '商品添加',
'form_item_warehouseg_placeholder' => '仓库...',
'form_item_warehouseg_message' => '请选择仓库',
'form_item_inventory_message' => '库存数量0~100000000',
// 保存
'save_inventory_data_error_tips' => '库存数据有误',
'save_md5_key_data_error_tips' => '库存唯一值有误',
'save_spec_data_error_tips' => '库存规格有误',
'save_inventory_spec_insert_fail_tips' => '规格库存添加失败',
'save_warehouse_goods_update_fail_tips' => '库存商品更新失败',
// 基础
'row_delete_fail_tips' => '第{:index}删除失败',
'warehouse_id_empty_tips' => '仓库id有误',
'order_warehouse_id_empty_tips' => '订单仓库id有误',
'goods_spec_sync_inventory_fail_tips' => '商品规格库存同步失败',
'goods_sync_inventory_fail_tips' => '商品库存同步失败',
'goods_spec_inventory_not_enough_tips' => '仓库商品规格库存不足',
'goods_spec_inventory_dec_fail_tips' => '仓库商品规格库存扣减失败',
'goods_inventory_not_enough_tips' => '仓库商品库存不足',
'goods_inventory_dec_fail_tips' => '仓库商品库存扣减失败',
'goods_spec_inventory_inc_fail_tips' => '仓库商品规格库存回滚失败',
'goods_inventory_inc_fail_tips' => '仓库商品库存回滚失败',
],
// 仓库商品
'warehouse' => [
// 表单
'form_item_name' => '姓名',
'form_item_name_message' => '姓名格式2~30个字符之间',
'form_item_alias' => '别名',
'form_item_alias_message' => '别名格式最多16个字符',
'form_item_level' => '权重',
'form_item_level_tips' => '权重数值越大代表权重越高',
'form_item_level_message' => '请输入有效权重数值',
'form_item_contacts_name' => '联系人',
'form_item_contacts_name_message' => '联系人格式2~16个字符之间',
'form_item_contacts_tel' => '联系电话',
'form_item_contacts_tel_message' => '请填写联系电话',
'form_item_address' => '详细地址',
'form_item_address_message' => '地址格式1~80个字符之间',
// 基础
'warehouse_not_enable_name' => '未启用',
'warehouse_already_delete_name' => '已删除',
],
],
// -------------------- 公共 --------------------

View File

@ -839,7 +839,7 @@ class AppMiniService
return $res;
}
}
return DataReturn(MyLang('common_service.appmini.plugins_no_data_tips'), 0);
return DataReturn(MyLang('plugins_no_data_tips'), 0);
}
}
?>

View File

@ -1174,7 +1174,7 @@ php;
return $res;
}
}
return DataReturn(MyLang('common_service.payment.no_plugins_data_tips'), 0);
return DataReturn(MyLang('plugins_no_data_tips'), 0);
}
/**

View File

@ -525,7 +525,7 @@ class PluginsService
public static function PluginsUpgradeInfo($params = [])
{
// 默认返回数据
$result = DataReturn(MyLang('common_service.plugins.plugins_no_data_tips'), 0);
$result = DataReturn(MyLang('plugins_no_data_tips'), 0);
// 缓存记录
$time = 3600;

View File

@ -90,7 +90,7 @@ class PluginsUpgradeService
$res = self::DirFileData($params['key']);
if(!file_exists($res['url']))
{
return DataReturn('软件包不存在、请重新更新', -1);
return DataReturn(MyLang('common_service.pluginsupgrade.package_no_exist_tips'), -1);
}
// 根据插件类型调用安装程序
@ -115,7 +115,7 @@ class PluginsUpgradeService
case 'minitheme' :
if(empty($params['plugins_terminal']))
{
return DataReturn('未指定终端类型', -1);
return DataReturn(MyLang('common_service.pluginsupgrade.terminal_not_appoint_error_tips'), -1);
}
$params['application_name'] = $params['plugins_terminal'];
$ret = AppMiniService::ThemeUploadHandle($res['url'], $params);
@ -123,7 +123,7 @@ class PluginsUpgradeService
// 默认
default :
$ret = DataReturn('插件操作类型未定义['.$params['plugins_type'].']', -1);
$ret = DataReturn(MyLang('common_service.pluginsupgrade.plugins_type_undefined_tips').'['.$params['plugins_type'].']', -1);
}
// 移除session
@ -135,7 +135,7 @@ class PluginsUpgradeService
// 返回提示
if($ret['code'] == 0)
{
$ret['msg'] = '更新成功';
$ret['msg'] = MyLang('update_success');
}
return $ret;
}
@ -155,7 +155,7 @@ class PluginsUpgradeService
$url = MySession($key);
if(empty($url))
{
return DataReturn('下载地址为空', -1);
return DataReturn(MyLang('common_service.pluginsupgrade.download_url_empty_tips'), -1);
}
// 获取目录文件
@ -169,7 +169,7 @@ class PluginsUpgradeService
{
return DataReturn('success', 0, $key);
}
return DataReturn('插件下载失败', -1);
return DataReturn(MyLang('common_service.pluginsupgrade.plugins_download_fail_tips'), -1);
}
/**
@ -188,7 +188,7 @@ class PluginsUpgradeService
$password = MyC('common_store_password');
if(empty($accounts) || empty($password))
{
return DataReturn('请先绑定应用商店帐号', -300);
return DataReturn(MyLang('store_account_not_bind_tips'), -300);
}
// 获取信息
@ -247,7 +247,7 @@ class PluginsUpgradeService
$config = PluginsAdminService::GetPluginsConfig(self::$params['plugins_value']);
if(empty($config) || empty($config['base']))
{
return DataReturn('应用插件配置信息有误', -1);
return DataReturn(MyLang('common_service.pluginsupgrade.plugins_config_error_tips'), -1);
}
self::$params['plugins_config'] = $config;
self::$params['plugins_ver'] = $config['base']['version'];
@ -259,7 +259,7 @@ class PluginsUpgradeService
$config = PaymentService::GetPaymentConfig(self::$params['plugins_value']);
if(empty($config))
{
return DataReturn('支付插件配置信息有误', -1);
return DataReturn(MyLang('common_service.pluginsupgrade.payment_config_error_tips'), -1);
}
self::$params['plugins_config'] = $config['base'];
self::$params['plugins_ver'] = $config['base']['version'];
@ -282,7 +282,7 @@ class PluginsUpgradeService
case 'minitheme' :
if(empty(self::$params['plugins_terminal']))
{
return DataReturn('未指定终端类型', -1);
return DataReturn(MyLang('common_service.pluginsupgrade.terminal_not_appoint_error_tips'), -1);
}
self::$params['application_name'] = self::$params['plugins_terminal'];
$config = AppMiniService::MiniThemeConfig(self::$params['plugins_value'], self::$params);
@ -297,7 +297,7 @@ class PluginsUpgradeService
// 默认
default :
return DataReturn('插件操作类型未定义['.self::$params['plugins_type'].']', -1);
return DataReturn(MyLang('common_service.pluginsupgrade.plugins_type_undefined_tips').'['.self::$params['plugins_type'].']', -1);
}
return DataReturn('success', 0);
}
@ -318,12 +318,12 @@ class PluginsUpgradeService
[
'checked_type' => 'empty',
'key_name' => 'plugins_type',
'error_msg' => '更新类型有误',
'error_msg' => MyLang('common_service.pluginsupgrade.update_type_error_tps'),
],
[
'checked_type' => 'empty',
'key_name' => 'plugins_value',
'error_msg' => '插件标识有误',
'error_msg' => MyLang('common_service.pluginsupgrade.plugins_identification_error_tips'),
],
[
'checked_type' => 'in',
@ -341,7 +341,7 @@ class PluginsUpgradeService
// 下载和安装需要校验key
if(in_array($params['opt'], ['download', 'upgrade']) && empty($params['key']))
{
return DataReturn('操作key有误', -1);
return DataReturn(MyLang('common_service.pluginsupgrade.operate_key_error_tips'), -1);
}
self::$params = $params;

View File

@ -40,7 +40,7 @@ class QuickNavService
'checked_type' => 'length',
'key_name' => 'name',
'checked_data' => '2,60',
'error_msg' => '名称长度 2~60 个字符',
'error_msg' => MyLang('common_service.quicknav.form_item_name_message'),
],
[
'checked_type' => 'in',

View File

@ -137,7 +137,7 @@ class RegionService
'checked_type' => 'length',
'key_name' => 'name',
'checked_data' => '2,16',
'error_msg' => '名称格式 2~16 个字符',
'error_msg' => MyLang('common_service.region.form_item_name_message'),
],
];
$ret = ParamsChecked($params, $p);
@ -348,7 +348,7 @@ class RegionService
[
'checked_type' => 'empty',
'key_name' => 'code',
'error_msg' => '请输入地区编号',
'error_msg' => MyLang('common_service.region.region_code_search_empty_tips'),
],
];
$ret = ParamsChecked($params, $p);
@ -395,7 +395,7 @@ class RegionService
}
if(empty($result) || count(array_filter(array_values($result))) == 0)
{
return DataReturn('无相关地区', -1);
return DataReturn(MyLang('common_service.region.region_no_data_tips'), -1);
}
return DataReturn(MyLang('get_success'), 0, $result);
}

View File

@ -235,37 +235,37 @@ class ResourcesService
[
'checked_type' => 'empty',
'key_name' => 'title',
'error_msg' => '名称有误',
'error_msg' => MyLang('common_service.resources.save_attachment_title_tips'),
],
[
'checked_type' => 'empty',
'key_name' => 'original',
'error_msg' => '原名有误',
'error_msg' => MyLang('common_service.resources.save_attachment_original_tips'),
],
[
'checked_type' => 'empty',
'key_name' => 'path_type',
'error_msg' => '路径标记有误',
'error_msg' => MyLang('common_service.resources.save_attachment_path_type_tips'),
],
[
'checked_type' => 'empty',
'key_name' => 'url',
'error_msg' => '地址有误',
'error_msg' => MyLang('common_service.resources.save_attachment_url_tips'),
],
[
'checked_type' => 'isset',
'key_name' => 'size',
'error_msg' => '文件大小有误',
'error_msg' => MyLang('common_service.resources.save_attachment_size_tips'),
],
[
'checked_type' => 'isset',
'key_name' => 'ext',
'error_msg' => '扩展名有误',
'error_msg' => MyLang('common_service.resources.save_attachment_ext_tips'),
],
[
'checked_type' => 'empty',
'key_name' => 'hash',
'error_msg' => 'hash值有误',
'error_msg' => MyLang('common_service.resources.save_attachment_hash_tips'),
],
];
$ret = ParamsChecked($params, $p);
@ -433,7 +433,7 @@ class ResourcesService
$ret = DataReturn(MyLang('delete_fail'), -100);
}
} else {
$ret = DataReturn('没有删除权限', -1);
$ret = DataReturn(MyLang('common_service.resources.delete_no_power_tips'), -1);
}
} else {
if(DB::name('Attachment')->where(['id'=>$data['id']])->delete())
@ -556,7 +556,7 @@ class ResourcesService
}
}
}
return DataReturn('总数['.$count.'], 成功['.$success.'], 失败['.$error.']', 0);
return DataReturn(MyLang('common_service.resources.sync_file_to_db_tips', ['count'=>$count, 'success'=>$success, 'error'=>$errstr]), 0);
}
/**

View File

@ -38,19 +38,19 @@ class SafetyService
'checked_type' => 'length',
'checked_data' => '6,18',
'key_name' => 'my_pwd',
'error_msg' => '当前密码格式 6~18 个字符之间',
'error_msg' => MyLang('common_service.safety.form_item_current_password_message'),
],
[
'checked_type' => 'length',
'checked_data' => '6,18',
'key_name' => 'new_pwd',
'error_msg' => '新密码格式 6~18 个字符之间',
'error_msg' => MyLang('common_service.safety.form_item_new_password_message'),
],
[
'checked_type' => 'length',
'checked_data' => '6,18',
'key_name' => 'confirm_new_pwd',
'error_msg' => '确认密码格式 6~18 个字符之间,与新密码一致',
'error_msg' => MyLang('common_service.safety.form_item_confirm_password_message'),
],
[
'checked_type' => 'empty',
@ -70,13 +70,13 @@ class SafetyService
// 原密码校验
if(LoginPwdEncryption($params['my_pwd'], $user['salt']) != $user['pwd'])
{
return DataReturn('当前密码错误', -4);
return DataReturn(MyLang('common_service.safety.current_password_error_tips'), -4);
}
// 确认密码是否相等
if($params['new_pwd'] != $params['confirm_new_pwd'])
{
return DataReturn('确认密码与新密码不一致', -5);
return DataReturn(MyLang('common_service.safety.confirm_new_password_atypism_tips'), -5);
}
// 密码修改
@ -144,10 +144,10 @@ class SafetyService
$user = UserService::UserInfo($field, $accounts, 'id');
if(!empty($user))
{
$msg = ($type == 'sms') ? '手机号码已存在' : '电子邮箱已存在';
$msg = ($type == 'sms') ? MyLang('common_service.safety.mobile_already_exist_tips') : MyLang('common_service.safety.email_already_exist_tips');
return DataReturn($msg, -10);
}
return DataReturn('账户不存在', 0);
return DataReturn(MyLang('common_service.safety.accounts_no_exist_tips'), 0);
}
/**
@ -197,7 +197,7 @@ class SafetyService
[
'checked_type' => 'empty',
'key_name' => 'type',
'error_msg' => '账户类型有误',
'error_msg' => MyLang('common_service.safety.accounts_type_error_tips'),
],
[
'checked_type' => 'empty',
@ -227,11 +227,11 @@ class SafetyService
}
// 验证码基础参数
$img_verify_params = array(
'key_prefix' => 'safety',
'expire_time' => MyC('common_verify_expire_time'),
'interval_time' => MyC('common_verify_interval_time'),
);
$img_verify_params = [
'key_prefix' => 'safety',
'expire_time' => MyC('common_verify_expire_time'),
'interval_time' => MyC('common_verify_interval_time'),
];
// 是否开启图片验证码
$verify = self::IsImaVerify($params, $img_verify_params);
@ -241,11 +241,11 @@ class SafetyService
}
// 发送验证码
$verify_params = array(
'key_prefix' => md5('safety_'.$accounts),
'expire_time' => MyC('common_verify_expire_time'),
'interval_time' => MyC('common_verify_interval_time'),
);
$verify_params = [
'key_prefix' => md5('safety_'.$accounts),
'expire_time' => MyC('common_verify_expire_time'),
'interval_time' => MyC('common_verify_interval_time'),
];
$code = GetNumberCode(4);
if($params['type'] == 'sms')
{
@ -253,16 +253,14 @@ class SafetyService
$status = $obj->SendCode($accounts, $code, MyC('home_sms_user_mobile_binding'));
} else {
$obj = new \base\Email($verify_params);
$email_params = array(
'email' => $accounts,
'content' => MyC('home_email_user_email_binding'),
'title' => MyC('home_site_name').' - 电子邮箱绑定',
'code' => $code,
);
$email_params = [
'email' => $accounts,
'content' => MyC('home_email_user_email_binding'),
'title' => MyC('home_site_name').' - '.MyLang('common_service.safety.send_verify_email_title'),
'code' => $code,
];
$status = $obj->SendHtml($email_params);
}
// 状态
if($status)
{
// 清除验证码
@ -270,7 +268,6 @@ class SafetyService
{
$verify['data']->Remove();
}
return DataReturn(MyLang('send_success'), 0);
}
return DataReturn(MyLang('send_fail').'['.$obj->error.']', -100);
@ -291,7 +288,7 @@ class SafetyService
[
'checked_type' => 'empty',
'key_name' => 'type',
'error_msg' => '账户类型有误',
'error_msg' => MyLang('common_service.safety.accounts_type_error_tips'),
],
[
'checked_type' => 'empty',
@ -319,10 +316,10 @@ class SafetyService
}
// 验证码校验
$verify_params = array(
'key_prefix' => md5('safety_'.$accounts),
'expire_time' => MyC('common_verify_expire_time')
);
$verify_params = [
'key_prefix' => md5('safety_'.$accounts),
'expire_time' => MyC('common_verify_expire_time')
];
if($params['type'] == 'sms')
{
$obj = new \base\Sms($verify_params);
@ -343,7 +340,7 @@ class SafetyService
// 清除验证码
$obj->Remove();
return DataReturn('正确', 0);
return DataReturn(MyLang('check_success'), 0);
}
return DataReturn(MyLang('verify_code_error_tips'), -11);
}
@ -363,12 +360,12 @@ class SafetyService
[
'checked_type' => 'empty',
'key_name' => 'type',
'error_msg' => '账户类型有误',
'error_msg' => MyLang('common_service.safety.accounts_type_error_tips'),
],
[
'checked_type' => 'empty',
'key_name' => 'accounts',
'error_msg' => '账户不能为空',
'error_msg' => MyLang('common_service.safety.accounts_emptyr_tips'),
],
[
'checked_type' => 'empty',
@ -397,10 +394,10 @@ class SafetyService
}
// 验证码校验
$verify_params = array(
'key_prefix' => md5('safety_'.$params['accounts']),
'expire_time' => MyC('common_verify_expire_time')
);
$verify_params = [
'key_prefix' => md5('safety_'.$params['accounts']),
'expire_time' => MyC('common_verify_expire_time')
];
if($params['type'] == 'sms')
{
$obj = new \base\Sms($verify_params);
@ -421,10 +418,10 @@ class SafetyService
// 更新帐号
$field = ($params['type'] == 'sms') ? 'mobile' : 'email';
$data = array(
$field => $params['accounts'],
'upd_time' => time(),
);
$data = [
$field => $params['accounts'],
'upd_time' => time(),
];
// 更新数据库
if(Db::name('User')->where(['id'=>intval($params['user']['id'])])->update($data) !== false)
{
@ -489,7 +486,7 @@ class SafetyService
$count = Db::name('Order')->where($where)->count();
if($count > 0)
{
return DataReturn('存在'.$count.'个订单未完成', -1);
return DataReturn(MyLang('common_service.safety.accounts_logout_refuse_msg', ['count'=>$count]), -1);
}
// 账号注销

View File

@ -42,8 +42,8 @@ class ScreeningPriceService
{
foreach($data as &$v)
{
$v['is_son'] = (Db::name('ScreeningPrice')->where(['pid'=>$v['id']])->count() > 0) ? 'ok' : 'no';
$v['json'] = json_encode($v);
$v['is_son'] = (Db::name('ScreeningPrice')->where(['pid'=>$v['id']])->count() > 0) ? 'ok' : 'no';
$v['json'] = json_encode($v);
}
return DataReturn(MyLang('operate_success'), 0, $data);
}
@ -66,7 +66,7 @@ class ScreeningPriceService
'checked_type' => 'length',
'key_name' => 'name',
'checked_data' => '2,16',
'error_msg' => '名称格式 2~16 个字符',
'error_msg' => MyLang('common_service.screeningprice.form_item_name_message'),
],
];
$ret = ParamsChecked($params, $p);

View File

@ -818,7 +818,7 @@ class SearchService
$result = [
[
'type' => 0,
'name' => '首页',
'name' => MyLang('home_title'),
'url' => SystemService::HomeUrl(),
'icon' => 'am-icon-home',
],
@ -958,7 +958,7 @@ class SearchService
{
$temp_data[] = [
'type' => 0,
'name' => implode(' / ', $temp_name).'搜索结果',
'name' => implode(' / ', $temp_name).MyLang('common_service.search.search_breadcrumb_result_last_text'),
];
}

View File

@ -44,7 +44,7 @@ class SiteService
// 是否已安装redis扩展
if(!extension_loaded('redis'))
{
return DataReturn('请先安装redis扩展', -1);
return DataReturn(MyLang('common_service.site.redis_extend_no_install_tips'), -1);
}
// 捕获异常
@ -57,15 +57,15 @@ class SiteService
$redis->auth($password);
}
} catch(\Exception $e) {
return DataReturn('redis连接失败['.$e->getMessage().']', -1);
return DataReturn(MyLang('common_service.site.redis_connect_fail_tips').'['.$e->getMessage().']', -1);
}
// 检测是否连接成功
if($redis->ping())
{
return DataReturn('redis连接成功', 0);
return DataReturn(MyLang('common_service.site.redis_connect_success_tips'), 0);
}
return DataReturn('redis连接失败', -1);
return DataReturn(MyLang('common_service.site.redis_connect_fail_tips'), -1);
}
/**

View File

@ -39,7 +39,7 @@ class SlideService
'checked_type' => 'length',
'key_name' => 'name',
'checked_data' => '2,60',
'error_msg' => '名称长度 2~60 个字符',
'error_msg' => MyLang('common_service.slide.form_item_name_message'),
],
[
'checked_type' => 'in',
@ -140,7 +140,6 @@ class SlideService
{
return DataReturn(MyLang('delete_success'), 0);
}
return DataReturn(MyLang('delete_fail'), -100);
}

View File

@ -37,7 +37,7 @@ class SqlConsoleService
[
'checked_type' => 'empty',
'key_name' => 'sql',
'error_msg' => '执行SQL不能为空',
'error_msg' => MyLang('common_service.sqlconsole.form_sql_message'),
]
];
$ret = ParamsChecked($params, $p);
@ -68,13 +68,11 @@ class SqlConsoleService
}
}
}
if($failure > 0)
if($success == 0 && $failure > 0)
{
return DataReturn('sql运行失败['.$failure.']条', -1);
return DataReturn(MyLang('common_service.sqlconsole.implement_fail_tips', ['failure'=>$failure]), -1);
}
return DataReturn('sql运行成功', 0, 'sql运行成功[success: '.$success.', failure: '.$failure.']');
return DataReturn(MyLang('operate_success'), 0, MyLang('common_service.sqlconsole.implement_success_tips', ['success'=>$success, 'failure'=>$failure]));
}
}
?>

View File

@ -182,52 +182,52 @@ class StatisticalService
// 统计时间配置列表
return [
'3-day' => [
'name' => '近3天',
'name' => MyLang('common_service.statistical.time_section_day_3_name'),
'start' => date('Y-m-d H:i:s', StatisticalService::$three_time_start),
'end' => date('Y-m-d H:i:s', StatisticalService::$three_time_end),
],
'7-day' => [
'name' => '近7天',
'name' => MyLang('common_service.statistical.time_section_day_7_name'),
'start' => date('Y-m-d H:i:s', StatisticalService::$seven_time_start),
'end' => date('Y-m-d H:i:s', StatisticalService::$seven_time_end),
],
'15-day' => [
'name' => '近15天',
'name' => MyLang('common_service.statistical.time_section_day_15_name'),
'start' => date('Y-m-d H:i:s', StatisticalService::$fifteen_time_start),
'end' => date('Y-m-d H:i:s', StatisticalService::$fifteen_time_end),
],
'30-day' => [
'name' => '近30天',
'name' => MyLang('common_service.statistical.time_section_day_30_name'),
'start' => date('Y-m-d H:i:s', StatisticalService::$thirty_time_start),
'end' => date('Y-m-d H:i:s', StatisticalService::$thirty_time_end),
],
'180-day' => [
'name' => '近半年',
'name' => MyLang('common_service.statistical.time_section_day_180_name'),
'start' => date('Y-m-d H:i:s', StatisticalService::$half_year_time_start),
'end' => date('Y-m-d H:i:s', StatisticalService::$half_year_time_end),
],
'365-day' => [
'name' => '近1年',
'name' => MyLang('common_service.statistical.time_section_day_365_name'),
'start' => date('Y-m-d H:i:s', StatisticalService::$year_time_start),
'end' => date('Y-m-d H:i:s', StatisticalService::$year_time_end),
],
'this-month' => [
'name' => '当月',
'name' => MyLang('common_service.statistical.time_section_this_month_name'),
'start' => date('Y-m-d H:i:s', StatisticalService::$this_month_time_start),
'end' => date('Y-m-d H:i:s', StatisticalService::$this_month_time_end),
],
'last-month' => [
'name' => '上月',
'name' => MyLang('common_service.statistical.time_section_last_month_name'),
'start' => date('Y-m-d H:i:s', StatisticalService::$last_month_time_start),
'end' => date('Y-m-d H:i:s', StatisticalService::$last_month_time_end),
],
'this-year' => [
'name' => '今年',
'name' => MyLang('common_service.statistical.time_section_this_year_name'),
'start' => date('Y-m-d H:i:s', StatisticalService::$this_year_time_start),
'end' => date('Y-m-d H:i:s', StatisticalService::$this_year_time_end),
],
'last-year' => [
'name' => '去年',
'name' => MyLang('common_service.statistical.time_section_last_year_name'),
'start' => date('Y-m-d H:i:s', StatisticalService::$last_year_time_start),
'end' => date('Y-m-d H:i:s', StatisticalService::$last_year_time_end),
],
@ -600,7 +600,7 @@ class StatisticalService
$data[] = [
'name' => $order_status_list[$status]['name'],
'type' => ($status == 4) ? 'bar' : 'line',
'tiled' => '总量',
'tiled' => MyLang('common_service.statistical.stats_total_name'),
'data' => empty($value_arr[$status]) ? [] : $value_arr[$status],
];
}
@ -661,7 +661,7 @@ class StatisticalService
$data[] = [
'name' => $order_status_list[$status]['name'],
'type' => ($status == 4) ? 'line' : 'bar',
'tiled' => '总量',
'tiled' => MyLang('common_service.statistical.stats_total_name'),
'data' => empty($value_arr[$status]) ? [] : $value_arr[$status],
];
}
@ -780,7 +780,7 @@ class StatisticalService
$data[] = [
'name' => $payment,
'type' => 'line',
'stack' => '总量',
'stack' => MyLang('common_service.statistical.stats_total_name'),
'areaStyle' => (object) [],
'data' => empty($value_arr[$payment]) ? [] : $value_arr[$payment],
];
@ -856,7 +856,7 @@ class StatisticalService
[
'checked_type' => 'empty',
'key_name' => 'type',
'error_msg' => '类型为空',
'error_msg' => MyLang('common_service.statistical.stats_type_empty_tips'),
],
];
if(isset($params['type']) && in_array($params['type'], ['order-profit', 'order-trading', 'pay-type']))
@ -864,12 +864,12 @@ class StatisticalService
$p[] = [
'checked_type' => 'empty',
'key_name' => 'start',
'error_msg' => '开始时间不能为空',
'error_msg' => MyLang('common_service.statistical.stats_time_start_tips'),
];
$p[] = [
'checked_type' => 'empty',
'key_name' => 'end',
'error_msg' => '结束时间不能为空',
'error_msg' => MyLang('common_service.statistical.stats_time_end_tips'),
];
}
$ret = ParamsChecked($params, $p);
@ -883,7 +883,7 @@ class StatisticalService
$params['end'] = strtotime($params['end']);
if($params['end'] < $params['start'])
{
return DataReturn('开始时间不能小于结束时间', -1);
return DataReturn(MyLang('common_service.statistical.stats_time_error_tips'), -1);
}
// 根据类型处理数据
@ -920,7 +920,7 @@ class StatisticalService
break;
default :
$ret = DataReturn('类型有误', -1);
$ret = DataReturn(MyLang('common_service.statistical.stats_type_error_tips'), -1);
}
return $ret;
}

View File

@ -129,13 +129,13 @@ class StoreService
'checked_type' => 'length',
'key_name' => 'common_store_accounts',
'checked_data' => '1,30',
'error_msg' => '账号格式1~30个字符',
'error_msg' => MyLang('store_bind_form_accounts_message'),
],
[
'checked_type' => 'length',
'key_name' => 'common_store_password',
'checked_data' => '6,30',
'error_msg' => '登录密码格式6~30个字符',
'error_msg' => MyLang('store_bind_form_password_message'),
],
];
$ret = ParamsChecked($params, $p);
@ -232,7 +232,7 @@ class StoreService
$password = MyC('common_store_password');
if(empty($accounts) || empty($password))
{
return DataReturn('请先绑定应用商店帐号', -300);
return DataReturn(MyLang('store_account_not_bind_tips'), -300);
}
// 获取信息
@ -264,14 +264,13 @@ class StoreService
$password = MyC('common_store_password');
if(empty($accounts) || empty($password))
{
return DataReturn('请先绑定应用商店帐号', -300);
return DataReturn(MyLang('store_account_not_bind_tips'), -300);
}
// 获取更新信息
return self::RemoteStoreData($accounts, $password, MyConfig('shopxo.store_plugins_upgrade_info_url'), $params);
}
return DataReturn('无插件数据', 0);
return DataReturn(MyLang('plugins_no_data_tips'), 0);
}
/**
@ -287,7 +286,7 @@ class StoreService
* @param [array] $params [额外参数]
*/
public static function RemoteStoreData($accounts, $password, $url, $params = [])
{
{
// http状态验证
$key = 'cache_store_url_http_code';
$time = 600;
@ -299,7 +298,7 @@ class StoreService
}
if(!in_array($ret['data'], [200, 301, 302, 307, 308]))
{
$ret['msg'] = '商店连接失败[ '.$ret['msg'].' ]';
$ret['msg'] = MyLang('store_content_error_tips').'[ '.$ret['msg'].' ]';
return $ret;
}
@ -331,21 +330,21 @@ class StoreService
{
// 网络不通
MyCache($key, 0, $ret['data']);
$ret['msg'] = '商店连接失败[ '.$ret['msg'].' ]';
$ret['msg'] = MyLang('store_content_error_tips').'[ '.$ret['msg'].' ]';
return $ret;
}
// 数据解析
$result = json_decode($ret['data'], true);
if(empty($result))
{
return DataReturn('商店返回数据有误'.(empty($ret['data']) ? '' : '('.$ret['data'].')'), -1);
return DataReturn(MyLang('store_respond_data_error_tips').(empty($ret['data']) ? '' : '('.$ret['data'].')'), -1);
}
// 是否非数组
if(is_string($result))
{
return DataReturn('商店返回数据无效[ '.$result.' ]', -1);
return DataReturn(MyLang('store_respond_data_invalid_tips').'[ '.$result.' ]', -1);
}
// 请求成功
@ -353,12 +352,11 @@ class StoreService
{
if(empty($result['data']))
{
return DataReturn('商店返回无对应数据、请稍后再试!', -1);
return DataReturn(MyLang('store_respond_empty_tips'), -1);
}
return $result;
}
return DataReturn(empty($result['msg']) ? '商店返回异常错误、请稍后再试!' : '商店返回[ '.$result['msg'].' ]', -1);
return DataReturn(empty($result['msg']) ? MyLang('store_respond_data_empty_tips') : MyLang('store_respond_result_tips').'[ '.$result['msg'].' ]', -1);
}
}
?>

View File

@ -42,53 +42,53 @@ class SystemBaseService
// 配置信息
$config = [
// 基础
'common_site_type' => self::SiteTypeValue(),
'common_shop_notice' => MyC('common_shop_notice', null, true),
'common_site_type' => self::SiteTypeValue(),
'common_shop_notice' => MyC('common_shop_notice', null, true),
// 协议、注册协议、隐私协议、注销协议
'agreement_userregister_url' => MyUrl('index/agreement/index', ['document'=>'userregister', 'is_content'=>1]),
'agreement_userprivacy_url' => MyUrl('index/agreement/index', ['document'=>'userprivacy', 'is_content'=>1]),
'agreement_userlogout_url' => MyUrl('index/agreement/index', ['document'=>'userlogout', 'is_content'=>1]),
'agreement_userregister_url' => MyUrl('index/agreement/index', ['document'=>'userregister', 'is_content'=>1]),
'agreement_userprivacy_url' => MyUrl('index/agreement/index', ['document'=>'userprivacy', 'is_content'=>1]),
'agreement_userlogout_url' => MyUrl('index/agreement/index', ['document'=>'userlogout', 'is_content'=>1]),
// 手机端相关配置
'common_app_is_enable_search' => (int) MyC('common_app_is_enable_search', 1),
'common_app_is_enable_answer' => (int) MyC('common_app_is_enable_answer', 1),
'common_app_is_header_nav_fixed' => (int) MyC('common_app_is_header_nav_fixed', 0),
'common_app_is_online_service' => (int) MyC('common_app_is_online_service', 0),
'common_app_customer_service_tel' => MyC('common_app_customer_service_tel', null, true),
'common_app_is_enable_search' => (int) MyC('common_app_is_enable_search', 1),
'common_app_is_enable_answer' => (int) MyC('common_app_is_enable_answer', 1),
'common_app_is_header_nav_fixed' => (int) MyC('common_app_is_header_nav_fixed', 0),
'common_app_is_online_service' => (int) MyC('common_app_is_online_service', 0),
'common_app_customer_service_tel' => MyC('common_app_customer_service_tel', null, true),
// 基础-站点域名和CDN
'common_domain_host' => MyC('common_domain_host', null, true),
'common_cdn_attachment_host' => MyC('common_cdn_attachment_host', null, true),
'common_cdn_public_host' => MyC('common_cdn_public_host', null, true),
'common_domain_host' => MyC('common_domain_host', null, true),
'common_cdn_attachment_host' => MyC('common_cdn_attachment_host', null, true),
'common_cdn_public_host' => MyC('common_cdn_public_host', null, true),
// 扩展项-留言、问答
'common_is_login_answer' => (int) MyC('common_is_login_answer', 0, true),
'common_is_login_answer' => (int) MyC('common_is_login_answer', 0, true),
// 扩展项-订单
'common_order_close_limit_time' => (int) MyC('common_order_close_limit_time', 30, true),
'common_order_success_limit_time' => (int) MyC('common_order_success_limit_time', 21600, true),
'common_pay_log_order_close_limit_time' => (int) MyC('common_pay_log_order_close_limit_time', 30, true),
'common_order_close_limit_time' => (int) MyC('common_order_close_limit_time', 30, true),
'common_order_success_limit_time' => (int) MyC('common_order_success_limit_time', 21600, true),
'common_pay_log_order_close_limit_time' => (int) MyC('common_pay_log_order_close_limit_time', 30, true),
// 验证码
'common_verify_expire_time' => (int) MyC('common_verify_expire_time', 600, true),
'common_verify_interval_time' => (int) MyC('common_verify_interval_time', 60, true),
'common_img_verify_state' => (int) MyC('common_img_verify_state', 0, true),
'common_verify_expire_time' => (int) MyC('common_verify_expire_time', 600, true),
'common_verify_interval_time' => (int) MyC('common_verify_interval_time', 60, true),
'common_img_verify_state' => (int) MyC('common_img_verify_state', 0, true),
// 密码找回
'home_site_user_forgetpwd_ad_images'=> self::SiteAdConfigImagesMgerge('home_site_user_forgetpwd'),
'home_site_user_forgetpwd_ad_images' => self::SiteAdConfigImagesMgerge('home_site_user_forgetpwd'),
// 用户登录
'home_user_login_type' => MyC('home_user_login_type', [], true),
'home_user_login_img_verify_state' => (int) MyC('home_user_login_img_verify_state', 0, true),
'home_site_user_login_ad_images' => self::SiteAdConfigImagesMgerge('home_site_user_login'),
'home_user_login_type' => MyC('home_user_login_type', [], true),
'home_user_login_img_verify_state' => (int) MyC('home_user_login_img_verify_state', 0, true),
'home_site_user_login_ad_images' => self::SiteAdConfigImagesMgerge('home_site_user_login'),
// 注册
'home_user_reg_type' => MyC('home_user_reg_type', [], true),
'home_user_register_img_verify_state' => (int) MyC('home_user_register_img_verify_state', 0, true),
'common_register_is_enable_audit' => (int) MyC('common_register_is_enable_audit', 0, true),
'home_is_enable_userregister_agreement' => (int) MyC('home_is_enable_userregister_agreement', 0, true),
'home_site_user_register_bg_images' => ResourcesService::AttachmentPathViewHandle(MyC('home_site_user_register_bg_images')),
'home_user_reg_type' => MyC('home_user_reg_type', [], true),
'home_user_register_img_verify_state' => (int) MyC('home_user_register_img_verify_state', 0, true),
'common_register_is_enable_audit' => (int) MyC('common_register_is_enable_audit', 0, true),
'home_is_enable_userregister_agreement' => (int) MyC('home_is_enable_userregister_agreement', 0, true),
'home_site_user_register_bg_images' => ResourcesService::AttachmentPathViewHandle(MyC('home_site_user_register_bg_images')),
// 用户相关
'common_user_is_mandatory_bind_mobile' => (int) MyC('common_user_is_mandatory_bind_mobile', 0),
@ -96,116 +96,116 @@ class SystemBaseService
'common_user_address_platform_import_list' => MyC('common_user_address_platform_import_list', [], true),
// 站点信息
'home_site_name' => MyC('home_site_name', null, true),
'home_site_logo' => ResourcesService::AttachmentPathViewHandle(MyC('home_site_logo')),
'home_site_logo_wap' => ResourcesService::AttachmentPathViewHandle(MyC('home_site_logo_wap')),
'home_site_logo_square' => ResourcesService::AttachmentPathViewHandle(MyC('home_site_logo_square')),
'home_site_state' => (int) MyC('home_site_state', 1),
'home_site_web_home_state' => (int) MyC('home_site_web_home_state', 1),
'home_site_web_pc_state' => (int) MyC('home_site_web_pc_state', 1),
'home_site_close_reason' => MyC('home_site_close_reason', null, true),
'home_site_name' => MyC('home_site_name', null, true),
'home_site_logo' => ResourcesService::AttachmentPathViewHandle(MyC('home_site_logo')),
'home_site_logo_wap' => ResourcesService::AttachmentPathViewHandle(MyC('home_site_logo_wap')),
'home_site_logo_square' => ResourcesService::AttachmentPathViewHandle(MyC('home_site_logo_square')),
'home_site_state' => (int) MyC('home_site_state', 1),
'home_site_web_home_state' => (int) MyC('home_site_web_home_state', 1),
'home_site_web_pc_state' => (int) MyC('home_site_web_pc_state', 1),
'home_site_close_reason' => MyC('home_site_close_reason', null, true),
// 备案信息
'home_site_icp' => MyC('home_site_icp', null, true),
'home_site_security_record_name' => MyC('home_site_security_record_name', null, true),
'home_site_security_record_url' => MyC('home_site_security_record_url', null, true),
'home_site_company_license' => MyC('home_site_company_license', null, true),
'home_site_telecom_license' => MyC('home_site_telecom_license', null, true),
'home_site_icp' => MyC('home_site_icp', null, true),
'home_site_security_record_name' => MyC('home_site_security_record_name', null, true),
'home_site_security_record_url' => MyC('home_site_security_record_url', null, true),
'home_site_company_license' => MyC('home_site_company_license', null, true),
'home_site_telecom_license' => MyC('home_site_telecom_license', null, true),
// css/js版本值
'home_static_cache_version' => MyC('home_static_cache_version', null, true),
'home_static_cache_version' => MyC('home_static_cache_version', null, true),
// 底部代码
'home_footer_info' => MyC('home_footer_info', null, true),
'home_footer_info' => MyC('home_footer_info', null, true),
// 首页设置参数
'home_index_floor_data_type' => (int) MyC('home_index_floor_data_type', 0, true),
'home_index_banner_left_status' => (int) MyC('home_index_banner_left_status', 1),
'home_index_banner_right_status' => (int) MyC('home_index_banner_right_status', 1),
'home_index_floor_data_type' => (int) MyC('home_index_floor_data_type', 0, true),
'home_index_banner_left_status' => (int) MyC('home_index_banner_left_status', 1),
'home_index_banner_right_status' => (int) MyC('home_index_banner_right_status', 1),
// 搜索相关
'home_search_limit_number' => (int) MyC('home_search_limit_number', 20, true),
'home_search_is_brand' => (int) MyC('home_search_is_brand', 1),
'home_search_is_category' => (int) MyC('home_search_is_category', 1),
'home_search_is_price' => (int) MyC('home_search_is_price', 1),
'home_search_is_params' => (int) MyC('home_search_is_params', 1),
'home_search_is_spec' => (int) MyC('home_search_is_spec', 1),
'home_search_limit_number' => (int) MyC('home_search_limit_number', 20, true),
'home_search_is_brand' => (int) MyC('home_search_is_brand', 1),
'home_search_is_category' => (int) MyC('home_search_is_category', 1),
'home_search_is_price' => (int) MyC('home_search_is_price', 1),
'home_search_is_params' => (int) MyC('home_search_is_params', 1),
'home_search_is_spec' => (int) MyC('home_search_is_spec', 1),
// 站点设置-扩展-基础
'home_index_friendship_link_status' => (int) MyC('home_index_friendship_link_status', 0, true),
'home_header_top_is_home' => (int) MyC('home_header_top_is_home', 1),
'home_index_friendship_link_status' => (int) MyC('home_index_friendship_link_status', 0, true),
'home_header_top_is_home' => (int) MyC('home_header_top_is_home', 1),
// 站点设置-扩展-快捷导航
'home_navigation_main_quick_status' => (int) MyC('home_navigation_main_quick_status', 0),
'home_navigation_main_quick_name' => MyC('home_navigation_main_quick_name', '百宝箱', true),
'home_navigation_main_quick_status' => (int) MyC('home_navigation_main_quick_status', 0),
'home_navigation_main_quick_name' => MyC('home_navigation_main_quick_name', '百宝箱', true),
// 站点设置-扩展-用户地址
'home_user_address_map_status' => (int) MyC('home_user_address_map_status', 0),
'home_user_address_idcard_status' => (int) MyC('home_user_address_idcard_status', 0),
'home_extraction_address_position' => (int) MyC('home_extraction_address_position', 0),
'home_user_address_map_status' => (int) MyC('home_user_address_map_status', 0),
'home_user_address_idcard_status' => (int) MyC('home_user_address_idcard_status', 0),
'home_extraction_address_position' => (int) MyC('home_extraction_address_position', 0),
// 订单相关
'home_is_enable_order_bulk_pay' => (int) MyC('home_is_enable_order_bulk_pay', 0),
'common_order_is_booking' => (int) MyC('common_order_is_booking'),
'home_is_enable_order_bulk_pay' => (int) MyC('home_is_enable_order_bulk_pay', 0),
'common_order_is_booking' => (int) MyC('common_order_is_booking'),
// 用户中心相关
'common_user_center_notice' => MyC('common_user_center_notice', null, true),
'common_app_is_head_vice_nav' => (int) MyC('common_app_is_head_vice_nav', 0),
'common_user_center_notice' => MyC('common_user_center_notice', null, true),
'common_app_is_head_vice_nav' => (int) MyC('common_app_is_head_vice_nav', 0),
// 商品分类相关
'category_show_level' => MyC('common_show_goods_category_level', 0, true),
'category_show_level' => MyC('common_show_goods_category_level', 0, true),
// 商品相关
'common_app_is_use_mobile_detail' => (int) MyC('common_app_is_use_mobile_detail'),
'common_is_show_goods_comments' => (int) MyC('common_is_show_goods_comments', 1),
'common_is_goods_detail_show_photo' => (int) MyC('common_is_goods_detail_show_photo', 0, true),
'common_is_exhibition_mode_btn_text'=> MyC('common_is_exhibition_mode_btn_text', '立即咨询', true),
'common_app_is_use_mobile_detail' => (int) MyC('common_app_is_use_mobile_detail'),
'common_is_show_goods_comments' => (int) MyC('common_is_show_goods_comments', 1),
'common_is_goods_detail_show_photo' => (int) MyC('common_is_goods_detail_show_photo', 0, true),
'common_is_exhibition_mode_btn_text' => MyC('common_is_exhibition_mode_btn_text', '立即咨询', true),
// 地图密钥
'common_map_type' => MyC('common_map_type', 'baidu', true),
'common_baidu_map_ak' => MyC('common_baidu_map_ak', null, true),
'common_amap_map_ak' => MyC('common_amap_map_ak', null, true),
'common_amap_map_safety_ak' => MyC('common_amap_map_safety_ak', null, true),
'common_tencent_map_ak' => MyC('common_tencent_map_ak', null, true),
'common_tianditu_map_ak' => MyC('common_tianditu_map_ak', null, true),
'common_map_type' => MyC('common_map_type', 'baidu', true),
'common_baidu_map_ak' => MyC('common_baidu_map_ak', null, true),
'common_amap_map_ak' => MyC('common_amap_map_ak', null, true),
'common_amap_map_safety_ak' => MyC('common_amap_map_safety_ak', null, true),
'common_tencent_map_ak' => MyC('common_tencent_map_ak', null, true),
'common_tianditu_map_ak' => MyC('common_tianditu_map_ak', null, true),
// 商店信息
'common_customer_store_tel' => MyC('common_customer_store_tel', null, true),
'common_customer_store_email' => MyC('common_customer_store_email', null, true),
'common_customer_store_address' => MyC('common_customer_store_address', null, true),
'common_customer_store_qrcode' => ResourcesService::AttachmentPathViewHandle(MyC('common_customer_store_qrcode')),
'common_customer_store_tel' => MyC('common_customer_store_tel', null, true),
'common_customer_store_email' => MyC('common_customer_store_email', null, true),
'common_customer_store_address' => MyC('common_customer_store_address', null, true),
'common_customer_store_qrcode' => ResourcesService::AttachmentPathViewHandle(MyC('common_customer_store_qrcode')),
// SEO信息
'home_seo_site_title' => MyC('home_seo_site_title', null, true),
'home_seo_site_keywords' => MyC('home_seo_site_keywords', null, true),
'home_seo_site_description' => MyC('home_seo_site_description', null, true),
'home_seo_site_title' => MyC('home_seo_site_title', null, true),
'home_seo_site_keywords' => MyC('home_seo_site_keywords', null, true),
'home_seo_site_description' => MyC('home_seo_site_description', null, true),
// 小程序基础信息
// 微信小程序
'common_app_mini_weixin_title' => MyC('common_app_mini_weixin_title', null, true),
'common_app_mini_weixin_describe' => MyC('common_app_mini_weixin_describe', null, true),
'common_app_mini_weixin_title' => MyC('common_app_mini_weixin_title', null, true),
'common_app_mini_weixin_describe' => MyC('common_app_mini_weixin_describe', null, true),
// 支付宝小程序
'common_app_mini_alipay_title' => MyC('common_app_mini_alipay_title', null, true),
'common_app_mini_alipay_describe' => MyC('common_app_mini_alipay_describe', null, true),
'common_app_mini_alipay_title' => MyC('common_app_mini_alipay_title', null, true),
'common_app_mini_alipay_describe' => MyC('common_app_mini_alipay_describe', null, true),
// 百度小程序
'common_app_mini_baidu_title' => MyC('common_app_mini_baidu_title', null, true),
'common_app_mini_baidu_describe' => MyC('common_app_mini_baidu_describe', null, true),
'common_app_mini_baidu_title' => MyC('common_app_mini_baidu_title', null, true),
'common_app_mini_baidu_describe' => MyC('common_app_mini_baidu_describe', null, true),
// 头条小程序
'common_app_mini_toutiao_title' => MyC('common_app_mini_toutiao_title', null, true),
'common_app_mini_toutiao_describe' => MyC('common_app_mini_toutiao_describe', null, true),
'common_app_mini_toutiao_title' => MyC('common_app_mini_toutiao_title', null, true),
'common_app_mini_toutiao_describe' => MyC('common_app_mini_toutiao_describe', null, true),
// QQ小程序
'common_app_mini_qq_title' => MyC('common_app_mini_qq_title', null, true),
'common_app_mini_qq_describe' => MyC('common_app_mini_qq_describe', null, true),
'common_app_mini_qq_title' => MyC('common_app_mini_qq_title', null, true),
'common_app_mini_qq_describe' => MyC('common_app_mini_qq_describe', null, true),
// 快手小程序
'common_app_mini_kuaishou_title' => MyC('common_app_mini_kuaishou_title', null, true),
'common_app_mini_kuaishou_describe' => MyC('common_app_mini_kuaishou_describe', null, true),
'common_app_mini_kuaishou_title' => MyC('common_app_mini_kuaishou_title', null, true),
'common_app_mini_kuaishou_describe' => MyC('common_app_mini_kuaishou_describe', null, true),
];
// 支付宝小程序在线客服
if(APPLICATION_CLIENT_TYPE == 'alipay')
{
$config['common_app_mini_alipay_tnt_inst_id'] = MyC('common_app_mini_alipay_tnt_inst_id', null, true);
$config['common_app_mini_alipay_scene'] = MyC('common_app_mini_alipay_scene', null, true);
$config['common_app_mini_alipay_tnt_inst_id'] = MyC('common_app_mini_alipay_tnt_inst_id', null, true);
$config['common_app_mini_alipay_scene'] = MyC('common_app_mini_alipay_scene', null, true);
}
// 数据集合

View File

@ -93,14 +93,14 @@ class SystemUpgradeService
$system_url = MySession(self::$package_system_dir_key);
if(empty($system_url) || !file_exists($system_url))
{
return DataReturn('系统包不存在、请重新下载', -1);
return DataReturn(MyLang('common_service.systemupgrade.system_package_no_exist_tips'), -1);
}
// 升级包
$upgrade_url = MySession(self::$package_upgrade_dir_key);
if(empty($upgrade_url) || !file_exists($upgrade_url))
{
return DataReturn('升级包不存在、请重新下载', -1);
return DataReturn(MyLang('common_service.systemupgrade.update_package_no_exist_tips'), -1);
}
// 系统包处理
@ -276,7 +276,7 @@ class SystemUpgradeService
MySession(self::SaveDirPathUrl($params['opt']), $res['url']);
return DataReturn('success', 0);
}
return DataReturn('包下载失败', -1);
return DataReturn(MyLang('common_service.systemupgrade.package_download_fail_tips'), -1);
}
/**
@ -313,7 +313,7 @@ class SystemUpgradeService
$password = MyC('common_store_password');
if(empty($accounts) || empty($password))
{
return DataReturn('请先绑定应用商店帐号', -300);
return DataReturn(MyLang('store_account_not_bind_tips'), -300);
}
// 获取信息

View File

@ -142,11 +142,11 @@ class ThemeService
// 目录是否有权限
if(!is_writable(ROOT.self::$html_path))
{
return DataReturn('视图目录没权限['.ROOT.self::$html_path.']', -10);
return DataReturn(MyLang('common_service.theme.view_dir_no_power_tips').'['.ROOT.self::$html_path.']', -10);
}
if(!is_writable(ROOT.self::$static_path))
{
return DataReturn('资源目录没权限['.self::$static_path.']', -10);
return DataReturn(MyLang('common_service.theme.static_dir_no_power_tips').'['.self::$static_path.']', -10);
}
// 资源目录
@ -236,7 +236,7 @@ class ThemeService
// 未匹配成功一个文件则认为插件包无效
if($success <= 0)
{
return DataReturn('无效的主题包', -1);
return DataReturn(MyLang('common_service.theme.package_invalid_tips'), -1);
}
return DataReturn(MyLang('install_success'), 0);
}
@ -256,7 +256,7 @@ class ThemeService
[
'checked_type' => 'empty',
'key_name' => 'id',
'error_msg' => '模板id有误',
'error_msg' => MyLang('common_service.theme.template_id_error_tips'),
],
];
$ret = ParamsChecked($params, $p);
@ -269,19 +269,19 @@ class ThemeService
$id = htmlentities(str_replace(array('.', '/', '\\', ':'), '', strip_tags($params['id'])));
if(empty($id))
{
return DataReturn('主题名称有误', -1);
return DataReturn(MyLang('common_service.theme.theme_name_error_tips'), -1);
}
// default不能删除
if($id == 'default')
{
return DataReturn('系统模板不能删除', -2);
return DataReturn(MyLang('common_service.theme.system_theme_not_delete_tips'), -2);
}
// 不能删除正在使用的主题
if(self::DefaultTheme() == $id)
{
return DataReturn('不能删除正在使用的主题', -2);
return DataReturn(MyLang('common_service.theme.current_use_theme_error_tips'), -2);
}
// 开始删除主题
@ -308,7 +308,7 @@ class ThemeService
[
'checked_type' => 'empty',
'key_name' => 'id',
'error_msg' => '模板id有误',
'error_msg' => MyLang('common_service.theme.template_id_error_tips'),
],
];
$ret = ParamsChecked($params, $p);
@ -327,7 +327,7 @@ class ThemeService
$theme = htmlentities(str_replace(array('.', '/', '\\', ':'), '', strip_tags($params['id'])));
if(empty($theme))
{
return DataReturn('主题名称有误', -1);
return DataReturn(MyLang('common_service.theme.theme_name_error_tips'), -1);
}
// 获取配置信息
@ -348,7 +348,7 @@ class ThemeService
{
if(\base\FileUtil::CopyDir($old_dir, $new_dir.DS.'_html_') != true)
{
return DataReturn(MyLang('project_copy_fail_tips').'[视图]', -2);
return DataReturn(MyLang('project_copy_fail_tips').'['.MyLang('common_service.theme.theme_copy_view_fail_tips').']', -2);
}
}
@ -358,7 +358,7 @@ class ThemeService
{
if(\base\FileUtil::CopyDir($old_dir, $new_dir.DS.'_static_') != true)
{
return DataReturn(MyLang('project_copy_fail_tips').'[静态文件]', -2);
return DataReturn(MyLang('project_copy_fail_tips').'['.MyLang('common_service.theme.theme_copy_static_fail_tips').']', -2);
}
}
@ -366,7 +366,7 @@ class ThemeService
$new_config_file = $new_dir.DS.'_html_'.DS.'config.json';
if(!file_exists($new_config_file))
{
return DataReturn('新配置文件有误', -10);
return DataReturn(MyLang('common_service.theme.theme_new_config_error_tips'), -10);
}
if(empty($config['history']))
{
@ -380,7 +380,7 @@ class ThemeService
];
if(@file_put_contents($new_config_file, JsonFormat($config)) === false)
{
return DataReturn('新应用配置文件更新失败', -11);
return DataReturn(MyLang('common_service.theme.theme_new_config_update_fail_tips'), -11);
}
// 生成压缩包
@ -417,12 +417,12 @@ class ThemeService
$config_file = ROOT.self::$html_path.$theme.DS.'config.json';
if(!file_exists($config_file))
{
return DataReturn('主题配置文件不存在', -1);
return DataReturn(MyLang('common_service.theme.config_file_no_exist_tips'), -1);
}
$config = json_decode(file_get_contents($config_file), true);
if(empty($config))
{
return DataReturn('主题配置信息有误', -1);
return DataReturn(MyLang('common_service.theme.config_error_tips'), -1);
}
return DataReturn('success', 0, $config);
}
@ -469,8 +469,7 @@ class ThemeService
return $res;
}
}
return DataReturn('无插件数据', 0);
return DataReturn(MyLang('plugins_no_data_tips'), 0);
}
}
?>

View File

@ -45,7 +45,7 @@ class UeditorService
self::$path_type = isset($params['path_type']) ? $params['path_type'] : PathToParams('path_type', 'other');
// action
$ret = DataReturn('请求action有误', -1);
$ret = DataReturn(MyLang('common_service.ueditor.action_error_tips'), -1);
switch(self::$current_action)
{
// 配置信息
@ -100,7 +100,7 @@ class UeditorService
}
/**
* [ActionUpload 上传配置]
* 上传配置
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
@ -112,43 +112,43 @@ class UeditorService
switch(htmlspecialchars(self::$current_action))
{
case 'uploadimage':
$temp_config = array(
"pathFormat" => self::$current_config['imagePathFormat'],
"maxSize" => self::$current_config['imageMaxSize'],
"allowFiles" => self::$current_config['imageAllowFiles']
);
$temp_config = [
"pathFormat" => self::$current_config['imagePathFormat'],
"maxSize" => self::$current_config['imageMaxSize'],
"allowFiles" => self::$current_config['imageAllowFiles']
];
$field_name = self::$current_config['imageFieldName'];
$attachment_type = "image";
break;
case 'uploadscrawl':
$temp_config = array(
"pathFormat" => self::$current_config['scrawlPathFormat'],
"maxSize" => self::$current_config['scrawlMaxSize'],
"allowFiles" => self::$current_config['scrawlAllowFiles'],
"oriName" => "scrawl.png"
);
$temp_config = [
"pathFormat" => self::$current_config['scrawlPathFormat'],
"maxSize" => self::$current_config['scrawlMaxSize'],
"allowFiles" => self::$current_config['scrawlAllowFiles'],
"oriName" => "scrawl.png"
];
$field_name = self::$current_config['scrawlFieldName'];
$attachment_type = "scrawl";
break;
case 'uploadvideo':
$temp_config = array(
"pathFormat" => self::$current_config['videoPathFormat'],
"maxSize" => self::$current_config['videoMaxSize'],
"allowFiles" => self::$current_config['videoAllowFiles']
);
$temp_config = [
"pathFormat" => self::$current_config['videoPathFormat'],
"maxSize" => self::$current_config['videoMaxSize'],
"allowFiles" => self::$current_config['videoAllowFiles']
];
$field_name = self::$current_config['videoFieldName'];
$attachment_type = "video";
break;
case 'uploadfile':
default:
$temp_config = array(
"pathFormat" => self::$current_config['filePathFormat'],
"maxSize" => self::$current_config['fileMaxSize'],
"allowFiles" => self::$current_config['fileAllowFiles']
);
$temp_config = [
"pathFormat" => self::$current_config['filePathFormat'],
"maxSize" => self::$current_config['fileMaxSize'],
"allowFiles" => self::$current_config['fileAllowFiles']
];
$field_name = self::$current_config['fileFieldName'];
$attachment_type = "file";
}
@ -180,11 +180,11 @@ class UeditorService
$data['path_type'] = self::$path_type;
return ResourcesService::AttachmentAdd($data);
}
return DataReturn(isset($data['state']) ? $data['state'] : '上传失败', -1);
return DataReturn(isset($data['state']) ? $data['state'] : MyLang('upload_fail'), -1);
}
/**
* [ActionList 文件列表]
* 文件列表
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
@ -259,7 +259,7 @@ class UeditorService
}
/**
* [ActionCrawler 抓取远程文件]
* 抓取远程文件
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
@ -279,7 +279,7 @@ class UeditorService
$attachment_host = GetUrlHost(SystemBaseService::AttachmentHost());
// 抓取远程图片
$list = array();
$list = [];
$source = isset(self::$params[$field_name]) ? self::$params[$field_name] : self::$params[$field_name];
foreach($source as $imgUrl)
{

View File

@ -72,7 +72,6 @@ class UserAddressService
{
return DataReturn(MyLang('delete_success'), 0);
}
return DataReturn(MyLang('delete_fail'), -100);
}
@ -226,7 +225,7 @@ class UserAddressService
[
'checked_type' => 'empty',
'key_name' => 'id',
'error_msg' => '地址id不能为空',
'error_msg' => MyLang('common_service.useraddress.address_id_empty_tips'),
],
[
'checked_type' => 'empty',
@ -400,8 +399,6 @@ class UserAddressService
$status = true;
}
}
// 事务处理
if($status)
{
Db::commit();
@ -420,7 +417,7 @@ class UserAddressService
'data_id' => $data_id,
]);
return DataReturn('操作'.($status ? '成功' : '失败'), $status ? 0 : -100);
return DataReturn($status ? MyLang('operate_title') : MyLang('operate_fail'), $status ? 0 : -100);
}
/**
@ -439,34 +436,34 @@ class UserAddressService
[
'checked_type' => 'empty',
'key_name' => 'name',
'error_msg' => '姓名不能为空',
'error_msg' => MyLang('common_service.useraddress.form_item_name_message'),
],
[
'checked_type' => 'length',
'key_name' => 'alias',
'checked_data' => '16',
'is_checked' => 1,
'error_msg' => '别名最多16个字符',
'error_msg' => MyLang('common_service.useraddress.form_item_alias_message'),
],
[
'checked_type' => 'empty',
'key_name' => 'tel',
'error_msg' => '联系电话不能为空',
'error_msg' => MyLang('common_service.useraddress.form_item_tel_message'),
],
[
'checked_type' => 'empty',
'key_name' => 'province',
'error_msg' => '省不能为空',
'error_msg' => MyLang('form_region_province_message'),
],
[
'checked_type' => 'empty',
'key_name' => 'city',
'error_msg' => '城市不能为空',
'error_msg' => MyLang('form_region_city_message'),
],
[
'checked_type' => 'empty',
'key_name' => 'address',
'error_msg' => '详细地址不能为空',
'error_msg' => MyLang('common_service.useraddress.form_item_address_message'),
],
[
'checked_type' => 'empty',
@ -498,7 +495,7 @@ class UserAddressService
[
'checked_type' => 'empty',
'key_name' => 'id',
'error_msg' => '地址id不能为空',
'error_msg' => MyLang('common_service.useraddress.address_id_empty_tips'),
],
[
'checked_type' => 'empty',
@ -528,9 +525,8 @@ class UserAddressService
]);
return DataReturn(MyLang('delete_success'), 0);
} else {
return DataReturn(MyLang('delete_fail'), -100);
}
return DataReturn(MyLang('delete_fail'), -100);
}
/**
@ -549,7 +545,7 @@ class UserAddressService
[
'checked_type' => 'empty',
'key_name' => 'id',
'error_msg' => '地址id不能为空',
'error_msg' => MyLang('common_service.useraddress.address_id_empty_tips'),
],
[
'checked_type' => 'empty',
@ -584,11 +580,10 @@ class UserAddressService
// 提交事务
Db::commit();
return DataReturn(MyLang('setup_success'), 0);
} else {
// 回滚事务
Db::rollback();
return DataReturn(MyLang('setup_fail'), -100);
}
// 回滚事务
Db::rollback();
return DataReturn(MyLang('setup_fail'), -100);
}
/**
@ -628,7 +623,7 @@ class UserAddressService
$province = Db::name('Region')->where($where)->field($field)->find();
if(empty($province))
{
return DataReturn('省匹配失败', -1);
return DataReturn(MyLang('common_service.useraddress.province_matching_fail_tips'), -1);
}
// 市匹配
@ -648,7 +643,7 @@ class UserAddressService
$city = Db::name('Region')->where($where2)->field($field)->find();
if(empty($city))
{
return DataReturn('市匹配失败', -1);
return DataReturn(MyLang('common_service.useraddress.city_matching_fail_tips'), -1);
}
}
@ -694,9 +689,8 @@ class UserAddressService
$address = Db::name('UserAddress')->where($where)->find();
if(!empty($address))
{
return DataReturn('地址已存在', -1);
return DataReturn(MyLang('common_service.useraddress.address_exist_tips'), -1);
}
// 地址保存
return self::UserAddressSave($params);
}

View File

@ -131,7 +131,7 @@ class UserService
$user = self::UserInfo($field, $value);
if(empty($user))
{
return DataReturn('用户不存在或已删除', -110);
return DataReturn(MyLang('common_service.user.user_no_exist_tips'), -110);
}
if(!in_array($user['status'], [0,1]))
{
@ -140,10 +140,10 @@ class UserService
{
return DataReturn($common_user_status_list[$user['status']]['tips'], -110);
} else {
return DataReturn('用户状态有误', -110);
return DataReturn(MyLang('common_service.user.user_status_error_tips'), -110);
}
}
return DataReturn('正常', 0);
return DataReturn(MyLang('check_success'), 0);
}
/**
@ -234,13 +234,13 @@ class UserService
}
if(array_key_exists('upd_time', $v))
{
$v['upd_time'] = date('Y-m-d H:i:s', $v['upd_time']);
$v['upd_time'] = empty($v['upd_time']) ? '' : date('Y-m-d H:i:s', $v['upd_time']);
}
// 性别
if(array_key_exists('gender', $v))
{
$v['gender_text'] = isset($common_gender_list[$v['gender']]) ? $common_gender_list[$v['gender']]['name'] : '未知';
$v['gender_text'] = isset($common_gender_list[$v['gender']]) ? $common_gender_list[$v['gender']]['name'] : '';
}
// 状态
@ -290,14 +290,14 @@ class UserService
[
'checked_type' => 'empty',
'key_name' => 'admin',
'error_msg' => '管理员信息有误',
'error_msg' => MyLang('common_service.user.save_admin_info_error_tips'),
],
[
'checked_type' => 'length',
'key_name' => 'username',
'checked_data' => '30',
'is_checked' => 1,
'error_msg' => '用户名格式最多 30 个字符之间',
'error_msg' => MyLang('common_service.user.form_item_username_message'),
],
[
'checked_type' => 'unique',
@ -305,54 +305,54 @@ class UserService
'checked_data' => 'User',
'checked_key' => 'id',
'is_checked' => 1,
'error_msg' => '用户已存在[{$var}]',
'error_msg' => MyLang('common_service.user.save_user_already_exist_tips'),
],
[
'checked_type' => 'length',
'key_name' => 'nickname',
'checked_data' => '30',
'is_checked' => 1,
'error_msg' => '用户昵称格式最多 30 个字符之间',
'error_msg' => MyLang('common_service.user.form_item_nickname_message'),
],
[
'checked_type' => 'fun',
'key_name' => 'mobile',
'checked_data' => 'CheckMobile',
'is_checked' => 1,
'error_msg' => '手机号码格式错误',
'error_msg' => MyLang('common_service.user.form_item_mobile_message'),
],
[
'checked_type' => 'fun',
'key_name' => 'email',
'checked_data' => 'CheckEmail',
'is_checked' => 1,
'error_msg' => '邮箱格式错误',
'error_msg' => MyLang('common_service.user.form_item_email_message'),
],
[
'checked_type' => 'in',
'key_name' => 'gender',
'checked_data' => array_column(MyLang('common_gender_list'), 'id'),
'error_msg' => '性别值范围不正确',
'error_msg' => MyLang('common_service.user.save_gender_range_error_tips'),
],
[
'checked_type' => 'in',
'key_name' => 'status',
'checked_data' => array_column(MyLang('common_user_status_list'), 'id'),
'error_msg' => '状态值范围不正确',
'error_msg' => MyLang('common_service.user.save_status_range_error_tips'),
],
[
'checked_type' => 'length',
'key_name' => 'address',
'checked_data' => '80',
'is_checked' => 1,
'error_msg' => '地址格式最多80个字符',
'error_msg' => MyLang('common_service.user.form_item_address_message'),
],
[
'checked_type' => 'fun',
'key_name' => 'pwd',
'checked_data' => 'CheckLoginPwd',
'is_checked' => 1,
'error_msg' => '密码格式 6~18 个字符之间',
'error_msg' => MyLang('common_service.user.form_item_pwd_message'),
],
];
$ret = ParamsChecked($params, $p);
@ -418,7 +418,7 @@ class UserService
$user = Db::name('User')->where(['id'=>intval($params['id'])])->field('id,integral')->find();
if(empty($user))
{
return DataReturn('用户信息不存在', -10);
return DataReturn(MyLang('common_service.user.save_user_info_no_exist_tips'), -10);
}
$ret = self::UserUpdateHandle($data, $params['id']);
if($ret['code'] == 0)
@ -463,7 +463,7 @@ class UserService
$integral_type = ($user['integral'] > $data['integral']) ? 0 : 1;
$opt_integral = ($integral_type == 1) ? $data['integral']-$user['integral'] : $user['integral']-$data['integral'];
}
IntegralService::UserIntegralLogAdd($user_id, $old_integral, $opt_integral, '管理员操作', $integral_type, $params['admin']['id']);
IntegralService::UserIntegralLogAdd($user_id, $old_integral, $opt_integral, MyLang('common_service.user.admin_operate_name'), $integral_type, $params['admin']['id']);
}
return DataReturn(MyLang('operate_success'), 0);
}
@ -647,7 +647,6 @@ class UserService
// 移除特殊数据
unset($user['pwd'], $user['salt']);
}
return $user;
}
@ -681,7 +680,7 @@ class UserService
$cache_value = MyCache($cache_key);
if(!empty($cache_value) && $cache_value['time']+3600 > time() && $cache_value['count'] >= 5)
{
return DataReturn('操作频繁,请稍后再试!', -1);
return DataReturn(MyLang('operate_frequent_tips'), -1);
}
// 开始处理图片存储
@ -732,7 +731,7 @@ class UserService
}
if(empty($compr) || empty($small))
{
return DataReturn('图片有误,请换一张!', -3);
return DataReturn(MyLang('images_format_error_tips'), -3);
}
$avatar = DS.$img_path.'compr'.$date.$compr;
@ -864,16 +863,11 @@ class UserService
{
// 请求参数
$p = [
[
'checked_type' => 'empty',
'key_name' => 'pwd',
'error_msg' => '密码格式 6~18 个字符之间',
],
[
'checked_type' => 'fun',
'key_name' => 'pwd',
'checked_data' => 'CheckLoginPwd',
'error_msg' => '密码格式 6~18 个字符',
'error_msg' => MyLang('common_service.user.form_item_pwd_message'),
],
];
$ret = ParamsChecked($params, $p);
@ -1209,7 +1203,7 @@ class UserService
// 是否需要审核
if($common_register_is_enable_audit == 1)
{
return DataReturn('用户等待审核中', -110);
return DataReturn(MyLang('common_service.user.user_not_audit_tips'), -110);
}
// 用户登录session纪录
@ -1224,7 +1218,7 @@ class UserService
}
return DataReturn(MyLang('register_success'), 0, $result);
}
return DataReturn('注册成功,请到登录页面登录帐号');
return DataReturn(MyLang('common_service.user.user_register_success_no_login_tips'));
} else {
return $user_ret;
}
@ -1248,13 +1242,12 @@ class UserService
// 手机号码格式
if(!CheckMobile($params['accounts']))
{
return DataReturn(MyLang('mobile_format_error_tips'), -2);
return DataReturn(MyLang('mobile_format_error_tips'), -2);
}
// 手机号码是否已存在
if(self::IsExistAccounts($params['accounts'], 'mobile'))
{
return DataReturn('手机号码已存在', -3);
return DataReturn(MyLang('common_service.user.mobile_already_exist_tips'), -3);
}
break;
@ -1263,13 +1256,12 @@ class UserService
// 电子邮箱格式
if(!CheckEmail($params['accounts']))
{
return DataReturn(MyLang('email_format_error_tips'), -2);
return DataReturn(MyLang('email_format_error_tips'), -2);
}
// 电子邮箱是否已存在
if(self::IsExistAccounts($params['accounts'], 'email'))
{
return DataReturn('电子邮箱已存在', -3);
return DataReturn(MyLang('common_service.user.email_already_exist_tips'), -3);
}
break;
@ -1278,7 +1270,7 @@ class UserService
// 用户名格式
if(!CheckUserName($params['accounts']))
{
return DataReturn('用户名格式由 字母数字下划线 2~18 个字符', -2);
return DataReturn(MyLang('common_service.user.username_format_error_tips'), -2);
}
break;
}
@ -1354,7 +1346,6 @@ class UserService
{
return DataReturn(MyLang('mobile_format_error_tips'), -2);
}
// 手机号码是否不存在
if(!self::IsExistAccounts($params['accounts'], 'mobile'))
{
@ -1370,7 +1361,6 @@ class UserService
{
return DataReturn(MyLang('email_format_error_tips'), -2);
}
// 电子邮箱是否不存在
if(!self::IsExistAccounts($params['accounts'], 'email'))
{
@ -1381,13 +1371,12 @@ class UserService
// 用户名
case 'username' :
$field = 'username|mobile|email';
// 帐号是否不存在
if(!self::IsExistAccounts($params['accounts'], 'username|mobile|email'))
{
return DataReturn(MyLang('accounts_error_tips'), -3);
}
$field = 'username|mobile|email';
break;
}
return DataReturn(MyLang('operate_success'), 0, $field);
@ -1466,12 +1455,12 @@ class UserService
// 邮箱
case 'email' :
$obj = new \base\Email($verify_params);
$email_params = array(
'email' => $params['accounts'],
'content' => MyC('home_email_login_template'),
'title' => MyC('home_site_name').' - 用户登录',
'code' => $code,
);
$email_params = [
'email' => $params['accounts'],
'content' => MyC('home_email_login_template'),
'title' => MyC('home_site_name').' - '.MyLang('common_service.user.login_email_send_title'),
'code' => $code,
];
$status = $obj->SendHtml($email_params);
break;
@ -1479,8 +1468,6 @@ class UserService
default :
return DataReturn(MyLang('verify_code_not_support_send_error_tips'), -2);
}
// 状态
if($status)
{
// 清除验证码
@ -1488,11 +1475,9 @@ class UserService
{
$verify['data']->Remove();
}
return DataReturn(MyLang('send_success'), 0);
} else {
return DataReturn(MyLang('send_fail').'['.$obj->error.']', -100);
}
return DataReturn(MyLang('send_fail').'['.$obj->error.']', -100);
}
/**
@ -1568,12 +1553,12 @@ class UserService
// 邮箱
case 'email' :
$obj = new \base\Email($verify_params);
$email_params = array(
'email' => $params['accounts'],
'content' => MyC('home_email_user_reg'),
'title' => MyC('home_site_name').' - 用户注册',
'code' => $code,
);
$email_params = [
'email' => $params['accounts'],
'content' => MyC('home_email_user_reg'),
'title' => MyC('home_site_name').' - '.MyLang('common_service.user.register_email_send_title'),
'code' => $code,
];
$status = $obj->SendHtml($email_params);
break;
@ -1581,8 +1566,6 @@ class UserService
default :
return DataReturn(MyLang('verify_code_not_support_send_error_tips'), -2);
}
// 状态
if($status)
{
// 清除验证码
@ -1590,11 +1573,9 @@ class UserService
{
$verify['data']->Remove();
}
return DataReturn(MyLang('send_success'), 0);
} else {
return DataReturn(MyLang('send_fail').'['.$obj->error.']', -100);
}
return DataReturn(MyLang('send_fail').'['.$obj->error.']', -100);
}
/**
@ -1655,7 +1636,7 @@ class UserService
$email_params = [
'email' => $params['accounts'],
'content' => MyC('home_email_user_forget_pwd'),
'title' => MyC('home_site_name').' - '.'密码找回',
'title' => MyC('home_site_name').' - '.MyLang('common_service.user.forget_pwd_email_send_title'),
'code' => $code,
];
$status = $obj->SendHtml($email_params);
@ -1663,10 +1644,8 @@ class UserService
// 默认
default :
return DataReturn('手机/邮箱格式有误', -1);
return DataReturn(MyLang('common_service.user.mobile_or_email_format_error_tips'), -1);
}
// 状态
if($status)
{
// 清除图片验证码
@ -1674,15 +1653,13 @@ class UserService
{
$verify['data']->Remove();
}
return DataReturn(MyLang('send_success'), 0);
} else {
return DataReturn(MyLang('send_fail').'['.$obj->error.']', -100);
}
return DataReturn(MyLang('send_fail').'['.$obj->error.']', -100);
}
/**
* [UserForgetAccountsCheck 帐号校验]
* 帐号校验
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
@ -1696,18 +1673,18 @@ class UserService
{
if(!self::IsExistAccounts($accounts, 'mobile'))
{
return DataReturn('手机号码不存在', -3);
return DataReturn(MyLang('mobile_no_exist_error_tips'), -3);
}
return DataReturn(MyLang('operate_success'), 0, 'mobile');
} else if(CheckEmail($accounts))
{
if(!self::IsExistAccounts($accounts, 'email'))
{
return DataReturn('电子邮箱不存在', -3);
return DataReturn(MyLang('email_no_exist_error_tips'), -3);
}
return DataReturn(MyLang('operate_success'), 0, 'email');
}
return DataReturn('手机/邮箱格式有误', -4);
return DataReturn(MyLang('common_service.user.mobile_or_email_format_error_tips'), -4);
}
/**
@ -1771,9 +1748,9 @@ class UserService
// 默认
default :
return DataReturn('手机/邮箱格式有误', -1);
return DataReturn(MyLang('common_service.user.mobile_or_email_format_error_tips'), -1);
}
// 是否已过期
if(!$obj->CheckExpire())
{
@ -1789,7 +1766,7 @@ class UserService
$user = self::UserInfo($ret['data'], $params['accounts']);
if(empty($user))
{
return DataReturn('用户信息不存在', -12);
return DataReturn(MyLang('common_service.user.save_user_info_no_exist_tips'), -12);
}
// 密码修改
@ -1823,24 +1800,26 @@ class UserService
'checked_type' => 'length',
'checked_data' => '2,16',
'key_name' => 'nickname',
'error_msg' => '昵称2~16个字符之间',
],
[
'checked_type' => 'isset',
'key_name' => 'birthday',
'error_msg' => '请填写生日',
'error_msg' => MyLang('common_service.user.save_nickname_format_error_tips'),
],
[
'checked_type' => 'in',
'checked_data' => [0,1,2],
'key_name' => 'gender',
'error_msg' => '性别选择有误',
'error_msg' => MyLang('common_service.user.save_gender_range_error_tips'),
],
[
'checked_type' => 'empty',
'key_name' => 'user',
'error_msg' => MyLang('user_info_incorrect_tips'),
],
[
'checked_type' => 'length',
'key_name' => 'address',
'checked_data' => '80',
'is_checked' => 1,
'error_msg' => MyLang('common_service.user.form_item_address_message'),
],
];
$ret = ParamsChecked($params, $p);
if($ret !== true)
@ -1877,7 +1856,6 @@ class UserService
{
MyCache(SystemService::CacheKey('shopxo.cache_user_info').$user['token'], $user);
}
return DataReturn(MyLang('change_success'), 0, $user);
}
return DataReturn(MyLang('change_fail'), -100);
@ -1918,7 +1896,7 @@ class UserService
// 用户状态
if($user['status'] != 0)
{
return DataReturn('用户待审核', -301);
return DataReturn(MyLang('common_service.user.user_not_audit_tips'), -301);
}
// 如果是一键登录、如当前用户不存在手机号码则绑定
@ -1939,11 +1917,10 @@ class UserService
} else {
if($user['id'] != $temp['id'])
{
return DataReturn('手机已绑定其他帐号', -1);
return DataReturn(MyLang('common_service.user.mobile_already_bind_account_tips'), -1);
}
}
}
return DataReturn(MyLang('auth_success'), 0, $user);
} else {
// 是否需要添加用户
@ -1960,7 +1937,7 @@ class UserService
// 用户状态
if($user_unionid['status'] != 0)
{
return DataReturn('用户待审核', -301);
return DataReturn(MyLang('common_service.user.user_not_audit_tips'), -301);
}
// openid绑定
@ -1980,7 +1957,7 @@ class UserService
} else {
if($user_unionid['id'] != $temp['id'])
{
return DataReturn('手机已绑定其他帐号', -1);
return DataReturn(MyLang('common_service.user.mobile_already_bind_account_tips'), -1);
}
}
}
@ -2039,7 +2016,7 @@ class UserService
// 是否需要审核
if($common_register_is_enable_audit == 1)
{
return DataReturn('用户等待审核中', -110);
return DataReturn(MyLang('common_service.user.user_not_audit_tips'), -110);
}
return DataReturn(MyLang('auth_success'), 0, self::AppUserInfoHandle($ret['data']['user_id']));
}
@ -2184,7 +2161,6 @@ class UserService
'user' => &$user,
]);
}
return $user;
}
@ -2217,8 +2193,6 @@ class UserService
// web端用户登录纪录处理
self::UserLoginRecord($user_id);
}
// 返回用户信息
return $user;
}
@ -2288,7 +2262,7 @@ class UserService
}
if(!empty($temp))
{
return DataReturn('账号已存在', -10);
return DataReturn(MyLang('common_service.user.account_already_exist_tips'), -10);
}
// 用户基础信息处理
@ -2351,7 +2325,6 @@ class UserService
'body_html' => is_array($body_html) ? implode(' ', $body_html) : $body_html,
'user_id' => $user_id,
];
return DataReturn(MyLang('insert_success'), 0, $result);
}
return DataReturn(MyLang('insert_fail'), -100);
@ -2472,7 +2445,7 @@ class UserService
[
'checked_type' => 'empty',
'key_name' => 'mobile',
'error_msg' => '手机号码不能为空',
'error_msg' => MyLang('common_service.user.mobile_empty_tips'),
],
[
'checked_type' => 'empty',
@ -2569,7 +2542,7 @@ class UserService
$accounts_field = APPLICATION_CLIENT_TYPE.'_openid';
if(empty($params[$accounts_field]))
{
return DataReturn('用户openid不能为空', -20);
return DataReturn(MyLang('common_service.user.user_openid_empty_tips'), -20);
}
// openid数据
@ -2591,13 +2564,13 @@ class UserService
// id不一致则提示错误
if($current_user['id'] != $mobile_user['id'])
{
return DataReturn('手机已绑定其他账号、请换手机号重试', -50);
return DataReturn(MyLang('common_service.user.mobile_already_bind_account_tips'), -50);
}
// 是否与当前帐号的手机号码一致
if(!empty($current_user['mobile']) && $current_user['mobile'] == $mobile_user['mobile'])
{
return DataReturn('请使用新的手机号', -51);
return DataReturn(MyLang('common_service.user.mobile_current_mobile_identical_tips'), -51);
}
}
@ -2644,7 +2617,6 @@ class UserService
$user_id = $mobile_user['id'];
}
}
if(isset($user_id) && $user_id > 0)
{
// 清除验证码
@ -2670,13 +2642,13 @@ class UserService
[
'checked_type' => 'empty',
'key_name' => 'mobile',
'error_msg' => '手机号码不能为空',
'error_msg' => MyLang('common_service.user.mobile_empty_tips'),
],
[
'checked_type' => 'fun',
'key_name' => 'mobile',
'checked_data' => 'CheckMobile',
'error_msg' => '手机号码格式错误',
'error_msg' => MyLang('mobile_format_error_tips'),
],
];
$ret = ParamsChecked($params, $p);
@ -2696,8 +2668,6 @@ class UserService
$obj = new \base\Sms($verify_params);
$code = GetNumberCode(4);
$status = $obj->SendCode($params['mobile'], $code, MyC('home_sms_user_mobile_binding'));
// 状态
if($status)
{
return DataReturn(MyLang('send_success'), 0);
@ -2721,7 +2691,7 @@ class UserService
[
'checked_type' => 'empty',
'key_name' => 'token',
'error_msg' => 'token不能为空',
'error_msg' => MyLang('common_service.user.token_empty_tips'),
],
];
$ret = ParamsChecked($params, $p);
@ -2734,7 +2704,7 @@ class UserService
$user = self::UserHandle(self::UserInfo('token', $params['token']));
if(empty($user))
{
return DataReturn('用户信息不存在', -1);
return DataReturn(MyLang('common_service.user.save_user_info_no_exist_tips'), -1);
}
return DataReturn('success', 0, $user);
}
@ -2773,7 +2743,6 @@ class UserService
$result = [
'body_html' => is_array($body_html) ? implode(' ', $body_html) : $body_html,
];
return DataReturn(MyLang('quit_success'), 0, $result);
}
@ -2823,7 +2792,6 @@ class UserService
$user = self::UserHandle($user);
}
}
return $user;
}

View File

@ -14,7 +14,6 @@ use think\facade\Db;
use app\service\ResourcesService;
use app\service\GoodsService;
use app\service\GoodsCategoryService;
use app\service\UserService;
use app\service\WarehouseService;
/**
@ -100,12 +99,6 @@ class WarehouseGoodsService
// 数据处理
foreach($data as &$v)
{
// 用户
if(array_key_exists('user_id', $v))
{
$v['user'] = UserService::GetUserViewInfo($v['user_id']);
}
// 商品信息
if(array_key_exists('goods_id', $v))
{
@ -156,46 +149,51 @@ class WarehouseGoodsService
{
$params['ids'] = explode(',', $params['ids']);
}
// 获取数据
$warehouse_goods = Db::name('WarehouseGoods')->where(['id'=>$params['ids']])->column('*', 'id');
if(empty($warehouse_goods))
{
return DataReturn(MyLang('data_no_exist_error_tips'), -1);
}
// 启动事务
Db::startTrans();
// 循环处理删除
foreach($params['ids'] as $k=>$id)
{
// 位置
$index = $k+1;
// 获取数据
$warehouse_goods = Db::name('WarehouseGoods')->where(['id'=>intval($id)])->find();
if(empty($warehouse_goods))
// 捕获异常
try {
// 循环处理删除
foreach($params['ids'] as $k=>$id)
{
return DataReturn('第'.$index.'条数据不存在', -1);
}
// 删除仓库商品和仓库商品规格数据
$where = [
'goods_id' => $warehouse_goods['goods_id'],
'warehouse_id' => $warehouse_goods['warehouse_id'],
];
if(Db::name('WarehouseGoods')->where($where)->delete() && Db::name('WarehouseGoodsSpec')->where($where)->delete() !== false)
{
// 同步商品库存
$ret = self::GoodsSpecInventorySync($warehouse_goods['goods_id']);
if($ret['code'] != 0)
if(array_key_exists($id, $warehouse_goods))
{
Db::rollback();
return $ret;
}
} else {
Db::rollback();
return DataReturn('第'.$index.'删除失败', -100);
}
}
// 位置
$index = $k+1;
// 提交事务
Db::commit();
return DataReturn(MyLang('delete_success'), 0);
// 删除仓库商品和仓库商品规格数据
$temp = $warehouse_goods[$id];
$where = [
'goods_id' => $temp['goods_id'],
'warehouse_id' => $temp['warehouse_id'],
];
if(!Db::name('WarehouseGoods')->where($where)->delete() && Db::name('WarehouseGoodsSpec')->where($where)->delete())
{
throw new \Exception(MyLang('common_service.warehousegoods.row_delete_fail_tips', ['index'=>$index]));
}
// 同步商品库存
$ret = self::GoodsSpecInventorySync($temp['goods_id']);
if($ret['code'] != 0)
{
throw new \Exception($ret['msg']);
}
}
}
// 提交事务
Db::commit();
return DataReturn(MyLang('delete_success'), 0);
} catch(\Exception $e) {
Db::rollback();
return DataReturn($e->getMessage(), -1);
}
}
/**
@ -244,10 +242,13 @@ class WarehouseGoodsService
// 启动事务
Db::startTrans();
// 数据更新
if(Db::name('WarehouseGoods')->where($where)->update([$params['field']=>intval($params['state']), 'upd_time'=>time()]))
{
// 捕获异常
try {
// 数据更新
if(!Db::name('WarehouseGoods')->where($where)->update([$params['field']=>intval($params['state']), 'upd_time'=>time()]))
{
throw new \Exception(MyLang('edit_fail'));
}
// 状态更新
if($params['field'] == 'is_enable')
{
@ -255,18 +256,17 @@ class WarehouseGoodsService
$ret = self::GoodsSpecInventorySync($warehouse_goods['goods_id']);
if($ret['code'] != 0)
{
Db::rollback();
return $ret;
throw new \Exception($ret['msg']);
}
}
// 提交事务
Db::commit();
return DataReturn(MyLang('edit_success'), 0);
} catch(\Exception $e) {
Db::rollback();
return DataReturn($e->getMessage(), -1);
}
Db::rollback();
return DataReturn(MyLang('edit_fail'), -100);
}
/**
@ -285,7 +285,7 @@ class WarehouseGoodsService
[
'checked_type' => 'empty',
'key_name' => 'warehouse_id',
'error_msg' => '仓库id有误',
'error_msg' => MyLang('common_service.warehousegoods.warehouse_id_empty_tips'),
],
];
$ret = ParamsChecked($params, $p);
@ -372,7 +372,7 @@ class WarehouseGoodsService
[
'checked_type' => 'empty',
'key_name' => 'warehouse_id',
'error_msg' => '仓库id有误',
'error_msg' => MyLang('common_service.warehousegoods.warehouse_id_empty_tips'),
],
[
'checked_type' => 'empty',
@ -424,7 +424,7 @@ class WarehouseGoodsService
[
'checked_type' => 'empty',
'key_name' => 'warehouse_id',
'error_msg' => '仓库id有误',
'error_msg' => MyLang('common_service.warehousegoods.warehouse_id_empty_tips'),
],
[
'checked_type' => 'empty',
@ -440,29 +440,31 @@ class WarehouseGoodsService
// 启动事务
Db::startTrans();
// 删除仓库商品和仓库商品规格数据
$where = [
'goods_id' => intval($params['goods_id']),
'warehouse_id' => intval($params['warehouse_id']),
];
if(Db::name('WarehouseGoods')->where($where)->delete() !== false && Db::name('WarehouseGoodsSpec')->where($where)->delete() !== false)
{
// 捕获异常
try {
// 删除仓库商品和仓库商品规格数据
$where = [
'goods_id' => intval($params['goods_id']),
'warehouse_id' => intval($params['warehouse_id']),
];
if(!Db::name('WarehouseGoods')->where($where)->delete() !== false && Db::name('WarehouseGoodsSpec')->where($where)->delete())
{
throw new \Exception(MyLang('delete_fail'));
}
// 同步商品库存
$ret = self::GoodsSpecInventorySync($params['goods_id']);
if($ret['code'] != 0)
{
Db::rollback();
return $ret;
throw new \Exception($ret['msg']);
}
// 提交事务
Db::commit();
return DataReturn(MyLang('delete_success'), 0);
} catch(\Exception $e) {
Db::rollback();
return DataReturn($e->getMessage(), -1);
}
Db::rollback();
return DataReturn(MyLang('delete_fail'), -100);
}
/**
@ -497,7 +499,7 @@ class WarehouseGoodsService
$warehouse_goods = Db::name('WarehouseGoods')->where($where)->find();
if(empty($warehouse_goods))
{
return DataReturn('无相关商品数据', -1);
return DataReturn(MyLang('data_no_exist_error_tips'), -1);
}
// 获取商品规格
@ -601,35 +603,20 @@ class WarehouseGoodsService
'key_name' => 'id',
'error_msg' => MyLang('data_id_error_tips'),
],
[
'checked_type' => 'empty',
'key_name' => 'specifications_inventory',
'error_msg' => '库存数据有误',
],
[
'checked_type' => 'is_array',
'key_name' => 'specifications_inventory',
'error_msg' => '库存数据有误',
],
[
'checked_type' => 'empty',
'key_name' => 'specifications_md5_key',
'error_msg' => '库存唯一值有误',
'error_msg' => MyLang('common_service.warehousegoods.save_inventory_data_error_tips'),
],
[
'checked_type' => 'is_array',
'key_name' => 'specifications_md5_key',
'error_msg' => '库存唯一值有误',
],
[
'checked_type' => 'empty',
'key_name' => 'specifications_spec',
'error_msg' => '库存规格有误',
'error_msg' => MyLang('common_service.warehousegoods.save_md5_key_data_error_tips'),
],
[
'checked_type' => 'is_array',
'key_name' => 'specifications_spec',
'error_msg' => '库存规格有误',
'error_msg' => MyLang('common_service.warehousegoods.save_spec_data_error_tips'),
],
];
$ret = ParamsChecked($params, $p);
@ -639,13 +626,10 @@ class WarehouseGoodsService
}
// 获取仓库商品
$where = [
'id' => intval($params['id']),
];
$warehouse_goods = Db::name('WarehouseGoods')->where($where)->find();
$warehouse_goods = Db::name('WarehouseGoods')->where(['id'=>intval($params['id'])])->find();
if(empty($warehouse_goods))
{
return DataReturn('无相关商品数据', -1);
return DataReturn(MyLang('data_no_exist_error_tips'), -1);
}
// 数据组装
@ -676,7 +660,6 @@ class WarehouseGoodsService
// 启动事务
Db::startTrans();
// 捕获异常
try {
@ -692,7 +675,7 @@ class WarehouseGoodsService
{
if(Db::name('WarehouseGoodsSpec')->insertAll($data) < count($data))
{
throw new \Exception('规格库存添加失败');
throw new \Exception(MyLang('common_service.warehousegoods.save_inventory_spec_insert_fail_tips'));
}
}
@ -702,7 +685,7 @@ class WarehouseGoodsService
'upd_time' => time(),
]))
{
throw new \Exception('库存商品更新失败');
throw new \Exception(MyLang('common_service.warehousegoods.save_warehouse_goods_update_fail_tips'));
}
// 同步商品库存
@ -780,7 +763,7 @@ class WarehouseGoodsService
// 添加数据
if(Db::name('WarehouseGoodsSpec')->insertAll($data) < count($data))
{
return DataReturn('规格库存添加失败', -1);
return DataReturn(MyLang('common_service.warehousegoods.save_inventory_spec_insert_fail_tips'), -1);
}
// 仓库商品更新
@ -789,7 +772,7 @@ class WarehouseGoodsService
'upd_time' => time(),
]))
{
return DataReturn('库存商品更新失败', -1);
return DataReturn(MyLang('common_service.warehousegoods.save_warehouse_goods_update_fail_tips'), -1);
}
}
}
@ -819,15 +802,15 @@ class WarehouseGoodsService
'value' => 'default',
];
}
$inventory_total = 0;
// 商品规格库存
$inventory_total = 0;
foreach($res['value'] as $v)
{
$inventory = self::WarehouseGoodsSpecInventory($goods_id, str_replace(GoodsService::$goods_spec_to_string_separator, '', $v['value']));
if(Db::name('GoodsSpecBase')->where(['id'=>$v['base_id'], 'goods_id'=>$goods_id])->update(['inventory'=>$inventory]) === false)
{
return DataReturn('商品规格库存同步失败', -20);
return DataReturn(MyLang('common_service.warehousegoods.goods_spec_sync_inventory_fail_tips'), -20);
}
$inventory_total += $inventory;
}
@ -839,7 +822,7 @@ class WarehouseGoodsService
];
if(Db::name('Goods')->where(['id'=>$goods_id])->update($data) === false)
{
return DataReturn('商品库存同步失败', -21);
return DataReturn(MyLang('common_service.warehousegoods.goods_sync_inventory_fail_tips'), -21);
}
// 商品仓库库存修改钩子
@ -911,7 +894,7 @@ class WarehouseGoodsService
$warehouse_id = Db::name('Order')->where(['id'=>$order_id])->value('warehouse_id');
if(empty($warehouse_id))
{
return DataReturn('订单仓库id有误', -1);
return DataReturn(MyLang('common_service.warehousegoods.order_warehouse_id_empty_tips'), -1);
}
// 规格key空则默认default
@ -931,11 +914,11 @@ class WarehouseGoodsService
$inventory = (int) Db::name('WarehouseGoodsSpec')->where($where)->value('inventory');
if($inventory < $buy_number)
{
return DataReturn('仓库商品规格库存不足['.$warehouse_id.'-'.$goods_id.'('.$inventory.'<'.$buy_number.')]', -11);
return DataReturn(MyLang('common_service.warehousegoods.goods_spec_inventory_not_enough_tips').'['.$warehouse_id.'-'.$goods_id.'('.$inventory.'<'.$buy_number.')]', -11);
}
if(!Db::name('WarehouseGoodsSpec')->where($where)->dec('inventory', $buy_number)->update())
{
return DataReturn('仓库商品规格库存扣减失败['.$warehouse_id.'-'.$goods_id.'('.$buy_number.')]', -11);
return DataReturn(MyLang('common_service.warehousegoods.goods_spec_inventory_dec_fail_tips').'['.$warehouse_id.'-'.$goods_id.'('.$buy_number.')]', -11);
}
// 扣除仓库商品库存
@ -943,11 +926,11 @@ class WarehouseGoodsService
$inventory = Db::name('WarehouseGoods')->where($where)->value('inventory');
if($inventory < $buy_number)
{
return DataReturn('仓库商品库存不足['.$warehouse_id.'-'.$goods_id.'('.$inventory.'<'.$buy_number.')]', -11);
return DataReturn(MyLang('common_service.warehousegoods.goods_inventory_not_enough_tips').'['.$warehouse_id.'-'.$goods_id.'('.$inventory.'<'.$buy_number.')]', -11);
}
if(!Db::name('WarehouseGoods')->where($where)->dec('inventory', $buy_number)->update())
{
return DataReturn('仓库商品库存扣减失败['.$warehouse_id.'-'.$goods_id.'('.$buy_number.')]', -12);
return DataReturn(MyLang('common_service.warehousegoods.goods_inventory_dec_fail_tips').'['.$warehouse_id.'-'.$goods_id.'('.$buy_number.')]', -12);
}
// 商品库存扣除钩子
@ -965,7 +948,7 @@ class WarehouseGoodsService
return $ret;
}
return DataReturn('扣除成功', 0);
return DataReturn(MyLang('operate_success'), 0);
}
/**
@ -986,7 +969,7 @@ class WarehouseGoodsService
$warehouse_id = Db::name('Order')->where(['id'=>$order_id])->value('warehouse_id');
if(empty($warehouse_id))
{
return DataReturn('订单仓库id有误', -1);
return DataReturn(MyLang('common_service.warehousegoods.order_warehouse_id_empty_tips'), -1);
}
// 规格key空则默认default
@ -1008,7 +991,7 @@ class WarehouseGoodsService
{
if(!Db::name('WarehouseGoodsSpec')->where($where)->inc('inventory', $buy_number)->update())
{
return DataReturn('仓库商品规格库存回滚失败['.$warehouse_id.'-'.$goods_id.'('.$buy_number.')]', -11);
return DataReturn(MyLang('common_service.warehousegoods.goods_spec_inventory_inc_fail_tips').'['.$warehouse_id.'-'.$goods_id.'('.$buy_number.')]', -11);
}
}
@ -1019,7 +1002,7 @@ class WarehouseGoodsService
{
if(!Db::name('WarehouseGoods')->where($where)->inc('inventory', $buy_number)->update())
{
return DataReturn('仓库商品库存回滚失败['.$warehouse_id.'-'.$goods_id.'('.$buy_number.')]', -12);
return DataReturn(MyLang('common_service.warehousegoods.goods_inventory_inc_fail_tips').'['.$warehouse_id.'-'.$goods_id.'('.$buy_number.')]', -12);
}
}
@ -1038,7 +1021,7 @@ class WarehouseGoodsService
return $ret;
}
return DataReturn('回滚成功', 0);
return DataReturn(MyLang('operate_success'), 0);
}
}
?>

View File

@ -158,39 +158,44 @@ class WarehouseService
// 请求参数
$p = [
[
'checked_type' => 'empty',
'checked_type' => 'length',
'checked_data' => '2,30',
'key_name' => 'name',
'error_msg' => '名称不能为空',
'error_msg' => MyLang('common_service.warehouse.form_item_name_message'),
],
[
'checked_type' => 'empty',
'checked_type' => 'length',
'checked_data' => '16',
'key_name' => 'alias',
'is_checked' => 1,
'error_msg' => MyLang('common_service.warehouse.form_item_alias_message'),
],
[
'checked_type' => 'length',
'checked_data' => '2,16',
'key_name' => 'contacts_name',
'error_msg' => '联系人不能为空',
'error_msg' => MyLang('common_service.warehouse.form_item_contacts_name_message'),
],
[
'checked_type' => 'empty',
'key_name' => 'contacts_tel',
'error_msg' => '联系电话不能为空',
'error_msg' => MyLang('common_service.warehouse.form_item_contacts_tel_message'),
],
[
'checked_type' => 'empty',
'key_name' => 'province',
'error_msg' => '省不能为空',
'error_msg' => MyLang('form_region_province_message'),
],
[
'checked_type' => 'empty',
'key_name' => 'city',
'error_msg' => '城市不能为空',
'error_msg' => MyLang('form_region_city_message'),
],
[
'checked_type' => 'empty',
'key_name' => 'county',
'error_msg' => '区/县不能为空',
],
[
'checked_type' => 'empty',
'checked_type' => 'length',
'checked_data' => '1,80',
'key_name' => 'address',
'error_msg' => '详细地址不能为空',
'error_msg' => MyLang('common_service.warehouse.form_item_address_message'),
],
];
$ret = ParamsChecked($params, $p);
@ -209,7 +214,7 @@ class WarehouseService
'contacts_tel' => $params['contacts_tel'],
'province' => $params['province'],
'city' => $params['city'],
'county' => $params['county'],
'county' => empty($params['county']) ? 0 : intval($params['county']),
'address' => $params['address'],
'lng' => isset($params['lng']) ? floatval($params['lng']) : 0,
'lat' => isset($params['lat']) ? floatval($params['lat']) : 0,
@ -219,7 +224,6 @@ class WarehouseService
// 启动事务
Db::startTrans();
// 捕获异常
try {
// 默认地址处理
@ -237,7 +241,7 @@ class WarehouseService
$data['add_time'] = time();
if(Db::name('Warehouse')->insertGetId($data) <= 0)
{
throw new \Exception('新增失败');
throw new \Exception(MyLang('insert_fail'));
}
} else {
$data['upd_time'] = time();
@ -290,27 +294,31 @@ class WarehouseService
// 启动事务
Db::startTrans();
// 捕获异常
try {
// 删除操作
if(!Db::name('Warehouse')->where(['id'=>$params['ids']])->update(['is_delete_time'=>time(), 'upd_time'=>time()]))
{
throw new \Exception(MyLang('delete_fail'));
}
// 删除操作
if(Db::name('Warehouse')->where(['id'=>$params['ids']])->update(['is_delete_time'=>time(), 'upd_time'=>time()]))
{
// 同步库存
foreach($params['ids'] as $warehouse_id)
{
$ret = self::WarehouseGoodsInventorySync($warehouse_id);
if($ret['code'] != 0)
{
Db::rollback();
return $ret;
throw new \Exception($ret['msg']);
}
}
// 提交事务
// 完成
Db::commit();
return DataReturn(MyLang('delete_success'), 0);
} catch(\Exception $e) {
Db::rollback();
return DataReturn($e->getMessage(), -1);
}
Db::rollback();
return DataReturn(MyLang('delete_fail'), -100);
}
/**
@ -351,28 +359,32 @@ class WarehouseService
// 启动事务
Db::startTrans();
// 捕获异常
try {
// 数据更新
if(!Db::name('Warehouse')->where(['id'=>intval($params['id'])])->update([$params['field']=>intval($params['state']), 'upd_time'=>time()]))
{
throw new \Exception(MyLang('edit_fail'));
}
// 数据更新
if(Db::name('Warehouse')->where(['id'=>intval($params['id'])])->update([$params['field']=>intval($params['state']), 'upd_time'=>time()]))
{
// 状态更新
if($params['field'] == 'is_enable')
{
// 同步库存
$ret = self::WarehouseGoodsInventorySync(intval($params['id']));
if($ret['code'] != 0)
{
Db::rollback();
return $ret;
throw new \Exception($ret['msg']);
}
}
// 提交事务
// 完成
Db::commit();
return DataReturn(MyLang('edit_success'), 0);
} catch(\Exception $e) {
Db::rollback();
return DataReturn($e->getMessage(), -1);
}
Db::rollback();
return DataReturn(MyLang('edit_fail'), -100);
}
/**
@ -418,16 +430,18 @@ class WarehouseService
$data = Db::name('Warehouse')->field('id,name,is_enable,is_delete_time')->where(['id'=>array_unique($ids)])->select()->toArray();
if(!empty($data))
{
$warehouse_not_enable_name = MyLang('common_service.warehouse.warehouse_not_enable_name');
$warehouse_already_delete_name = MyLang('common_service.warehouse.warehouse_already_delete_name');
foreach($data as $v)
{
$err = [];
if($v['is_enable'] != 1)
{
$err[] = '未启用';
$err[] = $warehouse_not_enable_name;
}
if($v['is_delete_time'] > 0)
{
$err[] = '已删除';
$err[] = $warehouse_already_delete_name;
}
if(!empty($err))
{