ref 支付通道精简, 通道配置设置增加默认ICON

This commit is contained in:
DaxPay
2024-06-11 11:22:18 +08:00
parent 9f24fa6ed4
commit 4bd62a4a24
8 changed files with 35 additions and 99 deletions

View File

@@ -0,0 +1 @@
<svg t="1718074269709" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18464" width="128" height="128"><path d="M1024.0512 701.0304V196.864A196.9664 196.9664 0 0 0 827.136 0H196.864A196.9664 196.9664 0 0 0 0 196.864v630.272A196.9152 196.9152 0 0 0 196.864 1024h630.272a197.12 197.12 0 0 0 193.8432-162.0992c-52.224-22.6304-278.528-120.32-396.4416-176.64-89.7024 108.6976-183.7056 173.9264-325.3248 173.9264s-236.1856-87.2448-224.8192-194.048c7.4752-70.0416 55.552-184.576 264.2944-164.9664 110.08 10.3424 160.4096 30.8736 250.1632 60.5184 23.1936-42.5984 42.496-89.4464 57.1392-139.264H248.064v-39.424h196.9152V311.1424H204.8V267.776h240.128V165.632s2.1504-15.9744 19.8144-15.9744h98.4576V267.776h256v43.4176h-256V381.952h208.8448a805.9904 805.9904 0 0 1-84.8384 212.6848c60.672 22.016 336.7936 106.3936 336.7936 106.3936zM283.5456 791.6032c-149.6576 0-173.312-94.464-165.376-133.9392 7.8336-39.3216 51.2-90.624 134.4-90.624 95.5904 0 181.248 24.4736 284.0576 74.5472-72.192 94.0032-160.9216 150.016-253.0816 150.016z" fill="#009FE8" p-id="18465"></path></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1 @@
<svg t="1718073789639" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14419" width="256" height="256"><path d="M427.4 134.3L794.1 482c26.3 24.9 27.4 66.8 2.5 93.1L569.9 814.2c-24.9 26.3-66.8 27.4-93.1 2.5L110.1 469c-26.3-24.9-27.4-66.8-2.5-93.1l226.7-239.1c24.9-26.3 66.8-27.4 93.1-2.5z" fill="#FEC50D" p-id="14420"></path><path d="M298.6 169.8l471.9 180.7c33.8 13 50.9 51.2 38 85L690.7 743.3c-13 33.8-51.2 50.9-85 38l-472-180.8c-33.8-13-50.9-51.2-38-85l117.8-307.7c13-33.9 51.3-50.9 85.1-38z" fill="#44C0D9" p-id="14421"></path><path d="M141.6 280.4h687.3c49.3 0 89.6 40.3 89.6 89.6v448.1c0 49.3-40.3 89.6-89.6 89.6H141.6c-49.3 0-89.6-40.3-89.6-89.6V370c0-49.3 40.3-89.6 89.6-89.6z" fill="#005B7D" p-id="14422"></path><path d="M792.6 851.4H740v-13.1h52.6v13.1z m-105.2 0h-52.6v-13.1h52.6v13.1z m-105.1 0h-52.6v-13.1h52.6v13.1z m-105.1 0h-52.6v-13.1h52.6v13.1z m-105.2 0h-52.6v-13.1H372v13.1z m-105.1 0h-52.6v-13.1h52.6v13.1z m-105.2 0h-20.2c-18.3 0-33.2-14.9-33.2-33.3v-10.7h13.1v10.7c0 11.1 9 20.1 20.1 20.1h20.2v13.2z m686.2-6.1l-7.6-10.8c5.4-3.8 8.6-9.9 8.6-16.5v-27H862v27c0.1 10.9-5.2 21.1-14.1 27.3z m-726.4-90.4h-13.1v-52.6h13.1v52.6z m740.6-16.3H849V686h13.1v52.6z m-740.6-88.9h-13.1v-52.6h13.1v52.6z m740.6-16.3H849v-52.6h13.1v52.6z m-740.6-88.8h-13.1V492h13.1v52.6z m740.6-16.3H849v-52.6h13.1v52.6z m-740.6-88.9h-13.1v-52.6h13.1v52.6z m740.6-16.2H849v-52.6h13.1v52.6z m-725.2-72.8l-3-12.8c2.5-0.6 5.1-0.9 7.6-0.9h46.4v13.1h-46.4c-1.5 0.1-3.1 0.3-4.6 0.6z m681.9-0.5h-52.6v-13.1h52.6v13.1z m-105.2 0H661v-13.1h52.6v13.1z m-105.1 0h-52.6v-13.1h52.6v13.1z m-105.1 0h-52.6v-13.1h52.6v13.1z m-105.2 0h-52.6v-13.1h52.6v13.1z m-105.1 0h-52.6v-13.1h52.6v13.1z" fill="#44C0D9" p-id="14423"></path><path d="M754.6 490h163c29.9 0 54.4 24.5 54.4 54.4v99.2c0 29.9-24.5 54.4-54.4 54.4h-163c-57.2 0-104-46.8-104-104s46.8-104 104-104z" fill="#FEC50D" p-id="14424"></path><path d="M866.9 594m-37.1 0a37.1 37.1 0 1 0 74.2 0 37.1 37.1 0 1 0-74.2 0Z" fill="#FFFFFF" p-id="14425"></path></svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +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="1718072839738" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7146" xmlns:xlink="http://www.w3.org/1999/xlink" width="256" height="256"><path d="M911.655822 21.344711a91.022222 91.022222 0 0 1 91.022222 91.022222v799.266134a91.022222 91.022222 0 0 1-91.022222 91.022222H112.344178a91.022222 91.022222 0 0 1-91.022222-91.022222V112.366933a91.022222 91.022222 0 0 1 91.022222-91.022222h799.311644zM561.925689 210.807467a303.900444 303.900444 0 0 0-66.446222-3.049245c-31.425422 1.661156-62.850844 6.599111-94.253511 16.543289-54.567822 18.181689-104.152178 46.2848-145.499023 90.9312a276.024889 276.024889 0 0 0-64.466489 110.774045 255.772444 255.772444 0 0 0-9.921422 51.245511v19.842844l0.068267 2.434845c0.2048 1.683911 0.864711 2.525867 3.231289 2.525866 0 9.921422 0 18.204444 1.661155 26.464711 3.299556 19.820089 8.260267 39.662933 14.882134 57.867378 16.520533 41.324089 42.985244 77.687467 76.049066 107.451733l5.9392 5.597867c7.964444 7.054222 15.883378 12.583822 23.825067 19.205689 3.299556 1.661156 3.299556 3.299556 3.299556 6.599111l-5.848178 29.195378a722.488889 722.488889 0 0 0-7.3728 43.576889c-1.661156 3.299556-1.661156 8.260267-1.661156 11.559822 0 4.960711 3.299556 6.599111 6.599111 6.599111 3.322311 0 8.283022-1.6384 11.605334-3.299555 18.158933-9.898667 34.702222-19.820089 52.883911-31.402667l7.850666-4.960711c5.006222-3.299556 9.784889-6.599111 15.291734-9.921422h4.960711c18.204444 6.599111 38.024533 11.582578 57.867378 14.882133 11.582578 1.661156 24.803556 1.661156 38.024533 3.299555h29.764267c16.543289 0 34.724978-1.6384 52.906666-4.960711 26.464711-4.960711 52.906667-13.198222 79.371378-23.1424a329.090844 329.090844 0 0 0 119.034311-82.670933c28.103111-31.402667 47.945956-66.127644 59.528534-105.813333 4.960711-18.181689 8.260267-36.363378 9.921422-54.545067 3.299556-43.008-4.960711-84.332089-23.165156-124.017778a48.082489 48.082489 0 0 0-4.391822-10.831644l-3.868444-7.350045a1.820444 1.820444 0 0 0-0.250312-0.978489l-1.137777-1.342577-0.273067-0.978489c-1.6384 1.2288-3.413333 2.366578-5.211022 3.458844l-11.0592 6.303289-5.233778 3.458845c-100.829867 59.528533-200.021333 119.034311-300.896711 178.562844-18.181689 11.582578-36.363378 23.1424-56.206222 33.063822a33.336889 33.336889 0 0 1-18.181689 4.960711c-9.921422 1.661156-18.204444-3.299556-23.1424-14.882133-16.543289-39.685689-33.063822-77.710222-49.607111-117.373156-3.299556-8.283022-4.960711-16.543289-6.599111-24.803555v-1.661156c0-9.921422 4.937956-13.220978 13.198222-8.260266l16.452266 10.831644c3.413333 2.321067 6.712889 4.7104 10.012445 7.350045 13.220978 8.260267 24.803556 16.543289 38.024533 24.803555 16.543289 9.921422 34.724978 11.559822 52.906667 3.299556 92.615111-41.324089 185.184711-84.309333 277.777067-127.294578 13.198222-4.960711 26.441956-11.582578 39.662933-18.204445a1.820444 1.820444 0 0 0 0.978489-0.227555l1.365333-1.137778 0.978489-0.273067c-4.960711-4.960711-8.283022-9.921422-13.243733-14.882133-38.001778-39.685689-82.648178-67.7888-133.916445-85.970489l-9.102222-3.345066a295.844978 295.844978 0 0 0-53.703111-13.198223z" fill="#15BA12" p-id="7147"></path></svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -4,16 +4,16 @@
<a-spin :spinning="confirmLoading">
<a-list style="margin-left: 20px" :grid="{ gutter: 16, xs: 1, sm: 2, md: 3, lg: 4, xl: 5, xxl: 6 }" :data-source="channelConfigs">
<template #renderItem="{ item }">
<a-card hoverable style="max-width: 200px; margin-bottom: 50px" @click="setting(item)">
<a-card hoverable style="max-width: 200px; margin-bottom: 20px" @click="setting(item)">
<template #cover>
<a-image
style="width: 200px; height: 200px"
style="width: 150px; height: 150px; margin-left: 25px"
:preview="false"
:src="urlPrefix + String(item?.iconId)"
:src="getIcon(item.code)"
:fallback="fallbackImg"
/>
</template>
<a-card-meta :title="item.name" />
<a-card-meta style="display: flex; justify-content: space-between" :title="item.name" />
</a-card>
</template>
</a-list>
@@ -25,14 +25,17 @@
<script setup lang="ts">
import { $ref } from 'vue/macros'
import { getFilePreviewUrlPrefix } from '/@/api/common/FileUpload'
import { findAll, PayChannelConfig } from '/@/views/payment/system/channel/ChannelConfig.api'
import ChannelPayConfigEdit from '/@/views/payment/channel/config/ChannelPayConfigEdit.vue'
import { onMounted } from 'vue'
import alipay from '/@/assets/payment/alipay.svg'
import wechat from '/@/assets/payment/wechat.svg'
import unionPay from '/@/assets/payment/unionPay.svg'
import wallet from '/@/assets/payment/wallet.svg'
import { payChannelEnum } from '/@/enums/payment/payChannelEnum'
let confirmLoading = $ref(false)
let channelConfigs = $ref<PayChannelConfig[]>([])
let urlPrefix = $ref<string>()
const channelPayConfigEdit = $ref<any>()
@@ -49,9 +52,6 @@
*/
async function init() {
confirmLoading = true
// 图片地址前缀
const urlPrefixResult = await getFilePreviewUrlPrefix()
urlPrefix = urlPrefixResult.data
// 列表信息
const configResults = await findAll()
channelConfigs = configResults.data
@@ -64,6 +64,24 @@
function setting(record: PayChannelConfig) {
channelPayConfigEdit.show(record)
}
/**
* 获取icon
*/
function getIcon(type: string) {
switch (type) {
case payChannelEnum.ALI:
return alipay
case payChannelEnum.WECHAT:
return wechat
case payChannelEnum.UNION_PAY:
return unionPay
case payChannelEnum.WALLET:
return wallet
default:
return ''
}
}
</script>
<style scoped lang="less"></style>

View File

@@ -4,15 +4,15 @@
<vxe-toolbar ref="xToolbar" custom :refresh="{ query: queryPage }" />
<vxe-table row-id="id" ref="xTable" :data="records" :loading="loading">
<vxe-column type="seq" width="60" />
<vxe-column field="name" title="名称" :min-width="170" />
<vxe-column field="code" title="编码" :min-width="170" />
<vxe-column field="api" title="接口地址" :min-width="280" />
<vxe-column field="remark" title="备注" :min-width="280" />
<vxe-column field="enable" title="启用接口" fixed="right" :width="80">
<vxe-column field="enable" title="启用接口" :width="80">
<template #default="{ row }">
<a-switch checked-children="启用" un-checked-children="停用" v-model:checked="row.enable" @change="edit(row)" />
</template>
</vxe-column>
<vxe-column field="name" title="名称" :min-width="170" />
<vxe-column field="api" title="接口地址" :min-width="280" />
<vxe-column field="remark" title="备注" :min-width="280" />
</vxe-table>
</div>
</div>

View File

@@ -26,36 +26,6 @@
<a-form-item label="通道名称" name="name">
<span>{{ form.name }}</span>
</a-form-item>
<a-form-item name="iconId">
<template #label>
<basic-title helpMessage="推荐使用200*200等比例的图片">logo图</basic-title>
</template>
<a-input v-model:value="form.iconId" v-show="false" />
<a-form-item-rest>
<a-upload
v-if="!showable"
name="file"
:multiple="false"
:action="uploadAction"
:headers="tokenHeader"
:showUploadList="false"
@change="handleChange"
>
<a-button preIcon="ant-design:cloud-upload-outlined" type="primary"> 上传图片 </a-button>
</a-upload>
<template v-if="showable && !form.iconId">
<a-button disabled preIcon="ant-design:cloud-upload-outlined" type="primary"> 上传图片 </a-button>
</template>
</a-form-item-rest>
<a-form-item-rest v-if="form.iconId">
<div style="margin-top: 15px">
<a-image :src="urlPrefix + form.iconId" />
</div>
</a-form-item-rest>
</a-form-item>
<!-- <a-form-item label="背景颜色" name="bgColor">-->
<!-- <a-input placeholder="请输入描述" v-model:value="form.bgColor" />-->
<!-- </a-form-item>-->
<a-form-item label="备注" name="remark">
<a-textarea :disabled="showable" placeholder="请输入备注" v-model:value="form.remark" />
</a-form-item>
@@ -72,38 +42,28 @@
<script setup lang="ts">
import useFormEdit from '/@/hooks/bootx/useFormEdit'
import { useValidate } from '/@/hooks/bootx/useValidate'
import { useUpload } from '/@/hooks/bootx/useUpload'
import { useMessage } from '/@/hooks/web/useMessage'
import { nextTick } from 'vue'
import { FormInstance } from 'ant-design-vue/lib/form'
import { get, PayChannelConfig, update } from './ChannelConfig.api'
import { FormEditType } from '/@/enums/formTypeEnum'
import { getFilePreviewUrlPrefix } from '/@/api/common/FileUpload'
import { BasicModal } from '/@/components/Modal'
import BasicTitle from "/@/components/Basic/src/BasicTitle.vue";
const {
initFormEditType,
handleCancel,
search,
labelCol,
wrapperCol,
modalWidth,
title,
confirmLoading,
visible,
editable,
showable,
formEditType,
} = useFormEdit()
const { existsByServer } = useValidate()
const { tokenHeader, uploadAction } = useUpload('/file/upload')
const { createMessage } = useMessage()
// 表单
const formRef = $ref<FormInstance>()
let urlPrefix = $ref<string>()
let form = $ref<PayChannelConfig>({
code: '',
name: '',
@@ -114,19 +74,10 @@
// 入口
function init(id, editType: FormEditType) {
initFormEditType(editType)
initData()
resetForm()
getInfo(id)
}
/**
* 初始化数据
*/
async function initData() {
const result = await getFilePreviewUrlPrefix()
urlPrefix = result.data
}
// 获取信息
function getInfo(id) {
confirmLoading.value = true
@@ -146,24 +97,6 @@
})
}
/**
* 文件上传
*/
function handleChange(info) {
// 上传完毕
if (info.file.status === 'done') {
const res = info.file.response
if (!res.code) {
form.iconId = res.data.id
createMessage.success(`${info.file.name} 上传成功!`)
} else {
createMessage.error(`${res.msg}`)
}
} else if (info.file.status === 'error') {
createMessage.error('上传失败')
}
}
// 重置表单
function resetForm() {
nextTick(() => {

View File

@@ -6,11 +6,6 @@
<vxe-column type="seq" width="60" />
<vxe-column field="code" title="通道编码" />
<vxe-column field="name" title="支付通道名称" />
<vxe-column field="image" title="图片" width="60">
<template #default="{ row }">
<a-image :src="urlPrefix + row.iconId" :fallback="fallbackImg" :width="35" />
</template>
</vxe-column>
<vxe-column field="remark" title="备注" />
<vxe-column fixed="right" width="100" :showOverflow="false" title="操作">
<template #default="{ row }">
@@ -34,7 +29,6 @@
import useTablePage from '/@/hooks/bootx/useTablePage'
import { findAll, PayChannelConfig } from './ChannelConfig.api'
import { onMounted } from 'vue'
import { getFilePreviewUrlPrefix } from '/@/api/common/FileUpload'
import { FormEditType } from '/@/enums/formTypeEnum'
import { $ref } from 'vue/macros'
import PayChannelConfigEdit from './PayChannelConfigEdit.vue'
@@ -43,33 +37,20 @@
const { loading } = useTablePage(queryPage)
const { notification, createMessage, createConfirm } = useMessage()
const fallbackImg =
'data:image/png;base64,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'
const xTable = $ref<VxeTableInstance>()
const xToolbar = $ref<VxeToolbarInstance>()
const payChannelConfigEdit = $ref<any>()
let urlPrefix = $ref<string>()
let records = $ref<PayChannelConfig[]>([])
onMounted(() => {
vxeBind()
initData()
queryPage()
})
function vxeBind() {
xTable?.connect(xToolbar as VxeToolbarInstance)
}
/**
* 初始化数据
*/
async function initData() {
const result = await getFilePreviewUrlPrefix()
urlPrefix = result.data
}
/**
* 数据查询
*/