36fcee83fd60816d65f7c06840f5b8f92c01484a..17e42d4e0fa95c7af0173be4ef4768eeb6090d5f
2025-09-15 chengkun
提交
17e42d diff | tree
2025-09-15 chengkun
Merge branch 'master' into demo
3c9050 diff | tree
2025-09-12 chengkun
提交
26c5c0 diff | tree
2025-09-12 chengkun
提交
b21e53 diff | tree
2025-09-11 chengkun
提交
364a08 diff | tree
2025-09-09 chengkun
提交
1ff9e2 diff | tree
2025-09-09 chengkun
提交
774d96 diff | tree
2025-09-05 chengkun
提交
482230 diff | tree
2025-09-04 chengkun
提交
0ea784 diff | tree
2025-09-04 chengkun
提交
2e1280 diff | tree
2025-08-29 chengkun
提交
a370f8 diff | tree
24 files modified
12 files added
121 files deleted
19408 ■■■■■ changed files
app/admin/controller/BigvInfo.php 83 ●●●●● patch | view | raw | blame | history
app/admin/controller/Blog.php 151 ●●●●● patch | view | raw | blame | history
app/admin/controller/CancelPublishOrder.php 648 ●●●●● patch | view | raw | blame | history
app/admin/controller/Category.php 185 ●●●●● patch | view | raw | blame | history
app/admin/controller/CountryCode.php 191 ●●●●● patch | view | raw | blame | history
app/admin/controller/Currency.php 137 ●●●●● patch | view | raw | blame | history
app/admin/controller/DeliverRegion.php 136 ●●●●● patch | view | raw | blame | history
app/admin/controller/DeliverRegionLogistics.php 148 ●●●●● patch | view | raw | blame | history
app/admin/controller/DisPlatform.php 121 ●●●●● patch | view | raw | blame | history
app/admin/controller/Goods.php 436 ●●●●● patch | view | raw | blame | history
app/admin/controller/GoodsBrand.php 181 ●●●●● patch | view | raw | blame | history
app/admin/controller/GoodsFreightAttr.php 121 ●●●●● patch | view | raw | blame | history
app/admin/controller/GoodsMaterial.php 121 ●●●●● patch | view | raw | blame | history
app/admin/controller/GoodsPurpose.php 133 ●●●●● patch | view | raw | blame | history
app/admin/controller/Goodskd.php 519 ●●●●● patch | view | raw | blame | history
app/admin/controller/Language.php 141 ●●●●● patch | view | raw | blame | history
app/admin/controller/LanguagePag.php 361 ●●●●● patch | view | raw | blame | history
app/admin/controller/Login.php 2 ●●● patch | view | raw | blame | history
app/admin/controller/LogisticsVas.php 121 ●●●●● patch | view | raw | blame | history
app/admin/controller/Menu.php 125 ●●●●● patch | view | raw | blame | history
app/admin/controller/Message.php 325 ●●●●● patch | view | raw | blame | history
app/admin/controller/MsgCategory.php 131 ●●●●● patch | view | raw | blame | history
app/admin/controller/Notice.php 297 ●●●●● patch | view | raw | blame | history
app/admin/controller/OnlineMessage.php 91 ●●●●● patch | view | raw | blame | history
app/admin/controller/PartnerSchool.php 121 ●●●●● patch | view | raw | blame | history
app/admin/controller/PayBank.php 213 ●●●●● patch | view | raw | blame | history
app/admin/controller/PaymentTool.php 155 ●●●●● patch | view | raw | blame | history
app/admin/controller/PlatformLogisticsProduct.php 123 ●●●●● patch | view | raw | blame | history
app/admin/controller/PlatformRegion.php 121 ●●●●● patch | view | raw | blame | history
app/admin/controller/PublicApi.php 99 ●●●●● patch | view | raw | blame | history
app/admin/controller/PublishOrder.php 626 ●●●●● patch | view | raw | blame | history
app/admin/controller/RemitRecord.php 132 ●●●●● patch | view | raw | blame | history
app/admin/controller/ReturnExchange.php 121 ●●●●● patch | view | raw | blame | history
app/admin/controller/ReturnExchangeType.php 114 ●●●●● patch | view | raw | blame | history
app/admin/controller/SalesPlatform.php 240 ●●●●● patch | view | raw | blame | history
app/admin/controller/Seller.php 313 ●●●●● patch | view | raw | blame | history
app/admin/controller/SellerBaseInfo.php 127 ●●●●● patch | view | raw | blame | history
app/admin/controller/SellerMenu.php 126 ●●●●● patch | view | raw | blame | history
app/admin/controller/StockCountry.php 120 ●●●●● patch | view | raw | blame | history
app/admin/controller/Supplier.php 508 ●●●●● patch | view | raw | blame | history
app/admin/controller/ThirdPartyLogisticsProductTemp.php 123 ●●●●● patch | view | raw | blame | history
app/admin/controller/ThirdPartyStockTemp.php 197 ●●●●● patch | view | raw | blame | history
app/admin/controller/Translation.php 45 ●●●●● patch | view | raw | blame | history
app/admin/controller/WithdrawalRecord.php 142 ●●●●● patch | view | raw | blame | history
app/admin/model/Language.php 16 ●●●●● patch | view | raw | blame | history
app/admin/model/LanguagePag.php 26 ●●●●● patch | view | raw | blame | history
app/admin/model/Message.php 13 ●●●●● patch | view | raw | blame | history
app/admin/model/MessageAttachment.php 8 ●●●●● patch | view | raw | blame | history
app/admin/validate/Blog.php 31 ●●●●● patch | view | raw | blame | history
app/admin/validate/Category.php 20 ●●●●● patch | view | raw | blame | history
app/admin/validate/CountryCode.php 22 ●●●●● patch | view | raw | blame | history
app/admin/validate/Currency.php 19 ●●●●● patch | view | raw | blame | history
app/admin/validate/DeliverRegion.php 21 ●●●●● patch | view | raw | blame | history
app/admin/validate/DeliverRegionLogistics.php 19 ●●●●● patch | view | raw | blame | history
app/admin/validate/DisPlatform.php 17 ●●●●● patch | view | raw | blame | history
app/admin/validate/DockingPlatform.php 20 ●●●●● patch | view | raw | blame | history
app/admin/validate/GoodsFreightAttr.php 19 ●●●●● patch | view | raw | blame | history
app/admin/validate/GoodsMaterial.php 17 ●●●●● patch | view | raw | blame | history
app/admin/validate/GoodsPurpose.php 17 ●●●●● patch | view | raw | blame | history
app/admin/validate/Language.php 24 ●●●●● patch | view | raw | blame | history
app/admin/validate/LanguagePag.php 25 ●●●●● patch | view | raw | blame | history
app/admin/validate/LogisticsVas.php 19 ●●●●● patch | view | raw | blame | history
app/admin/validate/Message.php 17 ●●●●● patch | view | raw | blame | history
app/admin/validate/MsgCategory.php 17 ●●●●● patch | view | raw | blame | history
app/admin/validate/Notice.php 17 ●●●●● patch | view | raw | blame | history
app/admin/validate/PartnerSchool.php 17 ●●●●● patch | view | raw | blame | history
app/admin/validate/PayBank.php 23 ●●●●● patch | view | raw | blame | history
app/admin/validate/PaymentTool.php 17 ●●●●● patch | view | raw | blame | history
app/admin/validate/PlatformLogisticsProduct.php 19 ●●●●● patch | view | raw | blame | history
app/admin/validate/PlatformRegion.php 17 ●●●●● patch | view | raw | blame | history
app/admin/validate/ReturnExchange.php 19 ●●●●● patch | view | raw | blame | history
app/admin/validate/ReturnExchangeType.php 19 ●●●●● patch | view | raw | blame | history
app/admin/validate/SalesPlatform.php 17 ●●●●● patch | view | raw | blame | history
app/admin/validate/SellerAccountAdd.php 27 ●●●●● patch | view | raw | blame | history
app/admin/validate/SellerAccountEdit.php 22 ●●●●● patch | view | raw | blame | history
app/admin/validate/StockCountry.php 19 ●●●●● patch | view | raw | blame | history
app/admin/validate/SupplierAccountAdd.php 27 ●●●●● patch | view | raw | blame | history
app/admin/validate/SupplierAccountEdit.php 21 ●●●●● patch | view | raw | blame | history
app/admin/validate/SupplierMenu.php 19 ●●●●● patch | view | raw | blame | history
app/admin/view/bigv_info/index.html 210 ●●●●● patch | view | raw | blame | history
app/admin/view/blog/add.html 98 ●●●● patch | view | raw | blame | history
app/admin/view/blog/index.html 14 ●●●●● patch | view | raw | blame | history
app/admin/view/cancel_publish_order/create.html 860 ●●●●● patch | view | raw | blame | history
app/admin/view/cancel_publish_order/index.html 105 ●●●●● patch | view | raw | blame | history
app/admin/view/category/index.html 264 ●●●●● patch | view | raw | blame | history
app/admin/view/common/header.html 8 ●●●● patch | view | raw | blame | history
app/admin/view/country_code/index.html 218 ●●●●● patch | view | raw | blame | history
app/admin/view/currency/index.html 94 ●●●●● patch | view | raw | blame | history
app/admin/view/deliver_region/index.html 114 ●●●●● patch | view | raw | blame | history
app/admin/view/deliver_region_logistics/index.html 108 ●●●●● patch | view | raw | blame | history
app/admin/view/dis_platform/index.html 87 ●●●●● patch | view | raw | blame | history
app/admin/view/goods/create.html 748 ●●●●● patch | view | raw | blame | history
app/admin/view/goods/index.html 119 ●●●●● patch | view | raw | blame | history
app/admin/view/goods_brand/index.html 174 ●●●●● patch | view | raw | blame | history
app/admin/view/goods_freight_attr/index.html 92 ●●●●● patch | view | raw | blame | history
app/admin/view/goods_material/index.html 87 ●●●●● patch | view | raw | blame | history
app/admin/view/goods_purpose/index.html 87 ●●●●● patch | view | raw | blame | history
app/admin/view/goodskd/create.html 735 ●●●●● patch | view | raw | blame | history
app/admin/view/goodskd/index.html 98 ●●●●● patch | view | raw | blame | history
app/admin/view/language/index.html 116 ●●●●● patch | view | raw | blame | history
app/admin/view/language_pag/index.html 151 ●●●●● patch | view | raw | blame | history
app/admin/view/logistics_vas/index.html 91 ●●●●● patch | view | raw | blame | history
app/admin/view/menu/index.html 108 ●●●●● patch | view | raw | blame | history
app/admin/view/message/create.html 121 ●●●●● patch | view | raw | blame | history
app/admin/view/message/index.html 89 ●●●●● patch | view | raw | blame | history
app/admin/view/msg_category/index.html 94 ●●●●● patch | view | raw | blame | history
app/admin/view/notice/create.html 109 ●●●●● patch | view | raw | blame | history
app/admin/view/notice/index.html 84 ●●●●● patch | view | raw | blame | history
app/admin/view/online_message/index.html 74 ●●●●● patch | view | raw | blame | history
app/admin/view/partner_school/index.html 87 ●●●●● patch | view | raw | blame | history
app/admin/view/pay_bank/index.html 151 ●●●●● patch | view | raw | blame | history
app/admin/view/payment_tool/index.html 95 ●●●●● patch | view | raw | blame | history
app/admin/view/platform_logistics_product/index.html 99 ●●●●● patch | view | raw | blame | history
app/admin/view/platform_region/index.html 87 ●●●●● patch | view | raw | blame | history
app/admin/view/publish_order/create.html 840 ●●●●● patch | view | raw | blame | history
app/admin/view/publish_order/index.html 111 ●●●●● patch | view | raw | blame | history
app/admin/view/remit_record/index.html 166 ●●●●● patch | view | raw | blame | history
app/admin/view/return_exchange/index.html 115 ●●●●● patch | view | raw | blame | history
app/admin/view/return_exchange_type/index.html 91 ●●●●● patch | view | raw | blame | history
app/admin/view/sales_platform/index.html 146 ●●●●● patch | view | raw | blame | history
app/admin/view/seller/add.html 192 ●●●●● patch | view | raw | blame | history
app/admin/view/seller/index.html 146 ●●●●● patch | view | raw | blame | history
app/admin/view/seller_base_info/index.html 217 ●●●●● patch | view | raw | blame | history
app/admin/view/stock_country/index.html 91 ●●●●● patch | view | raw | blame | history
app/admin/view/supplier/add.html 138 ●●●●● patch | view | raw | blame | history
app/admin/view/supplier/index.html 139 ●●●●● patch | view | raw | blame | history
app/admin/view/third_party_logistics_product_temp/index.html 130 ●●●●● patch | view | raw | blame | history
app/admin/view/third_party_stock_temp/index.html 160 ●●●●● patch | view | raw | blame | history
app/admin/view/withdrawal_record/index.html 142 ●●●●● patch | view | raw | blame | history
app/home/controller/Blog.php 78 ●●●●● patch | view | raw | blame | history
app/home/controller/Contact.php 36 ●●●●● patch | view | raw | blame | history
app/home/controller/Index.php 2 ●●●●● patch | view | raw | blame | history
app/home/validate/Contact.php 26 ●●●●● patch | view | raw | blame | history
app/home/view/blog/detail.html 151 ●●●●● patch | view | raw | blame | history
app/home/view/blog/index.html 219 ●●●● patch | view | raw | blame | history
app/home/view/common/footer.html 14 ●●●● patch | view | raw | blame | history
app/home/view/common/title.html 2 ●●● patch | view | raw | blame | history
app/home/view/common/top-header.html 48 ●●●● patch | view | raw | blame | history
app/home/view/contact/index.html 64 ●●●● patch | view | raw | blame | history
app/home/view/index/index.html 414 ●●●●● patch | view | raw | blame | history
app/home/view/partners/index.html 18 ●●●● patch | view | raw | blame | history
public/favicon.ico patch | view | raw | blame | history
public/static/admin/js/blog/add.js 37 ●●●● patch | view | raw | blame | history
public/static/admin/js/blog/index.js 105 ●●●●● patch | view | raw | blame | history
public/static/admin/js/online_message/index.js 90 ●●●●● patch | view | raw | blame | history
public/static/admin/login/logo-m.png patch | view | raw | blame | history
public/static/home/images/logo.png patch | view | raw | blame | history
public/static/home/images/parent-1.png patch | view | raw | blame | history
public/static/home/images/parent-2.png patch | view | raw | blame | history
public/static/home/images/parent-3.png patch | view | raw | blame | history
public/static/home/images/parent-4.png patch | view | raw | blame | history
public/static/home/images/parent-5.png patch | view | raw | blame | history
public/static/home/style.css 23 ●●●●● patch | view | raw | blame | history
public/static/images/language.png patch | view | raw | blame | history
public/static/images/logo.png patch | view | raw | blame | history
public/static/js/language/language.js 15 ●●●● patch | view | raw | blame | history
public/static/vue/mixin.js 8 ●●●●● patch | view | raw | blame | history
app/admin/controller/BigvInfo.php
File was deleted
app/admin/controller/Blog.php
@@ -2,6 +2,7 @@
namespace app\admin\controller;
use think\facade\Db;
use think\Exception;
use think\exception\ValidateException;
use think\facade\Filesystem;
@@ -13,10 +14,65 @@
        return View::fetch('index');
    }
    
    public function add(): string {
    public function get_blog_list() {
        try {
            $page   = input('page', 1);
            $limit  = input('limit', 10);
            $where  = [];
            $total  = Db::name('blog')->where($where)->count();
            $list   = Db::name('blog')->where($where)->order('id desc')->page($page, $limit)->select()->toArray();
            $result = [
                'code'    => 200,
                'message' => '获取成功',
                'data'    => [
                    'list'  => $list,
                    'total' => $total,
                ],
            ];
        } catch (Exception $exc) {
            $result = [
                'code'    => $exc->getCode(),
                'message' => $exc->getMessage(),
            ];
        }
        return json($result);
    }
    public function add($id = 0): string {
        header('Content-Type:text/html;charset=utf-8');
        View::assign('menuitem', strtolower('Blog-index'));
        View::assign('id', $id);
        return View::fetch('add');
    }
    /**
     * 获取博客信息
     * @return Json
     */
    public function get_blog_info(): Json {
        try {
            $id = input('id');
            if (!is_numeric($id)) {
                throw new Exception('参数错误');
            }
            $info = Db::name('blog')->field('id,title,en_title,desc,en_desc,cover_img,content,en_content')->where('id', $id)->find();
            if (empty($info)) {
                throw new Exception('信息不存在');
            }
            $result = [
                'code'    => 200,
                'message' => '获取成功',
                'data'    => $info,
            ];
        } catch (Exception $exc) {
            $result = [
                'code'    => $exc->getCode(),
                'message' => $exc->getMessage(),
            ];
        }
        return json($result);
    }
    
    /**
@@ -31,7 +87,7 @@
            
            $file    = request()->file('image');
            $files[] = $file;
            validate(['image' => 'fileSize:10240|fileExt:jpg'])->check($files);
            validate(['image' => 'fileSize:10240|fileExt:jpg,jpeg,png'])->check($files);
            // 上传到本地服务器
            $savename = (new Filesystem)::disk('public')->putFile('/images', $file);
            $savename = (new Filesystem)::disk('public')->url($savename); // 获取上传后的文件路径
@@ -60,7 +116,7 @@
    }
    
    /**
     * 上传图片
     * 上传封面图片
     * @return Json
     */
    public function upload_cover_img(): Json {
@@ -71,7 +127,7 @@
            
            $file    = request()->file('file');
            $files[] = $file;
            validate(['image' => 'fileSize:10240|fileExt:jpg'])->check($files);
            validate(['image' => 'fileSize:10240|fileExt:jpg,jpeg,png'])->check($files);
            // 上传到本地服务器
            $savename = (new Filesystem)::disk('public')->putFile('/images', $file);
            $savename = (new Filesystem)::disk('public')->url($savename); // 获取上传后的文件路径
@@ -98,4 +154,91 @@
        }
        return json($result);
    }
    /**
     * 保存博客
     * @return Json
     */
    public function save_blog(): Json {
        try {
            if (!request()->isPost()) {
                throw new Exception('请求方式错误');
            }
            $data = request()->post();
            ///////验证////////////
            $validate        = new \app\admin\validate\Blog();
            $validate_result = $validate->scene('save_blog')->check($data);
            if (!$validate_result) {
                throw new Exception($validate->getError());
            }
            if ($data['id'] && is_numeric($data['id'])) {
                /////////更新////////////
                $info = Db::name('blog')->field('id')->where('id', $data['id'])->find();
                if (empty($info)) {
                    throw new Exception('信息不存在');
                }
                unset($data['create_time']);
                $update_result = Db::name('blog')->where('id', $data['id'])->save($data);
                if (!$update_result) {
                    throw new Exception('更新失败');
                }
            } else {
                //////////添加////////////
                $data['create_time'] = time();
                $data['admin_id']    = $this->admin_id;
                $new_id = Db::name('blog')->insertGetId($data);
                if (!$new_id) {
                    throw new Exception('保存失败');
                }
            }
            $result = [
                'code'    => 200,
                'message' => '保存成功',
            ];
        } catch (Exception $exc) {
            $result = [
                'code'    => $exc->getCode(),
                'message' => $exc->getMessage(),
            ];
        }
        return json($result);
    }
    /**
     * 修改博客状态
     * @return Json
     */
    public function change_blog_status() {
        try {
            $id = input('id');
            if (!is_numeric($id)) {
                throw new Exception('参数错误');
            }
            $info = Db::name('blog')->field('id,status')->where('id', $id)->find();
            if (empty($info)) {
                throw new Exception('信息不存在');
            }
            $status        = $info['status'] == 1 ? 0 : 1;
            $update_result = Db::name('blog')->where('id', $id)->save(['status' => $status]);
            if (!$update_result) {
                throw new Exception('更新失败');
            }
            $result = [
                'code'    => 200,
                'message' => '更新成功',
            ];
        } catch (Exception $exc) {
            $result = [
                'code'    => $exc->getCode(),
                'message' => $exc->getMessage(),
            ];
        }
        return json($result);
    }
}
app/admin/controller/CancelPublishOrder.php
File was deleted
app/admin/controller/Category.php
File was deleted
app/admin/controller/CountryCode.php
File was deleted
app/admin/controller/Currency.php
File was deleted
app/admin/controller/DeliverRegion.php
File was deleted
app/admin/controller/DeliverRegionLogistics.php
File was deleted
app/admin/controller/DisPlatform.php
File was deleted
app/admin/controller/Goods.php
File was deleted
app/admin/controller/GoodsBrand.php
File was deleted
app/admin/controller/GoodsFreightAttr.php
File was deleted
app/admin/controller/GoodsMaterial.php
File was deleted
app/admin/controller/GoodsPurpose.php
File was deleted
app/admin/controller/Goodskd.php
File was deleted
app/admin/controller/Language.php
File was deleted
app/admin/controller/LanguagePag.php
File was deleted
app/admin/controller/Login.php
@@ -47,7 +47,7 @@
        } catch (Exception $exc) {
            $result = [
                'code' => $exc->getCode(),
                'des'  => $exc->getMessage(),
                'message'  => $exc->getMessage(),
            ];
        }
        return $result;
