Files
jczxw-pc/.output/public/_nuxt/DREKPfQO.js
赵忠林 528fe28ffc feat(api): 添加多路由代理处理实现
- 新增api目录下多个接口路径代理处理文件,支持动态拼接目标URL
- 根据环境变量选择不同的后端服务地址(如dev和生产环境)
- 统一添加TenantId和Authorization请求头传递租户及身份信息
- 实现请求参数及搜索参数的完整转发
- 引入better-sqlite3及node内建模块支持服务端功能
- 新增专家详情页面,实现文章、成果及预约咨询功能展示
- 页面实现加载骨架屏、标签页切换及空状态提示优化体验
2026-04-28 13:50:27 +08:00

9 lines
41 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{b as N,I as Ce,h as Ae,d as be,u as Me,i as z,j as Ee,k as _e,r as j,c as O,o as F,a as P,l as Vt,t as U,m as Y,C as Pe,n as Ne,w as D,e as H,E as ke,R as Le,p as V,g as Be,q as qe,s as Ht,v as Ue,x as jt,y as De,z as ht,A as mt,F as ze,B as ct,_ as Fe,D as Oe,T as Ve,G as He}from"./DPwbf7XO.js";import{g as je,s as Ft,c as Qe,a as xe,b as Je,l as Ke}from"./Cuwzyh4a.js";import{r as Ye}from"./Cv7upGT6.js";import{l as Ge}from"./DYLUgmZy.js";import{g as We}from"./Cqjv_SrU.js";import{s as Xe}from"./Dl1HJz7f.js";var Ze={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M744 62H280c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h464c35.3 0 64-28.7 64-64V126c0-35.3-28.7-64-64-64zm-8 824H288V134h448v752zM472 784a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"mobile",theme:"outlined"};function Qt(o){for(var r=1;r<arguments.length;r++){var i=arguments[r]!=null?Object(arguments[r]):{},e=Object.keys(i);typeof Object.getOwnPropertySymbols=="function"&&(e=e.concat(Object.getOwnPropertySymbols(i).filter(function(t){return Object.getOwnPropertyDescriptor(i,t).enumerable}))),e.forEach(function(t){$e(o,t,i[t])})}return o}function $e(o,r,i){return r in o?Object.defineProperty(o,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):o[r]=i,o}var dt=function(r,i){var e=Qt({},r,i.attrs);return N(Ce,Qt({},e,{icon:Ze}),null)};dt.displayName="MobileOutlined";dt.inheritAttrs=!1;var tn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M468 128H160c-17.7 0-32 14.3-32 32v308c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zm-56 284H192V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210H136c-4.4 0-8 3.6-8 8v308c0 17.7 14.3 32 32 32h308c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zm-56 284H192V612h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm590-630H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V160c0-17.7-14.3-32-32-32zm-32 284H612V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210h-48c-4.4 0-8 3.6-8 8v134h-78V556c0-4.4-3.6-8-8-8H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h78v102c0 4.4 3.6 8 8 8h190c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zM746 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm142 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"}}]},name:"qrcode",theme:"outlined"};function xt(o){for(var r=1;r<arguments.length;r++){var i=arguments[r]!=null?Object(arguments[r]):{},e=Object.keys(i);typeof Object.getOwnPropertySymbols=="function"&&(e=e.concat(Object.getOwnPropertySymbols(i).filter(function(t){return Object.getOwnPropertyDescriptor(i,t).enumerable}))),e.forEach(function(t){en(o,t,i[t])})}return o}function en(o,r,i){return r in o?Object.defineProperty(o,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):o[r]=i,o}var gt=function(r,i){var e=xt({},r,i.attrs);return N(Ce,xt({},e,{icon:tn}),null)};gt.displayName="QrcodeOutlined";gt.inheritAttrs=!1;var et={},pt,Jt;function nn(){return Jt||(Jt=1,pt=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),pt}var vt={},W={},Kt;function X(){if(Kt)return W;Kt=1;let o;const r=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return W.getSymbolSize=function(e){if(!e)throw new Error('"version" cannot be null or undefined');if(e<1||e>40)throw new Error('"version" should be in range from 1 to 40');return e*4+17},W.getSymbolTotalCodewords=function(e){return r[e]},W.getBCHDigit=function(i){let e=0;for(;i!==0;)e++,i>>>=1;return e},W.setToSJISFunction=function(e){if(typeof e!="function")throw new Error('"toSJISFunc" is not a valid function.');o=e},W.isKanjiModeEnabled=function(){return typeof o<"u"},W.toSJIS=function(e){return o(e)},W}var wt={},Yt;function Ot(){return Yt||(Yt=1,(function(o){o.L={bit:1},o.M={bit:0},o.Q={bit:3},o.H={bit:2};function r(i){if(typeof i!="string")throw new Error("Param is not a string");switch(i.toLowerCase()){case"l":case"low":return o.L;case"m":case"medium":return o.M;case"q":case"quartile":return o.Q;case"h":case"high":return o.H;default:throw new Error("Unknown EC Level: "+i)}}o.isValid=function(e){return e&&typeof e.bit<"u"&&e.bit>=0&&e.bit<4},o.from=function(e,t){if(o.isValid(e))return e;try{return r(e)}catch{return t}}})(wt)),wt}var yt,Gt;function rn(){if(Gt)return yt;Gt=1;function o(){this.buffer=[],this.length=0}return o.prototype={get:function(r){const i=Math.floor(r/8);return(this.buffer[i]>>>7-r%8&1)===1},put:function(r,i){for(let e=0;e<i;e++)this.putBit((r>>>i-e-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(r){const i=Math.floor(this.length/8);this.buffer.length<=i&&this.buffer.push(0),r&&(this.buffer[i]|=128>>>this.length%8),this.length++}},yt=o,yt}var Ct,Wt;function on(){if(Wt)return Ct;Wt=1;function o(r){if(!r||r<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=r,this.data=new Uint8Array(r*r),this.reservedBit=new Uint8Array(r*r)}return o.prototype.set=function(r,i,e,t){const n=r*this.size+i;this.data[n]=e,t&&(this.reservedBit[n]=!0)},o.prototype.get=function(r,i){return this.data[r*this.size+i]},o.prototype.xor=function(r,i,e){this.data[r*this.size+i]^=e},o.prototype.isReserved=function(r,i){return this.reservedBit[r*this.size+i]},Ct=o,Ct}var bt={},Xt;function sn(){return Xt||(Xt=1,(function(o){const r=X().getSymbolSize;o.getRowColCoords=function(e){if(e===1)return[];const t=Math.floor(e/7)+2,n=r(e),s=n===145?26:Math.ceil((n-13)/(2*t-2))*2,a=[n-7];for(let u=1;u<t-1;u++)a[u]=a[u-1]-s;return a.push(6),a.reverse()},o.getPositions=function(e){const t=[],n=o.getRowColCoords(e),s=n.length;for(let a=0;a<s;a++)for(let u=0;u<s;u++)a===0&&u===0||a===0&&u===s-1||a===s-1&&u===0||t.push([n[a],n[u]]);return t}})(bt)),bt}var Et={},Zt;function an(){if(Zt)return Et;Zt=1;const o=X().getSymbolSize,r=7;return Et.getPositions=function(e){const t=o(e);return[[0,0],[t-r,0],[0,t-r]]},Et}var _t={},$t;function un(){return $t||($t=1,(function(o){o.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const r={N1:3,N2:3,N3:40,N4:10};o.isValid=function(t){return t!=null&&t!==""&&!isNaN(t)&&t>=0&&t<=7},o.from=function(t){return o.isValid(t)?parseInt(t,10):void 0},o.getPenaltyN1=function(t){const n=t.size;let s=0,a=0,u=0,f=null,d=null;for(let y=0;y<n;y++){a=u=0,f=d=null;for(let m=0;m<n;m++){let g=t.get(y,m);g===f?a++:(a>=5&&(s+=r.N1+(a-5)),f=g,a=1),g=t.get(m,y),g===d?u++:(u>=5&&(s+=r.N1+(u-5)),d=g,u=1)}a>=5&&(s+=r.N1+(a-5)),u>=5&&(s+=r.N1+(u-5))}return s},o.getPenaltyN2=function(t){const n=t.size;let s=0;for(let a=0;a<n-1;a++)for(let u=0;u<n-1;u++){const f=t.get(a,u)+t.get(a,u+1)+t.get(a+1,u)+t.get(a+1,u+1);(f===4||f===0)&&s++}return s*r.N2},o.getPenaltyN3=function(t){const n=t.size;let s=0,a=0,u=0;for(let f=0;f<n;f++){a=u=0;for(let d=0;d<n;d++)a=a<<1&2047|t.get(f,d),d>=10&&(a===1488||a===93)&&s++,u=u<<1&2047|t.get(d,f),d>=10&&(u===1488||u===93)&&s++}return s*r.N3},o.getPenaltyN4=function(t){let n=0;const s=t.data.length;for(let u=0;u<s;u++)n+=t.data[u];return Math.abs(Math.ceil(n*100/s/5)-10)*r.N4};function i(e,t,n){switch(e){case o.Patterns.PATTERN000:return(t+n)%2===0;case o.Patterns.PATTERN001:return t%2===0;case o.Patterns.PATTERN010:return n%3===0;case o.Patterns.PATTERN011:return(t+n)%3===0;case o.Patterns.PATTERN100:return(Math.floor(t/2)+Math.floor(n/3))%2===0;case o.Patterns.PATTERN101:return t*n%2+t*n%3===0;case o.Patterns.PATTERN110:return(t*n%2+t*n%3)%2===0;case o.Patterns.PATTERN111:return(t*n%3+(t+n)%2)%2===0;default:throw new Error("bad maskPattern:"+e)}}o.applyMask=function(t,n){const s=n.size;for(let a=0;a<s;a++)for(let u=0;u<s;u++)n.isReserved(u,a)||n.xor(u,a,i(t,u,a))},o.getBestMask=function(t,n){const s=Object.keys(o.Patterns).length;let a=0,u=1/0;for(let f=0;f<s;f++){n(f),o.applyMask(f,t);const d=o.getPenaltyN1(t)+o.getPenaltyN2(t)+o.getPenaltyN3(t)+o.getPenaltyN4(t);o.applyMask(f,t),d<u&&(u=d,a=f)}return a}})(_t)),_t}var ft={},te;function Ie(){if(te)return ft;te=1;const o=Ot(),r=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],i=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];return ft.getBlocksCount=function(t,n){switch(n){case o.L:return r[(t-1)*4+0];case o.M:return r[(t-1)*4+1];case o.Q:return r[(t-1)*4+2];case o.H:return r[(t-1)*4+3];default:return}},ft.getTotalCodewordsCount=function(t,n){switch(n){case o.L:return i[(t-1)*4+0];case o.M:return i[(t-1)*4+1];case o.Q:return i[(t-1)*4+2];case o.H:return i[(t-1)*4+3];default:return}},ft}var Bt={},st={},ee;function ln(){if(ee)return st;ee=1;const o=new Uint8Array(512),r=new Uint8Array(256);return(function(){let e=1;for(let t=0;t<255;t++)o[t]=e,r[e]=t,e<<=1,e&256&&(e^=285);for(let t=255;t<512;t++)o[t]=o[t-255]})(),st.log=function(e){if(e<1)throw new Error("log("+e+")");return r[e]},st.exp=function(e){return o[e]},st.mul=function(e,t){return e===0||t===0?0:o[r[e]+r[t]]},st}var ne;function cn(){return ne||(ne=1,(function(o){const r=ln();o.mul=function(e,t){const n=new Uint8Array(e.length+t.length-1);for(let s=0;s<e.length;s++)for(let a=0;a<t.length;a++)n[s+a]^=r.mul(e[s],t[a]);return n},o.mod=function(e,t){let n=new Uint8Array(e);for(;n.length-t.length>=0;){const s=n[0];for(let u=0;u<t.length;u++)n[u]^=r.mul(t[u],s);let a=0;for(;a<n.length&&n[a]===0;)a++;n=n.slice(a)}return n},o.generateECPolynomial=function(e){let t=new Uint8Array([1]);for(let n=0;n<e;n++)t=o.mul(t,new Uint8Array([1,r.exp(n)]));return t}})(Bt)),Bt}var It,re;function fn(){if(re)return It;re=1;const o=cn();function r(i){this.genPoly=void 0,this.degree=i,this.degree&&this.initialize(this.degree)}return r.prototype.initialize=function(e){this.degree=e,this.genPoly=o.generateECPolynomial(this.degree)},r.prototype.encode=function(e){if(!this.genPoly)throw new Error("Encoder not initialized");const t=new Uint8Array(e.length+this.degree);t.set(e);const n=o.mod(t,this.genPoly),s=this.degree-n.length;if(s>0){const a=new Uint8Array(this.degree);return a.set(n,s),a}return n},It=r,It}var St={},Rt={},Tt={},oe;function Se(){return oe||(oe=1,Tt.isValid=function(r){return!isNaN(r)&&r>=1&&r<=40}),Tt}var K={},ie;function Re(){if(ie)return K;ie=1;const o="[0-9]+",r="[A-Z $%*+\\-./:]+";let i="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";i=i.replace(/u/g,"\\u");const e="(?:(?![A-Z0-9 $%*+\\-./:]|"+i+`)(?:.|[\r
]))+`;K.KANJI=new RegExp(i,"g"),K.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),K.BYTE=new RegExp(e,"g"),K.NUMERIC=new RegExp(o,"g"),K.ALPHANUMERIC=new RegExp(r,"g");const t=new RegExp("^"+i+"$"),n=new RegExp("^"+o+"$"),s=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return K.testKanji=function(u){return t.test(u)},K.testNumeric=function(u){return n.test(u)},K.testAlphanumeric=function(u){return s.test(u)},K}var se;function Z(){return se||(se=1,(function(o){const r=Se(),i=Re();o.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},o.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},o.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},o.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},o.MIXED={bit:-1},o.getCharCountIndicator=function(n,s){if(!n.ccBits)throw new Error("Invalid mode: "+n);if(!r.isValid(s))throw new Error("Invalid version: "+s);return s>=1&&s<10?n.ccBits[0]:s<27?n.ccBits[1]:n.ccBits[2]},o.getBestModeForData=function(n){return i.testNumeric(n)?o.NUMERIC:i.testAlphanumeric(n)?o.ALPHANUMERIC:i.testKanji(n)?o.KANJI:o.BYTE},o.toString=function(n){if(n&&n.id)return n.id;throw new Error("Invalid mode")},o.isValid=function(n){return n&&n.bit&&n.ccBits};function e(t){if(typeof t!="string")throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return o.NUMERIC;case"alphanumeric":return o.ALPHANUMERIC;case"kanji":return o.KANJI;case"byte":return o.BYTE;default:throw new Error("Unknown mode: "+t)}}o.from=function(n,s){if(o.isValid(n))return n;try{return e(n)}catch{return s}}})(Rt)),Rt}var ae;function dn(){return ae||(ae=1,(function(o){const r=X(),i=Ie(),e=Ot(),t=Z(),n=Se(),s=7973,a=r.getBCHDigit(s);function u(m,g,T){for(let v=1;v<=40;v++)if(g<=o.getCapacity(v,T,m))return v}function f(m,g){return t.getCharCountIndicator(m,g)+4}function d(m,g){let T=0;return m.forEach(function(v){const q=f(v.mode,g);T+=q+v.getBitsLength()}),T}function y(m,g){for(let T=1;T<=40;T++)if(d(m,T)<=o.getCapacity(T,g,t.MIXED))return T}o.from=function(g,T){return n.isValid(g)?parseInt(g,10):T},o.getCapacity=function(g,T,v){if(!n.isValid(g))throw new Error("Invalid QR Code version");typeof v>"u"&&(v=t.BYTE);const q=r.getSymbolTotalCodewords(g),I=i.getTotalCodewordsCount(g,T),A=(q-I)*8;if(v===t.MIXED)return A;const l=A-f(v,g);switch(v){case t.NUMERIC:return Math.floor(l/10*3);case t.ALPHANUMERIC:return Math.floor(l/11*2);case t.KANJI:return Math.floor(l/13);case t.BYTE:default:return Math.floor(l/8)}},o.getBestVersionForData=function(g,T){let v;const q=e.from(T,e.M);if(Array.isArray(g)){if(g.length>1)return y(g,q);if(g.length===0)return 1;v=g[0]}else v=g;return u(v.mode,v.getLength(),q)},o.getEncodedBits=function(g){if(!n.isValid(g)||g<7)throw new Error("Invalid QR Code version");let T=g<<12;for(;r.getBCHDigit(T)-a>=0;)T^=s<<r.getBCHDigit(T)-a;return g<<12|T}})(St)),St}var At={},ue;function gn(){if(ue)return At;ue=1;const o=X(),r=1335,i=21522,e=o.getBCHDigit(r);return At.getEncodedBits=function(n,s){const a=n.bit<<3|s;let u=a<<10;for(;o.getBCHDigit(u)-e>=0;)u^=r<<o.getBCHDigit(u)-e;return(a<<10|u)^i},At}var Mt={},Pt,le;function hn(){if(le)return Pt;le=1;const o=Z();function r(i){this.mode=o.NUMERIC,this.data=i.toString()}return r.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){let t,n,s;for(t=0;t+3<=this.data.length;t+=3)n=this.data.substr(t,3),s=parseInt(n,10),e.put(s,10);const a=this.data.length-t;a>0&&(n=this.data.substr(t),s=parseInt(n,10),e.put(s,a*3+1))},Pt=r,Pt}var Nt,ce;function mn(){if(ce)return Nt;ce=1;const o=Z(),r=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function i(e){this.mode=o.ALPHANUMERIC,this.data=e}return i.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(t){let n;for(n=0;n+2<=this.data.length;n+=2){let s=r.indexOf(this.data[n])*45;s+=r.indexOf(this.data[n+1]),t.put(s,11)}this.data.length%2&&t.put(r.indexOf(this.data[n]),6)},Nt=i,Nt}var kt,fe;function pn(){if(fe)return kt;fe=1;const o=Z();function r(i){this.mode=o.BYTE,typeof i=="string"?this.data=new TextEncoder().encode(i):this.data=new Uint8Array(i)}return r.getBitsLength=function(e){return e*8},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(i){for(let e=0,t=this.data.length;e<t;e++)i.put(this.data[e],8)},kt=r,kt}var Lt,de;function vn(){if(de)return Lt;de=1;const o=Z(),r=X();function i(e){this.mode=o.KANJI,this.data=e}return i.getBitsLength=function(t){return t*13},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let n=r.toSJIS(this.data[t]);if(n>=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+`
Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},Lt=i,Lt}var qt={exports:{}},ge;function wn(){return ge||(ge=1,(function(o){var r={single_source_shortest_paths:function(i,e,t){var n={},s={};s[e]=0;var a=r.PriorityQueue.make();a.push(e,0);for(var u,f,d,y,m,g,T,v,q;!a.empty();){u=a.pop(),f=u.value,y=u.cost,m=i[f]||{};for(d in m)m.hasOwnProperty(d)&&(g=m[d],T=y+g,v=s[d],q=typeof s[d]>"u",(q||v>T)&&(s[d]=T,a.push(d,T),n[d]=f))}if(typeof t<"u"&&typeof s[t]>"u"){var I=["Could not find a path from ",e," to ",t,"."].join("");throw new Error(I)}return n},extract_shortest_path_from_predecessor_list:function(i,e){for(var t=[],n=e;n;)t.push(n),i[n],n=i[n];return t.reverse(),t},find_path:function(i,e,t){var n=r.single_source_shortest_paths(i,e,t);return r.extract_shortest_path_from_predecessor_list(n,t)},PriorityQueue:{make:function(i){var e=r.PriorityQueue,t={},n;i=i||{};for(n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t.queue=[],t.sorter=i.sorter||e.default_sorter,t},default_sorter:function(i,e){return i.cost-e.cost},push:function(i,e){var t={value:i,cost:e};this.queue.push(t),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};o.exports=r})(qt)),qt.exports}var he;function yn(){return he||(he=1,(function(o){const r=Z(),i=hn(),e=mn(),t=pn(),n=vn(),s=Re(),a=X(),u=wn();function f(I){return unescape(encodeURIComponent(I)).length}function d(I,A,l){const c=[];let k;for(;(k=I.exec(l))!==null;)c.push({data:k[0],index:k.index,mode:A,length:k[0].length});return c}function y(I){const A=d(s.NUMERIC,r.NUMERIC,I),l=d(s.ALPHANUMERIC,r.ALPHANUMERIC,I);let c,k;return a.isKanjiModeEnabled()?(c=d(s.BYTE,r.BYTE,I),k=d(s.KANJI,r.KANJI,I)):(c=d(s.BYTE_KANJI,r.BYTE,I),k=[]),A.concat(l,c,k).sort(function(B,b){return B.index-b.index}).map(function(B){return{data:B.data,mode:B.mode,length:B.length}})}function m(I,A){switch(A){case r.NUMERIC:return i.getBitsLength(I);case r.ALPHANUMERIC:return e.getBitsLength(I);case r.KANJI:return n.getBitsLength(I);case r.BYTE:return t.getBitsLength(I)}}function g(I){return I.reduce(function(A,l){const c=A.length-1>=0?A[A.length-1]:null;return c&&c.mode===l.mode?(A[A.length-1].data+=l.data,A):(A.push(l),A)},[])}function T(I){const A=[];for(let l=0;l<I.length;l++){const c=I[l];switch(c.mode){case r.NUMERIC:A.push([c,{data:c.data,mode:r.ALPHANUMERIC,length:c.length},{data:c.data,mode:r.BYTE,length:c.length}]);break;case r.ALPHANUMERIC:A.push([c,{data:c.data,mode:r.BYTE,length:c.length}]);break;case r.KANJI:A.push([c,{data:c.data,mode:r.BYTE,length:f(c.data)}]);break;case r.BYTE:A.push([{data:c.data,mode:r.BYTE,length:f(c.data)}])}}return A}function v(I,A){const l={},c={start:{}};let k=["start"];for(let h=0;h<I.length;h++){const B=I[h],b=[];for(let p=0;p<B.length;p++){const S=B[p],C=""+h+p;b.push(C),l[C]={node:S,lastCount:0},c[C]={};for(let E=0;E<k.length;E++){const _=k[E];l[_]&&l[_].node.mode===S.mode?(c[_][C]=m(l[_].lastCount+S.length,S.mode)-m(l[_].lastCount,S.mode),l[_].lastCount+=S.length):(l[_]&&(l[_].lastCount=S.length),c[_][C]=m(S.length,S.mode)+4+r.getCharCountIndicator(S.mode,A))}}k=b}for(let h=0;h<k.length;h++)c[k[h]].end=0;return{map:c,table:l}}function q(I,A){let l;const c=r.getBestModeForData(I);if(l=r.from(A,c),l!==r.BYTE&&l.bit<c.bit)throw new Error('"'+I+'" cannot be encoded with mode '+r.toString(l)+`.
Suggested mode is: `+r.toString(c));switch(l===r.KANJI&&!a.isKanjiModeEnabled()&&(l=r.BYTE),l){case r.NUMERIC:return new i(I);case r.ALPHANUMERIC:return new e(I);case r.KANJI:return new n(I);case r.BYTE:return new t(I)}}o.fromArray=function(A){return A.reduce(function(l,c){return typeof c=="string"?l.push(q(c,null)):c.data&&l.push(q(c.data,c.mode)),l},[])},o.fromString=function(A,l){const c=y(A,a.isKanjiModeEnabled()),k=T(c),h=v(k,l),B=u.find_path(h.map,"start","end"),b=[];for(let p=1;p<B.length-1;p++)b.push(h.table[B[p]].node);return o.fromArray(g(b))},o.rawSplit=function(A){return o.fromArray(y(A,a.isKanjiModeEnabled()))}})(Mt)),Mt}var me;function Cn(){if(me)return vt;me=1;const o=X(),r=Ot(),i=rn(),e=on(),t=sn(),n=an(),s=un(),a=Ie(),u=fn(),f=dn(),d=gn(),y=Z(),m=yn();function g(h,B){const b=h.size,p=n.getPositions(B);for(let S=0;S<p.length;S++){const C=p[S][0],E=p[S][1];for(let _=-1;_<=7;_++)if(!(C+_<=-1||b<=C+_))for(let M=-1;M<=7;M++)E+M<=-1||b<=E+M||(_>=0&&_<=6&&(M===0||M===6)||M>=0&&M<=6&&(_===0||_===6)||_>=2&&_<=4&&M>=2&&M<=4?h.set(C+_,E+M,!0,!0):h.set(C+_,E+M,!1,!0))}}function T(h){const B=h.size;for(let b=8;b<B-8;b++){const p=b%2===0;h.set(b,6,p,!0),h.set(6,b,p,!0)}}function v(h,B){const b=t.getPositions(B);for(let p=0;p<b.length;p++){const S=b[p][0],C=b[p][1];for(let E=-2;E<=2;E++)for(let _=-2;_<=2;_++)E===-2||E===2||_===-2||_===2||E===0&&_===0?h.set(S+E,C+_,!0,!0):h.set(S+E,C+_,!1,!0)}}function q(h,B){const b=h.size,p=f.getEncodedBits(B);let S,C,E;for(let _=0;_<18;_++)S=Math.floor(_/3),C=_%3+b-8-3,E=(p>>_&1)===1,h.set(S,C,E,!0),h.set(C,S,E,!0)}function I(h,B,b){const p=h.size,S=d.getEncodedBits(B,b);let C,E;for(C=0;C<15;C++)E=(S>>C&1)===1,C<6?h.set(C,8,E,!0):C<8?h.set(C+1,8,E,!0):h.set(p-15+C,8,E,!0),C<8?h.set(8,p-C-1,E,!0):C<9?h.set(8,15-C-1+1,E,!0):h.set(8,15-C-1,E,!0);h.set(p-8,8,1,!0)}function A(h,B){const b=h.size;let p=-1,S=b-1,C=7,E=0;for(let _=b-1;_>0;_-=2)for(_===6&&_--;;){for(let M=0;M<2;M++)if(!h.isReserved(S,_-M)){let J=!1;E<B.length&&(J=(B[E]>>>C&1)===1),h.set(S,_-M,J),C--,C===-1&&(E++,C=7)}if(S+=p,S<0||b<=S){S-=p,p=-p;break}}}function l(h,B,b){const p=new i;b.forEach(function(M){p.put(M.mode.bit,4),p.put(M.getLength(),y.getCharCountIndicator(M.mode,h)),M.write(p)});const S=o.getSymbolTotalCodewords(h),C=a.getTotalCodewordsCount(h,B),E=(S-C)*8;for(p.getLengthInBits()+4<=E&&p.put(0,4);p.getLengthInBits()%8!==0;)p.putBit(0);const _=(E-p.getLengthInBits())/8;for(let M=0;M<_;M++)p.put(M%2?17:236,8);return c(p,h,B)}function c(h,B,b){const p=o.getSymbolTotalCodewords(B),S=a.getTotalCodewordsCount(B,b),C=p-S,E=a.getBlocksCount(B,b),_=p%E,M=E-_,J=Math.floor(p/E),R=Math.floor(C/E),w=R+1,G=J-R,nt=new u(G);let $=0;const tt=new Array(E),rt=new Array(E);let ot=0;const at=new Uint8Array(h.buffer);for(let L=0;L<E;L++){const lt=L<M?R:w;tt[L]=at.slice($,$+lt),rt[L]=nt.encode(tt[L]),$+=lt,ot=Math.max(ot,lt)}const it=new Uint8Array(p);let ut=0,Q,x;for(Q=0;Q<ot;Q++)for(x=0;x<E;x++)Q<tt[x].length&&(it[ut++]=tt[x][Q]);for(Q=0;Q<G;Q++)for(x=0;x<E;x++)it[ut++]=rt[x][Q];return it}function k(h,B,b,p){let S;if(Array.isArray(h))S=m.fromArray(h);else if(typeof h=="string"){let J=B;if(!J){const R=m.rawSplit(h);J=f.getBestVersionForData(R,b)}S=m.fromString(h,J||40)}else throw new Error("Invalid data");const C=f.getBestVersionForData(S,b);if(!C)throw new Error("The amount of data is too big to be stored in a QR Code");if(!B)B=C;else if(B<C)throw new Error(`
The chosen QR Code version cannot contain this amount of data.
Minimum version required to store current data is: `+C+`.
`);const E=l(B,b,S),_=o.getSymbolSize(B),M=new e(_);return g(M,B),T(M),v(M,B),I(M,b,0),B>=7&&q(M,B),A(M,E),isNaN(p)&&(p=s.getBestMask(M,I.bind(null,M,b))),s.applyMask(p,M),I(M,b,p),{modules:M,version:B,errorCorrectionLevel:b,maskPattern:p,segments:S}}return vt.create=function(B,b){if(typeof B>"u"||B==="")throw new Error("No input text");let p=r.M,S,C;return typeof b<"u"&&(p=r.from(b.errorCorrectionLevel,r.M),S=f.from(b.version),C=s.from(b.maskPattern),b.toSJISFunc&&o.setToSJISFunction(b.toSJISFunc)),k(B,S,p,C)},vt}var Ut={},Dt={},pe;function Te(){return pe||(pe=1,(function(o){function r(i){if(typeof i=="number"&&(i=i.toString()),typeof i!="string")throw new Error("Color should be defined as hex string");let e=i.slice().replace("#","").split("");if(e.length<3||e.length===5||e.length>8)throw new Error("Invalid hex color: "+i);(e.length===3||e.length===4)&&(e=Array.prototype.concat.apply([],e.map(function(n){return[n,n]}))),e.length===6&&e.push("F","F");const t=parseInt(e.join(""),16);return{r:t>>24&255,g:t>>16&255,b:t>>8&255,a:t&255,hex:"#"+e.slice(0,6).join("")}}o.getOptions=function(e){e||(e={}),e.color||(e.color={});const t=typeof e.margin>"u"||e.margin===null||e.margin<0?4:e.margin,n=e.width&&e.width>=21?e.width:void 0,s=e.scale||4;return{width:n,scale:n?4:s,margin:t,color:{dark:r(e.color.dark||"#000000ff"),light:r(e.color.light||"#ffffffff")},type:e.type,rendererOpts:e.rendererOpts||{}}},o.getScale=function(e,t){return t.width&&t.width>=e+t.margin*2?t.width/(e+t.margin*2):t.scale},o.getImageWidth=function(e,t){const n=o.getScale(e,t);return Math.floor((e+t.margin*2)*n)},o.qrToImageData=function(e,t,n){const s=t.modules.size,a=t.modules.data,u=o.getScale(s,n),f=Math.floor((s+n.margin*2)*u),d=n.margin*u,y=[n.color.light,n.color.dark];for(let m=0;m<f;m++)for(let g=0;g<f;g++){let T=(m*f+g)*4,v=n.color.light;if(m>=d&&g>=d&&m<f-d&&g<f-d){const q=Math.floor((m-d)/u),I=Math.floor((g-d)/u);v=y[a[q*s+I]?1:0]}e[T++]=v.r,e[T++]=v.g,e[T++]=v.b,e[T]=v.a}}})(Dt)),Dt}var ve;function bn(){return ve||(ve=1,(function(o){const r=Te();function i(t,n,s){t.clearRect(0,0,n.width,n.height),n.style||(n.style={}),n.height=s,n.width=s,n.style.height=s+"px",n.style.width=s+"px"}function e(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}o.render=function(n,s,a){let u=a,f=s;typeof u>"u"&&(!s||!s.getContext)&&(u=s,s=void 0),s||(f=e()),u=r.getOptions(u);const d=r.getImageWidth(n.modules.size,u),y=f.getContext("2d"),m=y.createImageData(d,d);return r.qrToImageData(m.data,n,u),i(y,f,d),y.putImageData(m,0,0),f},o.renderToDataURL=function(n,s,a){let u=a;typeof u>"u"&&(!s||!s.getContext)&&(u=s,s=void 0),u||(u={});const f=o.render(n,s,u),d=u.type||"image/png",y=u.rendererOpts||{};return f.toDataURL(d,y.quality)}})(Ut)),Ut}var zt={},we;function En(){if(we)return zt;we=1;const o=Te();function r(t,n){const s=t.a/255,a=n+'="'+t.hex+'"';return s<1?a+" "+n+'-opacity="'+s.toFixed(2).slice(1)+'"':a}function i(t,n,s){let a=t+n;return typeof s<"u"&&(a+=" "+s),a}function e(t,n,s){let a="",u=0,f=!1,d=0;for(let y=0;y<t.length;y++){const m=Math.floor(y%n),g=Math.floor(y/n);!m&&!f&&(f=!0),t[y]?(d++,y>0&&m>0&&t[y-1]||(a+=f?i("M",m+s,.5+g+s):i("m",u,0),u=0,f=!1),m+1<n&&t[y+1]||(a+=i("h",d),d=0)):u++}return a}return zt.render=function(n,s,a){const u=o.getOptions(s),f=n.modules.size,d=n.modules.data,y=f+u.margin*2,m=u.color.light.a?"<path "+r(u.color.light,"fill")+' d="M0 0h'+y+"v"+y+'H0z"/>':"",g="<path "+r(u.color.dark,"stroke")+' d="'+e(d,f,u.margin)+'"/>',T='viewBox="0 0 '+y+" "+y+'"',q='<svg xmlns="http://www.w3.org/2000/svg" '+(u.width?'width="'+u.width+'" height="'+u.width+'" ':"")+T+' shape-rendering="crispEdges">'+m+g+`</svg>
`;return typeof a=="function"&&a(null,q),q},zt}var ye;function _n(){if(ye)return et;ye=1;const o=nn(),r=Cn(),i=bn(),e=En();function t(n,s,a,u,f){const d=[].slice.call(arguments,1),y=d.length,m=typeof d[y-1]=="function";if(!m&&!o())throw new Error("Callback required as last argument");if(m){if(y<2)throw new Error("Too few arguments provided");y===2?(f=a,a=s,s=u=void 0):y===3&&(s.getContext&&typeof f>"u"?(f=u,u=void 0):(f=u,u=a,a=s,s=void 0))}else{if(y<1)throw new Error("Too few arguments provided");return y===1?(a=s,s=u=void 0):y===2&&!s.getContext&&(u=a,a=s,s=void 0),new Promise(function(g,T){try{const v=r.create(a,u);g(n(v,s,u))}catch(v){T(v)}})}try{const g=r.create(a,u);f(null,n(g,s,u))}catch(g){f(g)}}return et.create=r.create,et.toCanvas=t.bind(null,i.render),et.toDataURL=t.bind(null,i.renderToDataURL),et.toString=t.bind(null,function(n,s,a){return e.render(n,a)}),et}var Bn=_n();const In=Ae(Bn);async function Sn(o,r){const i={width:280,margin:2,color:{dark:"#000000",light:"#ffffff"}};return In.toDataURL(o,{...i,...r})}const Rn={class:"qr-login"},Tn={class:"qr-box"},An={key:0,class:"qr-state"},Mn={key:1,class:"qr-state"},Pn=["src"],Nn=["src"],kn={key:2,class:"qrcode-placeholder"},Ln={class:"muted"},qn={key:2,class:"qr-state"},Un={key:3,class:"qr-state"},Dn={key:4,class:"qr-state"},zn={class:"bad-text"},Fn={key:0,class:"actions"},On=be({__name:"QrLogin",emits:["loginSuccess","loginError"],setup(o,{emit:r}){const i=r,e=Me(),t=z(""),n=z(""),s=z(""),a=z("loading"),u=z(0),f=z(""),d=z(!1);let y=null,m=null;function g(){y&&clearInterval(y),m&&clearInterval(m),y=null,m=null}function T(){y=Ft(async()=>{try{const l=await Qe(s.value);if(l.expiresIn!==void 0&&(u.value=l.expiresIn),l.status==="scanned"){a.value="scanned";return}if(l.status==="bind_phone"){g(),V.info(l.message||"检测到新用户,请先绑定手机号"),await e.replace(`/bind-phone?token=${s.value}`);return}if(l.status==="expired"){a.value="expired",g();return}l.status==="confirmed"&&(g(),i("loginSuccess",l))}catch{}},2e3),m=Ft(()=>{u.value=Math.max(0,u.value-1),u.value<=0&&(a.value="expired",g())},1e3)}function v(l){const c=Math.floor(l/60),k=Math.max(0,l%60);return`${c}:${String(k).padStart(2,"0")}`}function q(l){if(l instanceof Error)return l.message;if(typeof l=="string")return l;if(typeof l=="object"&&l&&"message"in l){const c=l.message;if(typeof c=="string")return c}try{return String(l)}catch{return""}}async function I(){g(),a.value="loading",f.value="",t.value="";try{const l=await je();if(s.value=l.token,u.value=l.expiresIn||300,l.miniprogramQrCode){n.value=l.miniprogramQrCode,console.info("使用小程序码Base64长度: {}",n.value.length),a.value="active",T();return}n.value="",console.warn("后端未返回小程序码,降级到普通二维码");let c="";l.wechatScanUrl?(c=l.wechatScanUrl,console.info("使用微信扫码URL:",c)):l.qrCodeContent&&l.qrCodeContent.startsWith("http")?(c=l.qrCodeContent,console.info("使用 qrCodeContent:",c)):(c=`${window.location.origin}/wx-scan?token=${l.token}`,console.info("使用降级扫码URL:",c));try{t.value=await Sn(c,{width:280,margin:2,color:{dark:"#000000",light:"#ffffff"}})}catch(k){throw console.error("生成二维码失败:",k),new Error("生成二维码失败,请刷新重试")}a.value="active",T()}catch(l){a.value="error",f.value=q(l)||"生成二维码失败",V.error(f.value),i("loginError",f.value)}}async function A(){d.value=!0;try{await I()}finally{d.value=!1}}return Ee(()=>{I()}),_e(()=>{g()}),(l,c)=>{const k=j("a-spin"),h=j("a-button");return F(),O("div",Rn,[P("div",Tn,[a.value==="loading"?(F(),O("div",An,[N(k,{size:"large"}),c[0]||(c[0]=P("p",{class:"muted"},"正在生成二维码…",-1))])):a.value==="active"?(F(),O("div",Mn,[n.value?(F(),O("img",{key:0,src:n.value,class:"qrcode-img",alt:"小程序码登录",onClick:A},null,8,Pn)):t.value?(F(),O("img",{key:1,src:t.value,class:"qrcode-img",alt:"扫码登录",onClick:A},null,8,Nn)):(F(),O("div",kn,[N(k,{size:"large"})])),c[1]||(c[1]=P("p",{class:"tip"},"请使用微信扫一扫,扫码后自动登录",-1)),P("p",Ln,"有效期:"+U(v(u.value)),1)])):a.value==="scanned"?(F(),O("div",qn,[N(Y(Pe),{class:"icon ok"}),c[2]||(c[2]=P("p",{class:"ok-text"},"已识别扫码,请在手机上确认登录",-1))])):a.value==="expired"?(F(),O("div",Un,[N(Y(Ne),{class:"icon bad"}),c[4]||(c[4]=P("p",{class:"bad-text"},"二维码已过期",-1)),N(h,{type:"primary",onClick:A},{default:D(()=>[...c[3]||(c[3]=[H("刷新二维码",-1)])]),_:1})])):a.value==="error"?(F(),O("div",Dn,[N(Y(ke),{class:"icon bad"}),P("p",zn,U(f.value||"生成二维码失败"),1),N(h,{type:"primary",onClick:A},{default:D(()=>[...c[5]||(c[5]=[H("重新生成",-1)])]),_:1})])):Vt("",!0)]),a.value==="active"?(F(),O("div",Fn,[N(h,{type:"link",loading:d.value,onClick:A},{default:D(()=>[N(Y(Le)),c[6]||(c[6]=H(" 刷新二维码 ",-1))]),_:1},8,["loading"])])):Vt("",!0)])}}}),Vn=Object.assign(Be(On,[["__scopeId","data-v-63bcae9c"]]),{__name:"QrLogin"});function Hn(o,r){return Ye({url:"/api/app/product/field/config",method:"get",params:{tenantId:o,code:r}})}const jn={class:"login-page"},Qn={class:"left-content"},xn={class:"left-footer"},Jn={class:"login-right"},Kn={class:"form-wrapper"},Yn={class:"mobile-brand"},Gn=["src"],Wn={class:"mobile-brand-name"},Xn={class:"login-tabs"},Zn={class:"captcha-row"},$n=["disabled"],tr={key:0},er={key:1},nr={class:"agreement-row"},rr={class:"agreement-text"},or={class:"form-footer"},ir={class:"captcha-row modal-captcha"},sr=["src"],ar="https://oss.wsdns.cn/20240822/0252ad4ed46449cdafe12f8d3d96c2ea.svg",ur=be({__name:"login",setup(o){const r=qe(),i=z(),e=z(!1),t=z("scan"),n=z(""),s=z(""),a=z(!1),u=z(""),f=z(!1),d=z(0);let y=null;const m=z(!1),g=z([]),T=z(),v=Ht({phone:"",smsCode:"",remember:!0,agreement:!1}),I=Ht({phone:[{required:!0,message:"请输入手机号码",type:"string"},{pattern:/^1[3-9]\d{9}$/,message:"手机号格式不正确",trigger:"blur"}],smsCode:[{required:!0,message:"请输入短信验证码",type:"string"}]}),A=Ue(()=>{const R=i.value?.loginBgImg;return R?{backgroundImage:`url(${R})`}:{}});function l(R){t.value=R}function c(){t.value=t.value==="scan"?"sms":"scan"}function k(){y&&clearInterval(y),y=null,d.value=0}async function h(){try{const R=await xe();n.value=R.base64,s.value=R.text}catch(R){V.error(R instanceof Error?R.message:"登录失败")}}function B(){if(!v.phone)return V.error("请输入手机号码");u.value="",h(),a.value=!0}async function b(){if(!u.value)return V.error("请输入图形验证码");if(s.value&&u.value.toLowerCase()!==s.value.toLowerCase())return V.error("图形验证码不正确");f.value=!0;try{await Je({phone:v.phone}),V.success("短信验证码发送成功,请注意查收"),a.value=!1,d.value=30,k(),d.value=30,y=Ft(()=>{d.value-=1,d.value<=0&&k()},1e3)}catch(R){V.error(R instanceof Error?R.message:"发送失败")}finally{f.value=!1}}async function p(){const R=typeof r.query.from=="string"?r.query.from:"";await He(R||"/")}function S(R){const w=typeof R=="number"?R:Number(R);Number.isFinite(w)&&w>0&&localStorage.setItem("UserId",String(w))}async function C(R){S(R);try{if(localStorage.getItem("UserId"))return}catch{}try{const w=await We();S(w.userId)}catch{}}async function E(){if(T.value){if(!v.agreement)return V.error("请先阅读并同意《注册协议》和《隐私政策》");e.value=!0;try{await T.value.validate();const R=await Ke({phone:v.phone,code:String(v.smsCode||"").toLowerCase(),tenantId:v.tenantId,remember:!!v.remember});if(R==="请选择登录用户"){m.value=!0,g.value=await Ge({phone:v.phone,templateId:Number(Ve)});return}V.success(R||"登录成功"),await C(),await p()}catch(R){V.error(R instanceof Error?R.message:"登录失败")}finally{e.value=!1}}}async function _(R){v.tenantId=R.tenantId,m.value=!1,await E()}async function M(R){const w=R.accessToken||R.access_token;w&&Xe(String(w),!0),R.tenantId&&localStorage.setItem("TenantId",String(R.tenantId));const G=typeof R.userInfo=="object"&&R.userInfo&&"userId"in R.userInfo?R.userInfo.userId:void 0;await C(G),V.success("扫码登录成功"),await p()}function J(R){V.error(R||"扫码登录失败")}return Ee(async()=>{try{i.value=await Hn({lang:"zh-CN"})}catch{}h(),typeof r.query.loginPhone=="string"&&(v.phone=r.query.loginPhone,t.value="sms")}),_e(()=>{k()}),(R,w)=>{const G=j("a-input"),nt=j("a-form-item"),$=Fe,tt=j("a-checkbox"),rt=j("a-button"),ot=j("a-form"),at=j("a-modal"),it=j("a-avatar"),ut=j("a-list-item-meta"),Q=j("a-list-item"),x=j("a-list");return F(),O("div",jn,[P("div",{class:"login-left",style:De(A.value)},[w[11]||(w[11]=jt('<div class="left-overlay" data-v-48f7acdf></div><div class="left-grid" data-v-48f7acdf></div><div class="dot dot-1" data-v-48f7acdf></div><div class="dot dot-2" data-v-48f7acdf></div><div class="dot dot-3" data-v-48f7acdf></div>',5)),P("div",Qn,[w[10]||(w[10]=jt('<div class="brand" data-v-48f7acdf><div class="brand-logo-text" data-v-48f7acdf>决策咨询网</div><div class="brand-site-name" data-v-48f7acdf>GX Decision Consulting</div></div><div class="hero-text" data-v-48f7acdf><div class="hero-tag" data-v-48f7acdf>广西决策咨询中心</div><h1 class="hero-title" data-v-48f7acdf>汇聚专家智慧<br data-v-48f7acdf>服务政府决策</h1><p class="hero-desc" data-v-48f7acdf>广西决策咨询网是自治区党委政府决策咨询服务的重要平台<br data-v-48f7acdf>汇聚各领域专家学者,提供权威决策咨询服务</p><div class="hero-stats" data-v-48f7acdf><div class="stat-item" data-v-48f7acdf><span class="stat-num" data-v-48f7acdf>200+</span><span class="stat-label" data-v-48f7acdf>认证专家</span></div><div class="stat-divider" data-v-48f7acdf></div><div class="stat-item" data-v-48f7acdf><span class="stat-num" data-v-48f7acdf>500+</span><span class="stat-label" data-v-48f7acdf>会员单位</span></div><div class="stat-divider" data-v-48f7acdf></div><div class="stat-item" data-v-48f7acdf><span class="stat-num" data-v-48f7acdf>1000+</span><span class="stat-label" data-v-48f7acdf>建言献策</span></div></div></div>',2)),P("div",xn,[P("span",null,"© "+U(new Date().getFullYear())+" 广西决策咨询中心 保留所有权利",1)])])],4),P("div",Jn,[P("div",Kn,[P("div",Yn,[P("img",{src:i.value?.sysLogo||ar,class:"mobile-logo",alt:"logo"},null,8,Gn),P("span",Wn,U(i.value?.siteName||"广西决策咨询网"),1)]),w[19]||(w[19]=P("div",{class:"form-header"},[P("h2",{class:"form-title"},U("欢迎回来")),P("p",{class:"form-subtitle"},U("请登录您的账号以继续"))],-1)),P("div",Xn,[P("button",{class:ht(["login-tab",{active:t.value==="scan"}]),onClick:w[0]||(w[0]=L=>l("scan"))},[N(Y(gt)),w[12]||(w[12]=H(" "+U("扫码登录"),-1))],2),P("button",{class:ht(["login-tab",{active:t.value==="sms"}]),onClick:w[1]||(w[1]=L=>l("sms"))},[N(Y(dt)),w[13]||(w[13]=H(" "+U("手机号登录"),-1))],2)]),N(ot,{ref_key:"formRef",ref:T,model:v,rules:I,class:"login-form"},{default:D(()=>[t.value==="sms"?(F(),O(ze,{key:0},[N(nt,{name:"phone"},{default:D(()=>[N(G,{value:v.phone,"onUpdate:value":w[2]||(w[2]=L=>v.phone=L),size:"large","allow-clear":"",maxlength:11,placeholder:"请输入手机号码",class:"form-input"},{prefix:D(()=>[...w[14]||(w[14]=[P("span",{class:"phone-prefix"},"+86",-1),P("span",{class:"phone-prefix-divider"},null,-1)])]),_:1},8,["value"])]),_:1}),N(nt,{name:"smsCode"},{default:D(()=>[P("div",Zn,[N(G,{value:v.smsCode,"onUpdate:value":w[3]||(w[3]=L=>v.smsCode=L),size:"large","allow-clear":"",maxlength:6,placeholder:"请输入验证码",class:"form-input",onPressEnter:E},null,8,["value"]),P("button",{class:ht(["sms-btn",{disabled:d.value>0}]),disabled:d.value>0,onClick:ct(B,["prevent"])},[d.value<=0?(F(),O("span",tr,U("发送验证码"))):(F(),O("span",er,U(d.value)+U("s 后重发"),1))],10,$n)])]),_:1}),P("div",nr,[N(tt,{checked:v.agreement,"onUpdate:checked":w[6]||(w[6]=L=>v.agreement=L)},{default:D(()=>[P("span",rr,[w[17]||(w[17]=H(U("我已阅读并同意")+" ",-1)),N($,{to:"/agreement",target:"_blank",class:"agreement-link",onClick:w[4]||(w[4]=ct(()=>{},["stop"]))},{default:D(()=>[...w[15]||(w[15]=[H(U("《注册协议》"),-1)])]),_:1}),w[18]||(w[18]=H(" "+U("和")+" ",-1)),N($,{to:"/privacy",target:"_blank",class:"agreement-link",onClick:w[5]||(w[5]=ct(()=>{},["stop"]))},{default:D(()=>[...w[16]||(w[16]=[H(U("《隐私政策》"),-1)])]),_:1})])]),_:1},8,["checked"])]),N(nt,null,{default:D(()=>[N(rt,{block:"",size:"large",type:"primary",loading:e.value,class:"submit-btn",onClick:E},{default:D(()=>[H(U(e.value?"登录中…":"立即登录"),1)]),_:1},8,["loading"])]),_:1})],64)):(F(),mt(Vn,{key:1,onLoginSuccess:M,onLoginError:J}))]),_:1},8,["model","rules"]),P("div",or,[P("button",{class:"switch-scan-btn",onClick:c},[t.value!=="scan"?(F(),mt(Y(gt),{key:0})):(F(),mt(Y(dt),{key:1})),H(" "+U(t.value==="scan"?"切换到手机号登录":"切换到扫码登录"),1)])])])]),N(at,{open:a.value,"onUpdate:open":w[8]||(w[8]=L=>a.value=L),width:360,footer:null,title:"安全验证"},{default:D(()=>[w[21]||(w[21]=P("p",{class:"modal-tip"},U("请先完成图形验证码验证"),-1)),P("div",ir,[N(G,{value:u.value,"onUpdate:value":w[7]||(w[7]=L=>u.value=L),size:"large","allow-clear":"",maxlength:5,placeholder:"请输入图形验证码",onPressEnter:b},null,8,["value"]),P("button",{class:"captcha-img-btn",onClick:ct(h,["prevent"]),title:"点击刷新"},[P("img",{alt:"captcha",src:n.value},null,8,sr)])]),N(rt,{block:"",size:"large",type:"primary",loading:f.value,class:"submit-btn",onClick:b},{default:D(()=>[...w[20]||(w[20]=[H(U("发送验证码"),-1)])]),_:1},8,["loading"])]),_:1},8,["open"]),N(at,{open:m.value,"onUpdate:open":w[9]||(w[9]=L=>m.value=L),width:520,footer:null,title:"选择账号登录"},{default:D(()=>[N(x,{"item-layout":"horizontal","data-source":g.value},{renderItem:D(({item:L})=>[N(Q,{class:"list-item",onClick:lt=>_(L)},{actions:D(()=>[N(Y(Oe))]),default:D(()=>[N(ut,{description:`租户ID: ${L.tenantId}`},{title:D(()=>[H(U(L.tenantName||L.username),1)]),avatar:D(()=>[N(it,{src:L.avatar},null,8,["src"])]),_:2},1032,["description"])]),_:2},1032,["onClick"])]),_:1},8,["data-source"])]),_:1},8,["open"])])}}}),mr=Be(ur,[["__scopeId","data-v-48f7acdf"]]);export{mr as default};