fix(icons): render FA glyphs in the SPA picker grid and harden item clicks
The server catalog ships bare glyph names, but the SPA grid preview composed "fas home" instead of "fas fa-home" — every FA icon rendered blank (the old curated lists carried the fa- prefix, so the regression appeared with the catalog switch). Item clicks move from per-element @click to a delegated panel handler reading data-icon (immunity to DOM-replacing extensions/userscripts, matching the PHP picker's pattern), and selecting now closes the popover so the choice is visible in the field immediately.
This commit is contained in:
1 parent
27d8a9ea71
commit
39bafb65c4
12 files changed
+33
-20
No files matched your search
@@ -0,0 +1 @@
|
||||
import{aa as q,a1 as i,W as _,a2 as b,a3 as s,a4 as l,f,Y as I,a5 as K,ab as Y,c as z,w as Z,b as ve,X as E,ac as _e,R as ee,N as R,ad as ye,I as ge,Z as ke,r as B,$ as we,F as be,a6 as he,l as Se,ae as Ce,af as xe,n as Ae}from"./vendor-vue.BxZIRU0_.js";import{u as Te,A as Ie,n as ze,g as te}from"./shared-api.DieGsdVx.js";import{a as O}from"./shared-api.DnsQ5cxS.js";import{_ as Ue}from"./index.js";import{u as Pe}from"./vendor-naive.CKYCZmXD.js";import"./FaIcon.NZ6TDkNu.js";import"./FaIconPicker.C_p6xA0k.js";import"./vendor-misc.bELTaXdf.js";import"./level.E3ANSDAX.js";import"./badge.CKTsmH1z.js";const Ve={__name:"TencentConfig",props:{modelValue:{type:Object,default:()=>({})},modelModifiers:{}},emits:Y(["clear-secret","restore-secret"],["update:modelValue"]),setup(U,{emit:P}){const n=q(U,"modelValue"),k=P;function A(u){k("clear-secret",u),n.value={...n.value,[u]:""}}function y(u,e){e!==""&&k("restore-secret",u)}const d=z(()=>{const u=n.value;return!!(u.secret_id&&u.secret_key&&u.app_id&&u.app_secret_key)});return(u,e)=>{const w=i("n-divider"),m=i("n-a"),g=i("n-alert"),v=i("n-input"),C=i("n-form-item"),x=i("n-button"),h=i("n-tag"),$=i("n-space"),M=i("n-form");return _(),b(M,{"label-placement":"left","label-width":"130"},{default:s(()=>[l($,{vertical:"",style:{width:"100%"}},{default:s(()=>[l(w,{"title-placement":"left"},{default:s(()=>[...e[8]||(e[8]=[f("云 API 密钥(用于 TC3 签名)",-1)])]),_:1}),l(g,{type:"warning",style:{"margin-bottom":"12px"}},{default:s(()=>[e[10]||(e[10]=f(" 请从 ",-1)),l(m,{href:"https://console.cloud.tencent.com/cam/capi",target:"_blank"},{default:s(()=>[...e[9]||(e[9]=[f("访问管理控制台 → API 密钥管理",-1)])]),_:1}),e[11]||(e[11]=f(" 获取。建议使用子账号密钥并仅授予 ",-1)),e[12]||(e[12]=I("code",null,"QcloudCaptchaFullAccess",-1)),e[13]||(e[13]=f(" 权限。 ",-1))]),_:1}),l(C,{label:"SecretId"},{default:s(()=>[l(v,{value:n.value.secret_id,"onUpdate:value":e[0]||(e[0]=o=>n.value.secret_id=o),placeholder:"腾讯云 API SecretId",autocomplete:"off"},null,8,["value"])]),_:1}),l(C,{label:"SecretKey"},{default:s(()=>[l(v,{value:n.value.secret_key,"onUpdate:value":[e[1]||(e[1]=o=>n.value.secret_key=o),e[2]||(e[2]=o=>y("secret_key",o))],type:"password",placeholder:"腾讯云 API SecretKey",autocomplete:"new-password","show-password-on":"click"},null,8,["value"]),n.value.secret_key==="***"?(_(),b(x,{key:0,size:"tiny",type:"error",ghost:"",style:{"margin-left":"8px"},onClick:e[3]||(e[3]=o=>A("secret_key"))},{default:s(()=>[...e[14]||(e[14]=[f("清除",-1)])]),_:1})):K("",!0)]),_:1}),l(w,{"title-placement":"left"},{default:s(()=>[...e[15]||(e[15]=[f("验证码密钥",-1)])]),_:1}),l(C,{label:"CaptchaAppId"},{default:s(()=>[l(v,{value:n.value.app_id,"onUpdate:value":e[4]||(e[4]=o=>n.value.app_id=o),placeholder:"从验证码控制台获取 CaptchaAppId",autocomplete:"off"},null,8,["value"])]),_:1}),l(C,{label:"AppSecretKey"},{feedback:s(()=>[...e[17]||(e[17]=[f("请从「验证管理 → 基础配置」完整复制,注意区分 I/l/1/O/0",-1)])]),default:s(()=>[l(v,{value:n.value.app_secret_key,"onUpdate:value":[e[5]||(e[5]=o=>n.value.app_secret_key=o),e[6]||(e[6]=o=>y("app_secret_key",o))],type:"password",placeholder:"从验证码控制台获取 AppSecretKey",autocomplete:"new-password","show-password-on":"click"},null,8,["value"]),n.value.app_secret_key==="***"?(_(),b(x,{key:0,size:"tiny",type:"error",ghost:"",style:{"margin-left":"8px"},onClick:e[7]||(e[7]=o=>A("app_secret_key"))},{default:s(()=>[...e[16]||(e[16]=[f("清除",-1)])]),_:1})):K("",!0)]),_:1}),l(g,{type:"info",style:{"margin-bottom":"12px"}},{default:s(()=>[...e[18]||(e[18]=[f(" 腾讯云验证码 2.0 — 验证类型(滑动拼图、文字点选、空间语义等)请在",-1),I("a",{href:"https://console.cloud.tencent.com/captcha/graphical",target:"_blank"},"验证码控制台",-1),f("配置。 ",-1)])]),_:1}),d.value?(_(),b(h,{key:0,type:"success",size:"small"},{default:s(()=>[...e[19]||(e[19]=[f("✓ 已完整配置",-1)])]),_:1})):(_(),b(h,{key:1,type:"warning",size:"small"},{default:s(()=>[...e[20]||(e[20]=[f("未完成配置",-1)])]),_:1}))]),_:1})]),_:1})}}},De={__name:"AliyunConfig",props:{modelValue:{type:Object,default:()=>({})},modelModifiers:{}},emits:Y(["clear-secret","restore-secret"],["update:modelValue"]),setup(U,{emit:P}){const n=q(U,"modelValue"),k=P;function A(u){k("clear-secret",u),n.value={...n.value,[u]:""}}function y(u,e){e!==""&&k("restore-secret",u)}const d=z(()=>{const u=n.value;return!!(u.region&&u.prefix&&u.scene_id&&u.access_key_id&&u.access_key_secret)});return(u,e)=>{const w=i("n-divider"),m=i("n-select"),g=i("n-form-item"),v=i("n-input"),C=i("n-button"),x=i("n-alert"),h=i("n-tag"),$=i("n-space"),M=i("n-form");return _(),b(M,{"label-placement":"left","label-width":"130"},{default:s(()=>[l($,{vertical:"",style:{width:"100%"}},{default:s(()=>[l(w,{"title-placement":"left"},{default:s(()=>[...e[7]||(e[7]=[f("前端配置",-1)])]),_:1}),l(g,{label:"所属Line truncated
|
||||
Reference in new issue
Block a user