app/admin/controller/LogisticsVas.php
File was deleted
app/admin/controller/Menu.php
File was deleted
app/admin/controller/Message.php
File was deleted
app/admin/controller/MsgCategory.php
File was deleted
app/admin/controller/Notice.php
File was deleted
app/admin/controller/OnlineMessage.php
New file
@@ -0,0 +1,91 @@
<?php
namespace app\admin\controller;
use think\Exception;
use think\facade\Db;
use think\facade\Request;
use think\facade\View;
use think\response\Json;
class OnlineMessage extends Common {
    public function index() {
        View::assign('menuitem', strtolower('onlineMessage-index'));
        return View::fetch();
    }
    /**
     * 获取在线留言列表
     * @return Json
     */
    public function get_online_message_list(): Json {
        try {
            if (!Request::isPost()) {
                throw new Exception('请求方式错误');
            }
            $page   = input('page', 1);
            $limit  = input('limit', 10);
            $kw     = input('kw', '');
            $status = input('status', '');
            $where  = [];
            if ($kw) {
                $where[] = ['name|phone|email|subject|message', 'like', "%{$kw}%"];
            }
            if (in_array($status, [0, 1])) {
                $where[] = ['status', '=', $status];
            }
            $total  = Db::name('online_message')->where($where)->count();
            $list   = Db::name('online_message')->where($where)->order('id desc')->page($page, $limit)->select()->toArray();
            $result = [
                'code'    => 200,
                'message' => '获取成功',
                'data'    => [
                    'list'  => $list,
                    'total' => $total,
                ],
            ];
        } catch (Exception $exc) {
            $result = [
                'code'    => $exc->getCode(),
                'message' => $exc->getMessage(),
            ];
        }
        return json($result);
    }
    /**
     * 修改留言状态
     * @return Json
     */
    public function change_message_status(): Json {
        try {
            if (!Request::isPost()) {
                throw new Exception('请求方式错误');
            }
            $id = input('id', 0);
            if (!$id || !is_numeric($id)) {
                throw new Exception('参数错误');
            }
            $info = Db::name('online_message')->where('id', $id)->find();
            if (!$info) {
                throw new Exception('留言不存在');
            }
            $status        = $info['status'] ? 0 : 1;
            $update_result = Db::name('online_message')->where('id', $id)->save(['status' => $status]);
            if (!$update_result) {
                throw new Exception('操作失败');
            }
            $result = [
                'code'    => 200,
                'message' => '操作成功',
            ];
        } catch (Exception $exc) {
            $result = [
                'code'    => $exc->getCode(),
                'message' => $exc->getMessage(),
            ];
        }
        return json($result);
    }
}
app/admin/controller/PartnerSchool.php
File was deleted
app/admin/controller/PayBank.php
File was deleted
app/admin/controller/PaymentTool.php
File was deleted
app/admin/controller/PlatformLogisticsProduct.php
File was deleted
app/admin/controller/PlatformRegion.php
File was deleted
app/admin/controller/PublicApi.php
File was deleted
app/admin/controller/PublishOrder.php
File was deleted
app/admin/controller/RemitRecord.php
File was deleted
app/admin/controller/ReturnExchange.php
File was deleted
app/admin/controller/ReturnExchangeType.php
File was deleted
app/admin/controller/SalesPlatform.php
File was deleted
app/admin/controller/Seller.php
File was deleted
app/admin/controller/SellerBaseInfo.php
File was deleted
app/admin/controller/SellerMenu.php
File was deleted
app/admin/controller/StockCountry.php
File was deleted
app/admin/controller/Supplier.php
File was deleted
app/admin/controller/ThirdPartyLogisticsProductTemp.php
File was deleted
app/admin/controller/ThirdPartyStockTemp.php
File was deleted
app/admin/controller/Translation.php
File was deleted
app/admin/controller/WithdrawalRecord.php
File was deleted
app/admin/model/Language.php
File was deleted
app/admin/model/LanguagePag.php
File was deleted
app/admin/model/Message.php
File was deleted
app/admin/model/MessageAttachment.php
File was deleted
app/admin/validate/Blog.php
New file
@@ -0,0 +1,31 @@
<?php
namespace app\admin\validate;
use think\Validate;
class Blog extends Validate {
    protected $rule    = [
        'title'      => 'require',
        'en_title'   => 'require',
        'desc'       => 'require',
        'en_desc'    => 'require',
        'cover_img'  => 'require',
        'content'    => 'require',
        'en_content' => 'require',
    ];
    protected $message = [
        'title.require'      => '请填写标题名称',
        'en_title.require'   => '请填写英文标题名称',
        'desc.require'       => '请填写标题描述',
        'en_desc.require'    => '请填写英文标题描述',
        'cover_img.require'  => '请上传封面图片',
        'content.require'    => '请填写内容',
        'en_content.require' => '请填写英文内容',
    ];
    protected $scene = [
        'save_blog' => ['title', 'en_title', 'desc', 'en_desc', 'cover_img', 'content', 'en_content'], //保存博客
    ];
}
app/admin/validate/Category.php
File was deleted
app/admin/validate/CountryCode.php
File was deleted
app/admin/validate/Currency.php
File was deleted
app/admin/validate/DeliverRegion.php
File was deleted
app/admin/validate/DeliverRegionLogistics.php
File was deleted
app/admin/validate/DisPlatform.php
File was deleted
app/admin/validate/DockingPlatform.php
File was deleted
app/admin/validate/GoodsFreightAttr.php
File was deleted
app/admin/validate/GoodsMaterial.php
File was deleted
app/admin/validate/GoodsPurpose.php
File was deleted
app/admin/validate/Language.php
File was deleted
app/admin/validate/LanguagePag.php
File was deleted
app/admin/validate/LogisticsVas.php
File was deleted
app/admin/validate/Message.php
File was deleted
app/admin/validate/MsgCategory.php
File was deleted
app/admin/validate/Notice.php
File was deleted
app/admin/validate/PartnerSchool.php
File was deleted
app/admin/validate/PayBank.php
File was deleted
app/admin/validate/PaymentTool.php
File was deleted
app/admin/validate/PlatformLogisticsProduct.php
File was deleted
app/admin/validate/PlatformRegion.php
File was deleted
app/admin/validate/ReturnExchange.php
File was deleted
app/admin/validate/ReturnExchangeType.php
File was deleted
app/admin/validate/SalesPlatform.php
File was deleted
app/admin/validate/SellerAccountAdd.php
File was deleted
app/admin/validate/SellerAccountEdit.php
File was deleted
app/admin/validate/StockCountry.php
File was deleted
app/admin/validate/SupplierAccountAdd.php
File was deleted
app/admin/validate/SupplierAccountEdit.php
File was deleted
app/admin/validate/SupplierMenu.php
File was deleted
app/admin/view/bigv_info/index.html
File was deleted
app/admin/view/blog/add.html
@@ -8,6 +8,7 @@
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <include file="common:element-plus" />
    <link rel="stylesheet" href="/static/admin/css/blog/add.css">
    <!-- 富文本编辑器 -->
    <link rel="stylesheet" href="/static/plugin/wangeditor/style.css" media="all">
    <script type="text/javascript" src="/static/plugin/wangeditor/index.js"></script>
