fix: 优化插件映射传参

This commit is contained in:
xieyonghong 2023-04-27 10:43:35 +08:00
parent c2ad03d526
commit 5dcba5e4aa
6 changed files with 13 additions and 12 deletions

View File

@ -21,6 +21,13 @@ export const detail = (id: string) => get(`/plugin/driver/${id}`)
*/
export const getProductsById = (id: string) => get(`/plugin/driver/${id}/products`)
/**
*
* @param type product;device
* @param pluginId id
* @param internalId id
* @param externalId id
*/
export const savePluginData = (type: string, pluginId: string, internalId: string, externalId: string ) => patch(`/plugin/mapping/${type}/${pluginId}/${internalId}`, externalId, { headers: {'Content-Type': "text/plain"}})
export const getPluginData = (type: string, pluginId: string, internalId: string ) => get(`/plugin/mapping/${type}/${pluginId}/${internalId}`)

View File

@ -30,10 +30,6 @@ const props = defineProps({
type: String,
default: undefined
},
channelId: {
type: String,
default: undefined
},
id: {
type: String,
default: undefined
@ -49,7 +45,7 @@ const handleOk = async () => {
if (checkKey.value) {
const res = await savePluginData(
'device',
props.channelId!,
props.accessId!,
route.params.id as string,
checkKey.value
).catch(() => ({ success: false }))

View File

@ -110,7 +110,6 @@
<InkingModal
v-if='inkingVisible'
:id='inklingDeviceId'
:channelId='channelId'
:accessId='instanceStore.current.accessId'
@cancel="inkingVisible = false"
@submit='saveInkling'
@ -158,7 +157,7 @@ const queryInkling = () => {
queryPluginAccessDetail(instanceStore.current?.accessId).then(async res => {
if (res.success) {
channelId.value = res.result.channelId
const pluginRes = await getPluginData('device', res.result.channelId, instanceStore.current?.id)
const pluginRes = await getPluginData('device',instanceStore.current?.accessId, instanceStore.current?.id)
if (pluginRes.success) {
inklingDeviceId.value = pluginRes.result?.externalId
}

View File

@ -680,7 +680,7 @@ const getData = async (accessId?: string) => {
if (productStore.current?.accessProvider === 'plugin_gateway') {
queryPluginAccessDetail(_accessId).then(async res => { //
if (res.success) {
const pluginRes = await getPluginData('product', res.result.channelId, productStore.current?.id)
const pluginRes = await getPluginData('product', _accessId, productStore.current?.id)
const resp = await getProductByPluginId(res.result.channelId).catch(() => ({ success: false, result: []}))
if (resp.success) {
productTypes.value = resp.result.map(item => {
@ -761,7 +761,7 @@ const updateAccessData = async (id: string, values: any) => {
if (access.value?.provider === "plugin_gateway") {
await savePluginData(
'product',
access.value?.channelId,
access.value?.id,
productStore.current.id,
productData.id
).catch(() => ({}))

View File

@ -136,7 +136,7 @@ const updateAccessData = async (id: string, values: any, metadata: string) => {
if (props.access?.provider === 'plugin_gateway') {
await savePluginData(
'product',
props.access.channelId,
props.access.id,
props.data.id,
props.data.productTypeId
).catch(() => ({}))

View File

@ -124,7 +124,6 @@ const getMetadataMapData = () => {
}
const search = (value: string) => {
console.log(value)
if (value) {
dataSource.value = dataSourceCache.value.filter((item: any) => {
return !!item.name?.includes(value)
@ -161,7 +160,7 @@ const getPluginMetadata = (): Promise<{ properties: any[]}> => {
queryPluginAccessDetail(productDetail.value?.accessId!).then(async res => {
if (res.success) {
const _channelId = (res.result as any)!.channelId
const pluginRes = await getPluginData('product', _channelId, productDetail.value?.id).catch(() => ({ success: false, result: {}}))
const pluginRes = await getPluginData('product', productDetail.value?.accessId, productDetail.value?.id).catch(() => ({ success: false, result: {}}))
const resp = await getProductByPluginId(_channelId).catch(() => ({ success: false, result: []}))
if (resp.success) {
const _item = (resp.result as any[])?.find((item: any) => item.id === (pluginRes?.result as any)?.externalId)