2024问题总结

news/2025/2/12 14:05:07/文章来源:https://www.cnblogs.com/hellofangfang/p/18711457

20241225 XlVirtualList解决数据量大,滚动后,再点下拉会出现空白

setTimeout(() => {

          document.querySelector('.vxe-table--body').style.marginTop = 0

        })

 

20241224双向数据绑定问题

  1. key
  2. 是否已有这个元素
  3. $set
  4. 慢半拍加$nextTick

:key="isPlan?scope.row.dblamount:null"

  1. 有结算计划时只能输入一个字就会失去焦点

20241213vue中Import加{}和不加{},有什么区别?

默认导出(default export)每个模块可以有一个默认导出,它可以是一个变量、函数或组件。当你导入默认导出时,不需要使用大括号{}

// MyComponent.js
export default function MyComponent() {
  // ...
}

// App.js
import MyComponent from './MyComponent';

命名导出(named export):一个模块可以有多个命名导出。当你导入命名导出时,需要使用大括号{}。

// utils.js
export function funcA() {
  // ...
}

export function funcB() {
  // ...
}

// App.js
import { funcA, funcB } from './utils';

 

20211203 scoped样式穿透

<style lang="scss" scoped>

 

.menu-wrapper /deep/ .el-submenu__title

</style>

 

20241128 PinyinMatch

思路一:

computed: {

    filterList() {

      if (this.fieldtypesearch.length) {

        return this.detailList.filter(val => {

          return PinyinMatch.match(val.strdicttypecodeandname, this.fieldtypesearch)

        })

      } else {

        return this.detailList

      }

    }

  },

思路二:

<el-input

      slot="reference"

      v-model="currVal"

      placeholder="请输入"

      maxlength="250"

      clearable

      @change="changeEvent"

      @input="inputEvent"

      @focus="focusEvent"

    />

inputEvent(val) {

      if (val) {

        this.employeesList = this.copyList.filter((item) => {

          return PinyinMatch.match(item.strfullname, val)

        })

      } else {

        this.employeesList = this.copyList

      }

    },

 

 

20241113 提取后缀.ofd

function checkFile(fileValue) {

    var index = fileValue.lastIndexOf(".");

    var fileValueSuffix = fileValue.substring(index); // 获取文件后缀

    if (fileValueSuffix.toLowerCase() === ".ofd") {

        return "OFD"; // 文件是 OFD 类型

    } else {

        return "其他类型"; // 文件不是 OFD 类型

    }}

// 示例用法var fileName = "example.ofd";var fileType = checkFile(fileName);

console.log("文件类型:" + fileType);

export function getFileExtendingName(filename) {

  // 文件扩展名匹配正则

  var reg = /\.[^\.]+$/

  var matches = reg.exec(filename)

  if (matches) {

    return matches[0]

  }

  return ''

}

20241112 Vxe-table判断校验是第几行问题

<vxe-table

@valid-error="errorEvent"

>

方法一:

errorEvent({ row, rowIndex }) {

      this.cellClickVxe({ row })

    },

方法二:

errMap[Object.keys(errMap)[0]][0].row

 

20241107账套登录

http://192.168.0.115:9527/book/

system

gold12#$

用户组下新增

 

点新建

密码必须是gold

 

 

一键更新dblink

Portainer重启  xlykcb_global

如果启不来可能是.dmp比较旧

把最新打包的/xlykpub/发版记录/资金支出管控系统/V11.9.9.20250110/ce/空账套 下载XLYKCE.dmp

放到ftp 115

/hrp/dbmanage/dbfiles

.dmp要换成新的

登录:admin  XLyk888888

20241106 Portainer登录

118admin  goldgold

115admin  jsp123456

20241106财政一体化数据中台登录

http://192.168.0.115:9527/fiscal/#/login?redirect=%2Fdashboard

admin XLyk888888

20241105北京CA

我这有个工具,你对比一下试试

https://demo-system.isignet.cn/signHelper/sign.html

 

20241028 el-tooltip