@@ -53,6 +54,7 @@
</head>
<body>
    <input type="hidden" id="id" value="{$id}">
    <div id="vue_item" v-cloak>
        <el-container>
            <el-aside class="el-menu-container" :width="el_aside_width">
@@ -90,21 +92,22 @@
                                    <div id="toolbar-container"><!-- 工具栏 --></div>
                                    <div id="editor-container" style="height: calc(100% - 40px);"><!-- 编辑器 --></div>
                                </div>
                                <!-- <div id="editer_data" style="width: 100%;">{{addBlogForm.content}}</div>
                                <textarea name="content" id="content" style="display:none;" v-model="addBlogForm.content"></textarea> -->
                                <!-- <div id="editer_data" style="width: 100%;" v-html="addBlogForm.content"></div> -->
                                <!-- <textarea id="editer_data" style="display:none;" v-model="addBlogForm.content"></textarea> -->
                            </el-form-item>
                            <el-form-item label="内容(英文)">
                                <div id="editor—wrapper-en" class="editor—wrapper" style="height: 500px;">
                                    <div id="toolbar-container-en"><!-- 工具栏 --></div>
                                    <div id="editor-container-en" style="height: calc(100% - 40px);"><!-- 编辑器 --></div>
                                </div>
                                <!-- <div id="editer_data_en" style="width: 100%;" v-html="addBlogForm.en_content"></div> -->
                            </el-form-item>
                            <el-form-item label="封面图">
                                <el-upload class="avatar-uploader" action="/admin/blog/upload_cover_img.html" :show-file-list="false" :on-success="handleCoverImgSuccess" :before-upload="beforeCoverImgUpload">
                                    <template v-if="addBlogForm.cover_img">
                                        <div>
                                            <img :src="addBlogForm.cover_img" class="avatar" />
                                            <el-button type="danger" icon="Delete"></el-button>
                                            <!-- <el-button type="danger" icon="Delete"></el-button> -->
                                        </div>
                                    </template>
                                    <el-icon v-else class="avatar-uploader-icon">
@@ -133,7 +136,7 @@
        placeholder: '请输入中文内容...',
        onChange(editor) {
            const html = editor.getHtml();
            setHtmlValue(html);
            getHtmlValue(html);
        },
        MENU_CONF: {},
    }
@@ -167,6 +170,10 @@
        },
    }
    var editor_data = $("#editer_data").html();
    if (editor_data == '') {
        editor_data = '<p><br></p>';
    }
    const editor = createEditor({
        selector: '#editor-container',
        html: '<p><br></p>',
@@ -197,7 +204,7 @@
        placeholder: '请输入英文内容...',
        onChange(editor) {
            const html = editor.getHtml();
            setHtmlValue(html, 2);
            getHtmlValue(html, 2);
        },
        MENU_CONF: {},
    }
@@ -233,7 +240,10 @@
        },
    }
    var editor_data_en = document.getElementById('editer_data_en');
    if (editor_data_en == '') {
        editor_data_en = '<p><br></p>';
    }
    const editor_en = createEditor({
        selector: '#editor-container-en',
        html: '<p><br></p>',
@@ -255,76 +265,16 @@
        selector: '#toolbar-container-en',
        config: toolbarConfigEn,
        mode: 'default', // or 'simple'
    })
</script>
<script>
    /**
     * 富文本编辑器
     */
    // var E = window.wangEditor
    // const editor = new E('#editer_data')
    // var textarea = $('#content')
    });
    // editor.config.onchange = function (html) {
    //     // 监控变化,同步更新到 textarea
    //     textarea.val(html)
    // }
    // // editor.config.onblur = function (html) {
    // //     // 编辑区域失去焦点后的操作,保存内容
    // //     save_reading_data();
    // // }
    // //设置提示文字
    // editor.config.placeholder = '请输入文章内容...'
    // //设置编辑区域z-index
    // editor.config.zIndex = 100
    // // 自定义菜单配置
    // editor.config.menus = [
    //     'bold',
    //     'fontSize',
    //     'italic',
    //     'underline',
    //     'strikeThrough',
    //     'indent',
    //     'lineHeight',
    //     'foreColor',
    //     'backColor',
    //     'link',
    //     'list',
    //     'justify',
    //     'image',
    // ]
    // //粘贴内容去掉图片
    // editor.config.pasteIgnoreImg = true
    // // 配置粘贴文本的内容处理
    // editor.config.pasteTextHandle = function (pasteStr) {
    //     // 对粘贴的文本进行处理,然后返回处理后的结果
    //     return pasteStr.replace(/<[^>]+>/g, "");
    // }
    // //上传图片服务端地址
    // editor.config.uploadImgServer = "/admin/upload/index_v1.html"
    // // 隐藏“网络图片”tab
    // editor.config.showLinkImg = false
    // // 将图片大小限制为 10M
    // editor.config.uploadImgMaxSize = 20 * 1024 * 1024
    // // 限制一次最多上传 20 张图片
    // editor.config.uploadImgMaxLength = 20
    // //编辑器初始化
    // editor.create()
    // // 初始化 textarea 的值
    // textarea.val(editor.txt.html())
    ////////////////////////////////////////富文本编辑器-end//////////////////////////////////
    function setHtmlValue(html, type = 1) {
        if (type == 1) {
            editor.setHtml(html);
        } else {
            editor_en.setHtml(html);
        }
    }
</script>
</html>
app/admin/view/blog/index.html
@@ -25,30 +25,34 @@
                    <el-card>
                        <template #header>
                            <div class="card-header">
                                <span>文章列表</span>
                                <span>文章列表({{listCount}})</span>
                                &emsp;
                                <el-link href="/admin/blog/add.html" type="primary" class="header_add_btn" icon="CirclePlusFilled" :underline="false">添加</el-link>
                            </div>
                        </template>
                        <el-table :data="list" :tree-props="{children: 'children'}" row-key="id" default-expand-all border style="width: 100%" ref="tableRef">
                        <el-table :data="blogList" :tree-props="{children: 'children'}" row-key="id" default-expand-all border style="width: 100%" ref="tableRef">
                            <el-table-column label="名称" prop="title"></el-table-column>
                            <!-- <el-table-column label="菜单索引" prop="menu_index"></el-table-column> -->
                            <el-table-column label="添加时间" prop="create_time" width="150">
                                <template #default="scope">
                                   {{formatDate(scope.row['create_time'])}}
                                    {{formatDate(scope.row['create_time'])}}
                                </template>
                            </el-table-column>
                            <el-table-column label="状态" width="150" align="center">
                                <template #default="scope">
                                    <el-switch v-model="scope.row.show_menu" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ccc" :active-value="1" :inactive-value="0" inline-prompt active-text="发布" inactive-text="下架" @change="updateShowMenu(scope.row)" />
                                    <el-switch v-model="scope.row.status" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ccc" :active-value="1" :inactive-value="0" inline-prompt active-text="发布" inactive-text="未发布" @change="changeBlogStatus(scope.row.id)" />
                                </template>
                            </el-table-column>
                            <el-table-column label="操作选项" fixed="right" width="150" :align="alignValue(200)">
                                <template #default="scope">
                                    <el-button icon="edit" type="primary" @click="Edit(scope.row)"></el-button>
                                    <el-button icon="edit" type="primary" @click="editBlog(scope.row.id)" circle></el-button>
                                    <el-button icon="Delete" type="danger" @click="deleteBlog(scope.row.id)" circle></el-button>
                                </template>
                            </el-table-column>
                        </el-table>
                        <div style="text-align: right;margin-top: 15px">
                            <el-pagination background @current-change="getBlogList" layout="prev, pager, next" :page-size="searchForm.limit" hide-on-single-page="true" :total="listCount"></el-pagination>
                        </div>
                    </el-card>
                </el-main>
                <el-footer></el-footer>
