f
Some checks failed
Check / lint (18.x, macos-latest) (push) Has been cancelled
Check / lint (18.x, ubuntu-latest) (push) Has been cancelled
Check / lint (18.x, windows-latest) (push) Has been cancelled
Check / lint (20.x, macos-latest) (push) Has been cancelled
Check / lint (20.x, ubuntu-latest) (push) Has been cancelled
Check / lint (20.x, windows-latest) (push) Has been cancelled
Check / lint (22.x, macos-latest) (push) Has been cancelled
Check / lint (22.x, ubuntu-latest) (push) Has been cancelled
Check / lint (22.x, windows-latest) (push) Has been cancelled
Check / typecheck (18.x, macos-latest) (push) Has been cancelled
Check / typecheck (18.x, ubuntu-latest) (push) Has been cancelled
Check / typecheck (18.x, windows-latest) (push) Has been cancelled
Check / typecheck (20.x, macos-latest) (push) Has been cancelled
Check / typecheck (20.x, ubuntu-latest) (push) Has been cancelled
Check / typecheck (20.x, windows-latest) (push) Has been cancelled
Check / typecheck (22.x, macos-latest) (push) Has been cancelled
Check / typecheck (22.x, ubuntu-latest) (push) Has been cancelled
Check / typecheck (22.x, windows-latest) (push) Has been cancelled
Check / build (build, 18.x, macos-latest) (push) Has been cancelled
Check / build (build, 18.x, ubuntu-latest) (push) Has been cancelled
Check / build (build, 18.x, windows-latest) (push) Has been cancelled
Check / build (build, 20.x, macos-latest) (push) Has been cancelled
Check / build (build, 20.x, ubuntu-latest) (push) Has been cancelled
Check / build (build, 20.x, windows-latest) (push) Has been cancelled
Check / build (build, 22.x, macos-latest) (push) Has been cancelled
Check / build (build, 22.x, ubuntu-latest) (push) Has been cancelled
Check / build (build, 22.x, windows-latest) (push) Has been cancelled
Check / build (build:app, 18.x, macos-latest) (push) Has been cancelled
Check / build (build:app, 18.x, ubuntu-latest) (push) Has been cancelled
Check / build (build:app, 18.x, windows-latest) (push) Has been cancelled
Check / build (build:app, 20.x, macos-latest) (push) Has been cancelled
Check / build (build:app, 20.x, ubuntu-latest) (push) Has been cancelled
Check / build (build:app, 20.x, windows-latest) (push) Has been cancelled
Check / build (build:app, 22.x, macos-latest) (push) Has been cancelled
Check / build (build:app, 22.x, ubuntu-latest) (push) Has been cancelled
Check / build (build:app, 22.x, windows-latest) (push) Has been cancelled
Check / build (build:mp-weixin, 18.x, macos-latest) (push) Has been cancelled
Check / build (build:mp-weixin, 18.x, ubuntu-latest) (push) Has been cancelled
Check / build (build:mp-weixin, 18.x, windows-latest) (push) Has been cancelled
Check / build (build:mp-weixin, 20.x, macos-latest) (push) Has been cancelled
Check / build (build:mp-weixin, 20.x, ubuntu-latest) (push) Has been cancelled
Check / build (build:mp-weixin, 20.x, windows-latest) (push) Has been cancelled
Check / build (build:mp-weixin, 22.x, macos-latest) (push) Has been cancelled
Check / build (build:mp-weixin, 22.x, ubuntu-latest) (push) Has been cancelled
Check / build (build:mp-weixin, 22.x, windows-latest) (push) Has been cancelled
@@ -1,5 +1,6 @@
|
||||
# 开发环境配置
|
||||
VITE_APP_BASE_URL=https://www.tianyuandb.com
|
||||
# 开发环境配置(仅 dev 时生效,打包 build 时不会使用此文件)
|
||||
# 本地后端 hm-server 默认端口 8888
|
||||
VITE_APP_BASE_URL=http://127.0.0.1:8888
|
||||
|
||||
# 是否启用调试模式
|
||||
VITE_APP_DEBUG=true
|
||||
|
||||
8
src/auto-imports.d.ts
vendored
@@ -38,6 +38,7 @@ declare global {
|
||||
const eagerComputed: typeof import('@vueuse/core')['eagerComputed']
|
||||
const effectScope: typeof import('vue')['effectScope']
|
||||
const extendRef: typeof import('@vueuse/core')['extendRef']
|
||||
const formatExpiryTime: typeof import('./utils/format.js')['formatExpiryTime']
|
||||
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
|
||||
const getCurrentScope: typeof import('vue')['getCurrentScope']
|
||||
const h: typeof import('vue')['h']
|
||||
@@ -51,6 +52,7 @@ declare global {
|
||||
const isRef: typeof import('vue')['isRef']
|
||||
const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable']
|
||||
const markRaw: typeof import('vue')['markRaw']
|
||||
const maskName: typeof import('./utils/format.js')['maskName']
|
||||
const nextTick: typeof import('vue')['nextTick']
|
||||
const onActivated: typeof import('vue')['onActivated']
|
||||
const onAddToFavorites: typeof import('@dcloudio/uni-app')['onAddToFavorites']
|
||||
@@ -257,7 +259,7 @@ declare global {
|
||||
const useScroll: typeof import('@vueuse/core')['useScroll']
|
||||
const useScrollLock: typeof import('@vueuse/core')['useScrollLock']
|
||||
const useSessionStorage: typeof import('@vueuse/core')['useSessionStorage']
|
||||
const useShare: typeof import('@vueuse/core')['useShare']
|
||||
const useShare: typeof import('./composables/useShare')['useShare']
|
||||
const useSlots: typeof import('vue')['useSlots']
|
||||
const useSorted: typeof import('@vueuse/core')['useSorted']
|
||||
const useSpeechRecognition: typeof import('@vueuse/core')['useSpeechRecognition']
|
||||
@@ -361,6 +363,7 @@ declare module 'vue' {
|
||||
readonly eagerComputed: UnwrapRef<typeof import('@vueuse/core')['eagerComputed']>
|
||||
readonly effectScope: UnwrapRef<typeof import('vue')['effectScope']>
|
||||
readonly extendRef: UnwrapRef<typeof import('@vueuse/core')['extendRef']>
|
||||
readonly formatExpiryTime: UnwrapRef<typeof import('./utils/format.js')['formatExpiryTime']>
|
||||
readonly getCurrentInstance: UnwrapRef<typeof import('vue')['getCurrentInstance']>
|
||||
readonly getCurrentScope: UnwrapRef<typeof import('vue')['getCurrentScope']>
|
||||
readonly h: UnwrapRef<typeof import('vue')['h']>
|
||||
@@ -374,6 +377,7 @@ declare module 'vue' {
|
||||
readonly isRef: UnwrapRef<typeof import('vue')['isRef']>
|
||||
readonly makeDestructurable: UnwrapRef<typeof import('@vueuse/core')['makeDestructurable']>
|
||||
readonly markRaw: UnwrapRef<typeof import('vue')['markRaw']>
|
||||
readonly maskName: UnwrapRef<typeof import('./utils/format.js')['maskName']>
|
||||
readonly nextTick: UnwrapRef<typeof import('vue')['nextTick']>
|
||||
readonly onActivated: UnwrapRef<typeof import('vue')['onActivated']>
|
||||
readonly onAddToFavorites: UnwrapRef<typeof import('@dcloudio/uni-app')['onAddToFavorites']>
|
||||
@@ -579,7 +583,7 @@ declare module 'vue' {
|
||||
readonly useScroll: UnwrapRef<typeof import('@vueuse/core')['useScroll']>
|
||||
readonly useScrollLock: UnwrapRef<typeof import('@vueuse/core')['useScrollLock']>
|
||||
readonly useSessionStorage: UnwrapRef<typeof import('@vueuse/core')['useSessionStorage']>
|
||||
readonly useShare: UnwrapRef<typeof import('@vueuse/core')['useShare']>
|
||||
readonly useShare: UnwrapRef<typeof import('./composables/useShare')['useShare']>
|
||||
readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']>
|
||||
readonly useSorted: UnwrapRef<typeof import('@vueuse/core')['useSorted']>
|
||||
readonly useSpeechRecognition: UnwrapRef<typeof import('@vueuse/core')['useSpeechRecognition']>
|
||||
|
||||
1
src/components.d.ts
vendored
@@ -8,6 +8,7 @@ export {}
|
||||
declare module 'vue' {
|
||||
export interface GlobalComponents {
|
||||
AgentApplicationForm: typeof import('./components/AgentApplicationForm.vue')['default']
|
||||
EmptyState: typeof import('./components/EmptyState.vue')['default']
|
||||
GzhQrcode: typeof import('./components/GzhQrcode.vue')['default']
|
||||
Payment: typeof import('./components/Payment.vue')['default']
|
||||
PriceInputPopup: typeof import('./components/PriceInputPopup.vue')['default']
|
||||
|
||||
12
src/components/EmptyState.vue
Normal file
@@ -0,0 +1,12 @@
|
||||
<template>
|
||||
<view class="flex flex-col items-center justify-center py-16">
|
||||
<image src="/static/image/empty.svg" mode="aspectFit" class="w-48 h-48 mb-4" />
|
||||
<text class="text-gray-400 text-base">{{ text }}</text>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
defineProps({
|
||||
text: { type: String, default: '暂无数据' }
|
||||
})
|
||||
</script>
|
||||
@@ -46,8 +46,8 @@ function handleMaskClick() {
|
||||
// 预览图片
|
||||
function previewImage() {
|
||||
uni.previewImage({
|
||||
urls: ['/static/image/gzh_qrcode.jpg'],
|
||||
current: '/static/image/gzh_qrcode.jpg'
|
||||
urls: ['/static/qrcode/tydatagzh.jpg'],
|
||||
current: '/static/qrcode/tydatagzh.jpg'
|
||||
})
|
||||
}
|
||||
</script>
|
||||
@@ -66,7 +66,7 @@ function previewImage() {
|
||||
<view class="qrcode-container">
|
||||
<image
|
||||
class="qrcode-image"
|
||||
src="/static/image/gzh_qrcode.jpg"
|
||||
src="/static/qrcode/tydatagzh.jpg"
|
||||
mode="aspectFit"
|
||||
@click="previewImage"
|
||||
/>
|
||||
|
||||
@@ -66,9 +66,13 @@ const orderNo = ref('')
|
||||
const discountPrice = ref(false) // 是否应用折扣
|
||||
|
||||
async function getPayment() {
|
||||
if (!props.id) {
|
||||
toast.error('订单信息异常,请重试')
|
||||
return
|
||||
}
|
||||
try {
|
||||
const res = await payment({
|
||||
id: props.id,
|
||||
id: String(props.id),
|
||||
pay_method: 'wechat',
|
||||
pay_type: props.type,
|
||||
})
|
||||
@@ -76,24 +80,44 @@ async function getPayment() {
|
||||
if (res.data) {
|
||||
orderNo.value = res.data.order_no
|
||||
|
||||
// 微信支付
|
||||
const paymentData = res.data.prepay_data || res.data
|
||||
// 微信支付 - 兼容多种返回格式(wechatpay-go 返回 appId/timeStamp/nonceStr/package/signType/paySign)
|
||||
const paymentData = res.data.prepay_data || res.data.prepayData || res.data
|
||||
// 若 prepay_data 是字符串则解析
|
||||
const data = typeof paymentData === 'string' ? (() => { try { return JSON.parse(paymentData) } catch { return {} } })() : (paymentData || {})
|
||||
|
||||
const timeStamp = data.timeStamp || data.timestamp || data.time_stamp
|
||||
const nonceStr = data.nonceStr || data.noncestr || data.nonce_str
|
||||
const packageVal = data.package
|
||||
const signType = data.signType || data.sign_type || 'MD5'
|
||||
const paySign = data.paySign || data.pay_sign || data.sign
|
||||
|
||||
// 校验必要参数
|
||||
if (!timeStamp || !nonceStr || !packageVal || !paySign) {
|
||||
console.error('支付参数不完整,原始数据:', JSON.stringify(data))
|
||||
toast.error('支付参数异常,请联系客服')
|
||||
return
|
||||
}
|
||||
|
||||
// #ifdef MP-WEIXIN
|
||||
uni.requestPayment({
|
||||
provider: 'wxpay',
|
||||
timeStamp: paymentData.timeStamp || paymentData.timestamp,
|
||||
nonceStr: paymentData.nonceStr || paymentData.noncestr,
|
||||
package: paymentData.package,
|
||||
signType: paymentData.signType || 'MD5',
|
||||
paySign: paymentData.paySign || paymentData.sign,
|
||||
timeStamp: String(timeStamp),
|
||||
nonceStr: String(nonceStr),
|
||||
package: String(packageVal),
|
||||
signType: String(signType),
|
||||
paySign: String(paySign),
|
||||
success: (result) => {
|
||||
toast.success('支付成功')
|
||||
show.value = false
|
||||
handlePaymentSuccess()
|
||||
},
|
||||
fail: (error) => {
|
||||
toast.error('支付失败')
|
||||
toast.error(error.errMsg || '支付失败')
|
||||
console.error('支付失败:', error)
|
||||
// 用户取消不关闭弹窗,方便重试
|
||||
if (error.errMsg && !error.errMsg.includes('cancel')) {
|
||||
show.value = false
|
||||
}
|
||||
}
|
||||
})
|
||||
// #endif
|
||||
@@ -103,20 +127,22 @@ async function getPayment() {
|
||||
provider: 'wxpay',
|
||||
orderInfo: {
|
||||
appid: paymentData.appid,
|
||||
noncestr: paymentData.nonceStr || paymentData.noncestr,
|
||||
package: paymentData.package,
|
||||
noncestr: nonceStr,
|
||||
package: packageVal,
|
||||
partnerid: paymentData.partnerid,
|
||||
prepayid: paymentData.prepayid,
|
||||
timestamp: paymentData.timeStamp || paymentData.timestamp,
|
||||
sign: paymentData.paySign || paymentData.sign
|
||||
timestamp: timeStamp,
|
||||
sign: paySign
|
||||
},
|
||||
success: (result) => {
|
||||
toast.success('支付成功')
|
||||
show.value = false
|
||||
handlePaymentSuccess()
|
||||
},
|
||||
fail: (error) => {
|
||||
toast.error('支付失败')
|
||||
console.error('支付失败:', error)
|
||||
show.value = false
|
||||
}
|
||||
})
|
||||
// #endif
|
||||
@@ -126,6 +152,7 @@ async function getPayment() {
|
||||
WeixinJSBridge.invoke('getBrandWCPayRequest', paymentData, function (result) {
|
||||
if (result.err_msg === 'get_brand_wcpay_request:ok') {
|
||||
toast.success('支付成功')
|
||||
show.value = false
|
||||
handlePaymentSuccess()
|
||||
} else {
|
||||
toast.error('支付失败')
|
||||
@@ -136,14 +163,12 @@ async function getPayment() {
|
||||
}
|
||||
// #endif
|
||||
} else {
|
||||
toast.error('获取支付信息失败')
|
||||
toast.error(res.msg || '获取支付信息失败')
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('支付请求失败:', error)
|
||||
toast.error('支付请求失败')
|
||||
toast.error(error?.data?.msg || error?.msg || '支付请求失败')
|
||||
}
|
||||
|
||||
show.value = false
|
||||
}
|
||||
|
||||
function handlePaymentSuccess() {
|
||||
|
||||
44
src/composables/useShare.ts
Normal file
@@ -0,0 +1,44 @@
|
||||
/**
|
||||
* 小程序分享:分享给好友、分享到朋友圈
|
||||
* 在页面 setup 中调用 useShare(options) 即可启用右上角菜单的「转发」与「分享到朋友圈」
|
||||
*/
|
||||
|
||||
const DEFAULT_TITLE = '天远数据 - 大数据报告查询'
|
||||
const DEFAULT_IMAGE_URL = '' // 留空则微信使用页面截图
|
||||
|
||||
export interface UseShareOptions {
|
||||
/** 分享标题(好友 + 朋友圈) */
|
||||
title?: string
|
||||
/** 分享给好友时的跳转路径,如 /pages/index */
|
||||
path?: string
|
||||
/** 分享图 URL(可选,不填用截图) */
|
||||
imageUrl?: string
|
||||
/** 分享到朋友圈时的 query,如 from=timeline */
|
||||
query?: string
|
||||
}
|
||||
|
||||
export function useShare(options: UseShareOptions = {}) {
|
||||
const title = options.title ?? DEFAULT_TITLE
|
||||
let path = options.path ?? ''
|
||||
if (!path && typeof getCurrentPages === 'function') {
|
||||
const pages = getCurrentPages()
|
||||
const last = pages[pages.length - 1] as { route?: string }
|
||||
if (last?.route) path = '/' + last.route
|
||||
}
|
||||
const imageUrl = options.imageUrl ?? DEFAULT_IMAGE_URL
|
||||
const query = options.query ?? ''
|
||||
|
||||
// 分享给好友/群
|
||||
onShareAppMessage(() => ({
|
||||
title,
|
||||
path: path || undefined,
|
||||
imageUrl: imageUrl || undefined,
|
||||
}))
|
||||
|
||||
// 分享到朋友圈(仅微信小程序支持)
|
||||
onShareTimeline(() => ({
|
||||
title,
|
||||
query: query || undefined,
|
||||
imageUrl: imageUrl || undefined,
|
||||
}))
|
||||
}
|
||||
24
src/main.ts
@@ -4,8 +4,32 @@ import 'uno.css'
|
||||
import '@/app.scss'
|
||||
import { setupRouterGuard } from '@/utils/routerGuard'
|
||||
|
||||
const DEFAULT_SHARE_TITLE = '天远数据 - 大数据报告查询,即刻赚佣金'
|
||||
|
||||
// 全局分享:所有页面右上角「转发」「分享到朋友圈」使用统一默认配置
|
||||
const shareMixin = {
|
||||
onShareAppMessage() {
|
||||
let path = '/pages/index'
|
||||
if (typeof getCurrentPages === 'function') {
|
||||
const pages = getCurrentPages()
|
||||
const last = pages[pages.length - 1] as { route?: string }
|
||||
if (last?.route) path = '/' + last.route
|
||||
}
|
||||
return {
|
||||
title: DEFAULT_SHARE_TITLE,
|
||||
path,
|
||||
}
|
||||
},
|
||||
onShareTimeline() {
|
||||
return {
|
||||
title: DEFAULT_SHARE_TITLE,
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export function createApp() {
|
||||
const app = createSSRApp(App)
|
||||
app.mixin(shareMixin)
|
||||
|
||||
// 初始化路由守卫
|
||||
setupRouterGuard()
|
||||
|
||||
@@ -3,6 +3,9 @@ import { ref, computed } from 'vue'
|
||||
import { getAgentRevenue } from '@/api/apis'
|
||||
import GzhQrcode from '@/components/GzhQrcode.vue'
|
||||
|
||||
// 分享给好友、分享到朋友圈
|
||||
useShare({ title: '天远数据 - 资产与收益' })
|
||||
|
||||
// 日期选项映射
|
||||
const dateRangeMap = {
|
||||
today: 'today',
|
||||
|
||||
@@ -384,6 +384,7 @@
|
||||
import { ref, onMounted, reactive, computed } from 'vue'
|
||||
import { useToast } from 'wot-design-uni'
|
||||
import { activateAgentMembership } from '@/apis/agent'
|
||||
import { formatExpiryTime } from '@/utils/format'
|
||||
|
||||
// 使用 wot-design-ui 的 toast
|
||||
const toast = useToast()
|
||||
@@ -744,25 +745,9 @@ async function applyVip() {
|
||||
type: selectedType.value.toUpperCase(),
|
||||
})
|
||||
|
||||
if (res.code === 200) {
|
||||
if (res.data.id) {
|
||||
payID.value = res.data.id
|
||||
if (res.code === 200 && res.data?.id) {
|
||||
payID.value = String(res.data.id)
|
||||
showPayment.value = true
|
||||
uni.requestPayment({
|
||||
"provider": "wxpay",
|
||||
"orderInfo": {
|
||||
"appid": "wx499********7c70e", // 微信开放平台 - 应用 - AppId,注意和微信小程序、公众号 AppId 可能不一致
|
||||
"noncestr": "c5sEwbaNPiXAF3iv", // 随机字符串
|
||||
"package": "Sign=WXPay", // 固定值
|
||||
"partnerid": "148*****52", // 微信支付商户号
|
||||
"prepayid": "wx202254********************fbe90000", // 统一下单订单号
|
||||
"timestamp": 1597935292, // 时间戳(单位:秒)
|
||||
"sign": "A842B45937F6EFF60DEC7A2EAA52D5A0" // 签名,这里用的 MD5/RSA 签名
|
||||
},
|
||||
success(res) { },
|
||||
fail(e) { }
|
||||
})
|
||||
}
|
||||
} else {
|
||||
toast.error(res.msg || '申请失败')
|
||||
}
|
||||
@@ -771,12 +756,6 @@ async function applyVip() {
|
||||
toast.error('网络请求失败,请稍后重试')
|
||||
}
|
||||
}
|
||||
|
||||
function formatExpiryTime(expiryTimeStr) {
|
||||
if (!expiryTimeStr) return '未知'
|
||||
// 从格式化字符串中提取日期部分
|
||||
return expiryTimeStr.split(' ')[0] // 假设格式是 "YYYY-MM-DD HH:MM:SS"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -5,8 +5,17 @@ import { ref, onBeforeMount } from 'vue'
|
||||
import iconCard1 from '/static/image/icon_2.png'
|
||||
import iconCard2 from '/static/image/icon_1.png'
|
||||
|
||||
// 分享给好友、分享到朋友圈
|
||||
useShare({ title: '天远数据 - 大数据报告查询,即刻赚佣金' })
|
||||
|
||||
// 从缓存中获取代理状态
|
||||
const isAgent = ref(false)
|
||||
|
||||
// 公众号二维码弹窗
|
||||
const showQrcodePopup = ref(false)
|
||||
function toggleQrcodePopup() {
|
||||
showQrcodePopup.value = !showQrcodePopup.value
|
||||
}
|
||||
onBeforeMount(() => {
|
||||
// 从缓存获取代理信息
|
||||
const agentInfo = uni.getStorageSync('agentInfo')
|
||||
@@ -69,6 +78,15 @@ function getPhoneNumber(e) {
|
||||
</view>
|
||||
<image class="w-20 h-20 mr-4 ml-4 my-4" :src="iconCard2" mode="aspectFit" />
|
||||
</view>
|
||||
<!-- 公众号卡片 -->
|
||||
<view class="rounded-2xl overflow-hidden shadow-xl mt-4 mb-4 relative h-[120px]" @click="toggleQrcodePopup">
|
||||
<image
|
||||
class="absolute inset-0 w-full h-full"
|
||||
src="/static/image/footbanner.jpg"
|
||||
mode="aspectFill"
|
||||
/>
|
||||
<view class="absolute inset-0 bg-black/10" />
|
||||
</view>
|
||||
<!-- 帮助中心模块 -->
|
||||
<!-- <view class="mt-6">
|
||||
<view class="flex items-center justify-between mb-2">
|
||||
@@ -90,6 +108,33 @@ function getPhoneNumber(e) {
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
<!-- 二维码弹窗 -->
|
||||
<view
|
||||
v-if="showQrcodePopup"
|
||||
class="fixed inset-0 z-50 flex items-center justify-center bg-black/60"
|
||||
@click="toggleQrcodePopup"
|
||||
>
|
||||
<view
|
||||
class="bg-white rounded-2xl p-6 mx-8 flex flex-col items-center"
|
||||
@click.stop
|
||||
>
|
||||
<image
|
||||
class="w-48 h-48 mb-4"
|
||||
src="/static/qrcode/tydatagzh.jpg"
|
||||
mode="aspectFit"
|
||||
show-menu-by-longpress
|
||||
/>
|
||||
<view class="text-gray-600 text-sm text-center mb-2">长按识别保存或者扫码</view>
|
||||
<view class="text-gray-400 text-xs">关注「天远数据」公众号</view>
|
||||
<view
|
||||
class="mt-4 text-blue-500 text-sm"
|
||||
@click="toggleQrcodePopup"
|
||||
>
|
||||
关闭
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -146,7 +146,7 @@ onUnmounted(() => {
|
||||
<view class="login px-8">
|
||||
<view class="mb-8 pt-8 text-left">
|
||||
<view class="flex flex-col items-center">
|
||||
<image class="h-18 w-18 rounded-full shadow" src="/static/image/logo.jpg" mode="scaleToFill" />
|
||||
<image class="h-18 w-18 rounded-full shadow" src="/static/image/logo.png" mode="scaleToFill" />
|
||||
<view class="mt-4 text-3xl font-bold text-gray-800">天远数据</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -33,16 +33,32 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<VipBanner v-if="isAgent && level === 'normal'" />
|
||||
<VipBanner v-if="isLoggedIn && !isVipOrSvip" />
|
||||
<!-- 功能菜单 -->
|
||||
<view class="features-section space-y-3">
|
||||
<template v-if="isAgent && ['VIP', 'SVIP'].includes(level)">
|
||||
<!-- 代理报告配置 + 续费:VIP/SVIP 代理 -->
|
||||
<template v-if="isLoggedIn && isAgent && isVipOrSvip">
|
||||
<button
|
||||
class=" flex items-center p-3 rounded-xl bg-gradient-to-r from-purple-200/80 to-pink-200/80 text-purple-700 font-medium shadow-sm transition-all active:shadow-md"
|
||||
hover-class="opacity-80 scale-98" @click="toVipConfig">
|
||||
<text class="mr-2">⚙️</text> 代理报告配置
|
||||
</button>
|
||||
<button
|
||||
class="flex flex-col items-start p-3 rounded-xl bg-gradient-to-r from-amber-200/80 to-orange-200/80 text-amber-700 font-medium shadow-sm transition-all active:shadow-md"
|
||||
hover-class="opacity-80 scale-98" @click="toVipRenewal">
|
||||
<view class="flex items-center">
|
||||
<text class="mr-2">🔄</text> 续费代理会员
|
||||
</view>
|
||||
<view v-if="ExpiryTime" class="text-xs text-gray-500 mt-1 ml-6">有效期至 {{ formatExpiryTime(ExpiryTime) }}</view>
|
||||
</button>
|
||||
</template>
|
||||
<!-- 升级/开通代理会员:登录后显示,非代理→申请,普通代理→升级 -->
|
||||
<button
|
||||
v-if="isLoggedIn && !isVipOrSvip"
|
||||
class="flex items-center p-3 rounded-xl bg-gradient-to-r from-amber-200/80 to-orange-200/80 text-amber-700 font-medium shadow-sm transition-all active:shadow-md"
|
||||
hover-class="opacity-80 scale-98" @click="toAgentUpgrade">
|
||||
<text class="mr-2">⬆️</text> {{ isAgent ? '升级代理会员' : '开通代理会员' }}
|
||||
</button>
|
||||
<button
|
||||
class=" flex items-center text-gray-600 p-3 rounded-xl bg-white font-medium shadow-sm transition-all active:shadow-md"
|
||||
hover-class="opacity-80 bg-blue-50" @click="toUserAgreement">
|
||||
@@ -76,6 +92,10 @@
|
||||
|
||||
<script setup>
|
||||
import { ref, computed, onBeforeMount } from 'vue'
|
||||
import { maskName, formatExpiryTime } from '@/utils/format'
|
||||
|
||||
// 分享给好友、分享到朋友圈
|
||||
useShare({ title: '天远数据 - 大数据报告查询' })
|
||||
|
||||
// 用户数据
|
||||
const userName = ref('')
|
||||
@@ -86,6 +106,7 @@ const userType = ref(null)
|
||||
// 代理数据
|
||||
const isAgent = ref(false)
|
||||
const level = ref('normal')
|
||||
const ExpiryTime = ref('')
|
||||
|
||||
|
||||
const showUpdateProgress = ref(false)
|
||||
@@ -110,6 +131,7 @@ onBeforeMount(() => {
|
||||
if (agentInfo?.isAgent) {
|
||||
isAgent.value = agentInfo.isAgent
|
||||
level.value = agentInfo.level || 'normal'
|
||||
ExpiryTime.value = agentInfo.expiryTime || ''
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -129,6 +151,11 @@ const levelText = {
|
||||
SVIP: '尊享代理特权',
|
||||
}
|
||||
|
||||
const isVipOrSvip = computed(() => {
|
||||
const l = (level.value || '').toString()
|
||||
return ['VIP', 'SVIP'].includes(l)
|
||||
})
|
||||
|
||||
const levelGradient = computed(() => ({
|
||||
border: {
|
||||
normal: 'bg-green-300',
|
||||
@@ -152,11 +179,6 @@ const levelGradient = computed(() => ({
|
||||
}[level.value],
|
||||
}))
|
||||
|
||||
function maskName(name) {
|
||||
if (!name || name.length < 11) return name
|
||||
return name.substring(0, 3) + "****" + name.substring(7)
|
||||
}
|
||||
|
||||
function toHistory() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/queryHistory'
|
||||
@@ -194,6 +216,18 @@ function toVipConfig() {
|
||||
})
|
||||
}
|
||||
|
||||
function toVipRenewal() {
|
||||
uni.navigateTo({ url: '/pages/agentVipApply' })
|
||||
}
|
||||
|
||||
function toAgentUpgrade() {
|
||||
if (isAgent.value) {
|
||||
uni.navigateTo({ url: '/pages/agentVipApply' })
|
||||
} else {
|
||||
uni.navigateTo({ url: '/pages/invitationAgentApply' })
|
||||
}
|
||||
}
|
||||
|
||||
function toBindPhone() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/login'
|
||||
|
||||
@@ -2,11 +2,7 @@
|
||||
<view class="min-h-screen bg-gray-50">
|
||||
<!-- 收益列表 -->
|
||||
<uni-list :loading="loading" :loadmore="loadMoreStatus" @loadmore="onLoadMore">
|
||||
<!-- 空状态提示 -->
|
||||
<view v-if="!loading && list.length === 0" class="flex flex-col items-center justify-center py-16">
|
||||
<image src="/static/image/empty.svg" mode="aspectFit" class="w-48 h-48 mb-4" />
|
||||
<text class="text-gray-400 text-base">暂无直推报告</text>
|
||||
</view>
|
||||
<EmptyState v-if="!loading && list.length === 0" text="暂无直推报告" />
|
||||
|
||||
<view v-for="(item, index) in list" :key="index" class="mx-4 my-2 bg-white rounded-lg p-4 shadow-sm">
|
||||
<view class="flex justify-between items-center mb-2">
|
||||
|
||||
@@ -2,11 +2,7 @@
|
||||
<view class="min-h-screen bg-gray-50">
|
||||
<!-- 收益列表 -->
|
||||
<uni-list :loading="loading" :loadmore="loadMoreStatus" @loadmore="onLoadMore">
|
||||
<!-- 空状态提示 -->
|
||||
<view v-if="!loading && list.length === 0" class="flex flex-col items-center justify-center py-16">
|
||||
<image src="/static/image/empty.svg" mode="aspectFit" class="w-48 h-48 mb-4" />
|
||||
<text class="text-gray-400 text-base">暂无收益记录</text>
|
||||
</view>
|
||||
<EmptyState v-if="!loading && list.length === 0" text="暂无收益记录" />
|
||||
|
||||
<view v-for="(item, index) in list" :key="index" class="mx-4 my-2 bg-white rounded-lg p-4 shadow-sm">
|
||||
<view class="flex justify-between items-center mb-2">
|
||||
|
||||
@@ -2,11 +2,7 @@
|
||||
<view class="min-h-screen bg-gray-50">
|
||||
<!-- 提现记录列表 -->
|
||||
<uni-list :loading="loading" :loadmore="loadMoreStatus" @loadmore="onLoadMore">
|
||||
<!-- 空状态提示 -->
|
||||
<view v-if="!loading && list.length === 0" class="flex flex-col items-center justify-center py-16">
|
||||
<image src="/static/image/empty.svg" mode="aspectFit" class="w-48 h-48 mb-4" />
|
||||
<text class="text-gray-400 text-base">暂无提现记录</text>
|
||||
</view>
|
||||
<EmptyState v-if="!loading && list.length === 0" text="暂无提现记录" />
|
||||
|
||||
<view v-for="(item, index) in list" :key="index" class="mx-4 my-2 bg-white rounded-lg p-4 shadow-sm">
|
||||
<view class="flex justify-between items-center mb-2">
|
||||
@@ -35,6 +31,7 @@
|
||||
<script setup>
|
||||
import { ref, reactive, onMounted } from 'vue'
|
||||
import { getWithdrawalRecords } from '@/apis/agent'
|
||||
import { maskName } from '@/utils/format'
|
||||
|
||||
// 状态映射配置
|
||||
const statusConfig = {
|
||||
@@ -74,13 +71,6 @@ const list = ref([])
|
||||
const loading = ref(false)
|
||||
const loadMoreStatus = ref('more') // 'more'|'loading'|'noMore'
|
||||
|
||||
// 账户脱敏处理
|
||||
const maskName = (name) => {
|
||||
if (!name || typeof name !== 'string') return ''
|
||||
if (name.length <= 7) return name
|
||||
return name.substring(0, 3) + '****' + name.substring(7)
|
||||
}
|
||||
|
||||
// 状态转中文
|
||||
const statusToChinese = (status) => {
|
||||
return statusConfig[status]?.chinese || '未知状态'
|
||||
|
||||
|
Before Width: | Height: | Size: 59 KiB |
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1732336609573" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5954" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M860.16 0C950.272 0 1024 73.889684 1024 164.163368v531.509895s-32.768-4.122947-180.224-53.355789c-40.96-14.362947-96.256-34.896842-157.696-57.478737 36.864-63.595789 65.536-137.485474 86.016-215.444211h-202.752v-71.841684h247.808V256.512h-247.808V135.437474h-100.352c-18.432 0-18.432 18.458947-18.432 18.458947v104.663579H200.704v41.040842h249.856v69.793684H243.712v41.013895H645.12c-14.336 51.307789-34.816 98.519579-57.344 141.608421-129.024-43.115789-268.288-77.985684-356.352-55.403789-55.296 14.362947-92.16 38.992842-112.64 63.595789-96.256 116.978526-26.624 295.504842 176.128 295.504842 120.832 0 237.568-67.718737 327.68-178.526316C757.76 742.858105 1024 853.692632 1024 853.692632v6.144C1024 950.110316 950.272 1024 860.16 1024H163.84C73.728 1024 0 950.137263 0 859.836632V164.163368C0 73.889684 73.728 0 163.84 0h696.32zM268.126316 553.121684c93.049263-10.374737 180.062316 26.974316 283.270737 78.874948-74.886737 95.501474-165.941895 155.701895-256.970106 155.701894-157.830737 0-204.368842-126.652632-125.466947-197.200842 26.300632-22.851368 72.838737-35.301053 99.166316-37.376z" fill="#00A0EA" p-id="5955"></path></svg>
|
||||
|
Before Width: | Height: | Size: 1.4 KiB |
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1732615487801" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3146" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M905.714286 694.285714q-22.285714 71.428571-70.285714 142.857143-73.714286 112-146.857143 112-28 0-80-18.285714-49.142857-18.285714-86.285714-18.285714-34.857143 0-81.142857 18.857143-46.285714 19.428571-75.428571 19.428571-86.857143 0-172-148-84-149.142857-84-287.428571 0-130.285714 64.571429-213.714286 64-82.285714 162.285714-82.285714 41.142857 0 101.142857 17.142857 59.428571 17.142857 78.857143 17.142857 25.714286 0 81.714286-19.428571 58.285714-19.428571 98.857143-19.428571 68 0 121.714286 37.142857 29.714286 20.571429 59.428571 57.142857-45.142857 38.285714-65.142857 67.428571-37.142857 53.714286-37.142857 118.285714 0 70.857143 39.428571 127.428571t90.285714 72zm-214.857143-670.285714q0 34.857143-16.571429 77.714286-17.142857 42.857143-53.142857 78.857143-30.857143 30.857143-61.714286 41.142857-21.142857 6.285714-59.428571 9.714286 1.714286-85.142857 44.571429-146.857143 42.285714-61.142857 142.857143-84.571429 0.571429 1.714286 1.428571 6.285714t1.428571 6.285714q0 2.285714 2.857143 5.714286t2.857143 5.714286z" p-id="3147"></path></svg>
|
||||
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 8.9 KiB |
BIN
src/static/image/footbanner.jpg
Normal file
|
After Width: | Height: | Size: 112 KiB |
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1733324501181" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6340" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M339.162366 1023.729653c-95.973119 0-127.972351-435.012601-127.97235-518.254842 0-63.900156 121.557758-115.167743 121.557758-115.167743h127.972351s6.390016 51.193856 31.950078 63.900156C466.962679 479.865595 441.476347 742.224889 460.670971 799.759606a214.974871 214.974871 0 0 0 51.193856 95.973119 227.681171 227.681171 0 0 0 63.900156-95.973119c6.414593-51.193856 0-307.212288-25.58464-345.503228a90.394144 90.394144 0 0 0 25.58464-63.900156h127.97235s115.143166 44.80384 108.753151 115.167743c0 76.778495-44.80384 505.450234-140.776959 518.254842z m511.864827-204.750846c12.780031-51.193856 19.170047-319.918589-19.194624-390.307068s-147.166975-89.558526-147.166974-102.363135c0-6.390016 25.584639-12.780031 44.80384-12.780031h211.140861a84.692284 84.692284 0 0 1 83.193088 83.168511l-25.682947 351.893244c-6.414593 51.193856-44.779263 70.38848-102.387712 70.388479z m-729.395704 0c-57.583871 0-89.583103-19.194624-102.363134-70.388479L0 396.697084a84.692284 84.692284 0 0 1 83.168511-83.168511h204.750846c19.170047 0 44.80384 0 44.80384 12.780031s-108.777727 31.950078-147.166975 102.363135-31.950078 339.162366-19.194624 390.307068z m230.261755-652.617209A169.384567 169.384567 0 0 1 518.254842 0a169.581183 169.581183 0 0 1 0 339.162366 170.785455 170.785455 0 0 1-166.361598-172.800768z m377.50246 12.780032a101.060554 101.060554 0 0 1 102.363134-102.363135 95.850234 95.850234 0 0 1 102.363135 95.973119 101.060554 101.060554 0 0 1-102.363135 102.363135 99.635089 99.635089 0 0 1-102.363134-95.973119z m-639.812601 0A101.060554 101.060554 0 0 1 191.946238 76.778495a99.659666 99.659666 0 0 1 102.363134 95.973119 101.060554 101.060554 0 0 1-102.363134 102.363135 95.850234 95.850234 0 0 1-102.363135-95.973119z" fill="#4B64FA" p-id="6341"></path></svg>
|
||||
|
Before Width: | Height: | Size: 2.0 KiB |
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1733326573199" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9341" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M390.063158 950.649263a104.286316 104.286316 0 0 0-10.644211 50.149053H26.947368v-150.042948c0-220.779789 177.259789-400.410947 395.290948-400.410947 68.985263 0 133.820632 18.081684 190.383158 49.744842l-222.558316 450.56z m32.175158-550.346105c-109.029053 0-197.658947-89.869474-197.658948-200.218947C224.579368 89.788632 313.236211 0 422.265263 0s197.632 89.734737 197.632 200.218947c0 110.322526-88.656842 200.084211-197.632 200.084211z m571.930947 583.895579c8.973474 18.270316-4.149895 39.801263-24.306526 39.801263H480.741053c-20.156632 0-33.306947-21.530947-24.306527-39.801263l244.601263-495.400421a27.028211 27.028211 0 0 1 48.613053 0l244.493474 495.400421z m-296.016842-42.738526h54.298947v-55.080422h-54.298947v55.080422z m0-110.133895h54.298947v-137.620211h-54.298947v137.620211z" fill="#4B64FA" p-id="9342"></path></svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1733326791000" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="28866" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M425.3 245.5c80.1 0 126.4 50.8 126.4 147.4 0 55.2-19 102.2-47.9 132.4-9.1 15.2-13.9 37.5-13.9 47.4 0 5.9 4.6 13.7 13 21.9-20.1 9.4-32.7 29-32.5 50.5v22.8c0 24.7 16 45.4 38.5 52.9-8.7 19.1-6.1 41.1 6.7 57.9h-339c-12.7 0-23-10.1-23-24 0-30.9 4.6-51.4 13.7-61.4 22.5-24.7 70.7-46.4 118.3-62.9 47.6-16.4 74.5-42.8 74.5-57.6 0-10.2-5-33.6-14.6-48.8-28.2-30.2-46.6-76.7-46.6-131 0.1-96.8 46.4-147.5 126.4-147.5z m241 266.7l66.9 68.4-9.8 8.6 15.4 16.6-10.3 9 128.3 125.3c6.6 6.3 22.4 21.6 7.1 33.8-15.4 12.2-29.4-4.9-36-11.2l-125.6-124-12.2 10.8-15.4-16.6-8.9 7.6-66.4-68.4 66.9-59.9z m50.8 205.9c7.9 0 14.5 6.3 14.5 14l0.5 3.6c11.7 0 21 9 21 20.2v18h-201v-18c0-11.2 9.3-20.2 21-20.2h1.4v-3.6c0-7.7 6.6-14 14.5-14h128.1zM593.3 578.4l65.5 67.5c6.6 6.7 6.6 18-1 24.3l-10.3 9c-7 6.3-18.7 5.8-25.2-1l-65.5-67.5c-6.6-6.7-6.6-18 1-24.3l10.3-9c7-6.2 18.7-6.2 25.2 1z m116.5-104l65.5 67.5c6.6 6.7 6.6 18-1 24.3l-10.3 9c-7 6.3-18.7 6.3-25.2-0.9l-65.5-67.4c-6.6-6.7-6.6-18 1-24.3l10.3-9c6.9-6.4 18.1-5.9 25.2 0.8z" fill="#4B64FA" p-id="28867"></path></svg>
|
||||
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 27 KiB |
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1740754594473" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="36608" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M102.4 256a102.4 102.4 0 0 1 102.4-102.4h340.2752a102.4 102.4 0 0 1 95.0784 64.3584L665.6 281.6c3.3792 8.3968 5.4272 17.0496 6.2464 25.6H819.2a51.2 51.2 0 0 1 51.2 51.2v512a51.2 51.2 0 0 1-51.2 51.2H153.6a51.2 51.2 0 0 1-51.2-51.2V256z" fill="#2357DF" opacity=".5" p-id="36609"></path><path d="M238.592 409.6h681.8304a51.2 51.2 0 0 1 50.176 61.44l-83.8656 409.6a51.2 51.2 0 0 1-50.176 40.96H154.7776a51.2 51.2 0 0 1-50.176-61.44l83.8656-409.6a51.2 51.2 0 0 1 50.176-40.96z" fill="#2357DF" p-id="36610"></path><path d="M358.4 640m25.6 0l307.2 0q25.6 0 25.6 25.6l0 0q0 25.6-25.6 25.6l-307.2 0q-25.6 0-25.6-25.6l0 0q0-25.6 25.6-25.6Z" fill="#FFFFFF" p-id="36611"></path></svg>
|
||||
|
Before Width: | Height: | Size: 1007 B |
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1740754594473" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="36608" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M102.4 256a102.4 102.4 0 0 1 102.4-102.4h340.2752a102.4 102.4 0 0 1 95.0784 64.3584L665.6 281.6c3.3792 8.3968 5.4272 17.0496 6.2464 25.6H819.2a51.2 51.2 0 0 1 51.2 51.2v512a51.2 51.2 0 0 1-51.2 51.2H153.6a51.2 51.2 0 0 1-51.2-51.2V256z" fill="#2357DF" opacity=".5" p-id="36609"></path><path d="M238.592 409.6h681.8304a51.2 51.2 0 0 1 50.176 61.44l-83.8656 409.6a51.2 51.2 0 0 1-50.176 40.96H154.7776a51.2 51.2 0 0 1-50.176-61.44l83.8656-409.6a51.2 51.2 0 0 1 50.176-40.96z" fill="#2357DF" p-id="36610"></path><path d="M358.4 640m25.6 0l307.2 0q25.6 0 25.6 25.6l0 0q0 25.6-25.6 25.6l-307.2 0q-25.6 0-25.6-25.6l0 0q0-25.6 25.6-25.6Z" fill="#FFFFFF" p-id="36611"></path></svg>
|
||||
|
Before Width: | Height: | Size: 1007 B |
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1741855510780" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2636" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M853.64224 76.7488H155.25888c-49.03424 0-88.75008 40.14592-88.75008 89.18528l-0.41472 766.18752c-0.00512 13.45024 16.256 20.18816 25.76384 10.68032l148.16256-148.16256a15.09376 15.09376 0 0 1 10.6752-4.41856h602.94656c57.34912 0 104.26368-46.9248 104.26368-104.2688V181.02784c0-57.35424-46.91456-104.27904-104.26368-104.27904z m-299.33056 544.1792a15.09376 15.09376 0 0 1-15.08864 15.08864H472.73472a15.09376 15.09376 0 0 1-15.09376-15.08864v-60.5696a15.09376 15.09376 0 0 1 15.09376-15.08864h66.4832a15.09376 15.09376 0 0 1 15.08864 15.08864v60.5696h0.00512z m39.45984-199.94112c-35.16928 24.76032-51.65056 48.84992-49.39776 72.30464 0.05632 0.4608 0.08704 0.9216 0.08704 1.3824a15.08864 15.08864 0 0 1-15.09376 15.08864h-48.73216a15.08352 15.08352 0 0 1-15.08864-15.08864v-6.60992c-1.32608-40.61184 15.6672-72.77056 50.92352-96.41984 0.24064-0.16384 0.49152-0.33792 0.72704-0.51712 32.6144-24.86784 48.2816-48.45056 46.99136-70.74816-2.62144-27.33056-18.0992-42.40896-46.4384-45.29152a16.45568 16.45568 0 0 0-1.81248-0.08192c-31.42144 0.3584-52.42368 19.4816-62.98112 57.3696a15.13472 15.13472 0 0 1-17.4592 10.85952L374.1696 331.23328a15.11424 15.11424 0 0 1-11.70944-18.61632c20.54144-80.15872 76.60032-118.99392 168.17152-116.5312 81.30048 5.25312 126.0032 41.89696 134.08256 109.88544 0.0512 0.38912 0.08192 0.78848 0.10752 1.1776 2.3808 44.47744-21.2992 82.41152-71.05024 113.83808z" fill="#397B8B" p-id="2637"></path></svg>
|
||||
|
Before Width: | Height: | Size: 1.7 KiB |
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1740754612192" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="39491" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M887.456923 331.598922C867.952667 146.308492 707.042557 2.464607 516.876064 0.026575 307.205315-2.411457 134.105045 163.374716 134.105045 368.169401c0 134.091758 73.140959 253.555324 190.166494 319.382188l7.314096 75.578991c2.438032 14.628192 14.628192 24.38032 29.256383 24.380319h299.877932c14.628192 0 26.818352-12.19016 29.256383-24.380319l7.314096-75.578991c131.653726-70.702927 204.794685-207.232717 190.166494-355.952667zM321.833507 360.855305c0 17.066224-14.628192 29.256384-29.256384 29.256384s-29.256384-12.19016-29.256383-29.256384c0-9.752128 0-17.066224 2.438031-26.818351 2.438032-17.066224 17.066224-26.818352 34.132448-26.818352 17.066224 2.438032 29.256384 17.066224 26.818352 31.694416-2.438032 9.752128-4.876064 14.628192-4.876064 21.942287z m190.166493-185.290429c-70.702927 0-134.091758 36.570479-165.786174 97.521279-4.876064 9.752128-14.628192 14.628192-26.818351 14.628191-4.876064 0-9.752128 0-14.628192-2.438032-14.628192-7.314096-19.504256-24.38032-12.19016-39.008511 43.884575-78.017023 126.777662-126.777662 219.422877-126.777662 17.066224 0 29.256384 12.19016 29.256384 29.256383s-12.19016 26.818352-29.256384 26.818352zM343.775794 833.833507c-2.438032 9.752128-2.438032 17.066224-2.438032 26.818351 0 90.207183 75.578991 163.348142 168.224206 163.348142 92.645215 0 168.224206-73.140959 168.224206-163.348142 0-9.752128 0-19.504256-2.438032-26.818351H343.775794z" fill="#F5B53A" p-id="39492"></path></svg>
|
||||
|
Before Width: | Height: | Size: 1.7 KiB |
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1739431145867" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1589" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M795.442 73a38 38 0 0 1 35.204 23.693L951.218 393.37c7.042 17.326 0.43 37.2-15.589 46.854l-2.63 1.583L933 860c0 52.49-42.125 95.14-94.412 95.987L837 956H198c-52.49 0-95.14-42.125-95.987-94.412L102 860V450.436l-16.391-10.474c-15.605-9.972-21.727-29.72-14.57-46.741l0.22-0.515L201.222 95.764A38 38 0 0 1 236.034 73z m-77.406 373.306l-37.677 22.708c-41.905 25.255-94.4 24.824-135.854-1.01l-1.252-0.79-32.717-20.908-37.677 22.708c-41.905 25.255-94.4 24.824-135.854-1.01l-1.252-0.79-32.717-20.908-39.657 23.901c-30.927 18.64-67.792 22.875-101.38 12.828L162 860c0 19.683 15.797 35.677 35.405 35.995L198 896h639c19.683 0 35.677-15.797 35.995-35.405L873 860V476.714c-39.43 17.315-85.348 14.08-122.247-9.5l-32.717-20.908z m62.598-313.307H250.42L133.766 399.531l28.744 18.37a66.275 66.275 0 0 0 69.25 1.303l0.648-0.386 71.555-43.124 64.099 40.962a70 70 0 0 0 73.827 0.969l69.574-41.931 64.099 40.962a70 70 0 0 0 73.827 0.969l69.574-41.931 64.099 40.962a70 70 0 0 0 73.827 0.969l31.665-19.084-107.92-265.542z" fill="#1296db" p-id="1590"></path><path d="M335.81 565.173l54.876 0.41 82.301 190-55.056 23.85-16.649-38.434h-78.957l-17.52 38.844-54.693-24.67 85.699-190z m26.792 86.529l-13.215 29.297h25.905l-12.69-29.297zM502.395 561.66l60 0.11v0.236l0.492 0.005c45.692 0.736 82.613 37.772 82.613 83.489 0 45.717-36.92 82.753-82.613 83.489l-0.803 0.005-0.084 46.061-60-0.11 0.395-213.286z m59.888 60.352l-0.087 46.978c12.991-0.36 23.304-10.8 23.304-23.49 0-12.662-10.267-23.083-23.217-23.488zM691.697 561.66l60 0.11-0.394 213.285-60-0.11z" fill="#1296db" p-id="1591"></path></svg>
|
||||
|
Before Width: | Height: | Size: 1.9 KiB |
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1736930506398" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18562" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M997.307733 535.210667A353.09568 353.09568 0 0 1 791.893333 600.746667c-59.255467 0-115.0976-14.609067-164.2496-40.277334-149.9136 11.0592-300.987733 1.024-448.7168-30.378666 24.712533-67.9936 46.011733-131.549867 74.205867-193.262934a57.685333 57.685333 0 0 1 37.205333-25.463466l152.234667-2.389334C438.954667 288.426667 436.906667 267.332267 436.906667 245.76c0-8.055467 0.341333-16.042667 0.887466-23.9616-62.805333 0.6144-110.523733 3.345067-121.105066 5.3248-71.8848 5.870933-132.369067 56.1152-151.483734 125.610667-14.472533 47.104-31.470933 93.3888-50.926933 138.717866-3.549867 9.216-15.223467 21.367467-21.2992 21.367467C40.96 508.040533 20.548267 539.716267 5.3248 580.471467a61.269333 61.269333 0 0 0 0 24.917333l53.6576 13.789867c-3.072 74.205867-3.072 147.933867-3.072 221.5936 0 39.7312 0 78.301867 3.072 119.057066 0.136533 19.456 6.485333 38.2976 18.158933 53.8624a477.934933 477.934933 0 0 0 166.0928 0c11.127467-4.096 16.725333-61.986133 26.350934-96.597333h492.1344c12.0832 32.494933-11.195733 72.635733 26.282666 96.597333a475.436373 475.436373 0 0 0 162.133334-3.072 80.827733 80.827733 0 0 0 17.2032-46.557866V682.3936c-1.092267-20.48-3.4816-40.891733-7.031467-61.098667l57.7536-15.496533c2.594133-10.376533 2.594133-21.162667 0-31.5392-2.935467-15.428267-10.4448-28.808533-20.753067-39.048533z m-688.128 206.848a50.223787 50.223787 0 0 1-32.836266 24.917333c-17.885867 3.072-36.0448 4.096-54.203734 3.072l2.389334-1.160533c-28.330667-2.594133-53.179733-3.549867-79.0528-8.669867-32.904533-7.031467-43.281067-31.470933-32.904534-75.639467 5.051733-30.037333 29.422933-31.5392 50.722134-24.507733a1187.089067 1187.089067 0 0 1 126.634666 50.926933c10.103467 4.642133 21.845333 23.483733 19.2512 31.061334z m576.375467 17.681066c-26.282667 4.9152-52.8384 8.3968-79.530667 10.376534h-0.273066v-0.546134c-22.9376-0.6144-45.738667-2.594133-68.4032-6.075733-25.326933-5.597867-33.3824-35.157333-11.127467-45.806933 49.152-23.074133 99.9424-42.461867 152.029867-57.9584 20.753067-6.075733 34.542933 6.621867 35.976533 33.518933 1.4336 26.965333 9.216 58.026667-28.672 66.491733z" p-id="18563" fill="#1296db"></path><path d="M589.073067 230.263467h7.645866c0 88.064 72.772267 160.836267 160.836267 160.836266s160.836267-72.772267 160.836267-160.836266-72.772267-160.836267-160.836267-160.836267-160.836267 72.704-160.836267 160.836267h-7.645866z m421.205333 210.5344c11.4688 11.4688 11.4688 30.651733 0 42.120533s-30.651733 11.4688-42.120533 0L891.562667 406.3232c-38.2976 30.651733-84.241067 45.943467-134.075734 45.943467-122.538667 0-222.0032-99.601067-222.0032-222.0032 0-122.538667 99.601067-222.0032 222.0032-222.0032 122.538667 0 222.0032 99.601067 222.0032 222.0032 0 49.7664-15.291733 95.778133-45.943466 134.075733l76.731733 76.458667z" p-id="18564" fill="#1296db"></path></svg>
|
||||
|
Before Width: | Height: | Size: 3.1 KiB |
@@ -1 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1739523534229" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14507" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M491.52 0c-20.48 0-40.96 2.275556-59.164444 4.551111-47.786667 4.551111-93.297778 15.928889-136.533334 31.857778 0 0 354.986667 336.782222 364.088889 350.435555V27.306667c-11.377778-4.551111-20.48-6.826667-31.857778-9.102223-43.235556-11.377778-88.746667-18.204444-136.533333-18.204444z" fill="#F26848" p-id="14508"></path><path d="M853.333333 118.328889c-13.653333-15.928889-29.582222-29.582222-45.511111-40.96C769.137778 45.511111 728.177778 20.48 682.666667 0c0 0 2.275556 530.204444 0 546.133333l273.066666-279.893333c-4.551111-11.377778-11.377778-20.48-15.928889-31.857778-22.755556-40.96-52.337778-79.644444-86.471111-116.053333z" fill="#5D62D4" p-id="14509"></path><path d="M987.591111 295.822222S650.808889 650.808889 637.155556 659.911111h359.537777c4.551111-11.377778 6.826667-20.48 9.102223-31.857778 11.377778-43.235556 18.204444-88.746667 18.204444-136.533333 0-20.48-2.275556-40.96-4.551111-59.164444-4.551111-47.786667-15.928889-93.297778-31.857778-136.533334z" fill="#4694E9" p-id="14510"></path><path d="M757.76 955.733333c9.102222-4.551111 20.48-11.377778 29.582222-15.928889 38.684444-22.755556 75.093333-52.337778 106.951111-86.471111 13.653333-13.653333 27.306667-29.582222 38.684445-45.511111 27.306667-38.684444 52.337778-79.644444 70.542222-125.155555 0 0-484.693333 2.275556-500.622222 0l254.862222 273.066666z" fill="#69DEF0" p-id="14511"></path><path d="M364.088889 637.155556v359.537777c11.377778 4.551111 20.48 6.826667 31.857778 9.102223 43.235556 11.377778 88.746667 18.204444 136.533333 18.204444 20.48 0 40.96-2.275556 59.164444-4.551111 47.786667-4.551111 93.297778-15.928889 136.533334-34.133333C728.177778 987.591111 373.191111 650.808889 364.088889 637.155556z" fill="#83E45A" p-id="14512"></path><path d="M341.333333 455.111111L68.266667 735.004444c4.551111 11.377778 11.377778 20.48 15.928889 31.857778 22.755556 43.235556 52.337778 81.92 86.471111 116.053334 13.653333 15.928889 29.582222 29.582222 45.511111 40.96C254.862222 955.733333 298.097778 983.04 341.333333 1001.244444c0 0-2.275556-530.204444 0-546.133333z" fill="#BBDC64" p-id="14513"></path><path d="M18.204444 395.946667c-11.377778 43.235556-18.204444 88.746667-18.204444 136.533333 0 20.48 2.275556 40.96 4.551111 59.164444 4.551111 47.786667 15.928889 93.297778 34.133333 136.533334 0 0 336.782222-354.986667 350.435556-364.088889H27.306667c-4.551111 11.377778-6.826667 20.48-9.102223 31.857778z" fill="#F3DF68" p-id="14514"></path><path d="M248.035556 84.195556C207.075556 106.951111 170.666667 136.533333 136.533333 170.666667c-13.653333 13.653333-27.306667 29.582222-40.96 45.511111C65.991111 254.862222 40.96 295.822222 22.755556 341.333333c0 0 507.448889-2.275556 523.377777 0L277.617778 68.266667c-11.377778 4.551111-20.48 11.377778-29.582222 15.928889z" fill="#F7B964" p-id="14515"></path></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" class="icon" viewBox="0 0 1024 1024"><path fill="#F26848" d="M491.52 0c-20.48 0-40.96 2.276-59.164 4.551-47.787 4.551-93.298 15.929-136.534 31.858 0 0 354.987 336.782 364.09 350.435V27.307c-11.379-4.551-20.48-6.827-31.859-9.103C584.818 6.827 539.307 0 491.52 0"/><path fill="#5D62D4" d="M853.333 118.329c-13.653-15.929-29.582-29.582-45.51-40.96C769.137 45.51 728.177 20.48 682.666 0c0 0 2.275 530.204 0 546.133L955.733 266.24c-4.55-11.378-11.377-20.48-15.929-31.858-22.755-40.96-52.337-79.644-86.47-116.053"/><path fill="#4694E9" d="M987.591 295.822S650.81 650.81 637.156 659.912h359.537c4.551-11.379 6.827-20.48 9.103-31.859C1017.173 584.818 1024 539.307 1024 491.52c0-20.48-2.276-40.96-4.551-59.164-4.551-47.787-15.929-93.298-31.858-136.534"/><path fill="#69DEF0" d="M757.76 955.733c9.102-4.55 20.48-11.377 29.582-15.929 38.685-22.755 75.094-52.337 106.951-86.47 13.654-13.654 27.307-29.583 38.685-45.512 27.306-38.684 52.338-79.644 70.542-125.155 0 0-484.693 2.275-500.622 0z"/><path fill="#83E45A" d="M364.089 637.156v359.537c11.378 4.551 20.48 6.827 31.858 9.103C439.182 1017.173 484.693 1024 532.48 1024c20.48 0 40.96-2.276 59.164-4.551q71.68-6.827 136.534-34.133c0 2.275-354.987-334.507-364.09-348.16"/><path fill="#BBDC64" d="M341.333 455.111 68.267 735.004c4.55 11.378 11.377 20.48 15.929 31.858 22.755 43.236 52.337 81.92 86.47 116.054 13.654 15.928 29.583 29.582 45.512 40.96 38.684 31.857 81.92 59.164 125.155 77.368 0 0-2.275-530.204 0-546.133"/><path fill="#F3DF68" d="M18.204 395.947C6.827 439.182 0 484.693 0 532.48c0 20.48 2.276 40.96 4.551 59.164q6.827 71.68 34.133 136.534S375.467 373.19 389.12 364.088H27.307c-4.551 11.379-6.827 20.48-9.103 31.859"/><path fill="#F7B964" d="M248.036 84.196c-40.96 22.755-77.37 52.337-111.503 86.47-13.653 13.654-27.306 29.583-40.96 45.512-29.582 38.684-54.613 79.644-72.817 125.155 0 0 507.448-2.275 523.377 0L277.618 68.267c-11.378 4.55-20.48 11.377-29.582 15.929"/></svg>
|
||||
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 1.9 KiB |
@@ -1 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1739523547121" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="15535" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M1024 512c0 282.794667-229.205333 512-512 512S0 794.794667 0 512 229.205333 0 512 0s512 229.205333 512 512" fill="#FA7268" p-id="15536"></path><path d="M685.226667 355.157333h-27.374934a20.616533 20.616533 0 0 0-20.6848 20.718934c0 11.434667 9.216 20.650667 20.6848 20.650666h27.374934c5.051733 0 9.216 4.130133 9.216 9.216v305.732267a9.216 9.216 0 0 1-9.216 9.216H339.114667a9.216 9.216 0 0 1-9.216-9.216v-305.732267c0-5.085867 4.096-9.216 9.216-9.216h27.989333c11.4688 0 20.6848-9.216 20.6848-20.6848a20.616533 20.616533 0 0 0-20.6848-20.650666h-27.989333a50.517333 50.517333 0 0 0-50.5856 50.551466v305.732267c0 27.989333 22.562133 50.5856 50.551466 50.5856h345.8048a50.517333 50.517333 0 0 0 50.5856-50.5856v-305.732267a50.005333 50.005333 0 0 0-50.244266-50.5856" fill="#FFFFFF" p-id="15537"></path><path d="M480.6656 500.565333a20.923733 20.923733 0 0 0-29.2864 0l-86.8352 86.8352a20.923733 20.923733 0 0 0 0 29.2864c4.130133 4.096 9.216 6.007467 14.6432 6.007467a20.241067 20.241067 0 0 0 14.6432-6.007467l72.192-72.226133 72.226133 72.226133a4.949333 4.949333 0 0 0 1.604267 1.262934 20.241067 20.241067 0 0 0 13.0048 4.437333 18.944 18.944 0 0 0 9.250133-2.218667 20.514133 20.514133 0 0 0 5.393067-3.822933l86.8352-86.869333a20.855467 20.855467 0 0 0 0-29.252267 20.923733 20.923733 0 0 0-29.218133 0l-72.260267 72.226133-72.192-71.8848zM497.834667 440.763733c4.130133 4.130133 9.216 6.0416 14.6432 6.0416a20.206933 20.206933 0 0 0 14.6432-6.0416l87.7568-87.825066a20.855467 20.855467 0 0 0 0-29.252267 20.8896 20.8896 0 0 0-29.218134 0L532.821333 376.490667V231.424a20.616533 20.616533 0 0 0-20.650666-20.650667 20.616533 20.616533 0 0 0-20.6848 20.650667v144.418133l-52.189867-51.882666a20.957867 20.957867 0 0 0-29.252267 0 20.923733 20.923733 0 0 0 0 29.320533l87.790934 87.483733z" fill="#FFFFFF" p-id="15538"></path></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" class="icon" viewBox="0 0 1024 1024"><path fill="#FA7268" d="M1024 512c0 282.795-229.205 512-512 512S0 794.795 0 512 229.205 0 512 0s512 229.205 512 512"/><path fill="#FFF" d="M685.227 355.157h-27.375a20.617 20.617 0 0 0-20.685 20.72c0 11.434 9.216 20.65 20.685 20.65h27.375c5.051 0 9.216 4.13 9.216 9.216v305.732a9.216 9.216 0 0 1-9.216 9.216H339.115a9.216 9.216 0 0 1-9.216-9.216V405.743a9.2 9.2 0 0 1 9.216-9.216h27.989a20.63 20.63 0 0 0 20.685-20.685 20.617 20.617 0 0 0-20.685-20.65h-27.99a50.517 50.517 0 0 0-50.585 50.55v305.733c0 27.99 22.562 50.586 50.552 50.586h345.804a50.517 50.517 0 0 0 50.586-50.586V405.743a50.005 50.005 0 0 0-50.244-50.586"/><path fill="#FFF" d="M480.666 500.565a20.924 20.924 0 0 0-29.287 0l-86.835 86.836a20.924 20.924 0 0 0 0 29.286c4.13 4.096 9.216 6.007 14.643 6.007a20.24 20.24 0 0 0 14.643-6.007l72.192-72.226 72.227 72.226a4.95 4.95 0 0 0 1.604 1.263 20.24 20.24 0 0 0 13.005 4.437 18.94 18.94 0 0 0 9.25-2.218 20.5 20.5 0 0 0 5.393-3.823l86.835-86.87a20.855 20.855 0 0 0 0-29.252 20.924 20.924 0 0 0-29.218 0l-72.26 72.226zm17.169-59.801c4.13 4.13 9.216 6.041 14.643 6.041a20.2 20.2 0 0 0 14.643-6.041l87.757-87.825a20.855 20.855 0 0 0 0-29.253 20.89 20.89 0 0 0-29.218 0l-52.839 52.805V231.424a20.617 20.617 0 0 0-20.65-20.65 20.617 20.617 0 0 0-20.685 20.65v144.418l-52.19-51.883a20.96 20.96 0 0 0-29.252 0 20.924 20.924 0 0 0 0 29.321z"/></svg>
|
||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -1 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1739523560037" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="16553" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M512 0C229.376 0 0 229.376 0 512s229.376 512 512 512 512-229.376 512-512S794.624 0 512 0z" fill="#0087FF" p-id="16554"></path><path d="M575.8976 449.536l-11.264-11.264c-5.7344-5.7344-11.264-5.7344-16.9984-5.7344-14.1312 0-25.6 11.264-25.6 25.6 0 5.7344 2.8672 11.264 5.7344 16.9984 0 0 2.8672 2.8672 5.7344 2.8672 2.8672 2.8672 5.7344 2.8672 5.7344 5.7344l2.8672 2.8672c25.6 25.6 16.9984 70.8608-8.6016 96.256l-110.592 110.592c-25.6 25.6-67.9936 25.6-93.5936 0l-2.8672-2.8672c-25.6-25.6-25.6-67.9936 0-93.5936l48.128-48.128c5.7344-5.7344 11.264-11.264 11.264-22.7328 0-14.1312-11.264-28.2624-28.2624-28.2624-5.7344 2.8672-11.264 5.7344-14.1312 8.6016-2.8672 0-2.8672 2.8672-5.7344 5.7344L286.72 560.3328c-48.128 48.128-48.128 127.5904 0 175.7184l2.8672 2.8672c48.128 48.128 127.5904 48.128 175.7184 0l110.592-110.592c48.128-51.4048 50.9952-127.7952 0-178.7904z m0 0" fill="#FFFFFF" p-id="16555"></path><path d="M737.4848 287.9488c-50.9952-50.9952-130.4576-50.9952-175.7184-2.8672l-113.2544 110.592c-48.128 48.128-50.9952 116.1216-2.8672 167.1168h2.8672l11.264 11.264c2.8672 2.8672 8.6016 2.8672 11.264 2.8672 14.1312 0 22.7328-11.264 22.7328-22.7328 0-2.8672 0-8.6016-2.8672-11.264 0-5.7344-5.7344-11.264-8.6016-14.1312l-2.8672-2.8672c-25.6-25.6-16.9984-62.2592 8.6016-90.7264l110.592-110.592c25.6-25.6 67.9936-25.6 93.5936 0l2.8672 2.8672c25.6 25.6 25.6 67.9936 0 93.5936l-48.128 48.128c-5.7344 5.7344-11.264 14.1312-11.264 22.7328 0 14.1312 11.264 28.2624 28.2624 28.2624 5.7344 0 11.264 0 14.1312-2.8672 2.8672-2.8672 5.7344-2.8672 5.7344-5.7344l50.9952-48.128c50.7904-50.7904 50.7904-127.3856 2.6624-175.5136z m0 0" fill="#FFFFFF" p-id="16556"></path></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" class="icon" viewBox="0 0 1024 1024"><path fill="#0087FF" d="M512 0C229.376 0 0 229.376 0 512s229.376 512 512 512 512-229.376 512-512S794.624 0 512 0"/><path fill="#FFF" d="m575.898 449.536-11.264-11.264c-5.735-5.734-11.264-5.734-16.999-5.734-14.131 0-25.6 11.264-25.6 25.6 0 5.734 2.867 11.264 5.735 16.998 0 0 2.867 2.867 5.734 2.867 2.867 2.867 5.734 2.867 5.734 5.735l2.868 2.867c25.6 25.6 16.998 70.86-8.602 96.256L422.912 693.453c-25.6 25.6-67.994 25.6-93.594 0l-2.867-2.867c-25.6-25.6-25.6-67.994 0-93.594l48.128-48.128c5.735-5.734 11.264-11.264 11.264-22.733 0-14.131-11.264-28.262-28.262-28.262-5.735 2.867-11.264 5.734-14.131 8.601-2.868 0-2.868 2.868-5.735 5.735l-50.995 48.128c-48.128 48.128-48.128 127.59 0 175.718l2.867 2.867c48.128 48.128 127.59 48.128 175.719 0l110.592-110.592c48.128-51.404 50.995-127.795 0-178.79m0 0"/><path fill="#FFF" d="M737.485 287.949c-50.995-50.995-130.458-50.995-175.719-2.867L448.512 395.674c-48.128 48.128-50.995 116.121-2.867 167.116h2.867l11.264 11.264c2.867 2.868 8.602 2.868 11.264 2.868 14.131 0 22.733-11.264 22.733-22.733 0-2.867 0-8.602-2.867-11.264 0-5.735-5.735-11.264-8.602-14.131l-2.867-2.868c-25.6-25.6-16.999-62.259 8.601-90.726L598.63 324.608c25.6-25.6 67.994-25.6 93.594 0l2.867 2.867c25.6 25.6 25.6 67.994 0 93.594l-48.128 48.128c-5.734 5.734-11.264 14.131-11.264 22.733 0 14.13 11.264 28.262 28.263 28.262 5.734 0 11.264 0 14.13-2.867 2.868-2.867 5.735-2.867 5.735-5.735l50.995-48.128c50.79-50.79 50.79-127.385 2.663-175.513m0 0"/></svg>
|
||||
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -1 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1739523523170" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13404" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M512 512m-512 0a512 512 0 1 0 1024 0 512 512 0 1 0-1024 0Z" fill="#15C521" p-id="13405"></path><path d="M665.00608 409.47712c3.66592 0 7.24992 0.06144 10.83392 0.24576-18.96448-104.448-125.68576-184.44288-254.50496-184.44288C279.10144 225.28 163.84 322.7648 163.84 443.02336c0 70.51264 39.6288 133.20192 101.0688 172.99456l2.37568 1.49504L242.3808 696.32l93.10208-47.9232 4.38272 1.24928a300.8512 300.8512 0 0 0 98.77504 10.56768 170.63936 170.63936 0 0 1-8.192-51.93728c0-109.7728 105.0624-198.79936 234.55744-198.79936z m-154.07104-76.84096c19.968 0 36.1472 15.83104 36.1472 35.40992 0 19.51744-16.1792 35.38944-36.1472 35.38944-19.98848 0-36.1472-15.872-36.1472-35.38944 0-19.57888 16.1792-35.40992 36.1472-35.40992z m-179.2 70.79936c-19.968 0-36.1472-15.872-36.1472-35.38944 0-19.57888 16.1792-35.40992 36.1472-35.40992 19.98848 0 36.18816 15.83104 36.18816 35.40992 0 19.51744-16.19968 35.38944-36.18816 35.38944z" fill="#FFFFFF" p-id="13406"></path><path d="M450.56 609.93536c0 99.34848 96.29696 179.89632 215.08096 179.89632a253.07136 253.07136 0 0 0 71.68-10.26048L815.02208 819.2l-20.76672-65.1264 1.98656-1.2288C847.52384 719.9744 880.64 668.20096 880.64 609.93536 880.64 510.60736 784.384 430.08 665.64096 430.08 546.85696 430.08 450.56 510.60736 450.56 609.93536z m259.6864-61.952c0-16.13824 13.49632-29.20448 30.16704-29.20448 16.71168 0 30.22848 13.06624 30.22848 29.20448 0 16.1792-13.5168 29.26592-30.22848 29.26592-16.67072 0-30.16704-13.1072-30.16704-29.26592z m-149.66784 0c0-16.13824 13.5168-29.20448 30.208-29.20448 16.6912 0 30.208 13.06624 30.208 29.20448 0 16.1792-13.5168 29.26592-30.208 29.26592-16.6912 0-30.208-13.1072-30.208-29.26592z" fill="#FFFFFF" p-id="13407"></path></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" class="icon" viewBox="0 0 1024 1024"><path fill="#15C521" d="M0 512a512 512 0 1 0 1024 0A512 512 0 1 0 0 512"/><path fill="#FFF" d="M665.006 409.477c3.666 0 7.25.062 10.834.246C656.876 305.275 550.154 225.28 421.335 225.28c-142.234 0-257.495 97.485-257.495 217.743 0 70.513 39.629 133.202 101.069 172.995l2.375 1.495-24.903 78.807 93.102-47.923 4.383 1.25a300.9 300.9 0 0 0 98.775 10.567 170.6 170.6 0 0 1-8.192-51.938c0-109.772 105.062-198.799 234.557-198.799m-154.071-76.84c19.968 0 36.147 15.83 36.147 35.41 0 19.517-16.179 35.389-36.147 35.389-19.988 0-36.147-15.872-36.147-35.39 0-19.579 16.179-35.41 36.147-35.41m-179.2 70.799c-19.968 0-36.147-15.872-36.147-35.39 0-19.579 16.179-35.41 36.147-35.41 19.989 0 36.188 15.831 36.188 35.41 0 19.518-16.2 35.39-36.188 35.39"/><path fill="#FFF" d="M450.56 609.935c0 99.349 96.297 179.897 215.081 179.897a253 253 0 0 0 71.68-10.26l77.701 39.628-20.767-65.126 1.987-1.23c51.282-32.87 84.398-84.643 84.398-142.909 0-99.328-96.256-179.855-214.999-179.855-118.784 0-215.081 80.527-215.081 179.855m259.686-61.952c0-16.138 13.497-29.204 30.167-29.204 16.712 0 30.229 13.066 30.229 29.204 0 16.18-13.517 29.266-30.229 29.266-16.67 0-30.167-13.107-30.167-29.266m-149.667 0c0-16.138 13.516-29.204 30.208-29.204 16.69 0 30.208 13.066 30.208 29.204 0 16.18-13.517 29.266-30.208 29.266-16.692 0-30.208-13.107-30.208-29.266"/></svg>
|
||||
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1739502172305" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4607" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M569.2 788.4H215.8c-77.8 0-141.5-63.7-141.5-141.5V207.5C74.3 129.6 137.9 66 215.8 66h353.4c77.8 0 141.5 63.7 141.5 141.5v439.4c0 77.8-63.7 141.5-141.5 141.5z" fill="#D6F3FA" p-id="4608"></path><path d="M678.8 276.5v42.7c0 0.6-0.5 1.1-1.1 1.1h-418c-0.6 0-1.1-0.5-1.1-1.1v-42.7c0-0.6 0.5-1.1 1.1-1.1h418c0.6 0 1.1 0.5 1.1 1.1zM677.6 463h-418c-0.6 0-1.1 0.5-1.1 1.1v42.7c0 0.6 0.5 1.1 1.1 1.1h418c0.6 0 1.1-0.5 1.1-1.1v-42.7c0.1-0.6-0.4-1.1-1.1-1.1zM485 650.7H259.6c-0.6 0-1.1 0.5-1.1 1.1v42.7c0 0.6 0.5 1.1 1.1 1.1H485c0.6 0 1.1-0.5 1.1-1.1v-42.7c0-0.6-0.5-1.1-1.1-1.1z m466.5-24.1c0-59.1-48.1-107.3-107.3-107.3-59.1 0-107.3 48.1-107.3 107.3 0 59.1 48.1 107.3 107.3 107.3 59.2-0.1 107.3-48.2 107.3-107.3z m-34.4 0c0 40.2-32.7 72.9-72.9 72.9s-72.9-32.7-72.9-72.9 32.7-72.9 72.9-72.9 72.9 32.7 72.9 72.9zM706 759.5c0-50.9-41.4-92.3-92.3-92.3s-92.3 41.4-92.3 92.3 41.4 92.3 92.3 92.3c50.9-0.1 92.3-41.4 92.3-92.3z m-34.4 0c0 31.9-26 57.9-57.9 57.9s-57.9-26-57.9-57.9 26-57.9 57.9-57.9 57.9 26 57.9 57.9z m135.1 80.4c-33.2 0-60 26.9-60 60 0 33.2 26.9 60 60 60s60-26.9 60-60c0-33.2-26.8-60-60-60z m-27.2-148.1L755 649.3l-83.5 48.2L696 740l83.5-48.2z m-105.7 99.9L650.5 832 787 910.8l23.3-40.3-136.5-78.8z m-135.1 95.4c0-12.4-10.1-22.5-22.5-22.5H246c-41.5 0-75.1-33.6-75.1-75.1V234.1c0-41.5 33.6-75.1 75.1-75.1h52.5c12.4 0 22.5-10.1 22.5-22.5S310.9 114 298.5 114H246c-66.3 0-120.1 53.8-120.1 120.1v555.4c0 66.3 53.8 120.1 120.1 120.1h270.2c12.4 0 22.5-10.1 22.5-22.5z m277.7-488.3V234.1c0-66.3-53.8-120.1-120.1-120.1H448.6c-12.4 0-22.5 10.1-22.5 22.5s10.1 22.5 22.5 22.5h247.7c41.5 0 75.1 33.6 75.1 75.1v164.7c0 12.4 10.1 22.5 22.5 22.5s22.5-10.1 22.5-22.5zM408.1 157.9v-42.7c0-0.6-0.5-1.1-1.1-1.1h-65.3c-0.6 0-1.1 0.5-1.1 1.1v42.7c0 0.6 0.5 1.1 1.1 1.1H407c0.6 0 1.1-0.5 1.1-1.1z" fill="#18BAE5" p-id="4609"></path></svg>
|
||||
|
Before Width: | Height: | Size: 2.1 KiB |
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1739502172305" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4607" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M569.2 788.4H215.8c-77.8 0-141.5-63.7-141.5-141.5V207.5C74.3 129.6 137.9 66 215.8 66h353.4c77.8 0 141.5 63.7 141.5 141.5v439.4c0 77.8-63.7 141.5-141.5 141.5z" fill="#D6F3FA" p-id="4608"></path><path d="M678.8 276.5v42.7c0 0.6-0.5 1.1-1.1 1.1h-418c-0.6 0-1.1-0.5-1.1-1.1v-42.7c0-0.6 0.5-1.1 1.1-1.1h418c0.6 0 1.1 0.5 1.1 1.1zM677.6 463h-418c-0.6 0-1.1 0.5-1.1 1.1v42.7c0 0.6 0.5 1.1 1.1 1.1h418c0.6 0 1.1-0.5 1.1-1.1v-42.7c0.1-0.6-0.4-1.1-1.1-1.1zM485 650.7H259.6c-0.6 0-1.1 0.5-1.1 1.1v42.7c0 0.6 0.5 1.1 1.1 1.1H485c0.6 0 1.1-0.5 1.1-1.1v-42.7c0-0.6-0.5-1.1-1.1-1.1z m466.5-24.1c0-59.1-48.1-107.3-107.3-107.3-59.1 0-107.3 48.1-107.3 107.3 0 59.1 48.1 107.3 107.3 107.3 59.2-0.1 107.3-48.2 107.3-107.3z m-34.4 0c0 40.2-32.7 72.9-72.9 72.9s-72.9-32.7-72.9-72.9 32.7-72.9 72.9-72.9 72.9 32.7 72.9 72.9zM706 759.5c0-50.9-41.4-92.3-92.3-92.3s-92.3 41.4-92.3 92.3 41.4 92.3 92.3 92.3c50.9-0.1 92.3-41.4 92.3-92.3z m-34.4 0c0 31.9-26 57.9-57.9 57.9s-57.9-26-57.9-57.9 26-57.9 57.9-57.9 57.9 26 57.9 57.9z m135.1 80.4c-33.2 0-60 26.9-60 60 0 33.2 26.9 60 60 60s60-26.9 60-60c0-33.2-26.8-60-60-60z m-27.2-148.1L755 649.3l-83.5 48.2L696 740l83.5-48.2z m-105.7 99.9L650.5 832 787 910.8l23.3-40.3-136.5-78.8z m-135.1 95.4c0-12.4-10.1-22.5-22.5-22.5H246c-41.5 0-75.1-33.6-75.1-75.1V234.1c0-41.5 33.6-75.1 75.1-75.1h52.5c12.4 0 22.5-10.1 22.5-22.5S310.9 114 298.5 114H246c-66.3 0-120.1 53.8-120.1 120.1v555.4c0 66.3 53.8 120.1 120.1 120.1h270.2c12.4 0 22.5-10.1 22.5-22.5z m277.7-488.3V234.1c0-66.3-53.8-120.1-120.1-120.1H448.6c-12.4 0-22.5 10.1-22.5 22.5s10.1 22.5 22.5 22.5h247.7c41.5 0 75.1 33.6 75.1 75.1v164.7c0 12.4 10.1 22.5 22.5 22.5s22.5-10.1 22.5-22.5zM408.1 157.9v-42.7c0-0.6-0.5-1.1-1.1-1.1h-65.3c-0.6 0-1.1 0.5-1.1 1.1v42.7c0 0.6 0.5 1.1 1.1 1.1H407c0.6 0 1.1-0.5 1.1-1.1z" fill="#18BAE5" p-id="4609"></path></svg>
|
||||
|
Before Width: | Height: | Size: 2.1 KiB |
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1739502235932" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12319" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M512 0C229.2 0 0 229.2 0 512s229.2 512 512 512 512-229.2 512-512S794.8 0 512 0z m177.3 336.7c51 0 92.7 44.7 92.7 99.8s-41.4 99.8-92.7 99.8c-43.6 0-80.5-32.3-90.2-76.2 15.5-20 24.4-45.9 24.4-73.9 0-6.4-0.7-12.4-1.5-18.4 17.1-19.1 40.7-31.1 67.3-31.1zM515 282.1c53.6 0 96.8 46.7 96.8 104.2s-43.6 104.2-97.2 104.2-96.8-46.7-96.8-104.2 43.6-104.2 97.2-104.2z m-181.1 54.6c29.2 0 55.4 14.4 72.4 37.1-0.4 4-0.7 8-0.7 12 0 25.1 7.4 48.3 19.9 67.5-7.4 47.1-45.8 83-91.6 83-51.4 0-92.7-44.7-92.7-99.8 0-55 41.4-99.8 92.7-99.8zM179.5 741.9c0-99.8 69.5-180.4 154.8-180.4 16.6 0 33.3 3.2 49.1 9.2-42.5 41.5-70.9 102.6-74.3 171.3l-129.6-0.1z m153.7 0c0-117 81.3-212 181.8-212s181.8 95 182.2 212h-364z m387.6-0.4c-3.7-69.5-32.5-131.3-76.1-172.5 14.4-4.8 29.9-7.6 45.1-7.6 85.3 0 154.8 80.6 154.8 180l-123.8 0.1z" fill="#2ACE4D" p-id="12320"></path></svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1739502235932" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12319" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M512 0C229.2 0 0 229.2 0 512s229.2 512 512 512 512-229.2 512-512S794.8 0 512 0z m177.3 336.7c51 0 92.7 44.7 92.7 99.8s-41.4 99.8-92.7 99.8c-43.6 0-80.5-32.3-90.2-76.2 15.5-20 24.4-45.9 24.4-73.9 0-6.4-0.7-12.4-1.5-18.4 17.1-19.1 40.7-31.1 67.3-31.1zM515 282.1c53.6 0 96.8 46.7 96.8 104.2s-43.6 104.2-97.2 104.2-96.8-46.7-96.8-104.2 43.6-104.2 97.2-104.2z m-181.1 54.6c29.2 0 55.4 14.4 72.4 37.1-0.4 4-0.7 8-0.7 12 0 25.1 7.4 48.3 19.9 67.5-7.4 47.1-45.8 83-91.6 83-51.4 0-92.7-44.7-92.7-99.8 0-55 41.4-99.8 92.7-99.8zM179.5 741.9c0-99.8 69.5-180.4 154.8-180.4 16.6 0 33.3 3.2 49.1 9.2-42.5 41.5-70.9 102.6-74.3 171.3l-129.6-0.1z m153.7 0c0-117 81.3-212 181.8-212s181.8 95 182.2 212h-364z m387.6-0.4c-3.7-69.5-32.5-131.3-76.1-172.5 14.4-4.8 29.9-7.6 45.1-7.6 85.3 0 154.8 80.6 154.8 180l-123.8 0.1z" fill="#2ACE4D" p-id="12320"></path></svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 369 KiB After Width: | Height: | Size: 172 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 124 KiB |
BIN
src/static/image/logo.png
Normal file
|
After Width: | Height: | Size: 262 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 18 KiB |
BIN
src/static/qrcode/tydatagzh.jpg
Normal file
|
After Width: | Height: | Size: 27 KiB |
16
src/utils/format.js
Normal file
@@ -0,0 +1,16 @@
|
||||
/**
|
||||
* 格式化工具函数
|
||||
*/
|
||||
|
||||
/** 手机号/账号脱敏,如 138****1234 */
|
||||
export function maskName(name) {
|
||||
if (!name || typeof name !== 'string') return ''
|
||||
if (name.length <= 7) return name
|
||||
return name.substring(0, 3) + '****' + name.substring(7)
|
||||
}
|
||||
|
||||
/** 日期时间取日期部分,如 "2024-01-15 10:30:00" -> "2024-01-15" */
|
||||
export function formatExpiryTime(expiryTimeStr) {
|
||||
if (!expiryTimeStr) return '未知'
|
||||
return String(expiryTimeStr).split(' ')[0]
|
||||
}
|
||||
@@ -36,7 +36,7 @@ export default async ({ mode }) => {
|
||||
server: {
|
||||
proxy: {
|
||||
'/api/v1': {
|
||||
target: env.`VITE_APP_BASE_URL` || 'https://www.tianyuandb.com', // 使用环境变量
|
||||
target: env['VITE_APP_BASE_URL'] || 'https://www.tianyuandb.com', // 使用环境变量
|
||||
changeOrigin: true,
|
||||
},
|
||||
},
|
||||
|
||||