脑洞大咖
IP:
36关注数
1粉丝数
30获得的赞
工作年
编辑资料
链接我:

创作·57

全部
问答
动态
项目
学习
专栏
脑洞大咖

有什么办法可以根据cve的编号来进行网络漏洞测试?

不知道你说的是不是 Metasploit(MSF)这样的工具,能提供一些已知的漏洞库直接利用。 还有一些比如Goby这样的。 具体的脚本,有部份可能是开源的,可能有人会去主动维护,这里面常用的可能都有。但是真正还没有被披露出来的漏洞,就不会有了。 也有些漏洞,在github上搜索一下,也能搜索到一些比人封装好的工具,大概也能用。 没有的也可以自己写,只要按照相关工具的文档规范,自己实现也是可以的,难度不算大。 如果有明确的复现漏洞的步骤的话,按照复现的步骤就能编写脚本。
0
0
0
浏览量0
脑洞大咖

x轴有两个系列的要怎么做?

echarts或者antv都可以 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250110/033d54a9549170e22e84eb430961ec65.png)
19
1
0
浏览量258
脑洞大咖

如何监听到清除功能的操作?

不知道这两两篇文章对你有没有帮助 "https://www.grapecity.com.cn/blogs/how-to-customize-spread-ri..." (https://link.segmentfault.com/?enc=onwAN2hDqQN3ZSjZpLt24A%3D%3D.bEGLVbfQiZDvnHkaPpq03Bn8K3PW3WweKmFehroQbTMmbkXl6golluvtumAw2MLk1H3pMqFZBJOA9FiokqqJKfRIKYE%2BemsKh2dQ%2F5VKZuWZG4mffeL4DSCUPgbb7Y21) "https://www.grapecity.com.cn/blogs/how-to-customize-spread-ri..." (https://link.segmentfault.com/?enc=bYXzQllBh7XzvDqMS7lUng%3D%3D.rFVYQVvad4DR49Q7816hWSOwI8saUBB7zQRcrpmuFZH6MmMpK47l6CqIRUTTO29ZAdG6aH8yQV%2FEGMibmgX7lAkIKCVBEqCfwMxDSfiYS%2F9qBSGdnJ54EyOrHZOVU1wC)
0
0
0
浏览量0
脑洞大咖

web页面直播项目使用video标签.flv协议偶现断流?

web端页面的直播项目,使用阿里播放器,流协议是.flv,电脑一直不动放那里拉流观看,大概一个小时后偶现不拉流了黑屏问题(全程无任何操作,会不会是电脑硬件或者浏览器性能、缓存的问题呢) 有没有好的解决方法?如何去监测到流断了我重新去执行一下拉流渲染操作? "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250107/3ae2c7e6427267d7e865ac4600a480be.png)
11
1
0
浏览量290
脑洞大咖

我最开始基于它的commit-001进行开发了分支(new-br),然后现在想要合并的时候,这个最新的版本是commit-002了,请问如何进行rebase呢?

这个时候应该用"git merge" 操作。上面你说到了合并时候是版本commit-002,说明其他人也在这这个分支进行了提交操作,这时候你用"git rebase" 是会影响到其他人的代码。 1. 先说你采用"git rebase"操作会产生什么后果: 假设同事A从c1这个commit基础上提交了两个commit,c3和c4。而这个时候同事B在原来c1基础上提交了c2,同时本地本地有个c5还没有推到远程仓库。若这个时候同事A直接进行rebase 操作,会发生同事B本地版本库和远程版本库不同步的情况,有可能会导致同事B的本地commit c2丢失。如下图所示: "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250102/9bd1f73aeb029664b93028ada1cc98aa.png) 2. 如果采用"git merge"操作可能在提交记录上会出现merge记录,并手动更新一些代码,但是不会出现丢失其他人代码的情况,如下图所示: "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250102/9d6ddad5674e8f3e99d14cb48dc7a3e2.png) 同事B如果再同步远程仓库的话,只需要要做合并操作即可,而不会出现和远程仓库无法同步的现象了
0
0
0
浏览量0
脑洞大咖

React Antd 表单校验报错validateFields重复报错?

"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250101/a193f811a773eadac279d5668550bf2f.png) 自定义校验的数组中有两个校验规则,如果是为空,第二个校验要走成功,否则会冲突
0
0
0
浏览量0
脑洞大咖

根据websocket实时获取到uid和health,实时渲染到Echarts折线图上面?

const { uid, health } = data.data; dataQueue.push({ uid, health }); // 检查是否已存在该uid的数据 if (uidDataMap[uid] === undefined) { uidDataMap[uid] = { xAxisData: [], // 存储X轴数据 seriesData: [], // 存储折线数据 }; } else { // 检查当前区间数量是否超过最大区间数量 if (uidDataMap[uid].xAxisData.length >= MAX_DATA_INTERVAL) { // 删除后面的数据 uidDataMap[uid].xAxisData.splice(0, uidDataMap[uid].xAxisData.length - MAX_DATA_INTERVAL); uidDataMap[uid].seriesData.splice(0, uidDataMap[uid].seriesData.length - MAX_DATA_INTERVAL); } } // 将数据添加到对应uid的数据中 uidDataMap[uid].xAxisData.push(uid); uidDataMap[uid].seriesData.push(health); // 更新ECharts图表 updateChart(); 通过在收到新的数据时,会先检查当前区间的数量是否超过了最大区间数量。如果超过了,就会删除后面的数据,确保区间数量不超过最大限制。然后再将新的数据添加到对应的uid的数据中,并更新图表。
0
0
0
浏览量0
脑洞大咖

为什么简书上现在都在推一些乱七八糟的网文?是要倒闭了还是要转行?

彻底抛弃程序员群体 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241230/2d18d29260fae77254b2c125c8c2fee7.png) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241230/8abd07d5531d0ddd4dd07a1b98af1813.png)
20
1
0
浏览量245
脑洞大咖

列表数据频繁闪烁?