app/admin/view/cancel_publish_order/create.html
File was deleted
app/admin/view/cancel_publish_order/index.html
File was deleted
app/admin/view/category/index.html
File was deleted
app/admin/view/common/header.html
@@ -1,7 +1,7 @@
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<link rel="stylesheet" href="/static/supplier/css/reset.css?t=20180921-1" media="all">
<!-- <link rel="stylesheet" href="/static/supplier/css/reset.css?t=20180921-1" media="all">
<link id="layuicss-layuiAdmin" rel="stylesheet" href="/static/admin/css/admin.css?v=1.1.0 pro-1" media="all">
<link rel="stylesheet" href="/static/admin/css/layui.css?t=20180921-3" media="all">
<script type="text/javascript" src="/static/jquery/jquery-3.7.1.min.js"></script>
<link rel="stylesheet" href="/static/admin/css/layui.css?t=20180921-3" media="all"> -->
<!-- <script type="text/javascript" src="/static/jquery/jquery-3.7.1.min.js"></script>
<script type="text/javascript" src="/static/admin/js/jquery.config.js"></script>
<script type="text/javascript" src="/static/admin/js/function.js"></script>
<script type="text/javascript" src="/static/admin/js/function.js"></script> -->
app/admin/view/country_code/index.html
File was deleted
app/admin/view/currency/index.html
File was deleted
app/admin/view/deliver_region/index.html
File was deleted
app/admin/view/deliver_region_logistics/index.html
File was deleted
app/admin/view/dis_platform/index.html
File was deleted
app/admin/view/goods/create.html
File was deleted
app/admin/view/goods/index.html
File was deleted
app/admin/view/goods_brand/index.html
File was deleted
app/admin/view/goods_freight_attr/index.html
File was deleted
app/admin/view/goods_material/index.html
File was deleted
app/admin/view/goods_purpose/index.html
File was deleted
app/admin/view/goodskd/create.html
File was deleted
app/admin/view/goodskd/index.html
File was deleted
app/admin/view/language/index.html
File was deleted
app/admin/view/language_pag/index.html
File was deleted
app/admin/view/logistics_vas/index.html
File was deleted
app/admin/view/menu/index.html
File was deleted
app/admin/view/message/create.html
File was deleted
app/admin/view/message/index.html
File was deleted
app/admin/view/msg_category/index.html
File was deleted
app/admin/view/notice/create.html
File was deleted
app/admin/view/notice/index.html
File was deleted
app/admin/view/online_message/index.html
New file
@@ -0,0 +1,74 @@
<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="utf-8">
    <include file="common:title" />
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <include file="common:element-plus" />
</head>
<body>
    <div id="vue_item" v-cloak>
        <el-container>
            <el-aside class="el-menu-container" :width="el_aside_width">
                <!-- 侧边菜单 -->
                <include file="common:side_menu" />
            </el-aside>
            <el-container>
                <el-header>
                    <include file="common:guide" one_word="在线留言" two_word="官网留言 " />
                </el-header>
                <el-main>
                    <el-card style="width: 100%">
                        <template #header>
                            <div class="card-header">官网留言({{count}})</div>
                        </template>
                        <el-form :model="searchForm" label-width="auto" size="default">
                            <el-input v-model="searchForm.kw" placeholder="请输入关键词" style="width: 300px;" clearable></el-input>
                            &nbsp;
                            <el-select v-model="searchForm.status" placeholder="请选择处理状态" style="width: 150px;">
                                <el-option label="全部" value=""></el-option>
                                <el-option label="已处理" value="1"></el-option>
                                <el-option label="未处理" value="0"></el-option>
                            </el-select>
                            &nbsp;
                            <el-button type="success" icon="Search" @click="getOnlineMessageList()">搜索</el-button>
                        </el-form>
                        <br />
                        <el-table :data="list" border style="width: 100%;position: relative;z-index: 0 !important;" ref="tableRef">
                            <el-table-column prop="name" label="姓名" width="180" show-overflow-tooltip align="center"></el-table-column>
                            <el-table-column prop="phone" label="电话" show-overflow-tooltip width="180" align="center"></el-table-column>
                            <el-table-column prop="email" label="邮箱" width="180" align="center"></el-table-column>
                            <el-table-column prop="subject" label="主题" width="180" align="center"></el-table-column>
                            <el-table-column prop="message" label="内容" align="left"></el-table-column>
                            <el-table-column prop="create_time" label="提交时间" width="180" align="center">
                                <template #default="scope">
                                    {{formatDate(scope.row.create_time)}}
                                </template>
                            </el-table-column>
                            <el-table-column label="状态" width="150" align="center">
                                <template #default="scope">
                                    <el-switch @change="changeMessageStatus(scope.row.id)" v-model="scope.row.status" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ccc" :active-value="1" :inactive-value="0" inline-prompt active-text="已处理" inactive-text="未处理" />
                                </template>
                            </el-table-column>
                        </el-table>
                        <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="searchForm.page" :page-sizes="[20, 30, 40, 50]" :page-size="searchForm.limit" layout="total, sizes, prev, pager, next" :total="count">
                        </el-pagination>
                    </el-card>
                </el-main>
            </el-container>
        </el-container>
    </div>
</body>
<!-- 共用的方法 -->
<script language="JavaScript">
    const viewPath = '{$viewPath}';
</script>
<script src="/static/vue/mixin_admin.js"></script>
<script src="/static/admin/js/online_message/index.js?v=<?php echo rand(1000,9999)?>"></script>
</html>
app/admin/view/partner_school/index.html
File was deleted
app/admin/view/pay_bank/index.html
File was deleted
app/admin/view/payment_tool/index.html
File was deleted
app/admin/view/platform_logistics_product/index.html
File was deleted
app/admin/view/platform_region/index.html
File was deleted
app/admin/view/publish_order/create.html
File was deleted
app/admin/view/publish_order/index.html
File was deleted
app/admin/view/remit_record/index.html
File was deleted
app/admin/view/return_exchange/index.html
File was deleted
app/admin/view/return_exchange_type/index.html
File was deleted
app/admin/view/sales_platform/index.html
File was deleted
app/admin/view/seller/add.html
File was deleted
app/admin/view/seller/index.html
File was deleted
app/admin/view/seller_base_info/index.html
File was deleted
app/admin/view/stock_country/index.html
File was deleted
app/admin/view/supplier/add.html
File was deleted
app/admin/view/supplier/index.html
File was deleted
app/admin/view/third_party_logistics_product_temp/index.html
File was deleted
app/admin/view/third_party_stock_temp/index.html
File was deleted
app/admin/view/withdrawal_record/index.html
File was deleted
app/home/controller/Blog.php
@@ -2,12 +2,90 @@
namespace app\home\controller;
use think\db\exception\DataNotFoundException;
use think\db\exception\DbException;
use think\db\exception\ModelNotFoundException;
use think\Exception;
use think\facade\Db;
use think\facade\View;
use think\facade\Request;
use app\BaseController;
use think\response\Json;
class Blog extends BaseController {
    public function index() {
        $list = Db::name('blog')->where('status', 1)->limit(10)->order('id desc')->select()->toArray();
        View::assign('list', $list);
        return View::fetch('index');
    }
    /**
     * 获取博客列表
     * @return Json
     */
    public function get_blog_list(): Json {
        try {
            if (!Request::isPost()) {
                throw new Exception('请求方式错误');
            }
            $list   = Db::name('blog')->where('status', 1)->limit(10)->order('id desc')->select()->toArray();
            $result = [
                'code'    => 200,
                'message' => '获取成功',
                'data'    => $list,
            ];
        } catch (Exception $exc) {
            $result = [
                'code'    => $exc->getCode(),
                'message' => $exc->getMessage(),
            ];
        }
        return json($result);
    }
    /**
     * 博客详情页
     * @param int $id
     * @return string
     */
    public function detail(int $id = 0): string {
        if (!$id || !is_numeric($id)) {
            $this->error('参数错误');
        }
        // $info = Db::name('blog')->where('id', $id)->find();
        // if (!$info) {
        //     $this->error('数据不存在');
        // }
        // View::assign('info', $info);
        View::assign('id', $id);
        return View::fetch('detail');
    }
    /**
     * 获取博客内容
     * @return Json
     */
    public function get_blog_info(): Json {
        try {
            $id = input('id', 0);
            if (!$id || !is_numeric($id)) {
                throw new Exception('参数错误');
            }
            $info = Db::name('blog')->where('id', $id)->find();
            if (!$info) {
                throw new Exception('数据不存在');
            }
            $result = [
                'code'    => 200,
                'message' => '获取成功',
                'data'    => $info,
            ];
        } catch (Exception $exc) {
            $result = [
                'code'    => $exc->getCode(),
                'message' => $exc->getMessage(),
            ];
        }
        return json($result);
    }
}
app/home/controller/Contact.php
@@ -2,12 +2,48 @@
namespace app\home\controller;
use think\Exception;
use think\facade\Db;
use think\facade\View;
use think\facade\Request;
use app\BaseController;
use think\response\Json;
class Contact extends BaseController {
    public function index() {
        return View::fetch('index');
    }
    /**
     * 保存留言
     * @return Json
     */
    public function save_message(): Json {
        try {
            if (!Request::isPost()) {
                throw new Exception('请求方式错误');
            }
            $data            = Request::post();
            $validate        = new \app\home\validate\Contact();
            $validate_result = $validate->check($data);
            if (!$validate_result) {
                throw new Exception($validate->getError());
            }
            $data['create_time'] = time();
            $new_id              = Db::name('online_message')->insertGetId($data);
            if (!$new_id) {
                throw new Exception('保存失败');
            }
            $result = [
                'code'    => 200,
                'message' => '保存成功',
            ];
        } catch (Exception $exc) {
            $result = [
                'code'    => $exc->getCode(),
                'message' => $exc->getMessage(),
            ];
        }
        return json($result);
    }
}
app/home/controller/Index.php
@@ -10,6 +10,8 @@
class Index extends BaseController {
    public function index() {
        $list = Db::name('blog')->where('status', 1)->limit(10)->order('id desc')->select()->toArray();
        View::assign('list', $list);
        return View::fetch('index');
    }
    
app/home/validate/Contact.php
New file
@@ -0,0 +1,26 @@
<?php
namespace app\home\validate;
use think\Validate;
class Contact extends Validate {
    protected $rule    = [
        'name'    => 'require',
        'phone'   => 'require',
        'email'   => 'require',
        'subject' => 'require',
        'message' => 'require',
    ];
    protected $message = [
        'name.require'    => '请填写姓名',
        'phone.require'   => '请填写联系方式',
        'email.require'   => '请填写邮箱',
        'subject.require' => '请填写主题',
        'message.require' => '请填写内容',
    ];
    protected $scene = [
        'save_message' => ['name', 'phone', 'message'], //保存博客
    ];
}
app/home/view/blog/detail.html
New file
@@ -0,0 +1,151 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <include file="common:header" />
    <include file="common:title" />
    <include file="common:element-plus" />
    <include file="common:html-header" />
    <style>
        .blog-container {
            padding: 50px 0;
        }
        .blog-title {
            text-align: center;
            font-size: 24px;
            font-weight: bold;
        }
        .blog-time {
            text-align: center;
            font-size: 14px;
            margin-top: 10px;
        }
        .blog-content {
            margin: 20px 0;
        }
    </style>
</head>
<body>
    <div class="main-container" id="vue_item" v-cloak>
        <!-- 顶部 导航栏 -->
        <include file="common:top-header" />
        <!-- 背景图-->
        <div class="breadcumb-area">
            <div class="container">
                <div class="row">
                    <div class="col-md-12 txtc  text-center ccase">
                        <div class="brpt">
                            <h2>{{ $t('message.header.blog') }}</h2>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <!-- 内容 -->
        <div class="blog-container">
            <div class="container" v-if="language=='zh-cn'">
                <el-page-header @back="goBack">
                    <template #content>
                        <span class="text-large font-600 mr-3"> {{ $t('message.header.blog') }} </span>
                    </template>
                </el-page-header>
                <div class="blog-title" v-if="language=='zh-cn'">{{info.title}}</div>
                <div class="blog-time">{{formatDate(info.create_time)}}</div>
                <div class="blog-content" v-html="info.content"></div>
            </div>
            <div class="container" v-else>
                <el-page-header @back="goBack">
                    <template #content>
                        <span class="text-large font-600 mr-3"> {{ $t('message.header.blog') }} </span>
                    </template>
                </el-page-header>
                <div class="blog-title">{{info.en_title}}</div>
                <div class="blog-time">{{formatDate(info.create_time)}}</div>
                <div class="blog-content" v-html="info.en_content"></div>
            </div>
        </div>
        <!-- 底部 -->
        <include file="common:footer" />
    </div>
    <input type="hidden" id="id" value="{$id}">
    <!-- Vue App -->
    <script src="/static/vue/mixin.js"></script>
    <script>
        var language = localStorage.getItem('changjiang-park-lang') || 'zh-cn';
        var blog_id = $('#id').val();
        const App = {
            mixins: [sharedMixin],
            data() {
                return {
                    blog_id: blog_id,
                    language: language,
                    info: [],
                };
            },
            computed: {
            },
            mounted() {
                this.getBlogInfo();
            },
            created() {
            },
            methods: {
                formatDate(time) {
                    return moment(time * 1000).format("YYYY-MM-DD");
                },
                goBack() {
                    window.history.back();
                },
                /////进入博客详情/////
                gotoBlogDetail(id) {
                    window.location.href = '/home/blog/detail/id/' + id + '.html';
                },
                // 获取公告列表
                getBlogInfo() {
                    let that = this;
                    const loading = this.$loading({
                        lock: true,
                        text: '获取中',
                        spinner: 'el-icon-loading',
                        background: 'rgba(0, 0, 0, 0.2)'
                    });
                    let url = "/home/blog/get_blog_info.html"
                    postRequest(url, { id: that.blog_id }).then(res => {
                        loading.close();
                        if (res.data.code == 200) {
                            that.info = res.data.data;
                        }
                    }).catch(() => {
                        //取消,不做处理
                    });
                },
            },
        };
        const app = Vue.createApp(App);
        for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
            app.component(key, component)
        }
        app.use(ElementPlus, {
            locale: ElementPlusLocaleZhCn,
        });
        app.use(i18n);
        app.mount("#vue_item");
    </script>
</body>
<include file="common:html-css-js" />
</html>
app/home/view/blog/index.html
@@ -8,6 +8,34 @@
    <include file="common:title" />
    <include file="common:element-plus" />
    <include file="common:html-header" />
    <style>
        .cover_img {
            width: 360px;
            height: 240px;
            vertical-align: middle;
            object-fit: cover;
        }
        .blog-title {
            height: 53px;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
        }
        .blog-desc {
            height: 77px;
            margin: 15px 0;
            padding: 0 0 0 0 !important;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
        }
    </style>
