mirror of
https://github.com/snltty/linker.git
synced 2025-10-19 07:24:39 +08:00
自动同步
This commit is contained in:
30
.github/workflows/dotnet.yml
vendored
30
.github/workflows/dotnet.yml
vendored
@@ -33,11 +33,11 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.ACTIONS_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.ACTIONS_TOKEN }}
|
||||||
with:
|
with:
|
||||||
tag_name: v1.2.8
|
tag_name: v1.2.9
|
||||||
release_name: v1.2.8.${{ steps.date.outputs.today }}
|
release_name: v1.2.9.${{ steps.date.outputs.today }}
|
||||||
draft: false
|
draft: false
|
||||||
prerelease: false
|
prerelease: false
|
||||||
body: "1. 修复管理页面数据表格绑定显示信息错误\r\n2. 将程序分发给他人进行组网时,可删除web文件夹,使其其仅能使用简单管理页面管理自身"
|
body: 1. 选择是否自动同步配置文件
|
||||||
- name: upload-win-x86-oss
|
- name: upload-win-x86-oss
|
||||||
id: upload-win-x86-oss
|
id: upload-win-x86-oss
|
||||||
uses: tvrcgo/oss-action@v0.1.1
|
uses: tvrcgo/oss-action@v0.1.1
|
||||||
@@ -47,7 +47,7 @@ jobs:
|
|||||||
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
||||||
bucket: ide-qbcode
|
bucket: ide-qbcode
|
||||||
asset-path: ./public/publish-zip/linker-win-x86.zip
|
asset-path: ./public/publish-zip/linker-win-x86.zip
|
||||||
target-path: /downloads/linker/v1.2.8/linker-win-x86.zip
|
target-path: /downloads/linker/v1.2.9/linker-win-x86.zip
|
||||||
- name: upload-win-x86
|
- name: upload-win-x86
|
||||||
id: upload-win-x86
|
id: upload-win-x86
|
||||||
uses: actions/upload-release-asset@master
|
uses: actions/upload-release-asset@master
|
||||||
@@ -67,7 +67,7 @@ jobs:
|
|||||||
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
||||||
bucket: ide-qbcode
|
bucket: ide-qbcode
|
||||||
asset-path: ./public/publish-zip/linker-win-x64.zip
|
asset-path: ./public/publish-zip/linker-win-x64.zip
|
||||||
target-path: /downloads/linker/v1.2.8/linker-win-x64.zip
|
target-path: /downloads/linker/v1.2.9/linker-win-x64.zip
|
||||||
- name: upload-win-x64
|
- name: upload-win-x64
|
||||||
id: upload-win-x64
|
id: upload-win-x64
|
||||||
uses: actions/upload-release-asset@master
|
uses: actions/upload-release-asset@master
|
||||||
@@ -87,7 +87,7 @@ jobs:
|
|||||||
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
||||||
bucket: ide-qbcode
|
bucket: ide-qbcode
|
||||||
asset-path: ./public/publish-zip/linker-win-arm64.zip
|
asset-path: ./public/publish-zip/linker-win-arm64.zip
|
||||||
target-path: /downloads/linker/v1.2.8/linker-win-arm64.zip
|
target-path: /downloads/linker/v1.2.9/linker-win-arm64.zip
|
||||||
- name: upload-win-arm64
|
- name: upload-win-arm64
|
||||||
id: upload-win-arm64
|
id: upload-win-arm64
|
||||||
uses: actions/upload-release-asset@master
|
uses: actions/upload-release-asset@master
|
||||||
@@ -107,7 +107,7 @@ jobs:
|
|||||||
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
||||||
bucket: ide-qbcode
|
bucket: ide-qbcode
|
||||||
asset-path: ./public/publish-zip/linker-linux-x64.zip
|
asset-path: ./public/publish-zip/linker-linux-x64.zip
|
||||||
target-path: /downloads/linker/v1.2.8/linker-linux-x64.zip
|
target-path: /downloads/linker/v1.2.9/linker-linux-x64.zip
|
||||||
- name: upload-linux-x64
|
- name: upload-linux-x64
|
||||||
id: upload-linux-x64
|
id: upload-linux-x64
|
||||||
uses: actions/upload-release-asset@master
|
uses: actions/upload-release-asset@master
|
||||||
@@ -127,7 +127,7 @@ jobs:
|
|||||||
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
||||||
bucket: ide-qbcode
|
bucket: ide-qbcode
|
||||||
asset-path: ./public/publish-zip/linker-linux-arm.zip
|
asset-path: ./public/publish-zip/linker-linux-arm.zip
|
||||||
target-path: /downloads/linker/v1.2.8/linker-linux-arm.zip
|
target-path: /downloads/linker/v1.2.9/linker-linux-arm.zip
|
||||||
- name: upload-linux-arm
|
- name: upload-linux-arm
|
||||||
id: upload-linux-arm
|
id: upload-linux-arm
|
||||||
uses: actions/upload-release-asset@master
|
uses: actions/upload-release-asset@master
|
||||||
@@ -147,7 +147,7 @@ jobs:
|
|||||||
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
||||||
bucket: ide-qbcode
|
bucket: ide-qbcode
|
||||||
asset-path: ./public/publish-zip/linker-linux-arm64.zip
|
asset-path: ./public/publish-zip/linker-linux-arm64.zip
|
||||||
target-path: /downloads/linker/v1.2.8/linker-linux-arm64.zip
|
target-path: /downloads/linker/v1.2.9/linker-linux-arm64.zip
|
||||||
- name: upload-linux-arm64
|
- name: upload-linux-arm64
|
||||||
id: upload-linux-arm64
|
id: upload-linux-arm64
|
||||||
uses: actions/upload-release-asset@master
|
uses: actions/upload-release-asset@master
|
||||||
@@ -167,7 +167,7 @@ jobs:
|
|||||||
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
||||||
bucket: ide-qbcode
|
bucket: ide-qbcode
|
||||||
asset-path: ./public/publish-zip/linker-linux-musl-x64.zip
|
asset-path: ./public/publish-zip/linker-linux-musl-x64.zip
|
||||||
target-path: /downloads/linker/v1.2.8/linker-linux-musl-x64.zip
|
target-path: /downloads/linker/v1.2.9/linker-linux-musl-x64.zip
|
||||||
- name: upload-linux-musl-x64
|
- name: upload-linux-musl-x64
|
||||||
id: upload-linux-musl-x64
|
id: upload-linux-musl-x64
|
||||||
uses: actions/upload-release-asset@master
|
uses: actions/upload-release-asset@master
|
||||||
@@ -187,7 +187,7 @@ jobs:
|
|||||||
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
||||||
bucket: ide-qbcode
|
bucket: ide-qbcode
|
||||||
asset-path: ./public/publish-zip/linker-linux-musl-arm.zip
|
asset-path: ./public/publish-zip/linker-linux-musl-arm.zip
|
||||||
target-path: /downloads/linker/v1.2.8/linker-linux-musl-arm.zip
|
target-path: /downloads/linker/v1.2.9/linker-linux-musl-arm.zip
|
||||||
- name: upload-linux-musl-arm
|
- name: upload-linux-musl-arm
|
||||||
id: upload-linux-musl-arm
|
id: upload-linux-musl-arm
|
||||||
uses: actions/upload-release-asset@master
|
uses: actions/upload-release-asset@master
|
||||||
@@ -207,7 +207,7 @@ jobs:
|
|||||||
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
||||||
bucket: ide-qbcode
|
bucket: ide-qbcode
|
||||||
asset-path: ./public/publish-zip/linker-linux-musl-arm64.zip
|
asset-path: ./public/publish-zip/linker-linux-musl-arm64.zip
|
||||||
target-path: /downloads/linker/v1.2.8/linker-linux-musl-arm64.zip
|
target-path: /downloads/linker/v1.2.9/linker-linux-musl-arm64.zip
|
||||||
- name: upload-linux-musl-arm64
|
- name: upload-linux-musl-arm64
|
||||||
id: upload-linux-musl-arm64
|
id: upload-linux-musl-arm64
|
||||||
uses: actions/upload-release-asset@master
|
uses: actions/upload-release-asset@master
|
||||||
@@ -227,7 +227,7 @@ jobs:
|
|||||||
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
||||||
bucket: ide-qbcode
|
bucket: ide-qbcode
|
||||||
asset-path: ./public/publish-zip/linker-osx-x64.zip
|
asset-path: ./public/publish-zip/linker-osx-x64.zip
|
||||||
target-path: /downloads/linker/v1.2.8/linker-osx-x64.zip
|
target-path: /downloads/linker/v1.2.9/linker-osx-x64.zip
|
||||||
- name: upload-osx-x64
|
- name: upload-osx-x64
|
||||||
id: upload-osx-x64
|
id: upload-osx-x64
|
||||||
uses: actions/upload-release-asset@master
|
uses: actions/upload-release-asset@master
|
||||||
@@ -247,7 +247,7 @@ jobs:
|
|||||||
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
||||||
bucket: ide-qbcode
|
bucket: ide-qbcode
|
||||||
asset-path: ./public/publish-zip/linker-osx-arm64.zip
|
asset-path: ./public/publish-zip/linker-osx-arm64.zip
|
||||||
target-path: /downloads/linker/v1.2.8/linker-osx-arm64.zip
|
target-path: /downloads/linker/v1.2.9/linker-osx-arm64.zip
|
||||||
- name: upload-osx-arm64
|
- name: upload-osx-arm64
|
||||||
id: upload-osx-arm64
|
id: upload-osx-arm64
|
||||||
uses: actions/upload-release-asset@master
|
uses: actions/upload-release-asset@master
|
||||||
@@ -277,7 +277,7 @@ jobs:
|
|||||||
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
key-secret: ${{ secrets.ALIYUN_OSS_SECRET }}
|
||||||
bucket: ide-qbcode
|
bucket: ide-qbcode
|
||||||
asset-path: ./public/publish-zip/linker-windows-route.zip
|
asset-path: ./public/publish-zip/linker-windows-route.zip
|
||||||
target-path: /downloads/linker/v1.2.8/linker-windows-route.zip
|
target-path: /downloads/linker/v1.2.9/linker-windows-route.zip
|
||||||
- name: upload-windows-route
|
- name: upload-windows-route
|
||||||
id: upload-windows-route
|
id: upload-windows-route
|
||||||
uses: actions/upload-release-asset@master
|
uses: actions/upload-release-asset@master
|
||||||
|
6
.github/workflows/nuget.yml
vendored
6
.github/workflows/nuget.yml
vendored
@@ -38,6 +38,6 @@ jobs:
|
|||||||
|
|
||||||
- name: Push
|
- name: Push
|
||||||
run: |
|
run: |
|
||||||
nuget push ./linker.tunnel/bin/release/linker.tunnel.1.2.8.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol
|
nuget push ./linker.tunnel/bin/release/linker.tunnel.1.2.9.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol
|
||||||
nuget push ./linker.libs/bin/release/linker.libs.1.2.8.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol
|
nuget push ./linker.libs/bin/release/linker.libs.1.2.9.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol
|
||||||
nuget push ./linker.tun/bin/release/linker.tun.1.2.8.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol
|
nuget push ./linker.tun/bin/release/linker.tun.1.2.9.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -ApiKey ${{ secrets.NUGET_KEY }} -NoSymbol
|
||||||
|
@@ -14,9 +14,9 @@
|
|||||||
<Copyright>snltty</Copyright>
|
<Copyright>snltty</Copyright>
|
||||||
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
|
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
|
||||||
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
|
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
|
||||||
<Version>1.2.8</Version>
|
<Version>1.2.9</Version>
|
||||||
<AssemblyVersion>1.2.8</AssemblyVersion>
|
<AssemblyVersion>1.2.9</AssemblyVersion>
|
||||||
<FileVersion>1.2.8</FileVersion>
|
<FileVersion>1.2.9</FileVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
<DebugType>full</DebugType>
|
<DebugType>full</DebugType>
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
<JsonSerializerIsReflectionEnabledByDefault>true</JsonSerializerIsReflectionEnabledByDefault>
|
<JsonSerializerIsReflectionEnabledByDefault>true</JsonSerializerIsReflectionEnabledByDefault>
|
||||||
<EnablePreviewFeatures>true</EnablePreviewFeatures>
|
<EnablePreviewFeatures>true</EnablePreviewFeatures>
|
||||||
<Title>linker tun</Title>
|
<Title>linker tun</Title>
|
||||||
<Version>1.2.8</Version>
|
<Version>1.2.9</Version>
|
||||||
<Authors>snltty</Authors>
|
<Authors>snltty</Authors>
|
||||||
<Company>snltty</Company>
|
<Company>snltty</Company>
|
||||||
<Description>linker tun</Description>
|
<Description>linker tun</Description>
|
||||||
@@ -17,8 +17,8 @@
|
|||||||
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
|
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
|
||||||
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
|
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
|
||||||
<PackageReleaseNotes>linker tun</PackageReleaseNotes>
|
<PackageReleaseNotes>linker tun</PackageReleaseNotes>
|
||||||
<AssemblyVersion>1.2.8</AssemblyVersion>
|
<AssemblyVersion>1.2.9</AssemblyVersion>
|
||||||
<FileVersion>1.2.8</FileVersion>
|
<FileVersion>1.2.9</FileVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
@@ -388,8 +388,11 @@ namespace linker.tunnel
|
|||||||
}
|
}
|
||||||
//在尝试外网
|
//在尝试外网
|
||||||
eps.AddRange(new List<IPEndPoint>{
|
eps.AddRange(new List<IPEndPoint>{
|
||||||
|
//有NAT
|
||||||
new IPEndPoint(tunnelTransportInfo.Remote.Remote.Address,tunnelTransportInfo.Remote.Remote.Port),
|
new IPEndPoint(tunnelTransportInfo.Remote.Remote.Address,tunnelTransportInfo.Remote.Remote.Port),
|
||||||
new IPEndPoint(tunnelTransportInfo.Remote.Remote.Address,tunnelTransportInfo.Remote.Remote.Port+1),
|
new IPEndPoint(tunnelTransportInfo.Remote.Remote.Address,tunnelTransportInfo.Remote.Remote.Port+1),
|
||||||
|
//无NAT
|
||||||
|
new IPEndPoint(tunnelTransportInfo.Remote.Remote.Address,tunnelTransportInfo.Remote.Local.Port),
|
||||||
});
|
});
|
||||||
//再尝试IPV6
|
//再尝试IPV6
|
||||||
foreach (IPAddress item in tunnelTransportInfo.Remote.LocalIps.Where(c => c.AddressFamily == AddressFamily.InterNetworkV6))
|
foreach (IPAddress item in tunnelTransportInfo.Remote.LocalIps.Where(c => c.AddressFamily == AddressFamily.InterNetworkV6))
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
<JsonSerializerIsReflectionEnabledByDefault>true</JsonSerializerIsReflectionEnabledByDefault>
|
<JsonSerializerIsReflectionEnabledByDefault>true</JsonSerializerIsReflectionEnabledByDefault>
|
||||||
<EnablePreviewFeatures>true</EnablePreviewFeatures>
|
<EnablePreviewFeatures>true</EnablePreviewFeatures>
|
||||||
<Title>linker tunnel</Title>
|
<Title>linker tunnel</Title>
|
||||||
<Version>1.2.8</Version>
|
<Version>1.2.9</Version>
|
||||||
<Authors>snltty</Authors>
|
<Authors>snltty</Authors>
|
||||||
<Company>snltty</Company>
|
<Company>snltty</Company>
|
||||||
<Description>linker tunnel</Description>
|
<Description>linker tunnel</Description>
|
||||||
@@ -17,8 +17,8 @@
|
|||||||
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
|
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
|
||||||
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
|
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
|
||||||
<PackageReleaseNotes>linker tunnel</PackageReleaseNotes>
|
<PackageReleaseNotes>linker tunnel</PackageReleaseNotes>
|
||||||
<AssemblyVersion>1.2.8</AssemblyVersion>
|
<AssemblyVersion>1.2.9</AssemblyVersion>
|
||||||
<FileVersion>1.2.8</FileVersion>
|
<FileVersion>1.2.9</FileVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
|
@@ -3,3 +3,6 @@ import { sendWebsocketMsg } from './request'
|
|||||||
export const updateVersion = (data) => {
|
export const updateVersion = (data) => {
|
||||||
return sendWebsocketMsg('RunningConfig/UpdateVersion', data);
|
return sendWebsocketMsg('RunningConfig/UpdateVersion', data);
|
||||||
}
|
}
|
||||||
|
export const updateDisableSync = (data) => {
|
||||||
|
return sendWebsocketMsg('RunningConfig/UpdateDisableSync', data);
|
||||||
|
}
|
@@ -16,6 +16,7 @@ export const provideGlobalData = () => {
|
|||||||
Relay: { Servers: [] },
|
Relay: { Servers: [] },
|
||||||
Tuntap: { IP: '', PrefixLength: 24 },
|
Tuntap: { IP: '', PrefixLength: 24 },
|
||||||
Client: { Servers: [] },
|
Client: { Servers: [] },
|
||||||
|
AutoSyncs: {}
|
||||||
},
|
},
|
||||||
configed: false
|
configed: false
|
||||||
},
|
},
|
||||||
|
@@ -4,20 +4,27 @@
|
|||||||
<el-button size="small" @click=handleEdit>手动修改版本</el-button>
|
<el-button size="small" @click=handleEdit>手动修改版本</el-button>
|
||||||
<span>高版本一端自动同步到低版本一端</span>
|
<span>高版本一端自动同步到低版本一端</span>
|
||||||
<span class="flex-1"></span>
|
<span class="flex-1"></span>
|
||||||
|
<el-checkbox v-model="disableSyncValue" @change="handleSync">关闭自动同步</el-checkbox>
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import {updateVersion} from '@/apis/running'
|
import {updateDisableSync, updateVersion} from '@/apis/running'
|
||||||
import { injectGlobalData } from '@/provide';
|
import { injectGlobalData } from '@/provide';
|
||||||
import { ElMessageBox } from 'element-plus';
|
import { ElMessageBox } from 'element-plus';
|
||||||
import { computed } from 'vue'
|
import { computed, ref, watch } from 'vue'
|
||||||
export default {
|
export default {
|
||||||
props:['ckey'],
|
props:['ckey'],
|
||||||
setup(props) {
|
setup(props) {
|
||||||
const globalData = injectGlobalData();
|
const globalData = injectGlobalData();
|
||||||
const version = computed(()=>globalData.value.config.Running.Versions[props.ckey]);
|
const version = computed(()=>globalData.value.config.Running.Versions[props.ckey]);
|
||||||
|
|
||||||
|
const disableSync = computed(()=>globalData.value.config.Running.DisableSyncs[props.ckey] || false);
|
||||||
|
watch(()=>disableSync.value,()=>{
|
||||||
|
disableSyncValue.value = disableSync.value;
|
||||||
|
});
|
||||||
|
const disableSyncValue = ref(disableSync.value);
|
||||||
|
|
||||||
|
|
||||||
const handleEdit = () => {
|
const handleEdit = () => {
|
||||||
ElMessageBox.prompt('输入你要修改到的版本', '修改版本', {
|
ElMessageBox.prompt('输入你要修改到的版本', '修改版本', {
|
||||||
@@ -34,9 +41,12 @@ export default {
|
|||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
const handleSync = ()=>{
|
||||||
|
updateDisableSync({key:props.ckey,sync:disableSyncValue.value})
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
version,handleEdit
|
version,disableSyncValue,handleEdit,handleSync
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -17,17 +17,16 @@
|
|||||||
<EnablePreviewFeatures>true</EnablePreviewFeatures>
|
<EnablePreviewFeatures>true</EnablePreviewFeatures>
|
||||||
<ServerGarbageCollection>false</ServerGarbageCollection>
|
<ServerGarbageCollection>false</ServerGarbageCollection>
|
||||||
<Title>linker</Title>
|
<Title>linker</Title>
|
||||||
<Version>1.2.8</Version>
|
<Version>1.2.9</Version>
|
||||||
<Authors>snltty</Authors>
|
<Authors>snltty</Authors>
|
||||||
<Company>snltty</Company>
|
<Company>snltty</Company>
|
||||||
<Description>1. 修复管理页面数据表格绑定显示信息错误
|
<Description>1. 选择是否自动同步配置文件</Description>
|
||||||
2. 将程序分发给他人进行组网时,可删除web文件夹,使其其仅能使用简单管理页面管理自身</Description>
|
|
||||||
<Copyright>snltty</Copyright>
|
<Copyright>snltty</Copyright>
|
||||||
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
|
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
|
||||||
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
|
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
|
||||||
<PackageReleaseNotes>linker</PackageReleaseNotes>
|
<PackageReleaseNotes>linker</PackageReleaseNotes>
|
||||||
<AssemblyVersion>1.2.8</AssemblyVersion>
|
<AssemblyVersion>1.2.9</AssemblyVersion>
|
||||||
<FileVersion>1.2.8</FileVersion>
|
<FileVersion>1.2.9</FileVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|
||||||
|
@@ -20,10 +20,20 @@ namespace linker.plugins.config
|
|||||||
runningConfigTransfer.UpdateVersion(info.Key, info.Version);
|
runningConfigTransfer.UpdateVersion(info.Key, info.Version);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void UpdateDisableSync(ApiControllerParamsInfo param)
|
||||||
|
{
|
||||||
|
UpdateDisableSyncInfo info = param.Content.DeJson<UpdateDisableSyncInfo>();
|
||||||
|
runningConfigTransfer.UpdateDisableSync(info.Key, info.Sync);
|
||||||
|
}
|
||||||
public sealed class UpdateVersionInfo
|
public sealed class UpdateVersionInfo
|
||||||
{
|
{
|
||||||
public string Key { get; set; }
|
public string Key { get; set; }
|
||||||
public ulong Version { get; set; }
|
public ulong Version { get; set; }
|
||||||
}
|
}
|
||||||
|
public sealed class UpdateDisableSyncInfo
|
||||||
|
{
|
||||||
|
public string Key { get; set; }
|
||||||
|
public bool Sync { get; set; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
using linker.libs;
|
using linker.libs;
|
||||||
using linker.libs.extends;
|
|
||||||
using linker.plugins.client;
|
using linker.plugins.client;
|
||||||
using linker.plugins.config.messenger;
|
using linker.plugins.config.messenger;
|
||||||
using linker.plugins.messenger;
|
using linker.plugins.messenger;
|
||||||
@@ -14,6 +13,7 @@ namespace linker.client.config
|
|||||||
/// 同步配置的版本记录
|
/// 同步配置的版本记录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Dictionary<string, ulong> Versions { get; set; } = new Dictionary<string, ulong>();
|
public Dictionary<string, ulong> Versions { get; set; } = new Dictionary<string, ulong>();
|
||||||
|
public Dictionary<string, bool> DisableSyncs { get; set; } = new Dictionary<string, bool>();
|
||||||
}
|
}
|
||||||
|
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
@@ -76,7 +76,10 @@ namespace linker.client.config
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public Memory<byte> InputConfig(ConfigVersionInfo info)
|
public Memory<byte> InputConfig(ConfigVersionInfo info)
|
||||||
{
|
{
|
||||||
Console.WriteLine(info.ToJson());
|
if (GetDisableSync(info.Key))
|
||||||
|
{
|
||||||
|
return Helper.EmptyArray;
|
||||||
|
}
|
||||||
ulong version = GetVersion(info.Key);
|
ulong version = GetVersion(info.Key);
|
||||||
|
|
||||||
if (setters.TryGetValue(info.Key, out Action<Memory<byte>> setter) && info.Version > version)
|
if (setters.TryGetValue(info.Key, out Action<Memory<byte>> setter) && info.Version > version)
|
||||||
@@ -106,6 +109,11 @@ namespace linker.client.config
|
|||||||
/// <param name="data"></param>
|
/// <param name="data"></param>
|
||||||
public void Sync(string key, Memory<byte> data)
|
public void Sync(string key, Memory<byte> data)
|
||||||
{
|
{
|
||||||
|
if (GetDisableSync(key))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
ulong version = GetVersion(key);
|
ulong version = GetVersion(key);
|
||||||
sender.SendReply(new MessageRequestWrap
|
sender.SendReply(new MessageRequestWrap
|
||||||
{
|
{
|
||||||
@@ -163,5 +171,15 @@ namespace linker.client.config
|
|||||||
ulong version = GetVersion(key);
|
ulong version = GetVersion(key);
|
||||||
UpdateVersion(key, version + 1);
|
UpdateVersion(key, version + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool GetDisableSync(string key)
|
||||||
|
{
|
||||||
|
return runningConfig.Data.DisableSyncs.TryGetValue(key, out bool sync) && sync;
|
||||||
|
}
|
||||||
|
public void UpdateDisableSync(string key, bool sync)
|
||||||
|
{
|
||||||
|
runningConfig.Data.DisableSyncs[key] = sync;
|
||||||
|
runningConfig.Data.Update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,4 +1,3 @@
|
|||||||
v1.2.8
|
v1.2.9
|
||||||
2024-09-02 15:23:00
|
2024-09-03 11:52:36
|
||||||
1. 修复管理页面数据表格绑定显示信息错误
|
1. 选择是否自动同步配置文件
|
||||||
2. 将程序分发给他人进行组网时,可删除web文件夹,使其其仅能使用简单管理页面管理自身
|
|
Reference in New Issue
Block a user