Fronttend
请问 nginx 如何使用 iis 的 ssl?
nginx承接https流量,证书必须在nginx这里,否则作为流量入口他没法解密数据。
要不,iis监听80,把证书放在nginx这里。
要不,不用nginx,把443入口流量通过iptables全部转发到内网iis机器
要不,用haproxy/nginx做4层转发
("https://www.w3ccoo.com/nginx/nginx_proxy_stream.asp" (https://link.segmentfault.com/?enc=KDug1KsV5AfXijjoByNzJg%3D%3D.z%2B43d8nvR0ymjypJgsOZ5qDJbGtN2mlfcwK8K01H%2Fb1eQcO4evG9RhRJo%2FRK1uMdKrgMkNhK1zr5JAzhhBEbGA%3D%3D))
Fronttend
fastapi 的 TestClient 的 delete 方法如何传递请求体?
用requests库:
response = requests.delete(
'http://localhost:8000/meta',
json=[
f'{meta_uuid}'
]
)
或者:
用POST请求替代DELETE请求:
@meta.post('/delete', summary='删除指定母本', description='在请求体中传递一系列 meta_uuid, 返回已删除的母本的 meta_uuid', response_model=list[str])
def delete_meta(
meta_uuids: list[str]
):
pass
Fronttend
mysql 必须group by全部select中的字段?
这取决于 "SQL_MODE" 的设置,自 MySQL 5.7 开始,默认的 "SQL_MODE" 中启用了 "ONLY_FULL_GROUP_BY",所以
select 后面的列必须出现在 group by 后面,但是你可以手动移除掉这个选项以禁用,禁用后就不再检查。
* "MySQL :: MySQL 5.7 Reference Manual :: 1.3 What Is New in MySQL 5.7" (https://link.segmentfault.com/?enc=%2F4hAaih%2BHsB3pZnDg2y7wA%3D%3D.JtEl%2BKagqhuVAIYt145ioTs%2BpdZgfYecuHinN6jD4MPpLvz2uCBkjFIDRKpRRjS9KyTAKaMSdeZmENUfkddZpuYh4WYDwdUWvbNHFlNl8%2Bg%3D)
Fronttend
如何在C中调用bash指令并获得输出?
Hello!.
我发现system函数可以调用bash语句,但不能回收结果.
现在我的方案是中调用的bash语句里把输出重定向到某个文件,然后在C语言中去读那个文件的内容.
我感觉这样非常别扭,有没有更合适的方案?
Fronttend
ruoyi前后端分离框架是怎么做到不写实现类,bean依赖注入的?
看DruidConfig.java:
/**
* druid 配置多数据源
*
* @author ruoyi
*/
@Configuration
public class DruidConfig
{
@Bean
@ConfigurationProperties("spring.datasource.druid.master")
public DataSource masterDataSource(DruidProperties druidProperties)
{
DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
return druidProperties.dataSource(dataSource);
}
@Bean
@ConfigurationProperties("spring.datasource.druid.slave")
@ConditionalOnProperty(prefix = "spring.datasource.druid.slave", name = "enabled", havingValue = "true")
public DataSource slaveDataSource(DruidProperties druidProperties)
{
DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
return druidProperties.dataSource(dataSource);
}
@Bean(name = "dynamicDataSource")
@Primary
public DynamicDataSource dataSource(DataSource masterDataSource)
{
Map targetDataSources = new HashMap();
targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource);
setDataSource(targetDataSources, DataSourceType.SLAVE.name(), "slaveDataSource");
return new DynamicDataSource(masterDataSource, targetDataSources);
}
...
}
上面两个方法注入了两个DataSource类型的bean,下面的候选bean注明了只有在配置文件属性里spring.datasource.druid.slave设置为enabled才会注入,这样一来容器里默认的就是这个主数据源的bean了(不过这不是重点),spring容器会在@Configuration配置类的方法需要注入bean参数的时候自动在容器里找相同类型的bean注入。
Fronttend
jenkins如何实现多分支的增量发布?
1. 创建多个流水线项目:对于每个分支,创建一个独立的流水线项目。可以使用Jenkins的"New Item"功能来创建多个项目,每个项目代表一个分支。
2. 配置代码仓库:在每个流水线项目的配置中,指定正确的代码仓库地址和分支名称,以确保Jenkins能够获取正确的代码进行构建。
3. 设置触发器:通过设置触发器来决定何时触发构建过程。可以选择根据定时计划、代码推送事件或其他条件进行触发。
4. 构建脚本:在每个流水线项目中编写构建脚本,用于编译、测试和构建应用程序。根据不同分支的要求,可能需要进行特定的编译和部署操作。
5. 部署环境管理:配置不同的部署环境,如开发、测试和生产环境。可以使用Jenkins插件或自定义脚本来管理环境的部署。
6. 参数化构建:为了实现增量发布,可以考虑使用参数化构建。可以在流水线项目中定义参数,例如版本号、配置选项等,以便在每次构建时能够根据需要进行不同的构建和发布操作。
7. 定义发布策略:根据具体需求定义每个分支的发布策略。可以使用Jenkins的插件或自定义脚本来管理发布版本的选择、发布时间和发布流程。
通过以上步骤,您可以在Jenkins中实现多分支的增量发布。根据具体项目和需求的差异,可能需要进一步自定义和调整流程。请根据情况进行适当的配置和优化。
另外脚本部分是需要根据实际的发布场景及贵公司的分支管理有关,不过主要的流程是没错的
Fronttend
VSCode代码格式化怎么能整体应用?
npx prettier ./ --write
Fronttend
如何通过js判断微信、QQ等内置浏览器并在外部浏览器打开?
如题,当在手机QQ打开一个网页,如何自动跳转到第三方浏览器打开?类似下图
https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241216/f30bd1f289dd97a2faf3d32b2563fc12.png
下面并不能自动打开第三方浏览器(QQ/UC/Opera等等)
求大神指点
(function(){
var res = GetRequest();
var par = res['index'];
if(par!='gfan'){
var ua=navigator.userAgent.toLowerCase();
var contains=function (a, b){
if(a.indexOf(b)!=-1){return true;}
};
//将下面的http://abc.com改成你的wap手机版页面地址 如我的 http://abc.com
var toMobileVertion = function(){
window.location.href = 'http://abc.com/'
}
if(contains(ua,"ipad")||(contains(ua,"rv:1.2.3.4"))||(contains(ua,"0.0.0.0"))||(contains(ua,"8.0.552.237"))){return false}
if((contains(ua,"android") && contains(ua,"mobile"))||(contains(ua,"android") && contains(ua,"mozilla")) ||(contains(ua,"android") && contains(ua,"opera"))
||contains(ua,"ucweb7")||contains(ua,"iphone")){toMobileVertion();}
}
})();
function GetRequest() {
var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i
(function(){
var res = GetRequest();
var par = res['index'];
if(par!='gfan'){
var ua=navigator.userAgent.toLowerCase();
var contains=function (a, b){
if(a.indexOf(b)!=-1){return true;}
};
//将下面的http://abc.com改成你的wap手机版页面地址 如我的 http://abc.com
var toMobileVertion = function(){
window.location.href = 'http://abc.com/'
}
if(contains(ua,"ipad")||(contains(ua,"rv:1.2.3.4"))||(contains(ua,"0.0.0.0"))||(contains(ua,"8.0.552.237"))){return false}
if((contains(ua,"android") && contains(ua,"mobile"))||(contains(ua,"android") && contains(ua,"mozilla")) ||(contains(ua,"android") && contains(ua,"opera"))
||contains(ua,"ucweb7")||contains(ua,"iphone")){toMobileVertion();}
}
})();
function GetRequest() {
var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i
Fronttend
ubuntu下使用request访问url报错?
ubuntu环境中访问rul报错
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241214/a98ee11cc8dcc48eac4be094f9895cb6.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241214/132c5ebd75c96d1e12eed655dfb4f4eb.png)
有点不理解。
win系统下就不会报错正常。
那位大佬帮忙解答一下,实在是头大的很,ubuntu环境bug真多啊
Fronttend
vue使用aws-sdk上传,npm后,编译会很大,造成页面卡顿怎么优化呢?
import AWS from 'aws-sdk';
const s3 = new AWS.S3({
endpoint: 'http://' + endpoint,
accessKeyId: accessKeyId,
secretAccessKey: secretAccessKey,
s3ForcePathStyle: true,
signatureVersion: 'v4'
});
s3.getSignedUrl('getObject', params, (err, url) => {
let parts = url.match('(http://.*)(/iaas-image/.*)');
let address;
address = window.location.protocol + '//' + window.location.host + parts[2];
if (err) {
console.error('无法生成镜像文件:', err);
} else {
// 使用生成的URL下载图片
window.open(address);
}
});
})
我是正常的使用下载,但是编译出来会有1.7M,不使用时只有170kb
import AWS from 'aws-sdk';
引入后👇
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241213/e5fbdc76066618d22be333cebec6f273.png)
//import AWS from 'aws-sdk';
注掉后👇
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241213/27852e14b921ebb42230e0b5b200603f.png)
咨询下大佬,这个该怎么去优化呢,我应该怎么处理呢?拜谢!
Fronttend
关于element-ui的表格组件,vue插槽问题?
{{scope.row.Id}}
{{scope.row.Title}}
上面是element组件的的基本用法
我想根据上面的用法自己写一个表格组件,也包含table组件和table-column组件两个组件,
请问我怎么在table组件的默认插槽里,把row传给插槽中的el-table-column组件
table组件部分:
//直接取默认插槽,但这里怎么把row传给默认插槽中的每一个el-table-column组件
table-column组件部分:
Fronttend
echarts 立体环形 饼图 bug ?? [ECharts] Unknown series surface 报错了 救救孩子吧?
Click to bind data.
// import echarts from "echarts";
import * as echarts from 'echarts'
import "echarts-gl";
import * as Types from '@/store/action-types'
import { markRaw } from 'vue'
import { useRouter, useRoute } from 'vue-router'
import { mapActions, mapGetters, mapState, mapMutations, useStore } from 'vuex'
export default {
name: "ThreeDimensionalPie",
props: {
item: {
type: Object,
default: {}
}
},
data() {
return {
option: {},
myChart: null
}
},
created() {
},
mounted() {
this.getData('Dpie')
},
methods: {
getData(pieId) {
// if (process.client) { // 这里就是操作window对象的代码
// require('echarts-gl') // 3d饼状图
this.myChart = echarts.init(document.getElementById(pieId))
console.log(this.myChart);
// }
this.myChart.setOption(this.option)
window.addEventListener('resize', () => {
this.myChart.resize()
})
// 异步加载数据
this.myChart.showLoading({
text: '加载中...',
color: '#0EFCFF',
textColor: '#0EFCFF',
maskColor: 'rgba(255, 255, 255, 0)',
zlevel: 0
})
this.option = null
// 传入数据生成 option
this.option = this.getPie3D([{
name: '',
value: 33,
itemStyle: {
opacity: 0.3,
color: '#CFCFCF'
}
}, {
name: '单位1评分',
value: 67,
itemStyle: {
opacity: .9,
color: this.item.color,
}
}], 2)
this.myChart.hideLoading()
this.myChart.setOption(this.option)
},
// 生成扇形的曲面参数方程,用于 series-surface.parametricEquation
getParametricEquation(startRatio, endRatio, isSelected, isHovered, k, h) {
// 计算
let midRatio = (startRatio + endRatio) / 2
let startRadian = startRatio * Math.PI * 2
let endRadian = endRatio * Math.PI * 2
let midRadian = midRatio * Math.PI * 2
// 如果只有一个扇形,则不实现选中效果。
if (startRatio === 0 && endRatio === 1) {
isSelected = false
}
// 通过扇形内径/外径的值,换算出辅助参数 k(默认值 1/3)
k = typeof k !== 'undefined' ? k : 1 / 3
// 计算选中效果分别在 x 轴、y 轴方向上的位移(未选中,则位移均为 0)
let offsetX = isSelected ? Math.cos(midRadian) * 0.1 : 0
let offsetY = isSelected ? Math.sin(midRadian) * 0.1 : 0
// 计算高亮效果的放大比例(未高亮,则比例为 1)
let hoverRate = isHovered ? 1.05 : 1
// 返回曲面参数方程
return {
u: {
min: -Math.PI,
max: Math.PI * 3,
step: Math.PI / 32
},
v: {
min: 0,
max: Math.PI * 2,
step: Math.PI / 20
},
x: function (u, v) {
if (u endRadian) {
return offsetX + Math.cos(endRadian) * (1 + Math.cos(v) * k) * hoverRate
}
return offsetX + Math.cos(u) * (1 + Math.cos(v) * k) * hoverRate
},
y: function (u, v) {
if (u endRadian) {
return offsetY + Math.sin(endRadian) * (1 + Math.cos(v) * k) * hoverRate
}
return offsetY + Math.sin(u) * (1 + Math.cos(v) * k) * hoverRate
},
z: function (u, v) {
if (u Math.PI * 2.5) {
return Math.sin(u) * h * .1
}
return Math.sin(v) > 0 ? 1 * h * .1 : -1
}
}
},
// 生成模拟 3D 饼图的配置项
getPie3D(pieData, internalDiameterRatio) {
let series = []
let sumValue = 0
let startValue = 0
let endValue = 0
let legendData = []
let k = typeof internalDiameterRatio !== 'undefined' ? (1 - internalDiameterRatio) / (1 + internalDiameterRatio) : 1 / 3
// 为每一个饼图数据,生成一个 series-surface 配置
for (let i = 0; i 0 ? 0.1 : - 0.1
}
}
})
// 准备待返回的配置项,把准备好的 legendData、series 传入。
let option = {
//animation: false,
legend: {
show: false,
data: legendData
},
tooltip: {
show: false,
formatter: params => {
if (params.seriesName !== 'mouseoutSeries') {
return `${params.seriesName}${option.series[params.seriesIndex].pieData.value}`
}
}
},
xAxis3D: {
min: -1,
max: 1
},
yAxis3D: {
min: -1,
max: 1
},
zAxis3D: {
min: -1,
max: 1
},
grid3D: {
show: false, // 是否显示三维笛卡尔坐标系
boxHeight: 6,
viewControl: { // 3d效果可以放大、旋转等,请自己去查看官方配置
alpha: 30, // 上下旋转的角度
beta: -90, // 左右旋转的角度
rotateSensitivity: 0, // 不旋转
zoomSensitivity: 0, // 不缩放
panSensitivity: 0, // 不平移
autoRotate: false // 自动旋转
},
//后处理特效可以为画面添加高光、景深、环境光遮蔽(SSAO)、调色等效果。可以让整个画面更富有质感。
postEffect: { // 配置这项会出现锯齿,请自己去查看官方配置有办法解决
enable: true,
bloom: { // 高光
enable: true,
bloomIntensity: 0.1
},
SSAO: {
enable: true,
quality: 'medium',
radius: 2
},
FXAA: { // 解决抗锯齿的问题
enable: true
}
}
},
series: series
}
return option
}
}
};
.view-chart-barline1 {
height: 32vh;
width: 100%;
}
"33.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241211/4487bb95279cd073c2fd288feab6160f.png)
Fronttend
正则提取隔行间断的文字?
你的表达式中间使用懒惰模式就行了
/不需([\d\D]*?标记)/g
Fronttend
vue3+vite项目打开后import找不到模块?
在保证依赖正确安装的情况下,一般重新开一下编辑器就能解决这个问题
Fronttend
HbuilderX云打包时间格式乱码,如何解决?
如果在 HBuilderX 中云打包过程中遇到时间格式乱码问题,通常与本地计算机的系统区域设置或 HBuilderX 的配置有关。以下是一些可能的解决方法:
1. 检查系统区域和语言设置 :
* 确保你的操作系统的区域设置和语言设置是正确的,特别是日期和时间格式。在 Windows 上,你可以在 "控制面板" > "时钟和区域" > "区域" 中进行调整。
* 如果你使用的是非英语操作系统,尝试将系统的区域设置切换到英语或与 HBuilderX 打包服务器所在地区匹配的区域设置。
2. 检查 HBuilderX 设置 :
* 打开 HBuilderX,转到 "文件" > "首选项"(或 "编辑" > "首选项",具体取决于你的操作系统)。
* 在首选项窗口中,搜索 "日期" 或 "时间",并确保 HBuilderX 的日期和时间格式与你所期望的格式相匹配。
3. 更新 HBuilderX :
* 确保你使用的是最新版本的 HBuilderX。有时候开发工具的新版本会修复已知的日期格式问题。
4. 联系 HBuilderX 支持 :
* 如果上述方法都没有解决问题,你可以联系 HBuilderX 的官方支持团队,他们可能能够提供更多具体的帮助和支持。
注意,日期和时间格式问题通常是由操作系统和应用程序设置之间的不匹配引起的。通过调整这些设置,你应该能够解决云打包时的时间格式乱码问题。
Fronttend
前端的图片标签如何设置两个地址?如果前者存在就用前者,否则用后者?
设置onerror 加载失败会使用这里面的路径替换src
Fronttend
vscode 把 yaml 永久改成 4 个空格缩进?
在配置文件中添加:
"[yaml]": {
"editor.tabSize": 4
},
配置文件在这里:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241130/a58152235cb79bcf13dfd52be95403b0.png)
Fronttend
clearValidate在elementplus中没有?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241130/93c97ec612d8c363cbd55880898014b9.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241130/96f1f10841a369807a1416ff2832ea5b.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241130/fd248ab1cc90e9b8c6e8cf72d052fb02.png)
这个有处理办法吗
Fronttend
多账号数据库表如何设计?
账号表
CREATE TABLE `account`
(
`id` BIGINT NOT NULL COMMENT '主键ID',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`account` VARCHAR(64) NOT NULL COMMENT '账号',
`password` VARCHAR(128) NOT NULL COMMENT '密码',
`account_type` int DEFAULT 1 COMMENT '账号类型 {[1:邮箱] [2:手机] [3:工号]}'
........
)
用户表
CREATE TABLE `user`
(
`id` BIGINT NOT NULL COMMENT '主键ID',
`name` VARCHAR(128) NOT NULL COMMENT '姓名',
`avatar` VARCHAR(255) default null comment '头像',
`remark` VARCHAR(255) DEFAULT NULL COMMENT '备注'
........
)
员工信息表
CREATE TABLE `employee`
(
`id` BIGINT NOT NULL COMMENT '主键ID',
`user_id` BIGINT NOT NULL COMMENT '用户ID',
`employee_no` int NOT NULL COMMENT '工号',
`join_date` date NOT NULL COMMENT '入职时间'
........
)
user与account是一对多
user与employee是一对一
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241127/54453a89b00f2e03685762c5bffdabd1.png)
系统需要支持以工号、邮箱、手机号登录(手机验证码或密码)
在上述表设计中会存在一下问题
1. 查询用户信息的时候需要显示邮箱、手机号、工号等信息,如果用户表中没有这些信息,则需要通过关联查询账号表,但是如果用户表中存在这些信息,则需要冗余这些字段,并且修改账号表数据时需要同步修改冗余字段
2. 用户表与账号表是一对多,同一个用户多个账号的密码是相同的,修改密码就需要同步修改多个账号
3. 查询用户信息的时候表需要跨多张表
4. 有些情况用户不一定是员工,可能是临时用户所有区分了用户表和员工表
5. 如果user冗余(邮箱、手机号、工号)的话是需要加密存储的,这种情况账号表需要加密吗,常规做法是怎么样的
根据以上情况,这些表改如何优化
Fronttend
element-plus的tree拖拽不兼容触屏,添加touch后再move的事件中或者到的treeNode(目标位置)获取是被拖拽元素,有什么好办法吗?
我直接在tree-node.vue的标签上添加了
@touchstart="handleDragStart"
@touchmove="handleDragOver"
@touchend="handleDragEnd"
在useDragNode.ts中的treeNodeDragStart、treeNodeDragOver、treeNodeDragEnd添加了一些非空判断
//添加部分
if (typeof event.dataTransfer === 'undefined') {
event.dataTransfer = {}
}
//原有部分
event.dataTransfer.effectAllowed = 'move'
目前的效果就是在触摸状态下可以拖拽,但松手后被拖拽的部分会消失
我检查后发现应该是因为handleDragOver事件中获取到的目标props.node是被拖拽的元素,所以修改位置时会没有目标位置导致的消失
const handleDragOver = (event: DragEvent) => {
event.preventDefault()
if (!tree.props.draggable) return
dragEvents.treeNodeDragOver({
event,
treeNode: { $el: node$.value, node: props.node },
})
}
想问一下touchmove的事件中应该怎么获取目标位置,或者遇到的类似的情况是怎么解决的?
Fronttend
一个Java应用问题?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241119/32174b77f412cc669c7432fa6b9b4e57.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241119/9e522c9790c21b99257b72d11f7d12f0.png)
我有一个搜索类型的下拉框,可以输入关键字来缩小范围,但如"图1"所示名称可能会重复,所有我想再将地址加入模糊匹配,例如传:"阿三 成都",空格分开。
后端的朋友说不好实现是为什么?在调"SQL"之前将字符串切割后再调"SQL"匹配不行吗?
Fronttend
js jquery 如何实现右键点击具体的 dom 元素,然后重写系统的右键菜单?
你这个代码是没问题的,有问题的是你的 js 代码放倒了 HTML 代码块的上面,且没有放到 "$(function(){...})" 里面,导致 JS
代码先执行了,元素还没创建,事件就没绑定到。
你只需要把 div 的代码放到 script 的前面就好了。
Fronttend
AMH7.1在Linux命令行修改面板访问端口的方法?
在面板『设置』可修改端口,ssh命令修改的话:
amh amh-7.1 admin amh_listen 8888
这是修改http端口
amh amh-7.1 admin amh_listens 9999
修改https的。
Fronttend
版本问题,ant design vue1.7.8版本能用less4版本吗?
把"babel.config.js"文件的"style:true" 改为 "style: ‘css’" 试试
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
],
plugins: [
[
"import",
{
libraryName: "ant-design-vue",
libraryDirectory: "es",
style: 'css'
}
]
]
}
Fronttend
为什么vite+typescript+vue3 编译的代码浏览器不支持?
Vue3已经放弃老版本IE了:
«"https://github.com/vuejs/rfcs/blob/master/active-> rfcs/0038-vue3-ie11-support.md" (https://link.segmentfault.com/?enc=5QgjlJ%2B2%2Bwxr2CHD3RuU8Q%3D%3D.8htcC%2FiQ%2BvoLrTLCf2ERI6mOls7nVfh1G%2FGPBGktRQ8P78sg2s2OGVd6XqgtV1VjadZFkHzdXY2Sy7%2BYjxMimy%2BFPcNxRFv2xcc%2FvRrwo0c%3D)"https://babeljs.io/docs/en/learn/" (https://link.segmentfault.com/?enc=1tM8r1NMnjsKFbzlHvdG3w%3D%3D.Zebbmz4Rx1XeJrj9In5%2B8jYR%2Bo0qZQ6Opv3QZxVzeDLZ6pnqCMwU%2BR3FsuZB2U4K)»
不过可以试试这个:
«"https://juejin.cn/post/7114586736201580575" (https://link.segmentfault.com/?enc=lpFe8paivsBt1f62kfPlxA%3D%3D.jcfqZC3dDj5hok71QEQDA3ePQDviqUKMQ6bpHzNeeo8q3kEAjwyr2XKRcBCIPmoH)»
Fronttend
建议在AMH面板中增加文件防篡改功能?
建议AMH面板增加文件防篡改功能,很需要
建议AMH面板增加文件防篡改功能,很需要
Fronttend
如何下载mycat 1.6?
在github上有的, 不过需要梯子:
«"https://github.com/MyCATApache/Mycat-download-> old/tree/master/1.6-RELEASE" (https://link.segmentfault.com/?enc=R0AG4HQTiCBYlBwP%2FRfY7A%3D%3D.9xbBpcwG%2FpjsgQokWS1ldZ5tq2GsmU4Ums9eTFN%2F9sNWdgp225jbzJHWujZrTqHTkc%2FI3fHGOK%2B78GcCpHoL8%2F2Hgu85RDPWzlKnsoASQLs%3D)
»
Fronttend
效果是id recruitType的值传给接口,选择框里选项点了才会高亮,这样的问题是如何解决的?
js
handleSelect(v) {
console.log(v)
}
现在要在item里拿两个值,一个是id
recruitType,:value给了item,在下拉框里所有选项会高亮,正常交互是点击了才会高亮,然后选择框了的值input没有替换
我想要的效果是id recruitType的值传给接口,选择框里选项点了才会高亮,这样的问题是如何解决的
Fronttend
go 是不是对 map 集合的键值获取进行了特殊处理?
"index
expression" (https://link.segmentfault.com/?enc=tnnE%2F0ulSMUpL85PiJqOCQ%3D%3D.wvMNxGH8zRDb0OreKU%2FIzoIIzzPd170OU4Iq3N7Tl56AgX53hjsEwXZXUDyGAV53sDeEvvEFPszpmgBnmcCBpg%3D%3D)
«An index expression on a map a of type map[K]V used in an assignment
statement or initialization of the special formv, ok = a[x]
v, ok := a[x]
var v, ok = a[x]
yields an additional untyped boolean value. The value of ok is true if the
key x is present in the map, and false otherwise.»
从文档里搜索一下 special form,可以发现还有 type assertion ,receive expression 也有类似的形式。
这个 special form 的含义跟行为在三个地方都有点不太相同。
type assertion 里面,使用这种形式将不引起 panic ,而是通过一个 boolean 返回转换是否成功。
receive expression 里,特殊形式的 boolean 指示通信是否成功(为 false 表示 channel 已经关闭了)。
Fronttend
github action 进入终端不知道怎么退出,一直到超时后失败?
你可以使用-d参数后台运行,如果想要查看启动日志,使用sleep int等待容器启动完成,然后执行docker logs CONTAINER_NAME
Fronttend
在contenteditable="true"的编辑框内使用shift+enter换行之后,结构混乱 怎么解决?
https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/952c0d6dc83db682cdc05ccf2d18ae87.png
在contenteditable="true"的编辑框内使用shift+enter换行之后,结构混乱 怎么解决 求
Document
#editable {
width: 300px;
height: 300px;
border: 1px solid #ccc;
padding: 10px;
}
function keyDown(event) {
document.execCommand('formatblock', false, '');
}
function inputText() {
// 把一段文字用 p 标签包裹起来
if (document.getSelection().focusNode.data !== undefined) {
// 当前所在元素
var currentElement = document.getSelection().focusNode.parentNode;
// 父元素内容
console.log(currentElement.innerHTML);
}
}
Fronttend
多模块应用使用 startAbility 报错怎么办?
多模块应用使用 startAbility 报错
Fronttend
el-form设置全局disabled属性之后,子组件怎么设置disabled属性?
el-form设置全局disabled属性之后,子组件怎么设置disabled属性?
因为el-form设置了全局了disabled属性属性,活动形式项设置的:disabled="false"设置失效了,有什么方法可以使得子项设置的:disabled="false"生效?
尝试了在el-form-item外面包裹一层el-from,虽然设置的:disabled="false"属性可以生效了,但是由于又包裹了一层el-from。校验会出问题
Fronttend
Vuex 实现不同页面间数据同步?
使用VUEX如何实现更新浏览器不同关卡的内容?
如下面DEMO,如何实现在page1更新count后,page2不用刷新自动更新?
store/index.js
import { createStore } from 'vuex'
const store = createStore({
state: {
count: 3
},
mutations: {
add(state) {
state.count += 1
}
},
getters: {
returnCount: state => {
return state.count;
},
},
})
export default store
page1
{{ count }}
computed: {
count() {
return this.$store.state.count;
},
},
methods: {
addCount() {
store.commit("add");
}
}
page2
{{ count }}
computed: {
count() {
return this.$store.getters.returnCount
}
}
Fronttend
react 里面的 useEffectEvent 的执行原理是怎样的?
你可以理解为保证函数引用,但是函数内部状态依旧更新,类似这段伪代码
function useEffectEvent(handler) {
const handlerRef = useRef(null);
useLayoutEffect(() => {
handlerRef.current = handler;
});
return useCallback((...args) => {
const fn = handlerRef.current;
return fn(...args);
}, []);
}
Fronttend
怎么解决python 爬虫运行多进程报错:TypeError: cannot pickle '_thread.lock' object?
python 爬虫运行多进程报错:TypeError: cannot pickle '_thread.lock' object
# coding=utf-8
"""
@project: 15python_spider
@Author:frank
@file: 01_xiaomi_app.py
@date:2024/3/7 19:52
"""
import json
import time
from multiprocessing import Process
from queue import Queue
import requests
class XiaomiSpider(object):
def __init__(self):
self.url = 'http://app.mi.com/categotyAllListApi?page={}&categoryId=2&pageSize=30'
self.headers = {'User-Agent': 'Mozilla/5.0'}
# url队列
self.url_queue = Queue()
self.n = 0
self.app_list = []
# URL入队列
def url_in(self):
for i in range(6):
url = self.url.format(i)
# 入队列
self.url_queue.put(url)
# 线程事件函数
def get_data(self):
while True:
# self.url_queue.empty() 为空,则退出执行
if self.url_queue.empty():
break
# get地址,请求+解析+保存
url = self.url_queue.get()
html = requests.get(
url=url,
headers=self.headers
).content.decode('utf-8')
html = json.loads(html)
# 解析数据
for app in html['data']:
# 应用名称
app_name = app['displayName']
app_link = 'https://app.mi.com/details?id={}'.format(app['packageName'])
app_info = {
'app_name': app_name,
'app_link': app_link
}
self.app_list.append(app_info)
self.n += 1
print(url)
# 主函数
def main(self):
# url 入队列
self.url_in()
t_list = []
for i in range(5):
t = Process(target=self.get_data)
t_list.append(t)
t.start()
for i in t_list:
i.join()
with open('app_list.json', 'w') as f:
json.dump(self.app_list, f, ensure_ascii=False)
print('应用数量:', self.n)
if __name__ == "__main__":
start = time.time()
spider = XiaomiSpider()
spider.main()
end = time.time()
print('执行时间:%.2f' % (end - start))
怎么解决python 爬虫运行多进程报错:TypeError: cannot pickle '_thread.lock' object
Fronttend
uni-app多行省略在ios11+中的异常解决如何解决?
uni-app 中多行省略,在ios11+中表现异常,如何解决?
单行省略异常效果:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241008/1fe13ff6227f369309578a4528f8351c.png)
代码部分
// 使用
@include mul-ellipsis(1);
// 定义
@mixin mul-ellipsis($clamp) {
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
word-wrap: break-word;
white-space: normal;
line-clamp: $clamp;
-webkit-line-clamp: $clamp;
box-orient: vertical;
-webkit-box-orient: vertical;
}
问题:如题如何解决图片中省略异常的地方
Fronttend
如何解决os_testr安装失败的问题?
Ubuntu22.04安装os_testr失败
Ubuntu22.04安装os_testr失败,报错
ERROR: Could not install packages due to an EnvironmentError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Max retries exceeded with url: /packages/18/b8/9e4ee82fda62577ec9b23ad6b4fc79fceb5d31cc72a2f5f95d84959cf385/os_testr-3.0.0-py3-none-any.whl (Caused by SSLError(SSLError("bad handshake: SysCallError(-1, 'Unexpected EOF')")))
尝试过1、升级pip,2、手工pip install仍失败;
Fronttend
CoreData分页查询问题详解?
可以把 "fetchOffset" 设置成当前数据量。
"[request setFetchOffset:count];"
第一次查询,"count"为 "0",加载下一页时,"count" 为 "10",再加载下一页时"count"为"15"。
Fronttend
微信小程序开发工具的模拟器如何随意调整宽度?
不支持,也没必要那么随意吧。机型+百分比缩放还能满足不了吗
Fronttend
微信小程序如何管理多个小程序应用?
假如有这样一个小程序,这款小程序在不同的客户上有类似的功能。下面想到大概有 3 种组织模式
* 小程序账号为我拥有,不同客户使用不同的小程序应用,缺点是个人最多 5 个小程序,企业最多 50 个
* 小程序账号为我拥有,不同客户使用相同的小程序应用,通过给页面传递特定的客户 id 参数渲染不同的内容,缺点是不同客户之间应用存在耦合,如果一个违规那么整个应用可能都会被禁。
* 小程序账号客户拥有,但是这样管理起来很麻烦。
这种情况下,有没有更好的组织形式?
Fronttend
移动端文件预览在iframe中的问题解决方案?
现在有一个需求要实现移动端文件预览。我把目标定向于微软免费的预览api上,只需后缀上拼接文件oss的Url路径即可实现预览。现在我想要把这个预览改成页面内通过iframe的方式实现,调试中我用pc模式调试正常可以预览,但是换成移动端就有问题,这个是啥问题?
pc模式:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241002/e81264d7e284a434cd6d9b75b7a2f2da.png)
app模式:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241002/0f1b36169cfa2729d12622d96e1d3385.png)
具体vue代码如下:
export default {components: {
},
data() {
return {
url: 'https://jtg-web.oss-cn-hangzhou.aliyuncs.com/jtglw/pr/in/20240326/789d877e4c3445de8d636a6aa762f135.doc',
previewUrl: ''
}
},
computed: {
},
created() {
},
mounted() {
this.previewUrl = `https://view.officeapps.live.com/op/view.aspx?src=${encodeURIComponent(this.url)}`
},
methods: {
},
}
希望app模式下也可以预览
Fronttend
vscode不想现场编辑,想直接跳转文件如何设置?
editor: goto location multiple definitions 改为 goto即可
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241001/f1b647945ecac8f35efcc7e70aa82ed3.png)
Fronttend
移动端浏览器高度与地址工具栏关系详解?
移动端浏览器高度与地址工具栏的关系?
有点不知道怎么描述,下面是简单的测试代码
body,
html {
margin: 0;
}
.container {
width: 100%;
height: 100vh;
background: linear-gradient(to bottom, #000, #e5e5e5);
font-size: 30px;
color: lightblue;
border: 1px solid red;
box-sizing: border-box;
}
const container = document.querySelector(".container");
container.innnerText = `${window.innerHeight}`;
// container.style.height = `${window.innerHeight - 1}px`;
setInterval(() => {
container.innerText = window.innerHeight;
}, 1000);
就是移动端浏览器正常打开是有地址栏,主视区和工具栏三块嘛,然后我手机主视区高度是707,如果用100vh的话浏览器就可以向上滚动然后浏览器会隐藏地址栏(这时候就变成767了)(有的浏览器还会隐藏工具栏),用innerHeight的话一开始不可以滚动,但是一些操作后也可以做到,可是我看的一个网站可以及时的修正这个高度,不知道是什么属性做到的(难道是一开始记住高度然后赋值么(==))我的需求是达到不可滚动的效果,不过我现在想知道怎么掌控这种关系,求大佬指教
Fronttend
如何解决二次封装antdv中select组件的插槽类型错误?
可以考虑使用 defineSlot 定义插槽
"https://cn.vuejs.org/api/sfc-script-setup.html#defineslots" (https://link.segmentfault.com/?enc=VHxoJp1E6%2FHR%2FMOH5UNv8w%3D%3D.99yR4BMfHG9IAq27KTYFYy3ETPIVKUss4tzrI3xDr3IomfoDpQ3SDQ6qJeB%2BjKF3Z2iDMKspPYMVbMuLn2kF9A%3D%3D)
Fronttend
前端 @types/*** 某个依赖,会包含依赖本身吗?
"@types/*"是不包含本体的。
有的库,本体就已经自带类型声明,不需要额外安装"@types/*",比如"vue"。
但有的库,本体和类型声明是分开的,比如"react"和"@types/react",需要分开装。
一般来说,只安装"@types/*"并不会带上本体。你的项目里某些库只安装"@types/*"也能跑,是因为其他包间接依赖了它,所以也出现在"node_modules"里了;或者你已经把"express"安装在了全局,虽然项目里没找到"express",但从全局安装位置找到了。
Fronttend
antd List组件renderItem中使用Collapse时子项长度为零导致标题展示问题?
有啥问题?你是说如果 "item.children.length" 没有长度时,折叠面板标题前面的 "0" ?
那不是自己业务代码的问题吗,你改成 "showArrow: !!item.children.length" 不就好了……
Fronttend
小程序遇到一个好奇葩的页面执行问题?
一般来说和你 "import" 位置有关系。
比如说在入口文件,比如说 "app.js" 中,或者 "homePage.js" 中。那么在 "import" 之后你的 "xxx.js" 内的
"console.log" 就会执行。
如果是一些其他的文件,比如说 "myPage.js" 中,那么载入 "myPage" 页面之后你的 "log" 才会执行。
Fronttend
mongodb查询条件忽略问题?
查询条件:
{a:1,b:undefined},
{a:1,b:null},
mongodb查询,会忽略上述b字段吗?
Fronttend
Vue 3 中优秀的 ER 图插件推荐?
vue3有做ER图不错的插件吗,主要用于表示表与表之间的关系?
插件有完整的文档,方便易用