</head>
<body>
@@ -15,7 +43,7 @@
        <!-- 顶部 导航栏 -->
        <include file="common:top-header" />
        <!-- breadcumb area -->
        <!-- 背景图-->
        <div class="breadcumb-area">
            <div class="container">
                <div class="row">
@@ -35,9 +63,8 @@
                </div>
            </div>
        </div>
        <!-- End breadcumb area -->
        <!-- itpart blog area -->
        <!-- 内容 -->
        <div class="itpart_blog_area blog_grid_area">
            <div class="container">
                <div class="row">
@@ -45,134 +72,56 @@
                        <div class="witr_section_title">
                            <div class="witr_section_title_inner text-center">
                                <!-- title top -->
                                <h2>News &amp; blog</h2>
                                <h3>You Can Check Out Our Work. </h3>
                                <h2>{{ $t('message.header.blog') }}</h2>
                                <h3>{{ $t('message.blog.text-1') }}</h3>
                                <!-- title bottom -->
                                <h1>News &amp; Articles</h1>
                                <!-- <h1>News &amp; Articles</h1> -->
                            </div>
                        </div>
                    </div>
                    <div class="col-lg-12">
                        <!-- Blog Section -->
                        <div class="witr_blog_area12">
                            <div class="blog_active ">
                            <div class="blog_active">
                                <!-- single blog -->
                                <div class="witr_all_mb_30 col-md-12 col-xs-12 col-sm-12">
                                    <div class="busi_singleBlog">
                                        <!-- image -->
                                        <div class="witr_sb_thumb">
                                            <a href="#"> <img src="/static/home/assets/images/blog1.jpg" alt="image" /> </a>
                                            <div class="witr_top_category category_blog_grid">
                                                <!-- category -->
                                                <ul class="post-categories">
                                <volist name="list" id="item">
                                    <div class="witr_all_mb_30 col-md-12 col-xs-12 col-sm-12">
                                        <div class="busi_singleBlog">
                                            <!-- image -->
                                            <div class="witr_sb_thumb ">
                                                <a href="#"> <img src="{$item.cover_img}" alt="image" class="cover_img" /> </a>
                                                <div class="witr_top_category category_blog_grid">
                                                    <!-- category -->
                                                    <!-- <ul class="post-categories">
                                                    <li><a href="#">Developer</a></li>
                                                </ul>
                                                </ul> -->
                                                </div>
                                            </div>
                                        </div>
                                        <div class="all_blog_color">
                                            <div class="witr_blog_con bs5">
                                                <!-- title -->
                                                <h2><a href="single-blog.html">How investing in depended increasing to business.</a></h2>
                                                <!--  post meta -->
                                                <span><a href="#"><i class="icofont-user-alt-3"></i> Itpa</a></span>
                                                <span><a href="#"><i class="icofont-ui-clock"></i></a> 24 Aug 2021</span>
                                                <!-- content -->
                                                <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do</p>
                                                <div class="learn_more_adn">
                                                    <a class="learn_btn adnbtn2" href="#">Read More</a>
                                            <div class="all_blog_color">
                                                <div class="witr_blog_con bs5">
                                                    <!-- title -->
                                                    <h2>
                                                        <a href="javascript:void(0)" @click="gotoBlogDetail({$item.id})" class="blog-title">
                                                            <template v-if="language=='zh-cn'">{$item.title}</template>
                                                            <template v-else>{$item.en_title}</template>
                                                        </a>
                                                    </h2>
                                                    <!--  post meta -->
                                                    <!-- <span><a href="#"><i class="icofont-user-alt-3"></i> Itpa</a></span> -->
                                                    <span><a href="#"><i class="icofont-ui-clock"></i></a>{{formatDate({$item.create_time})}}</span>
                                                    <!-- content -->
                                                    <p class="blog-desc">
                                                        <template v-if="language=='zh-cn'">{$item.desc}</template>
                                                        <template v-else>{$item.en_desc}</template>
                                                    </p>
                                                    <!-- <div class="learn_more_adn">
                                                        <a class="learn_btn adnbtn2" href="javascript:void(0)" @click="gotoBlogDetail({$item.id})">Read More</a>
                                                    </div> -->
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <!-- 02 single blog -->
                                <div class="witr_all_mb_30 col-md-12 col-xs-12 col-sm-12">
                                    <div class="busi_singleBlog">
                                        <!-- image -->
                                        <div class="witr_sb_thumb">
                                            <a href="#"> <img src="/static/home/assets/images/blog2.jpg" alt="image" /> </a>
                                            <div class="witr_top_category category_blog_grid">
                                                <!-- category -->
                                                <ul class="post-categories">
                                                    <li><a href="#">It Service</a></li>
                                                </ul>
                                            </div>
                                        </div>
                                        <div class="all_blog_color">
                                            <div class="witr_blog_con bs5">
                                                <!-- title -->
                                                <h2><a href="single-blog.html">Email marketing tips that will increase your sales.</a></h2>
                                                <!--  post meta -->
                                                <span><a href="#"><i class="icofont-user-alt-3"></i> Itpa</a></span>
                                                <span><a href="#"><i class="icofont-ui-clock"></i></a> 29 Aug 2021</span>
                                                <!-- content -->
                                                <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do</p>
                                                <div class="learn_more_adn">
                                                    <a class="learn_btn adnbtn2" href="#">Read More</a>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <!-- 03 single blog -->
                                <div class="witr_all_mb_30 col-md-12 col-xs-12 col-sm-12">
                                    <div class="busi_singleBlog">
                                        <!-- image -->
                                        <div class="witr_sb_thumb">
                                            <a href="#"> <img src="/static/home/assets/images/blog3.jpg" alt="image" /> </a>
                                            <div class="witr_top_category category_blog_grid">
                                                <!-- category -->
                                                <ul class="post-categories">
                                                    <li><a href="#">Management</a></li>
                                                </ul>
                                            </div>
                                        </div>
                                        <div class="all_blog_color">
                                            <div class="witr_blog_con bs5">
                                                <!-- title -->
                                                <h2><a href="single-blog.html">Productivity tips to avoid burn out when working.</a></h2>
                                                <!--  post meta -->
                                                <span><a href="#"><i class="icofont-user-alt-3"></i> Itpa</a></span>
                                                <span><a href="#"><i class="icofont-ui-clock"></i></a>24 Jun 2021</span>
                                                <!-- content -->
                                                <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do</p>
                                                <div class="learn_more_adn">
                                                    <a class="learn_btn adnbtn2" href="#">Read More</a>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <!-- 04 single blog -->
                                <div class="witr_all_mb_30 col-md-12 col-xs-12 col-sm-12">
                                    <div class="busi_singleBlog">
                                        <!-- image -->
                                        <div class="witr_sb_thumb">
                                            <a href="#"> <img src="/static/home/assets/images/blog11.jpg" alt="image" /> </a>
                                            <div class="witr_top_category category_blog_grid">
                                                <!-- category -->
                                                <ul class="post-categories">
                                                    <li><a href="#">Marketing</a></li>
                                                </ul>
                                            </div>
                                        </div>
                                        <div class="all_blog_color">
                                            <div class="witr_blog_con bs5">
                                                <!-- title -->
                                                <h2><a href="single-blog.html">How investing in depended increasing to business.</a></h2>
                                                <!--  post meta -->
                                                <span><a href="#"><i class="icofont-user-alt-3"></i> Itpa</a></span>
                                                <span><a href="#"><i class="icofont-ui-clock"></i></a> 24 Aug 2021</span>
                                                <!-- content -->
                                                <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do</p>
                                                <div class="learn_more_adn">
                                                    <a class="learn_btn adnbtn2" href="#">Read More</a>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                </volist>
                            </div>
                        </div>
                    </div>
@@ -186,22 +135,52 @@
    <!-- Vue App -->
    <script src="/static/vue/mixin.js"></script>
    <script>
        var language = localStorage.getItem('changjiang-park-lang') || 'zh-cn';
        const App = {
            mixins: [sharedMixin],
            data() {
                return {
                    language: language,
                    list: [],
                };
            },
            computed: {
            },
            mounted() {
                // this.getBlogList();
            },
            created() {
            },
            methods: {
                formatDate(time) {
                    return moment(time * 1000).format("YYYY-MM-DD");
                },
                /////进入博客详情/////
                gotoBlogDetail(id) {
                    window.location.href = '/home/blog/detail/id/' + id + '.html';
                },
                // 获取公告列表
                getBlogList() {
                    let that = this;
                    const loading = this.$loading({
                        lock: true,
                        text: '获取中',
                        spinner: 'el-icon-loading',
                        background: 'rgba(0, 0, 0, 0.2)'
                    });
                    let url = "/home/blog/get_blog_list.html"
                    postRequest(url, {}).then(res => {
                        loading.close();
                        if (res.data.code == 200) {
                            that.list = res.data.data;
                        }
                    }).catch(() => {
                        //取消,不做处理
                    });
                },
            },
        };
        const app = Vue.createApp(App);
@@ -214,8 +193,8 @@
        app.use(i18n);
        app.mount("#vue_item");
    </script>
    <include file="common:html-css-js" />
</body>
<include file="common:html-css-js" />
</html>
app/home/view/common/footer.html
@@ -96,26 +96,16 @@
        </div>
    </div>
    <!-- END FOOTER MIDDLE AREA -->
    <!-- FOOTER BOTTOM AREA -->
    <div class="footer-bottom">
        <div class="container">
            <div class="row">
                <!-- FOOTER COPYRIGHT STYLE 1 -->
                <div class="col-lg-12 col-md-12  col-sm-12">
                    <div class="copy-right-text">
                        <!-- FOOTER COPYRIGHT TEXT -->
                        <p>Copyright &copy; All rights reserved. <a target="_blank" href="https://www.mobanwang.com/" title="网站模板" class="text-white">网站模板</a></p>
                        <p>Copyright &copy; All rights reserved</p>
                    </div>
                </div>
                <!-- <div class="col-lg-6 col-md-6  col-sm-12">
                    <div class="footer-menu">
                        <ul class="text-right">
                            <li><a href="#">Service</a></li>
                            <li><a href="#">Contact</a></li>
                        </ul>
                    </div>
                </div> -->
                <!-- FOOTER COPYRIGHT STYLE 3 -->
            </div>
        </div>
    </div>
app/home/view/common/title.html
@@ -1 +1 @@
<title>长江国贸南非电商产业园</title>
<title>Cpark-长江国贸(南非)跨境电商产业园</title>
app/home/view/common/top-header.html
@@ -10,16 +10,19 @@
                </div>
            </div>
        </div>
        <el-select v-model="currentLang" size="small" @change="(val) => changeLanguage(val, false)" style="width: 100px" class="language_select_item">
            <el-option v-for="item in languageList" :key="item.symbol" :label="item.name_loc" :value="item.symbol" />
        </el-select>
        <div class="language_select_item">
            <img src="/static/images/language.png" alt="">&nbsp;
            <el-select v-model="currentLang" size="small" @change="(val) => changeLanguage(val, false)" style="width: 100px" class="">
                <el-option v-for="item in languageList" :key="item.symbol" :label="item.name_loc" :value="item.symbol" />
            </el-select>
        </div>
    </div>
    <!-- END HEADER TOP AREA -->
    <div class="itpart-main-menu one_page hidden-xs hidden-sm  witr_h_h10">
        <div class="itpart_nav_area scroll_fixed postfix">
            <div class="container">
                <div class="row logo-left">
                    <div class="col-md-3 col-sm-3 col-xs-4">
                    <div class="col-md-4 col-sm-4 col-xs-4 logo-title-item">
                        <div class="logo">
                            <a class="main_sticky_main_l" href="/home/index/index.html" title="itpart">
                                <img src="/static/home/images/logo.png" alt="itpart">
@@ -28,9 +31,10 @@
                                <img src="/static/home/images/logo.png" alt="itpart">
                            </a>
                        </div>
                        <div class="logo-title">{{ $t('message.common.cpark') }}</div>
                    </div>
                    <!-- MAIN MENU -->
                    <div class="col-md-9 col-sm-9 col-xs-8">
                    <div class="col-md-8 col-sm-8 col-xs-8">
                        <div class="tx_mmenu_together">
                            <nav class="itpart_menu">
                                <ul class="sub-menu">
@@ -83,4 +87,36 @@
            </div>
        </div>
    </div>