<el-tooltip v-if="widths !== 'auto'" class="item" effect="dark" :visible-arrow="false" :content="node.label" placement="top-start">

              <span>{{ node.label }}</span>

            </el-tooltip>

 

20240814formula计算

我把 表头和标题的 数字类型 合并成一个json   variables   然后把 公式转成${variables.p212}*10      然后用eval(eval('`' + str + '`'))  计算

 

20241013replaceAll

if (column.property === 'strmainno') {

        return value.replaceAll(',', '\n')

        // return value.split(',').join('\n')

      }

 

let str = "我是一段文本aaa";

let newStr = str.replace(/aaa/gm,"bbb")

//let newStr = str.replace(new RegExp("aaa","gm"),"bbb")

console.log(newStr) //我是一段文本bbb

if(!String.prototype.replaceAll){

    String.prototype.replaceAll = function(str1,str2){

        return this.replace(new RegExp(str1,"gm"),str2);

    }

}

//用法:

let str = "我是一段文本aaa";

let newStr = str.replaceAll('aaa','bbb')

console.log(newStr) //我是一段文本bbb

 

20240813 12位整数两位小数校验

rules: {

      dblquantity: [

          { required: true, message: '必填字段', trigger: 'blur' },

          {

            pattern: '^[1-9]\\d{0,11}(\\.\\d{1,2})?$|^0(\\.\\d{1,2})?$',

            message: '整数最多12位小数2位',

            trigger: 'blur',

            transform: (value) => String(value)

          }

        ],

Dblquantity2: [

          { required: true, message: '必填字段', trigger: 'blur' },

          {

            pattern: '^[1-9]\\d{0,11}$',

            message: '整数最多12位',

            trigger: 'blur',

            transform: (value) => String(value)

          }

        ],

 

}

 checkQuantity(val, scope, item) {

if (

            !/^(0\.(?!0+$)\d{1,2}|^[1-9][0-9]{0,11}(\.\d{0,2})?)$/.test(

              scope.row.dblquantity * 1

            )

          ) {

            this.$message.error('输入最多12位整数2位小数!')

            scope.row.dblquantity = ''

            scope.row.totalprice = ''

            return false

          }

if (

            !/^[1-9]\d{0,11}$/.test(

              scope.row.dblquantity * 1

            )

          ) {

            this.$message.error('输入最多12位整数!')

            scope.row.dblquantity = ''

            scope.row.totalprice = ''

            return false

          }

}

dblcheckquantity: [

          { required: true, message: '必填字段', trigger: 'blur' },

          {

            pattern: '^[1-9]\\d{0,11}(\\.\\d{1,2})?$|^0(\\.\\d{1,2})?$',

            message: '仅可输入最多12位整数+2位小数的正数',

            trigger: 'change'

          }

        ],

        dblcurrprice: [

          { required: true, message: '必填字段', trigger: 'blur' },

          {

            pattern: '^[1-9]\\d{0,11}(\\.\\d{1,4})?$|^0(\\.\\d{1,4})?$',

            message: '仅可输入最多12位整数+4位小数的正数',

            trigger: 'change'

          }

        ]

 

20240730vue自写组件可输入,可下拉选择

<el-popover

    v-model="visible"

    width="300"

    trigger="focus"

    :disabled="disabled"

  >

    <vxe-grid

      ref="grid"

      border

      highlight-hover-row

      auto-resize

      height="300"

      class="vxecss"

      :show-overflow="true"

      :data="employeesList"

      :columns="tableColumn"

      @cell-click="cellClickEvent"

      @scroll="xTableScroll"

    />

    <el-input

      slot="reference"

      v-model="currVal"

      placeholder="请输入"

      maxlength="250"

      clearable

      @change="changeEvent"

      @input="inputEvent"

      @focus="focusEvent"

    />

  </el-popover>

