This commit is contained in:
niuzhiyun 2026-08-04 14:27:05 +08:00
parent 89b57da660
commit e4f780a152
4937 changed files with 194997 additions and 193480 deletions

View File

@ -114,7 +114,14 @@ if (Object.keys(addonConflicts).length) {
console.warn(`[addon-entry] ${key}: ${Object.keys(addonConflicts).length} internal export conflict(s)`)
}
// 生成插件专用 Tailwind 入口 CSS插件以 lib 模式独立打包,主后台 core 构建不会生成
// 插件特有的 Tailwind 工具类,因此在此让插件构建自己产出(随 style.css 运行时注入)。
// 仅含 utilitiespreflight 已在 tailwind.addon.config.cjs 关闭),避免污染主后台全局样式。
const addonCssPath = path.join(outDir, 'addon.css')
fs.writeFileSync(addonCssPath, '@tailwind base;\n@tailwind components;\n@tailwind utilities;\n', 'utf-8')
const content = `/* AUTO-GENERATED entry for addon "${key}" */
import './addon.css'
${langImports.join('\n')}
export const addonKey = '${key}'

View File

@ -78,9 +78,11 @@ const SFC_WRAPPERS = {}
/** 插件中 auto-import 的组件/模块,不 external直接打进插件 */
const PACK_INTO_ADDON = new Set([
'utils/config', // export default → core-shared 的 export * 不会转发
'utils/storage', // export default → core-shared 的 export * 不会转发
'utils/tianditu' // 与 qqmap 同名导出冲突,由 addon 直接打包
'utils/config', // export default → core-shared 的 export * 不会转发
'utils/storage', // export default → core-shared 的 export * 不会转发
'utils/tianditu', // 与 qqmap 同名导出冲突,由 addon 直接打包
'utils/addon-loader', // core-shared build-shared.cjs 排除了此文件
'utils/addon-lang' // core-shared build-shared.cjs 排除了此文件
])
function isSfcBundleComponent(id) {
@ -121,6 +123,9 @@ function isCoreExternal(id) {
if (/\/src\/components\//.test(norm)) return false
// utils/config 默认导出 → 不 externalcore-shared 的 named export 不会转发 default
if (norm === '@/utils/config' || norm === '@/utils/config.ts' || norm.endsWith('/src/utils/config.ts')) return false
// addon-loader / addon-lang 被 build-shared 排除,插件自行携带
if (norm === '@/utils/addon-loader' || norm === '@/utils/addon-loader.ts' || norm.includes('/src/utils/addon-loader')) return false
if (norm === '@/utils/addon-lang' || norm === '@/utils/addon-lang.ts' || norm.includes('/src/utils/addon-lang')) return false
if (isSfcBundleComponent(norm)) return false
// 直接匹配 @/ 别名形式Vite resolveId 前的 source
if (CORE_EXTERNAL_PATHS.some(p => norm === p || norm.startsWith(p + '/'))) return true

View File

@ -38,8 +38,9 @@ export function resolveLangFile(app: string, path: string): string {
let view = path.replace(/^(\/admin\/|\/site\/|\/)/, '').replace(/\.vue$/, '')
if (view.startsWith('views/')) view = view.slice('views/'.length)
if (app) {
if (view.startsWith(`${app}/`)) view = view.slice(app.length + 1)
else if (view === app) view = 'index'
if (view === app) view = 'index'
// addon 语言包文件名自带 addon 前缀(如 spdr.goods.json此处不再剥离
// 空值:当 view 首段不等于 app 时不处理(如 app="spdr" view="goods"
}
return view.replaceAll('/', '.')
}
@ -113,7 +114,7 @@ export async function loadAddonModule(addon: string): Promise<Record<string, unk
if (!(addon in addonModuleCache)) {
addonModuleCache[addon] = (async () => {
try {
const url = adminUrl(`/assets/addons/${addon}/index.js`)
const url = adminUrl(`/assets/addons/${addon}/index.js?_t=${Date.now()}`)
return await import(/* @vite-ignore */ url) as Record<string, unknown>
} catch {
return null
@ -151,7 +152,7 @@ export async function initAddonManifests(keys?: string[]) {
let addonKeys = keys
if (!addonKeys?.length) {
try {
const indexUrl = adminUrl('/assets/addons/index.json')
const indexUrl = adminUrl(`/assets/addons/index.json?_t=${Date.now()}`)
const res = await fetch(indexUrl)
if (res.ok) {
const data = await res.json()
@ -183,7 +184,7 @@ export async function initAddonManifests(keys?: string[]) {
if (!(await isAddonEntryAvailable(key))) continue
verifiedKeys.push(key)
try {
const url = adminUrl(`/assets/addons/${key}/manifest.json`)
const url = adminUrl(`/assets/addons/${key}/manifest.json?_t=${Date.now()}`)
const res = await fetch(url)
if (res.ok) {
prodManifests[key] = await res.json()

View File

@ -8,9 +8,13 @@ const geometry: any = {}
* @param geometriesData
* @param onSelect
*/
export const createCircle = (map: any, geometriesData: any, onSelect?: (key: string) => void) => {
export const createCircle = (map: any, geometriesData: any, onSelect?: (key: string) => void, onChange?: (data: any) => void) => {
const TMap = (window as any).TMap
const LatLng = TMap.LatLng
if (!TMap.tools) {
setTimeout(() => createCircle(map, geometriesData, onSelect), 300)
return
}
geometriesData.radius = geometriesData.radius ?? 1000
geometriesData.center = geometriesData.center ?? { lat: map.getCenter().lat, lng: map.getCenter().lng }
@ -21,20 +25,30 @@ export const createCircle = (map: any, geometriesData: any, onSelect?: (key: str
Math.floor(Math.random() * 255)
]
// 创建图形
// 清理旧图形
if (geometry[geometriesData.key]) {
try {
geometry[geometriesData.key].graphical.remove(geometriesData.key)
geometry[geometriesData.key].editor?.delete()
} catch (e) {}
}
// 第一步:先创建圆形图层
const multiCircle = new TMap.MultiCircle({
map,
styles: { // 设置圆形样式
styles: {
circle: new TMap.CircleStyle({
color: `rgba(${color.toString()}, .4)`,
showBorder: true,
borderColor: `rgb(${color.toString()})`,
borderWidth: 2
}),
highlight: new TMap.PolygonStyle({
color: 'rgba(255, 255, 0, 0.6)'
})
highlight: new TMap.CircleStyle({
color: 'rgba(255, 255, 0, 0.6)',
showBorder: true,
borderColor: 'rgb(255,200,0)',
borderWidth: 3
})
},
geometries: [
{
@ -45,101 +59,81 @@ export const createCircle = (map: any, geometriesData: any, onSelect?: (key: str
}
]
})
// 如果已存在该图形,先删除
if (geometry[geometriesData.key]) {
try {
geometry[geometriesData.key].graphical.remove(geometriesData.key)
geometry[geometriesData.key].editor?.delete()
} catch (e) {
// 删除旧图形失败
// console.warn('删除旧图形失败:', e)
// 第二步初始化编辑器overlayList 在构造函数传入(官方标准)
let editor = new TMap.tools.GeometryEditor({
map: map,
overlayList: [
{
overlay: multiCircle,
id: geometriesData.key,
selectedStyleId: 'highlight'
}
],
actionMode: TMap.tools.constants?.EDITOR_ACTION?.INTERACT || 0,
activeOverlayId: null,
selectable: true,
snappable: true
})
editor.setKeyboardDeleteEnable(false);
// 编辑器事件监听
editor.on('adjust_start', () => currentMap?.setDraggable(false))
editor.on('adjust_complete', (data: any) => {
if (data?.center && data.radius !== undefined) {
// 完整覆盖保留原有key只更新坐标半径
geometriesData.center = { ...data.center }
geometriesData.radius = Math.round(Number(data.radius))
}
}
let editor = null
// 检查 TMap.tools 是否存在
if (TMap.tools) {
// 创建图形编辑器 - 支持拖动中心点和调整半径
try {
editor = new TMap.tools.GeometryEditor({
map: map,
overlayList: [
{
overlay: multiCircle,
id: geometriesData.key,
selectedStyleId: 'highlight'
}
],
actionMode: TMap.tools.constants?.EDITOR_ACTION?.INTERACT || 0, // 交互模式,支持拖动中心点和调整半径
activeOverlayId: null, // 初始不激活,等待用户选择
selectable: true ,// 开启点选功能
snappable: true // 开启吸附
})
editor.setKeyboardDeleteEnable(false);
// 监听调整开始事件 - 禁用地图拖拽
editor.on('adjust_start', () => {
currentMap?.setDraggable(false)
})
// 监听调整完成事件
editor.on('adjust_complete', (data: any) => {
if (data?.center && data.radius !== undefined) {
geometriesData.center = { lat: data.center.lat, lng: data.center.lng }
geometriesData.radius = parseInt(data.radius)
}
setTimeout(() => currentMap?.setDraggable(true), 100)
})
// 监听调整中事件(实时更新)
editor.on('adjust', (data: any) => {
if (data?.center && data.radius !== undefined) {
geometriesData.center = { lat: data.center.lat, lng: data.center.lng }
geometriesData.radius = parseInt(data.radius)
}
})
// 监听选中事件
editor.on('select', () => {
// 只有在用户点击地图上的图形时才触发,而不是在切换页面时
if (onSelect) {
onSelect(geometriesData.key)
}
})
} catch (e) {
console.warn('创建编辑器失败:', e)
// 关键:主动抛出完整区域数据给父组件,同步页面绑定数据
if(onChange){
onChange({...geometriesData})
}
}
setTimeout(() => currentMap?.setDraggable(true), 100)
})
editor.on('adjust', (data: any) => {
if (data?.center && data.radius !== undefined) {
geometriesData.center = { ...data.center }
geometriesData.radius = Math.round(Number(data.radius))
}
if(onChange){
onChange({...geometriesData})
}
})
editor.on('select', () => {
if (onSelect) onSelect(geometriesData.key)
})
// 为圆形添加点击事件监听器
// 圆形点击事件
multiCircle.on('click', () => {
// 先选中当前图形,使其高亮显示
if (editor) {
editor.select([geometriesData.key])
editor.setActiveOverlay?.(geometriesData.key)
}
// 然后触发选中回调
if (onSelect) {
onSelect(geometriesData.key)
}
editor.select([geometriesData.key])
if (onSelect) onSelect(geometriesData.key)
})
geometry[geometriesData.key] = { graphical: multiCircle, editor }
}
/**
*
* @param map
* @param geometriesData
* @param onSelect
*/
export const createPolygon = (map: any, geometriesData: any, onSelect?: (key: string) => void) => {
export const createPolygon = (
map: any,
geometriesData: any,
onSelect?: (key: string) => void,
onChange?: (data: any) => void // 新增 onChange 参数
) => {
const TMap = (window as any).TMap
const LatLng = TMap.LatLng
if (!TMap.tools) {
setTimeout(() => createPolygon(map, geometriesData, onSelect, onChange), 300)
return
}
const { lat, lng } = map.getCenter();
geometriesData.paths = geometriesData.paths ?? [
{ lat: lat + 0.01, lng: lng + 0.01 },
{ lat: lat - 0.01, lng: lng + 0.01 },
@ -153,17 +147,14 @@ export const createPolygon = (map: any, geometriesData: any, onSelect?: (key: st
Math.floor(Math.random() * 255)
]
// 如果已存在该图形,先删除
if (geometry[geometriesData.key]) {
try {
geometry[geometriesData.key].graphical.remove(geometriesData.key)
geometry[geometriesData.key].editor?.delete()
} catch (e) {
// 删除旧多边形失败
// console.warn('删除旧多边形失败:', e)
}
} catch (e) {}
}
// 1. 创建多边形图层
const multiPolygon = new TMap.MultiPolygon({
map: map,
styles: {
@ -173,85 +164,58 @@ export const createPolygon = (map: any, geometriesData: any, onSelect?: (key: st
borderColor: `rgb(${color.toString()})`,
borderWidth: 2
}),
highlight: new TMap.PolygonStyle({
color: 'rgba(255, 255, 0, 0.6)'
})
highlight: new TMap.PolygonStyle({ color: 'rgba(255, 255, 0, 0.6)' })
},
geometries: [
{
id: geometriesData.key,
styleId: 'polygon',
paths: geometriesData.paths.map((item: any) => {
return new LatLng(item.lat, item.lng)
})
paths: geometriesData.paths.map((item: any) => new LatLng(item.lat, item.lng))
}
]
});
let editor = null
// 检查 TMap.tools 是否存在
if (TMap.tools) {
// 创建图形编辑器 - 支持拖动边框和调整形状
try {
editor = new TMap.tools.GeometryEditor({
map: map,
overlayList: [
{
overlay: multiPolygon,
id: geometriesData.key,
selectedStyleId: 'highlight'
}
],
actionMode: TMap.tools.constants?.EDITOR_ACTION?.INTERACT || 0, // 交互模式,支持拖动边框和调整形状
activeOverlayId: null, // 初始不激活,等待用户选择
selectable: true, // 开启点选功能
snappable: true // 开启吸附
})
// 2. 编辑器构造直接传入overlayList
let editor = new TMap.tools.GeometryEditor({
map: map,
overlayList: [
{
overlay: multiPolygon,
id: geometriesData.key,
selectedStyleId: 'highlight'
}
],
actionMode: TMap.tools.constants?.EDITOR_ACTION?.INTERACT || 0,
activeOverlayId: null,
selectable: true,
snappable: true
})
editor.setKeyboardDeleteEnable(false);
editor.setKeyboardDeleteEnable(false);
// 监听调整开始事件 - 禁用地图拖拽
editor.on('adjust_start', () => {
currentMap?.setDraggable(false)
})
// 监听调整完成事件
editor.on('adjust_complete', (data: any) => {
if (data?.paths) {
geometriesData.paths = data.paths.map((item: any) => ({ lat: item.lat, lng: item.lng }))
}
setTimeout(() => currentMap?.setDraggable(true), 100)
})
// 监听调整中事件(实时更新)
editor.on('adjust', (data: any) => {
if (data?.paths) {
geometriesData.paths = data.paths.map((item: any) => ({ lat: item.lat, lng: item.lng }))
}
})
// 监听选中事件
editor.on('select', () => {
// 只有在用户点击地图上的图形时才触发,而不是在切换页面时
if (onSelect) {
onSelect(geometriesData.key)
}
})
} catch (e) {
console.warn('创建编辑器失败:', e)
// 调整完成回调同步paths并抛出完整数据
editor.on('adjust_start', () => currentMap?.setDraggable(false))
editor.on('adjust_complete', (data: any) => {
if (data?.paths) {
// 完整覆盖路径数组
geometriesData.paths = data.paths.map((item: any) => ({ lat: item.lat, lng: item.lng }))
}
}
// 抛出完整多边形数据给上层
if (onChange) onChange({ ...geometriesData })
setTimeout(() => currentMap?.setDraggable(true), 100)
})
editor.on('adjust', (data: any) => {
if (data?.paths) {
geometriesData.paths = data.paths.map((item: any) => ({ lat: item.lat, lng: item.lng }))
}
if (onChange) onChange({ ...geometriesData })
})
editor.on('select', () => {
if (onSelect) onSelect(geometriesData.key)
})
// 为多边形添加点击事件监听器
multiPolygon.on('click', () => {
// 先选中当前图形,使其高亮显示
if (editor) {
editor.select([geometriesData.key])
editor.setActiveOverlay?.(geometriesData.key)
}
// 然后触发选中回调
if (onSelect) {
onSelect(geometriesData.key)
}
editor.select([geometriesData.key])
if (onSelect) onSelect(geometriesData.key)
})
geometry[geometriesData.key] = { graphical: multiPolygon, editor }

View File

@ -90,7 +90,7 @@ class Request {
},
(err: any) => {
this.handleNetworkError(err)
return Promise.reject(new ErrorResponse(0, err.message, err.response))
return Promise.reject(new ErrorResponse(0, err.message, err.response || { status: 500, message: err.message }))
}
)
}
@ -194,7 +194,7 @@ class Request {
const baseURL = isUrl(err.config.baseURL) ? err.config.baseURL : `${location.origin}${err.config.baseURL}`
errMessage = baseURL + t('axios.baseUrlError')
}
errMessage && this.showElMessage({ dangerouslyUseHTMLString: true, duration: 5000, message: errMessage, type: 'error' })
err.config.showErrorMessage !== false && errMessage && this.showElMessage({ dangerouslyUseHTMLString: true, duration: 5000, message: errMessage, type: 'error' })
}
private handleAuthError(code: number) {

View File

@ -0,0 +1,24 @@
// 插件构建专用 Tailwind 配置。
// 插件以 lib 模式独立打包成 index.js运行时注入 <style>;主后台 core 构建的 Tailwind
// 只扫描 ./src/** 且不包含插件特有的工具类(插件源码可能不在 src/addon 下,或被 core 的
// exclude-addon-source 排除),导致插件用到的 Tailwind 类(如 flex / bg-white / text-gray-500 /
// from-blue-50 等)在全局 CSS 中缺失、样式全部丢失。
// 这里让插件构建自己生成用到的 Tailwind 工具类,随 style.css 一起注入,彻底解耦。
/** @type {import('tailwindcss').Config} */
const base = require('./tailwind.config.cjs')
// 仅扫描当前构建的插件源码,避免把其他插件的类也打进本插件 CSS体积 + 重复)
const addonKey = process.env.ADDON_KEY || ''
const content = addonKey
? ['./src/addon/' + addonKey + '/**/*.{vue,js,ts,jsx,tsx}']
: ['./src/addon/**/*.{vue,js,ts,jsx,tsx}']
module.exports = {
// 复用主后台主题(颜色/间距/字号与 Element Plus 变量对齐),保证插件样式与后台一致
presets: [base],
content,
// 关闭 preflight避免插件注入的样式重置影响主后台已有的全局样式如 a、body 等)
corePlugins: {
preflight: false
}
}

View File

@ -35,6 +35,16 @@ export default defineConfig({
'import.meta.env.VITE_REQUEST_HEADER_SITEID_KEY': JSON.stringify('site-id'),
'import.meta.env.VITE_DETAULT_TITLE': JSON.stringify('')
},
css: {
// 插件独立打包时,让 Tailwind 扫描插件源码并生成用到的工具类,
// 随 style.css 一起运行时注入,避免主后台未生成插件特有的 Tailwind 类导致样式丢失。
postcss: {
plugins: [
require('tailwindcss')(require('./tailwind.addon.config.cjs')),
require('autoprefixer')()
]
}
},
plugins: [
// 修复addon 中 import X from '@/utils/storage' / '@/utils/config' 的 default import
// 会被错误地 external 到 core-shared.js 的 default 导出(即 request 实例)。
@ -114,7 +124,7 @@ export default defineConfig({
// 移除逗号分隔的全局选择器中的 body/html如 :root,body{...}
rawCss = rawCss.replace(/,\s*(?:body|html)\s*(?=\{)/g, '/* removed-global */')
const css = JSON.stringify(rawCss)
entry.code = `(function(){var s=document.createElement('style');s.textContent=${css};s.setAttribute('data-addon-style','${addonKey}');document.head.insertBefore(s,document.head.firstChild)})();\n${entry.code}`
entry.code = `(function(){var s=document.createElement('style');s.textContent=${css};s.setAttribute('data-addon-style','${addonKey}');document.head.appendChild(s)})();\n${entry.code}`
delete bundle['style.css']
}
}

View File

@ -979,4 +979,5 @@ class UpgradeService extends BaseAdminService
break;
}
}
}

View File

@ -36,9 +36,44 @@ class CoreFetchService extends CoreFileService
* @return array
* @throws Exception
*/
/**
* 校验远程图片URL合法性防止SSRF攻击
* @param string $url
* @throws UploadFileException
*/
private function validateImageUrl(string $url): void
{
$scheme = parse_url($url, PHP_URL_SCHEME);
if ($scheme === null || !in_array(strtolower($scheme), ['http', 'https'])) {
throw new UploadFileException('INVALID_IMAGE_URL_SCHEME');
}
$host = parse_url($url, PHP_URL_HOST);
if (empty($host)) {
throw new UploadFileException('INVALID_IMAGE_URL_HOST');
}
// 禁止内网地址
$forbiddenHosts = [
'localhost', '127.0.0.1', '0.0.0.0',
'10.0.0.0/8', '172.16.0.0/12', '192.168.0.0/16',
'169.254.0.0/16', '100.64.0.0/10', '::1', '0:0:0:0:0:0:0:1'
];
// 禁止解析到内网IP的域名
$resolvedIp = gethostbyname($host);
if ($resolvedIp === $host) {
// DNS解析失败检查host是否为IP
if (filter_var($host, FILTER_VALIDATE_IP)) {
$resolvedIp = $host;
}
}
if (filter_var($resolvedIp, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) === false) {
throw new UploadFileException('INVALID_IMAGE_URL_INTRANET');
}
}
public function image(string $url, int $site_id, string $file_dir, $storage_type = '')
{
if(empty($url)) throw new UploadFileException('OSS_FILE_URL_NOT_EXIST');
$this->validateImageUrl($url);
$this->upload_driver = $this->driver($site_id, $storage_type);
[$ext, $link] = explode('.', strrev($url));
$ext = empty($ext) ? strrev($ext) : 'jpg';

View File

@ -1,6 +1,6 @@
<?php
return [
'version' => '2.0.0',
'version' => '2.0.1',
'code' => '202606060001'
];

View File

@ -61,8 +61,11 @@ class Aliyun extends BaseUpload
{
$bucket = $this->config['bucket'];
try {
$base64_file = base64_decode($base64_data);
if (!$base64_file) throw new UploadFileException('FILE_ERROR');
$base64_file = base64_decode($base64_data, true);
if ($base64_file === false) throw new UploadFileException('BASE64_DECODE_FAILED');
// 校验解码后内容是否为真实图片
$imageInfo = @getimagesizefromstring($base64_file);
if ($imageInfo === false) throw new UploadFileException('BASE64_NOT_VALID_IMAGE');
$this->client()->putObject(
$bucket,
$key,
@ -83,6 +86,11 @@ class Aliyun extends BaseUpload
{
$bucket = $this->config['bucket'];
try {
// SSRF防护仅允许 http/https 协议
$scheme = parse_url($url, PHP_URL_SCHEME);
if ($scheme === null || !in_array(strtolower($scheme), ['http', 'https'])) {
throw new UploadFileException('FETCH_URL_SCHEME_NOT_ALLOWED');
}
$content = file_get_contents($url);
$this->client()->putObject(
$bucket,

View File

@ -52,9 +52,25 @@ class Local extends BaseUpload
public function fetch(string $url, ?string $key)
{
try {
// SSRF防护仅允许 http/https 协议
$scheme = parse_url($url, PHP_URL_SCHEME);
if ($scheme === null || !in_array(strtolower($scheme), ['http', 'https'])) {
throw new UploadFileException('FETCH_URL_SCHEME_NOT_ALLOWED');
}
// 禁止解析到内网IP
$host = parse_url($url, PHP_URL_HOST);
if (!empty($host)) {
$resolvedIp = gethostbyname($host);
if ($resolvedIp !== $host && filter_var($resolvedIp, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) === false) {
throw new UploadFileException('FETCH_URL_INTRANET_DENIED');
}
}
mkdirs_or_notexist(dirname($key), 0777);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS);
curl_setopt($ch, CURLOPT_REDIR_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS);
$content = curl_exec($ch);
curl_close($ch);
// $content = @file_get_contents($url);//file_get_contents下载网络图片慢更换为curl下载
@ -112,9 +128,22 @@ class Local extends BaseUpload
*/
public function base64(string $content, ?string $key = null)
{
$decoded = base64_decode($content, true);
if ($decoded === false) {
throw new UploadFileException('BASE64_DECODE_FAILED');
}
// 校验解码后内容是否为真实图片,防止写入非图片恶意内容
$imageInfo = @getimagesizefromstring($decoded);
if ($imageInfo === false) {
throw new UploadFileException('BASE64_NOT_VALID_IMAGE');
}
// 限制 Base64 图片最大 10MB
if (strlen($decoded) > 10 * 1024 * 1024) {
throw new UploadFileException('BASE64_IMAGE_TOO_LARGE');
}
mkdirs_or_notexist(dirname($key));
file_put_contents(url_to_path($key), base64_decode($content));
file_put_contents(url_to_path($key), $decoded);
return true;
}

View File

@ -100,8 +100,11 @@ class Qiniu extends BaseUpload
// 初始化 UploadManager 对象并进行文件的上传。
$upload_mgr = new UploadManager();
//将 base64 编码的图片数据解码
$base64_file = base64_decode($base64_data);
if (!$base64_file) throw new UploadFileException('FILE_ERROR');
$base64_file = base64_decode($base64_data, true);
if ($base64_file === false) throw new UploadFileException('BASE64_DECODE_FAILED');
// 校验解码后内容是否为真实图片
$imageInfo = @getimagesizefromstring($base64_file);
if ($imageInfo === false) throw new UploadFileException('BASE64_NOT_VALID_IMAGE');
// 初始化 UpLoadManager 对象并进行文件的上传
list($ret, $err) = $upload_mgr->put($up_token, $key, $base64_file);
if ($err !== null) throw new UploadFileException($err->message);

View File

@ -83,8 +83,11 @@ class Tencent extends BaseUpload
{
$bucket = $this->config['bucket'];
try {
$base64_file = base64_decode($base64_data);
if (!$base64_file) throw new UploadFileException('FILE_ERROR');
$base64_file = base64_decode($base64_data, true);
if ($base64_file === false) throw new UploadFileException('BASE64_DECODE_FAILED');
// 校验解码后内容是否为真实图片
$imageInfo = @getimagesizefromstring($base64_file);
if ($imageInfo === false) throw new UploadFileException('BASE64_NOT_VALID_IMAGE');
$result = $this->client()->putObject(array(
'Bucket' => $bucket, //存储桶名称由BucketName-Appid 组成可以在COS控制台查看 https://console.tencentcloud.com/cos5/bucket
'Key' => $key,
@ -107,6 +110,11 @@ class Tencent extends BaseUpload
$bucket = $this->config['bucket'];
try {
// SSRF防护仅允许 http/https 协议
$scheme = parse_url($url, PHP_URL_SCHEME);
if ($scheme === null || !in_array(strtolower($scheme), ['http', 'https'])) {
throw new UploadFileException('FETCH_URL_SCHEME_NOT_ALLOWED');
}
$result = $this->client()->putObject(array(
'Bucket' => $bucket, //存储桶名称由BucketName-Appid 组成可以在COS控制台查看 https://console.tencentcloud.com/cos5/bucket
'Key' => $key,

View File

@ -0,0 +1 @@
import{bE as o}from"./index-e730ce9b.js";import"vue";import"pinia";import"@element-plus/icons-vue";import"axios";import"/admin/assets/shared/admin-lang.js";import"vue-router";import"/admin/assets/shared/admin-lang.js";export{o as default};

View File

@ -1 +0,0 @@
import{bE as o}from"./index-43cf66e3.js";import"vue";import"pinia";import"@element-plus/icons-vue";import"axios";import"/admin/assets/shared/admin-lang.js";import"vue-router";import"/admin/assets/shared/admin-lang.js";export{o as default};

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 +0,0 @@
import z from"./VerifySlide-1d5655d6.js";import g from"./VerifyPoints-e4202f02.js";import{toRefs as k,ref as c,computed as w,watchEffect as T,withDirectives as V,openBlock as m,createElementBlock as u,normalizeClass as y,createElementVNode as r,normalizeStyle as d,createTextVNode as B,createCommentVNode as v,createBlock as N,resolveDynamicComponent as C,vShow as j}from"vue";import{_ as E}from"./_plugin-vue_export-helper-c27b6911.js";import"./index-d5b19183.js";import"./index-43cf66e3.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"/admin/assets/shared/admin-lang.js";import"vue-router";import"/admin/assets/shared/admin-lang.js";const O={name:"Vue2Verify",components:{VerifySlide:z,VerifyPoints:g},props:{captchaType:{type:String,required:!0},figure:{type:Number},arith:{type:Number},mode:{type:String,default:"pop"},vSpace:{type:Number},explain:{type:String},imgSize:{type:Object,default(){return{width:"310px",height:"155px"}}},blockSize:{type:Object},barSize:{type:Object}},setup(s){const{captchaType:i,figure:e,arith:t,mode:a,vSpace:S,explain:f,imgSize:R,blockSize:W,barSize:A}=k(s),o=c(!1),n=c(void 0),l=c(void 0),p=c({}),h=w(()=>a.value=="pop"?o.value:!0),b=()=>{p.value.refresh&&p.value.refresh()},x=()=>{o.value=!1,b()},_=()=>{a.value=="pop"&&(o.value=!0)};return T(()=>{switch(i.value){case"blockPuzzle":n.value="2",l.value="VerifySlide";break;case"clickWord":n.value="",l.value="VerifyPoints";break}}),{clickShow:o,verifyType:n,componentType:l,instance:p,showBox:h,closeBox:x,show:_}}},P={key:0,class:"verifybox-top"},D=r("i",{class:"iconfont icon-close"},null,-1),q=[D];function I(s,i,e,t,a,S){return V((m(),u("div",{class:y(e.mode=="pop"?"mask":"")},[r("div",{class:y(e.mode=="pop"?"verifybox":""),style:d({"max-width":parseInt(e.imgSize.width)+30+"px"})},[e.mode=="pop"?(m(),u("div",P,[B(" 请完成安全验证 "),r("span",{class:"verifybox-close",onClick:i[0]||(i[0]=(...f)=>t.closeBox&&t.closeBox(...f))},q)])):v("",!0),r("div",{class:"verifybox-bottom",style:d({padding:e.mode=="pop"?"15px":"0"})},[t.componentType?(m(),N(C(t.componentType),{key:0,captchaType:e.captchaType,type:t.verifyType,figure:e.figure,arith:e.arith,mode:e.mode,vSpace:e.vSpace,explain:e.explain,imgSize:e.imgSize,blockSize:e.blockSize,barSize:e.barSize,ref:"instance"},null,8,["captchaType","type","figure","arith","mode","vSpace","explain","imgSize","blockSize","barSize"])):v("",!0)],4)],6)],2)),[[j,t.showBox]])}const te=E(O,[["render",I]]);export{te as default};

View File

@ -0,0 +1 @@
import z from"./VerifySlide-559282c6.js";import g from"./VerifyPoints-99919902.js";import{toRefs as k,ref as c,computed as w,watchEffect as T,withDirectives as V,openBlock as m,createElementBlock as u,normalizeClass as y,createElementVNode as r,normalizeStyle as d,createTextVNode as B,createCommentVNode as v,createBlock as N,resolveDynamicComponent as C,vShow as j}from"vue";import{_ as E}from"./_plugin-vue_export-helper-c27b6911.js";import"./index-b679d659.js";import"./index-e730ce9b.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"/admin/assets/shared/admin-lang.js";import"vue-router";import"/admin/assets/shared/admin-lang.js";const O={name:"Vue2Verify",components:{VerifySlide:z,VerifyPoints:g},props:{captchaType:{type:String,required:!0},figure:{type:Number},arith:{type:Number},mode:{type:String,default:"pop"},vSpace:{type:Number},explain:{type:String},imgSize:{type:Object,default(){return{width:"310px",height:"155px"}}},blockSize:{type:Object},barSize:{type:Object}},setup(s){const{captchaType:i,figure:e,arith:t,mode:a,vSpace:S,explain:f,imgSize:R,blockSize:W,barSize:A}=k(s),o=c(!1),n=c(void 0),l=c(void 0),p=c({}),h=w(()=>a.value=="pop"?o.value:!0),b=()=>{p.value.refresh&&p.value.refresh()},x=()=>{o.value=!1,b()},_=()=>{a.value=="pop"&&(o.value=!0)};return T(()=>{switch(i.value){case"blockPuzzle":n.value="2",l.value="VerifySlide";break;case"clickWord":n.value="",l.value="VerifyPoints";break}}),{clickShow:o,verifyType:n,componentType:l,instance:p,showBox:h,closeBox:x,show:_}}},P={key:0,class:"verifybox-top"},D=r("i",{class:"iconfont icon-close"},null,-1),q=[D];function I(s,i,e,t,a,S){return V((m(),u("div",{class:y(e.mode=="pop"?"mask":"")},[r("div",{class:y(e.mode=="pop"?"verifybox":""),style:d({"max-width":parseInt(e.imgSize.width)+30+"px"})},[e.mode=="pop"?(m(),u("div",P,[B(" 请完成安全验证 "),r("span",{class:"verifybox-close",onClick:i[0]||(i[0]=(...f)=>t.closeBox&&t.closeBox(...f))},q)])):v("",!0),r("div",{class:"verifybox-bottom",style:d({padding:e.mode=="pop"?"15px":"0"})},[t.componentType?(m(),N(C(t.componentType),{key:0,captchaType:e.captchaType,type:t.verifyType,figure:e.figure,arith:e.arith,mode:e.mode,vSpace:e.vSpace,explain:e.explain,imgSize:e.imgSize,blockSize:e.blockSize,barSize:e.barSize,ref:"instance"},null,8,["captchaType","type","figure","arith","mode","vSpace","explain","imgSize","blockSize","barSize"])):v("",!0)],4)],6)],2)),[[j,t.showBox]])}const te=E(O,[["render",I]]);export{te as default};

View File

@ -0,0 +1 @@
import{r as K,a as V,b as F,c as G}from"./index-b679d659.js";import{toRefs as X,getCurrentInstance as Y,ref as o,reactive as v,onMounted as Q,openBlock as H,createElementBlock as I,createElementVNode as l,normalizeStyle as A,withDirectives as U,vShow as Z,Fragment as $,renderList as ee,toDisplayString as E,nextTick as te}from"vue";import{_ as ie}from"./_plugin-vue_export-helper-c27b6911.js";import"./index-e730ce9b.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"/admin/assets/shared/admin-lang.js";import"vue-router";import"/admin/assets/shared/admin-lang.js";const ae={name:"VerifyPoints",props:{mode:{type:String,default:"fixed"},captchaType:{type:String},vSpace:{type:Number,default:5},imgSize:{type:Object,default(){return{width:"310px",height:"155px"}}},barSize:{type:Object,default(){return{width:"310px",height:"40px"}}}},setup(N,g){const{mode:_,captchaType:e,vSpace:L,imgSize:R,barSize:c}=X(N),{proxy:n}=Y(),h=o(""),z=o(3),f=v([]),i=v([]),r=o(1),O=o(""),w=v([]),m=o(""),u=v({imgHeight:0,imgWidth:0,barHeight:0,barWidth:0}),y=v([]),d=o(""),b=o(void 0),x=o(void 0),j=o(!0),C=o(!0),J=()=>{f.splice(0,f.length),i.splice(0,i.length),r.value=1,W(),te(()=>{const{imgHeight:a,imgWidth:t,barHeight:p,barWidth:s}=K(n);u.imgHeight=a,u.imgWidth=t,u.barHeight=p,u.barWidth=s,n.$parent.$emit("ready",n)})};Q(()=>{J(),n.$el.onselectstart=function(){return!1}});const S=o(null),q=a=>{if(i.push(k(S,a)),r.value==z.value){r.value=T(k(S,a));const t=M(i,u);i.length=0,i.push(...t),setTimeout(()=>{const p=h.value?V(m.value+"---"+JSON.stringify(i),h.value):m.value+"---"+JSON.stringify(i),s={captchaType:e.value,captcha_code:h.value?V(JSON.stringify(i),h.value):JSON.stringify(i),captcha_key:m.value};F(s).then(B=>{B.code==1?(b.value="#4cae4c",x.value="#5cb85c",d.value="验证成功",C.value=!1,_.value=="pop"&&setTimeout(()=>{n.$parent.clickShow=!1,P()},1500),n.$parent.$emit("success",{captchaVerification:p})):(n.$parent.$emit("error",n),b.value="#d9534f",x.value="#d9534f",d.value="验证失败",setTimeout(()=>{P()},700))})},400)}r.value<z.value&&(r.value=T(k(S,a)))},k=function(a,t){const p=t.offsetX,s=t.offsetY;return{x:p,y:s}},T=function(a){return y.push(Object.assign({},a)),r.value+1},P=function(){y.splice(0,y.length),b.value="#000",x.value="#ddd",C.value=!0,f.splice(0,f.length),i.splice(0,i.length),r.value=1,W(),d.value="验证失败",j.value=!0};function W(){const a={captchaType:e.value};G(a).then(t=>{t.code==1?(O.value=t.data.originalImageBase64,m.value=t.data.token,h.value=t.data.secretKey,w.value=t.data.wordList,d.value="请依次点击【"+w.value.join(",")+"】"):d.value=t.msg})}const M=function(a,t){return a.map(s=>{const B=Math.round(310*s.x/parseInt(t.imgWidth)),D=Math.round(155*s.y/parseInt(t.imgHeight));return{x:B,y:D}})};return{secretKey:h,checkNum:z,fontPos:f,checkPosArr:i,num:r,pointBackImgBase:O,pointTextList:w,backToken:m,setSize:u,tempPoints:y,text:d,barAreaColor:b,barAreaBorderColor:x,showRefresh:j,bindingClick:C,init:J,canvas:S,canvasClick:q,getMousePos:k,createPoint:T,refresh:P,getPictrue:W,pointTransfrom:M}}},ne={style:{position:"relative"}},oe={class:"verify-img-out"},re=l("i",{class:"iconfont icon-refresh"},null,-1),se=[re],ce=["src"],le={class:"verify-msg"};function he(N,g,_,e,L,R){return H(),I("div",ne,[l("div",oe,[l("div",{class:"verify-img-panel",style:A({width:e.setSize.imgWidth,height:e.setSize.imgHeight,"background-size":e.setSize.imgWidth+" "+e.setSize.imgHeight,"margin-bottom":_.vSpace+"px"})},[U(l("div",{class:"verify-refresh",style:{"z-index":"3"},onClick:g[0]||(g[0]=(...c)=>e.refresh&&e.refresh(...c))},se,512),[[Z,e.showRefresh]]),l("img",{src:"data:image/png;base64,"+e.pointBackImgBase,ref:"canvas",alt:"",style:{width:"100%",height:"100%",display:"block"},onClick:g[1]||(g[1]=c=>e.bindingClick?e.canvasClick(c):void 0)},null,8,ce),(H(!0),I($,null,ee(e.tempPoints,(c,n)=>(H(),I("div",{key:n,class:"point-area",style:A({"background-color":"#1abd6c",color:"#fff","z-index":9999,width:"20px",height:"20px","text-align":"center","line-height":"20px","border-radius":"50%",position:"absolute",top:parseInt(c.y-10)+"px",left:parseInt(c.x-10)+"px"})},E(n+1),5))),128))],4)]),l("div",{class:"verify-bar-area",style:A({width:e.setSize.imgWidth,color:this.barAreaColor,"border-color":this.barAreaBorderColor,"line-height":this.barSize.height})},[l("span",le,E(e.text),1)],4)])}const _e=ie(ae,[["render",he]]);export{_e as default};

View File

@ -1 +0,0 @@
import{r as K,a as V,b as F,c as G}from"./index-d5b19183.js";import{toRefs as X,getCurrentInstance as Y,ref as o,reactive as v,onMounted as Q,openBlock as H,createElementBlock as I,createElementVNode as l,normalizeStyle as A,withDirectives as U,vShow as Z,Fragment as $,renderList as ee,toDisplayString as E,nextTick as te}from"vue";import{_ as ie}from"./_plugin-vue_export-helper-c27b6911.js";import"./index-43cf66e3.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"/admin/assets/shared/admin-lang.js";import"vue-router";import"/admin/assets/shared/admin-lang.js";const ae={name:"VerifyPoints",props:{mode:{type:String,default:"fixed"},captchaType:{type:String},vSpace:{type:Number,default:5},imgSize:{type:Object,default(){return{width:"310px",height:"155px"}}},barSize:{type:Object,default(){return{width:"310px",height:"40px"}}}},setup(N,g){const{mode:_,captchaType:e,vSpace:L,imgSize:R,barSize:c}=X(N),{proxy:n}=Y(),h=o(""),z=o(3),f=v([]),i=v([]),r=o(1),O=o(""),w=v([]),m=o(""),u=v({imgHeight:0,imgWidth:0,barHeight:0,barWidth:0}),y=v([]),d=o(""),b=o(void 0),x=o(void 0),j=o(!0),C=o(!0),J=()=>{f.splice(0,f.length),i.splice(0,i.length),r.value=1,W(),te(()=>{const{imgHeight:a,imgWidth:t,barHeight:p,barWidth:s}=K(n);u.imgHeight=a,u.imgWidth=t,u.barHeight=p,u.barWidth=s,n.$parent.$emit("ready",n)})};Q(()=>{J(),n.$el.onselectstart=function(){return!1}});const S=o(null),q=a=>{if(i.push(k(S,a)),r.value==z.value){r.value=T(k(S,a));const t=M(i,u);i.length=0,i.push(...t),setTimeout(()=>{const p=h.value?V(m.value+"---"+JSON.stringify(i),h.value):m.value+"---"+JSON.stringify(i),s={captchaType:e.value,captcha_code:h.value?V(JSON.stringify(i),h.value):JSON.stringify(i),captcha_key:m.value};F(s).then(B=>{B.code==1?(b.value="#4cae4c",x.value="#5cb85c",d.value="验证成功",C.value=!1,_.value=="pop"&&setTimeout(()=>{n.$parent.clickShow=!1,P()},1500),n.$parent.$emit("success",{captchaVerification:p})):(n.$parent.$emit("error",n),b.value="#d9534f",x.value="#d9534f",d.value="验证失败",setTimeout(()=>{P()},700))})},400)}r.value<z.value&&(r.value=T(k(S,a)))},k=function(a,t){const p=t.offsetX,s=t.offsetY;return{x:p,y:s}},T=function(a){return y.push(Object.assign({},a)),r.value+1},P=function(){y.splice(0,y.length),b.value="#000",x.value="#ddd",C.value=!0,f.splice(0,f.length),i.splice(0,i.length),r.value=1,W(),d.value="验证失败",j.value=!0};function W(){const a={captchaType:e.value};G(a).then(t=>{t.code==1?(O.value=t.data.originalImageBase64,m.value=t.data.token,h.value=t.data.secretKey,w.value=t.data.wordList,d.value="请依次点击【"+w.value.join(",")+"】"):d.value=t.msg})}const M=function(a,t){return a.map(s=>{const B=Math.round(310*s.x/parseInt(t.imgWidth)),D=Math.round(155*s.y/parseInt(t.imgHeight));return{x:B,y:D}})};return{secretKey:h,checkNum:z,fontPos:f,checkPosArr:i,num:r,pointBackImgBase:O,pointTextList:w,backToken:m,setSize:u,tempPoints:y,text:d,barAreaColor:b,barAreaBorderColor:x,showRefresh:j,bindingClick:C,init:J,canvas:S,canvasClick:q,getMousePos:k,createPoint:T,refresh:P,getPictrue:W,pointTransfrom:M}}},ne={style:{position:"relative"}},oe={class:"verify-img-out"},re=l("i",{class:"iconfont icon-refresh"},null,-1),se=[re],ce=["src"],le={class:"verify-msg"};function he(N,g,_,e,L,R){return H(),I("div",ne,[l("div",oe,[l("div",{class:"verify-img-panel",style:A({width:e.setSize.imgWidth,height:e.setSize.imgHeight,"background-size":e.setSize.imgWidth+" "+e.setSize.imgHeight,"margin-bottom":_.vSpace+"px"})},[U(l("div",{class:"verify-refresh",style:{"z-index":"3"},onClick:g[0]||(g[0]=(...c)=>e.refresh&&e.refresh(...c))},se,512),[[Z,e.showRefresh]]),l("img",{src:"data:image/png;base64,"+e.pointBackImgBase,ref:"canvas",alt:"",style:{width:"100%",height:"100%",display:"block"},onClick:g[1]||(g[1]=c=>e.bindingClick?e.canvasClick(c):void 0)},null,8,ce),(H(!0),I($,null,ee(e.tempPoints,(c,n)=>(H(),I("div",{key:n,class:"point-area",style:A({"background-color":"#1abd6c",color:"#fff","z-index":9999,width:"20px",height:"20px","text-align":"center","line-height":"20px","border-radius":"50%",position:"absolute",top:parseInt(c.y-10)+"px",left:parseInt(c.x-10)+"px"})},E(n+1),5))),128))],4)]),l("div",{class:"verify-bar-area",style:A({width:e.setSize.imgWidth,color:this.barAreaColor,"border-color":this.barAreaBorderColor,"line-height":this.barSize.height})},[l("span",le,E(e.text),1)],4)])}const _e=ie(ae,[["render",he]]);export{_e as default};

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{ElTabPane as V,ElTabs as N,ElButton as S,ElStep as B,ElSteps as T,ElCol as j,ElImage as R,ElRow as q,ElCard as I}from"element-plus/es";import{defineComponent as $,ref as x,onMounted as D,openBlock as F,createElementBlock as M,createVNode as n,withCtx as s,createElementVNode as t,toDisplayString as l,unref as e,createTextVNode as f}from"vue";import{t as o}from"/admin/assets/shared/admin-lang.js";import{i as P}from"./index-e730ce9b.js";import{g as Q}from"./aliapp-ef19051f.js";import{useRoute as U,useRouter as z}from"vue-router";import"pinia";import"@element-plus/icons-vue";import"axios";import"/admin/assets/shared/admin-lang.js";const G={class:"main-container"},H={class:"flex justify-between items-center"},J={class:"text-page-title"},K={class:"p-[20px]"},L={class:"panel-title !text-sm"},O={class:"text-[14px] font-[700]"},W={class:"text-[#999]"},X={class:"mt-[20px] mb-[40px] h-[32px]"},Y={class:"text-[14px] font-[700]"},Z={class:"text-[#999]"},tt={class:"mt-[20px] mb-[40px] h-[32px]"},et={class:"text-[14px] font-[700]"},st={class:"text-[#999]"},ot=t("div",{class:"mt-[20px] mb-[40px] h-[32px]"},null,-1),nt={class:"text-[14px] font-[700]"},lt={class:"text-[#999]"},at={class:"flex justify-center"},ct={class:"w-[100%] h-[100%] flex items-center justify-center bg-[#f5f7fa]"},pt={class:"mt-[22px] text-center"},it={class:"text-[12px]"},Ct=$({__name:"access",setup(_t){const h=U(),d=z(),v=h.meta.title,_=x("/channel/aliapp"),p=x("");D(async()=>{const c=await Q();p.value=c.data.qr_code});const w=c=>{window.open(c,"_blank")},b=c=>{d.push({path:_.value})};return(c,a)=>{const g=V,C=N,m=S,i=B,E=T,u=j,y=R,k=q,A=I;return F(),M("div",G,[n(A,{class:"card !border-none",shadow:"never"},{default:s(()=>[t("div",H,[t("span",J,l(e(v)),1)]),n(C,{modelValue:_.value,"onUpdate:modelValue":a[0]||(a[0]=r=>_.value=r),class:"my-[20px]",onTabChange:b},{default:s(()=>[n(g,{label:e(o)("weappAccessFlow"),name:"/channel/aliapp"},null,8,["label"])]),_:1},8,["modelValue"]),t("div",K,[t("h3",L,l(e(o)("weappInlet")),1),n(k,null,{default:s(()=>[n(u,{span:20},{default:s(()=>[n(E,{active:4,direction:"vertical"},{default:s(()=>[n(i,null,{title:s(()=>[t("p",O,l(e(o)("weappAttestation")),1)]),description:s(()=>[t("span",W,l(e(o)("weappAttest")),1),t("div",X,[n(m,{type:"primary",onClick:a[1]||(a[1]=r=>w("https://open.alipay.com/develop/manage"))},{default:s(()=>[f(l(e(o)("clickAccess")),1)]),_:1})])]),_:1}),n(i,null,{title:s(()=>[t("p",Y,l(e(o)("weappSetting")),1)]),description:s(()=>[t("span",Z,l(e(o)("emplace")),1),t("div",tt,[n(m,{type:"primary",plain:"",onClick:a[2]||(a[2]=r=>e(d).push("/channel/aliapp/config"))},{default:s(()=>[f(l(e(o)("weappSettingBtn")),1)]),_:1})])]),_:1}),n(i,null,{title:s(()=>[t("p",et,l(e(o)("uploadVersion")),1)]),description:s(()=>[t("span",st,l(e(o)("releaseCourse")),1),ot]),_:1}),n(i,null,{title:s(()=>[t("p",nt,l(e(o)("completeAccess")),1)]),description:s(()=>[t("span",lt,l(e(o)("releaseCourse")),1)]),_:1})]),_:1})]),_:1}),n(u,{span:4},{default:s(()=>[t("div",at,[n(y,{class:"w-[180px] h-[180px]",src:p.value?e(P)(p.value):""},{error:s(()=>[t("div",ct,[t("span",null,l(p.value?e(o)("fileErr"):e(o)("emptyQrCode")),1)])]),_:1},8,["src"])]),t("div",pt,[t("p",it,l(e(o)("clickAccess2")),1)])]),_:1})]),_:1})])]),_:1})])}}});export{Ct as default};

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{ElTabPane as T,ElTabs as B,ElButton as M,ElStep as R,ElSteps as W,ElCol as $,ElRow as q,ElCard as A}from"element-plus/es";import{defineComponent as I,ref as c,onMounted as L,onUnmounted as P,openBlock as U,createElementBlock as j,createVNode as e,withCtx as t,createElementVNode as o,toDisplayString as a,unref as n,createTextVNode as u}from"vue";import{t as s}from"/admin/assets/shared/admin-lang.js";import{g as D}from"./wechat-50e0676b.js";import{P as F}from"./index-e730ce9b.js";import{useRoute as G,useRouter as z}from"vue-router";import"pinia";import"@element-plus/icons-vue";import"axios";import"/admin/assets/shared/admin-lang.js";const H={class:"main-container"},J={class:"flex justify-between items-center"},K={class:"text-page-title"},O={class:"p-[20px]"},Q={class:"panel-title !text-sm"},X={class:"text-[14px] font-[700]"},Y={class:"text-[#999]"},Z={class:"mt-[20px] mb-[40px] h-[32px]"},tt={class:"text-[14px] font-[700]"},et={class:"mt-[20px] mb-[40px] h-[32px]"},nt={class:"text-[14px] font-[700]"},ot={class:"mt-[20px] mb-[40px] h-[32px]"},vt=I({__name:"access",setup(st){const h=G(),r=z(),x=h.meta.title,_=c("/channel/app"),b=c(""),g=c({}),y=c({}),f=async()=>{await D().then(({data:l})=>{g.value=l,b.value=l.qr_code})};L(async()=>{await f(),await F().then(({data:l})=>{y.value=l}),document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&f()})}),P(()=>{document.removeEventListener("visibilitychange",()=>{})});const C=l=>{window.open(l,"_blank")},w=l=>{r.push({path:_.value})};return(l,i)=>{const v=T,E=B,m=M,d=R,k=W,V=$,S=q,N=A;return U(),j("div",H,[e(N,{class:"card !border-none",shadow:"never"},{default:t(()=>[o("div",J,[o("span",K,a(n(x)),1)]),e(E,{modelValue:_.value,"onUpdate:modelValue":i[0]||(i[0]=p=>_.value=p),class:"my-[20px]",onTabChange:w},{default:t(()=>[e(v,{label:n(s)("accessFlow"),name:"/channel/app"},null,8,["label"]),e(v,{label:n(s)("versionManage"),name:"/channel/app/version"},null,8,["label"])]),_:1},8,["modelValue"]),o("div",O,[o("h3",Q,a(n(s)("appInlet")),1),e(S,null,{default:t(()=>[e(V,{span:20},{default:t(()=>[e(k,{class:"!mt-[10px]",active:3,direction:"vertical"},{default:t(()=>[e(d,null,{title:t(()=>[o("p",X,a(n(s)("uniappApp")),1)]),description:t(()=>[o("span",Y,a(n(s)("appAttestation1")),1),o("div",Z,[e(m,{type:"primary",onClick:i[1]||(i[1]=p=>C("https://dcloud.io/"))},{default:t(()=>[u(a(n(s)("toCreate")),1)]),_:1})])]),_:1}),e(d,null,{title:t(()=>[o("p",tt,a(n(s)("appSetting")),1)]),description:t(()=>[o("div",et,[e(m,{type:"primary",onClick:i[2]||(i[2]=p=>n(r).push("/channel/app/config"))},{default:t(()=>[u(a(n(s)("settingInfo")),1)]),_:1})])]),_:1}),e(d,null,{title:t(()=>[o("p",nt,a(n(s)("versionManage")),1)]),description:t(()=>[o("div",ot,[e(m,{type:"primary",plain:"",onClick:i[3]||(i[3]=p=>n(r).push("/channel/app/version"))},{default:t(()=>[u(a(n(s)("releaseVersion")),1)]),_:1})])]),_:1})]),_:1})]),_:1})]),_:1})])]),_:1})])}}});export{vt as default};

View File

@ -1 +0,0 @@
import{ElTabPane as V,ElTabs as N,ElButton as S,ElStep as B,ElSteps as T,ElCol as j,ElImage as R,ElRow as q,ElCard as I}from"element-plus/es";import{defineComponent as $,ref as x,onMounted as D,openBlock as F,createElementBlock as M,createVNode as n,withCtx as s,createElementVNode as t,toDisplayString as l,unref as e,createTextVNode as f}from"vue";import{t as o}from"/admin/assets/shared/admin-lang.js";import{i as P}from"./index-43cf66e3.js";import{g as Q}from"./aliapp-5eba1289.js";import{useRoute as U,useRouter as z}from"vue-router";import"pinia";import"@element-plus/icons-vue";import"axios";import"/admin/assets/shared/admin-lang.js";const G={class:"main-container"},H={class:"flex justify-between items-center"},J={class:"text-page-title"},K={class:"p-[20px]"},L={class:"panel-title !text-sm"},O={class:"text-[14px] font-[700]"},W={class:"text-[#999]"},X={class:"mt-[20px] mb-[40px] h-[32px]"},Y={class:"text-[14px] font-[700]"},Z={class:"text-[#999]"},tt={class:"mt-[20px] mb-[40px] h-[32px]"},et={class:"text-[14px] font-[700]"},st={class:"text-[#999]"},ot=t("div",{class:"mt-[20px] mb-[40px] h-[32px]"},null,-1),nt={class:"text-[14px] font-[700]"},lt={class:"text-[#999]"},at={class:"flex justify-center"},ct={class:"w-[100%] h-[100%] flex items-center justify-center bg-[#f5f7fa]"},pt={class:"mt-[22px] text-center"},it={class:"text-[12px]"},Ct=$({__name:"access",setup(_t){const h=U(),d=z(),v=h.meta.title,_=x("/channel/aliapp"),p=x("");D(async()=>{const c=await Q();p.value=c.data.qr_code});const w=c=>{window.open(c,"_blank")},b=c=>{d.push({path:_.value})};return(c,a)=>{const g=V,C=N,m=S,i=B,E=T,u=j,y=R,k=q,A=I;return F(),M("div",G,[n(A,{class:"card !border-none",shadow:"never"},{default:s(()=>[t("div",H,[t("span",J,l(e(v)),1)]),n(C,{modelValue:_.value,"onUpdate:modelValue":a[0]||(a[0]=r=>_.value=r),class:"my-[20px]",onTabChange:b},{default:s(()=>[n(g,{label:e(o)("weappAccessFlow"),name:"/channel/aliapp"},null,8,["label"])]),_:1},8,["modelValue"]),t("div",K,[t("h3",L,l(e(o)("weappInlet")),1),n(k,null,{default:s(()=>[n(u,{span:20},{default:s(()=>[n(E,{active:4,direction:"vertical"},{default:s(()=>[n(i,null,{title:s(()=>[t("p",O,l(e(o)("weappAttestation")),1)]),description:s(()=>[t("span",W,l(e(o)("weappAttest")),1),t("div",X,[n(m,{type:"primary",onClick:a[1]||(a[1]=r=>w("https://open.alipay.com/develop/manage"))},{default:s(()=>[f(l(e(o)("clickAccess")),1)]),_:1})])]),_:1}),n(i,null,{title:s(()=>[t("p",Y,l(e(o)("weappSetting")),1)]),description:s(()=>[t("span",Z,l(e(o)("emplace")),1),t("div",tt,[n(m,{type:"primary",plain:"",onClick:a[2]||(a[2]=r=>e(d).push("/channel/aliapp/config"))},{default:s(()=>[f(l(e(o)("weappSettingBtn")),1)]),_:1})])]),_:1}),n(i,null,{title:s(()=>[t("p",et,l(e(o)("uploadVersion")),1)]),description:s(()=>[t("span",st,l(e(o)("releaseCourse")),1),ot]),_:1}),n(i,null,{title:s(()=>[t("p",nt,l(e(o)("completeAccess")),1)]),description:s(()=>[t("span",lt,l(e(o)("releaseCourse")),1)]),_:1})]),_:1})]),_:1}),n(u,{span:4},{default:s(()=>[t("div",at,[n(y,{class:"w-[180px] h-[180px]",src:p.value?e(P)(p.value):""},{error:s(()=>[t("div",ct,[t("span",null,l(p.value?e(o)("fileErr"):e(o)("emptyQrCode")),1)])]),_:1},8,["src"])]),t("div",pt,[t("p",it,l(e(o)("clickAccess2")),1)])]),_:1})]),_:1})])]),_:1})])}}});export{Ct as default};

View File

@ -1 +0,0 @@
import{ElTabPane as q,ElTabs as $,ElButton as j,ElStep as R,ElSteps as U,ElCol as z,ElImage as F,ElRow as I,ElCard as L}from"element-plus/es";import{defineComponent as M,ref as u,onMounted as P,onUnmounted as D,openBlock as w,createElementBlock as y,createVNode as n,withCtx as o,createElementVNode as s,toDisplayString as a,unref as e,createTextVNode as r,Fragment as G,createBlock as Q}from"vue";import{t}from"/admin/assets/shared/admin-lang.js";import{P as H,i as J}from"./index-43cf66e3.js";import{g as K}from"./wechat-a0c50e42.js";import{a as O}from"./wxoplatform-0955637b.js";import{useRoute as X,useRouter as Y}from"vue-router";import"pinia";import"@element-plus/icons-vue";import"axios";import"/admin/assets/shared/admin-lang.js";const Z={class:"main-container"},ee={class:"flex justify-between items-center"},te={class:"text-page-title"},ne={class:"p-[20px]"},oe={class:"panel-title !text-sm"},se={class:"text-[14px] font-[700]"},ae={class:"text-[#999]"},le={class:"mt-[20px] mb-[40px] h-[32px]"},ce={class:"text-[14px] font-[700]"},ie={class:"text-[#999]"},pe={class:"mt-[20px] mb-[40px] h-[32px]"},re={class:"text-[14px] font-[700]"},_e={class:"text-[#999]"},me={class:"mt-[20px] mb-[40px] h-[32px]"},de={class:"flex justify-center"},ue={class:"w-[100%] h-[100%] flex items-center justify-center bg-[#f5f7fa]"},he={class:"mt-[22px] text-center"},fe={class:"text-[12px]"},Ne=M({__name:"access",setup(ve){const C=X(),_=Y(),k=C.meta.title,h=u("/channel/wechat"),m=u(""),f=u({}),v=u({}),g=async()=>{await K().then(({data:l})=>{f.value=l,m.value=l.qr_code})};P(async()=>{await g(),await H().then(({data:l})=>{v.value=l}),document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&g()})}),D(()=>{document.removeEventListener("visibilitychange",()=>{})});const E=l=>{window.open(l,"_blank")},A=l=>{_.push({path:h.value})},S=()=>{O().then(({data:l})=>{window.open(l)})};return(l,c)=>{const d=q,V=$,i=j,x=R,B=U,b=z,N=F,T=I,W=L;return w(),y("div",Z,[n(W,{class:"card !border-none",shadow:"never"},{default:o(()=>[s("div",ee,[s("span",te,a(e(k)),1)]),n(V,{modelValue:h.value,"onUpdate:modelValue":c[0]||(c[0]=p=>h.value=p),class:"my-[20px]",onTabChange:A},{default:o(()=>[n(d,{label:e(t)("wechatAccessFlow"),name:"/channel/wechat"},null,8,["label"]),n(d,{label:e(t)("customMenu"),name:"/channel/wechat/menu"},null,8,["label"]),n(d,{label:e(t)("wechatTemplate"),name:"/channel/wechat/message"},null,8,["label"]),n(d,{label:e(t)("reply"),name:"/channel/wechat/reply"},null,8,["label"])]),_:1},8,["modelValue"]),s("div",ne,[s("h3",oe,a(e(t)("wechatInlet")),1),n(T,null,{default:o(()=>[n(b,{span:20},{default:o(()=>[n(B,{class:"!mt-[10px]",active:3,direction:"vertical"},{default:o(()=>[n(x,null,{title:o(()=>[s("p",se,a(e(t)("wechatAttestation")),1)]),description:o(()=>[s("span",ae,a(e(t)("wechatAttestation1")),1),s("div",le,[n(i,{type:"primary",onClick:c[1]||(c[1]=p=>E("https://mp.weixin.qq.com/"))},{default:o(()=>[r(a(e(t)("clickAccess")),1)]),_:1})])]),_:1}),n(x,null,{title:o(()=>[s("p",ce,a(e(t)("wechatSetting")),1)]),description:o(()=>[s("span",ie,a(e(t)("wechatSetting1")),1),s("div",pe,[v.value.app_id&&v.value.app_secret?(w(),y(G,{key:0},[n(i,{type:"primary",onClick:c[2]||(c[2]=p=>e(_).push("/channel/wechat/config"))},{default:o(()=>[r(a(f.value.app_id?e(t)("seeConfig"):e(t)("clickSetting")),1)]),_:1}),n(i,{type:"primary",plain:"",onClick:S},{default:o(()=>[r(a(f.value.is_authorization?e(t)("refreshAuth"):e(t)("authWechat")),1)]),_:1})],64)):(w(),Q(i,{key:1,type:"primary",onClick:c[3]||(c[3]=p=>e(_).push("/channel/wechat/config"))},{default:o(()=>[r(a(e(t)("clickSetting")),1)]),_:1}))])]),_:1}),n(x,null,{title:o(()=>[s("p",re,a(e(t)("wechatAccess")),1)]),description:o(()=>[s("span",_e,a(e(t)("wechatAccess")),1),s("div",me,[n(i,{type:"primary",plain:"",onClick:c[4]||(c[4]=p=>e(_).push("/channel/wechat/course"))},{default:o(()=>[r(a(e(t)("releaseCourse")),1)]),_:1})])]),_:1})]),_:1})]),_:1}),n(b,{span:4},{default:o(()=>[s("div",de,[n(N,{class:"w-[180px] h-[180px]",src:m.value?e(J)(m.value):""},{error:o(()=>[s("div",ue,[s("span",null,a(m.value?e(t)("fileErr"):e(t)("emptyQrCode")),1)])]),_:1},8,["src"])]),s("div",he,[s("p",fe,a(e(t)("clickAccess2")),1)])]),_:1})]),_:1})])]),_:1})])}}});export{Ne as default};

View File

@ -0,0 +1 @@
import{ElTabPane as q,ElTabs as $,ElButton as j,ElStep as R,ElSteps as U,ElCol as z,ElImage as F,ElRow as I,ElCard as L}from"element-plus/es";import{defineComponent as M,ref as u,onMounted as P,onUnmounted as D,openBlock as w,createElementBlock as y,createVNode as n,withCtx as o,createElementVNode as s,toDisplayString as a,unref as e,createTextVNode as r,Fragment as G,createBlock as Q}from"vue";import{t}from"/admin/assets/shared/admin-lang.js";import{P as H,i as J}from"./index-e730ce9b.js";import{g as K}from"./wechat-50e0676b.js";import{a as O}from"./wxoplatform-a0232557.js";import{useRoute as X,useRouter as Y}from"vue-router";import"pinia";import"@element-plus/icons-vue";import"axios";import"/admin/assets/shared/admin-lang.js";const Z={class:"main-container"},ee={class:"flex justify-between items-center"},te={class:"text-page-title"},ne={class:"p-[20px]"},oe={class:"panel-title !text-sm"},se={class:"text-[14px] font-[700]"},ae={class:"text-[#999]"},le={class:"mt-[20px] mb-[40px] h-[32px]"},ce={class:"text-[14px] font-[700]"},ie={class:"text-[#999]"},pe={class:"mt-[20px] mb-[40px] h-[32px]"},re={class:"text-[14px] font-[700]"},_e={class:"text-[#999]"},me={class:"mt-[20px] mb-[40px] h-[32px]"},de={class:"flex justify-center"},ue={class:"w-[100%] h-[100%] flex items-center justify-center bg-[#f5f7fa]"},he={class:"mt-[22px] text-center"},fe={class:"text-[12px]"},Ne=M({__name:"access",setup(ve){const C=X(),_=Y(),k=C.meta.title,h=u("/channel/wechat"),m=u(""),f=u({}),v=u({}),g=async()=>{await K().then(({data:l})=>{f.value=l,m.value=l.qr_code})};P(async()=>{await g(),await H().then(({data:l})=>{v.value=l}),document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&g()})}),D(()=>{document.removeEventListener("visibilitychange",()=>{})});const E=l=>{window.open(l,"_blank")},A=l=>{_.push({path:h.value})},S=()=>{O().then(({data:l})=>{window.open(l)})};return(l,c)=>{const d=q,V=$,i=j,x=R,B=U,b=z,N=F,T=I,W=L;return w(),y("div",Z,[n(W,{class:"card !border-none",shadow:"never"},{default:o(()=>[s("div",ee,[s("span",te,a(e(k)),1)]),n(V,{modelValue:h.value,"onUpdate:modelValue":c[0]||(c[0]=p=>h.value=p),class:"my-[20px]",onTabChange:A},{default:o(()=>[n(d,{label:e(t)("wechatAccessFlow"),name:"/channel/wechat"},null,8,["label"]),n(d,{label:e(t)("customMenu"),name:"/channel/wechat/menu"},null,8,["label"]),n(d,{label:e(t)("wechatTemplate"),name:"/channel/wechat/message"},null,8,["label"]),n(d,{label:e(t)("reply"),name:"/channel/wechat/reply"},null,8,["label"])]),_:1},8,["modelValue"]),s("div",ne,[s("h3",oe,a(e(t)("wechatInlet")),1),n(T,null,{default:o(()=>[n(b,{span:20},{default:o(()=>[n(B,{class:"!mt-[10px]",active:3,direction:"vertical"},{default:o(()=>[n(x,null,{title:o(()=>[s("p",se,a(e(t)("wechatAttestation")),1)]),description:o(()=>[s("span",ae,a(e(t)("wechatAttestation1")),1),s("div",le,[n(i,{type:"primary",onClick:c[1]||(c[1]=p=>E("https://mp.weixin.qq.com/"))},{default:o(()=>[r(a(e(t)("clickAccess")),1)]),_:1})])]),_:1}),n(x,null,{title:o(()=>[s("p",ce,a(e(t)("wechatSetting")),1)]),description:o(()=>[s("span",ie,a(e(t)("wechatSetting1")),1),s("div",pe,[v.value.app_id&&v.value.app_secret?(w(),y(G,{key:0},[n(i,{type:"primary",onClick:c[2]||(c[2]=p=>e(_).push("/channel/wechat/config"))},{default:o(()=>[r(a(f.value.app_id?e(t)("seeConfig"):e(t)("clickSetting")),1)]),_:1}),n(i,{type:"primary",plain:"",onClick:S},{default:o(()=>[r(a(f.value.is_authorization?e(t)("refreshAuth"):e(t)("authWechat")),1)]),_:1})],64)):(w(),Q(i,{key:1,type:"primary",onClick:c[3]||(c[3]=p=>e(_).push("/channel/wechat/config"))},{default:o(()=>[r(a(e(t)("clickSetting")),1)]),_:1}))])]),_:1}),n(x,null,{title:o(()=>[s("p",re,a(e(t)("wechatAccess")),1)]),description:o(()=>[s("span",_e,a(e(t)("wechatAccess")),1),s("div",me,[n(i,{type:"primary",plain:"",onClick:c[4]||(c[4]=p=>e(_).push("/channel/wechat/course"))},{default:o(()=>[r(a(e(t)("releaseCourse")),1)]),_:1})])]),_:1})]),_:1})]),_:1}),n(b,{span:4},{default:o(()=>[s("div",de,[n(N,{class:"w-[180px] h-[180px]",src:m.value?e(J)(m.value):""},{error:o(()=>[s("div",ue,[s("span",null,a(m.value?e(t)("fileErr"):e(t)("emptyQrCode")),1)])]),_:1},8,["src"])]),s("div",he,[s("p",fe,a(e(t)("clickAccess2")),1)])]),_:1})]),_:1})])]),_:1})])}}});export{Ne as default};

View File

@ -1 +0,0 @@
import{ElTabPane as T,ElTabs as B,ElButton as M,ElStep as R,ElSteps as W,ElCol as $,ElRow as q,ElCard as A}from"element-plus/es";import{defineComponent as I,ref as c,onMounted as L,onUnmounted as P,openBlock as U,createElementBlock as j,createVNode as e,withCtx as t,createElementVNode as o,toDisplayString as a,unref as n,createTextVNode as u}from"vue";import{t as s}from"/admin/assets/shared/admin-lang.js";import{g as D}from"./wechat-a0c50e42.js";import{P as F}from"./index-43cf66e3.js";import{useRoute as G,useRouter as z}from"vue-router";import"pinia";import"@element-plus/icons-vue";import"axios";import"/admin/assets/shared/admin-lang.js";const H={class:"main-container"},J={class:"flex justify-between items-center"},K={class:"text-page-title"},O={class:"p-[20px]"},Q={class:"panel-title !text-sm"},X={class:"text-[14px] font-[700]"},Y={class:"text-[#999]"},Z={class:"mt-[20px] mb-[40px] h-[32px]"},tt={class:"text-[14px] font-[700]"},et={class:"mt-[20px] mb-[40px] h-[32px]"},nt={class:"text-[14px] font-[700]"},ot={class:"mt-[20px] mb-[40px] h-[32px]"},vt=I({__name:"access",setup(st){const h=G(),r=z(),x=h.meta.title,_=c("/channel/app"),b=c(""),g=c({}),y=c({}),f=async()=>{await D().then(({data:l})=>{g.value=l,b.value=l.qr_code})};L(async()=>{await f(),await F().then(({data:l})=>{y.value=l}),document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&f()})}),P(()=>{document.removeEventListener("visibilitychange",()=>{})});const C=l=>{window.open(l,"_blank")},w=l=>{r.push({path:_.value})};return(l,i)=>{const v=T,E=B,m=M,d=R,k=W,V=$,S=q,N=A;return U(),j("div",H,[e(N,{class:"card !border-none",shadow:"never"},{default:t(()=>[o("div",J,[o("span",K,a(n(x)),1)]),e(E,{modelValue:_.value,"onUpdate:modelValue":i[0]||(i[0]=p=>_.value=p),class:"my-[20px]",onTabChange:w},{default:t(()=>[e(v,{label:n(s)("accessFlow"),name:"/channel/app"},null,8,["label"]),e(v,{label:n(s)("versionManage"),name:"/channel/app/version"},null,8,["label"])]),_:1},8,["modelValue"]),o("div",O,[o("h3",Q,a(n(s)("appInlet")),1),e(S,null,{default:t(()=>[e(V,{span:20},{default:t(()=>[e(k,{class:"!mt-[10px]",active:3,direction:"vertical"},{default:t(()=>[e(d,null,{title:t(()=>[o("p",X,a(n(s)("uniappApp")),1)]),description:t(()=>[o("span",Y,a(n(s)("appAttestation1")),1),o("div",Z,[e(m,{type:"primary",onClick:i[1]||(i[1]=p=>C("https://dcloud.io/"))},{default:t(()=>[u(a(n(s)("toCreate")),1)]),_:1})])]),_:1}),e(d,null,{title:t(()=>[o("p",tt,a(n(s)("appSetting")),1)]),description:t(()=>[o("div",et,[e(m,{type:"primary",onClick:i[2]||(i[2]=p=>n(r).push("/channel/app/config"))},{default:t(()=>[u(a(n(s)("settingInfo")),1)]),_:1})])]),_:1}),e(d,null,{title:t(()=>[o("p",nt,a(n(s)("versionManage")),1)]),description:t(()=>[o("div",ot,[e(m,{type:"primary",plain:"",onClick:i[3]||(i[3]=p=>n(r).push("/channel/app/version"))},{default:t(()=>[u(a(n(s)("releaseVersion")),1)]),_:1})])]),_:1})]),_:1})]),_:1})]),_:1})])]),_:1})])}}});export{vt as default};

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{O as n}from"./index-e730ce9b.js";function a(t){return n.get("pintuan/pages",{params:t})}function s(){return n.get("pintuan/init")}function i(t){return n.get("diy/list",{params:t})}function o(t){return n.post("pintuan/batch_set",t,{showSuccessMessage:!0})}function r(t){return n.post("pintuan/add",t,{showSuccessMessage:!0})}function c(t){return n.put(`pintuan/edit/${t.id}`,t,{showSuccessMessage:!0})}function g(t){return n.get(`pintuan/detail/${t}`)}function p(){return n.get("pintuan/share")}function d(t){return n.put(`pintuan/close/${t}`,{showSuccessMessage:!0})}function f(t){return n.delete(`pintuan/delete/${t}`,{showSuccessMessage:!0})}function l(){return n.get("pintuan/goods_of_select_source")}function h(t,e){return n.get(`pintuan/goods_of_select/${t}`,{params:e})}function P(t){return n.get("pintuan/stat/total",{params:t})}function S(t){return n.get("pintuan/stat/day",{params:t})}function w(t){return n.get("pintuan/stat/hour",{params:t})}function M(t){return n.get("pintuan/stat/channel",{params:t})}function _(t){return n.get("pintuan/diy/goods",{params:t})}function m(t){return n.get("pintuan/receive_list",{params:t})}function y(t){return n.post("pintuan/code/import",t,{showSuccessMessage:!0})}function C(t){return n.post("pintuan/code/delete",t,{showSuccessMessage:!0})}function $(t){return n.post("pintuan/code/clear",t,{showSuccessMessage:!0})}export{g as a,i as b,m as c,$ as d,y as e,o as f,_ as g,l as h,h as i,p as j,s as k,c as l,r as m,a as n,f as o,C as p,d as q,S as r,M as s,P as t,w as u};

View File

@ -0,0 +1 @@
import{O as t}from"./index-e730ce9b.js";function r(e){return t.get("relay/pages",{params:e})}function o(){return t.get("relay/init")}function n(e){return t.get("diy/list",{params:e})}function u(e){return t.post("relay/batch_set",e,{showSuccessMessage:!0})}function l(e){return t.post("relay/add",e,{showSuccessMessage:!0})}function c(e){return t.put(`relay/edit/${e.id}`,e,{showSuccessMessage:!0})}function y(e){return t.get(`relay/detail/${e}`)}function i(){return t.get("relay/share")}function g(e){return t.put(`relay/close/${e}`,{showSuccessMessage:!0})}function d(e){return t.delete(`relay/delete/${e}`,{showSuccessMessage:!0})}function f(){return t.get("relay/goods_of_select_source")}function R(e,a){return t.get(`relay/goods_of_select/${e}`,{params:a})}function h(e){return t.get("relay/stat/total",{params:e})}function S(e){return t.get("relay/stat/day",{params:e})}function p(e){return t.get("relay/stat/hour",{params:e})}function w(e){return t.get("relay/stat/channel",{params:e})}function M(e){return t.get("relay/diy/goods",{params:e})}function _(e){return t.get("relay/receive_list",{params:e})}function m(e){return t.post("relay/code/import",e,{showSuccessMessage:!0})}function C(e){return t.post("relay/code/delete",e,{showSuccessMessage:!0})}function $(e){return t.post("relay/code/clear",e,{showSuccessMessage:!0})}export{y as a,_ as b,$ as c,m as d,u as e,n as f,M as g,f as h,R as i,i as j,o as k,c as l,l as m,r as n,d as o,g as p,S as q,C as r,w as s,h as t,p as u};

View File

@ -0,0 +1 @@
import{O as t}from"./index-e730ce9b.js";function s(e){return t.get("friend_help/pages",{params:e})}function i(){return t.get("friend_help/init")}function o(e){return t.get("diy/list",{params:e})}function d(e){return t.post("friend_help/batch_set",e,{showSuccessMessage:!0})}function u(e){return t.post("friend_help/add",e,{showSuccessMessage:!0})}function l(e){return t.put(`friend_help/edit/${e.id}`,e,{showSuccessMessage:!0})}function a(e){return t.get(`friend_help/detail/${e}`)}function c(){return t.get("friend_help/share")}function p(e){return t.put(`friend_help/close/${e}`,{showSuccessMessage:!0})}function f(e){return t.delete(`friend_help/delete/${e}`,{showSuccessMessage:!0})}function g(){return t.get("friend_help/goods_of_select_source")}function h(e,n){return t.get(`friend_help/goods_of_select/${e}`,{params:n})}function _(e){return t.get("friend_help/stat/total",{params:e})}function H(e){return t.get("friend_help/stat/day",{params:e})}function F(e){return t.get("friend_help/stat/hour",{params:e})}function S(e){return t.get("friend_help/stat/channel",{params:e})}function w(e){return t.get("friend_help/diy/goods",{params:e})}function M(e){return t.get("friend_help/receive_list",{params:e})}function m(e){return t.post("friend_help/code/import",e,{showSuccessMessage:!0})}function y(e){return t.post("friend_help/code/delete",e,{showSuccessMessage:!0})}function C(e){return t.post("friend_help/code/clear",e,{showSuccessMessage:!0})}export{a,o as b,M as c,C as d,m as e,y as f,w as g,d as h,g as i,h as j,c as k,i as l,l as m,u as n,s as o,f as p,p as q,H as r,S as s,_ as t,F as u};

View File

@ -1 +0,0 @@
import{O as t}from"./index-43cf66e3.js";function l(e){return t.get("seckill/lists",{params:e})}function c(e){return t.get(`seckill/info/${e}`)}function i(e){return t.post("seckill/add",e,{showSuccessMessage:!0})}function o(e){return t.post("seckill/close",e,{showSuccessMessage:!0})}function n(e){return t.put(`seckill/edit/${e.id}`,e,{showSuccessMessage:!0})}function u(e){return t.post("seckill/delete",e,{showSuccessMessage:!0})}function r(){return t.get("seckill/init")}function a(){return t.get("seckill/select")}function k(e){return t.get("seckill/stat/total",{params:e})}function g(e){return t.get("seckill/stat/day",{params:e})}function S(e){return t.get("seckill/stat/hour",{params:e})}function d(e){return t.get("seckill/stat/channel",{params:e})}function f(e){return t.get("seckill/time/select",{params:e})}function h(e){return t.get("seckill/activeGoods/select",{params:e})}function p(e){return t.get("seckill/goods/receive_list",{params:e})}function w(e){return t.post("seckill/goods/code/import",e,{showSuccessMessage:!0})}function M(e){return t.post("seckill/goods/code/delete",e,{showSuccessMessage:!0})}function m(e){return t.post("seckill/goods/code/clear",e,{showSuccessMessage:!0})}export{p as a,m as b,w as c,c as d,r as e,n as f,a as g,i as h,l as i,u as j,o as k,g as l,d as m,f as n,h as o,k as p,S as q,M as s};

View File

@ -1 +0,0 @@
import{O as t}from"./index-43cf66e3.js";function s(e){return t.get("friend_help/pages",{params:e})}function i(){return t.get("friend_help/init")}function o(e){return t.get("diy/list",{params:e})}function d(e){return t.post("friend_help/batch_set",e,{showSuccessMessage:!0})}function u(e){return t.post("friend_help/add",e,{showSuccessMessage:!0})}function l(e){return t.put(`friend_help/edit/${e.id}`,e,{showSuccessMessage:!0})}function a(e){return t.get(`friend_help/detail/${e}`)}function c(){return t.get("friend_help/share")}function p(e){return t.put(`friend_help/close/${e}`,{showSuccessMessage:!0})}function f(e){return t.delete(`friend_help/delete/${e}`,{showSuccessMessage:!0})}function g(){return t.get("friend_help/goods_of_select_source")}function h(e,n){return t.get(`friend_help/goods_of_select/${e}`,{params:n})}function _(e){return t.get("friend_help/stat/total",{params:e})}function H(e){return t.get("friend_help/stat/day",{params:e})}function F(e){return t.get("friend_help/stat/hour",{params:e})}function S(e){return t.get("friend_help/stat/channel",{params:e})}function w(e){return t.get("friend_help/diy/goods",{params:e})}function M(e){return t.get("friend_help/receive_list",{params:e})}function m(e){return t.post("friend_help/code/import",e,{showSuccessMessage:!0})}function y(e){return t.post("friend_help/code/delete",e,{showSuccessMessage:!0})}function C(e){return t.post("friend_help/code/clear",e,{showSuccessMessage:!0})}export{a,o as b,M as c,C as d,m as e,y as f,w as g,d as h,g as i,h as j,c as k,i as l,l as m,u as n,s as o,f as p,p as q,H as r,S as s,_ as t,F as u};

View File

@ -0,0 +1 @@
import{O as t}from"./index-e730ce9b.js";function l(e){return t.get("seckill/lists",{params:e})}function c(e){return t.get(`seckill/info/${e}`)}function i(e){return t.post("seckill/add",e,{showSuccessMessage:!0})}function o(e){return t.post("seckill/close",e,{showSuccessMessage:!0})}function n(e){return t.put(`seckill/edit/${e.id}`,e,{showSuccessMessage:!0})}function u(e){return t.post("seckill/delete",e,{showSuccessMessage:!0})}function r(){return t.get("seckill/init")}function a(){return t.get("seckill/select")}function k(e){return t.get("seckill/stat/total",{params:e})}function g(e){return t.get("seckill/stat/day",{params:e})}function S(e){return t.get("seckill/stat/hour",{params:e})}function d(e){return t.get("seckill/stat/channel",{params:e})}function f(e){return t.get("seckill/time/select",{params:e})}function h(e){return t.get("seckill/activeGoods/select",{params:e})}function p(e){return t.get("seckill/goods/receive_list",{params:e})}function w(e){return t.post("seckill/goods/code/import",e,{showSuccessMessage:!0})}function M(e){return t.post("seckill/goods/code/delete",e,{showSuccessMessage:!0})}function m(e){return t.post("seckill/goods/code/clear",e,{showSuccessMessage:!0})}export{p as a,m as b,w as c,c as d,r as e,n as f,a as g,i as h,l as i,u as j,o as k,g as l,d as m,f as n,h as o,k as p,S as q,M as s};

View File

@ -0,0 +1 @@
import{_ as o}from"./active-detail-popup.vue_vue_type_script_setup_true_lang-1a41e7e7.js";import"vue";import"./goods_default-87959339.js";import"/admin/assets/shared/admin-lang.js";import"./active-8d5c9b70.js";import"./index-e730ce9b.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"vue-router";import"/admin/assets/shared/admin-lang.js";export{o as default};

View File

@ -1 +0,0 @@
import{_ as o}from"./active-detail-popup.vue_vue_type_script_setup_true_lang-c84cb66b.js";import"vue";import"./goods_default-f482a1c1.js";import"/admin/assets/shared/admin-lang.js";import"./active-d07053d8.js";import"./index-43cf66e3.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"vue-router";import"/admin/assets/shared/admin-lang.js";export{o as default};

View File

@ -1 +0,0 @@
import{_ as o}from"./active-detail-popup.vue_vue_type_script_setup_true_lang-2ac7cbca.js";import"vue";import"./goods_default-995568ac.js";import"/admin/assets/shared/admin-lang.js";import"./active-ff4c9189.js";import"./index-43cf66e3.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"vue-router";import"/admin/assets/shared/admin-lang.js";export{o as default};

View File

@ -0,0 +1 @@
import{_ as o}from"./active-detail-popup.vue_vue_type_script_setup_true_lang-1b95fd6e.js";import"vue";import"./goods_default-665e448a.js";import"/admin/assets/shared/admin-lang.js";import"./active-7944dfa8.js";import"./index-e730ce9b.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"vue-router";import"/admin/assets/shared/admin-lang.js";export{o as default};

View File

@ -0,0 +1 @@
import{_ as o}from"./active-detail-popup.vue_vue_type_script_setup_true_lang-b7b6d2f8.js";import"vue";import"./goods_default-247a7f2b.js";import"/admin/assets/shared/admin-lang.js";import"./active-b0665c33.js";import"./index-e730ce9b.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"vue-router";import"/admin/assets/shared/admin-lang.js";export{o as default};

View File

@ -1 +0,0 @@
import{_ as o}from"./active-detail-popup.vue_vue_type_script_setup_true_lang-66339533.js";import"vue";import"./goods_default-b611c81b.js";import"/admin/assets/shared/admin-lang.js";import"./active-f8cd0323.js";import"./index-43cf66e3.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"vue-router";import"/admin/assets/shared/admin-lang.js";export{o 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

View File

@ -1 +0,0 @@
import{O as t}from"./index-43cf66e3.js";function r(e){return t.get("relay/pages",{params:e})}function o(){return t.get("relay/init")}function n(e){return t.get("diy/list",{params:e})}function u(e){return t.post("relay/batch_set",e,{showSuccessMessage:!0})}function l(e){return t.post("relay/add",e,{showSuccessMessage:!0})}function c(e){return t.put(`relay/edit/${e.id}`,e,{showSuccessMessage:!0})}function y(e){return t.get(`relay/detail/${e}`)}function i(){return t.get("relay/share")}function g(e){return t.put(`relay/close/${e}`,{showSuccessMessage:!0})}function d(e){return t.delete(`relay/delete/${e}`,{showSuccessMessage:!0})}function f(){return t.get("relay/goods_of_select_source")}function R(e,a){return t.get(`relay/goods_of_select/${e}`,{params:a})}function h(e){return t.get("relay/stat/total",{params:e})}function S(e){return t.get("relay/stat/day",{params:e})}function p(e){return t.get("relay/stat/hour",{params:e})}function w(e){return t.get("relay/stat/channel",{params:e})}function M(e){return t.get("relay/diy/goods",{params:e})}function _(e){return t.get("relay/receive_list",{params:e})}function m(e){return t.post("relay/code/import",e,{showSuccessMessage:!0})}function C(e){return t.post("relay/code/delete",e,{showSuccessMessage:!0})}function $(e){return t.post("relay/code/clear",e,{showSuccessMessage:!0})}export{y as a,_ as b,$ as c,m as d,u as e,n as f,M as g,f as h,R as i,i as j,o as k,c as l,l as m,r as n,d as o,g as p,S as q,C as r,w as s,h as t,p as u};

View File

@ -1 +0,0 @@
import{O as n}from"./index-43cf66e3.js";function a(t){return n.get("pintuan/pages",{params:t})}function s(){return n.get("pintuan/init")}function i(t){return n.get("diy/list",{params:t})}function o(t){return n.post("pintuan/batch_set",t,{showSuccessMessage:!0})}function r(t){return n.post("pintuan/add",t,{showSuccessMessage:!0})}function c(t){return n.put(`pintuan/edit/${t.id}`,t,{showSuccessMessage:!0})}function g(t){return n.get(`pintuan/detail/${t}`)}function p(){return n.get("pintuan/share")}function d(t){return n.put(`pintuan/close/${t}`,{showSuccessMessage:!0})}function f(t){return n.delete(`pintuan/delete/${t}`,{showSuccessMessage:!0})}function l(){return n.get("pintuan/goods_of_select_source")}function h(t,e){return n.get(`pintuan/goods_of_select/${t}`,{params:e})}function P(t){return n.get("pintuan/stat/total",{params:t})}function S(t){return n.get("pintuan/stat/day",{params:t})}function w(t){return n.get("pintuan/stat/hour",{params:t})}function M(t){return n.get("pintuan/stat/channel",{params:t})}function _(t){return n.get("pintuan/diy/goods",{params:t})}function m(t){return n.get("pintuan/receive_list",{params:t})}function y(t){return n.post("pintuan/code/import",t,{showSuccessMessage:!0})}function C(t){return n.post("pintuan/code/delete",t,{showSuccessMessage:!0})}function $(t){return n.post("pintuan/code/clear",t,{showSuccessMessage:!0})}export{g as a,i as b,m as c,$ as d,y as e,o as f,_ as g,l as h,h as i,p as j,s as k,c as l,r as m,a as n,f as o,C as p,d as q,S as r,M as s,P as t,w as u};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
import{_ as o}from"./add-address.vue_vue_type_script_setup_true_lang-0243a87f.js";import"vue";import"/admin/assets/shared/admin-lang.js";import"./index-e730ce9b.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"vue-router";import"/admin/assets/shared/admin-lang.js";import"./member-123f98d0.js";import"./cloneDeep-ba8f92cd.js";import"./isArrayLike-2d9dc100.js";export{o as default};

View File

@ -1 +0,0 @@
import{_ as o}from"./add-address.vue_vue_type_script_setup_true_lang-4932bbbc.js";import"vue";import"/admin/assets/shared/admin-lang.js";import"./index-43cf66e3.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"vue-router";import"/admin/assets/shared/admin-lang.js";import"./member-74121387.js";import"./cloneDeep-ba8f92cd.js";import"./isArrayLike-2d9dc100.js";export{o 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

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

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 +0,0 @@
import{_ as o}from"./add-member.vue_vue_type_script_setup_true_lang-219f6556.js";import"vue";import"/admin/assets/shared/admin-lang.js";import"./member-74121387.js";import"./index-43cf66e3.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"vue-router";import"/admin/assets/shared/admin-lang.js";export{o as default};

View File

@ -0,0 +1 @@
import{_ as o}from"./add-member.vue_vue_type_script_setup_true_lang-84573a46.js";import"vue";import"/admin/assets/shared/admin-lang.js";import"./member-123f98d0.js";import"./index-e730ce9b.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"vue-router";import"/admin/assets/shared/admin-lang.js";export{o as default};

View File

@ -1 +0,0 @@
import{ElInput as R,ElFormItem as j,ElForm as z,ElButton as A,ElDialog as L,ElLoadingDirective as O}from"element-plus/es";import{defineComponent as T,ref as m,reactive as K,computed as S,openBlock as N,createBlock as k,unref as a,withCtx as d,createElementVNode as Z,createVNode as s,createTextVNode as x,toDisplayString as C,withDirectives as G}from"vue";import{t as o}from"/admin/assets/shared/admin-lang.js";import{p as J,z as Q,A as W}from"./member-74121387.js";import{a9 as X}from"./index-43cf66e3.js";const Y={class:"dialog-footer"},ne=T({__name:"add-member",emits:["complete"],setup(ee,{expose:M,emit:$}){const p=m(!1),i=m(!1),f=m(!1);let b="",c="";const v=m(!0),w=m(!0),g=m(!0),_={member_id:"",nickname:"",member_no:"",init_member_no:"",mobile:"",password:"",password_copy:""},t=K({..._}),y=m(),D=S(()=>({member_no:[{required:!0,message:o("memberNoPlaceholder"),trigger:"blur"},{validator:B,trigger:"blur"}],mobile:[{required:!0,message:o("mobilePlaceholder"),trigger:"blur"},{validator:E,trigger:"blur"}],password:[{required:!0,message:o("passwordPlaceholder"),trigger:"blur"}],password_copy:[{required:!0,message:o("passwordPlaceholder"),trigger:"blur"},{validator:P,trigger:"blur"}]})),E=(n,e,r)=>{e&&!/^1[3-9]\d{9}$/.test(e)?r(new Error(o("mobileHint"))):r()},P=(n,e,r)=>{e!=t.password?r(o("doubleCipherHint")):r()},B=(n,e,r)=>{e&&!/^[0-9a-zA-Z]*$/g.test(e)?r(new Error(o("memberNoHint"))):r()},U=async()=>{await Q().then(n=>{c=n.data}).catch(()=>{})},F=$,q=async n=>{if(i.value||!n)return;const e=W;await n.validate(async r=>{if(r){if(i.value=!0,f.value)return;f.value=!0,e(t).then(V=>{i.value=!1,f.value=!1,p.value=!1,F("complete")}).catch(()=>{i.value=!1,f.value=!1})}})};return M({showDialog:p,setFormData:async(n=null)=>{if(i.value=!0,Object.assign(t,_),b=o("addMember"),n){b=o("updateMember");const e=await(await J(n.member_id)).data;e&&Object.keys(t).forEach(r=>{e[r]!=null&&(t[r]=e[r])})}else await U(),t.member_no=c,t.init_member_no=c;i.value=!1}}),(n,e)=>{const r=R,u=j,V=z,h=A,H=L,I=O;return N(),k(H,{modelValue:p.value,"onUpdate:modelValue":e[14]||(e[14]=l=>p.value=l),title:a(b),width:"500px","destroy-on-close":!0},{footer:d(()=>[Z("span",Y,[s(h,{onClick:e[12]||(e[12]=l=>p.value=!1)},{default:d(()=>[x(C(a(o)("cancel")),1)]),_:1}),s(h,{type:"primary",loading:i.value,onClick:e[13]||(e[13]=l=>q(y.value))},{default:d(()=>[x(C(a(o)("confirm")),1)]),_:1},8,["loading"])])]),default:d(()=>[G((N(),k(V,{model:t,"label-width":"90px",ref_key:"formRef",ref:y,rules:D.value,class:"page-form"},{default:d(()=>[s(u,{label:a(o)("memberNo"),prop:"member_no"},{default:d(()=>[s(r,{modelValue:t.member_no,"onUpdate:modelValue":e[0]||(e[0]=l=>t.member_no=l),modelModifiers:{trim:!0},clearable:"",maxlength:"20",placeholder:a(o)("memberNoPlaceholder"),class:"input-width"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(u,{label:a(o)("mobile"),prop:"mobile"},{default:d(()=>[s(r,{modelValue:t.mobile,"onUpdate:modelValue":e[1]||(e[1]=l=>t.mobile=l),modelModifiers:{trim:!0},clearable:"",placeholder:a(o)("mobilePlaceholder"),maxlength:"11",onKeyup:e[2]||(e[2]=l=>a(X)(l)),class:"input-width"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(u,{label:a(o)("nickname")},{default:d(()=>[s(r,{modelValue:t.nickname,"onUpdate:modelValue":e[3]||(e[3]=l=>t.nickname=l),modelModifiers:{trim:!0},clearable:"",placeholder:a(o)("nickNamePlaceholder"),class:"input-width",maxlength:"10","show-word-limit":"",readonly:v.value,onClick:e[4]||(e[4]=l=>v.value=!1),onBlur:e[5]||(e[5]=l=>v.value=!0)},null,8,["modelValue","placeholder","readonly"])]),_:1},8,["label"]),s(u,{label:a(o)("password"),prop:"password"},{default:d(()=>[s(r,{modelValue:t.password,"onUpdate:modelValue":e[6]||(e[6]=l=>t.password=l),modelModifiers:{trim:!0},type:"password",placeholder:a(o)("passwordPlaceholder"),clearable:"",class:"input-width","show-password":!0,readonly:w.value,onClick:e[7]||(e[7]=l=>w.value=!1),onBlur:e[8]||(e[8]=l=>w.value=!0)},null,8,["modelValue","placeholder","readonly"])]),_:1},8,["label"]),s(u,{label:a(o)("passwordCopy"),prop:"password_copy"},{default:d(()=>[s(r,{modelValue:t.password_copy,"onUpdate:modelValue":e[9]||(e[9]=l=>t.password_copy=l),modelModifiers:{trim:!0},type:"password",placeholder:a(o)("passwordPlaceholder"),clearable:"",class:"input-width","show-password":!0,readonly:g.value,onClick:e[10]||(e[10]=l=>g.value=!1),onBlur:e[11]||(e[11]=l=>g.value=!0)},null,8,["modelValue","placeholder","readonly"])]),_:1},8,["label"])]),_:1},8,["model","rules"])),[[I,i.value]])]),_:1},8,["modelValue","title"])}}});export{ne as _};

View File

@ -0,0 +1 @@
import{ElInput as R,ElFormItem as j,ElForm as z,ElButton as A,ElDialog as L,ElLoadingDirective as O}from"element-plus/es";import{defineComponent as T,ref as m,reactive as K,computed as S,openBlock as N,createBlock as k,unref as a,withCtx as d,createElementVNode as Z,createVNode as s,createTextVNode as x,toDisplayString as C,withDirectives as G}from"vue";import{t as o}from"/admin/assets/shared/admin-lang.js";import{p as J,z as Q,A as W}from"./member-123f98d0.js";import{a9 as X}from"./index-e730ce9b.js";const Y={class:"dialog-footer"},ne=T({__name:"add-member",emits:["complete"],setup(ee,{expose:M,emit:$}){const p=m(!1),i=m(!1),f=m(!1);let b="",c="";const v=m(!0),w=m(!0),g=m(!0),_={member_id:"",nickname:"",member_no:"",init_member_no:"",mobile:"",password:"",password_copy:""},t=K({..._}),y=m(),D=S(()=>({member_no:[{required:!0,message:o("memberNoPlaceholder"),trigger:"blur"},{validator:B,trigger:"blur"}],mobile:[{required:!0,message:o("mobilePlaceholder"),trigger:"blur"},{validator:E,trigger:"blur"}],password:[{required:!0,message:o("passwordPlaceholder"),trigger:"blur"}],password_copy:[{required:!0,message:o("passwordPlaceholder"),trigger:"blur"},{validator:P,trigger:"blur"}]})),E=(n,e,r)=>{e&&!/^1[3-9]\d{9}$/.test(e)?r(new Error(o("mobileHint"))):r()},P=(n,e,r)=>{e!=t.password?r(o("doubleCipherHint")):r()},B=(n,e,r)=>{e&&!/^[0-9a-zA-Z]*$/g.test(e)?r(new Error(o("memberNoHint"))):r()},U=async()=>{await Q().then(n=>{c=n.data}).catch(()=>{})},F=$,q=async n=>{if(i.value||!n)return;const e=W;await n.validate(async r=>{if(r){if(i.value=!0,f.value)return;f.value=!0,e(t).then(V=>{i.value=!1,f.value=!1,p.value=!1,F("complete")}).catch(()=>{i.value=!1,f.value=!1})}})};return M({showDialog:p,setFormData:async(n=null)=>{if(i.value=!0,Object.assign(t,_),b=o("addMember"),n){b=o("updateMember");const e=await(await J(n.member_id)).data;e&&Object.keys(t).forEach(r=>{e[r]!=null&&(t[r]=e[r])})}else await U(),t.member_no=c,t.init_member_no=c;i.value=!1}}),(n,e)=>{const r=R,u=j,V=z,h=A,H=L,I=O;return N(),k(H,{modelValue:p.value,"onUpdate:modelValue":e[14]||(e[14]=l=>p.value=l),title:a(b),width:"500px","destroy-on-close":!0},{footer:d(()=>[Z("span",Y,[s(h,{onClick:e[12]||(e[12]=l=>p.value=!1)},{default:d(()=>[x(C(a(o)("cancel")),1)]),_:1}),s(h,{type:"primary",loading:i.value,onClick:e[13]||(e[13]=l=>q(y.value))},{default:d(()=>[x(C(a(o)("confirm")),1)]),_:1},8,["loading"])])]),default:d(()=>[G((N(),k(V,{model:t,"label-width":"90px",ref_key:"formRef",ref:y,rules:D.value,class:"page-form"},{default:d(()=>[s(u,{label:a(o)("memberNo"),prop:"member_no"},{default:d(()=>[s(r,{modelValue:t.member_no,"onUpdate:modelValue":e[0]||(e[0]=l=>t.member_no=l),modelModifiers:{trim:!0},clearable:"",maxlength:"20",placeholder:a(o)("memberNoPlaceholder"),class:"input-width"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(u,{label:a(o)("mobile"),prop:"mobile"},{default:d(()=>[s(r,{modelValue:t.mobile,"onUpdate:modelValue":e[1]||(e[1]=l=>t.mobile=l),modelModifiers:{trim:!0},clearable:"",placeholder:a(o)("mobilePlaceholder"),maxlength:"11",onKeyup:e[2]||(e[2]=l=>a(X)(l)),class:"input-width"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(u,{label:a(o)("nickname")},{default:d(()=>[s(r,{modelValue:t.nickname,"onUpdate:modelValue":e[3]||(e[3]=l=>t.nickname=l),modelModifiers:{trim:!0},clearable:"",placeholder:a(o)("nickNamePlaceholder"),class:"input-width",maxlength:"10","show-word-limit":"",readonly:v.value,onClick:e[4]||(e[4]=l=>v.value=!1),onBlur:e[5]||(e[5]=l=>v.value=!0)},null,8,["modelValue","placeholder","readonly"])]),_:1},8,["label"]),s(u,{label:a(o)("password"),prop:"password"},{default:d(()=>[s(r,{modelValue:t.password,"onUpdate:modelValue":e[6]||(e[6]=l=>t.password=l),modelModifiers:{trim:!0},type:"password",placeholder:a(o)("passwordPlaceholder"),clearable:"",class:"input-width","show-password":!0,readonly:w.value,onClick:e[7]||(e[7]=l=>w.value=!1),onBlur:e[8]||(e[8]=l=>w.value=!0)},null,8,["modelValue","placeholder","readonly"])]),_:1},8,["label"]),s(u,{label:a(o)("passwordCopy"),prop:"password_copy"},{default:d(()=>[s(r,{modelValue:t.password_copy,"onUpdate:modelValue":e[9]||(e[9]=l=>t.password_copy=l),modelModifiers:{trim:!0},type:"password",placeholder:a(o)("passwordPlaceholder"),clearable:"",class:"input-width","show-password":!0,readonly:g.value,onClick:e[10]||(e[10]=l=>g.value=!1),onBlur:e[11]||(e[11]=l=>g.value=!0)},null,8,["modelValue","placeholder","readonly"])]),_:1},8,["label"])]),_:1},8,["model","rules"])),[[I,i.value]])]),_:1},8,["modelValue","title"])}}});export{ne as _};

View File

@ -1 +0,0 @@
import{_ as o}from"./add-reserve.vue_vue_type_script_setup_true_lang-2f286ffd.js";import"vue";import"/admin/assets/shared/admin-lang.js";import"./vipcard-a72759c1.js";import"./index-43cf66e3.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"vue-router";import"/admin/assets/shared/admin-lang.js";export{o as default};

View File

@ -0,0 +1 @@
import{_ as o}from"./add-reserve.vue_vue_type_script_setup_true_lang-a3a242e1.js";import"vue";import"/admin/assets/shared/admin-lang.js";import"./vipcard-76baa103.js";import"./index-e730ce9b.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"vue-router";import"/admin/assets/shared/admin-lang.js";export{o as default};

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 +0,0 @@
import{_ as o}from"./add-table.vue_vue_type_script_setup_true_lang-e8d09d8b.js";import"vue";import"/admin/assets/shared/admin-lang.js";import"./tools-298a8478.js";import"./index-43cf66e3.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"vue-router";import"/admin/assets/shared/admin-lang.js";export{o as default};

View File

@ -0,0 +1 @@
import{_ as o}from"./add-table.vue_vue_type_script_setup_true_lang-ce63dfe2.js";import"vue";import"/admin/assets/shared/admin-lang.js";import"./tools-6ed8374d.js";import"./index-e730ce9b.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"vue-router";import"/admin/assets/shared/admin-lang.js";export{o as default};

View File

@ -0,0 +1 @@
import{ElTableColumn as E,ElInput as N,ElButton as x,ElTable as L,ElDialog as k,ElLoadingDirective as B}from"element-plus/es";import{defineComponent as z,ref as u,reactive as F,computed as P,openBlock as p,createBlock as _,unref as l,withCtx as o,createElementVNode as f,withDirectives as U,toDisplayString as b,createVNode as s,createTextVNode as q}from"vue";import{t as n}from"/admin/assets/shared/admin-lang.js";import{k as G,l as I}from"./tools-6ed8374d.js";import{useRouter as M}from"vue-router";const O=z({__name:"add-table",setup(R,{expose:g}){const h=M(),m=u(!1),r=u(""),e=F({loading:!0,data:[],searchParam:{table_name:"",table_content:""}}),v=P(()=>e.data.filter(a=>!r.value||a.Name.toLowerCase().includes(r.value.toLowerCase())||a.Comment.toLowerCase().includes(r.value.toLowerCase()))),c=()=>{e.loading=!0,G().then(a=>{e.loading=!1,e.data=a.data}).catch(()=>{e.loading=!1})};c();const w=a=>{const t=a.Name;e.loading=!0,I({table_name:t}).then(d=>{e.loading=!1,m.value=!1,h.push({path:"/tools/code/edit",query:{id:d.data.id}})}).catch(()=>{e.loading=!1})};return g({showDialog:m,setFormData:async(a=null)=>{c()}}),(a,t)=>{const d=E,C=N,D=x,V=L,y=k,T=B;return p(),_(y,{modelValue:m.value,"onUpdate:modelValue":t[1]||(t[1]=i=>m.value=i),title:l(n)("addCode"),width:"800px","destroy-on-close":!0},{default:o(()=>[f("div",null,[U((p(),_(V,{data:v.value,size:"large",height:"400"},{empty:o(()=>[f("span",null,b(e.loading?"":l(n)("emptyData")),1)]),default:o(()=>[s(d,{prop:"Name",label:l(n)("tableName"),"min-width":"150"},null,8,["label"]),s(d,{prop:"Comment",label:l(n)("tableComment"),"min-width":"120"},null,8,["label"]),s(d,{align:"right","min-width":"150"},{header:o(()=>[s(C,{modelValue:r.value,"onUpdate:modelValue":t[0]||(t[0]=i=>r.value=i),modelModifiers:{trim:!0},size:"small",placeholder:l(n)("searchPlaceholder")},null,8,["modelValue","placeholder"])]),default:o(i=>[s(D,{size:"small",type:"primary",onClick:$=>w(i.row)},{default:o(()=>[q(b(l(n)("addBtn")),1)]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])),[[T,e.loading]])])]),_:1},8,["modelValue","title"])}}});export{O as _};

View File

@ -1 +0,0 @@
import{ElTableColumn as E,ElInput as N,ElButton as x,ElTable as L,ElDialog as k,ElLoadingDirective as B}from"element-plus/es";import{defineComponent as z,ref as u,reactive as F,computed as P,openBlock as p,createBlock as _,unref as l,withCtx as o,createElementVNode as f,withDirectives as U,toDisplayString as b,createVNode as s,createTextVNode as q}from"vue";import{t as n}from"/admin/assets/shared/admin-lang.js";import{k as G,l as I}from"./tools-298a8478.js";import{useRouter as M}from"vue-router";const O=z({__name:"add-table",setup(R,{expose:g}){const h=M(),m=u(!1),r=u(""),e=F({loading:!0,data:[],searchParam:{table_name:"",table_content:""}}),v=P(()=>e.data.filter(a=>!r.value||a.Name.toLowerCase().includes(r.value.toLowerCase())||a.Comment.toLowerCase().includes(r.value.toLowerCase()))),c=()=>{e.loading=!0,G().then(a=>{e.loading=!1,e.data=a.data}).catch(()=>{e.loading=!1})};c();const w=a=>{const t=a.Name;e.loading=!0,I({table_name:t}).then(d=>{e.loading=!1,m.value=!1,h.push({path:"/tools/code/edit",query:{id:d.data.id}})}).catch(()=>{e.loading=!1})};return g({showDialog:m,setFormData:async(a=null)=>{c()}}),(a,t)=>{const d=E,C=N,D=x,V=L,y=k,T=B;return p(),_(y,{modelValue:m.value,"onUpdate:modelValue":t[1]||(t[1]=i=>m.value=i),title:l(n)("addCode"),width:"800px","destroy-on-close":!0},{default:o(()=>[f("div",null,[U((p(),_(V,{data:v.value,size:"large",height:"400"},{empty:o(()=>[f("span",null,b(e.loading?"":l(n)("emptyData")),1)]),default:o(()=>[s(d,{prop:"Name",label:l(n)("tableName"),"min-width":"150"},null,8,["label"]),s(d,{prop:"Comment",label:l(n)("tableComment"),"min-width":"120"},null,8,["label"]),s(d,{align:"right","min-width":"150"},{header:o(()=>[s(C,{modelValue:r.value,"onUpdate:modelValue":t[0]||(t[0]=i=>r.value=i),modelModifiers:{trim:!0},size:"small",placeholder:l(n)("searchPlaceholder")},null,8,["modelValue","placeholder"])]),default:o(i=>[s(D,{size:"small",type:"primary",onClick:$=>w(i.row)},{default:o(()=>[q(b(l(n)("addBtn")),1)]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])),[[T,e.loading]])])]),_:1},8,["modelValue","title"])}}});export{O as _};

View File

@ -1 +0,0 @@
import{_ as o}from"./add-technician.vue_vue_type_script_setup_true_lang-bfafc16b.js";import"./index-633fd994.js";import"./index.vue_vue_type_style_index_0_lang-15243b34.js";import"vue";import"./index-43cf66e3.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"/admin/assets/shared/admin-lang.js";import"vue-router";import"/admin/assets/shared/admin-lang.js";import"./attachment-3751a554.js";import"./index.vue_vue_type_script_setup_true_lang-455d81a8.js";import"./index.vue_vue_type_script_setup_true_lang-f5fa650a.js";import"./index.vue_vue_type_script_setup_true_lang-03438c63.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./sortable.esm-be94e56d.js";import"./vipcard-a72759c1.js";export{o as default};

View File

@ -0,0 +1 @@
import{_ as o}from"./add-technician.vue_vue_type_script_setup_true_lang-1a3a5f29.js";import"./index-17a355e6.js";import"./index.vue_vue_type_style_index_0_lang-038b80a4.js";import"vue";import"./index-e730ce9b.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"/admin/assets/shared/admin-lang.js";import"vue-router";import"/admin/assets/shared/admin-lang.js";import"./attachment-f0669c1f.js";import"./index.vue_vue_type_script_setup_true_lang-455d81a8.js";import"./index.vue_vue_type_script_setup_true_lang-f5fa650a.js";import"./index.vue_vue_type_script_setup_true_lang-03438c63.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./sortable.esm-be94e56d.js";import"./vipcard-76baa103.js";export{o as default};

View File

@ -0,0 +1 @@
import{ElInput as N,ElFormItem as C,ElForm as k,ElButton as B,ElDialog as R,ElLoadingDirective as $}from"element-plus/es";import j from"./index-17a355e6.js";import{defineComponent as q,ref as p,reactive as I,computed as K,openBlock as h,createBlock as v,unref as t,withCtx as n,createElementVNode as M,createVNode as i,createTextVNode as c,toDisplayString as f,withDirectives as O}from"vue";import{t as a}from"/admin/assets/shared/admin-lang.js";import{a3 as L,a4 as S}from"./vipcard-76baa103.js";import{a9 as y}from"./index-e730ce9b.js";const z={class:"dialog-footer"},Z=q({__name:"add-technician",emits:["complete"],setup(A,{expose:w,emit:x}){const s=p(!1),m=p(!1),b={id:"",name:"",mobile:"",seniority:"0",number:"",position:"",headimg:""},l=I({...b}),g=p(),D=K(()=>({name:[{required:!0,message:a("namePlaceholder"),trigger:"blur"}],mobile:[{required:!0,message:a("mobilePlaceholder"),trigger:"blur"},{trigger:"blur",validator:(d,e,r)=>{e&&!/^1[3-9]\d{9}$/.test(e)&&r(new Error(a("mobileNumberFormatTips"))),r()}}]})),E=x,P=async d=>{if(m.value||!d)return;const e=l.id?L:S;await d.validate(async r=>{r&&(m.value=!0,e(l).then(_=>{m.value=!1,s.value=!1,E("complete")}).catch(()=>{m.value=!1}))})};return w({showDialog:s,setFormData:async(d=null)=>{Object.assign(l,b),d&&d&&Object.keys(l).forEach(e=>{d[e]!=null&&(l[e]=d[e])}),m.value=!1}}),(d,e)=>{const r=N,u=C,_=j,U=k,V=B,F=R,T=$;return h(),v(F,{modelValue:s.value,"onUpdate:modelValue":e[10]||(e[10]=o=>s.value=o),title:l.id?t(a)("updateTechnician"):t(a)("addTechnician"),width:"500px","destroy-on-close":!0},{footer:n(()=>[M("span",z,[i(V,{onClick:e[8]||(e[8]=o=>s.value=!1)},{default:n(()=>[c(f(t(a)("cancel")),1)]),_:1}),i(V,{type:"primary",loading:m.value,onClick:e[9]||(e[9]=o=>P(g.value))},{default:n(()=>[c(f(t(a)("confirm")),1)]),_:1},8,["loading"])])]),default:n(()=>[O((h(),v(U,{model:l,"label-width":"90px",ref_key:"formRef",ref:g,rules:D.value,class:"page-form"},{default:n(()=>[i(u,{label:t(a)("name"),prop:"name"},{default:n(()=>[i(r,{maxlength:"20","show-word-limit":"",modelValue:l.name,"onUpdate:modelValue":e[0]||(e[0]=o=>l.name=o),modelModifiers:{trim:!0},clearable:"",placeholder:t(a)("namePlaceholder"),class:"input-width"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),i(u,{label:t(a)("headimg")},{default:n(()=>[i(_,{modelValue:l.headimg,"onUpdate:modelValue":e[1]||(e[1]=o=>l.headimg=o)},null,8,["modelValue"])]),_:1},8,["label"]),i(u,{label:t(a)("mobile"),prop:"mobile"},{default:n(()=>[i(r,{modelValue:l.mobile,"onUpdate:modelValue":e[2]||(e[2]=o=>l.mobile=o),modelModifiers:{trim:!0},clearable:"",maxlength:"11",placeholder:t(a)("mobilePlaceholder"),class:"input-width"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),i(u,{label:t(a)("seniority"),prop:""},{default:n(()=>[i(r,{modelValue:l.seniority,"onUpdate:modelValue":e[3]||(e[3]=o=>l.seniority=o),clearable:"",placeholder:t(a)("seniorityPlaceholder"),class:"input-width",onKeyup:e[4]||(e[4]=o=>t(y)(o)),maxlength:"2"},{append:n(()=>[c(f(t(a)("year")),1)]),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"]),i(u,{label:t(a)("number"),prop:""},{default:n(()=>[i(r,{modelValue:l.number,"onUpdate:modelValue":e[5]||(e[5]=o=>l.number=o),clearable:"",placeholder:t(a)("numberPlaceholder"),class:"input-width",onKeyup:e[6]||(e[6]=o=>t(y)(o))},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),i(u,{label:t(a)("position"),prop:""},{default:n(()=>[i(r,{modelValue:l.position,"onUpdate:modelValue":e[7]||(e[7]=o=>l.position=o),clearable:"",placeholder:t(a)("positionPlaceholder"),class:"input-width"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1},8,["model","rules"])),[[T,m.value]])]),_:1},8,["modelValue","title"])}}});export{Z as _};

View File

@ -1 +0,0 @@
import{ElInput as N,ElFormItem as C,ElForm as k,ElButton as B,ElDialog as R,ElLoadingDirective as $}from"element-plus/es";import j from"./index-633fd994.js";import{defineComponent as q,ref as p,reactive as I,computed as K,openBlock as h,createBlock as v,unref as t,withCtx as n,createElementVNode as M,createVNode as i,createTextVNode as c,toDisplayString as f,withDirectives as O}from"vue";import{t as a}from"/admin/assets/shared/admin-lang.js";import{a3 as L,a4 as S}from"./vipcard-a72759c1.js";import{a9 as y}from"./index-43cf66e3.js";const z={class:"dialog-footer"},Z=q({__name:"add-technician",emits:["complete"],setup(A,{expose:w,emit:x}){const s=p(!1),m=p(!1),b={id:"",name:"",mobile:"",seniority:"0",number:"",position:"",headimg:""},l=I({...b}),g=p(),D=K(()=>({name:[{required:!0,message:a("namePlaceholder"),trigger:"blur"}],mobile:[{required:!0,message:a("mobilePlaceholder"),trigger:"blur"},{trigger:"blur",validator:(d,e,r)=>{e&&!/^1[3-9]\d{9}$/.test(e)&&r(new Error(a("mobileNumberFormatTips"))),r()}}]})),E=x,P=async d=>{if(m.value||!d)return;const e=l.id?L:S;await d.validate(async r=>{r&&(m.value=!0,e(l).then(_=>{m.value=!1,s.value=!1,E("complete")}).catch(()=>{m.value=!1}))})};return w({showDialog:s,setFormData:async(d=null)=>{Object.assign(l,b),d&&d&&Object.keys(l).forEach(e=>{d[e]!=null&&(l[e]=d[e])}),m.value=!1}}),(d,e)=>{const r=N,u=C,_=j,U=k,V=B,F=R,T=$;return h(),v(F,{modelValue:s.value,"onUpdate:modelValue":e[10]||(e[10]=o=>s.value=o),title:l.id?t(a)("updateTechnician"):t(a)("addTechnician"),width:"500px","destroy-on-close":!0},{footer:n(()=>[M("span",z,[i(V,{onClick:e[8]||(e[8]=o=>s.value=!1)},{default:n(()=>[c(f(t(a)("cancel")),1)]),_:1}),i(V,{type:"primary",loading:m.value,onClick:e[9]||(e[9]=o=>P(g.value))},{default:n(()=>[c(f(t(a)("confirm")),1)]),_:1},8,["loading"])])]),default:n(()=>[O((h(),v(U,{model:l,"label-width":"90px",ref_key:"formRef",ref:g,rules:D.value,class:"page-form"},{default:n(()=>[i(u,{label:t(a)("name"),prop:"name"},{default:n(()=>[i(r,{maxlength:"20","show-word-limit":"",modelValue:l.name,"onUpdate:modelValue":e[0]||(e[0]=o=>l.name=o),modelModifiers:{trim:!0},clearable:"",placeholder:t(a)("namePlaceholder"),class:"input-width"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),i(u,{label:t(a)("headimg")},{default:n(()=>[i(_,{modelValue:l.headimg,"onUpdate:modelValue":e[1]||(e[1]=o=>l.headimg=o)},null,8,["modelValue"])]),_:1},8,["label"]),i(u,{label:t(a)("mobile"),prop:"mobile"},{default:n(()=>[i(r,{modelValue:l.mobile,"onUpdate:modelValue":e[2]||(e[2]=o=>l.mobile=o),modelModifiers:{trim:!0},clearable:"",maxlength:"11",placeholder:t(a)("mobilePlaceholder"),class:"input-width"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),i(u,{label:t(a)("seniority"),prop:""},{default:n(()=>[i(r,{modelValue:l.seniority,"onUpdate:modelValue":e[3]||(e[3]=o=>l.seniority=o),clearable:"",placeholder:t(a)("seniorityPlaceholder"),class:"input-width",onKeyup:e[4]||(e[4]=o=>t(y)(o)),maxlength:"2"},{append:n(()=>[c(f(t(a)("year")),1)]),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"]),i(u,{label:t(a)("number"),prop:""},{default:n(()=>[i(r,{modelValue:l.number,"onUpdate:modelValue":e[5]||(e[5]=o=>l.number=o),clearable:"",placeholder:t(a)("numberPlaceholder"),class:"input-width",onKeyup:e[6]||(e[6]=o=>t(y)(o))},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),i(u,{label:t(a)("position"),prop:""},{default:n(()=>[i(r,{modelValue:l.position,"onUpdate:modelValue":e[7]||(e[7]=o=>l.position=o),clearable:"",placeholder:t(a)("positionPlaceholder"),class:"input-width"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1},8,["model","rules"])),[[T,m.value]])]),_:1},8,["modelValue","title"])}}});export{Z as _};

View File

@ -1 +0,0 @@
import{O as t}from"./index-43cf66e3.js";function a(n){return t.get("addon/local",n)}function s(n){return t.post(`addon/install/${n.addon}`,n)}function o(n){return t.post(`addon/uninstall/${n.addon}`,n,{showSuccessMessage:!0})}function d(n){return t.get(`addon/install/check/${n}`)}function l(){return t.get("addon/installtask")}function i(n){return t.get(`addon/cloudinstall/${n}`)}function u(n){return t.get(`addon/uninstall/check/${n}`)}function r(n){return t.put(`addon/install/cancel/${n}`,{},{showErrorMessage:!1})}function c(){return t.get("addon/list/install")}function g(){return t.get("home/site/group/app_list")}function f(){return t.get("addon/init")}function p(){return t.get("app/index")}function A(){return t.get("index/adv_list")}export{c as a,p as b,A as c,f as d,a as e,l as f,g,i as h,s as i,u as j,r as k,d as p,o as u};

View File

@ -0,0 +1 @@
import{O as t}from"./index-e730ce9b.js";function a(n){return t.get("addon/local",n)}function s(n){return t.post(`addon/install/${n.addon}`,n)}function o(n){return t.post(`addon/uninstall/${n.addon}`,n,{showSuccessMessage:!0})}function d(n){return t.get(`addon/install/check/${n}`)}function l(){return t.get("addon/installtask")}function i(n){return t.get(`addon/cloudinstall/${n}`)}function u(n){return t.get(`addon/uninstall/check/${n}`)}function r(n){return t.put(`addon/install/cancel/${n}`,{},{showErrorMessage:!1})}function c(){return t.get("addon/list/install")}function g(){return t.get("home/site/group/app_list")}function f(){return t.get("addon/init")}function p(){return t.get("app/index")}function A(){return t.get("index/adv_list")}export{c as a,p as b,A as c,f as d,a as e,l as f,g,i as h,s as i,u as j,r as k,d as p,o as u};

View File

@ -0,0 +1 @@
import{_ as o}from"./address-list.vue_vue_type_script_setup_true_lang-ecbf5893.js";import"vue";import"./member-123f98d0.js";import"./index-e730ce9b.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"/admin/assets/shared/admin-lang.js";import"vue-router";import"/admin/assets/shared/admin-lang.js";export{o as default};

View File

@ -1 +0,0 @@
import{_ as o}from"./address-list.vue_vue_type_script_setup_true_lang-d3dbfd8e.js";import"vue";import"./member-74121387.js";import"./index-43cf66e3.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"/admin/assets/shared/admin-lang.js";import"vue-router";import"/admin/assets/shared/admin-lang.js";export{o as default};

View File

@ -1 +0,0 @@
import{_ as o}from"./address-list.vue_vue_type_script_setup_true_lang-961abd1f.js";import"vue";import"./member-74121387.js";import"./index-43cf66e3.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"/admin/assets/shared/admin-lang.js";import"vue-router";import"/admin/assets/shared/admin-lang.js";export{o as default};

View File

@ -0,0 +1 @@
import{_ as o}from"./address-list.vue_vue_type_script_setup_true_lang-5fd15f77.js";import"vue";import"./member-123f98d0.js";import"./index-e730ce9b.js";import"pinia";import"@element-plus/icons-vue";import"axios";import"/admin/assets/shared/admin-lang.js";import"vue-router";import"/admin/assets/shared/admin-lang.js";export{o as default};

View File

@ -0,0 +1 @@
import{ElTooltip as B,ElButton as D,ElDialog as F,ElLoadingDirective as M}from"element-plus/es";import{defineComponent as N,ref as n,openBlock as s,createBlock as $,withCtx as a,createElementVNode as i,createVNode as u,createTextVNode as v,withDirectives as I,createElementBlock as r,Fragment as L,renderList as T,normalizeClass as j,toDisplayString as m}from"vue";import{a7 as z}from"./member-123f98d0.js";const R={class:"min-h-[150px] max-h-[300px] overflow-auto"},S={key:0,class:"flex flex-wrap"},U=["onClick"],q={class:"text-[15px] leading-[1] truncate max-w-[150px]"},G={class:"text-[15px] leading-[1] mt-[5px]"},H={class:"truncate text-[13px] leading-[1] mt-[5px]"},J={key:1,class:"flex items-center justify-center w-[100%] min-h-[150px] text-[16px]"},K={class:"dialog-footer"},Y=N({__name:"address-list",emits:["confirm"],setup(O,{expose:g,emit:b}){const l=n(!1),c=n(!0),p=n(""),h=(o,e)=>{c.value=!0,p.value=e,k(o),l.value=!0},d=n([]),x=n(-1),k=o=>{z({member_id:o}).then(e=>{d.value=e.data||[],c.value=!1})},w=(o,e)=>{p.value=o.id,x.value=e},y=()=>{const o=d.value[x.value];C("confirm",o),l.value=!1},C=b;return g({dialogMemberVisible:l,open:h}),(o,e)=>{const V=B,_=D,E=F,A=M;return s(),$(E,{modelValue:l.value,"onUpdate:modelValue":e[2]||(e[2]=t=>l.value=t),title:"地址列表",width:"810px"},{footer:a(()=>[i("div",K,[u(_,{onClick:e[0]||(e[0]=t=>l.value=!1)},{default:a(()=>[v("取消")]),_:1}),u(_,{type:"primary",onClick:e[1]||(e[1]=t=>y(o.formRef))},{default:a(()=>[v("保存")]),_:1})])]),default:a(()=>[I((s(),r("div",R,[d.value.length?(s(),r("div",S,[(s(!0),r(L,null,T(d.value,(t,f)=>(s(),r("div",{key:f,onClick:P=>w(t,f),class:j([{"border-[var(--el-color-primary)]":p.value==t.id},"mb-[15px] mx-[7px] address-temp overflow-hidden relative flex flex-col w-[240px] px-[12px] py-[15px] border-[1px] border-[#eee] border-solid rounded-[5px] cursor-pointer"])},[i("span",q,m(t.name),1),i("span",G,m(t.mobile),1),u(V,{class:"box-item",effect:"dark",content:t.full_address,placement:"bottom"},{default:a(()=>[i("span",H,m(t.full_address),1)]),_:2},1032,["content"])],10,U))),128))])):(s(),r("div",J,"暂无收货地址"))])),[[A,c.value]])]),_:1},8,["modelValue"])}}});export{Y as _};

View File

@ -1 +0,0 @@
import{ElTooltip as B,ElButton as D,ElDialog as F,ElLoadingDirective as M}from"element-plus/es";import{defineComponent as N,ref as n,openBlock as s,createBlock as $,withCtx as a,createElementVNode as i,createVNode as u,createTextVNode as v,withDirectives as I,createElementBlock as r,Fragment as L,renderList as T,normalizeClass as j,toDisplayString as m}from"vue";import{a7 as z}from"./member-74121387.js";const R={class:"min-h-[150px] max-h-[300px] overflow-auto"},S={key:0,class:"flex flex-wrap"},U=["onClick"],q={class:"text-[15px] leading-[1] truncate max-w-[150px]"},G={class:"text-[15px] leading-[1] mt-[5px]"},H={class:"truncate text-[13px] leading-[1] mt-[5px]"},J={key:1,class:"flex items-center justify-center w-[100%] min-h-[150px] text-[16px]"},K={class:"dialog-footer"},Y=N({__name:"address-list",emits:["confirm"],setup(O,{expose:g,emit:b}){const l=n(!1),c=n(!0),p=n(""),h=(o,e)=>{c.value=!0,p.value=e,k(o),l.value=!0},d=n([]),x=n(-1),k=o=>{z({member_id:o}).then(e=>{d.value=e.data||[],c.value=!1})},w=(o,e)=>{p.value=o.id,x.value=e},y=()=>{const o=d.value[x.value];C("confirm",o),l.value=!1},C=b;return g({dialogMemberVisible:l,open:h}),(o,e)=>{const V=B,_=D,E=F,A=M;return s(),$(E,{modelValue:l.value,"onUpdate:modelValue":e[2]||(e[2]=t=>l.value=t),title:"地址列表",width:"810px"},{footer:a(()=>[i("div",K,[u(_,{onClick:e[0]||(e[0]=t=>l.value=!1)},{default:a(()=>[v("取消")]),_:1}),u(_,{type:"primary",onClick:e[1]||(e[1]=t=>y(o.formRef))},{default:a(()=>[v("保存")]),_:1})])]),default:a(()=>[I((s(),r("div",R,[d.value.length?(s(),r("div",S,[(s(!0),r(L,null,T(d.value,(t,f)=>(s(),r("div",{key:f,onClick:P=>w(t,f),class:j([{"border-[var(--el-color-primary)]":p.value==t.id},"mb-[15px] mx-[7px] address-temp overflow-hidden relative flex flex-col w-[240px] px-[12px] py-[15px] border-[1px] border-[#eee] border-solid rounded-[5px] cursor-pointer"])},[i("span",q,m(t.name),1),i("span",G,m(t.mobile),1),u(V,{class:"box-item",effect:"dark",content:t.full_address,placement:"bottom"},{default:a(()=>[i("span",H,m(t.full_address),1)]),_:2},1032,["content"])],10,U))),128))])):(s(),r("div",J,"暂无收货地址"))])),[[A,c.value]])]),_:1},8,["modelValue"])}}});export{Y as _};

View File

@ -1 +0,0 @@
import{ElTooltip as B,ElButton as D,ElDialog as F,ElLoadingDirective as M}from"element-plus/es";import{defineComponent as N,ref as n,openBlock as s,createBlock as $,withCtx as a,createElementVNode as i,createVNode as u,createTextVNode as v,withDirectives as I,createElementBlock as r,Fragment as L,renderList as T,normalizeClass as j,toDisplayString as m}from"vue";import{a7 as z}from"./member-74121387.js";const R={class:"min-h-[150px] max-h-[300px] overflow-auto"},S={key:0,class:"flex flex-wrap"},U=["onClick"],q={class:"text-[15px] leading-[1] truncate max-w-[150px]"},G={class:"text-[15px] leading-[1] mt-[5px]"},H={class:"truncate text-[13px] leading-[1] mt-[5px]"},J={key:1,class:"flex items-center justify-center w-[100%] min-h-[150px] text-[16px]"},K={class:"dialog-footer"},Y=N({__name:"address-list",emits:["confirm"],setup(O,{expose:g,emit:b}){const l=n(!1),c=n(!0),p=n(""),h=(o,e)=>{c.value=!0,p.value=e,k(o),l.value=!0},d=n([]),x=n(-1),k=o=>{z({member_id:o}).then(e=>{d.value=e.data||[],c.value=!1})},w=(o,e)=>{p.value=o.id,x.value=e},y=()=>{const o=d.value[x.value];C("confirm",o),l.value=!1},C=b;return g({dialogMemberVisible:l,open:h}),(o,e)=>{const V=B,_=D,E=F,A=M;return s(),$(E,{modelValue:l.value,"onUpdate:modelValue":e[2]||(e[2]=t=>l.value=t),title:"地址列表",width:"810px"},{footer:a(()=>[i("div",K,[u(_,{onClick:e[0]||(e[0]=t=>l.value=!1)},{default:a(()=>[v("取消")]),_:1}),u(_,{type:"primary",onClick:e[1]||(e[1]=t=>y(o.formRef))},{default:a(()=>[v("保存")]),_:1})])]),default:a(()=>[I((s(),r("div",R,[d.value.length?(s(),r("div",S,[(s(!0),r(L,null,T(d.value,(t,f)=>(s(),r("div",{key:f,onClick:P=>w(t,f),class:j([{"border-[var(--el-color-primary)]":p.value==t.id},"mb-[15px] mx-[7px] address-temp overflow-hidden relative flex flex-col w-[240px] px-[12px] py-[15px] border-[1px] border-[#eee] border-solid rounded-[5px] cursor-pointer"])},[i("span",q,m(t.name),1),i("span",G,m(t.mobile),1),u(V,{class:"box-item",effect:"dark",content:t.full_address,placement:"bottom"},{default:a(()=>[i("span",H,m(t.full_address),1)]),_:2},1032,["content"])],10,U))),128))])):(s(),r("div",J,"暂无收货地址"))])),[[A,c.value]])]),_:1},8,["modelValue"])}}});export{Y as _};

View File

@ -0,0 +1 @@
import{ElTooltip as B,ElButton as D,ElDialog as F,ElLoadingDirective as M}from"element-plus/es";import{defineComponent as N,ref as n,openBlock as s,createBlock as $,withCtx as a,createElementVNode as i,createVNode as u,createTextVNode as v,withDirectives as I,createElementBlock as r,Fragment as L,renderList as T,normalizeClass as j,toDisplayString as m}from"vue";import{a7 as z}from"./member-123f98d0.js";const R={class:"min-h-[150px] max-h-[300px] overflow-auto"},S={key:0,class:"flex flex-wrap"},U=["onClick"],q={class:"text-[15px] leading-[1] truncate max-w-[150px]"},G={class:"text-[15px] leading-[1] mt-[5px]"},H={class:"truncate text-[13px] leading-[1] mt-[5px]"},J={key:1,class:"flex items-center justify-center w-[100%] min-h-[150px] text-[16px]"},K={class:"dialog-footer"},Y=N({__name:"address-list",emits:["confirm"],setup(O,{expose:g,emit:b}){const l=n(!1),c=n(!0),p=n(""),h=(o,e)=>{c.value=!0,p.value=e,k(o),l.value=!0},d=n([]),x=n(-1),k=o=>{z({member_id:o}).then(e=>{d.value=e.data||[],c.value=!1})},w=(o,e)=>{p.value=o.id,x.value=e},y=()=>{const o=d.value[x.value];C("confirm",o),l.value=!1},C=b;return g({dialogMemberVisible:l,open:h}),(o,e)=>{const V=B,_=D,E=F,A=M;return s(),$(E,{modelValue:l.value,"onUpdate:modelValue":e[2]||(e[2]=t=>l.value=t),title:"地址列表",width:"810px"},{footer:a(()=>[i("div",K,[u(_,{onClick:e[0]||(e[0]=t=>l.value=!1)},{default:a(()=>[v("取消")]),_:1}),u(_,{type:"primary",onClick:e[1]||(e[1]=t=>y(o.formRef))},{default:a(()=>[v("保存")]),_:1})])]),default:a(()=>[I((s(),r("div",R,[d.value.length?(s(),r("div",S,[(s(!0),r(L,null,T(d.value,(t,f)=>(s(),r("div",{key:f,onClick:P=>w(t,f),class:j([{"border-[var(--el-color-primary)]":p.value==t.id},"mb-[15px] mx-[7px] address-temp overflow-hidden relative flex flex-col w-[240px] px-[12px] py-[15px] border-[1px] border-[#eee] border-solid rounded-[5px] cursor-pointer"])},[i("span",q,m(t.name),1),i("span",G,m(t.mobile),1),u(V,{class:"box-item",effect:"dark",content:t.full_address,placement:"bottom"},{default:a(()=>[i("span",H,m(t.full_address),1)]),_:2},1032,["content"])],10,U))),128))])):(s(),r("div",J,"暂无收货地址"))])),[[A,c.value]])]),_:1},8,["modelValue"])}}});export{Y as _};

Some files were not shown because too many files have changed in this diff Show More