</div>
</div>
<!-- 手机访问的菜单 -->
<div class="mobile_logo_area hidden-md hidden-lg">
    <div class="container">
        <div class="row">
            <div class="col-sm-12">
                <div class="mobile_menu_logo text-center">
                    <a href="/home/index/index.html" title="lowgo">
                        <img src="/static/home/images/logo.png" alt="lowgo">
                    </a>
                </div>
            </div>
        </div>
    </div>
</div>
<!-- MOBILE MENU AREA -->
<div class="home-2 mbm hidden-md hidden-lg  header_area main-menu-area">
    <div class="menu_area mobile-menu">
        <nav class="itpart_menu">
            <ul class="sub-menu">
                <li><a href="/home/index/index.html">{{ $t('message.header.home') }}</a></li>
                <li><a href="/home/about/index.html">{{ $t('message.header.about') }}</a></li>
                <li><a href="/home/service/index.html">{{ $t('message.header.service') }}</a></li>
                <li><a href="/home/blog/index.html">{{ $t('message.header.blog') }}</a></li>
                <li><a href="/home/partners/index.html">{{ $t('message.header.partners') }}</a></li>
                <li><a href="/home/contact/index.html">{{ $t('message.header.contact') }}</a></li>
            </ul>
        </nav>
    </div>
</div>
<!-- END MOBILE MENU AREA  -->
app/home/view/contact/index.html
@@ -94,7 +94,8 @@
                </div>
            </div>
        </div>
        <!-- contact area2 -->
        <!-- 提交在线咨询 -->
        <div class="contact_area2">
            <div class="container">
                <div class="row">
@@ -106,33 +107,33 @@
                                <h2>{{ $t('message.common.submit-contact-information') }}</h2>
                            </div>
                            <div class="witr_apartment_form">
                                <form action="mail.php" method="post" id="contact-form">
                                <form method="post" id="contact-form">
                                    <div class="row">
                                        <div class="col-lg-6 col-md-6">
                                            <div class="twr_form_box">
                                                <input type="text" name="name" :placeholder="$t('message.common.name')">
                                                <input type="text" name="name" :placeholder="$t('message.common.name')" v-model="form.name">
                                            </div>
                                        </div>
                                        <div class="col-lg-6 col-md-6">
                                            <div class="twr_form_box">
                                                <input type="email" name="email" :placeholder="$t('message.common.email')">
                                                <input type="email" name="email" :placeholder="$t('message.common.email')" v-model="form.email">
                                            </div>
                                        </div>
                                        <div class="col-lg-6 col-md-6">
                                            <div class="twr_form_box">
                                                <input type="number" name="number" :placeholder="$t('message.common.phone')">
                                                <input type="number" name="number" :placeholder="$t('message.common.phone')" v-model="form.phone">
                                            </div>
                                        </div>
                                        <div class="col-lg-6 col-md-6">
                                            <div class="twr_form_box">
                                                <input type="text" name="subject" :placeholder="$t('message.common.subject')">
                                                <input type="text" name="subject" :placeholder="$t('message.common.subject')" v-model="form.subject">
                                            </div>
                                        </div>
                                        <div class="col-lg-12 col-md-12">
                                            <div class="twr_form_box ">
                                                <textarea name="textarea" :placeholder="$t('message.common.message')"></textarea>
                                                <textarea name="textarea" :placeholder="$t('message.common.message')" v-model="form.message"></textarea>
                                            </div>
                                            <button type="submit" name="ok" class="btn ">{{ $t('message.common.submit') }}</button>
                                            <button type="button" name="ok" class="btn" @click="submitForm" :disabled="submitDisabled">{{ $t('message.common.submit') }}</button>
                                        </div>
                                        <div class="col-lg-12 text-center">
                                            <p class="form-messege"></p>
@@ -155,7 +156,13 @@
            mixins: [sharedMixin],
            data() {
                return {
                    form: {
                        name: '',
                        email: '',
                        phone: '',
                        subject: '',
                        message: '',
                    }
                };
            },
            computed: {
@@ -166,6 +173,45 @@
            created() {
            },
            methods: {
                submitForm() {
                    var that = this;
                    that.submitDisabled = true;
                    const loading = this.$loading({
                        lock: true,
                        text: '提交中',
                        spinner: 'el-icon-loading',
                        background: 'rgba(0, 0, 0, 0.2)'
                    });
                    let url = "/home/contact/save_message.html";
                    postRequest(url, that.form).then(res => {
                        loading.close();
                        if (res.data.code == 200) {
                            that.$message({
                                message: res.data.message,
                                type: 'success',
                                duration: 1000,
                                center: true,
                                onClose: function () {
                                    that.form = {
                                        name: '',
                                        email: '',
                                        phone: '',
                                        subject: '',
                                        message: '',
                                    }
                                }
                            });
                        } else {
                            that.submitDisabled = false;
                            that.$message({
                                message: res.data.message,
                                type: 'error',
                                duration: 1500,
                                center: true
                            });
                        }
                    });
                }
            },
        };
app/home/view/index/index.html
@@ -9,6 +9,37 @@
    <include file="common:element-plus" />
    <link rel="stylesheet" href="/static/home/css/index/index.css?x=3">
    <include file="common:html-header" />
    <style>
        .cover_img {
            width: 360px;
            height: 240px;
            vertical-align: middle;
            object-fit: cover;
        }
        .blog-title {
            height: 53px;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
        }
        .blog-desc {
            height: 77px;
            margin: 15px 0;
            padding: 0 0 0 0 !important;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
        }
        .witr_pslide_image img{
            width: 100%;
        }
    </style>
</head>
<body>
@@ -16,66 +47,7 @@
        <!-- 顶部 导航栏 -->
        <include file="common:top-header" />
        <!-- MOBILE MENU Logo AREA -->
        <div class="mobile_logo_area hidden-md hidden-lg">
            <div class="container">
                <div class="row">
                    <div class="col-sm-12">
                        <div class="mobile_menu_logo text-center">
                            <a href="index.html" title="lowgo">
                                <img src="/static/home/images/logo.png" alt="lowgo">
                            </a>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <!-- MOBILE MENU AREA -->
        <div class="home-2 mbm hidden-md hidden-lg  header_area main-menu-area">
            <div class="menu_area mobile-menu">
                <nav class="itpart_menu">
                    <ul class="sub-menu">
                        <li class="menu-item-has-children"><a href="#">Home</a>
                            <ul class="sub-menu">
                                <li><a href="index.html">Home Page</a></li>
                                <li><a href="home-two.html">Home Two Page</a></li>
                                <li><a href="home-video.html">Home Video Page</a></li>
                                <li><a href="landing-page.html">Landing Page</a></li>
                            </ul>
                        </li>
                        <li><a href="about.html">About</a></li>
                        <li><a href="service.html">Service</a></li>
                        <li class="menu-item-has-children"><a href="blog.html">Blog</a>
                            <ul class="sub-menu">
                                <li><a href="blog-left-sidebar.html">Blog Left Sidebar</a></li>
                                <li><a href="blog-right-sidebar.html">Blog Right Sidebar</a></li>
                                <li><a href="blog.html">Blog Gird</a></li>
                            </ul>
                        </li>
                        <li class="menu-item-has-children"><a href="#">Pages</a>
                            <ul class="sub-menu">
                                <li class="menu-item-has-children"><a href="">Portfolio</a>
                                    <ul class="sub-menu">
                                        <li><a href="portfolio-grid.html">Portfolio Grid</a></li>
                                        <li><a href="portfolio-3column.html">Portfolio 3Column</a></li>
                                        <li><a href="portfolio-4column.html">Portfolio 4Column</a></li>
                                    </ul>
                                </li>
                                <li><a href="testimonial.html">Testimonial</a></li>
                                <li><a href="pricing-table.html">Pricing Table</a></li>
                                <li><a href="team.html">Team</a></li>
                                <li><a href="faq-page.html">Faq Page</a></li>
                                <li><a href="single-service.html">Single Service</a></li>
                            </ul>
                        </li>
                        <li><a href="contact.html">Contact</a></li>
                    </ul>
                </nav>
            </div>
        </div>
        <!-- END MOBILE MENU AREA  -->
        <!-- 轮播图 -->
        <div class="witr_swiper_area">
            <div class="swiper-container swiper_active">
                <div class="swiper-wrapper">
@@ -205,7 +177,7 @@
            </div>
        </div>
        <!-- about area  -->
        <!-- 关于我们  -->
        <div class="itpart_about_area">
            <div class="container">
                <div class="row">
@@ -263,7 +235,7 @@
                                <!-- btn default style -->
                                <div class="witr_btn_style mr">
                                    <div class="witr_btn_sinner">
                                        <a href="#" class="witr_btn">{{ $t('message.common.aboutUs')}}</a>
                                        <a href="/home/about/index.html" class="witr_btn">{{ $t('message.common.aboutUs')}}</a>
                                    </div>
                                </div>
                            </div>
@@ -779,7 +751,7 @@
                                </div>
                                <!-- button -->
                                <div class="witr_btnp_color">
                                    <a class="btn" href="#">{{ $t('message.home.text-61') }}</a>
                                    <a class="btn" href="/home/contact/index.html">{{ $t('message.home.text-61') }}</a>
                                </div>
                            </div>
                        </div>
@@ -805,7 +777,7 @@
                                </div>
                                <!-- button -->
                                <div class="witr_btnp_color">
                                    <a class="btn" href="#">{{ $t('message.home.text-61') }}</a>
                                    <a class="btn" href="/home/contact/index.html">{{ $t('message.home.text-61') }}</a>
                                </div>
                            </div>
                        </div>
@@ -831,7 +803,7 @@
                                </div>
                                <!-- button -->
                                <div class="witr_btnp_color">
                                    <a class="btn" href="#">{{ $t('message.home.text-61') }}</a>
                                    <a class="btn" href="/home/contact/index.html">{{ $t('message.home.text-61') }}</a>
                                </div>
                            </div>
                        </div>
@@ -858,6 +830,31 @@
                        <div class="testimonial_active">
                            <!-- single testimonial -->
                            <div class="witr_testi_itemt testi-width all_color_testimonial">
                                <div class="">
                                    <img src="/static/home/images/parent-1.png" alt="image" />
                                </div>
                            </div>
                            <div class="witr_testi_itemt testi-width all_color_testimonial">
                                <div class="">
                                    <img src="/static/home/images/parent-2.png" alt="image" />
                                </div>
                            </div>
                            <div class="witr_testi_itemt testi-width all_color_testimonial">
                                <div class="">
                                    <img src="/static/home/images/parent-3.png" alt="image" />
                                </div>
                            </div>
                            <div class="witr_testi_itemt testi-width all_color_testimonial">
                                <div class="">
                                    <img src="/static/home/images/parent-4.png" alt="image" />
                                </div>
                            </div>
                            <div class="witr_testi_itemt testi-width all_color_testimonial">
                                <div class="">
                                    <img src="/static/home/images/parent-5.png" alt="image" />
                                </div>
                            </div>
                            <!-- <div class="witr_testi_itemt testi-width all_color_testimonial">
                                <div class="em_single_testimonial">
                                    <div class="em_test_thumb test-part">
                                        <img src="/static/home/assets/images/t1.png" alt="image" />
@@ -871,7 +868,6 @@
                                    </div>
                                    <div class="em_testi_content">
                                        <div class="em_testi_text">
                                            <!-- content -->
                                            <p>Through gaining experience in various economic periods, our team are able to identify the best opportunities hether we are in good times or bad times.</p>
                                        </div>
                                    </div>
@@ -891,79 +887,7 @@
                                        </ul>
                                    </div>
                                </div>
                            </div>
                            <!-- 02 single testimonial -->
                            <div class="witr_testi_itemt testi-width all_color_testimonial">
                                <div class="em_single_testimonial">
                                    <div class="em_test_thumb test-part">
                                        <img src="/static/home/assets/images/t2.png" alt="image" />
                                    </div>
                                    <div class="em_testi_title">
                                        <h2>Chicana males <span>Manager</span></h2>
                                    </div>
                                    <div class="em_testi_logo">
                                        <div class="em_testilogo_inner">
                                        </div>
                                    </div>
                                    <div class="em_testi_content">
                                        <div class="em_testi_text">
                                            <!-- content -->
                                            <p>Through gaining experience in various economic periods, our team are able to identify the best opportunities hether we are in good times or bad times.</p>
                                        </div>
                                    </div>
                                    <div class="test-part">
                                        <ul>
                                            <li>
                                                <div class="execllent_toggol">
                                                    <div class="em_crating">
                                                        <i class="icofont-star active"></i>
                                                        <i class="icofont-star active"></i>
                                                        <i class="icofont-star active"></i>
                                                        <i class="icofont-star active"></i>
                                                        <i class="icofont-star active"></i>
                                                    </div>
                                                </div>
                                            </li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                            <!-- 03 single testimonial -->
                            <div class="witr_testi_itemt testi-width all_color_testimonial">
                                <div class="em_single_testimonial">
                                    <div class="em_test_thumb test-part">
                                        <img src="/static/home/assets/images/t1.png" alt="image" />
                                    </div>
                                    <div class="em_testi_title">
                                        <h2>David Markers <span>Co- Of Officer</span></h2>
                                    </div>
                                    <div class="em_testi_logo">
                                        <div class="em_testilogo_inner">
                                        </div>
                                    </div>
                                    <div class="em_testi_content">
                                        <div class="em_testi_text">
                                            <!-- content -->
                                            <p>Through gaining experience in various economic periods, our team are able to identify the best opportunities hether we are in good times or bad times.</p>
                                        </div>
                                    </div>
                                    <div class="test-part">
                                        <ul>
                                            <li>
                                                <div class="execllent_toggol">
                                                    <div class="em_crating">
                                                        <i class="icofont-star active"></i>
                                                        <i class="icofont-star active"></i>
                                                        <i class="icofont-star active"></i>
                                                        <i class="icofont-star active"></i>
                                                        <i class="icofont-star active"></i>
                                                    </div>
                                                </div>
                                            </li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                            </div> -->
                        </div>
                    </div>