methods: {

    xTableScroll({ scrollTop }) {

      this.xTableScrollTop = scrollTop

    },

    focusEvent() {

      setTimeout(() => {

        this.$refs.grid.scrollTo(0, this.xTableScrollTop)

        if (this.lngemployeeid) {

          const curRow = this.employeesList.filter(item => {

            return item.lngemployeeid === this.lngemployeeid

          })

          this.$refs.grid.setCurrentRow(curRow[0])

        }

      })

},

cellClickEvent({ row }) {

      this.visible = false

      this.curRow = row

      this.$emit('select', row)

    },

 

20240730点击空白处,下拉隐藏(print)

this.$refs.select.blur() // 使select失去焦点 隐藏下拉框

 

<el-popover

      v-if="!onlyStream"

      v-model="showPrint"

      placement="bottom"

      trigger="manual"

    >ddddd</el-popvoer>

 

mounted() {

    document.addEventListener('click', this.closePop)

  },

 

methods: {

    // 点击空白处所有popover消失

    closePop(e) {

      if (e.target.className !== 'el-input__inner' && e.target.className !== 'el-input__clear'

) {

        this.showPrint = false

      }

}

}

20240704密码

/hrp/dbmanage/oracle

 

http://192.168.8.100:9527/book/#/index

GOLDgold1

 

admin

XLyk888888

供应商0100020/1qaz2wsx!@

 

公司wifi: xlyk123*#789

账号苗倩倩,密码abc123abc

 

公司外部禅道

http://81.68.150.48:900/zentao/my/

jiayufang

Aa@1123456789

 

20240726vxe-table 滚动到当前行,选中当前行

:key="tableKey"

 return {

      tableKey: 0,

this.tableKey = +new Date()

this.$refs.table.setActiveRow(addList)

this.$refs.table.setCurrentRow(addList)

0240703 sql

财政一体化数据库

select * from xlykfl0001.sysmenu t ;

动态列宽整体修改 

select t.strtitle,t.intwidth from baselistcolumn t where t.lngmenuid=600038 for update

update baselistcolumn t set t.intwidth=100 where t.strtitle='状态'; 

改变字段的sql 

update sysmenu t set t.strurl='cashier-payments',t.strmenuen='CashierPayments',t.strviewurl='/second/index' where t.lngmenuid=600043; 

update sysmenu t set t.strurl='cashier-payment',t.strmenuen='CashierPayment',t.strviewurl='/cashier-payment/cashier-payment/index' where t.lngmenuid=600044; 

xlykce0001 gold yun 

资金支出细表数据 

select * from otherexecutedetail t order by t.lngotherexecuteid desc for update 

查找身份证为空的人 

update employee t set t.strcardno='Rqd/puyXhGX/ndGGhUyhW/5a3pKebU9DArWZ7vF1DyY=' where t.strcardno is null 

Select * FROM (select *

from sysmenu t 

where t.lngproductid = 313 

start with t.strmenuname = '教学项目预算' 

connect by prior t.lngmenuid = t.lngparentid) WHERE strmenuname = '生成预算方案'; 

select * from sysmenu t where t.lngmenuid=1015 or t.lngmenuid=1045 for update 

select t.*,t.rowid 

from sysmenu t 

where t.lngproductid = 315 

and (t.lngmenuid in (600038, 600040, 600057, 600058, 600063, 600065,600208)

or t.lngparentid in (600038, 600040, 600057, 600058, 600063, 600065,600208))

order by t.lngmenuid 

select t.*,t.rowid 

from sysmenu t 

where t.lngproductid = 315 

and (t.lngmenuid in (600060,600250, 600251,600252,600253)

or strmenuname like '%还款审批%')

order by t.lngmenuid 

select t.*, t.rowid from SYSMENU t where t.lngproductid=311 order by lngmenuid desc 

select t.*, t.rowid from SYSMENU t where t.lngproductid=311 and t.lngparentid=200003 

select t.*, t.rowid from SYSMENU t where t.lngproductid=311 and t.strmenuname like '%平衡计分卡%' 

select t.*, t.rowid from LISTSTYLE t where t.strkey like '%borrowapply%' 

select t.strqrcode,t.lngreceipttypeid from xlykce0001.costexecute t where t.bytstatus=2; 

用户解锁 

alter user xlykcb0001 account unlock;  

select * from sysmenu t where t.lngproductid=324 and t.lngmenuid in (1100302,1100202) for update 

资金支出iframe数据库 

select * from RECEIPTTYPEROUTE 

SELECT * FROM XLYKCB0014.DEPARTMENT d WHERE STRDEPARTMENTCODE like '5501' FOR UPDATE ;

 

20240621数据库查询

 

20240610 部署

 

cd /hrp/publish

sh unistall

sh install

20240620部署gz包

tar –czvf ce.gz ce

 

http://192.168.8.188:9090/#/index

 

用户名:root 密码:gold

 

2024.6.17图片预览

export function pdfPreview(url) {

  this.pdfUrl = (process.env.NODE_ENV === 'development' ? process.env.VUE_APP_BASEURL : `${this.baseapi}`) + '/fileweb/download/previewFileByUniqFileName?filename=' + url + '&dbKey=' + sessionStorage.getItem('dbKey')

  window.open(this.pdfUrl)

}

 

this.pdfPreview(item.url)

2024.5.30 千位分割符,两位小数

this.sum= this.sumNum(data, column.property).toLocaleString('en', { minimumFractionDigits: column.editRender.props.limit })

// 千分位小数formatter

export function formatterThousandDecimal(row, column, cellValue) {

  if ((cellValue !== null && cellValue) || cellValue === 0) {

    cellValue = Number(cellValue).toFixed(2)

    cellValue += ''

    if (!cellValue.includes('.')) cellValue += '.'

    return cellValue.replace(/(\d)(?=(\d{3})+\.)/g, function($0, $1) {

      return $1 + ','

    }).replace(/\.$/, '')

  }

}

 

<el-table-column

            v-if="bodyIntpreset.dblpriceIsview===0"

            key="dblprice"

            prop="dblprice"

            :label="bodyIntpreset.dblpriceshowname"

            min-width="140"

            align="right"

            :width="headWidth.dblprice"

            :formatter="formatterThousandDecimal"

          />

<span v-if="pageType==='detail'">

                {{ formatterThousandDecimal(null,null,scope.row.dblpayprice) }}

{{dblamount |currency}}

              </span>

 

<div v-if="pageType === 'detail' && !isEdit('dblamount')">{{ scope.row.dblamount| currency }}</div>

import XEUtils from 'xe-utils'

export function formatterCommafyFixed(row, column, cellValue) {

  return cellValue && XEUtils.commafy(XEUtils.toFixed(cellValue, 2))

}

this.allDblamount = XEUtils.commafy(XEUtils.toFixed(allDblamount, 2))

 

formatterThousandNews(cellValue) {

      return cellValue && parseFloat(cellValue).toLocaleString('en-US', {

        minimumFractionDigits: 0,

        maximumFractionDigits: 4

      })

    },

{{ formatterThousandNews(scope.row[item.fieldname]) }}

合计:{{ choiceTotal }}

computed: {

    choiceTotal() {

      const sum = this.multipleSelection.reduce((acc, cur) => { acc += cur.dblamount; return acc }, 0)

      return parseFloat(sum.toFixed(2)).toLocaleString()

    }

  },

 

 

computed: {

    computedDblamount() {

      return parseFloat(this.dblamount.toFixed(2)).toLocaleString()

    },

 

 

2024.5.21 表头排序过滤

<vxe-table-column

          min-width="260"

          field="stritemname"

          title="物品名称"

          show-overflow

          header-align="center"

          :edit-render="{

            name: '$select',

            enabled: !(pageType === 'detail'),

          }"

          :filters="[{ data: '' }]"

          :filter-method="filterItemMethod"

          :filter-recover-method="filterItemRecoverMethod"

          sortable

        >

          <template #header="{ column }">

            <span>{{ column.title }}</span>

            <DynamicFilter

              ref="DynamicFilter"

              :table-list="mainForm.consumedetailList"

              :unique-value="mainForm.strreceiptno"

              :default-list="copydetailList"

              :column-name="'stritem'"

              :is-filter="1"

              :isinput="1"

              :type-list="[1, 2, 3, 4]"

              @setFilter="setFilterEvent"

              @reset="reset"

              @sort="sort"

            />

          </template>

          <!-- <template #filter="{ $panel, column }">

            <input v-for="(option, index) in column.filters" :key="index" v-model="option.data" class="my-input" type="type" placeholder="按回车确认筛选" @input="$panel.changeOption($event, !!option.data, option)" @keyup.enter="$panel.confirmFilter()">

          </template> -->

          <template #default="{row}">

            <span>{{ row.stritem }}</span>

          </template>

          <template #edit="scope">

            <span>{{ scope.row.stritem }}</span>

          </template>

        </vxe-table-column>

 

2024.03.05数据库知识

 

 

 

密码:gold

 

20240308可用额计算

出差申请单/专项四个单子

第二行可用额=上一行可用额-申请金额

删除第一行,第一行可用额为最大可用额,所有额度重新计算

差旅报销单

第二行可用额=上一行可用额-报销金额

删除第一行,第一行可用额为最大可用额,所有额度重新计算

删除其他行,所有额度重新计算

如果是删除,并有申请金额

每组的第一条改变资金来源后,第二条要是预算额的最大值

最大可用额=最大可用额-申请金额

如果有原始申请额度,并且改变的报销金额比原始申请额度小,减原始申请额度,否则减当前额度

支出申请

第二行可用额=上一行可用额-申请金额

删除第一行,第一行可用额为最大可用额,所有额度重新计算

每组的第一条改变资金来源后,第二条要是预算额的最大值

支出报销单

同差旅报销单

 

20240316 headerClassVxe

import { headerIconEditVxe, headerClassVxe } from '@/base/utils'

<vxe-table

:header-cell-class-name="headerIconEditVxe"

 

<el-table

:header-cell-class-name="headerIconEdit"

 

<el-table-column

label-class-name="tableHeaderEdit tableHeaderStar"

 

<vxe-table-column

header-class-name="vxetableHeaderEdit vxetableHeaderStar"

2024.5.15 el与vxe都校验

1.all:写上字红框会消失,单独vxe校验:失去焦点红框消失

2.all:只用el校验文本框不用点两次

3.只用vxe,可以不用写<el-form-item>

 

2024.3.19数字校验

data() {

    const validatePass = (rule, value, callback) => {

      if (value === '' || value === null) {

        callback(new Error('请输入密码'))

      } else if (passwordChina(value)) {

        callback(new Error('不能包含汉字'))

      } else if (!this.setRulues(value)) {

        if (this.complicatedWrod) {

          callback(new Error(this.setRuluesMeass()))

        } else {

          callback()

        }

      }

      callback()

    }

    return {}

}

 

rules: {

        pwd: [

          { required: true, message: '密码不能为空', trigger: 'blur' },

          { validator: validatePass, trigger: 'blur' }

        ]

 

      }

 

 

 

 

20240318选择器

document.querySelector('.continuitys-warp').scrollTop = 0

closePopOver() {

      this.$refs.printBtn && this.$refs.printBtn.$el.click()

    },

const myField = this.$refs.textarea.$el.children[0]

// 锚点跳转

    goAnchor(selector, index) {

      this.activeBtn = index

      this.$el.querySelector(selector).scrollIntoView()

    },

20240402获取响应头里的参数

 

 

 

const zipname = res.responseHeader['content-disposition'].split("''")[1]

20240407加路由

一级

Strmenuname:保障金管理

strurl: /security-fund

Stricon:

Strmenuen:SecurityFund

strviewurl: layout

二级

Strmenuname:验收入库

strurl:high-acceptance-storage

Stricon:asset_assets_warehousing

strmenuen:HighAcceptanceStorage

strviewurl: /second/index

三级

Strmenuname:数据字典对照

strurl:        xlyk-dict-match

strmenuen: XlykDictMatch

strviewurl:/asset-data/xlyk-dict/xlyk-dict-match

 

 

20240409 el-select 下拉没有数据但是还显示着名称

解决办法:加key

2024.4.19清空表单

this.drawerForm = this.$options.data.call(this).drawerForm

this.formInline = this.$options.data().formInline

2024.4.22输入的字符串转数字

// 将输入的字符串转换为数字

  const num = parseFloat(value);

const num = (123)*1

 

2024.4.23自定义过滤器,保留两位小数

// 自定义过滤器,确保金额精确到指定小数位数

Vue.filter('currency', function(value, currency, decimals) {

  if (!value) return '0.00';

  value = parseFloat(value).toFixed(decimals);

  return currency + value;

});

 

// 使用自定义过滤器

<span>{{ item.amount | currency '¥' 2 }}</span>

 

computed: {

    computedDblamount() {

      return parseFloat(this.dblamount.toFixed(2)).toLocaleString()

    },

}

2024.4.24发票验真

 

 

 

invoicebaseinfo  保存成功

保存成功!验真结果:税局服务异常,建议15-20分钟后重试!

 

 

 

 

2024.4.26 重新渲染table

this.$nextTick(() => {

          this.$refs.table.doLayout()

          this.$refs.table.updateData(newValue)

        })

<el-talbe

 :row-key="getRowKey"

>

<vxe-table

:row-config="{useKey:true}"

>

<el-table-column

        v-if="has['Approval']"

        type="checkbox"

        width="50"

        align="center"

        reserve-selection

        fixed="left"

      />

return{

getRowKey: row => {

        return row.lngborrowapplyid

      },

}

2024.4.30重新渲染vxe-table

this.$nextTick(() => {

              this.tableKey = +new Date()

              // this.$refs.table.refreshColumn()

              this.$refs.table.recalculate()

const vxeColumns = this.$refs.table.getColumns()

              this.$refs.table.loadColumn(vxeColumns)

this.$refs.grid.loadData(this.copyList)

            })

 

2024.5.6vxe-table多选回显

<vxe-table

      ref="table"

      @checkbox-all="selectChangeEvent"

      @checkbox-change="selectChangeEvent"

    >

selectChangeEvent({ records, reserves }) {

        this.currentRow = [...reserves, ...records]

      }

<el-table

      ref="table"

      v-loading="listLoading"

      :data="tableData"

      :row-key="getRowKey"

      border

      stripe

      :height="tableHeight"

      :header-cell-style="{'background':'#F5F4F7'}"

      @selection-change="handleSelectionChange"

    >

      <el-table-column

        v-if="$route.query.isMult==='many' || multiContractIds.length>0"

        type="selection"

        :reserve-selection="true"

        width="50"

        align="center"

        fixed="left"

      />

</el-table>

      getRowKey: row => {

        return row.lngcontractinitid

      },

2024.5.8 vxe-table校验

validRules:{

            emgMoney: [

             校验字段: [{

                    validator (e) {

                        if (e.row.行内条件字段属性=="1"&&!e.cellValue) {

                          return new Error('xxxx不能为空!')

                        }

                      }

               }

             ],

          },

vxeRules: {

         name: [

          { required: true, message: '请输入' },

          { validator: nameValid }

        ],

      },

validRules: {

        lngoutitemid: [{

          validator(e) {

            if (!(e.row.blnissettleplan === 1 && !e.row.dblamount) && !e.cellValue) {

              return new Error('必填项')

            }

          }

        }],

data() {

    const validateUsername = (rule, value, callback) => {

      if (!value) {

        callback(new Error('请输入用户名'))

      }

      if (!validUsername(value)) {

        callback(new Error('请输入正确的用户名'))

      } else {

        callback()

      }

    }

return{}

}

//validator里有message,rules里不用写message

Rules:{

username: [{ required: true, trigger: 'blur', validator: validateUsername }]}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/882549.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF 中设置Trigger改变button背景色不起效的问题

通过触发器,改变button背景色的方法是在Templete中. 正确的方法是先创建Style,再在Style中修改Templete,在ControlTemplete中定义触发器: 精雕细琢,精益求精。

vxe-table 使用树结构点击筛选,子节点筛选

vxe-table 使用树结构点击筛选,子节点筛选,启用树结构后会同时对每个层级的子节点进行筛选 官网:https://vxetable.cn 效果<template><div><vxe-grid v-bind="gridOptions"></vxe-grid></div> </template><script setup&g…

P1496 火烧赤壁(离散化)

这是我的第一道离散化题,虽然只是一道普及-的题,但我理解起来还是有点吃力,看完视频后我我觉的离散化,就是将一堆数据用他们的相对大小表示 例如 1,99,100,1000,可以表示为1,2,3,4. 55 100 300 1,可以表示为 2 3 4 1;这道题目就是先把各个区间的两个端点存储到c数…

[办公自动化]deepseek解决不了的问题,“帮忙找到丢失的word文件”

这两天遇到两个同事,问的问题都差不多:能不能帮她找到丢失的word文档。 案例1: 背景: 这个同事描述的是这样的,正在写一份文档,结果发现没有保存,能不能帮忙找找。毕竟写了大半天的,很多词汇费劲脑子想出来的。 看了看,计算机上装的是office2013。windows 10计算机。 …

C#/.NET/.NET Core技术前沿周刊 | 第 25 期(2025年2.1-2.9)

前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿、推荐或自荐优质文章、项目、学习资源等…

Windows系统端口被占用解决方案

在 Windows 系统中,如果某个端口被占用,可能会导致应用程序无法正常启动或连接。以下是一些解决方案,可以帮助你查找和解决端口被占用的问题查找占用端口的进程打开命令提示符按 Win + R,输入 cmd,然后按 Enter查找占用端口的进程netstat -ano | findstr :"端口号&qu…

智能化员工工作状态管理:AI视频监控在大型商场的技术方案介绍(part4)

为提升商场或企业的运营效率,商家需要通过AI对员工的行为进行实时监测,不仅能提升运营效率,还能优化资源配置、加强安全管控、提高员工工作表现,从而推动企业持续、健康的发展。 具体需求包括 1、离岗监测:识别员工是否擅自离开工作岗位。 2、工作服及胸卡佩戴:检测员工是…

立体系统(Stereo Systems)总结

上一讲中我们介绍了对极几何的相关知识,在这一讲开头我们先回顾一下平行图像平面的对极几何。 平行图像平面的对极几何(Parallel image planes)在这种情况下,对应点的极线是水平的,光心连线与图像平面的交点(极点)在无穷远处,并且在这种平行配置下,同一个三维点在两个…

DeepSeek AI 满血版功能集成到WPS或Microsoft Office中

DeepSeek AI集成到 WPS或Microsoft Office中, 由于deepseek被攻击或者非常繁忙导致超时的服务器,所以可以用硅基流动部署的DeepSeek 。当然用官网的也可以。使用 OfficeAI 插件集成(wps为例): 下载并安装 OfficeAI 插件:从可靠的软件下载平台https://www.office-ai.cn/,获…

第二章:计算机的构成

复习第一章:需要一台计算机,在研究其组成的方向上进行努力TL;DR计算机由四大核心部分组成:输入设备、输出设备、存储器和运算器 计算机内部采用二进制表示所有信息,包括数字、文字和指令等等 冯诺依曼体系结构是现代计算机的基础框架正文在了解了计算机的诞生历史后,我们来…

第一课 泰坦尼克号预测

目录导入数据将训练数据与测试数据合并查看数据描述性统计查看是否有异常值查看特征与标签之间的关系查看标签是否有偏态数据预处理填充缺失值特征工程特征创造同组识别筛选子集建模 导入数据 将训练数据与测试数据合并 查看数据 描述性统计查看是否有异常值看看各个数据是否偏…