const onMessage = async (event) => { const data = JSON.parse(event.data); if (data.data == undefined) { console.log('未响应'); } else { console.log(data.data); if (data.data.state !== undefined) { // 查找是否存在相同uid的数据 const existingDataIndex = TagInfoData.value.findIndex(item => item.uid === data.data.uid); if (existingDataIndex !== -1) { // 如果uid已存在,更新对应的数据 const existingData = TagInfoData.value[existingDataIndex]; existingData.frequency = data.data.frequency; // 更新frequency字段 existingData.state = data.data.state } else { // 如果uid不存在,新增一行数据 TagInfoData.value.push({ uid: data.data.uid, angle: 0, height: 0, confi: 0, longitude: 0, latitude: 0, speed: 0, state: 0, frequency: data.data.frequency }); } } else { const targetingTypes = { 0x10: 'RTK', 0x11: 'UWB', 0x12: '融合' }; // 查找是否存在相同uid的数据 const existingDataIndex = TagInfoData.value.findIndex(item => item.uid === data.data.uid); if (existingDataIndex !== -1) { // 如果uid已存在,更新对应的数据 const existingData = TagInfoData.value[existingDataIndex]; existingData.TargetingType = targetingTypes[data.data.type]; existingData.uid = data.data.uid; existingData.angle = data.data.angle; existingData.height = data.data.height; existingData.confi = data.data.confi; existingData.longitude = data.data.longitude; existingData.latitude = data.data.latitude; existingData.speed = data.data.speed; existingData.frequency = frequencyData.value; // 将frequency字段设置为frequencyData的值 } else { // 如果uid不存在,新增一行数据 TagInfoData.value.push({ TargetingType: targetingTypes[data.data.type], uid: data.data.uid, angle: data.data.angle, height: data.data.height, confi: data.data.confi, longitude: data.data.longitude, latitude: data.data.latitude, speed: data.data.speed, frequency: frequencyData.value }); } } } }; "图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241230/ce081fbb6ef972c088d1fe15ef8859db.png) 通过websocket实时发送的数据,上述代码的实现会使定位频率(frequency)字段频繁闪烁,大佬们帮忙看看如何解决呢?谢谢
12
1
0
浏览量216
脑洞大咖

zustand的store的,如何才能进行监听呢?

我有如下的zustand的store: // tabs.store.ts interface TabsSlice { tabs: [], addTab: (tab: TabsWithBreadcrumbs[number]) => {}, removeTab: (key: string) => {}, } export const createTabsSlice = (set:any, get:any): TabsSlice => ({ tabs: [ { title: '简介', breadcrumbs: ['简介'], key: '000' }, ], addTab: (tab) => { console.log('mmkk2: ', tab) return set((state) => { const newTabs = state.tabs.push(tab) return newTabs }) } }) 请问如何才能进行store的state的监听呢? 比如tabs有变化,那么我就想要打印一下结果。请问如何做到呢?
15
1
0
浏览量336
脑洞大咖

五子棋机器人,简化代码?

我花了几天的时间用vue写了一个五子棋,与机器人对战 但是我感觉里面代码很多重复的部分,想要简化写法,希望大家帮我看看 五子棋 机器人小福正持黑棋与您作战 人机对战 {{ tip }} 重新开始 import { ref } from 'vue' import dialogVue from '../comm/dialog.vue' export default { components: { dialogVue }, setup() { //机器人玩五子棋的思路是 //当用户有三个连在一起时,挡住一边,有四个时,阻挡用户,其他情况机器人自己企图完成五个连线 const isMachine = ref(false)//是否是机器人对战 const score = ref(0) const row = ref(20) const col = ref(20) const visible = ref(false) const tip = ref('') const boxs = ref([[{ place: 0, x: 0, y: 0 }]]) const curUser = ref(1)//只可以是1或者2 1表示白 2表示黑 let airPlace = []//记录机器人下棋子的地方 let previousBox = { place: 0, x: 0, y: 0 } let fourDetial = {}//机器人是否有四个连在一起 function init() { curUser.value = 1 visible.value = false airPlace = [] boxs.value = [] previousBox = { place: 0, x: 0, y: 0 } fourDetial = {} for (let i = 0; i fourDetial.x - fourDetial.times + 1; i--) { if (boxs.value[i][fourDetial.y].place === 0) { boxs.value[i][fourDetial.y].place = 2 fourDetial = determineEquare3(4, 2, { x: i, y: fourDetial.y, place: 2 }) airPlace.push((i) * row.value + fourDetial.y) curUser.value = 1 return } } } else if (boxs.value[fourDetial.x + 1]?.[fourDetial.y]?.place === 0) { boxs.value[fourDetial.x + 1][fourDetial.y].place = 2 fourDetial = determineEquare3(4, 2, { x: fourDetial.x + 1, y: fourDetial.y, place: 2 }) airPlace.push((fourDetial.x + 1) * row.value + fourDetial.y) curUser.value = 1 return } else if (boxs.value[fourDetial.x - fourDetial.times]?.[fourDetial.y]?.place === 0) { boxs.value[fourDetial.x - fourDetial.times][fourDetial.y].place = 2 fourDetial = determineEquare3(4, 2, { x: fourDetial.x - fourDetial.times, y: fourDetial.y, place: 2 }) airPlace.push((fourDetial.x - fourDetial.times) * row.value + fourDetial.y) curUser.value = 1 return } } else if (fourDetial.type === 2) { if (fourDetial.geyi) { for (let j = fourDetial.y; j > fourDetial.y - fourDetial.times + 1; j--) { if (boxs.value[fourDetial.x][j].place === 0) { boxs.value[fourDetial.x][j].place = 2 fourDetial = determineEquare3(4, 2, { x: fourDetial.x, y: j, place: 2 }) airPlace.push((fourDetial.x) * row.value + j) curUser.value = 1 return } } } else if (boxs.value[fourDetial.x]?.[fourDetial.y + 1]?.place === 0) { boxs.value[fourDetial.x][fourDetial.y + 1].place = 2 fourDetial = determineEquare3(4, 2, { x: fourDetial.x, y: fourDetial.y + 1, place: 2 }) airPlace.push((fourDetial.x) * row.value + fourDetial.y + 1) curUser.value = 1 return } else if (boxs.value[fourDetial.x]?.[fourDetial.y - fourDetial.times]?.place === 0) { boxs.value[fourDetial.x][fourDetial.y - fourDetial.times].place = 2 fourDetial = determineEquare3(4, 2, { x: fourDetial.x, y: fourDetial.y - fourDetial.times, place: 2 }) airPlace.push((fourDetial.x) * row.value + fourDetial.y - fourDetial.times) curUser.value = 1 return } } else if (fourDetial.type === 3) { if (fourDetial.geyi) { let i for (let j = fourDetial.y - 1; j > fourDetial.y - fourDetial.times + 1; j--) { i = fourDetial.x - (fourDetial.y - j) if (boxs.value[i]?.[j]?.place === 0) { boxs.value[i][j].place = 2 fourDetial = determineEquare3(4, 2, { x: i, y: j, place: 2 }) airPlace.push((i) * row.value + j) curUser.value = 1 return } } } else if (boxs.value[fourDetial.x + 1]?.[fourDetial.y + 1]?.place === 0) { boxs.value[fourDetial.x + 1][fourDetial.y + 1].place = 2 fourDetial = determineEquare3(4, 2, { x: fourDetial.x + 1, y: fourDetial.y + 1, place: 2 }) airPlace.push((fourDetial.x + 1) * row.value + fourDetial.y + 1) curUser.value = 1 return } else if (boxs.value[fourDetial.x - fourDetial.times]?.[fourDetial.y - fourDetial.times]?.place === 0) { boxs.value[fourDetial.x - fourDetial.times][fourDetial.y - fourDetial.times].place = 2 fourDetial = determineEquare3(4, 2, { x: fourDetial.x - fourDetial.times, y: fourDetial.y - fourDetial.times, place: 2 }) airPlace.push((fourDetial.x - fourDetial.times) * row.value + fourDetial.y - fourDetial.times) curUser.value = 1 return } } else if (fourDetial.type === 4) { if (fourDetial.geyi) { let i for (let j = fourDetial.y; j temp.x - temp.times + 1; i--) { if (boxs.value[i][temp.y].place === 0) { boxs.value[i][temp.y].place = 2 fourDetial = determineEquare3(4, 2, { x: i, y: temp.y, place: 2 }) airPlace.push((i) * row.value + temp.y) } } } else if (boxs.value[temp.x + 1]?.[temp.y]?.place === 0) { boxs.value[temp.x + 1][temp.y].place = 2 fourDetial = determineEquare3(4, 2, { x: temp.x + 1, y: temp.y, place: 2 }) airPlace.push((temp.x + 1) * row.value + temp.y) } else if (boxs.value[temp.x - temp.times]?.[temp.y]?.place === 0) { boxs.value[temp.x - temp.times][temp.y].place = 2 fourDetial = determineEquare3(4, 2, { x: temp.x - temp.times, y: temp.y, place: 2 }) airPlace.push((temp.x - temp.times) * row.value + temp.y) } } else if (temp.type === 2) { if (temp.geyi) { for (let j = temp.y; j > temp.y - temp.times + 1; j--) { if (boxs.value[temp.x][j].place === 0) { boxs.value[temp.x][j].place = 2 fourDetial = determineEquare3(4, 2, { x: temp.x, y: j, place: 2 }) airPlace.push((temp.x) * row.value + j) } } } else if (boxs.value[temp.x]?.[temp.y + 1]?.place === 0) { boxs.value[temp.x][temp.y + 1].place = 2 fourDetial = determineEquare3(4, 2, { x: temp.x, y: temp.y + 1, place: 2 }) airPlace.push((temp.x) * row.value + temp.y + 1) } else if (boxs.value[temp.x]?.[temp.y - temp.times]?.place === 0) { boxs.value[temp.x][temp.y - temp.times].place = 2 fourDetial = determineEquare3(4, 2, { x: temp.x, y: temp.y - temp.times, place: 2 }) airPlace.push((temp.x) * row.value + temp.y - temp.times) } } else if (temp.type === 3) { if (temp.geyi) { let i for (let j = temp.y - 1; j > temp.y - temp.times + 1; j--) { i = temp.x - (temp.y - j) if (boxs.value[i]?.[j]?.place === 0) { boxs.value[i][j].place = 2 fourDetial = determineEquare3(4, 2, { x: i, y: j, place: 2 }) airPlace.push((i) * row.value + j) } } } else if (boxs.value[temp.x + 1]?.[temp.y + 1]?.place === 0) { boxs.value[temp.x + 1][temp.y + 1].place = 2 fourDetial = determineEquare3(4, 2, { x: temp.x + 1, y: temp.y + 1, place: 2 }) airPlace.push((temp.x + 1) * row.value + temp.y + 1) } else if (boxs.value[temp.x - temp.times]?.[temp.y - temp.times]?.place === 0) { boxs.value[temp.x - temp.times][temp.y - temp.times].place = 2 fourDetial = determineEquare3(4, 2, { x: temp.x - temp.times, y: temp.y - temp.times, place: 2 }) airPlace.push((temp.x - temp.times) * row.value + temp.y - temp.times) } } else if (temp.type === 4) { if (temp.geyi) { let i for (let j = temp.y; j 0) { boxs.value[previousBox.x - 1][previousBox.y].place = 2 airPlace.push((previousBox.x - 1) * row.value + previousBox.y) } else { boxs.value[previousBox.x + 1][previousBox.y].place = 2 airPlace.push((previousBox.x + 1) * row.value + previousBox.y) } } else { let time = [{ time: 0, pre: -1, geyi: false }, { time: 0, pre: -1, geyi: false }, { time: 0, pre: -1, geyi: false }, { time: 0, pre: -1, geyi: false }] airPlace.some((item, index, arr) => { let itemi = Math.floor(item / row.value) let itemj = item % row.value if (time[0].time = 4) { if ((boxs.value[itemi][itemj + 1]?.place === 0 && boxs.value[itemi][itemj + 1]) || (boxs.value[itemi][itemj - time[0].times]?.place === 0 && boxs.value[itemi][itemj - time[0].time])) return true else { //虽然有四个横着,但是这四个横着两边都被挡住了,所以重新再来 time[0] = { time: 0, pre: -1, geyi: false } } } } } if (time[1].pre === -1 || arr[time[1].pre] === item - 1 || (arr[time[1].pre] === item - 2 && !time[1].geyi)) { if (arr[time[1].pre] === item - 2) { if (boxs.value[Math.floor((item - 1) / row.value)][(item - 1) % row.value].place === 0) { time[0].geyi = true } else { return false } } if ((arr[time[1].pre] === item - 1 || arr[time[1].pre] === item - 2) && time[1].time === 0) { time[1].time = 0 time[1].geyi = false } else time[1].time++ if (time[1].time > 3) { time[1].time = 0 } time[1].pre = index } if (time[2].pre === -1 || arr[time[2].pre] === item - 1 || (arr[time[2].pre] === item - 2 && !time[2].geyi)) { if (arr[time[2].pre] === item - 2) { if (boxs.value[Math.floor((item - 1) / row.value)][(item - 1) % row.value].place === 0) { time[0].geyi = true } else { return false } } if ((arr[time[2].pre] === item - 1 || arr[time[2].pre] === item - 1) && time[2].time === 0) { time[2].time = 0 time[2].geyi = false } else time[2].time++ if (time[2].time > 2) { time[2].time = 0 } time[2].pre = index } if (time[3].pre === -1 || arr[time[3].pre] === item - 1 || (arr[time[3].pre] === item - 2 && !time[3].geyi)) { if (arr[time[3].pre] === item - 2) { if (boxs.value[Math.floor((item - 1) / row.value)][(item - 1) % row.value].place === 0) { time[0].geyi = true } else { return false } } if ((arr[time[3].pre] === item - 1 || arr[time[3].pre] === item - 1) && time[3].time === 0) { time[3].time = 0 time[3].geyi = false } else time[3].time++ if (time[3].time > 1) { time[3].time = 0 } time[3].pre = index } }) time = time.sort((a, b) => b.time - a.time) let placeHas = time.some(item => { if (item.time > 0 && item.pre > -1) { const i = Math.floor(airPlace[item.pre] / row.value) const j = Math.floor(airPlace[item.pre] % row.value) if (boxs.value[i][j + 1]?.place === 0) { boxs.value[i][j + 1].place = 2 airPlace.push(i * row.value + j + 1) fourDetial = determineEquare3(4, 2, { x: i, y: j + 1, place: 2 }) return true } if (boxs.value[i][j - item.time]?.place === 0) { boxs.value[i][j - item.time].place = 2 airPlace.push(i * row.value + j - item.time) fourDetial = determineEquare3(4, 2, { x: i, y: j - item.time, place: 2 }) return true } } }) if (placeHas) { airPlace = airPlace.sort((a, b) => a - b) return } time = [{ time: 0, pre: -1, index: -1 }, { time: 0, pre: -1, index: -1 }, { time: 0, pre: -1, index: -1 }, { time: 0, pre: -1, index: -1 }] airPlace.some((item, index) => { let itemi = Math.floor(item / row.value) let itemj = item % row.value if (time[0].time = 4) { if ((boxs.value[itemi + 1][itemj]?.place === 0 && boxs.value[itemi + 1][itemj]) || (boxs.value[itemi - time[0].time][itemj]?.place === 0 && boxs.value[itemi - time[0].time][itemj])) return true else { //虽然有四个竖着,但是这四个竖着两边都被挡住了,所以重新再来 time[0] = { time: 0, pre: -1 } } } } } if (time[1].pre === -1 || time[1].pre === item - row.value) { if (time[1].pre === item - row.value && time[1].time === 0) { time[1].time = 0 } else time[1].time++ if (time[1].time > 3) { time[1].time = 0 } time[1].pre = item time[1].index = index } if (time[2].pre === -1 || time[2].pre === item - row.value) { if (time[2].pre === item - row.value && time[2].time === 0) { time[2].time = 0 } else time[2].time++ if (time[2].time > 2) { time[2].time = 0 } time[2].pre = item time[2].index = index } if (time[3].pre === -1 || time[3].pre === item - row.value) { if (time[3].pre === item - row.value && time[3].time === 0) { time[3].time = 0 } else time[3].time++ if (time[3].time > 1) { time[3].time = 0 } time[3].pre = item time[3].index = index } }) time = time.sort((a, b) => b.time - a.time) placeHas = time.some(item => { if (item.time > 0 && item.pre > -1) { const i = Math.floor(item.pre / row.value) const j = Math.floor(item.pre % row.value) if (boxs.value[i + 1]?.[j]?.place === 0) { boxs.value[i + 1][j].place = 2 airPlace.push((i + 1) * row.value + j) fourDetial = determineEquare3(4, 2, { x: i + 1, y: j, place: 2 }) return true } if (boxs.value[i - item.time]?.[j]?.place === 0) { boxs.value[i - item.time][j].place = 2 airPlace.push((i - item.time) * row.value + j) fourDetial = determineEquare3(4, 2, { x: i - item.time, y: j, place: 2 }) return true } } }) if (placeHas) { airPlace = airPlace.sort((a, b) => a - b) return } } } //判断用户是否有横竖斜大于等于3个棋子的情况,只需要查看用户上一个棋子落下后是否造成这样的情况就行 function determineEquare3(maxTime = 3, userPlace = 1, box = previousBox) { let times = 0 let preP = -1 let geyi = false let tempArr = [] //竖 for (let i = (box.x - 5 >= 0 ? box.x - 5 : 0); i = maxTime) { if (times === 3 && geyi) { continue } if (boxs.value[i + 1]?.[box.y].place !== 0 && boxs.value[i + 1]?.[box.y].place !== userPlace && boxs.value[i - times]?.[box.y].place !== 0) { break } else { tempArr[0] = tempArr[0]?.times > times ? tempArr[0] : { x: i, y: box.y, type: 1, times, geyi } if (boxs.value[i + 1]?.[box.y].place !== 0 || boxs.value[i - times]?.[box.y].place !== 0) { tempArr[0].priority = 2 } else { tempArr[0].priority = 1 } } } } } times = 0 preP = -1 geyi = false //横 for (let j = (box.y - 5 >= 0 ? box.y - 5 : 0); j = maxTime) { if (times === 3 && geyi) { continue } if (boxs.value[box.x]?.[j + 1]?.place !== 0 && boxs.value[box.x]?.[j + 1].place !== userPlace && boxs.value[box.x]?.[j - times]?.place !== 0) { break } else { tempArr[1] = tempArr[1]?.times > times ? tempArr[1] : { x: box.x, y: j, type: 2, times, geyi } if (boxs.value[box.x]?.[j + 1]?.place !== 0 || boxs.value[box.x]?.[j - times]?.place !== 0) { tempArr[1].priority = 2 } else { tempArr[1].priority = 1 } } } } } times = 0 preP = -1 geyi = false //左斜 let i let j if (box.x - 5 >= 0 && box.y - 5 >= 0) { i = box.x - 5 j = box.y - 5 } else if (box.x - 5 >= 0 && box.y - 5 = 0) { i = 0 j = box.y - (box.x - i) } else { if (box.x > box.y) { j = 0 i = box.x - (box.y - j) } else { i = 0 j = box.y - (box.x - i) } } for (j; j = maxTime) { if (times === 3 && geyi) { i++ continue } if (boxs.value[i + 1]?.[j + 1]?.place !== 0 && boxs.value[i + 1]?.[j + 1].place !== userPlace && boxs.value[i - times]?.[j - times]?.place !== 0) { break } else { tempArr[2] = tempArr[2]?.times > times ? tempArr[2] : { x: i, y: j, type: 3, times, geyi } if (boxs.value[i + 1]?.[j + 1]?.place !== 0 || boxs.value[i - times]?.[j - times]?.place !== 0) { tempArr[2].priority = 2 } else { tempArr[2].priority = 1 } } } } i++ } //右斜 if (box.x - 5 >= 0 && box.y + 5 = 0 && box.y + 5 >= row.value) { j = row.value - 1 i = box.x - (row.value - 1 - box.y) } else if (box.x - 5 row.value - 1 - box.y) { j = row.value - 1 i = box.x - (row.value - 1 - box.y) } else { i = 0 j = box.y + (box.x - i) } } preP = -1 times = 0 geyi = false for (j; j > (box.y - 5 >= 0 ? box.y - 5 : 0); j--) { console.log(times, preP, geyi, tempArr[0], i, j, box, 'times,preP,geyi,tempArr[0],i,j,box,右斜') if (boxs.value[i]?.[j]?.place === userPlace) { if (preP === -1 || preP === j + 1 || (preP === j + 2 && !geyi)) { if (preP === j + 2) { if (boxs.value[i - 1][j + 1]?.place === 0) { geyi = true times++ } else { continue } } times++ } else { times = 1 geyi = false } preP = j if (times >= maxTime) { if (times === 3 && geyi) { i++ continue } if (boxs.value[i + 1]?.[j - 1]?.place !== 0 && boxs.value[box.x]?.[j - 1].place !== userPlace && boxs.value[i - times]?.[j + times]?.place !== 0) { break } else { tempArr[3] = tempArr[3]?.times > times ? tempArr[3] : { x: i, y: j, type: 4, times, geyi } if (boxs.value[i + 1]?.[j - 1]?.place !== 0 || boxs.value[i - times]?.[j + times]?.place !== 0) { tempArr[3].priority = 2 } else { tempArr[3].priority = 1 } } } } i++ } console.log(tempArr, 'temp') tempArr = tempArr.sort((a, b) => b.times - a.times) if (tempArr[0]?.times >= 3) { if (tempArr[0].priority === 2) { let temp = null tempArr.map((item, index, arr) => { if (item?.times >= arr[0].times) { if (item.priority === 1) { temp = item } } }) if (temp) { return temp } //挡住一边的三个没有必要去阻挡 if (tempArr[0]?.times === 3) { return false } } return tempArr[0] } return false } //验证是否赢了 function validateWin() { if(visible.value) return for (let i = 0; i .mineDlearance { display: flex; justify-content: center; width: 100%; height: 100%; // align-items: center; .game { // background: #ccc; padding: 10px; height: 850px; .top { display: flex; justify-content: space-between; } .game-main { margin-top: 10px; .item-one { width: 40px; height: 40px; border: 1px solid #000; box-sizing: border-box; background: goldenrod; cursor: pointer; .circle { width: 100%; height: 100%; border-radius: 100%; } } } } }
18
1
0
浏览量267
脑洞大咖

vue2封装的表格组件问题?

{{ scope.row[item.key] === 0 ? '信息' : '' }} {{ scope.row[item.key] }} {{ scope.row[item.key] }} {{ bytesToSize(Number(scope.row[item.key])) }} {{ item }} {{ scope.row[item.key] }} {{ scope.row[item.key] }} 这是封装的子组件的表格组件 添加行是在父组件里面实现的,把值传给子组件 当我添加新的一行的时候,没有问题,添加两行的时候form.num修改其中一个的时候另外一个也跟着修改,如何解决这个问题
9
1
0
浏览量225
脑洞大咖

docker打包报错找不到文件?

找到原因了 "图片" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241216/47e729fe545bf1c1d4b66364ecc97b6e.png) 至于为什么重新开始进入单独打包这个,而不是docker-compose也会报错这个,实话说不知道,怀疑是不是有什么缓存,刚刚把requirements.txt复制了一份,用其他名字,再从头打开窗口重新打包就不会报错了。
0
0
0
浏览量0
脑洞大咖

打开网址报错403 Forbidden,请问怎么解决?

确认HTTP服务的对应目录是否有查看权限。
0
0
0
浏览量0
脑洞大咖

有大佬知道这种占比怎么实现不?

"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241209/6027213315097dcdf1f6313045284cd2.png) 三角形上面的图片也需要根据百分比,去渐变,动态变化 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241209/d7760c485a9ac0e9f212b9ac8562b9b5.png) 貌似Ui设计渐变的左右搞反了
0
1
0
浏览量17
脑洞大咖

ORACLE如何在不停机的情况下执行数据库表重建并且不丢失数据?

RT,大表,随时都有数据的读写
0
1
0
浏览量14
脑洞大咖

兄弟们,web端有没有好的h264播放器可以播放字节码的?

都拿到字节流了,理论上你把它转成blob对象就可以在video标签下播放了,see: "https://stackoverflow.com/questions/14317179/display-a-video-from-a-blob-javascript" (https://link.segmentfault.com/?enc=YlcK0GrQzg8wYbbA0ksJDg%3D%3D.C7cWQnRAGtZrYRt%2FVtfGtk4WUPUQQhJrRyYd4Xdl9KHyzbhBYwW7YfIMb2CYWb74aXXWnv7riQte9rFtbEmambel9tX7GhTgP6ffQQm3hq26Qi8Ij%2FwL2pzEgHCkRBhH)
0
0
0
浏览量0
脑洞大咖

session 和 sessionStorage 是不是没有什么关联?

没有关系,只是设计思路是一样的:在整个会话中保持,多个应用可以共用这个状态缓存。 换到前端中就是会话在浏览器只要不关闭就会一直保持,多个同域页签之间可以共享这个状态缓存。 "Window.sessionStorage - Web API 接口参考 | MDN" (https://link.segmentfault.com/?enc=B4dnGF%2FReXYL7OfX8sSMUw%3D%3D.kKVzVJ4Po5%2FKgld8%2BT1h8tujCjEtYWt5WArsKzmvsvmIq1EWWeiJEKsgwG4OHTfhPyTrBSuwF2Hkd9GqHMrDFM9VUEdjKMAED%2FFA%2BpG86GM%3D)
0
0
0
浏览量0
脑洞大咖

用system函数调用bash指令会显著降低C的效率吗?

一个程序执行main入口函数之前,还会执行很多初始化过程,你可以查询操作系统原理里调用一个进程的说明。system('echo 111>>1.txt');就相当于执行一个echo程序,自然比你自己写的成千上万行代码都要慢。
0
0
0
浏览量0
脑洞大咖

CNN输入层数据维度问题?

为社么加了输入数据一维还是报错 https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241130/99c848cc0ff9fd65075261210b78edf9.png import numpy as np import librosa import soundfile from keras.models import Sequential from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D from keras.optimizer_v1 import Adam import tensorflow as tf def load_audio_data(file_path): audio, sample_rate = librosa.load(file_path, res_type='kaiser_fast') mfccs = librosa.feature.mfcc(y=audio, sr=sample_rate, n_mfcc=40) mfccs_processed = np.mean(mfccs.T,axis=0) return mfccs_processed #CNN def build_model(): model = Sequential() model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(40, 1))) model.add(MaxPooling2D((2, 2))) model.add(Dropout(0.25)) model.add(Flatten()) model.add(Dense(128, activation='relu')) model.add(Dropout(0.5)) model.add(Dense(1, activation='linear')) # 输出层 model.compile(loss='mean_squared_error', optimizer=Adam()) return model # 训练模型 def train_model(model, X_train, y_train): model.fit(X_train,y_train,batch_size=128, epochs=10) audiopath="E:\BaiduNetdiskDownload\yy\kel.wav" audiodata=load_audio_data(audiopath) X_train = np.array([audiodata])# 这里只使用一段音频作为训练数据,实际应用中需要更多数据 print(X_train) X_train= tf.expand_dims(X_train, axis=-1) y_train =1 # 构建并训练模型 model = build_model() train_model(model, X_train, y_train)
0
1
0
浏览量20
脑洞大咖

Harbor私服无法在外网访问?

我看了一下我自己本地的harbor v2.8.4,发现似乎和 hostname / external_url 都没有关系。 这个hostname字段,看上去只和web上显示提示的推送命令提示有关系。 不管hostname改成什么,都不会影响到nginx,nginx默认配置里面server_name是注释掉的。 所以,这里不管通过什么IP/Hostname访问,只要访问的端口正确,即通过80/443/或者设置的其他端口,都能访问到harbor的服务。 理想情况下,我觉得可以把hostname改成域名比较合适,在内网访问时DNS服务器返回内网IP,在外网访问时DNS服务器返回外网IP。 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241127/88fde7af2a3b483b7c411e0dc31437cc.png) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241127/7e6e35b0dab150f408518c15c9b75e4f.png) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241127/306a02fcdc0f14dbaf94c87682516f58.png) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241127/f5386b0cf14f3f1bcd497adfd6c32958.png)
0
0
0
浏览量0
脑洞大咖

关于 ts 中回调函数参数加上泛型限制后传入联合类型为什么会报错?

相关代码如下,在 use 函数中加入联合类型后就会告诉我 number 和 string 类型不兼容,求教应该怎样解决这个问题,换个写法的话我想要的是保留 use 的泛型 declare function use(data: T, cb: (arg: T) => void): void declare function cb1(arg: string): void declare function cb2(arg: number): void use('', cb1) // success use(1, cb2) // success const data: string | number = 9 const cb: typeof cb1 | typeof cb2 = cb1 use(data, cb) // error *** 我面临的实际问题是,我有一个工具函数,它会返回一个 变量 和 消费这个变量的函数,变量的类型和函数的入参是强关联的,都需要限制为同一个类型,而这两个返回值都会被另一个函数作为入参,当我的工具函数返回一个联合类型的时候就得到了错误,上面给的实例代码有点不符合实际情况,看看下面的代码应该能更好理解 declare function getCb(): | { data: string; cb: (arg: string) => void } | { data: number; cb: (arg: number) => void } declare function use(props: { data: T; cb: (arg: T) => void }): void use(getCb()) // error
0
1
0
浏览量12
脑洞大咖

vue3 项目使用.prettierrc自动保存,元素标签换行风格如何配置?

如图所示,我如何配置保存成我想要的结果。 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241121/1b4eb14ae00016e97e55fa212dba2bf3.png)
0
1
0
浏览量20
脑洞大咖

Vue3移除了v-show?

文心一言的编程问答可以说是我体验过最差的。。当然是以官方文档为准了,建议用隔壁阿里的通义千问,当然这些生成式AI目前都不能全信,还是要有自己的判断
0
0
0
浏览量0
脑洞大咖

两条查询SQL能不能合成一条?

SELECT * FROM ( SELECT * FROM t WHERE active = 1 AND enabled = 1 UNION ALL SELECT * FROM t WHERE enabled = 1 ) AS temp ORDER BY (CASE WHEN active = 1 THEN 0 ELSE 1 END) LIMIT 1 «用 AND 链接的,程序是不是从左到右这样一个一个匹配?» 是的,顺序优先级是not>and>or,除非用括号括起来
0
0
0
浏览量0
脑洞大咖

有什么好办法可以提取图片的各个元素的坐标?

所谓的元素是什么意思,怎么判定为一个元素,还是说就是想提取文字的坐标?
0
0
0
浏览量0
脑洞大咖

一次"愉快"的找bug 问题是解决了 但是还不太能理解 求大佬解惑!!!?

一次"愉快"的找bug 问题是解决了 但是还不太能理解 求大佬解惑!!!? "企业微信截图_17016750961423.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241107/c3d369614728246e2da83d320cae129e.png) 如图 uat环境 这个toast的背景色样式被popup的样式覆盖了 (还有个图片预览 点开也是背景色白底 被popup样式影响) 明显看到popup的样式文件有两个 看hash值是其它页面的 因为本地是正常的 遂想到应该是打包影响(打包产物与本地不一致) 然后在vite.config.js里看到了这个 "企业微信截图_1701674813442.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241107/05985929af8fb1d1171d200f327fb55d.png) 我看到组长写的注释 “...自动important” 觉得应该是这里有门道 猜测VantResolver这个就是处理vant相关的 搜索配置项发现有个importStyle(是否同时导入样式) //主要就它长得像 加了 给false 发uat 好了!!! "企业微信截图_17016749469999.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241107/0ff6b3b1fc1055b060c22afb2e8745df.png) "企业微信截图_17016751398036.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241107/b55851deac3659b63936eacf80f368ea.png) 问题是解决了 但是没想明白 当时看van-popup和van-toast的权重都是(0,1,0) 第一个样式文件里有toast和popup的样式 toast是在popup的下面 另一个样式文件里只有popup的样式 是这样覆盖的吗 补充: 看link元素是第二个样式文件在第一个下面 这个效果解释通了 为什么会出现两个样式文件? 有没有办法控制这两个文件的插入顺序?(当前页面样式文件理应在最下面的 )
0
1
0
浏览量16
脑洞大咖

