Compare commits
2 Commits
7b8c3179fb
...
eb5180ead8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eb5180ead8 | ||
|
|
9b8a92f93b |
1
components.d.ts
vendored
1
components.d.ts
vendored
@ -34,6 +34,7 @@ declare module 'vue' {
|
||||
ElSelect: typeof import('element-plus/es')['ElSelect']
|
||||
ElSelectV2: typeof import('element-plus/es')['ElSelectV2']
|
||||
ElStatistic: typeof import('element-plus/es')['ElStatistic']
|
||||
ElTooltip: typeof import('element-plus/es')['ElTooltip']
|
||||
ElUpload: typeof import('element-plus/es')['ElUpload']
|
||||
FloatingMenu: typeof import('./src/components/floatingMenu.vue')['default']
|
||||
Login: typeof import('./src/components/login.vue')['default']
|
||||
|
||||
6
dist/index.html
vendored
6
dist/index.html
vendored
@ -7,9 +7,9 @@
|
||||
<meta name="description" content="小发同城官网是小发电商官方商家入驻平台的登录入口,提供了一站式的商家开店服务,在这里,商家可以轻松地注册账号、创建店铺、处理订单等。小发官网致力于为广大商家提供高效便捷的电商运营解决方案,助力商家实现商业成功,和小发合作,一起更好。"/>
|
||||
<meta name="keywords" content="小发同城电商,小发电商官网,小发同城超市好货,小发线上电商,小发线上超市,小发同城电商,小发本地团购,小发本地商家,小发社区好物,小发商家精选,小发电商招商,小发电商入驻,小发供应商,小发代理商,小发好货,小发好货官网。"/>
|
||||
<title>小发同城官网 - 小发旗下本地sass电商品牌,品类多,价格低。精选好货,省心省钱!</title>
|
||||
<script type="module" crossorigin src="/static/js/index-DDVLVyDd.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/static/js/element-plus-AsKvoHIC.js">
|
||||
<link rel="stylesheet" crossorigin href="/static/css/element-plus-pyN3dgBK.css">
|
||||
<script type="module" crossorigin src="/static/js/index-B8s36E3W.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/static/js/element-plus-CrqYkJa0.js">
|
||||
<link rel="stylesheet" crossorigin href="/static/css/element-plus-DWXu63qx.css">
|
||||
<link rel="stylesheet" crossorigin href="/static/css/index-V8C9L1Be.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@ -1 +1 @@
|
||||
.header[data-v-b304fc4b]{height:70px;width:100%;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;background-color:#fff;box-shadow:0 1px 6px #0000001a}.header-menu[data-v-b304fc4b]{flex:1;display:flex}.header-menu li[data-v-b304fc4b]{margin:0 20px;list-style:none;position:relative;color:#333}.header-menu li span[data-v-b304fc4b]{font-size:16px}.header-menu li:hover span[data-v-b304fc4b]{color:var(--bgcolor)}.header-menu li[data-v-b304fc4b]:before{content:"";position:absolute;bottom:0;left:50%;width:0;height:100%;border-bottom:3px solid var(--bgcolor);transition:all .2s}.header-menu li[data-v-b304fc4b]:hover:before{content:"";left:0;width:100%}.header-menu .router-link-active li[data-v-b304fc4b]:before{content:"";left:0;width:100%}.header-menu .router-link-active span[data-v-b304fc4b]{color:var(--bgcolor)}.header-menu a[data-v-b304fc4b]{text-decoration:none;color:inherit}.logo[data-v-b304fc4b]{margin-right:20px}.logo img[data-v-b304fc4b]{height:40px}.icon_avatar[data-v-b304fc4b]{width:32px;height:32px;display:flex;justify-content:center;align-items:center;background:#eee;border-radius:100%}.start[data-v-b304fc4b]{display:flex;justify-content:flex-end;align-items:center;margin-right:5px}.avatar[data-v-b304fc4b]{display:flex;justify-content:flex-end;align-items:center}.header_right[data-v-b304fc4b]{display:flex;justify-content:flex-end;align-items:center;gap:20px}.sub_menu[data-v-b304fc4b]{display:none;cursor:pointer}@media (max-width: 768px){.logo img[data-v-b304fc4b]{height:28px}.header[data-v-b304fc4b]{padding:0 10px}.header_right[data-v-b304fc4b]{gap:5px}.header-menu[data-v-b304fc4b],.start[data-v-b304fc4b]{display:none}.sub_menu[data-v-b304fc4b]{display:block}}.footer[data-v-83e55058]{background:#000b22;padding:20px;color:#999;font-size:14px}.footer a[data-v-83e55058]{display:inline-block;margin:0 5px;color:#999}.footer a[data-v-83e55058]:hover{color:#fff}.foot_menu[data-v-83e55058]{width:1200px;margin:auto}.col1[data-v-83e55058]{display:flex;align-items:center;justify-content:center}.logo_text img[data-v-83e55058]{width:48px;border-radius:10px}.copyright[data-v-83e55058]{padding-top:10px;text-align:center}@media (max-width: 768px){.foot_menu[data-v-83e55058]{display:none}.copyright[data-v-83e55058]{width:100%}}.floating-menu[data-v-e76d56f8]{position:fixed;right:5px;bottom:20%;padding:10px;z-index:1000}.floating-menu .menu-item[data-v-e76d56f8]{display:block;margin:5px 0;padding:8px 15px;border:none;border-radius:3px;background-color:#007bff;color:#fff;cursor:pointer;transition:background-color .3s ease}.floating-menu .menu-item[data-v-e76d56f8]:hover{background-color:#0056b3}.floating-menu .menu-item-wrapper[data-v-e76d56f8]{position:relative}.floating-menu .phone-popup[data-v-e76d56f8]{position:absolute;background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #0003;border-radius:5px;top:50%;left:-180px;transform:translateY(-50%);z-index:1001}.floating-menu .phone-popup-content[data-v-e76d56f8]{display:flex;flex-direction:column;padding:10px;justify-content:center;align-items:center}.floating-menu .phone-popup-content .code img[data-v-e76d56f8]{width:70px;height:70px}.floating-menu-mobile[data-v-e76d56f8]{position:fixed;right:5px;bottom:20%;padding:10px;z-index:1000;background:#fff;border-radius:10px;box-shadow:0 1px 10px #0003}.floating-menu-mobile .customer-serve[data-v-e76d56f8]{width:30px;height:30px;display:block;margin-bottom:10px}.floating-menu-mobile .customer-serve i[data-v-e76d56f8]{font-size:30px}.floating-menu-mobile .customer-serve .phone-popup[data-v-e76d56f8]{position:absolute;background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #0003;border-radius:5px;top:50%;left:-180px;transform:translateY(-50%);z-index:1001}.floating-menu-mobile .customer-serve .phone-popup-content[data-v-e76d56f8]{display:flex;flex-direction:column;padding:10px;justify-content:center;align-items:center}.floating-menu-mobile .customer-serve .phone-popup-content .code img[data-v-e76d56f8]{width:70px;height:70px}.floating-menu-mobile .feedback[data-v-e76d56f8]{width:30px;height:30px;display:block;margin-bottom:10px}.floating-menu-mobile .feedback i[data-v-e76d56f8]{font-size:30px}.floating-menu-mobile .backToTop[data-v-e76d56f8]{width:30px;height:30px;display:none}.floating-menu-mobile .backToTop i[data-v-e76d56f8]{font-size:30px}
|
||||
.header[data-v-9ee71bf6]{height:70px;width:100%;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;background-color:#fff;box-shadow:0 1px 6px #0000001a}.header-menu[data-v-9ee71bf6]{flex:1;display:flex}.header-menu li[data-v-9ee71bf6]{margin:0 20px;list-style:none;position:relative;color:#333}.header-menu li span[data-v-9ee71bf6]{font-size:16px}.header-menu li:hover span[data-v-9ee71bf6]{color:var(--bgcolor)}.header-menu li[data-v-9ee71bf6]:before{content:"";position:absolute;bottom:0;left:50%;width:0;height:100%;border-bottom:3px solid var(--bgcolor);transition:all .2s}.header-menu li[data-v-9ee71bf6]:hover:before{content:"";left:0;width:100%}.header-menu .router-link-active li[data-v-9ee71bf6]:before{content:"";left:0;width:100%}.header-menu .router-link-active span[data-v-9ee71bf6]{color:var(--bgcolor)}.header-menu a[data-v-9ee71bf6]{text-decoration:none;color:inherit}.logo[data-v-9ee71bf6]{margin-right:20px}.logo img[data-v-9ee71bf6]{height:40px}.icon_avatar[data-v-9ee71bf6]{width:32px;height:32px;display:flex;justify-content:center;align-items:center;background:#eee;border-radius:100%}.start[data-v-9ee71bf6]{display:flex;justify-content:flex-end;align-items:center;margin-right:5px}.avatar[data-v-9ee71bf6]{display:flex;justify-content:flex-end;align-items:center}.header_right[data-v-9ee71bf6]{display:flex;justify-content:flex-end;align-items:center;gap:20px}.sub_menu[data-v-9ee71bf6]{display:none;cursor:pointer}@media (max-width: 768px){.logo img[data-v-9ee71bf6]{height:28px}.header[data-v-9ee71bf6]{padding:0 10px}.header_right[data-v-9ee71bf6]{gap:5px}.header-menu[data-v-9ee71bf6],.start[data-v-9ee71bf6]{display:none}.sub_menu[data-v-9ee71bf6]{display:block}}.footer[data-v-83e55058]{background:#000b22;padding:20px;color:#999;font-size:14px}.footer a[data-v-83e55058]{display:inline-block;margin:0 5px;color:#999}.footer a[data-v-83e55058]:hover{color:#fff}.foot_menu[data-v-83e55058]{width:1200px;margin:auto}.col1[data-v-83e55058]{display:flex;align-items:center;justify-content:center}.logo_text img[data-v-83e55058]{width:48px;border-radius:10px}.copyright[data-v-83e55058]{padding-top:10px;text-align:center}@media (max-width: 768px){.foot_menu[data-v-83e55058]{display:none}.copyright[data-v-83e55058]{width:100%}}.floating-menu[data-v-e76d56f8]{position:fixed;right:5px;bottom:20%;padding:10px;z-index:1000}.floating-menu .menu-item[data-v-e76d56f8]{display:block;margin:5px 0;padding:8px 15px;border:none;border-radius:3px;background-color:#007bff;color:#fff;cursor:pointer;transition:background-color .3s ease}.floating-menu .menu-item[data-v-e76d56f8]:hover{background-color:#0056b3}.floating-menu .menu-item-wrapper[data-v-e76d56f8]{position:relative}.floating-menu .phone-popup[data-v-e76d56f8]{position:absolute;background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #0003;border-radius:5px;top:50%;left:-180px;transform:translateY(-50%);z-index:1001}.floating-menu .phone-popup-content[data-v-e76d56f8]{display:flex;flex-direction:column;padding:10px;justify-content:center;align-items:center}.floating-menu .phone-popup-content .code img[data-v-e76d56f8]{width:70px;height:70px}.floating-menu-mobile[data-v-e76d56f8]{position:fixed;right:5px;bottom:20%;padding:10px;z-index:1000;background:#fff;border-radius:10px;box-shadow:0 1px 10px #0003}.floating-menu-mobile .customer-serve[data-v-e76d56f8]{width:30px;height:30px;display:block;margin-bottom:10px}.floating-menu-mobile .customer-serve i[data-v-e76d56f8]{font-size:30px}.floating-menu-mobile .customer-serve .phone-popup[data-v-e76d56f8]{position:absolute;background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #0003;border-radius:5px;top:50%;left:-180px;transform:translateY(-50%);z-index:1001}.floating-menu-mobile .customer-serve .phone-popup-content[data-v-e76d56f8]{display:flex;flex-direction:column;padding:10px;justify-content:center;align-items:center}.floating-menu-mobile .customer-serve .phone-popup-content .code img[data-v-e76d56f8]{width:70px;height:70px}.floating-menu-mobile .feedback[data-v-e76d56f8]{width:30px;height:30px;display:block;margin-bottom:10px}.floating-menu-mobile .feedback i[data-v-e76d56f8]{font-size:30px}.floating-menu-mobile .backToTop[data-v-e76d56f8]{width:30px;height:30px;display:none}.floating-menu-mobile .backToTop i[data-v-e76d56f8]{font-size:30px}
|
||||
1
dist/static/css/check-C_awfM5f.css
vendored
Normal file
1
dist/static/css/check-C_awfM5f.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
[data-v-ca73a210] .el-upload--picture-card,[data-v-ca73a210] .el-upload-list__item{width:96px;height:96px;text-align:center;flex-direction:column;color:#666;line-height:20px}.signUp-container[data-v-ca73a210]{display:flex;padding-top:12px;flex-direction:column;align-items:center;justify-content:center;background:#eee}.signUp-container .tit[data-v-ca73a210]{font-size:16px;margin-bottom:15px}.signUp-container .tit[data-v-ca73a210] .el-result{padding:0}.signUp-container .steps-container[data-v-ca73a210]{width:1000px;padding:15px;border-radius:5px;background:#fff;margin-bottom:12px}.signUp-container .steps-container.nodata[data-v-ca73a210]{min-height:900px;display:flex;align-items:center;justify-content:center}.signUp-container[data-v-ca73a210] .upload-hidden .el-upload--picture-card{display:none}.signUp-container .form-submit[data-v-ca73a210]{width:1000px;padding:15px;border-radius:5px;background:#fff;margin-bottom:12px}.signUp-container .form-submit .from_box[data-v-ca73a210]{padding:15px;margin:0 0 12px;border-radius:5px;background:#fff}.signUp-container .form-button[data-v-ca73a210]{width:100%;text-align:center;padding:20px;background:#fff}.auto-item p[data-v-ca73a210]{font-size:15px;font-weight:900}.auto-item span[data-v-ca73a210]{font-size:10px}@media (max-width: 768px){.el-cascader-menu[data-v-ca73a210]{width:120px;min-width:120px}.signUp-container .steps-container[data-v-ca73a210],.signUp-container .form-submit[data-v-ca73a210]{width:100%}}
|
||||
1
dist/static/css/check-Tkaw9h5P.css
vendored
1
dist/static/css/check-Tkaw9h5P.css
vendored
@ -1 +0,0 @@
|
||||
[data-v-e163b4c6] .el-upload--picture-card,[data-v-e163b4c6] .el-upload-list__item{width:96px;height:96px;text-align:center;flex-direction:column;color:#666;line-height:20px}.signUp-container[data-v-e163b4c6]{display:flex;padding-top:12px;flex-direction:column;align-items:center;justify-content:center;background:#eee}.signUp-container .tit[data-v-e163b4c6]{font-size:16px;margin-bottom:15px}.signUp-container .tit[data-v-e163b4c6] .el-result{padding:0}.signUp-container .steps-container[data-v-e163b4c6]{width:1000px;padding:15px;border-radius:5px;background:#fff;margin-bottom:12px}.signUp-container .steps-container.nodata[data-v-e163b4c6]{min-height:900px;display:flex;align-items:center;justify-content:center}.signUp-container[data-v-e163b4c6] .upload-hidden .el-upload--picture-card{display:none}.signUp-container .form-submit[data-v-e163b4c6]{width:1000px;padding:15px;border-radius:5px;background:#fff;margin-bottom:12px}.signUp-container .form-submit .from_box[data-v-e163b4c6]{padding:15px;margin:0 0 12px;border-radius:5px;background:#fff}.signUp-container .form-button[data-v-e163b4c6]{width:100%;text-align:center;padding:20px;background:#fff}.auto-item p[data-v-e163b4c6]{font-size:15px;font-weight:900}.auto-item span[data-v-e163b4c6]{font-size:10px}@media (max-width: 768px){.el-cascader-menu[data-v-e163b4c6]{width:120px;min-width:120px}.signUp-container .steps-container[data-v-e163b4c6],.signUp-container .form-submit[data-v-e163b4c6]{width:100%}}
|
||||
File diff suppressed because one or more lines are too long
1
dist/static/css/start-D04RYMHN.css
vendored
1
dist/static/css/start-D04RYMHN.css
vendored
@ -1 +0,0 @@
|
||||
[data-v-dbe46851] .el-upload--picture-card,[data-v-dbe46851] .el-upload-list__item{width:96px;height:96px;text-align:center;flex-direction:column;color:#666;line-height:20px}.signUp-container[data-v-dbe46851]{display:flex;padding-top:12px;flex-direction:column;align-items:center;justify-content:center;background:#eee}.signUp-container .tit[data-v-dbe46851]{font-size:16px;margin-bottom:15px}.signUp-container .steps-container[data-v-dbe46851]{width:50%;padding:15px;border-radius:5px;background:#fff;margin-bottom:12px}.signUp-container[data-v-dbe46851] .upload-hidden .el-upload--picture-card{display:none}.signUp-container .form-submit[data-v-dbe46851]{width:50%}.signUp-container .form-submit[data-v-dbe46851] .el-form{max-width:100%!important}.signUp-container .form-submit .from_box[data-v-dbe46851]{width:100%;padding:15px;margin:0 0 12px;border-radius:5px;background:#fff}.signUp-container .form-button[data-v-dbe46851]{width:100%;text-align:center;padding:20px;background:#fff}.auto-item p[data-v-dbe46851]{font-size:15px;font-weight:900}.auto-item span[data-v-dbe46851]{font-size:10px}@media (max-width: 768px){.el-cascader-menu[data-v-dbe46851]{width:120px;min-width:120px}.signUp-container .steps-container[data-v-dbe46851],.signUp-container .form-submit[data-v-dbe46851]{width:100%}}
|
||||
1
dist/static/css/start-D4Y64k89.css
vendored
Normal file
1
dist/static/css/start-D4Y64k89.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
[data-v-54fe267d] .el-upload--picture-card,[data-v-54fe267d] .el-upload-list__item{width:96px;height:96px;text-align:center;flex-direction:column;color:#666;line-height:20px}.signUp-container[data-v-54fe267d]{display:flex;padding-top:12px;flex-direction:column;align-items:center;justify-content:center;background:#eee}.signUp-container .tit[data-v-54fe267d]{font-size:16px;margin-bottom:15px}.signUp-container .steps-container[data-v-54fe267d]{width:50%;padding:15px;border-radius:5px;background:#fff;margin-bottom:12px}.signUp-container[data-v-54fe267d] .upload-hidden .el-upload--picture-card{display:none}.signUp-container .form-submit[data-v-54fe267d]{width:50%}.signUp-container .form-submit[data-v-54fe267d] .el-form{max-width:100%!important}.signUp-container .form-submit .from_box[data-v-54fe267d]{width:100%;padding:15px;margin:0 0 12px;border-radius:5px;background:#fff}.signUp-container .form-button[data-v-54fe267d]{width:100%;text-align:center;padding:20px;background:#fff}.bank_name_tip[data-v-54fe267d]{display:flex;align-items:center;margin-left:10px}.bank_name_cont[data-v-54fe267d]{width:360px}.bank_name_cont h3[data-v-54fe267d]{margin-bottom:12px}.bank_name_cont p[data-v-54fe267d]{font-size:14px;margin-bottom:12px}.myui_check_text[data-v-54fe267d]{color:#999;padding-bottom:10px;text-align:center;font-size:14px}.auto-item p[data-v-54fe267d]{font-size:15px;font-weight:900}.auto-item span[data-v-54fe267d]{font-size:10px}@media (max-width: 768px){.el-cascader-menu[data-v-54fe267d]{width:120px;min-width:120px}.signUp-container .steps-container[data-v-54fe267d],.signUp-container .form-submit[data-v-54fe267d]{width:100%}.bank_name_tip[data-v-54fe267d]{margin-left:0}}
|
||||
@ -1 +1 @@
|
||||
import{H as r,v as d,J as t,X as e,B as a,y as o,Q as i,N as _}from"./element-plus-AsKvoHIC.js";import{_ as l}from"./_plugin-vue_export-helper-DlAUqK2U.js";const n="/static/jpg/ppt2-B63Md0hi.jpg",g="/static/jpg/ppt3-DJQEMBTC.jpg",m="/static/jpg/ppt4-N3gNKzlq.jpg",v="/static/jpg/ppt5-BECJkVjl.jpg",j="/static/jpg/target4-mqvy_N_v.jpg",u="/static/jpg/target5-D9hq6y0k.jpg",f="/static/jpg/target3-BFOCR9f2.jpg",x={},B={class:"about_container"},N={class:"brandTarget"};function b(C,s){const c=i,p=_;return d(),r("div",null,[t("div",B,[s[3]||(s[3]=e('<h1 data-v-53582c83>品牌介绍</h1><p data-v-53582c83> 小发同城是2024成立的创新型同城服务企业。自成立以来,秉持着 “以用户需求为核心,用贴心服务点亮城市生活” 的使命,不断整合各类优质资源, 搭建起一个涵盖配送、生活服务、商业服务等多元领域的综合性服务网络。 </p><p data-v-53582c83> 随着城市生活节奏的不断加快和人们对生活品质要求的日益提高, 同城服务市场有着广阔的发展前景。小发同城将继续秉承创新、高效、贴心的服务理念, 不断拓展服务领域,提升服务质量,为用户创造更多价值。同时,小发同城也将积极与各类商家、合作 伙伴携手共进,共同推动同城服务行业的发展,为打造更加便捷、美好的城市生活贡献自己的力量。 </p><div class="ppt" data-v-53582c83><img src="'+n+'" data-v-53582c83><img src="'+g+'" data-v-53582c83><img src="'+m+'" data-v-53582c83><img src="'+v+'" data-v-53582c83></div><h1 data-v-53582c83>品牌主张</h1>',5)),t("div",N,[a(p,{gutter:20},{default:o(()=>[a(c,{xs:24,sm:24,md:24,lg:8,xl:8},{default:o(()=>s[0]||(s[0]=[t("div",{class:"brandTarget_one"},[t("img",{src:j}),t("p",null,"服务到位")],-1)])),_:1}),a(c,{xs:24,sm:24,md:24,lg:8,xl:8},{default:o(()=>s[1]||(s[1]=[t("div",{class:"brandTarget_two"},[t("img",{src:u}),t("p",null,"快速解决")],-1)])),_:1}),a(c,{xs:24,sm:24,md:24,lg:8,xl:8},{default:o(()=>s[2]||(s[2]=[t("div",{class:"brandTarget_three"},[t("img",{src:f}),t("p",null,"客户放心")],-1)])),_:1})]),_:1})])])])}const k=l(x,[["render",b],["__scopeId","data-v-53582c83"]]);export{k as default};
|
||||
import{H as r,v as d,J as t,X as e,B as a,y as o,Q as i,N as _}from"./element-plus-CrqYkJa0.js";import{_ as l}from"./_plugin-vue_export-helper-DlAUqK2U.js";const n="/static/jpg/ppt2-B63Md0hi.jpg",g="/static/jpg/ppt3-DJQEMBTC.jpg",m="/static/jpg/ppt4-N3gNKzlq.jpg",v="/static/jpg/ppt5-BECJkVjl.jpg",j="/static/jpg/target4-mqvy_N_v.jpg",u="/static/jpg/target5-D9hq6y0k.jpg",f="/static/jpg/target3-BFOCR9f2.jpg",x={},B={class:"about_container"},N={class:"brandTarget"};function b(C,s){const c=i,p=_;return d(),r("div",null,[t("div",B,[s[3]||(s[3]=e('<h1 data-v-53582c83>品牌介绍</h1><p data-v-53582c83> 小发同城是2024成立的创新型同城服务企业。自成立以来,秉持着 “以用户需求为核心,用贴心服务点亮城市生活” 的使命,不断整合各类优质资源, 搭建起一个涵盖配送、生活服务、商业服务等多元领域的综合性服务网络。 </p><p data-v-53582c83> 随着城市生活节奏的不断加快和人们对生活品质要求的日益提高, 同城服务市场有着广阔的发展前景。小发同城将继续秉承创新、高效、贴心的服务理念, 不断拓展服务领域,提升服务质量,为用户创造更多价值。同时,小发同城也将积极与各类商家、合作 伙伴携手共进,共同推动同城服务行业的发展,为打造更加便捷、美好的城市生活贡献自己的力量。 </p><div class="ppt" data-v-53582c83><img src="'+n+'" data-v-53582c83><img src="'+g+'" data-v-53582c83><img src="'+m+'" data-v-53582c83><img src="'+v+'" data-v-53582c83></div><h1 data-v-53582c83>品牌主张</h1>',5)),t("div",N,[a(p,{gutter:20},{default:o(()=>[a(c,{xs:24,sm:24,md:24,lg:8,xl:8},{default:o(()=>s[0]||(s[0]=[t("div",{class:"brandTarget_one"},[t("img",{src:j}),t("p",null,"服务到位")],-1)])),_:1}),a(c,{xs:24,sm:24,md:24,lg:8,xl:8},{default:o(()=>s[1]||(s[1]=[t("div",{class:"brandTarget_two"},[t("img",{src:u}),t("p",null,"快速解决")],-1)])),_:1}),a(c,{xs:24,sm:24,md:24,lg:8,xl:8},{default:o(()=>s[2]||(s[2]=[t("div",{class:"brandTarget_three"},[t("img",{src:f}),t("p",null,"客户放心")],-1)])),_:1})]),_:1})])])])}const k=l(x,[["render",b],["__scopeId","data-v-53582c83"]]);export{k as default};
|
||||
1
dist/static/js/BasicLayout-Bqa0Wg6d.js
vendored
1
dist/static/js/BasicLayout-Bqa0Wg6d.js
vendored
File diff suppressed because one or more lines are too long
1
dist/static/js/BasicLayout-C37FyInv.js
vendored
Normal file
1
dist/static/js/BasicLayout-C37FyInv.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{j as f,a as b,r as v,H as V,J as d,B as t,y as o,_ as k,K as x,v as B,a3 as E,a4 as y,a7 as w,a8 as F,u as I,a9 as C,P as N}from"./element-plus-AsKvoHIC.js";import{u as U}from"./upload-BgHUQXsa.js";import{_ as g}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./http-BM7ZymMx.js";const j={class:"feedback-container"},R={class:"main"},h={class:"submit"},q=f({__name:"FeedBack",setup(H){const l=b({describe:"",img:"",contact:""}),c=v(),u=({file:r})=>{U(r,{}).then(a=>{console.log(a)}).catch(a=>{console.error(a)})};return(r,e)=>{const a=y,n=E,i=F,m=w,p=k,_=x;return B(),V("div",j,[d("div",R,[e[4]||(e[4]=d("div",{class:"title"}," 意见反馈 ",-1)),t(p,{model:l,"label-width":"150px"},{default:o(()=>[t(n,{label:"描述问题"},{default:o(()=>[t(a,{modelValue:l.describe,"onUpdate:modelValue":e[0]||(e[0]=s=>l.describe=s),rows:6,type:"textarea",style:{width:"95%"}},null,8,["modelValue"])]),_:1}),t(n,{label:"上传图片"},{default:o(()=>[t(m,{ref_key:"uploadRef",ref:c,multiple:"",limit:3,"list-type":"picture-card","http-request":u,"auto-upload":!1},{default:o(()=>[t(i,{class:"avatar-uploader-icon"},{default:o(()=>[t(I(C))]),_:1})]),_:1},512)]),_:1}),t(n,{label:"您的联系方式"},{default:o(()=>[t(a,{modelValue:l.contact,"onUpdate:modelValue":e[1]||(e[1]=s=>l.contact=s),style:{width:"95%"}},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),d("div",h,[t(_,{color:"#f34d2c",plain:"",onClick:e[2]||(e[2]=s=>c.value.submit())},{default:o(()=>e[3]||(e[3]=[N("提交反馈")])),_:1})])])])}}}),S=g(q,[["__scopeId","data-v-8b6b8404"]]);export{S as default};
|
||||
import{j as f,a as b,r as v,H as V,J as d,B as t,y as o,_ as k,K as x,v as B,a3 as E,a4 as y,a7 as w,a8 as F,u as I,a9 as C,P as N}from"./element-plus-CrqYkJa0.js";import{u as U}from"./upload-DmqG8Ita.js";import{_ as g}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./http-rCcLLANw.js";const j={class:"feedback-container"},R={class:"main"},h={class:"submit"},q=f({__name:"FeedBack",setup(H){const l=b({describe:"",img:"",contact:""}),c=v(),u=({file:r})=>{U(r,{}).then(a=>{console.log(a)}).catch(a=>{console.error(a)})};return(r,e)=>{const a=y,n=E,i=F,m=w,p=k,_=x;return B(),V("div",j,[d("div",R,[e[4]||(e[4]=d("div",{class:"title"}," 意见反馈 ",-1)),t(p,{model:l,"label-width":"150px"},{default:o(()=>[t(n,{label:"描述问题"},{default:o(()=>[t(a,{modelValue:l.describe,"onUpdate:modelValue":e[0]||(e[0]=s=>l.describe=s),rows:6,type:"textarea",style:{width:"95%"}},null,8,["modelValue"])]),_:1}),t(n,{label:"上传图片"},{default:o(()=>[t(m,{ref_key:"uploadRef",ref:c,multiple:"",limit:3,"list-type":"picture-card","http-request":u,"auto-upload":!1},{default:o(()=>[t(i,{class:"avatar-uploader-icon"},{default:o(()=>[t(I(C))]),_:1})]),_:1},512)]),_:1}),t(n,{label:"您的联系方式"},{default:o(()=>[t(a,{modelValue:l.contact,"onUpdate:modelValue":e[1]||(e[1]=s=>l.contact=s),style:{width:"95%"}},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),d("div",h,[t(_,{color:"#f34d2c",plain:"",onClick:e[2]||(e[2]=s=>c.value.submit())},{default:o(()=>e[3]||(e[3]=[N("提交反馈")])),_:1})])])])}}}),S=g(q,[["__scopeId","data-v-8b6b8404"]]);export{S as default};
|
||||
@ -1 +1 @@
|
||||
import{H as t,v as o,J as e}from"./element-plus-AsKvoHIC.js";import{_ as c}from"./_plugin-vue_export-helper-DlAUqK2U.js";const a="/static/png/help_temp-BLQ8f-Sb.png",n={},r={class:"help_container"};function _(i,s){return o(),t("div",r,s[0]||(s[0]=[e("div",{class:"main"},[e("div",{class:"help_img"},[e("img",{src:a})])],-1)]))}const m=c(n,[["render",_],["__scopeId","data-v-f6b367b9"]]);export{m as default};
|
||||
import{H as t,v as o,J as e}from"./element-plus-CrqYkJa0.js";import{_ as c}from"./_plugin-vue_export-helper-DlAUqK2U.js";const a="/static/png/help_temp-BLQ8f-Sb.png",n={},r={class:"help_container"};function _(i,s){return o(),t("div",r,s[0]||(s[0]=[e("div",{class:"main"},[e("div",{class:"help_img"},[e("img",{src:a})])],-1)]))}const m=c(n,[["render",_],["__scopeId","data-v-f6b367b9"]]);export{m as default};
|
||||
1
dist/static/js/PageNotFound-C_2jkOiZ.js
vendored
1
dist/static/js/PageNotFound-C_2jkOiZ.js
vendored
@ -1 +0,0 @@
|
||||
import{H as c,v as _,B as e,y as o,K as l,P as u,ag as i}from"./element-plus-AsKvoHIC.js";import{u as p}from"./index-DDVLVyDd.js";import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";const d={class:"mycontainer"},f={__name:"PageNotFound",setup(x){const a=p(),s=()=>{a.replace("/index")};return(g,t)=>{const n=l,r=i;return _(),c("div",d,[e(r,{icon:"warning",title:"404,请求资源不存在","sub-title":"抱歉!未找到页面"},{extra:o(()=>[e(n,{type:"primary",onClick:s},{default:o(()=>t[0]||(t[0]=[u("返回首页")])),_:1})]),_:1})])}}},P=m(f,[["__scopeId","data-v-56a57e43"]]);export{P as default};
|
||||
1
dist/static/js/PageNotFound-yfQxyCQ7.js
vendored
Normal file
1
dist/static/js/PageNotFound-yfQxyCQ7.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
import{H as c,v as _,B as e,y as o,K as i,P as l,ai as u}from"./element-plus-CrqYkJa0.js";import{u as p}from"./index-B8s36E3W.js";import{_ as m}from"./_plugin-vue_export-helper-DlAUqK2U.js";const d={class:"mycontainer"},f={__name:"PageNotFound",setup(x){const a=p(),s=()=>{a.replace("/index")};return(g,t)=>{const n=i,r=u;return _(),c("div",d,[e(r,{icon:"warning",title:"404,请求资源不存在","sub-title":"抱歉!未找到页面"},{extra:o(()=>[e(n,{type:"primary",onClick:s},{default:o(()=>t[0]||(t[0]=[l("返回首页")])),_:1})]),_:1})])}}},P=m(f,[["__scopeId","data-v-56a57e43"]]);export{P as default};
|
||||
1
dist/static/js/check-Ce50F7A0.js
vendored
1
dist/static/js/check-Ce50F7A0.js
vendored
File diff suppressed because one or more lines are too long
1
dist/static/js/check-DQxgOzIg.js
vendored
Normal file
1
dist/static/js/check-DQxgOzIg.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{d as g}from"./index-DDVLVyDd.js";import{r as s,G as d}from"./element-plus-AsKvoHIC.js";import{s as a}from"./http-BM7ZymMx.js";const y=g("user",()=>{const r=s(localStorage.getItem("token")||""),o=s(!1),t=s(localStorage.getItem("mobilePhone")||""),e=n=>{r.value=n,o.value=!0;const p=Date.now()+31536e3*1e3;localStorage.setItem("token",n),localStorage.setItem("tokenExpiry",p.toString())},i=n=>{t.value=n,localStorage.setItem("mobilePhone",n)},l=()=>{localStorage.removeItem("mobilePhone")},c=()=>{try{r.value="",o.value=!1,localStorage.removeItem("userInfo"),localStorage.removeItem("token"),localStorage.removeItem("tokenExpiry")}catch(n){console.error("Error clearing token from localStorage:",n)}},m=()=>{try{const n=localStorage.getItem("tokenExpiry");return n?Date.now()>parseInt(n,10):!0}catch(n){return console.error("Error checking token expiry:",n),!0}},u=n=>{localStorage.setItem("Identity",n)},h=()=>{localStorage.removeItem("Identity")};return d(()=>{try{const n=localStorage.getItem("token");n&&!m()?(r.value=n,o.value=!0):c()}catch(n){console.error("Error retrieving token from localStorage:",n)}}),{token:r,isLoggedIn:o,mobilePhone:t,setToken:e,clearToken:c,setMobilePhone:i,removeMobilePhone:l,setIdentity:u,removeIdentity:h}});function S(r){return r.isFilter=!0,new Promise((o,t)=>{a({url:"/api/mobile/account/login/doMerchSmsRegisterAndLogin",method:"post",data:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function v(r){return r.isFilter=!0,new Promise((o,t)=>{a({url:"/api/mobile/account/login/sendVerifyCode",method:"post",data:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function I(){return new Promise((r,o)=>{a({url:"/api/mobile/shop/shop-base-store-category/list",method:"post"}).then(t=>{r(t)}).catch(t=>o(console.warn(t)))})}function k(r){return r.map(o=>({value:o.store_category_id,label:o.store_category_name,children:o.children?[{value:o.store_category_id,label:`${o.store_category_name} 分割比例(${o.split_ratio}%)`},...o.children.map(t=>({value:t.store_category_id,label:`${t.store_category_name} 分割比例(${t.split_ratio}%)`}))]:[]}))}function P(r){return r.isFilter=!0,new Promise((o,t)=>{a({url:"/api/mobile/shop/merch/baidu/place/v2/suggestion",method:"get",params:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function _(r){return new Promise((o,t)=>{a({url:"/api/mobile/shop/lakala/tk/bank/search",method:"post",data:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function G(r){return new Promise((o,t)=>{a({url:"/api/mobile/shop/merch/apply",method:"post",data:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function x(){const r={mobile:localStorage.getItem("mobilePhone")};return new Promise((o,t)=>{a({url:"/api/mobile/shop/merch/fresh/approval/status",method:"post",data:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function E(r){return new Promise((o,t)=>{a({url:"/api/mobile/shop/merch/re-apply",method:"post",data:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function A(r){return new Promise((o,t)=>{a({url:"/api/mobile/shop/merch/detail",method:"post",data:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function T(r){return new Promise((o,t)=>{a({url:"/api/admin/account/account-user-base/doLogin",method:"post",params:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function C(r){return new Promise((o,t)=>{a({url:"/api/admin/shop/shop-base-config/image",method:"GET",params:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function L(){return new Promise((r,o)=>{a({url:"/api/mobile/shop/shop-base-district/getAppDistrict",method:"get"}).then(t=>{r(t)}).catch(t=>o(console.warn(t)))})}export{I as G,L as a,_ as b,P as c,A as d,T as e,C as f,x as g,S as h,v as i,G as m,E as r,k as t,y as u};
|
||||
import{d as g}from"./index-B8s36E3W.js";import{r as s,G as d}from"./element-plus-CrqYkJa0.js";import{s as a}from"./http-rCcLLANw.js";const y=g("user",()=>{const r=s(localStorage.getItem("token")||""),o=s(!1),t=s(localStorage.getItem("mobilePhone")||""),e=n=>{r.value=n,o.value=!0;const p=Date.now()+31536e3*1e3;localStorage.setItem("token",n),localStorage.setItem("tokenExpiry",p.toString())},i=n=>{t.value=n,localStorage.setItem("mobilePhone",n)},l=()=>{localStorage.removeItem("mobilePhone")},c=()=>{try{r.value="",o.value=!1,localStorage.removeItem("userInfo"),localStorage.removeItem("token"),localStorage.removeItem("tokenExpiry")}catch(n){console.error("Error clearing token from localStorage:",n)}},m=()=>{try{const n=localStorage.getItem("tokenExpiry");return n?Date.now()>parseInt(n,10):!0}catch(n){return console.error("Error checking token expiry:",n),!0}},u=n=>{localStorage.setItem("Identity",n)},h=()=>{localStorage.removeItem("Identity")};return d(()=>{try{const n=localStorage.getItem("token");n&&!m()?(r.value=n,o.value=!0):c()}catch(n){console.error("Error retrieving token from localStorage:",n)}}),{token:r,isLoggedIn:o,mobilePhone:t,setToken:e,clearToken:c,setMobilePhone:i,removeMobilePhone:l,setIdentity:u,removeIdentity:h}});function S(r){return r.isFilter=!0,new Promise((o,t)=>{a({url:"/api/mobile/account/login/doMerchSmsRegisterAndLogin",method:"post",data:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function v(r){return r.isFilter=!0,new Promise((o,t)=>{a({url:"/api/mobile/account/login/sendVerifyCode",method:"post",data:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function I(){return new Promise((r,o)=>{a({url:"/api/mobile/shop/shop-base-store-category/list",method:"post"}).then(t=>{r(t)}).catch(t=>o(console.warn(t)))})}function k(r){return r.map(o=>({value:o.store_category_id,label:o.store_category_name,children:o.children?[{value:o.store_category_id,label:`${o.store_category_name} 分割比例(${o.split_ratio}%)`},...o.children.map(t=>({value:t.store_category_id,label:`${t.store_category_name} 分割比例(${t.split_ratio}%)`}))]:[]}))}function P(r){return r.isFilter=!0,new Promise((o,t)=>{a({url:"/api/mobile/shop/merch/baidu/place/v2/suggestion",method:"get",params:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function _(r){return new Promise((o,t)=>{a({url:"/api/mobile/shop/lakala/tk/bank/search",method:"post",data:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function G(r){return new Promise((o,t)=>{a({url:"/api/mobile/shop/merch/apply",method:"post",data:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function x(){const r={mobile:localStorage.getItem("mobilePhone")};return new Promise((o,t)=>{a({url:"/api/mobile/shop/merch/fresh/approval/status",method:"post",data:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function E(r){return new Promise((o,t)=>{a({url:"/api/mobile/shop/merch/re-apply",method:"post",data:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function A(r){return new Promise((o,t)=>{a({url:"/api/mobile/shop/merch/detail",method:"post",data:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function T(r){return new Promise((o,t)=>{a({url:"/api/admin/account/account-user-base/doLogin",method:"post",params:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function C(r){return new Promise((o,t)=>{a({url:"/api/admin/shop/shop-base-config/image",method:"GET",params:r}).then(e=>{o(e)}).catch(e=>t(console.warn(e)))})}function L(){return new Promise((r,o)=>{a({url:"/api/mobile/shop/shop-base-district/getAppDistrict",method:"get"}).then(t=>{r(t)}).catch(t=>o(console.warn(t)))})}export{I as G,L as a,_ as b,P as c,A as d,T as e,C as f,x as g,S as h,v as i,G as m,E as r,k as t,y as u};
|
||||
@ -1 +1 @@
|
||||
import{j as o,r as a,H as r,v as c}from"./element-plus-AsKvoHIC.js";import{s}from"./http-BM7ZymMx.js";const i={getAgreement(n){const e=new URLSearchParams(n).toString();return s({method:"GET",url:`/api/mobile/account/login/protocol?${e}`})}},m=["innerHTML"],g=o({__name:"privacy",setup(n){const e=a("");return(async()=>{const t=await i.getAgreement({protocols_key:"joininPrivacyAgreement"});(t==null?void 0:t.status)===200&&(e.value=t.data.document)})(),(t,p)=>(c(),r("div",{class:"container",innerHTML:e.value},null,8,m))}});export{g as default};
|
||||
import{j as o,r as a,H as r,v as c}from"./element-plus-CrqYkJa0.js";import{s}from"./http-rCcLLANw.js";const i={getAgreement(n){const e=new URLSearchParams(n).toString();return s({method:"GET",url:`/api/mobile/account/login/protocol?${e}`})}},m=["innerHTML"],g=o({__name:"privacy",setup(n){const e=a("");return(async()=>{const t=await i.getAgreement({protocols_key:"joininPrivacyAgreement"});(t==null?void 0:t.status)===200&&(e.value=t.data.document)})(),(t,p)=>(c(),r("div",{class:"container",innerHTML:e.value},null,8,m))}});export{g as default};
|
||||
File diff suppressed because one or more lines are too long
1
dist/static/js/start-CijRpnIc.js
vendored
Normal file
1
dist/static/js/start-CijRpnIc.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/static/js/start-mbNVEDMb.js
vendored
1
dist/static/js/start-mbNVEDMb.js
vendored
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{s as r}from"./http-BM7ZymMx.js";function l(n,a={}){a.isFilter=!0;const o=new FormData;o.append("upfile",n);for(const e in a)a.hasOwnProperty(e)&&o.append(e,a[e]);return new Promise((e,i)=>{r({url:"/api/mobile/shop/oss/upload",method:"post",data:o}).then(t=>{e(t)}).catch(t=>i(console.warn(t)))})}function s(n,a){const o=new FormData;return o.append("upfile",n),o.append("imgType",a),new Promise((e,i)=>{r({url:"/api/mobile/shop/lakala/tk/uploadOcrImg",method:"post",data:o}).then(t=>{e(t)}).catch(t=>i(console.warn(t)))})}function u(n){return r({url:"/api/mobile/shop/lakala/tk/imgOcrResult",method:"POST",data:n})}export{s as b,u as i,l as u};
|
||||
import{s as r}from"./http-rCcLLANw.js";function l(n,a={}){a.isFilter=!0;const o=new FormData;o.append("upfile",n);for(const e in a)a.hasOwnProperty(e)&&o.append(e,a[e]);return new Promise((e,i)=>{r({url:"/api/mobile/shop/oss/upload",method:"post",data:o}).then(t=>{e(t)}).catch(t=>i(console.warn(t)))})}function s(n,a){const o=new FormData;return o.append("upfile",n),o.append("imgType",a),new Promise((e,i)=>{r({url:"/api/mobile/shop/lakala/tk/uploadOcrImg",method:"post",data:o}).then(t=>{e(t)}).catch(t=>i(console.warn(t)))})}function u(n){return r({url:"/api/mobile/shop/lakala/tk/imgOcrResult",method:"POST",data:n})}export{s as b,u as i,l as u};
|
||||
87
src/utils/file.js
Normal file
87
src/utils/file.js
Normal file
@ -0,0 +1,87 @@
|
||||
export async function compressImage(file, options = {}) {
|
||||
// 提取选项参数,设置默认值
|
||||
const {
|
||||
quality = 0.75,
|
||||
maxWidth = 800,
|
||||
maxHeight = 600
|
||||
} = options;
|
||||
|
||||
// 验证输入是否为有效的File对象
|
||||
if (!(file instanceof File)) {
|
||||
throw new Error('输入参数必须是一个File对象');
|
||||
}
|
||||
|
||||
// 检查文件类型是否为图片
|
||||
if (!file.type.startsWith('image/')) {
|
||||
throw new Error('输入文件必须是图片类型');
|
||||
}
|
||||
|
||||
// 创建一个Promise来处理异步操作
|
||||
return new Promise((resolve, reject) => {
|
||||
// 创建Image对象用于加载图片
|
||||
const img = new Image();
|
||||
|
||||
// 监听图片加载完成事件
|
||||
img.onload = () => {
|
||||
// 创建Canvas元素
|
||||
const canvas = document.createElement('canvas');
|
||||
const ctx = canvas.getContext('2d');
|
||||
|
||||
// 获取原始图片尺寸
|
||||
let width = img.width;
|
||||
let height = img.height;
|
||||
|
||||
// 计算调整后的尺寸(保持原始比例)
|
||||
if (width > maxWidth) {
|
||||
height = height * (maxWidth / width);
|
||||
width = maxWidth;
|
||||
}
|
||||
|
||||
if (height > maxHeight) {
|
||||
width = width * (maxHeight / height);
|
||||
height = maxHeight;
|
||||
}
|
||||
|
||||
// 设置Canvas尺寸
|
||||
canvas.width = width;
|
||||
canvas.height = height;
|
||||
|
||||
// 在Canvas上绘制图片
|
||||
ctx.drawImage(img, 0, 0, width, height);
|
||||
|
||||
// 将Canvas内容转换为Blob对象
|
||||
canvas.toBlob(
|
||||
(blob) => {
|
||||
if (!blob) {
|
||||
reject(new Error('图片转换失败'));
|
||||
return;
|
||||
}
|
||||
|
||||
// 创建新的File对象
|
||||
const compressedFile = new File(
|
||||
[blob],
|
||||
file.name,
|
||||
{ type: blob.type, lastModified: Date.now() }
|
||||
);
|
||||
|
||||
resolve(compressedFile);
|
||||
},
|
||||
file.type, // 使用原始图片类型
|
||||
quality // 压缩质量
|
||||
);
|
||||
};
|
||||
|
||||
// 监听图片加载错误事件
|
||||
img.onerror = () => reject(new Error('图片加载失败'));
|
||||
|
||||
// 读取图片数据
|
||||
const reader = new FileReader();
|
||||
reader.onload = () => {
|
||||
img.src = reader.result;
|
||||
};
|
||||
reader.onerror = () => reject(new Error('文件读取失败'));
|
||||
|
||||
// 开始读取文件
|
||||
reader.readAsDataURL(file);
|
||||
});
|
||||
}
|
||||
@ -10,7 +10,7 @@ const service = axios.create({
|
||||
// "X-Requested-With": "XMLHttpRequest",
|
||||
// "Content-Type": "application/json",
|
||||
},
|
||||
timeout: 5000, // request timeout
|
||||
timeout: 1000 * 60 * 5, // request timeout
|
||||
});
|
||||
// 拦截前
|
||||
// request interceptor
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
|
||||
<div class="avatar" v-if="isLoggedIn">
|
||||
<div class="icon_avatar">
|
||||
<el-icon size="20"><Avatar /></el-icon>
|
||||
<el-icon size="20" color="#ccc"><Avatar /></el-icon>
|
||||
</div>
|
||||
<el-button
|
||||
link
|
||||
|
||||
@ -181,6 +181,7 @@ import { Plus,Search } from "@element-plus/icons-vue";
|
||||
import cityData from "../../stores/cityData";
|
||||
import type { CityDataStructure } from "../../stores/cityData";
|
||||
import { useUserStore } from "@/stores/userStore";
|
||||
import { compressImage } from "@/utils/file";
|
||||
|
||||
import {
|
||||
GetStoreCategories,
|
||||
@ -803,6 +804,7 @@ const handlePictureCardPreview = (uploadFile) => {
|
||||
|
||||
const getBatchNo = async (file, type) => {
|
||||
loading.value = true;
|
||||
file = await compressImage(file);
|
||||
const rsp = await batchNoApi(file, type).then((res) => {
|
||||
return res;
|
||||
});
|
||||
@ -854,7 +856,7 @@ const handleOcrText = async (batchNo, imgType) => {
|
||||
applyFormData.biz_license_content = res.bizLicenseScope;
|
||||
break;
|
||||
case "legal_person_id_images":
|
||||
var res = (await getOcrText(batchNo, orcImgTypeConf.ID_CARD_FRONT)) as any;
|
||||
var res = (await getOcrText(batchNo, orcImgTypeConf.FR_ID_CARD_FRONT)) as any;
|
||||
|
||||
console.log("legal_person_id_images", res);
|
||||
applyFormData.legal_person_id_number = res.idNumber;
|
||||
@ -863,7 +865,7 @@ const handleOcrText = async (batchNo, imgType) => {
|
||||
case "legal_person_id_images2":
|
||||
var res = (await getOcrText(
|
||||
batchNo,
|
||||
orcImgTypeConf.ID_CARD_BEHIND
|
||||
orcImgTypeConf.FR_ID_CARD_BEHIND
|
||||
)) as any;
|
||||
var validity = res.validity.split('-')
|
||||
|
||||
@ -879,7 +881,7 @@ const handleOcrText = async (batchNo, imgType) => {
|
||||
case "individual_id_images":
|
||||
var res = (await getOcrText(
|
||||
batchNo,
|
||||
orcImgTypeConf.FR_ID_CARD_FRONT
|
||||
orcImgTypeConf.ID_CARD_FRONT
|
||||
)) as any;
|
||||
|
||||
console.log("individual_id_images", res);
|
||||
@ -936,17 +938,17 @@ const handleUploadSuccess = async (response, file, fileList, field) => {
|
||||
handleOcrText(res.batchNo, field)
|
||||
break;
|
||||
case "legal_person_id_images":
|
||||
var res = await getBatchNo(file.raw, orcImgTypeConf.ID_CARD_FRONT);
|
||||
var res = await getBatchNo(file.raw, orcImgTypeConf.FR_ID_CARD_FRONT);
|
||||
currentBbatchNo.value = res.batchNo
|
||||
handleOcrText(res.batchNo, field)
|
||||
break;
|
||||
case "legal_person_id_images2":
|
||||
var res = await getBatchNo(file.raw, orcImgTypeConf.ID_CARD_BEHIND);
|
||||
var res = await getBatchNo(file.raw, orcImgTypeConf.FR_ID_CARD_BEHIND);
|
||||
currentBbatchNo.value = res.batchNo;
|
||||
handleOcrText(res.batchNo, field);
|
||||
break;
|
||||
case "individual_id_images":
|
||||
var res = await getBatchNo(file.raw, orcImgTypeConf.FR_ID_CARD_FRONT);
|
||||
var res = await getBatchNo(file.raw, orcImgTypeConf.ID_CARD_FRONT);
|
||||
currentBbatchNo.value = res.batchNo;
|
||||
handleOcrText(res.batchNo, field);
|
||||
break;
|
||||
|
||||
@ -186,7 +186,11 @@
|
||||
prop="biz_license_image"
|
||||
>
|
||||
<el-upload
|
||||
:ref="(el)=>{ el && (uploadRefs.biz_license_image = el) }"
|
||||
:ref="
|
||||
(el) => {
|
||||
el && (uploadRefs.biz_license_image = el);
|
||||
}
|
||||
"
|
||||
v-model:file-list="uploadFiles.biz_license_image"
|
||||
multiple
|
||||
:limit="1"
|
||||
@ -226,7 +230,7 @@
|
||||
plain
|
||||
v-if="
|
||||
applyFormData.biz_license_image &&
|
||||
!applyFormData.biz_license_company &&
|
||||
!applyFormData.biz_license_company &&
|
||||
currentBbatchNo
|
||||
"
|
||||
@click="handleOcrText(currentBbatchNo, 'biz_license_image')"
|
||||
@ -362,7 +366,11 @@
|
||||
prop="legal_person_id_images"
|
||||
>
|
||||
<el-upload
|
||||
:ref="(el)=>{ el && (uploadRefs.legal_person_id_images = el) }"
|
||||
:ref="
|
||||
(el) => {
|
||||
el && (uploadRefs.legal_person_id_images = el);
|
||||
}
|
||||
"
|
||||
v-model:file-list="uploadFiles.legal_person_id_images"
|
||||
:limit="1"
|
||||
list-type="picture-card"
|
||||
@ -400,7 +408,7 @@
|
||||
plain
|
||||
v-if="
|
||||
applyFormData.legal_person_id_images &&
|
||||
!applyFormData.legal_person_id_number &&
|
||||
!applyFormData.legal_person_id_number &&
|
||||
currentBbatchNo
|
||||
"
|
||||
@click="
|
||||
@ -414,7 +422,11 @@
|
||||
prop="legal_person_id_images2"
|
||||
>
|
||||
<el-upload
|
||||
:ref="(el)=>{ el && (uploadRefs.legal_person_id_images2 = el) }"
|
||||
:ref="
|
||||
(el) => {
|
||||
el && (uploadRefs.legal_person_id_images2 = el);
|
||||
}
|
||||
"
|
||||
v-model:file-list="uploadFiles.legal_person_id_images2"
|
||||
:limit="1"
|
||||
list-type="picture-card"
|
||||
@ -503,7 +515,11 @@
|
||||
prop="individual_id_images"
|
||||
>
|
||||
<el-upload
|
||||
:ref="(el)=>{ el && (uploadRefs.individual_id_images = el) }"
|
||||
:ref="
|
||||
(el) => {
|
||||
el && (uploadRefs.individual_id_images = el);
|
||||
}
|
||||
"
|
||||
v-model:file-list="uploadFiles.individual_id_images"
|
||||
:limit="1"
|
||||
list-type="picture-card"
|
||||
@ -543,7 +559,11 @@
|
||||
prop="individual_id_images2"
|
||||
>
|
||||
<el-upload
|
||||
:ref="(el)=>{ el && (uploadRefs.individual_id_images2 = el) }"
|
||||
:ref="
|
||||
(el) => {
|
||||
el && (uploadRefs.individual_id_images2 = el);
|
||||
}
|
||||
"
|
||||
v-model:file-list="uploadFiles.individual_id_images2"
|
||||
:limit="1"
|
||||
list-type="picture-card"
|
||||
@ -641,7 +661,11 @@
|
||||
<div class="tit">结算信息</div>
|
||||
<el-form-item label="银行卡" prop="bank_image">
|
||||
<el-upload
|
||||
:ref="(el)=>{ el && (uploadRefs.bank_image = el) }"
|
||||
:ref="
|
||||
(el) => {
|
||||
el && (uploadRefs.bank_image = el);
|
||||
}
|
||||
"
|
||||
v-model:file-list="uploadFiles.bank_image"
|
||||
:limit="1"
|
||||
list-type="picture-card"
|
||||
@ -671,7 +695,11 @@
|
||||
<el-button
|
||||
type="info"
|
||||
plain
|
||||
v-if="applyFormData.bank_image && !applyFormData.account_number && currentBbatchNo"
|
||||
v-if="
|
||||
applyFormData.bank_image &&
|
||||
!applyFormData.account_number &&
|
||||
currentBbatchNo
|
||||
"
|
||||
@click="handleOcrText(currentBbatchNo, 'bank_image')"
|
||||
>点击免填卡号</el-button
|
||||
>
|
||||
@ -680,10 +708,16 @@
|
||||
v-if="applyFormData.entity_type == 1 || applyFormData.bank_image"
|
||||
>
|
||||
<el-form-item label="开户名称" prop="account_holder_name">
|
||||
<el-input v-model="applyFormData.account_holder_name" />
|
||||
<el-input
|
||||
v-model="applyFormData.account_holder_name"
|
||||
placeholder="请输入开户名称"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="银行卡号" prop="account_number">
|
||||
<el-input v-model="applyFormData.account_number" />
|
||||
<el-input
|
||||
v-model="applyFormData.account_number"
|
||||
placeholder="请输入银行卡号"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="开户银行" prop="bank_branch_name">
|
||||
<el-select-v2
|
||||
@ -704,6 +738,34 @@
|
||||
</el-icon>
|
||||
</template>
|
||||
</el-select-v2>
|
||||
|
||||
<div class="bank_name_tip">
|
||||
<el-tooltip placement="top" effect="light">
|
||||
<template #content>
|
||||
<div class="bank_name_cont">
|
||||
<h3>开店时搜不到我的开户银行,怎么处理?</h3>
|
||||
<p>
|
||||
1.
|
||||
目前小店的结算账户仅支持下拉框中包含的银行,无法搜索到的银行在后续经营中可能无法正常结算、提现等功能,因此暂不支持。
|
||||
</p>
|
||||
<p>
|
||||
2.
|
||||
若遇到这类问题,请商户使用下拉框选项中包含的银行账户进行入驻,如开户地为县级市或乡镇区无法搜索到,可选择相同银行的市级网点,否则将无法进行身份验证。
|
||||
</p>
|
||||
<p>
|
||||
3.
|
||||
为了顺利注册开店与保障账号资产安全,推荐优先使用四大国有银行开户注册。
|
||||
</p>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<el-button type="info" link>
|
||||
<el-icon color="#e6a23c" size="14"
|
||||
><WarningFilled /></el-icon
|
||||
>搜不到我的开户银行,怎么处理?</el-button
|
||||
>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</div>
|
||||
@ -711,9 +773,8 @@
|
||||
</div>
|
||||
|
||||
<div class="form-button">
|
||||
<el-button type="primary" @click="merchToApply" class="custom-button"
|
||||
>提交审核</el-button
|
||||
>
|
||||
<div class="myui_check_text">检查并确认店铺信息和证件信息无误</div>
|
||||
<el-button type="primary" @click="merchToApply">提交审核</el-button>
|
||||
</div>
|
||||
|
||||
<el-dialog v-model="dialogVisible" width="max-content">
|
||||
@ -726,7 +787,7 @@
|
||||
import { ref, reactive, onMounted, watch } from "vue";
|
||||
import { useRouter } from "vue-router";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { Plus, Search } from "@element-plus/icons-vue";
|
||||
import { Plus, Search, WarningFilled } from "@element-plus/icons-vue";
|
||||
|
||||
import cityData from "../../stores/cityData";
|
||||
import type { CityDataStructure } from "../../stores/cityData";
|
||||
@ -741,6 +802,7 @@ import {
|
||||
GetAppDistrict,
|
||||
} from "@/api/login";
|
||||
import { batchNoApi, imgOcrResultApi } from "@/api/upload";
|
||||
import { compressImage } from "@/utils/file";
|
||||
|
||||
interface Bank {
|
||||
id: number;
|
||||
@ -1307,10 +1369,10 @@ const handleSelect = (item) => {
|
||||
(formRef.value as any).validate();
|
||||
};
|
||||
|
||||
const beforeUpload = (file) => {
|
||||
const beforeUpload = async (file) => {
|
||||
const isJPG = file.type === "image/jpeg";
|
||||
const isPNG = file.type === "image/png";
|
||||
const isLt2M = file.size / 1024 / 1024 < 10;
|
||||
const isLarge = file.size / 1024 / 1024 < 10;
|
||||
|
||||
loading.value = true;
|
||||
|
||||
@ -1319,11 +1381,13 @@ const beforeUpload = (file) => {
|
||||
ElMessage.error("上传的图片必须是JPG或PNG格式!");
|
||||
return false;
|
||||
}
|
||||
if (!isLt2M) {
|
||||
|
||||
if (!isLarge) {
|
||||
loading.value = false;
|
||||
ElMessage.error("上传的图片大小不能超过10MB!");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
|
||||
@ -1365,21 +1429,24 @@ const handlePictureCardPreview = (uploadFile) => {
|
||||
const getBatchNo = async (file, type, field) => {
|
||||
loading.value = true;
|
||||
currentBbatchNo.value = "";
|
||||
const rsp = await batchNoApi(file, type).then((res) => {
|
||||
loading.value = false;
|
||||
return res;
|
||||
}).catch(()=> {
|
||||
loading.value = false;
|
||||
const _uploadRef = uploadRefs.value[field]
|
||||
if(_uploadRef){
|
||||
_uploadRef.clearFiles()
|
||||
uploadFiles[field] = []
|
||||
cleanFile(field)
|
||||
}
|
||||
ElMessage.error('网络异常,请重试!')
|
||||
});
|
||||
file = await compressImage(file);
|
||||
const rsp = await batchNoApi(file, type)
|
||||
.then((res) => {
|
||||
loading.value = false;
|
||||
return res;
|
||||
})
|
||||
.catch(() => {
|
||||
loading.value = false;
|
||||
const _uploadRef = uploadRefs.value[field];
|
||||
if (_uploadRef) {
|
||||
_uploadRef.clearFiles();
|
||||
uploadFiles[field] = [];
|
||||
cleanFile(field);
|
||||
}
|
||||
ElMessage.error("网络异常,请重试!");
|
||||
});
|
||||
|
||||
if (rsp?.code==0 && rsp?.status == 200) {
|
||||
if (rsp?.code == 0 && rsp?.status == 200) {
|
||||
return rsp?.data;
|
||||
} else {
|
||||
return null;
|
||||
@ -1396,7 +1463,7 @@ const getOcrText = async (batchNo, type) => {
|
||||
clearTimeout(orcTimeout);
|
||||
|
||||
orcTimeout = setTimeout(async () => {
|
||||
const imgOcrRes = await imgOcrResultApi(formData).finally(()=> {
|
||||
const imgOcrRes = await imgOcrResultApi(formData).finally(() => {
|
||||
loading.value = false;
|
||||
});
|
||||
|
||||
@ -1434,7 +1501,7 @@ const handleOcrText = async (batchNo, imgType) => {
|
||||
case "legal_person_id_images":
|
||||
var res = (await getOcrText(
|
||||
batchNo,
|
||||
orcImgTypeConf.ID_CARD_FRONT
|
||||
orcImgTypeConf.FR_ID_CARD_FRONT
|
||||
)) as any;
|
||||
|
||||
console.log("legal_person_id_images", res);
|
||||
@ -1444,7 +1511,7 @@ const handleOcrText = async (batchNo, imgType) => {
|
||||
case "legal_person_id_images2":
|
||||
var res = (await getOcrText(
|
||||
batchNo,
|
||||
orcImgTypeConf.ID_CARD_BEHIND
|
||||
orcImgTypeConf.FR_ID_CARD_BEHIND
|
||||
)) as any;
|
||||
var validity = res.validity.split("-");
|
||||
|
||||
@ -1461,7 +1528,7 @@ const handleOcrText = async (batchNo, imgType) => {
|
||||
case "individual_id_images":
|
||||
var res = (await getOcrText(
|
||||
batchNo,
|
||||
orcImgTypeConf.FR_ID_CARD_FRONT
|
||||
orcImgTypeConf.ID_CARD_FRONT
|
||||
)) as any;
|
||||
|
||||
console.log("individual_id_images", res);
|
||||
@ -1499,14 +1566,14 @@ const handleOcrText = async (batchNo, imgType) => {
|
||||
(formRef.value as any).validate();
|
||||
};
|
||||
|
||||
const cleanFile = (field)=>{
|
||||
const cleanFile = (field) => {
|
||||
if (field === "license_image") {
|
||||
applyFormData[field]=[];
|
||||
} else {
|
||||
applyFormData[field] = "";
|
||||
}
|
||||
currentFile.value = null;
|
||||
}
|
||||
applyFormData[field] = [];
|
||||
} else {
|
||||
applyFormData[field] = "";
|
||||
}
|
||||
currentFile.value = null;
|
||||
};
|
||||
|
||||
const handleUploadSuccess = async (response, file, fileList, field) => {
|
||||
if (response && response.status === 200 && response.code === 0) {
|
||||
@ -1524,27 +1591,47 @@ const handleUploadSuccess = async (response, file, fileList, field) => {
|
||||
|
||||
switch (field) {
|
||||
case "biz_license_image":
|
||||
var res = await getBatchNo(file.raw, orcImgTypeConf.BUSINESS_LICENCE, field);
|
||||
var res = await getBatchNo(
|
||||
file.raw,
|
||||
orcImgTypeConf.BUSINESS_LICENCE,
|
||||
field
|
||||
);
|
||||
currentBbatchNo.value = res.batchNo;
|
||||
handleOcrText(res.batchNo, field);
|
||||
break;
|
||||
case "legal_person_id_images":
|
||||
var res = await getBatchNo(file.raw, orcImgTypeConf.ID_CARD_FRONT, field);
|
||||
var res = await getBatchNo(
|
||||
file.raw,
|
||||
orcImgTypeConf.FR_ID_CARD_FRONT,
|
||||
field
|
||||
);
|
||||
currentBbatchNo.value = res.batchNo;
|
||||
handleOcrText(res.batchNo, field);
|
||||
break;
|
||||
case "legal_person_id_images2":
|
||||
var res = await getBatchNo(file.raw, orcImgTypeConf.ID_CARD_BEHIND, field);
|
||||
var res = await getBatchNo(
|
||||
file.raw,
|
||||
orcImgTypeConf.FR_ID_CARD_BEHIND,
|
||||
field
|
||||
);
|
||||
currentBbatchNo.value = res.batchNo;
|
||||
handleOcrText(res.batchNo, field);
|
||||
break;
|
||||
case "individual_id_images":
|
||||
var res = await getBatchNo(file.raw, orcImgTypeConf.FR_ID_CARD_FRONT, field);
|
||||
var res = await getBatchNo(
|
||||
file.raw,
|
||||
orcImgTypeConf.ID_CARD_FRONT,
|
||||
field
|
||||
);
|
||||
currentBbatchNo.value = res.batchNo;
|
||||
handleOcrText(res.batchNo, field);
|
||||
break;
|
||||
case "individual_id_images2":
|
||||
var res = await getBatchNo(file.raw, orcImgTypeConf.ID_CARD_BEHIND, field);
|
||||
var res = await getBatchNo(
|
||||
file.raw,
|
||||
orcImgTypeConf.ID_CARD_BEHIND,
|
||||
field
|
||||
);
|
||||
currentBbatchNo.value = res.batchNo;
|
||||
handleOcrText(res.batchNo, field);
|
||||
break;
|
||||
@ -1598,9 +1685,9 @@ const clearOtherFields = () => {
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
if(!isLoggedIn.value){
|
||||
if (!isLoggedIn.value) {
|
||||
router.push({ name: "index" });
|
||||
return
|
||||
return;
|
||||
}
|
||||
GetStoreCategories()
|
||||
.then((res) => {
|
||||
@ -1688,6 +1775,29 @@ onMounted(() => {
|
||||
}
|
||||
}
|
||||
|
||||
.bank_name_tip {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-left: 10px;
|
||||
}
|
||||
.bank_name_cont {
|
||||
width: 360px;
|
||||
h3{
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
p {
|
||||
font-size: 14px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.myui_check_text {
|
||||
color: #999;
|
||||
padding-bottom: 10px;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.auto-item {
|
||||
p {
|
||||
font-size: 15px;
|
||||
@ -1714,5 +1824,9 @@ onMounted(() => {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.bank_name_tip {
|
||||
margin-left: 0px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user