继续适配Trss (#583)

* fix: 修复星火api上下文

* 将无星火ck的情况降低为warn

* feat: 添加星火设定自定义代码功能

* 修复星火api模式的一些问题

* 修复导出配置问题

* feat:添加工具箱快捷登录接口

* 添加工具箱快捷登录指令

* 阻止群聊使用快捷登录

* 添加Azure配置支持,修复重复的配置项冲突

* 移除旧版本渲染和新版本帮助

* 添加工具箱

* 更新工具箱替换原有后台

* 更新工具箱适配代码

* 后台适配Trss

* 修复trss不支持sendPrivateMsg的问题

* 优化路由

* 修复路由

* 适配其他uin

* 添加bing第三方绘图

* 修复bing绘图第三方调用错误

* 添加bing第三方绘图采样配置

* 修复错误

* 添加bing第三方绘图图片大小配置

* 修复视图错误

* 使用ap替换第三方绘图

* 适配trss

* server 适配trss

* 修复错误的后台版本更新

* 添加锅巴用户数据

* 修复server初始化消息错误

* 添加锅巴插件适配

* 更新后台页面

* 添加锅巴代理接口

* 优化锅巴接口代理

* 修复锅巴代理参数

* 删除调试信息

* 修复headers

* 更新后台锅巴插件支持
This commit is contained in:
HalcyonAlcedo 2023-10-16 21:49:00 +08:00 committed by GitHub
parent 6c171b32a1
commit c68a50e8bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
43 changed files with 214 additions and 173 deletions

View file

@ -7,7 +7,6 @@ import websocket from '@fastify/websocket'
import fs from 'fs' import fs from 'fs'
import path from 'path' import path from 'path'
import os from 'os' import os from 'os'
import schedule from 'node-schedule'
import websocketclient from 'ws' import websocketclient from 'ws'
import { Config } from '../utils/config.js' import { Config } from '../utils/config.js'
@ -17,6 +16,7 @@ import { getPublicIP, getUserData, getMasterQQ, randomString, getUin } from '../
import webRoute from './modules/web_route.js' import webRoute from './modules/web_route.js'
import webUser from './modules/user.js' import webUser from './modules/user.js'
import webPrompt from './modules/prompts.js' import webPrompt from './modules/prompts.js'
import Guoba from './modules/guoba.js'
import SettingView from './modules/setting_view.js' import SettingView from './modules/setting_view.js'
const __dirname = path.resolve() const __dirname = path.resolve()
@ -24,41 +24,6 @@ const server = fastify({
logger: Config.debug logger: Config.debug
}) })
let Statistics = {
SystemAccess: {
count: 0,
oldCount: 0
},
CacheFile: {
count: 0,
oldCount: 0
},
WebAccess: {
count: 0,
oldCount: 0
},
SystemLoad: {
count: 0,
oldCount: 0
}
}
async function getLoad() {
// 获取当前操作系统平台
const platform = os.platform()
// 判断平台是Linux还是Windows
if (platform === 'linux') {
// 如果是Linux使用os.loadavg()方法获取负载平均值
const loadAvg = os.loadavg()
return loadAvg[0] * 100
} else if (platform === 'win32') {
// 如果是Windows不获取性能
return 0
} else {
return 0
}
}
async function setUserData(qq, data) { async function setUserData(qq, data) {
const dir = 'resources/ChatGPTCache/user' const dir = 'resources/ChatGPTCache/user'
const filename = `${qq}.json` const filename = `${qq}.json`
@ -84,6 +49,7 @@ await server.register(webRoute)
await server.register(webUser) await server.register(webUser)
await server.register(SettingView) await server.register(SettingView)
await server.register(webPrompt) await server.register(webPrompt)
await server.register(Guoba)
// 无法访问端口的情况下创建与media的通讯 // 无法访问端口的情况下创建与media的通讯
async function mediaLink() { async function mediaLink() {
@ -290,7 +256,6 @@ export async function createServer() {
time: data.time time: data.time
}) })
await setUserData(body.qq, user) await setUserData(body.qq, user)
Statistics.CacheFile.count += 1
reply.send({ file: body.entry, cacheUrl: `http://${ip}:${Config.serverPort || 3321}/page/${body.entry}` }) reply.send({ file: body.entry, cacheUrl: `http://${ip}:${Config.serverPort || 3321}/page/${body.entry}` })
} catch (err) { } catch (err) {
server.log.error(`用户生成缓存${body.entry}时发生错误: ${err}`) server.log.error(`用户生成缓存${body.entry}时发生错误: ${err}`)
@ -299,12 +264,6 @@ export async function createServer() {
} }
return reply return reply
}) })
// 获取系统状态
server.post('/system-statistics', async (request, reply) => {
Statistics.SystemLoad.count = await getLoad()
reply.send(Statistics)
return reply
})
// 清除缓存数据 // 清除缓存数据
server.post('/cleanCache', async (request, reply) => { server.post('/cleanCache', async (request, reply) => {
@ -333,6 +292,7 @@ export async function createServer() {
connection.socket.send(JSON.stringify(response)) connection.socket.send(JSON.stringify(response))
}) })
connection.socket.on('message', async (message) => { connection.socket.on('message', async (message) => {
const isTrss = Array.isArray(Bot.uin)
try { try {
const data = JSON.parse(message) const data = JSON.parse(message)
const user = UserInfo(data.token) const user = UserInfo(data.token)
@ -344,10 +304,14 @@ export async function createServer() {
} }
if (data.id && data.message) { if (data.id && data.message) {
if (data.group) { if (data.group) {
Bot.sendGroupMsg(parseInt(data.id), data.message, data.quotable) if (isTrss) {
Bot[user.user].pickGroup(parseInt(data.id)).sendMsg(data.message)
} else {
Bot.sendGroupMsg(parseInt(data.id), data.message, data.quotable)
}
} else { } else {
if (Array.isArray(Bot.uin)) { if (isTrss) {
Bot.pickFriend(parseInt(data.id)).sendMsg(data.message) Bot[user.user].pickFriend(parseInt(data.id)).sendMsg(data.message)
} else { } else {
Bot.sendPrivateMsg(parseInt(data.id), data.message, data.quotable) Bot.sendPrivateMsg(parseInt(data.id), data.message, data.quotable)
} }
@ -365,7 +329,6 @@ export async function createServer() {
} }
break break
case 'login': // 登录 case 'login': // 登录
if (user) { if (user) {
clients[user.user] = connection.socket clients[user.user] = connection.socket
connection.login = true connection.login = true
@ -379,13 +342,17 @@ export async function createServer() {
await connection.socket.send(JSON.stringify({ command: data.command, state: false, error: '请先登录账号' })) await connection.socket.send(JSON.stringify({ command: data.command, state: false, error: '请先登录账号' }))
return return
} }
if (user.autho != 'admin') { if (user?.autho != 'admin') {
await connection.socket.send(JSON.stringify({ command: data.command, state: true, error: '普通用户无需进行初始化' })) await connection.socket.send(JSON.stringify({ command: data.command, state: true, error: '普通用户无需进行初始化' }))
return return
} }
const groupList = Bot.getGroupList() let _Bot = Bot
if (isTrss) {
_Bot = Bot[user.user]
}
const groupList = await _Bot.getGroupList()
groupList.forEach(async (item) => { groupList.forEach(async (item) => {
const group = Bot.pickGroup(item.group_id) const group = _Bot.pickGroup(item.group_id)
const groupMessages = await group.getChatHistory() const groupMessages = await group.getChatHistory()
groupMessages.forEach(async (e) => { groupMessages.forEach(async (e) => {
const messageData = { const messageData = {
@ -410,12 +377,14 @@ export async function createServer() {
await connection.socket.send(JSON.stringify(messageData)) await connection.socket.send(JSON.stringify(messageData))
}) })
}) })
break break
default: default:
await connection.socket.send(JSON.stringify({ "data": data })) await connection.socket.send(JSON.stringify({ "data": data }))
break break
} }
} catch (error) { } catch (error) {
console.error(error)
await connection.socket.send(JSON.stringify({ "error": error.message })) await connection.socket.send(JSON.stringify({ "error": error.message }))
} }
}) })
@ -432,7 +401,7 @@ export async function createServer() {
message: e.message, message: e.message,
sender: e.sender, sender: e.sender,
group: { group: {
isGroup: e.isGroup, isGroup: e.isGroup || e.group_id != undefined,
group_id: e.group_id, group_id: e.group_id,
group_name: e.group_name group_name: e.group_name
}, },
@ -606,28 +575,6 @@ export async function createServer() {
return reply return reply
}) })
server.addHook('onRequest', (request, reply, done) => {
if (request.method == 'POST') { Statistics.SystemAccess.count += 1 }
if (request.method == 'GET') { Statistics.WebAccess.count += 1 }
done()
})
// 定时任务
let rule = new schedule.RecurrenceRule()
rule.hour = 0
rule.minute = 0
let job_Statistics = schedule.scheduleJob(rule, function () {
Statistics.SystemAccess.oldCount = Statistics.SystemAccess.count
Statistics.CacheFile.oldCount = Statistics.CacheFile.count
Statistics.WebAccess.oldCount = Statistics.WebAccess.count
Statistics.SystemAccess.count = 0
Statistics.CacheFile.count = 0
Statistics.WebAccess.count = 0
})
let job_Statistics_SystemLoad = schedule.scheduleJob('0 * * * *', async function () {
Statistics.SystemLoad.count = await getLoad()
Statistics.SystemLoad.oldCount = Statistics.SystemLoad.count
})
server.listen({ server.listen({
port: Config.serverPort || 3321, port: Config.serverPort || 3321,
host: '::' host: '::'

72
server/modules/guoba.js Normal file
View file

@ -0,0 +1,72 @@
import { UserInfo } from './user_data.js'
async function Guoba(fastify, options) {
// 获取锅巴登陆链接
fastify.post('/guobaLogin', async (request, reply) => {
const token = request.cookies.token || request.body?.token || 'unknown'
let user = UserInfo(token)
if (user && user.autho == 'admin') {
try {
let { LoginService } = await import('../../../Guoba-Plugin/server/service/both/LoginService.js')
const guobaLoginService = new LoginService()
const guobaAPI = await guobaLoginService.setQuickLogin(user.user)
reply.send({ guoba: guobaAPI })
}
catch (err) {
console.error(err)
reply.send({ state: false, error: err })
}
} else {
reply.send({ state: false, error: '用户权限不足' })
}
return reply
})
// 代理锅巴接口
fastify.post('/guobaApi', async (request, reply) => {
const body = request.body || {}
const token = request.cookies.token || request.body?.token || 'unknown'
let user = UserInfo(token)
if (user && user.autho == 'admin' && body.guobaToken) {
try {
let { getAllWebAddress } = await import('../../../Guoba-Plugin/utils/common.js')
const { custom, local, remote } = await getAllWebAddress()
if (local.length > 0) {
const guobaOptions = {
method: body.post ? 'POST' : 'GET',
headers: {
'Content-Type': 'application/json',
'Guoba-Access-Token': body.guobaToken
}
}
if (body.data) {
if (body.post) {
guobaOptions.body = JSON.stringify(body.data)
} else {
let paramsArray = []
Object.keys(body.data).forEach(key => paramsArray.push(key + '=' + body.data[key]))
if (paramsArray.length > 0) {
body.path += '?' + paramsArray.join('&')
}
}
}
const response = await fetch(`${local[0]}/${body.path}`, guobaOptions)
if (response.ok) {
const json = await response.json()
reply.send(json)
}
} else {
reply.send({ state: false, error: '锅巴接口异常' })
}
}
catch (err) {
console.error(err)
reply.send({ state: false, error: err })
}
} else {
reply.send({ state: false, error: '用户权限不足' })
}
return reply
})
}
export default Guoba

View file

@ -6,12 +6,27 @@ async function User(fastify, options) {
// 登录 // 登录
fastify.post('/login', async (request, reply) => { fastify.post('/login', async (request, reply) => {
const body = request.body || {} const body = request.body || {}
let guobaLoginService
let guobaAPI = ''
try {
let { LoginService } = await import('../../../Guoba-Plugin/server/service/both/LoginService.js')
let { getAllWebAddress } = await import('../../../Guoba-Plugin/utils/common.js')
guobaLoginService = new LoginService()
guobaAPI = await getAllWebAddress()
}
catch (err) {
console.error(err)
guobaLoginService = {
signToken: () => {return null}
}
}
if (body.qq && body.passwd) { if (body.qq && body.passwd) {
const token = randomString(32) const token = randomString(32)
if (body.qq == getUin() && await redis.get('CHATGPT:ADMIN_PASSWD') == body.passwd) { if (body.qq == getUin() && await redis.get('CHATGPT:ADMIN_PASSWD') == body.passwd) {
const guobaToken = await guobaLoginService.signToken(body.qq)
AddUser({ user: body.qq, token: token, autho: 'admin' }) AddUser({ user: body.qq, token: token, autho: 'admin' })
reply.setCookie('token', token, { path: '/' }) reply.setCookie('token', token, { path: '/' })
reply.send({ login: true, autho: 'admin', token: token }) reply.send({ login: true, autho: 'admin', token: token, guobaToken: guobaToken, guoba: guobaAPI })
} else { } else {
const user = await getUserData(body.qq) const user = await getUserData(body.qq)
if (user.passwd != '' && user.passwd === body.passwd) { if (user.passwd != '' && user.passwd === body.passwd) {
@ -26,9 +41,10 @@ async function User(fastify, options) {
const token = randomString(32) const token = randomString(32)
const opt = await redis.get(`CHATGPT:SERVER_QUICK`) const opt = await redis.get(`CHATGPT:SERVER_QUICK`)
if (opt && body.otp == opt) { if (opt && body.otp == opt) {
const guobaToken = await guobaLoginService.signToken(getUin())
AddUser({ user: getUin(), token: token, autho: 'admin' }) AddUser({ user: getUin(), token: token, autho: 'admin' })
reply.setCookie('token', token, { path: '/' }) reply.setCookie('token', token, { path: '/' })
reply.send({ login: true, autho: 'admin', token: token, user: getUin() }) reply.send({ login: true, autho: 'admin', token: token, user: getUin(), guobaToken: guobaToken, guoba: guobaAPI })
} else { } else {
reply.send({ login: false, err: `快捷登录代码错误,请检查后重试` }) reply.send({ login: false, err: `快捷登录代码错误,请检查后重试` })
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
import{m as g,V as t}from"./VCheckboxBtn.b7a3a8e0.js";import{p as A,ae as F,af as I,n as B,u as U,ag as D,ah as R,o as _,ac as $,ai as j,aj as l,D as u,J as c}from"./index.f985de17.js";const J=A({...F(),...I(g(),["inline"])},"VCheckbox"),z=B()({name:"VCheckbox",inheritAttrs:!1,props:J(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,r){let{attrs:d,slots:a}=r;const s=U(e,"modelValue"),{isFocused:n,focus:i,blur:m}=D(e),V=R(),b=_(()=>e.id||`checkbox-${V}`);return $(()=>{const[p,k]=j(d),[f,M]=l.filterProps(e),[h,N]=t.filterProps(e);return u(l,c({class:["v-checkbox",e.class]},p,f,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:b.value,focused:n.value,style:e.style}),{...a,default:o=>{let{id:v,messagesId:x,isDisabled:P,isReadonly:C}=o;return u(t,c(h,{id:v.value,"aria-describedby":x.value,disabled:P.value,readonly:C.value},k,{modelValue:s.value,"onUpdate:modelValue":y=>s.value=y,onFocus:i,onBlur:m}),a)}})}),{}}});export{z as V}; import{m as g,V as t}from"./VCheckboxBtn.ae1aff4b.js";import{p as A,ae as F,af as I,n as B,u as U,ag as D,ah as R,o as _,ac as $,ai as j,aj as l,D as u,J as c}from"./index.a457a291.js";const J=A({...F(),...I(g(),["inline"])},"VCheckbox"),z=B()({name:"VCheckbox",inheritAttrs:!1,props:J(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,r){let{attrs:d,slots:a}=r;const s=U(e,"modelValue"),{isFocused:n,focus:i,blur:m}=D(e),V=R(),b=_(()=>e.id||`checkbox-${V}`);return $(()=>{const[p,k]=j(d),[f,M]=l.filterProps(e),[h,N]=t.filterProps(e);return u(l,c({class:["v-checkbox",e.class]},p,f,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:b.value,focused:n.value,style:e.style}),{...a,default:o=>{let{id:v,messagesId:x,isDisabled:P,isReadonly:C}=o;return u(t,c(h,{id:v.value,"aria-describedby":x.value,disabled:P.value,readonly:C.value},k,{modelValue:s.value,"onUpdate:modelValue":y=>s.value=y,onFocus:i,onBlur:m}),a)}})}),{}}});export{z as V};

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

View file

@ -0,0 +1 @@
import{p as w,O as V,o as D,aD as b,b4 as O,av as k,a_ as x,b5 as L,b6 as j,n as B,u as R,b7 as T,a$ as A,aR as P,ax as C,J as I,ac as N,aT as K,D as S,G as $,b3 as z,b8 as G}from"./index.a457a291.js";const J=(t,f,e)=>t==null||f==null?-1:t.toString().toLocaleLowerCase().indexOf(f.toString().toLocaleLowerCase()),_=w({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function Q(t,f,e){var v,l,s;const r=[],d=(v=e==null?void 0:e.default)!=null?v:J,n=e!=null&&e.filterKeys?k(e.filterKeys):!1,m=Object.keys((l=e==null?void 0:e.customKeyFilter)!=null?l:{}).length;if(!(t!=null&&t.length))return r;e:for(let c=0;c<t.length;c++){const a=t[c],o={},i={};let u=-1;if(f&&!(e!=null&&e.noFilter)){if(typeof a=="object"){const h=n||Object.keys(a);for(const F of h){const E=x(a,F,a),M=(s=e==null?void 0:e.customKeyFilter)==null?void 0:s[F];if(u=M?M(E,f,a):d(E,f,a),u!==-1&&u!==!1)M?o[F]=u:i[F]=u;else if((e==null?void 0:e.filterMode)==="every")continue e}}else u=d(a,f,a),u!==-1&&u!==!1&&(i.title=u);const g=Object.keys(i).length,y=Object.keys(o).length;if(!g&&!y||(e==null?void 0:e.filterMode)==="union"&&y!==m&&!g||(e==null?void 0:e.filterMode)==="intersection"&&(y!==m||!g))continue}r.push({index:c,matches:{...i,...o}})}return r}function H(t,f,e,r){const d=V([]),n=V(new Map),m=D(()=>r!=null&&r.transform?b(f).map(r==null?void 0:r.transform):b(f));O(()=>{const l=typeof e=="function"?e():b(e),s=typeof l!="string"&&typeof l!="number"?"":String(l),c=Q(m.value,s,{customKeyFilter:t.customKeyFilter,default:t.customFilter,filterKeys:t.filterKeys,filterMode:t.filterMode,noFilter:t.noFilter}),a=b(f),o=[],i=new Map;c.forEach(u=>{let{index:g,matches:y}=u;const h=a[g];o.push(h),i.set(h.value,y)}),d.value=o,n.value=i});function v(l){return n.value.get(l.value)}return{filteredItems:d,filteredMatches:n,getMatches:v}}const U=w({fullscreen:Boolean,retainFocus:{type:Boolean,default:!0},scrollable:Boolean,...L({origin:"center center",scrollStrategy:"block",transition:{component:j},zIndex:2400})},"VDialog"),X=B()({name:"VDialog",props:U(),emits:{"update:modelValue":t=>!0},setup(t,f){let{slots:e}=f;const r=R(t,"modelValue"),{scopeId:d}=T(),n=V();function m(l){var a,o;const s=l.relatedTarget,c=l.target;if(s!==c&&((a=n.value)==null?void 0:a.contentEl)&&((o=n.value)==null?void 0:o.globalTop)&&![document,n.value.contentEl].includes(c)&&!n.value.contentEl.contains(c)){const i=G(n.value.contentEl);if(!i.length)return;const u=i[0],g=i[i.length-1];s===u?g.focus():u.focus()}}A&&P(()=>r.value&&t.retainFocus,l=>{l?document.addEventListener("focusin",m):document.removeEventListener("focusin",m)},{immediate:!0}),P(r,async l=>{var s,c;await C(),l?(s=n.value.contentEl)==null||s.focus({preventScroll:!0}):(c=n.value.activatorEl)==null||c.focus({preventScroll:!0})});const v=D(()=>I({"aria-haspopup":"dialog","aria-expanded":String(r.value)},t.activatorProps));return N(()=>{const[l]=K.filterProps(t);return S(K,I({ref:n,class:["v-dialog",{"v-dialog--fullscreen":t.fullscreen,"v-dialog--scrollable":t.scrollable},t.class],style:t.style},l,{modelValue:r.value,"onUpdate:modelValue":s=>r.value=s,"aria-modal":"true",activatorProps:v.value,role:"dialog"},d),{activator:e.activator,default:function(){for(var s=arguments.length,c=new Array(s),a=0;a<s;a++)c[a]=arguments[a];return S($,{root:"VDialog"},{default:()=>{var o;return[(o=e.default)==null?void 0:o.call(e,...c)]}})}})}),z({},n)}});export{X as V,_ as m,H as u};

View file

@ -1 +0,0 @@
.v-select .v-field .v-text-field__prefix,.v-select .v-field .v-text-field__suffix,.v-select .v-field .v-field__input,.v-select .v-field.v-field{cursor:pointer}.v-select .v-field .v-field__input>input{align-self:flex-start;opacity:1;flex:0 0;position:absolute;width:100%;transition:none;pointer-events:none;caret-color:transparent}.v-select .v-field--dirty .v-select__selection{margin-inline-end:2px}.v-select .v-select__selection-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-select__content{overflow:hidden;box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity),0 1px 10px 0 var(--v-shadow-key-ambient-opacity);border-radius:4px}.v-select__selection{display:inline-flex;align-items:center;letter-spacing:inherit;line-height:inherit;max-width:100%}.v-select .v-select__selection{margin-top:var(--v-input-chips-margin-top);margin-bottom:var(--v-input-chips-margin-bottom)}.v-select .v-select__selection:first-child{margin-inline-start:0}.v-select--selected .v-field .v-field__input>input{opacity:0}.v-select__menu-icon{margin-inline-start:4px;transition:.2s cubic-bezier(.4,0,.2,1)}.v-select--active-menu .v-select__menu-icon{opacity:var(--v-high-emphasis-opacity);transform:rotate(180deg)}.v-virtual-scroll{display:block;flex:1 1 auto;max-width:100%;overflow:auto;position:relative}.v-virtual-scroll__container{display:block}.v-dialog{align-items:center;justify-content:center;margin:auto}.v-dialog>.v-overlay__content{max-height:calc(100% - 48px);width:calc(100% - 48px);max-width:calc(100% - 48px);margin:24px;display:flex;flex-direction:column}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>.v-sheet,.v-dialog>.v-overlay__content>form>.v-card,.v-dialog>.v-overlay__content>form>.v-sheet{--v-scrollbar-offset: 0px;border-radius:6px;overflow-y:auto;box-shadow:0 11px 15px -7px var(--v-shadow-key-umbra-opacity),0 24px 38px 3px var(--v-shadow-key-penumbra-opacity),0 9px 46px 8px var(--v-shadow-key-ambient-opacity)}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>form>.v-card{display:flex;flex-direction:column}.v-dialog>.v-overlay__content>.v-card>.v-card-item,.v-dialog>.v-overlay__content>form>.v-card>.v-card-item{padding:20px}.v-dialog>.v-overlay__content>.v-card>.v-card-item+.v-card-text,.v-dialog>.v-overlay__content>form>.v-card>.v-card-item+.v-card-text{padding-top:0}.v-dialog>.v-overlay__content>.v-card>.v-card-text,.v-dialog>.v-overlay__content>form>.v-card>.v-card-text{font-size:inherit;letter-spacing:.0094rem;line-height:inherit;padding:20px}.v-dialog--fullscreen{--v-scrollbar-offset: 0px}.v-dialog--fullscreen>.v-overlay__content{border-radius:0;margin:0;padding:0;width:100%;height:100%;max-width:100%;max-height:100%;overflow-y:auto;top:0;left:0}.v-dialog--fullscreen>.v-overlay__content>.v-card,.v-dialog--fullscreen>.v-overlay__content>.v-sheet,.v-dialog--fullscreen>.v-overlay__content>form>.v-card,.v-dialog--fullscreen>.v-overlay__content>form>.v-sheet{min-height:100%;min-width:100%;border-radius:0}.v-dialog--scrollable>.v-overlay__content,.v-dialog--scrollable>.v-overlay__content>form{display:flex;overflow:hidden}.v-dialog--scrollable>.v-overlay__content>.v-card,.v-dialog--scrollable>.v-overlay__content>form>.v-card{display:flex;flex:1 1 100%;flex-direction:column;max-height:100%;max-width:100%}.v-dialog--scrollable>.v-overlay__content>.v-card>.v-card-text,.v-dialog--scrollable>.v-overlay__content>form>.v-card>.v-card-text{backface-visibility:hidden;overflow-y:auto}

View file

@ -0,0 +1 @@
.v-dialog{align-items:center;justify-content:center;margin:auto}.v-dialog>.v-overlay__content{max-height:calc(100% - 48px);width:calc(100% - 48px);max-width:calc(100% - 48px);margin:24px;display:flex;flex-direction:column}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>.v-sheet,.v-dialog>.v-overlay__content>form>.v-card,.v-dialog>.v-overlay__content>form>.v-sheet{--v-scrollbar-offset: 0px;border-radius:6px;overflow-y:auto;box-shadow:0 11px 15px -7px var(--v-shadow-key-umbra-opacity),0 24px 38px 3px var(--v-shadow-key-penumbra-opacity),0 9px 46px 8px var(--v-shadow-key-ambient-opacity)}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>form>.v-card{display:flex;flex-direction:column}.v-dialog>.v-overlay__content>.v-card>.v-card-item,.v-dialog>.v-overlay__content>form>.v-card>.v-card-item{padding:20px}.v-dialog>.v-overlay__content>.v-card>.v-card-item+.v-card-text,.v-dialog>.v-overlay__content>form>.v-card>.v-card-item+.v-card-text{padding-top:0}.v-dialog>.v-overlay__content>.v-card>.v-card-text,.v-dialog>.v-overlay__content>form>.v-card>.v-card-text{font-size:inherit;letter-spacing:.0094rem;line-height:inherit;padding:20px}.v-dialog--fullscreen{--v-scrollbar-offset: 0px}.v-dialog--fullscreen>.v-overlay__content{border-radius:0;margin:0;padding:0;width:100%;height:100%;max-width:100%;max-height:100%;overflow-y:auto;top:0;left:0}.v-dialog--fullscreen>.v-overlay__content>.v-card,.v-dialog--fullscreen>.v-overlay__content>.v-sheet,.v-dialog--fullscreen>.v-overlay__content>form>.v-card,.v-dialog--fullscreen>.v-overlay__content>form>.v-sheet{min-height:100%;min-width:100%;border-radius:0}.v-dialog--scrollable>.v-overlay__content,.v-dialog--scrollable>.v-overlay__content>form{display:flex;overflow:hidden}.v-dialog--scrollable>.v-overlay__content>.v-card,.v-dialog--scrollable>.v-overlay__content>form>.v-card{display:flex;flex:1 1 100%;flex-direction:column;max-height:100%;max-width:100%}.v-dialog--scrollable>.v-overlay__content>.v-card>.v-card-text,.v-dialog--scrollable>.v-overlay__content>form>.v-card>.v-card-text{backface-visibility:hidden;overflow-y:auto}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
.v-select .v-field .v-text-field__prefix,.v-select .v-field .v-text-field__suffix,.v-select .v-field .v-field__input,.v-select .v-field.v-field{cursor:pointer}.v-select .v-field .v-field__input>input{align-self:flex-start;opacity:1;flex:0 0;position:absolute;width:100%;transition:none;pointer-events:none;caret-color:transparent}.v-select .v-field--dirty .v-select__selection{margin-inline-end:2px}.v-select .v-select__selection-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-select__content{overflow:hidden;box-shadow:0 2px 4px -1px var(--v-shadow-key-umbra-opacity),0 4px 5px 0 var(--v-shadow-key-penumbra-opacity),0 1px 10px 0 var(--v-shadow-key-ambient-opacity);border-radius:4px}.v-select__selection{display:inline-flex;align-items:center;letter-spacing:inherit;line-height:inherit;max-width:100%}.v-select .v-select__selection{margin-top:var(--v-input-chips-margin-top);margin-bottom:var(--v-input-chips-margin-bottom)}.v-select .v-select__selection:first-child{margin-inline-start:0}.v-select--selected .v-field .v-field__input>input{opacity:0}.v-select__menu-icon{margin-inline-start:4px;transition:.2s cubic-bezier(.4,0,.2,1)}.v-select--active-menu .v-select__menu-icon{opacity:var(--v-high-emphasis-opacity);transform:rotate(180deg)}.v-virtual-scroll{display:block;flex:1 1 auto;max-width:100%;overflow:auto;position:relative}.v-virtual-scroll__container{display:block}

View file

@ -1 +1 @@
import{p as d,m as h,a as m,j as b,k as v,n as c,q as f,t as u,ac as g,D as t,ad as T}from"./index.f985de17.js";const x=d({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,...h(),...m(),...b(),...v()},"VTable"),V=c()({name:"VTable",props:x(),setup(a,n){let{slots:e}=n;const{themeClasses:r}=f(a),{densityClasses:i}=u(a);return g(()=>t(a.tag,{class:["v-table",{"v-table--fixed-height":!!a.height,"v-table--fixed-header":a.fixedHeader,"v-table--fixed-footer":a.fixedFooter,"v-table--has-top":!!e.top,"v-table--has-bottom":!!e.bottom,"v-table--hover":a.hover},r.value,i.value,a.class],style:a.style},{default:()=>{var o,s,l;return[(o=e.top)==null?void 0:o.call(e),e.default?t("div",{class:"v-table__wrapper",style:{height:T(a.height)}},[t("table",null,[e.default()])]):(s=e.wrapper)==null?void 0:s.call(e),(l=e.bottom)==null?void 0:l.call(e)]}})),{}}});export{V,x as m}; import{p as d,m as h,a as m,j as b,k as v,n as c,q as f,t as u,ac as g,D as t,ad as T}from"./index.a457a291.js";const x=d({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,...h(),...m(),...b(),...v()},"VTable"),V=c()({name:"VTable",props:x(),setup(a,n){let{slots:e}=n;const{themeClasses:r}=f(a),{densityClasses:i}=u(a);return g(()=>t(a.tag,{class:["v-table",{"v-table--fixed-height":!!a.height,"v-table--fixed-header":a.fixedHeader,"v-table--fixed-footer":a.fixedFooter,"v-table--has-top":!!e.top,"v-table--has-bottom":!!e.bottom,"v-table--hover":a.hover},r.value,i.value,a.class],style:a.style},{default:()=>{var o,s,l;return[(o=e.top)==null?void 0:o.call(e),e.default?t("div",{class:"v-table__wrapper",style:{height:T(a.height)}},[t("table",null,[e.default()])]):(s=e.wrapper)==null?void 0:s.call(e),(l=e.bottom)==null?void 0:l.call(e)]}})),{}}});export{V,x as m};

View file

@ -1 +1 @@
import{p as Z,ae as p,bf as ee,n as te,bg as ae,u as ne,ag as le,o as y,O as x,aq as oe,b4 as ue,b8 as ie,aT as m,bh as re,ac as se,ai as ce,aj as _,bi as de,D as o,bj as fe,J as I,a2 as R,ar as z,as as ve,bk as xe,bl as me,a_ as ge,ax as S,bm as he,ad as we,az as Ve}from"./index.f985de17.js";const ye=Z({autoGrow:Boolean,autofocus:Boolean,counter:[Boolean,Number,String],counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:e=>!isNaN(parseFloat(e))},maxRows:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},suffix:String,modelModifiers:Object,...p(),...ee()},"VTextarea"),be=te()({name:"VTextarea",directives:{Intersect:ae},inheritAttrs:!1,props:ye(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,A){let{attrs:F,emit:M,slots:i}=A;const u=ne(e,"modelValue"),{isFocused:f,focus:D,blur:G}=le(e),E=y(()=>typeof e.counterValue=="function"?e.counterValue(u.value):(u.value||"").toString().length),U=y(()=>{if(F.maxlength)return F.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter});function O(t,n){var a,l;!e.autofocus||!t||(l=(a=n[0].target)==null?void 0:a.focus)==null||l.call(a)}const T=x(),g=x(),B=oe(""),h=x(),j=y(()=>e.persistentPlaceholder||f.value||e.active);function b(){var t;h.value!==document.activeElement&&((t=h.value)==null||t.focus()),f.value||D()}function $(t){b(),M("click:control",t)}function q(t){M("mousedown:control",t)}function J(t){t.stopPropagation(),b(),S(()=>{u.value="",he(e["onClick:clear"],t)})}function K(t){var a;const n=t.target;if(u.value=n.value,(a=e.modelModifiers)!=null&&a.trim){const l=[n.selectionStart,n.selectionEnd];S(()=>{n.selectionStart=l[0],n.selectionEnd=l[1]})}}const c=x(),w=x(+e.rows),C=y(()=>["plain","underlined"].includes(e.variant));ue(()=>{e.autoGrow||(w.value=+e.rows)});function d(){!e.autoGrow||S(()=>{if(!c.value||!g.value)return;const t=getComputedStyle(c.value),n=getComputedStyle(g.value.$el),a=parseFloat(t.getPropertyValue("--v-field-padding-top"))+parseFloat(t.getPropertyValue("--v-input-padding-top"))+parseFloat(t.getPropertyValue("--v-field-padding-bottom")),l=c.value.scrollHeight,V=parseFloat(t.lineHeight),P=Math.max(parseFloat(e.rows)*V+a,parseFloat(n.getPropertyValue("--v-input-control-height"))),k=parseFloat(e.maxRows)*V+a||1/0,s=Ve(l!=null?l:0,P,k);w.value=Math.floor((s-a)/V),B.value=we(s)})}ie(d),m(u,d),m(()=>e.rows,d),m(()=>e.maxRows,d),m(()=>e.density,d);let r;return m(c,t=>{t?(r=new ResizeObserver(d),r.observe(c.value)):r==null||r.disconnect()}),re(()=>{r==null||r.disconnect()}),se(()=>{const t=!!(i.counter||e.counter||e.counterValue),n=!!(t||i.details),[a,l]=ce(F),[{modelValue:V,...P}]=_.filterProps(e),[k]=de(e);return o(_,I({ref:T,modelValue:u.value,"onUpdate:modelValue":s=>u.value=s,class:["v-textarea v-text-field",{"v-textarea--prefixed":e.prefix,"v-textarea--suffixed":e.suffix,"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-textarea--auto-grow":e.autoGrow,"v-textarea--no-resize":e.noResize||e.autoGrow,"v-text-field--plain-underlined":C.value},e.class],style:e.style},a,P,{centerAffix:w.value===1&&!C.value,focused:f.value}),{...i,default:s=>{let{isDisabled:v,isDirty:H,isReadonly:L,isValid:Q}=s;return o(fe,I({ref:g,style:{"--v-textarea-control-height":B.value},onClick:$,onMousedown:q,"onClick:clear":J,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"]},k,{active:j.value||H.value,centerAffix:w.value===1&&!C.value,dirty:H.value||e.dirty,disabled:v.value,focused:f.value,error:Q.value===!1}),{...i,default:W=>{let{props:{class:N,...X}}=W;return o(R,null,[e.prefix&&o("span",{class:"v-text-field__prefix"},[e.prefix]),z(o("textarea",I({ref:h,class:N,value:u.value,onInput:K,autofocus:e.autofocus,readonly:L.value,disabled:v.value,placeholder:e.placeholder,rows:e.rows,name:e.name,onFocus:b,onBlur:G},X,l),null),[[ve("intersect"),{handler:O},null,{once:!0}]]),e.autoGrow&&z(o("textarea",{class:[N,"v-textarea__sizer"],"onUpdate:modelValue":Y=>u.value=Y,ref:c,readonly:!0,"aria-hidden":"true"},null),[[xe,u.value]]),e.suffix&&o("span",{class:"v-text-field__suffix"},[e.suffix])])}})},details:n?s=>{var v;return o(R,null,[(v=i.details)==null?void 0:v.call(i,s),t&&o(R,null,[o("span",null,null),o(me,{active:e.persistentCounter||f.value,value:E.value,max:U.value},i.counter)])])}:void 0})}),ge({},T,g,h)}});export{be as V}; import{p as Z,ae as p,bg as ee,n as te,bh as ae,u as ne,ag as le,o as y,O as x,aq as oe,b4 as ue,bd as ie,aR as m,bi as re,ac as se,ai as ce,aj as z,bj as de,D as o,bk as fe,J as R,a2 as I,ar as A,as as ve,bl as xe,bm as me,b3 as ge,ax as S,bn as he,ad as we,az as Ve}from"./index.a457a291.js";const ye=Z({autoGrow:Boolean,autofocus:Boolean,counter:[Boolean,Number,String],counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:e=>!isNaN(parseFloat(e))},maxRows:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},suffix:String,modelModifiers:Object,...p(),...ee()},"VTextarea"),Fe=te()({name:"VTextarea",directives:{Intersect:ae},inheritAttrs:!1,props:ye(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,_){let{attrs:b,emit:M,slots:i}=_;const u=ne(e,"modelValue"),{isFocused:f,focus:D,blur:G}=le(e),E=y(()=>typeof e.counterValue=="function"?e.counterValue(u.value):(u.value||"").toString().length),U=y(()=>{if(b.maxlength)return b.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter});function O(t,n){var a,l;!e.autofocus||!t||(l=(a=n[0].target)==null?void 0:a.focus)==null||l.call(a)}const B=x(),g=x(),H=oe(""),h=x(),j=y(()=>e.persistentPlaceholder||f.value||e.active);function F(){var t;h.value!==document.activeElement&&((t=h.value)==null||t.focus()),f.value||D()}function $(t){F(),M("click:control",t)}function q(t){M("mousedown:control",t)}function J(t){t.stopPropagation(),F(),S(()=>{u.value="",he(e["onClick:clear"],t)})}function K(t){var a;const n=t.target;if(u.value=n.value,(a=e.modelModifiers)!=null&&a.trim){const l=[n.selectionStart,n.selectionEnd];S(()=>{n.selectionStart=l[0],n.selectionEnd=l[1]})}}const c=x(),w=x(+e.rows),C=y(()=>["plain","underlined"].includes(e.variant));ue(()=>{e.autoGrow||(w.value=+e.rows)});function d(){!e.autoGrow||S(()=>{if(!c.value||!g.value)return;const t=getComputedStyle(c.value),n=getComputedStyle(g.value.$el),a=parseFloat(t.getPropertyValue("--v-field-padding-top"))+parseFloat(t.getPropertyValue("--v-input-padding-top"))+parseFloat(t.getPropertyValue("--v-field-padding-bottom")),l=c.value.scrollHeight,V=parseFloat(t.lineHeight),P=Math.max(parseFloat(e.rows)*V+a,parseFloat(n.getPropertyValue("--v-input-control-height"))),k=parseFloat(e.maxRows)*V+a||1/0,s=Ve(l!=null?l:0,P,k);w.value=Math.floor((s-a)/V),H.value=we(s)})}ie(d),m(u,d),m(()=>e.rows,d),m(()=>e.maxRows,d),m(()=>e.density,d);let r;return m(c,t=>{t?(r=new ResizeObserver(d),r.observe(c.value)):r==null||r.disconnect()}),re(()=>{r==null||r.disconnect()}),se(()=>{const t=!!(i.counter||e.counter||e.counterValue),n=!!(t||i.details),[a,l]=ce(b),[{modelValue:V,...P}]=z.filterProps(e),[k]=de(e);return o(z,R({ref:B,modelValue:u.value,"onUpdate:modelValue":s=>u.value=s,class:["v-textarea v-text-field",{"v-textarea--prefixed":e.prefix,"v-textarea--suffixed":e.suffix,"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-textarea--auto-grow":e.autoGrow,"v-textarea--no-resize":e.noResize||e.autoGrow,"v-text-field--plain-underlined":C.value},e.class],style:e.style},a,P,{centerAffix:w.value===1&&!C.value,focused:f.value}),{...i,default:s=>{let{isDisabled:v,isDirty:N,isReadonly:L,isValid:Q}=s;return o(fe,R({ref:g,style:{"--v-textarea-control-height":H.value},onClick:$,onMousedown:q,"onClick:clear":J,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"]},k,{active:j.value||N.value,centerAffix:w.value===1&&!C.value,dirty:N.value||e.dirty,disabled:v.value,focused:f.value,error:Q.value===!1}),{...i,default:W=>{let{props:{class:T,...X}}=W;return o(I,null,[e.prefix&&o("span",{class:"v-text-field__prefix"},[e.prefix]),A(o("textarea",R({ref:h,class:T,value:u.value,onInput:K,autofocus:e.autofocus,readonly:L.value,disabled:v.value,placeholder:e.placeholder,rows:e.rows,name:e.name,onFocus:F,onBlur:G},X,l),null),[[ve("intersect"),{handler:O},null,{once:!0}]]),e.autoGrow&&A(o("textarea",{class:[T,"v-textarea__sizer"],"onUpdate:modelValue":Y=>u.value=Y,ref:c,readonly:!0,"aria-hidden":"true"},null),[[xe,u.value]]),e.suffix&&o("span",{class:"v-text-field__suffix"},[e.suffix])])}})},details:n?s=>{var v;return o(I,null,[(v=i.details)==null?void 0:v.call(i,s),t&&o(I,null,[o("span",null,null),o(me,{active:e.persistentCounter||f.value,value:E.value,max:U.value},i.counter)])])}:void 0})}),ge({},B,g,h)}});export{Fe as V};

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
import{d as a,h as e,V as n,r as o}from"./index.f985de17.js";const s=a({setup(){const t=o("router-view");return()=>e(n,{class:"layout-wrapper layout-blank"},{default:()=>e(t)})}});export{s as default}; import{d as a,h as e,V as n,r as o}from"./index.a457a291.js";const s=a({setup(){const t=o("router-view");return()=>e(n,{class:"layout-wrapper layout-blank"},{default:()=>e(t)})}});export{s as default};

View file

@ -1 +1 @@
.avatar-center[data-v-57768842]{position:absolute;border:3px solid rgb(var(--v-theme-surface));inset-block-start:-2rem;inset-inline-start:1rem}.member-pricing-bg[data-v-57768842]{position:relative;background-color:rgba(var(--v-theme-on-surface),var(--v-hover-opacity))}.membership-pricing sup[data-v-57768842]{inset-block-start:9px}.v-rating{max-width:100%;display:inline-flex;white-space:nowrap}.v-rating--readonly{pointer-events:none}.v-rating__wrapper{align-items:center;display:inline-flex;flex-direction:column}.v-rating__wrapper--bottom{flex-direction:column-reverse}.v-rating__item{display:inline-flex;position:relative}.v-rating__item label{cursor:pointer}.v-rating__item .v-btn--variant-plain{opacity:1}.v-rating__item .v-btn{transition-property:transform}.v-rating__item .v-btn .v-icon{transition:inherit;transition-timing-function:cubic-bezier(0,0,.2,1)}.v-rating--hover .v-rating__item:hover:not(.v-rating__item--focused) .v-btn{transform:scale(1.25)}.v-rating__item--half{overflow:hidden;position:absolute;clip-path:polygon(0 0,50% 0,50% 100%,0 100%);z-index:1}.v-rating__item--half .v-btn__overlay,.v-rating__item--half:hover .v-btn__overlay{opacity:0}.v-rating__hidden{height:0;opacity:0;position:absolute;width:0} .avatar-center[data-v-cd7ddfc4]{position:absolute;border:3px solid rgb(var(--v-theme-surface));inset-block-start:-2rem;inset-inline-start:1rem}.member-pricing-bg[data-v-cd7ddfc4]{position:relative;background-color:rgba(var(--v-theme-on-surface),var(--v-hover-opacity))}.membership-pricing sup[data-v-cd7ddfc4]{inset-block-start:9px}.v-rating{max-width:100%;display:inline-flex;white-space:nowrap}.v-rating--readonly{pointer-events:none}.v-rating__wrapper{align-items:center;display:inline-flex;flex-direction:column}.v-rating__wrapper--bottom{flex-direction:column-reverse}.v-rating__item{display:inline-flex;position:relative}.v-rating__item label{cursor:pointer}.v-rating__item .v-btn--variant-plain{opacity:1}.v-rating__item .v-btn{transition-property:transform}.v-rating__item .v-btn .v-icon{transition:inherit;transition-timing-function:cubic-bezier(0,0,.2,1)}.v-rating--hover .v-rating__item:hover:not(.v-rating__item--focused) .v-btn{transform:scale(1.25)}.v-rating__item--half{overflow:hidden;position:absolute;clip-path:polygon(0 0,50% 0,50% 100%,0 100%);z-index:1}.v-rating__item--half .v-btn__overlay,.v-rating__item--half:hover .v-btn__overlay{opacity:0}.v-rating__hidden{height:0;opacity:0;position:absolute;width:0}

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

View file

@ -1 +1 @@
import{Q as a,a1 as o,a0 as c,a2 as d,a3 as m,D as i,S as e,W as s,F as u,bn as r,a4 as n,a5 as p,U as f,H as h}from"./index.f985de17.js";const _={class:"d-flex align-center flex-wrap"},b={class:"text-center"},V={__name:"icons",setup(g){const l=["mdi-ab-testing","mdi-abacus","mdi-abjad-arabic","mdi-abjad-hebrew","mdi-abugida-devanagari","mdi-abugida-thai","mdi-access-point","mdi-access-point-check","mdi-access-point-minus","mdi-access-point-network","mdi-access-point-network-off","mdi-access-point-off","mdi-access-point-plus","mdi-access-point-remove","mdi-account-alert-outline","mdi-account-arrow-left-outline","mdi-account-arrow-right-outline","mdi-account-box-multiple-outline","mdi-account-box-outline","mdi-account-cancel-outline","mdi-account-cash-outline","mdi-account-check-outline","mdi-account-child-outline","mdi-account-circle-outline","mdi-account-clock-outline","mdi-account-cog-outline","mdi-account-details-outline","mdi-alarm-light-outline","mdi-alert-box-outline","mdi-alert-circle-check-outline","mdi-alert-decagram-outline","mdi-alert-minus-outline","mdi-alert-outline","mdi-alert-plus-outline","mdi-check-outline","mdi-clipboard-outline","mdi-clipboard-play-outline","mdi-close-outline","mdi-cloud-check-outline","mdi-cloud-download-outline","mdi-cog-outline","mdi-compass-off-outline","mdi-contactless-payment-circle-outline","mdi-crown-outline","mdi-delete-outline","mdi-diamond-outline","mdi-email-open-outline","mdi-emoticon-happy-outline","mdi-file-multiple-outline","mdi-flask-empty-outline"];return(k,x)=>(a(),o("div",null,[c("div",_,[(a(),o(d,null,m(l,t=>i(f,{key:t,class:"mb-6 me-6"},{default:e(()=>[i(s,{class:"py-3 px-4"},{default:e(()=>[i(u,{size:"30",icon:t},null,8,["icon"])]),_:2},1024),i(r,{location:"top",activator:"parent"},{default:e(()=>[n(p(t),1)]),_:2},1024)]),_:2},1024)),64))]),c("div",b,[i(h,{href:"https://materialdesignicons.com/",rel:"noopener noreferrer",color:"primary",target:"_blank"},{default:e(()=>[n(" View All Material Design Icons ")]),_:1})])]))}};export{V as default}; import{Q as a,a1 as o,a0 as c,a2 as d,a3 as m,D as i,S as e,W as s,F as u,bo as r,a4 as n,a5 as p,U as f,H as h}from"./index.a457a291.js";const _={class:"d-flex align-center flex-wrap"},b={class:"text-center"},V={__name:"icons",setup(g){const l=["mdi-ab-testing","mdi-abacus","mdi-abjad-arabic","mdi-abjad-hebrew","mdi-abugida-devanagari","mdi-abugida-thai","mdi-access-point","mdi-access-point-check","mdi-access-point-minus","mdi-access-point-network","mdi-access-point-network-off","mdi-access-point-off","mdi-access-point-plus","mdi-access-point-remove","mdi-account-alert-outline","mdi-account-arrow-left-outline","mdi-account-arrow-right-outline","mdi-account-box-multiple-outline","mdi-account-box-outline","mdi-account-cancel-outline","mdi-account-cash-outline","mdi-account-check-outline","mdi-account-child-outline","mdi-account-circle-outline","mdi-account-clock-outline","mdi-account-cog-outline","mdi-account-details-outline","mdi-alarm-light-outline","mdi-alert-box-outline","mdi-alert-circle-check-outline","mdi-alert-decagram-outline","mdi-alert-minus-outline","mdi-alert-outline","mdi-alert-plus-outline","mdi-check-outline","mdi-clipboard-outline","mdi-clipboard-play-outline","mdi-close-outline","mdi-cloud-check-outline","mdi-cloud-download-outline","mdi-cog-outline","mdi-compass-off-outline","mdi-contactless-payment-circle-outline","mdi-crown-outline","mdi-delete-outline","mdi-diamond-outline","mdi-email-open-outline","mdi-emoticon-happy-outline","mdi-file-multiple-outline","mdi-flask-empty-outline"];return(k,x)=>(a(),o("div",null,[c("div",_,[(a(),o(d,null,m(l,t=>i(f,{key:t,class:"mb-6 me-6"},{default:e(()=>[i(s,{class:"py-3 px-4"},{default:e(()=>[i(u,{size:"30",icon:t},null,8,["icon"])]),_:2},1024),i(r,{location:"top",activator:"parent"},{default:e(()=>[n(p(t),1)]),_:2},1024)]),_:2},1024)),64))]),c("div",b,[i(h,{href:"https://materialdesignicons.com/",rel:"noopener noreferrer",color:"primary",target:"_blank"},{default:e(()=>[n(" View All Material Design Icons ")]),_:1})])]))}};export{V as default};

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

View file

@ -1,4 +1,4 @@
import{ak as commonjsGlobal}from"./index.f985de17.js";var md5$1={exports:{}};/** import{ak as commonjsGlobal}from"./index.a457a291.js";var md5$1={exports:{}};/**
* [js-md5]{@link https://github.com/emn178/js-md5} * [js-md5]{@link https://github.com/emn178/js-md5}
* *
* @namespace md5 * @namespace md5

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
import{bs as b,Q as y,a1 as x,a3 as T,D as e,aD as d,H as g,a2 as C,O as _,o as D,r as I,S as a,aE as M,a0 as s,bt as L,aF as P,a4 as c,W as v,Z as U,aN as B,_ as F,T as n,$ as m,at as N,Y as V,U as S,aC as p}from"./index.f985de17.js";import{a as j,b as A,c as E,d as H}from"./auth-v1-tree.f5524167.js";import{b as h}from"./route-block.7577f022.js";import{V as R}from"./VCheckbox.833361ee.js";import"./VCheckboxBtn.b7a3a8e0.js";const $={__name:"AuthProvider",setup(k){const o=b(),u=[{icon:"mdi-facebook",color:"#4267b2",colorInDark:"#4267b2"},{icon:"mdi-twitter",color:"#1da1f2",colorInDark:"#1da1f2"},{icon:"mdi-github",color:"#272727",colorInDark:"#fff"},{icon:"mdi-google",color:"#db4437",colorInDark:"#db4437"}];return(f,r)=>(y(),x(C,null,T(u,i=>e(g,{key:i.icon,icon:i.icon,variant:"text",color:d(o).global.name.value==="dark"?i.colorInDark:i.color},null,8,["icon","color"])),64))}};const O={class:"auth-wrapper d-flex align-center justify-center pa-4"},Q={class:"d-flex"},W=["innerHTML"],Y=s("h5",{class:"text-h5 font-weight-semibold mb-1"}," Adventure starts here \u{1F680} ",-1),Z=s("p",{class:"mb-0"}," Make your app management easy and fun! ",-1),q={class:"d-flex align-center mt-1 mb-4"},z=s("span",{class:"me-1"},"I agree to",-1),G=s("a",{href:"javascript:void(0)",class:"text-primary"},"privacy policy & terms",-1),J=s("span",null,"Already have an account?",-1),K=s("span",{class:"mx-4"},"or",-1),X={__name:"register",setup(k){const o=_({username:"",email:"",password:"",privacyPolicies:!1}),u=b(),f=D(()=>u.global.name.value==="light"?j:A),r=_(!1);return(i,t)=>{const w=I("RouterLink");return y(),x("div",O,[e(S,{class:"auth-card pa-4 pt-7","max-width":"448"},{default:a(()=>[e(M,{class:"justify-center"},{prepend:a(()=>[s("div",Q,[s("div",{innerHTML:d(L)},null,8,W)])]),default:a(()=>[e(P,{class:"font-weight-semibold text-2xl text-uppercase"},{default:a(()=>[c(" Materio ")]),_:1})]),_:1}),e(v,{class:"pt-2"},{default:a(()=>[Y,Z]),_:1}),e(v,null,{default:a(()=>[e(U,{onSubmit:t[5]||(t[5]=B(()=>{},["prevent"]))},{default:a(()=>[e(F,null,{default:a(()=>[e(n,{cols:"12"},{default:a(()=>[e(m,{modelValue:o.value.username,"onUpdate:modelValue":t[0]||(t[0]=l=>o.value.username=l),label:"Username"},null,8,["modelValue"])]),_:1}),e(n,{cols:"12"},{default:a(()=>[e(m,{modelValue:o.value.email,"onUpdate:modelValue":t[1]||(t[1]=l=>o.value.email=l),label:"Email",type:"email"},null,8,["modelValue"])]),_:1}),e(n,{cols:"12"},{default:a(()=>[e(m,{modelValue:o.value.password,"onUpdate:modelValue":t[2]||(t[2]=l=>o.value.password=l),label:"Password",type:r.value?"text":"password","append-inner-icon":r.value?"mdi-eye-off-outline":"mdi-eye-outline","onClick:appendInner":t[3]||(t[3]=l=>r.value=!r.value)},null,8,["modelValue","type","append-inner-icon"]),s("div",q,[e(R,{id:"privacy-policy",modelValue:o.value.privacyPolicies,"onUpdate:modelValue":t[4]||(t[4]=l=>o.value.privacyPolicies=l),inline:""},null,8,["modelValue"]),e(N,{for:"privacy-policy",style:{opacity:"1"}},{default:a(()=>[z,G]),_:1})]),e(g,{block:"",type:"submit"},{default:a(()=>[c(" Sign up ")]),_:1})]),_:1}),e(n,{cols:"12",class:"text-center text-base"},{default:a(()=>[J,e(w,{class:"text-primary ms-2",to:"login"},{default:a(()=>[c(" Sign in instead ")]),_:1})]),_:1}),e(n,{cols:"12",class:"d-flex align-center"},{default:a(()=>[e(V),K,e(V)]),_:1}),e(n,{cols:"12",class:"text-center"},{default:a(()=>[e($)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),e(p,{class:"auth-footer-start-tree d-none d-md-block",src:d(E),width:250},null,8,["src"]),e(p,{src:d(H),class:"auth-footer-end-tree d-none d-md-block",width:350},null,8,["src"]),e(p,{class:"auth-footer-mask d-none d-md-block",src:d(f)},null,8,["src"])])}}};typeof h=="function"&&h(X);export{X as default}; import{bt as b,Q as y,a1 as x,a3 as T,D as e,aD as d,H as g,a2 as C,O as _,o as D,r as I,S as a,aE as M,a0 as s,bu as L,aF as P,a4 as c,W as v,Z as U,aO as B,_ as F,T as n,$ as m,at as S,Y as V,U as j,aC as p}from"./index.a457a291.js";import{a as A,b as E,c as H,d as N}from"./auth-v1-tree.f5524167.js";import{b as h}from"./route-block.7577f022.js";import{V as R}from"./VCheckbox.650ef329.js";import"./VCheckboxBtn.ae1aff4b.js";const $={__name:"AuthProvider",setup(k){const o=b(),u=[{icon:"mdi-facebook",color:"#4267b2",colorInDark:"#4267b2"},{icon:"mdi-twitter",color:"#1da1f2",colorInDark:"#1da1f2"},{icon:"mdi-github",color:"#272727",colorInDark:"#fff"},{icon:"mdi-google",color:"#db4437",colorInDark:"#db4437"}];return(f,r)=>(y(),x(C,null,T(u,i=>e(g,{key:i.icon,icon:i.icon,variant:"text",color:d(o).global.name.value==="dark"?i.colorInDark:i.color},null,8,["icon","color"])),64))}};const O={class:"auth-wrapper d-flex align-center justify-center pa-4"},Q={class:"d-flex"},W=["innerHTML"],Y=s("h5",{class:"text-h5 font-weight-semibold mb-1"}," Adventure starts here \u{1F680} ",-1),Z=s("p",{class:"mb-0"}," Make your app management easy and fun! ",-1),q={class:"d-flex align-center mt-1 mb-4"},z=s("span",{class:"me-1"},"I agree to",-1),G=s("a",{href:"javascript:void(0)",class:"text-primary"},"privacy policy & terms",-1),J=s("span",null,"Already have an account?",-1),K=s("span",{class:"mx-4"},"or",-1),X={__name:"register",setup(k){const o=_({username:"",email:"",password:"",privacyPolicies:!1}),u=b(),f=D(()=>u.global.name.value==="light"?A:E),r=_(!1);return(i,t)=>{const w=I("RouterLink");return y(),x("div",O,[e(j,{class:"auth-card pa-4 pt-7","max-width":"448"},{default:a(()=>[e(M,{class:"justify-center"},{prepend:a(()=>[s("div",Q,[s("div",{innerHTML:d(L)},null,8,W)])]),default:a(()=>[e(P,{class:"font-weight-semibold text-2xl text-uppercase"},{default:a(()=>[c(" Materio ")]),_:1})]),_:1}),e(v,{class:"pt-2"},{default:a(()=>[Y,Z]),_:1}),e(v,null,{default:a(()=>[e(U,{onSubmit:t[5]||(t[5]=B(()=>{},["prevent"]))},{default:a(()=>[e(F,null,{default:a(()=>[e(n,{cols:"12"},{default:a(()=>[e(m,{modelValue:o.value.username,"onUpdate:modelValue":t[0]||(t[0]=l=>o.value.username=l),label:"Username"},null,8,["modelValue"])]),_:1}),e(n,{cols:"12"},{default:a(()=>[e(m,{modelValue:o.value.email,"onUpdate:modelValue":t[1]||(t[1]=l=>o.value.email=l),label:"Email",type:"email"},null,8,["modelValue"])]),_:1}),e(n,{cols:"12"},{default:a(()=>[e(m,{modelValue:o.value.password,"onUpdate:modelValue":t[2]||(t[2]=l=>o.value.password=l),label:"Password",type:r.value?"text":"password","append-inner-icon":r.value?"mdi-eye-off-outline":"mdi-eye-outline","onClick:appendInner":t[3]||(t[3]=l=>r.value=!r.value)},null,8,["modelValue","type","append-inner-icon"]),s("div",q,[e(R,{id:"privacy-policy",modelValue:o.value.privacyPolicies,"onUpdate:modelValue":t[4]||(t[4]=l=>o.value.privacyPolicies=l),inline:""},null,8,["modelValue"]),e(S,{for:"privacy-policy",style:{opacity:"1"}},{default:a(()=>[z,G]),_:1})]),e(g,{block:"",type:"submit"},{default:a(()=>[c(" Sign up ")]),_:1})]),_:1}),e(n,{cols:"12",class:"text-center text-base"},{default:a(()=>[J,e(w,{class:"text-primary ms-2",to:"login"},{default:a(()=>[c(" Sign in instead ")]),_:1})]),_:1}),e(n,{cols:"12",class:"d-flex align-center"},{default:a(()=>[e(V),K,e(V)]),_:1}),e(n,{cols:"12",class:"text-center"},{default:a(()=>[e($)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),e(p,{class:"auth-footer-start-tree d-none d-md-block",src:d(H),width:250},null,8,["src"]),e(p,{src:d(N),class:"auth-footer-end-tree d-none d-md-block",width:350},null,8,["src"]),e(p,{class:"auth-footer-mask d-none d-md-block",src:d(f)},null,8,["src"])])}}};typeof h=="function"&&h(X);export{X as default};

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
import{K as F,O as i,Q as B,R as S,S as a,D as e,bv as I,bJ as H,a4 as n,Y as J,aI as f,H as c,J as V,U as k,aF as C,W as P,b1 as Y,_ as y,T as N,$ as q,aH as x,aY as z,a5 as A,bn as O,a0 as w,F as Q,aD as W,P as D}from"./index.f985de17.js";import{d as b}from"./VDialog.311575a1.js";import{q as j}from"./VDataTable.fa01315e.js";import"./VCheckboxBtn.b7a3a8e0.js";import"./VTable.e8eece46.js";const E=w("span",{class:"text-h5"},"\u65B0\u589EToken",-1),G=["onClick"],L={__name:"BingTokens",setup(R){const s=F(),_=i([{title:"Token",align:"start",sortable:!1,key:"Token"},{title:"\u7528\u91CF",key:"Usage"},{title:"\u72B6\u6001",key:"State"},{title:"",key:"actions",sortable:!1}]),r=i(),d=i(),u=i(),m=i(),g=i(),U=o=>o>800?"error":o>600?"warning":"success",p=()=>{D.post(`${s.getters.serverApi}sysconfig`,{token:s.getters.userToken}).then(o=>{o.data&&(o.data.error?s.commit("app/ADD_SNACKBAR",{message:o.data.error,color:"error"}):r.value=o.data.redisConfig.bingTokens)}).catch(o=>{s.commit("app/ADD_SNACKBAR",{message:o.message,color:"error"}),console.log(o)})},v=o=>{s.getters.runmode==="online"?D.post(`${s.getters.serverApi}saveconfig`,{token:s.getters.userToken,...o}).then(l=>{var t;(t=l.data)!=null&&t.error?s.commit("app/ADD_SNACKBAR",{message:l.data.error,color:"error"}):s.commit("app/ADD_SNACKBAR",{message:"\u4FDD\u5B58\u6210\u529F",color:"success"}),p()}).catch(l=>{p(),s.commit("app/ADD_SNACKBAR",{message:l.message,color:"error"}),console.log(l)}):s.commit("app/ADD_SNACKBAR",{message:"\u4EC5\u652F\u6301\u5728\u7EBF\u6A21\u5F0F\u64CD\u4F5C",color:"warn"})},h=()=>{const o={redisConfig:{bingTokens:[...r.value,{Token:m.value,State:"\u6B63\u5E38",Usage:0}]}};v(o),d.value=!1},K=()=>{const o=r.value.findIndex(t=>t.Token===g.value);o!==-1&&r.value.splice(o,1);const l={redisConfig:{bingTokens:[...r.value]}};v(l),u.value=!1},$=async o=>{try{await navigator.clipboard.writeText(o),s.commit("app/ADD_SNACKBAR",{message:"\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F",color:"info"})}catch(l){console.error("\u526A\u8D34\u677F\u590D\u5236\u5931\u8D25: ",l)}};return p(),(o,l)=>(B(),S(W(j),{headers:_.value,items:r.value,class:"elevation-1"},{top:a(()=>[e(I,{flat:""},{default:a(()=>[e(H,null,{default:a(()=>[n("Bing Token \u7BA1\u7406")]),_:1}),e(J,{class:"mx-4",inset:"",vertical:""}),e(f),e(b,{modelValue:d.value,"onUpdate:modelValue":l[2]||(l[2]=t=>d.value=t),"max-width":"500px"},{activator:a(({props:t})=>[e(c,V({color:"primary",dark:"",class:"mb-2"},t),{default:a(()=>[n(" \u6DFB\u52A0Token ")]),_:2},1040)]),default:a(()=>[e(k,null,{default:a(()=>[e(C,null,{default:a(()=>[E]),_:1}),e(P,null,{default:a(()=>[e(Y,null,{default:a(()=>[e(y,null,{default:a(()=>[e(N,{cols:"12"},{default:a(()=>[e(q,{modelValue:m.value,"onUpdate:modelValue":l[0]||(l[0]=t=>m.value=t),label:"Token"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1}),e(x,null,{default:a(()=>[e(f),e(c,{color:"blue-darken-1",variant:"text",onClick:l[1]||(l[1]=t=>{d.value=!1,m.value=""})},{default:a(()=>[n(" \u53D6\u6D88 ")]),_:1}),e(c,{color:"blue-darken-1",variant:"text",onClick:h},{default:a(()=>[n(" \u6DFB\u52A0 ")]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),e(b,{modelValue:u.value,"onUpdate:modelValue":l[4]||(l[4]=t=>u.value=t),"max-width":"550px"},{default:a(()=>[e(k,null,{default:a(()=>[e(C,{class:"text-h5"},{default:a(()=>[n("\u662F\u5426\u786E\u8BA4\u5220\u9664\u8BE5Token\uFF1F\u5220\u9664\u540E\u5C06\u65E0\u6CD5\u6062\u590D\uFF01")]),_:1}),e(x,null,{default:a(()=>[e(f),e(c,{color:"blue-darken-1",variant:"text",onClick:l[3]||(l[3]=t=>u.value=!1)},{default:a(()=>[n("\u53D6\u6D88")]),_:1}),e(c,{color:"error",variant:"text",onClick:K},{default:a(()=>[n("\u786E\u8BA4\u5220\u9664")]),_:1}),e(f)]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})]),"item.Usage":a(({item:t})=>[e(z,{color:U(t.columns.Usage)},{default:a(()=>[n(A(t.columns.Usage),1)]),_:2},1032,["color"])]),"item.Token":a(({item:t})=>[e(O,{activator:"parent",location:"bottom",text:t.columns.Token},{activator:a(({props:T})=>[w("span",V(T,{onClick:M=>$(t.columns.Token)}),A(t.columns.Token.substring(0,50))+"... ",17,G)]),_:2},1032,["text"])]),"item.actions":a(({item:t})=>[e(Q,{size:"small",onClick:T=>{g.value=t.raw.Token,u.value=!0}},{default:a(()=>[n(" mdi-delete ")]),_:2},1032,["onClick"])]),_:1},8,["headers","items"]))}},oe={__name:"tokens",setup(R){return(s,_)=>(B(),S(y,null,{default:a(()=>[e(N,{cols:"12"},{default:a(()=>[e(k,null,{default:a(()=>[e(L)]),_:1})]),_:1})]),_:1}))}};export{oe as default};

View file

@ -0,0 +1 @@
import{K as F,O as i,Q as B,R as S,S as a,D as e,bw as I,bK as H,a4 as n,Y as P,aI as f,H as c,J as V,U as k,aF as C,W as q,aV as z,_ as w,T as y,$ as J,aH as x,aU as O,a5 as A,bo as Q,a0 as N,F as W,aD as Y,P as D}from"./index.a457a291.js";import{V as b}from"./VDialog.368f468c.js";import{q as j}from"./VDataTable.e3c98ce6.js";import"./VSelect.5c080fb6.js";import"./VCheckboxBtn.ae1aff4b.js";import"./VTable.4358e1b9.js";const E=N("span",{class:"text-h5"},"\u65B0\u589EToken",-1),G=["onClick"],L={__name:"BingTokens",setup(U){const s=F(),_=i([{title:"Token",align:"start",sortable:!1,key:"Token"},{title:"\u7528\u91CF",key:"Usage"},{title:"\u72B6\u6001",key:"State"},{title:"",key:"actions",sortable:!1}]),r=i(),d=i(),u=i(),m=i(),g=i(),K=o=>o>800?"error":o>600?"warning":"success",p=()=>{D.post(`${s.getters.serverApi}sysconfig`,{token:s.getters.userToken}).then(o=>{o.data&&(o.data.error?s.commit("app/ADD_SNACKBAR",{message:o.data.error,color:"error"}):r.value=o.data.redisConfig.bingTokens)}).catch(o=>{s.commit("app/ADD_SNACKBAR",{message:o.message,color:"error"}),console.log(o)})},v=o=>{s.getters.runmode==="online"?D.post(`${s.getters.serverApi}saveconfig`,{token:s.getters.userToken,...o}).then(l=>{var t;(t=l.data)!=null&&t.error?s.commit("app/ADD_SNACKBAR",{message:l.data.error,color:"error"}):s.commit("app/ADD_SNACKBAR",{message:"\u4FDD\u5B58\u6210\u529F",color:"success"}),p()}).catch(l=>{p(),s.commit("app/ADD_SNACKBAR",{message:l.message,color:"error"}),console.log(l)}):s.commit("app/ADD_SNACKBAR",{message:"\u4EC5\u652F\u6301\u5728\u7EBF\u6A21\u5F0F\u64CD\u4F5C",color:"warn"})},R=()=>{const o={redisConfig:{bingTokens:[...r.value,{Token:m.value,State:"\u6B63\u5E38",Usage:0}]}};v(o),d.value=!1},h=()=>{const o=r.value.findIndex(t=>t.Token===g.value);o!==-1&&r.value.splice(o,1);const l={redisConfig:{bingTokens:[...r.value]}};v(l),u.value=!1},$=async o=>{try{await navigator.clipboard.writeText(o),s.commit("app/ADD_SNACKBAR",{message:"\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F",color:"info"})}catch(l){console.error("\u526A\u8D34\u677F\u590D\u5236\u5931\u8D25: ",l)}};return p(),(o,l)=>(B(),S(Y(j),{headers:_.value,items:r.value,class:"elevation-1"},{top:a(()=>[e(I,{flat:""},{default:a(()=>[e(H,null,{default:a(()=>[n("Bing Token \u7BA1\u7406")]),_:1}),e(P,{class:"mx-4",inset:"",vertical:""}),e(f),e(b,{modelValue:d.value,"onUpdate:modelValue":l[2]||(l[2]=t=>d.value=t),"max-width":"500px"},{activator:a(({props:t})=>[e(c,V({color:"primary",dark:"",class:"mb-2"},t),{default:a(()=>[n(" \u6DFB\u52A0Token ")]),_:2},1040)]),default:a(()=>[e(k,null,{default:a(()=>[e(C,null,{default:a(()=>[E]),_:1}),e(q,null,{default:a(()=>[e(z,null,{default:a(()=>[e(w,null,{default:a(()=>[e(y,{cols:"12"},{default:a(()=>[e(J,{modelValue:m.value,"onUpdate:modelValue":l[0]||(l[0]=t=>m.value=t),label:"Token"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1}),e(x,null,{default:a(()=>[e(f),e(c,{color:"blue-darken-1",variant:"text",onClick:l[1]||(l[1]=t=>{d.value=!1,m.value=""})},{default:a(()=>[n(" \u53D6\u6D88 ")]),_:1}),e(c,{color:"blue-darken-1",variant:"text",onClick:R},{default:a(()=>[n(" \u6DFB\u52A0 ")]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),e(b,{modelValue:u.value,"onUpdate:modelValue":l[4]||(l[4]=t=>u.value=t),"max-width":"550px"},{default:a(()=>[e(k,null,{default:a(()=>[e(C,{class:"text-h5"},{default:a(()=>[n("\u662F\u5426\u786E\u8BA4\u5220\u9664\u8BE5Token\uFF1F\u5220\u9664\u540E\u5C06\u65E0\u6CD5\u6062\u590D\uFF01")]),_:1}),e(x,null,{default:a(()=>[e(f),e(c,{color:"blue-darken-1",variant:"text",onClick:l[3]||(l[3]=t=>u.value=!1)},{default:a(()=>[n("\u53D6\u6D88")]),_:1}),e(c,{color:"error",variant:"text",onClick:h},{default:a(()=>[n("\u786E\u8BA4\u5220\u9664")]),_:1}),e(f)]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})]),"item.Usage":a(({item:t})=>[e(O,{color:K(t.columns.Usage)},{default:a(()=>[n(A(t.columns.Usage),1)]),_:2},1032,["color"])]),"item.Token":a(({item:t})=>[e(Q,{activator:"parent",location:"bottom",text:t.columns.Token},{activator:a(({props:T})=>[N("span",V(T,{onClick:M=>$(t.columns.Token)}),A(t.columns.Token.substring(0,50))+"... ",17,G)]),_:2},1032,["text"])]),"item.actions":a(({item:t})=>[e(W,{size:"small",onClick:T=>{g.value=t.raw.Token,u.value=!0}},{default:a(()=>[n(" mdi-delete ")]),_:2},1032,["onClick"])]),_:1},8,["headers","items"]))}},le={__name:"tokens",setup(U){return(s,_)=>(B(),S(w,null,{default:a(()=>[e(y,{cols:"12"},{default:a(()=>[e(k,null,{default:a(()=>[e(L)]),_:1})]),_:1})]),_:1}))}};export{le as default};

View file

@ -1 +1 @@
import{aB as c,Q as l,R as n,S as e,D as s,W as d,U as _,a0 as t,_ as h,T as o}from"./index.f985de17.js";const u={},r=t("div",null,[t("h1",{class:"text-h1"}," Heading 1 "),t("span",null,"font-size: 6rem / line-height: 6rem / font-weight: 300")],-1),m=t("div",null,[t("h2",{class:"text-h2"}," Heading 2 "),t("span",null,"font-size: 3.75rem / line-height: 3.75rem / font-weight: 300")],-1),f=t("div",null,[t("h3",{class:"text-h3"}," Heading 3 "),t("span",null,"font-size: 3rem / line-height: 3.125rem / font-weight: 400")],-1),p=t("div",null,[t("h4",{class:"text-h4"}," Heading 4 "),t("span",null,"font-size: 2.125rem / line-height: 2.5rem / font-weight: 400")],-1),x=t("div",null,[t("h5",{class:"text-h5"}," Heading 5 "),t("span",null,"font-size: 1.5rem / line-height: 2rem / font-weight: 400")],-1),g=t("div",null,[t("h6",{class:"text-h6"}," Heading 6 "),t("span",null,"font-size: 1.25rem / line-height: 2rem / font-weight: 500")],-1);function b(a,i){return l(),n(_,{title:"Headlines"},{default:e(()=>[s(d,{class:"d-flex flex-column gap-y-8"},{default:e(()=>[r,m,f,p,x,g]),_:1})]),_:1})}const w=c(u,[["render",b]]),k={},y=t("span",{class:"text-subtitle-1 text-no-wrap"},"text-subtitle-1",-1),z=t("p",{class:"text-subtitle-1 text-truncate mb-0"}," Cupcake ipsum dolor sit amet fruitcake donut chocolate. ",-1),C=t("small",null,"font-size: 1rem / line-height: 1.75rem / font-weight: 400",-1),v=t("span",{class:"text-subtitle-2 text-no-wrap"},"text-subtitle-2",-1),$=t("p",{class:"text-subtitle-2 mb-0"}," Cupcake ipsum dolor sit amet fruitcake donut chocolate. ",-1),H=t("small",null,"font-size: 0.875rem / line-height: 1.375rem / font-weight: 500",-1),T=t("span",{class:"text-body-1 text-no-wrap"},"text-body-1",-1),V=t("p",{class:"text-body-1 mb-0"}," Cupcake ipsum dolor sit amet fruitcake donut chocolate. ",-1),B=t("small",null,"font-size: 1rem / line-height: 1.5rem / font-weight: 400",-1),N=t("span",{class:"text-body-2 text-no-wrap"},"text-body-2",-1),R=t("p",{class:"text-body-2 mb-0"}," Cupcake ipsum dolor sit amet fruitcake donut chocolate. ",-1),D=t("small",null,"font-size: 0.875rem / line-height: 1.25rem / font-weight: 400",-1),Q=t("span",{class:"text-caption"},"text-caption",-1),S=t("p",{class:"text-caption mb-0"}," Cupcake ipsum dolor sit amet fruitcake donut chocolate. ",-1),U=t("small",null,"font-size: 0.75rem / line-height: 1.25rem / font-weight: 400",-1),W=t("span",{class:"text-overline text-no-wrap"},"text-overline",-1),j=t("p",{class:"text-overline mb-0"}," Cupcake ipsum dolor sit amet fruitcake donut chocolate. ",-1),q=t("small",null,"font-size: 0.75rem / line-height: 2rem / font-weight: 500",-1),A=t("span",{class:"text-button"},"text-button",-1),E=t("p",{class:"text-button mb-0"}," Cupcake ipsum dolor sit amet fruitcake donut chocolate. ",-1),F=t("small",null,"font-size: 0.875rem / line-height: 2.25rem / font-weight: 500",-1);function G(a,i){return l(),n(_,{title:"Texts"},{default:e(()=>[s(d,null,{default:e(()=>[s(h,null,{default:e(()=>[s(o,{cols:"4",md:"2"},{default:e(()=>[y]),_:1}),s(o,{cols:"8",md:"10"},{default:e(()=>[z,C]),_:1}),s(o,{cols:"4",md:"2"},{default:e(()=>[v]),_:1}),s(o,{cols:"8",md:"10"},{default:e(()=>[$,H]),_:1}),s(o,{cols:"4",md:"2"},{default:e(()=>[T]),_:1}),s(o,{cols:"8",md:"10"},{default:e(()=>[V,B]),_:1}),s(o,{cols:"4",md:"2"},{default:e(()=>[N]),_:1}),s(o,{cols:"8",md:"10"},{default:e(()=>[R,D]),_:1}),s(o,{cols:"4",md:"2"},{default:e(()=>[Q]),_:1}),s(o,{cols:"8",md:"10"},{default:e(()=>[S,U]),_:1}),s(o,{cols:"4",md:"2"},{default:e(()=>[W]),_:1}),s(o,{cols:"8",md:"10"},{default:e(()=>[j,q]),_:1}),s(o,{cols:"4",md:"2"},{default:e(()=>[A]),_:1}),s(o,{cols:"8",md:"10"},{default:e(()=>[E,F]),_:1})]),_:1})]),_:1})]),_:1})}const I=c(k,[["render",G]]),L={__name:"typography",setup(a){return(i,J)=>(l(),n(h,null,{default:e(()=>[s(o,{cols:"12"},{default:e(()=>[s(w)]),_:1}),s(o,{cols:"12"},{default:e(()=>[s(I)]),_:1})]),_:1}))}};export{L as default}; import{aB as c,Q as l,R as n,S as e,D as s,W as d,U as _,a0 as t,_ as h,T as o}from"./index.a457a291.js";const u={},r=t("div",null,[t("h1",{class:"text-h1"}," Heading 1 "),t("span",null,"font-size: 6rem / line-height: 6rem / font-weight: 300")],-1),m=t("div",null,[t("h2",{class:"text-h2"}," Heading 2 "),t("span",null,"font-size: 3.75rem / line-height: 3.75rem / font-weight: 300")],-1),f=t("div",null,[t("h3",{class:"text-h3"}," Heading 3 "),t("span",null,"font-size: 3rem / line-height: 3.125rem / font-weight: 400")],-1),p=t("div",null,[t("h4",{class:"text-h4"}," Heading 4 "),t("span",null,"font-size: 2.125rem / line-height: 2.5rem / font-weight: 400")],-1),x=t("div",null,[t("h5",{class:"text-h5"}," Heading 5 "),t("span",null,"font-size: 1.5rem / line-height: 2rem / font-weight: 400")],-1),g=t("div",null,[t("h6",{class:"text-h6"}," Heading 6 "),t("span",null,"font-size: 1.25rem / line-height: 2rem / font-weight: 500")],-1);function b(a,i){return l(),n(_,{title:"Headlines"},{default:e(()=>[s(d,{class:"d-flex flex-column gap-y-8"},{default:e(()=>[r,m,f,p,x,g]),_:1})]),_:1})}const w=c(u,[["render",b]]),k={},y=t("span",{class:"text-subtitle-1 text-no-wrap"},"text-subtitle-1",-1),z=t("p",{class:"text-subtitle-1 text-truncate mb-0"}," Cupcake ipsum dolor sit amet fruitcake donut chocolate. ",-1),C=t("small",null,"font-size: 1rem / line-height: 1.75rem / font-weight: 400",-1),v=t("span",{class:"text-subtitle-2 text-no-wrap"},"text-subtitle-2",-1),$=t("p",{class:"text-subtitle-2 mb-0"}," Cupcake ipsum dolor sit amet fruitcake donut chocolate. ",-1),H=t("small",null,"font-size: 0.875rem / line-height: 1.375rem / font-weight: 500",-1),T=t("span",{class:"text-body-1 text-no-wrap"},"text-body-1",-1),V=t("p",{class:"text-body-1 mb-0"}," Cupcake ipsum dolor sit amet fruitcake donut chocolate. ",-1),B=t("small",null,"font-size: 1rem / line-height: 1.5rem / font-weight: 400",-1),N=t("span",{class:"text-body-2 text-no-wrap"},"text-body-2",-1),R=t("p",{class:"text-body-2 mb-0"}," Cupcake ipsum dolor sit amet fruitcake donut chocolate. ",-1),D=t("small",null,"font-size: 0.875rem / line-height: 1.25rem / font-weight: 400",-1),Q=t("span",{class:"text-caption"},"text-caption",-1),S=t("p",{class:"text-caption mb-0"}," Cupcake ipsum dolor sit amet fruitcake donut chocolate. ",-1),U=t("small",null,"font-size: 0.75rem / line-height: 1.25rem / font-weight: 400",-1),W=t("span",{class:"text-overline text-no-wrap"},"text-overline",-1),j=t("p",{class:"text-overline mb-0"}," Cupcake ipsum dolor sit amet fruitcake donut chocolate. ",-1),q=t("small",null,"font-size: 0.75rem / line-height: 2rem / font-weight: 500",-1),A=t("span",{class:"text-button"},"text-button",-1),E=t("p",{class:"text-button mb-0"}," Cupcake ipsum dolor sit amet fruitcake donut chocolate. ",-1),F=t("small",null,"font-size: 0.875rem / line-height: 2.25rem / font-weight: 500",-1);function G(a,i){return l(),n(_,{title:"Texts"},{default:e(()=>[s(d,null,{default:e(()=>[s(h,null,{default:e(()=>[s(o,{cols:"4",md:"2"},{default:e(()=>[y]),_:1}),s(o,{cols:"8",md:"10"},{default:e(()=>[z,C]),_:1}),s(o,{cols:"4",md:"2"},{default:e(()=>[v]),_:1}),s(o,{cols:"8",md:"10"},{default:e(()=>[$,H]),_:1}),s(o,{cols:"4",md:"2"},{default:e(()=>[T]),_:1}),s(o,{cols:"8",md:"10"},{default:e(()=>[V,B]),_:1}),s(o,{cols:"4",md:"2"},{default:e(()=>[N]),_:1}),s(o,{cols:"8",md:"10"},{default:e(()=>[R,D]),_:1}),s(o,{cols:"4",md:"2"},{default:e(()=>[Q]),_:1}),s(o,{cols:"8",md:"10"},{default:e(()=>[S,U]),_:1}),s(o,{cols:"4",md:"2"},{default:e(()=>[W]),_:1}),s(o,{cols:"8",md:"10"},{default:e(()=>[j,q]),_:1}),s(o,{cols:"4",md:"2"},{default:e(()=>[A]),_:1}),s(o,{cols:"8",md:"10"},{default:e(()=>[E,F]),_:1})]),_:1})]),_:1})]),_:1})}const I=c(k,[["render",G]]),L={__name:"typography",setup(a){return(i,J)=>(l(),n(h,null,{default:e(()=>[s(o,{cols:"12"},{default:e(()=>[s(w)]),_:1}),s(o,{cols:"12"},{default:e(()=>[s(I)]),_:1})]),_:1}))}};export{L as default};

View file

@ -7,8 +7,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ChatGPT 工具箱</title> <title>ChatGPT 工具箱</title>
<link rel="stylesheet" type="text/css" href="./loader.css" /> <link rel="stylesheet" type="text/css" href="./loader.css" />
<script type="module" crossorigin src="./assets/index.f985de17.js"></script> <script type="module" crossorigin src="./assets/index.a457a291.js"></script>
<link rel="stylesheet" href="./assets/index.7236eb96.css"> <link rel="stylesheet" href="./assets/index.6bc88549.css">
</head> </head>
<body> <body>

View file

@ -828,17 +828,17 @@ export function getMaxModelTokens (model = 'gpt-3.5-turbo') {
export function getUin (e) { export function getUin (e) {
if (e?.bot?.uin) return e.bot.uin if (e?.bot?.uin) return e.bot.uin
if (e) { if (Array.isArray(Bot.uin)) {
if (Array.isArray(e.bot.uin)) { if (Config.trssBotUin && Bot.uin.indexOf(Config.trssBotUin) > -1) {return Config.trssBotUin}
if (Config.trssBotUin && e.bot.uin.indexOf(Config.trssBotUin) > -1) return Config.trssBotUin else {
else return e.bot.uin[0] Bot.uin.forEach((u) => {
} else return e.bot.uin if (Bot[u].self_id) {
} else { return Bot[u].self_id
if (Array.isArray(Bot.uin)) { }
if (Config.trssBotUin && Bot.uin.indexOf(Config.trssBotUin) > -1) return Config.trssBotUin })
else return Bot.uin[0] return Bot.uin[Bot.uin.length - 1]
} else return Bot.uin }
} } else return Bot.uin
} }
/** /**