PDF翻页以及文字定位?

vue使用pdf怎么监听他的翻页和文字定位的事件? 我在网上找了一些帖子都是利用iframe做的 除了这个方法还有其他办法吗 还有pdf.js和pdf-dist.js不是一个东西吗??? "image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241104/cfec09747235387bd3abab42fed4787b.png) 是这种翻页 不是只渲染一页然后下一页 这个页面就变成了第二页而是整个渲染然后去进行翻页
0
1
0
浏览量23
脑洞大咖

next13 react项目 setupProxy.js 不起作用?

// next.config.js module.exports = { async rewrites() { return [ { source: "/api/:path*", destination: "https://www.examole.com/:path*", }, ] } }
0
0
0
浏览量0
脑洞大咖

时钟芯片rx8025t芯片读取,小时超出24小时,请问是什么原因?

https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241103/ce745ccc4df0004f86fe90132a608b1a.png 这是i2c返回的结果 小时是第三个字节,0x36,转成bcd然后10进制是36,直接超出24小时了 #include unsigned char bcd_decimal(unsigned char bcd) { return bcd - (bcd >> 4) * 6; } int main(void) { unsigned char buf[7] = {0x18, 0x27, 0x36, 0x00, 0x08, 0x12, 0x23}; printf("date -s %04d-%02d-%02d %02d:%02d:%02d\n", 2000 + bcd_decimal(buf[6]), bcd_decimal(buf[5]), bcd_decimal(buf[4]), bcd_decimal(buf[2] & 0x3f), bcd_decimal(buf[1]), bcd_decimal(buf[0])); return 0; } 输出结果是 ➜ gcc hello.c && ./a.out date -s 2023-12-08 36:27:18 参数解析: https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241103/5bc2a24b1011b6c7496b2c3ff7dffb34.png 具体规格书:"规格书" (https://link.segmentfault.com/?enc=Kcgjj4eycl7L3sPVYw24cQ%3D%3D.%2BxZX%2B2Q8SycJ%2Bbo3MhW13bjxJu4EfOiBtOOFGnCR27iUxm6H2NjtGtQuGaPZ3KYQOJ%2FYC4Kpg3kp0AZizKCRbCRKAhQPUoK1q%2FPyIpatoEBR9XpVNCsTOJXHtK%2FyAq1h) 请问是什么原因导致的?
0
1
0
浏览量16
脑洞大咖