@@ -1153,122 +1077,44 @@
                        <div class="witr_blog_area12">
                            <div class="blog_active ">
                                <!-- single blog -->
                                <div class="witr_all_mb_30 col-md-12 col-xs-12 col-sm-12">
                                    <div class="busi_singleBlog">
                                        <!-- image -->
                                        <div class="witr_sb_thumb">
                                            <a href="#"> <img src="/static/home/assets/images/blog1.jpg" alt="image" /> </a>
                                            <div class="witr_top_category">
                                                <!-- category -->
                                                <ul class="post-categories">
                                <volist name="list" id="item">
                                    <div class="witr_all_mb_30 col-md-12 col-xs-12 col-sm-12">
                                        <div class="busi_singleBlog">
                                            <!-- image -->
                                            <div class="witr_sb_thumb ">
                                                <a href="#"> <img src="{$item.cover_img}" alt="image" class="cover_img" /> </a>
                                                <div class="witr_top_category category_blog_grid">
                                                    <!-- category -->
                                                    <!-- <ul class="post-categories">
                                                    <li><a href="#">Developer</a></li>
                                                </ul>
                                                </ul> -->
                                                </div>
                                            </div>
                                        </div>
                                        <div class="all_blog_color">
                                            <div class="witr_blog_con bs5">
                                                <!--  post meta -->
                                                <span><a href="#"><i class="icofont-user-alt-3"></i> Itpa</a></span>
                                                <span><a href="#"><i class="icofont-ui-clock"></i></a> 24 Aug 2021</span>
                                                <!-- title -->
                                                <h2><a href="single-blog.html">How investing in depended increasing to business.</a></h2>
                                                <!-- content -->
                                                <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore</p>
                                                <div class="wbutton_right_icon">
                                                    <a href="#"><i class="ti-arrow-right"></i></a>
                                            <div class="all_blog_color">
                                                <div class="witr_blog_con bs5">
                                                    <!-- title -->
                                                    <h2>
                                                        <a href="javascript:void(0)" @click="gotoBlogDetail(item.id)" class="blog-title">
                                                            <template v-if="language=='zh-cn'">{$item.title}</template>
                                                            <template v-else>{$item.en_title}</template>
                                                        </a>
                                                    </h2>
                                                    <!--  post meta -->
                                                    <!-- <span><a href="#"><i class="icofont-user-alt-3"></i> Itpa</a></span> -->
                                                    <span><a href="#"><i class="icofont-ui-clock"></i></a>{{formatDate({$item.create_time})}}</span>
                                                    <!-- content -->
                                                    <p class="blog-desc">
                                                        <template v-if="language=='zh-cn'">{$item.desc}</template>
                                                        <template v-else>{$item.en_desc}</template>
                                                    </p>
                                                    <!-- <div class="learn_more_adn">
                                                        <a class="learn_btn adnbtn2" href="javascript:void(0)" @click="gotoBlogDetail({$item.id})">Read More</a>
                                                    </div> -->
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <!-- 02 single blog -->
                                <div class="witr_all_mb_30 col-md-12 col-xs-12 col-sm-12">
                                    <div class="busi_singleBlog">
                                        <!-- image -->
                                        <div class="witr_sb_thumb">
                                            <a href="#"> <img src="/static/home/assets/images/blog2.jpg" alt="image" /> </a>
                                            <div class="witr_top_category">
                                                <!-- category -->
                                                <ul class="post-categories">
                                                    <li><a href="#">Support</a></li>
                                                </ul>
                                            </div>
                                        </div>
                                        <div class="all_blog_color">
                                            <div class="witr_blog_con bs5">
                                                <!--  post meta -->
                                                <span><a href="#"><i class="icofont-user-alt-3"></i> Itpa</a></span>
                                                <span><a href="#"><i class="icofont-ui-clock"></i></a> 29 Aug 2021</span>
                                                <!-- title -->
                                                <h2><a href="single-blog.html">Email marketing tips that will increase your sales.</a></h2>
                                                <!-- content -->
                                                <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore</p>
                                                <div class="wbutton_right_icon">
                                                    <a href="#"><i class="ti-arrow-right"></i></a>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <!-- 03 single blog -->
                                <div class="witr_all_mb_30 col-md-12 col-xs-12 col-sm-12">
                                    <div class="busi_singleBlog">
                                        <!-- image -->
                                        <div class="witr_sb_thumb">
                                            <a href="#"> <img src="/static/home/assets/images/blog3.jpg" alt="image" /> </a>
                                            <div class="witr_top_category">
                                                <!-- category -->
                                                <ul class="post-categories">
                                                    <li><a href="#">It Service</a></li>
                                                </ul>
                                            </div>
                                        </div>
                                        <div class="all_blog_color">
                                            <div class="witr_blog_con bs5">
                                                <!--  post meta -->
                                                <span><a href="#"><i class="icofont-user-alt-3"></i> Itpa</a></span>
                                                <span><a href="#"><i class="icofont-ui-clock"></i></a>24 Jun 2021</span>
                                                <!-- title -->
                                                <h2><a href="single-blog.html">Productivity tips to avoid burn out when working.</a></h2>
                                                <!-- content -->
                                                <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore</p>
                                                <div class="wbutton_right_icon">
                                                    <a href="#"><i class="ti-arrow-right"></i></a>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <!-- 04 single blog -->
                                <div class="witr_all_mb_30 col-md-12 col-xs-12 col-sm-12">
                                    <div class="busi_singleBlog">
                                        <!-- image -->
                                        <div class="witr_sb_thumb">
                                            <a href="#"> <img src="/static/home/assets/images/blog11.jpg" alt="image" /> </a>
                                            <div class="witr_top_category">
                                                <!-- category -->
                                                <ul class="post-categories">
                                                    <li><a href="#">Management</a></li>
                                                </ul>
                                            </div>
                                        </div>
                                        <div class="all_blog_color">
                                            <div class="witr_blog_con bs5">
                                                <!--  post meta -->
                                                <span><a href="#"><i class="icofont-user-alt-3"></i> Itpa</a></span>
                                                <span><a href="#"><i class="icofont-ui-clock"></i></a> 24 Aug 2021</span>
                                                <!-- title -->
                                                <h2><a href="single-blog.html">How investing in depended increasing to business.</a></h2>
                                                <!-- content -->
                                                <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore</p>
                                                <div class="wbutton_right_icon">
                                                    <a href="#"><i class="ti-arrow-right"></i></a>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                </volist>
                            </div>
                        </div>
                    </div>
@@ -1307,29 +1153,29 @@
                                    <div class="row">
                                        <div class="col-lg-6 col-md-6">
                                            <div class="twr_form_box">
                                                <input type="text" name="name" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required form-control" :placeholder="$t('message.common.name')">
                                                <input type="text" name="name" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required form-control" :placeholder="$t('message.common.name')" v-model="form.name">
                                            </div>
                                        </div>
                                        <div class="col-lg-6 col-md-6">
                                            <div class="twr_form_box">
                                                <input type="email" name="email" class="wpcf7-form-control wpcf7-text wpcf7-email wpcf7-validates-as-required wpcf7-validates-as-email form-control" :placeholder="$t('message.common.email')">
                                                <input type="email" name="email" class="wpcf7-form-control wpcf7-text wpcf7-email wpcf7-validates-as-required wpcf7-validates-as-email form-control" :placeholder="$t('message.common.email')" v-model="form.email">
                                            </div>
                                        </div>
                                        <div class="col-lg-6 col-md-6">
                                            <div class="twr_form_box">
                                                <input type="number" name="number" class="wpcf7-form-control wpcf7-number wpcf7-validates-as-required wpcf7-validates-as-number form-control" :placeholder="$t('message.common.phone')">
                                                <input type="number" name="number" class="wpcf7-form-control wpcf7-number wpcf7-validates-as-required wpcf7-validates-as-number form-control" :placeholder="$t('message.common.phone')" v-model="form.phone">
                                            </div>
                                        </div>
                                        <div class="col-lg-6 col-md-6">
                                            <div class="twr_form_box">
                                                <input type="text" name="subject" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required form-control" :placeholder="$t('message.common.subject')">
                                                <input type="text" name="subject" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required form-control" :placeholder="$t('message.common.subject')" v-model="form.subject">
                                            </div>
                                        </div>
                                        <div class="col-lg-12 col-md-12">
                                            <div class="twr_form_box ">
                                                <textarea name="textarea" class="wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required form-control" :placeholder="$t('message.common.message')"></textarea>
                                                <textarea name="textarea" class="wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required form-control" :placeholder="$t('message.common.message')" v-model="form.message"></textarea>
                                            </div>
                                            <button type="submit" name="ok" class="btn">{{ $t('message.common.submit') }}</button>
                                            <button type="button" name="ok" class="btn" @click="submitForm" :disabled="submitDisabled">{{ $t('message.common.submit') }}</button>
                                        </div>
                                        <div class="col-lg-12 text-center">
                                            <p class="form-messege"></p>
@@ -1406,11 +1252,19 @@
    <!-- Vue App -->
    <script src="/static/vue/mixin.js"></script>
    <script>
        var language = localStorage.getItem('changjiang-park-lang') || 'zh-cn';
        const App = {
            mixins: [sharedMixin],
            data() {
                return {
                    language: language,
                    form: {
                        name: '',
                        email: '',
                        phone: '',
                        subject: '',
                        message: '',
                    }
                };
            },
            computed: {
@@ -1421,6 +1275,53 @@
            created() {
            },
            methods: {
                formatDate(time) {
                    return moment(time * 1000).format("YYYY-MM-DD");
                },
                /////进入博客详情/////
                gotoBlogDetail(id) {
                    window.location.href = '/home/blog/detail/id/' + id + '.html';
                },
                submitForm() {
                    var that = this;
                    that.submitDisabled = true;
                    const loading = this.$loading({
                        lock: true,
                        text: '提交中',
                        spinner: 'el-icon-loading',
                        background: 'rgba(0, 0, 0, 0.2)'
                    });
                    let url = "/home/contact/save_message.html";
                    postRequest(url, that.form).then(res => {
                        loading.close();
                        if (res.data.code == 200) {
                            that.$message({
                                message: res.data.message,
                                type: 'success',
                                duration: 1000,
                                center: true,
                                onClose: function () {
                                    that.form = {
                                        name: '',
                                        email: '',
                                        phone: '',
                                        subject: '',
                                        message: '',
                                    }
                                }
                            });
                        } else {
                            that.submitDisabled = false;
                            that.$message({
                                message: res.data.message,
                                type: 'error',
                                duration: 1500,
                                center: true
                            });
                        }
                    });
                }
            },
        };
@@ -1436,4 +1337,5 @@
    </script>
</body>
<include file="common:html-css-js" />
</html>
app/home/view/partners/index.html
@@ -62,12 +62,12 @@
                        <div class="witr_service2 service_overflow_inherit all_service2_color ">
                            <!-- image -->
                            <div class="witr_service2_image">
                                <img src="/static/home/assets/images/service1.jpg" alt="image">
                                <div class="wbutton_top_service_icon">
                                <img src="/static/home/images/collaborators-2.png" alt="image">
                                <!-- <div class="wbutton_top_service_icon">
                                    <a href="">
                                        <span class="ti-arrow-right"></span>
                                    </a>
                                </div>
                                </div> -->
                            </div>
                            <div class="witr_servicetwo_text">
                                <div class="witr_service2_icon_bottom">
@@ -85,12 +85,12 @@
                        <div class="witr_service2 service_overflow_inherit all_service2_color ">
                            <!-- image -->
                            <div class="witr_service2_image">
                                <img src="/static/home/assets/images/service-2.jpg" alt="image">
                                <div class="wbutton_top_service_icon">
                                <img src="/static/home/images/collaborators-1.png" alt="image">
                                <!-- <div class="wbutton_top_service_icon">
                                    <a href="">
                                        <span class="ti-arrow-right"></span>
                                    </a>
                                </div>
                                </div> -->
                            </div>
                            <div class="witr_servicetwo_text">
                                <div class="witr_service2_icon_bottom">
@@ -108,12 +108,12 @@
                        <div class="witr_service2 service_overflow_inherit all_service2_color ">
                            <!-- image -->
                            <div class="witr_service2_image">
                                <img src="/static/home/assets/images/service-3.jpg" alt="image">
                                <div class="wbutton_top_service_icon">
                                <img src="/static/home/images/collaborators-3.png" alt="image">
                                <!-- <div class="wbutton_top_service_icon">
                                    <a href="">
                                        <span class="ti-arrow-right"></span>
                                    </a>
                                </div>
                                </div> -->
                            </div>
                            <div class="witr_servicetwo_text">
                                <div class="witr_service2_icon_bottom">
public/favicon.ico

public/static/admin/js/blog/add.js
@@ -1,7 +1,9 @@
var id = $("#id").val();
const App = {
    mixins: [sharedMixin],/////共用的方法/////
    data() {
        return {
            blog_id: id,
            addBlogForm: {
                title: '',
                en_title: '',
@@ -17,11 +19,14 @@
    mounted() {
    },
    created() {
        window.setHtmlValue = this.setHtmlValue;
        window.getHtmlValue = this.getHtmlValue;
        if (this.blog_id > 0) {
            this.getBlogInfo();
        }
    },
    methods: {
        /////获取富文本内容/////
        setHtmlValue(value, type = 1) {
        getHtmlValue(value, type = 1) {
            if (type == 1) {
                this.addBlogForm.content = value;
            } else {
@@ -29,6 +34,7 @@
            }
        },
        /////上传图片成功后/////
        handleCoverImgSuccess(response, uploadFile) {
            if (response.code != 200) {
                this.$message({
@@ -39,12 +45,9 @@
                return false;
            }
            this.addBlogForm.cover_img = response.data.url;
            // console.log(response,uploadFile);
            // this.addBlogForm.cover_img = arguments[0].url;
        },
        handleRemove(){},
        /////上传图片之前/////
        beforeCoverImgUpload(rawFile) {
            // console.log(rawFile);
            if (rawFile.type !== 'image/jpeg') {
@@ -66,6 +69,28 @@
            }
            return true;
        },
        /////获取博客信息/////
        getBlogInfo() {
            let that = this;
            let url = "/admin/blog/get_blog_info.html";
            postRequest(url, { id: that.blog_id }).then(res => {
                if (res.data.code == 200) {
                    that.addBlogForm = res.data.data;
                    setTimeout(function () {
                        window.setHtmlValue(res.data.data.content, 1);
                        window.setHtmlValue(res.data.data.en_content, 2);
                    })
                } else {
                    that.$message({
                        message: res.data.message,
                        type: 'error',
                        duration: 1500,
                        center: true
                    });
                }
            })
        },
        /////保存/////
        onSubmit() {
            var that = this;
public/static/admin/js/blog/index.js
@@ -2,19 +2,112 @@
    mixins: [sharedMixin],/////共用的方法/////
    data() {
        return {
            list: [],
            blogList: [],
            listCount: 0,
            searchForm: {
                keyword: "",
                page: 1,
                limit: 20,
            },
            ifsubmit: false,
        };
    },
    mounted() {
    },
    created() { },
    created() {
        this.getBlogList();
    },
    methods: {
        index() {
        formatDate(time) {
            return moment(time * 1000).format("YYYY-MM-DD H:m");
        },
        /////改变状态/////
        changeBlogStatus(id) {
            let that = this;
            let url = "/admin/adminmenu/index.html"
            postRequest(url, {}).then(res => {
            let loading = this.$loading({
                lock: true,
                text: 'Loading',
                spinner: 'el-icon-loading',
                background: 'rgba(0, 0, 0, 0.7)'
            });
            let url = "/admin/blog/change_blog_status.html";
            postRequest(url, { id: id }).then(res => {
                loading.close()
                if (res.data.code == 200) {
                    that.list = res.data.list;
                    that.$message({
                        message: res.data.message,
                        type: 'success',
                        duration: 1000,
                        center: true,
                        onClose: function () {
                            that.getBlogList();
                        }
                    })
                } else {
                    that.$message({
                        message: res.data.message,
                        type: 'error',
                        duration: 2000,
                        center: true
                    });
                }
            })
        },
        /////进入编辑页面/////
        editBlog(id) {
            window.location.href = "/admin/blog/add/id/" + id + ".html";
        },
        /////删除文章/////
        deleteBlog(id) {
            let that = this;
            let loading = this.$loading({
                lock: true,
                text: 'Loading',
                spinner: 'el-icon-loading',
            });
            let url = "/admin/blog/delete_blog.html";
            postRequest(url, { id: id }).then(res => {
                loading.close()
                if (res.data.code == 200) {
                    that.$message({
                        message: res.data.message,
                        type: 'success',
                        duration: 1000,
                        center: true,
                        onClose: function () {
                            that.getBlogList();
                        }
                    })
                } else {
                    that.$message({
                        message: res.data.message,
                        type: 'error',
                        duration: 2000,
                        center: true
                    });
                }
            })
        },
        /////获取文章列表/////
        getBlogList(page = 1) {
            let that = this;
            that.searchForm.page = page;
            let loading = this.$loading({
                lock: true,
                text: 'Loading',
                spinner: 'el-icon-loading',
                background: 'rgba(0, 0, 0, 0.7)'
            });
            let url = "/admin/blog/get_blog_list.html"
            postRequest(url, that.searchForm).then(res => {
                loading.close()
                if (res.data.code == 200) {
                    that.blogList = res.data.data.list;
                    that.listCount = +res.data.data.total;
                }
            });
        },
public/static/admin/js/online_message/index.js
New file
@@ -0,0 +1,90 @@
const App = {
    mixins: [sharedMixin],/////共用的方法/////
    data() {
        return {
            list: [],
            count: 0,
            searchForm: {
                page: 1,
                limit: 20,
                kw: '',
            },
        };
    },
    mounted() {
        this.getOnlineMessageList();
    },
    created() { },
    methods: {
        formatDate(time) {
            return moment(time * 1000).format("YYYY-MM-DD H:m");
        },
        ///修改扩展字段的值////
        changeMessageStatus(id) {
            let that = this;
            let url = "/admin/onlineMessage/change_message_status.html"
            postRequest(url, { id: id }).then(res => {
                if (res.data.code == 200) {
                    that.$message({
                        message: res.data.message,
                        type: 'success',
                        duration: 1000,
                        center: true,
                        onClose: function () {
                            that.getOnlineMessageList();
                        }
                    });
                } else {
                    that.$message({
                        message: res.data.message,
                        type: 'error',
                        duration: 2000,
                        center: true
                    });
                }
            });
        },
        handleSizeChange(val) {
            //////设置每页多少条
            this.searchForm.page_size = val
            this.getOnlineMessageList();
        },
        handleCurrentChange(val) {
            ///改变当前页///////
            this.searchForm.page = val
            this.getOnlineMessageList();
        },
        // 获取公告列表
        getOnlineMessageList() {
            let that = this;
            const loading = this.$loading({
                lock: true,
                text: '获取中',
                spinner: 'el-icon-loading',
                background: 'rgba(0, 0, 0, 0.2)'
            });
            let url = "/admin/onlineMessage/get_online_message_list.html"
            postRequest(url, that.searchForm).then(res => {
                loading.close();
                if (res.data.code == 200) {
                    that.list = res.data.data.list;
                    that.count = +res.data.data.total;
                }
            }).catch(() => {
                //取消,不做处理
            });
        },
    }
};
const app = Vue.createApp(App);
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    app.component(key, component)
}
app.use(ElementPlus, {
    locale: ElementPlusLocaleZhCn,
});
app.mount("#vue_item");
public/static/admin/login/logo-m.png

public/static/home/images/logo.png

public/static/home/images/parent-1.png
public/static/home/images/parent-2.png
public/static/home/images/parent-3.png
public/static/home/images/parent-4.png
public/static/home/images/parent-5.png
public/static/home/style.css
@@ -446,7 +446,7 @@
    padding: 10px 0px;
}
.language_select_item{
.language_select_item {
    position: absolute;
    right: 10px;
    top: 10px;
@@ -1048,6 +1048,10 @@
    color: #ff3d00;
}
.itpart_nav_area.prefix .logo-title {
    color: #fff;
}
/* LOGO LEFT RIGHT CSS */
.logo-left {
    align-items: center;
@@ -1072,6 +1076,21 @@
.logo-right .itpart_menu>ul>li:last-child a {
    padding-right: auto;
}
.logo-title-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.logo-title-item .logo-title {
    text-align: right;
    font-size: 16px;
    font-weight: bold;
    line-height: 24px;
    display: flex;
    align-items: center;
}
/* logo top */
@@ -4772,7 +4791,7 @@
    margin: 26px 0;
}
.itpart-description-area .logo{
.itpart-description-area .logo {
    width: 100px;
}
public/static/images/language.png
public/static/images/logo.png

public/static/js/language/language.js
@@ -14,12 +14,13 @@
                'subject': '主题',
                'message': '留言',
                'service': '服务',
                'cpark': '长江国贸(南非)跨境电商产业园',
            },
            header: {
                'home': '首页',
                'about': '关于我们',
                'service': '服务',
                'blog': '推文',
                'blog': '最新动态',
                'partners': '合作伙伴',
                'contact': '联系我们',
            },
@@ -123,7 +124,7 @@
                'text-85': '近期更新',
            },
            about: {
                'text-1': '我们的股东',
                'text-1': '集团公司',
                'text-2': '武汉金融控股集团',
                'text-3': '作为武汉市属国有金融平台,深耕金融领域十余年。整合银行、证券、保险全牌照资源,为跨境电商企业定制出海金融方案,覆盖资金授信、海外风控等全流程,助力突破资金壁垒,稳健布局全球市场。',
                'text-4': '长江国贸',
@@ -165,6 +166,9 @@
                'text-4': '国内电话',
                'text-5': '国际电话',
            },
            blog: {
                'text-1': '你可以看看我们的工作',
            }
        }
    },
    'en-us': {
@@ -182,6 +186,7 @@
                'subject': 'Subject',
                'message': 'Message',
                'service': 'Service',
                'cpark': 'Changjiang SA E-Commerce Hub',
            },
            header: {
                'home': 'Home',
@@ -292,7 +297,7 @@
                'text-85': 'Our Recent Update',
            },
            about: {
                'text-1': 'Our Shareholder',
                'text-1': 'Group Company',
                'text-2': 'Wuhan Financial Holdings Group',
                'text-3': 'As a state - owned financial platform in Wuhan, we’ve specialized in finance for over a decade. Integrating banking, securities, and insurance resources, we design tailored financial solutions for cross - border e - commerce enterprises—covering credit lines, overseas risk management, and end - to - end support. We help break capital barriers and expand globally with stability.',
                'text-4': 'Changjiang International Trade Group',
@@ -317,7 +322,6 @@
                'text-13': 'Overseas Warehouse Service',
                'text-14': 'Manage localized SA warehouses with one - stop services (storage, dropshipping, returns).',
            },
            partners: {
                'text-1': 'Our Collaborators',
                'text-2': "We're Backed by Quality Institutions",
@@ -329,6 +333,9 @@
                'text-4': 'Domestic',
                'text-5': 'International',
            },
            blog: {
                'text-1': 'You Can Check Out Our Work',
            }
        }
    }
}
public/static/vue/mixin.js
@@ -14,18 +14,18 @@
                { id: 2, name_loc: 'English', symbol: 'en-us' },
                // { id: 3, name_loc: 'ar', symbol: 'ar' },
            ],
            currentLang: '',
            currentLang: 'zh-cn',
            i18n: i18n.global, // 引入i18n实例
        }
    },
    // 生命周期 - 创建完成(可以访问当前this实例)
    mounted() {
        this.currentLang = this.i18n.locale || 'zh-cn';
    },
    // 创建生命周期
    created() {
        this.currentLang = this.i18n.locale || 'zh-cn';
    },
    // 方法
@@ -33,8 +33,10 @@
        ///// 切换语言 /////
        changeLanguage(newLang) {
            this.i18n.locale = newLang;
            this.i18n.currentLocale = newLang;
            // this.i18n.currentLocale = newLang;
            this.currentLocale = newLang;
            localStorage.setItem('changjiang-park-lang', newLang);
            window.location.reload();
        },
    }
}