slim框架如何获得query参数?

可通过如下方式获取: get('/hello/{name}', function (Request $request, Response $response, array $args) { // 获取路径参数 $name = $args['name']; // 获取查询参数 $queryParams = $request->getQueryParams(); // 获取特定的查询参数 $aaa = isset($queryParams['aaa']) ? $queryParams['aaa'] : null; $bbb = isset($queryParams['bbb']) ? $queryParams['bbb'] : null; // 构建响应字符串 $greeting = "Hello, $name"; if ($aaa !== null && $bbb !== null) { $greeting .= " - aaa: $aaa, bbb: $bbb"; } // 将响应写入响应体 $response->getBody()->write($greeting); return $response; }); $app->run();
0
0
0
浏览量0
脑洞大咖

如何在AMH上升级PHP、NGINX和MYSQL?

如果是小版本升级软件商店有更新,你在面板就可以直接升级。 如php-7.4.0升级到7.4.1。 如果是大版本更换,直接在网站『环境列表』选择更换,如php-7.4更换到php-8.3等。 你也可以建立多个网站环境(如不同的php、不同的mysql组成的多个环境), 编辑虚拟主机随时可以切换到不同的环境。
0
0
0
浏览量0
脑洞大咖

如何在AMH上以www用户运行PHP脚本?

amh有安全限制非root用户是执行不了amh命令。 如果要用非root用户执行,建议用直接用php的命令,先在面板的『网站』环境列表勾选上命令行选项。(像上面的lnmp01、php-8.3的环境) 再用sudo指定www用户执行,如: sudo -u www php /home/wwwroot/lnmp01/domain/test.com/web/app/bin/legacy -C cron
0
0
0
浏览量0
脑洞大咖

如何在php容器中编译mysqli扩展?

进入php源码目录中,配置需要提供mysql_config文件的位置,而且mysql_config文件又要去找mysql其他文件。 ./configure --with-php-config=/usr/local/bin/php-config --with-mysqli=/usr/bin/mysql_config 由于我的php 和mysql 是2个容器 ,不在一个文件系统里,这可怎么办呀?
0
1
0
浏览量14
脑洞大咖

关于两个数组的对比关系 比较,想请教下大家?

function everyOrderMatch(arr1, arr2) { var list1 = [...arr1].sort((a,b) => a-b); var list2 = [...arr2].sort((a,b) => a-b); return arr1.every((n,i) => arr2[i] === list2[list2.length-1-list1.indexOf(n)]) } 把两个数组从小到大排序,"list1.indexOf(n)"取出"arr1"的数值的排序值,"list2.length-1-list1.indexOf(n)"是1中的排序值对应的2中的排序值(最小对应最大),"arr2[i] === m"判断该值是否等于"arr2"中相同索引的数值
0
0
0
浏览量0
脑洞大咖

js 获取怎么复制的内容?

用这个组件"clipboard": «"https://github.com/zenorocha/clipboard.js" (https://link.segmentfault.com/?enc=4vDvFiTxBTeBcLXFHjKuYw%3D%3D.7DKJ%2Bq%2Fwy6eknrBbW9J%2Fbgw7VFCXFwyh1ovPECFmTccPwjm3JhQ%2ByJtmgFjfdO2L)» 或"vue-clipboard2" «"https://www.npmjs.com/package/vue-> clipboard2" (https://link.segmentfault.com/?enc=YSE6xE8rqb9d7%2FfeWLzzjg%3D%3D.nsZ6JgyAe7fVlR0mk6J105AIWuQVg8olGK66%2BDkv0Af4LoOAhGRYK3ewPoVF09OO)»
0
0
0
浏览量0
脑洞大咖

如何在数据库中创建空间并解决实名认证问题?

反馈给七牛云客服,会比较好
0
0
0
浏览量0
脑洞大咖

Windows 10有线网卡断网,微软浏览器可上网?

win10PC机有线网卡,上网时突然断网。出现了飞行模式!当时用的是华为浏览器,因为占用内存较少。 网线,路由器都换了,基本排除硬件问题。 发现微软浏览器能上网!其他浏览器不能,app也不能上网。 请高人解惑 买了个无线网卡安上,用Edge正常,用华为浏览器重装了,还是不通,诊断:Windows无法与设备或资源(主DNS服务器)通信。 ipv4设置固定IP,DNS。
0
1
0
浏览量177
脑洞大咖

WGCLOUD服务接口监控,响应状态码是500但是没有发送通知是怎么回事?

这是因为WGCLOUD的默认告警设置是:服务接口连续2次检测失败才发送告警通知 所以如果第一次接口出现500错误,没有收到告警通知是正常的,如果第二次检测接口失败,这时候系统就会发送告警通知邮件 不过这个阈值可以修改,在server配置文件里修改如下配置项,然后重启server就可以生效了 #服务接口告警开关,yes开启,no关闭 heathWarnMail: yes #服务接口监测失败连续几次后发送告警通知,默认2次 heathWarnCount: 2 https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241008/70332d99a0d217f61a2dc9cec41f9b96.png
0
0
0
浏览量0
脑洞大咖

HTML中的Ruby标签之间的间隔问题?

2个使用下划线标签包裹的HTML的ruby标签,为什么中间会有间隔? 源 ( みなもの ) 義経 ( よしつね ) 如题: "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241009/d87d3a2a57742721cd7ccd9fdba02788.png) 我想让「源義経」这三个字的下划线能连续起来,现在不知道什么原因,中间断开了
0
1
0
浏览量206
脑洞大咖

vue3编译过程的调试,怎么才能调试啊?

使用"vscode"的"launch.json"断点进去看不到吗?
0
0
0
浏览量0
脑洞大咖

如何解决MongoDB 在小型服务器上过高的资源占用问题?

CPU使用率70%远不至于崩溃,可能是内存占用满了,可以编辑“/etc/security/limits.conf”文件限制内存使用
0
0
0
浏览量0
脑洞大咖

流式布局,长项换行后,后面的短项自动补位,有无简单方法?

不定宽度列表项流式布局,长项换行后,后面的短项自动补位,有什么简单的css实现? 如下图: "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241008/9240597cc121aa690b6bbc39a7f6ee97.png)
0
1
0
浏览量191
脑洞大咖

linux 系统的多用户概念怎么理解?

如题所示,最近在自学 linux 系统的相关结构,读到了以下的内容 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241008/b02eb98ca3e65a710316f0fddba74311.png) 我的电脑是 mac 也是类 unix 的系统,但是在日常使用的时候,我并没有感觉到这些 “多用户” 的概念。 问题1:所谓的“多用户”该怎么去理解? 问题2:用户组又是什么?
0
1
0
浏览量122
脑洞大咖

如何在MySQL中高效处理多表插入操作?

目前有个需求是要将csv文件内容分别插入到某数据库的两张表中 ,有一定依赖关系。由于一直是学生本科刚大四没毕业,故实战经验与性能优化经验薄弱 demo信息如下: 两张表分别是角色信息表和用户信息表 角色信息表 学号/工号 | 姓名 | 性别 | 角色(依赖权限表id) | 科目表id(依赖于科目表) ---|---|---|---|--- 用户信息表 uuid | 手机号 | 密码 | 角色id(依赖于角色信息表) ---|---|---|--- 权限表:老师、管理员、学生 科目表:语、数、英…… 想请教各位大佬,用sql语句一次性批量插入与使用for循环去插入,性能方面影响大吗 *** 注:数据库环境为MySQL
0
1
0
浏览量202
脑洞大咖

HarmonyOS 4.0 Panel 高度问题怎么解决?

"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241006/a96ed91cf10b03b5e39e9378f7ccae33.png) 你想让Panel的红色蒙层区不响应触摸事件,Panel控件不支持对单独蒙层区的设置,蒙层区和下面的内容区是整体的(官方panel文档:"https://developer.huawei.com/consumer/cn/doc/harmonyos-refere..." (https://link.segmentfault.com/?enc=H7u4MlFsVqmNXwGpu08mpA%3D%3D.QFsitIhU7rZn18hk%2F%2BfGmiJWFzabGeBmlOhQAwOqDGbFnSfjqMRPmbQi%2FriGdWibZfySkzmU%2Fts8qwEh0KDhm4%2FisGOwo4%2BZY8qMBSik3IoqkyxAX1WDRhppdRLGUj6izmypy%2Fs0Fg2Dp50Neay81g%3D%3D)) 想实现这种效果需要你自己实现一个容器控件,只让内容区响应触摸事件。
0
0
0
浏览量0
脑洞大咖

HTML的页面的请求,是否可以用js函数获取到当前请求的请求头?

请问,比如我一个针对html的请求, "http://demo.com/aaa.html" (https://link.segmentfault.com/?enc=VPP8bnyxmES6GhOnSol%2FzA%3D%3D.9y4nWoqHWntgW2eZxLxdSNUj7wqp41am1npqYubQ9IA%3D) 请求头中有一个请求头: x-reqid: 00011111 请问下,我是否可以在aa.html中有一个js函数,解析到本次请求的id。然后加速到html DOM中?
0
1
0
浏览量196
脑洞大咖

vue 可以让相同key的节点只移动位置不重新渲染吗?

"代码复现" (https://link.segmentfault.com/?enc=eJTbQ901IurC2G57vXAF9w%3D%3D.fnCe1wP7pV%2FS1AmG5VO%2Bdo7dng6ge%2BIcLuPY1a%2F%2BrvfqsHy8bp1v0BjAb4lBKPxV8eHfvJOepXZUSFSdLEAKHtqjsXhH4txQolRiASIbwd2MsbwyvpHiYm7q9TBtKqTYT33ss2myshgUxGzkkjvwKmI%2FDF6QLE0%2BaEah6qRtSJIA0fEkbDNf20QCpvGC7s2Vzkx%2FaVmJMrf1%2FEu%2FMIgkwPBAOYS60XQ%2F%2F8Yd2Yzcj7Tadfip7InakUNMdtMhiA4Slz97CeUNgFrY1bZ%2BS4NDGnnIqeQ3ZvavTqRRChWhyIrNZqerBBE3w6EaAoelcSFYw%2BsHsLvAWVG%2BOrswxkdSvIV7Y%2FwxlBXvxweNrdzk3O2qodpHD81S6ytYgSFNf3v6vAF4JooOBqkoiw2tqvF3k%2B36DqW4sa1hCxqGIGtLS5QBQcK33XNEu0FpwOINw7k2j85a0cvSoLyRu7%2Fsf156FjGJLb%2FnzO3Tg66nZ9bKYcI2RHB0GbN6tlXUmZn0dK5Sgs%2Fq4s77QnH801%2BB2uwfwML91vfNgXVDWVc4DwQugLqVPUu5NGPJpgXaSa79kii12fg905jeL2rGX%2Bg%2BrSVBZVeTH2j4IJtvmzU9g%2F2Nc5ruYHXLVsCqZpyzbvcmRobefw0MJFr0ruuJLaksPVm3hw%3D%3D) 我的业务代码中 "v-for" 创建多个 "iframe" ,只是删除某一个便会更新后方所有节点,很不好,如何避免呢? 可以让相同"key"的节点只移动位置不重新渲染吗?
0
1
0
浏览量139
脑洞大咖

关于vue 图片偶尔请求不到加载不出来的问题?

大佬们,我这个图片的数据是后端请求来bFileList动态插入rowData里面,然后循环出图片的url,我刷新点击弹窗展示图片,有时候图片能够全部加载出来有时候又不能全部加载出来。有什么方法可以解决吗? 图片url可以访问得到,有时候没有加载出来。使用了vue,ui用的elementui。图片显示不出来后,等一会也不会加载出来,需要重新加载。加载不出来显示碎裂图片。举个例子,加载不出来的图片url:"http://192.168.1.220/files//200001//821654b4535a415e83976f9a0..." (https://link.segmentfault.com/?enc=iO8NNcoylMKnKE4A9J%2FAmA%3D%3D.o4o5o1X8MoQwhz92DmPkkSiMFptPP4WvWVRXA06YZ9Djd8SOUuvpREQZj1rmh0F6lxorEcGeB%2F4mMOIq%2FcSBY7UUzVxLGSYxzO3ZO%2BAvnuI%3D),可以访问打开。在页面偶尔能打开偶尔不能打开,所有图片都是这样 "90d7aed1a49abf7faef12f804266a9b.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241003/50a1f716934c4dc57a263d8c32170683.png) "12453de721626290353a56f7bd37699.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241003/d7f75627b0b12f1f2ff7d643f96864c8.png) "006589d39c7c4a06ad48129ed7e76f2.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241003/cdf14055fdfdef2696dc39ec9b21aa3e.png) 甚至最后我把代码上的图片url写死,图片加载还是会发生有时候加载不出来的问题。 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241003/69ea2d3bec7f599a64f18332c9223acd.png)
0
1
0
浏览量148
脑洞大咖

vue3 递归list怎么让他子集有父级也显示?

给你改造了下 const checkChildren = (children) => { let flag = false children.forEach(value => { let showChild = false if (value.children && value.children.length) { showChild = checkChildren(value.children) // 接收子级的状态 } value.show = showChild || !searchTitle.value || value.title.toLowerCase().includes(searchTitle.value.toLowerCase()) flag = flag || value.show }) return flag // 返回子级的状态,决定父级状态 }
0
0
0
浏览量0

履历