东三环
返回顶部的图片清晰化问题,真心求教?
1,使用高清图片,如果图片不行,怎么都不行
2,注意屏幕分辨率,即使图片高清,但是屏幕分辨率低也会如此
3,使用svg或字体图标,可以从阿里矢量库下载,也可以找ui要
东三环
后端为何不直接提供sql能力给前端?
sql语言可以囊括增删改查所有的要求
为何不直接拓展或者限制sql能力而要搞什么 restful api等等?
东三环
ts [].find.call 这种写法怎么用?
const topAncestorElement =
[].find.call(document.querySelectorAll('[draggable-group-name]'), (e: HTMLElement) => e.contains(dom))
"topAncestorElement" 的类型是 "call" 的返回值 "undefined";
我希望使用 "[].find.call" 这种写法,要怎么修改呢?
***
" as unknown as HTMLElement" 这样断言就行了。之前没注意看提示...
东三环
如何在小程序中使用图表库?
不同的图表库有不同的解决方案,下面介绍下 VChart 图表库的支持情况,目前 VChart 支持了飞书小程序、飞书小组件以及 taro
跨端框架的图表渲染,使用时非常简单,只需要在初始化图表示例的时候声明对应的跨端环境参数即可,图表配置项使用及功能上同 PC 表现一致。
代码示例
我们提供了飞书小组件以及飞书小程序的 demo 实例:
飞书小程序:"https://github.com/VisActor/lark-vchart-example" (https://link.segmentfault.com/?enc=uB5FwK4WS91TiWZO81wZIg%3D%3D.32VPn9g3l8bza6sHJPymMnPlyxe0uka61meVa0gDeSOs6ucetVTZ2qqH8JeB%2FHhg)
飞书小组件:"https://github.com/VisActor/VChart/tree/develop/packages/block-vchart" (https://link.segmentfault.com/?enc=dXvxPP7geMFFxU1CawLhDQ%3D%3D.HLAly5AGQwIoZXBuo191amiTFXwxq%2B%2Brkm4LDj0Rz8UagWmnn1uEDB%2BjBZ1jLfhjbltbg0U83LNyU8Wms5AKcLXxFrlTzZ%2Fnjc9mZlRNS54%3D)
结果展示
下面是在 飞书小程序上的图表渲染实例:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250108/9d412c12342c5afa798e5ea65f27c7f9.png)
相关文档跨端兼容说明:"https://www.visactor.io/vchart/guide/tutorial_docs/Cross-term..." (https://link.segmentfault.com/?enc=9E90wIaDtudwd3Ruee7Yvw%3D%3D.hEbrcJw04a%2FrziEWz7oM%2FMHvLsi7qZRRaAlcRM1Eq7p%2FVEknwLOwwht09m%2FY0TuB5XV7e8a25qRNhYwapDQqqWzDH56qpsJgIq5asmU19WO%2FmkNgjRZg%2B5iv2pGEiPVd2rPpbBzqnzi4c5HoZAZDWQ%3D%3D)
飞书小程序使用教程:"https://www.visactor.io/vchart/guide/tutorial_docs/Cross-term..." (https://link.segmentfault.com/?enc=5MHT84klivPgqbignh8wxw%3D%3D.RXMWFEb6mCkCZ7gEJoy2c%2F5appOnQBGPWqmCFqhujNjuZhkH27cOQV4Dzn%2BN8pxIM%2F3wC3J5xiKyS8NbIHWZ0f%2FeUDyg5FBG09Vhbx3RfTibgdeRj%2BN9hoM5Wb%2FOcxPPDBK%2B4x2lt6UWTHB2V8uXnA%3D%3D)
飞书小组件使用教程:"https://www.visactor.io/vchart/guide/tutorial_docs/Cross-term..." (https://link.segmentfault.com/?enc=yyJK0x47Av91ezCZECcAkQ%3D%3D.%2FbrPBNwTLbE2tZt115gGCARHrCUqT7NYYqhHntcvWBsdGRzBWyZp%2Fy4XtQ6ybnhqZhOB1E5C0j9Wl3Lz2Ffc8XJCNYK9bna1iLzmEOklBHAgP7laF7tDiyEVmDEaBkpq3r46Gw9nMM5NbuKjo%2B8YjA%3D%3D)
东三环
如何使v-model.trim 中trim失效?
因为项目中很多trim语法糖,全局替换有点麻烦,所以想写个方法一次性弄完
东三环
编辑弹窗数据回显时,关闭弹窗后再次打开弹窗时数据就不回显了?
这种情况出现的原因一般是因为你一次编辑修改了"this.Rowdata",原因就是浅克隆,解决方法就是把下面的代码改一下:
this.$util.assignObject(this.dataForm, {
...this.Rowdata,
})
const deepClone = (obj) => JSON.parse(JSON.stringify(obj));
this.$util.assignObject(this.dataForm, deepClone(this.Rowdata))
东三环
umijs 怎么配置图片小于多少kb打包成base64?
umijs 怎么配置图片小于多少kb打包成base64?help
我查看打包出来的文件,好像还是("img",{className:b.state==="doing"?"doingMove":"",style:{background:"#fff",borderRadius:"50%",marginRight:"6px",width:"40px"},src:"/icon/doing.png"})}),(0,e.jsx)
chainWebpack(config, { env, webpack }) {
// 添加对图片的处理,小于40KB的图片将被打包成Base64
config.module
.rule('images')
.test(/\.(png|jpe?g|gif|svg)(\?.*)?$/)
.use('url-loader')
.loader('url-loader')
.options({
limit: 1024 * 1024 * 40, // 这里设置限制大小,单位是字节(bytes)
name: 'img/[name].[hash:7].[ext]',
})
.end();
// 还可以进行其他自定义Webpack配置
return config;
}
东三环
postgresql 怎么将 A表 group by txt 列后,查询后的 txt 返回一个 json 字符串?
"postgresql" 怎么将 "A"表 "group by txt" 列后,查询后的 "txt" 返回一个 "json" 字符串?
A:
id | txt
---|---
1 | abs
2 | a
3 | b
4 | a
怎么写 sql 可以返回一个 "[abs,a,b,a]" 的字符串数组
东三环
对象实现`for of`,`Object.keys(Object(this))`这里面的`this`是什么?
this就是 obj,至于为什么不对 是因为你用的for in 而不是 for of,
for...in循环用于遍历对象的可枚举属性。它遍历对象自身及其原型链上的所有可枚举属性,但不会遍历对象的迭代器
东三环
为什么在scale后的父元素上设置子元素的offset会出现异常,如何解决?
首先,安装一个 Matrix 库,因为自己写的话,一是麻烦易错,二是性能不佳:
npm install gl-mat3
封装一个仿射矩阵类
const mat3 = require("gl-mat3");
class AffineMatrix {
#values = new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);
/**
* @param {[number, number, number, number, number, number]} values
*/
constructor(values) {
for (const i in values) {
this.#values[i] = values[i];
}
}
/**
* @methd getValues 读取矩阵的值
* @returns {Float32Array}
*/
getValues() {
return new Float32Array(this.#values);
}
/**
* @method rotate 旋转
* @param {number|string} [rad] 旋转的角度,如果是数字,默认单位是弧度(rad)
* @returns {AffineMatrix} 返回一个全新矩阵,即不在原矩阵上修改
*/
// rotate(rad = 0) {
// let radius = rad;
// if (typeof rad === "string") {
// if (/rad$/.test(rad)) {
// radius = parseFloat(rad.replace(/rad$/, ""));
// } else if (/deg/.test(rad)) {
// radius = parseFloat(rad.replace(/deg$/, "") / Math.PI);
// } else {
// radius = parseFloat(rad);
// }
// }
// return new AffineMatrix(
// mat3.rotate(new Float32Array(9), this.#values),
// radius
// );
// }
/**
* @method scale - 缩放
* @param {number} scaleX
* @param {number} scaleY
* @returns {AffineMatrix}
*
* @overload
* @param {*} scaleX
* @returns {AffineMatrix}
*/
scale(scaleX, scaleY) {
if (scaleY === undefined) {
return new AffineMatrix(
mat3.scale(new Float32Array(9), this.#values, [scaleX, scaleX, 1])
);
} else {
return new AffineMatrix(
mat3.scale(new Float32Array(9), this.#values, [scaleX, scaleY, 1])
);
}
}
/**
* @method multi 乘以一个向量或另外的矩阵
* @param {AffineMatrix} obj
* @returns {AffineMatrix}
*
* @overload
* @param {ArrayLike} obj
* @returns {Float32Array}
*/
multi(obj) {
if (obj instanceof AffineMatrix) {
return new AffineMatrix(
mat3.multiply(new Float32Array(9), this.#values, obj.getValues())
);
} else {
const v = this.#values;
const [x, y, z] = obj;
return new Float32Array([
v[0] * x + v[1] * y + v[2] * z,
v[3] * x + v[4] * y + v[5] * z,
v[6] * x + v[7] * y + v[8] * z,
]);
}
}
/**
* @method invert 求逆矩阵
*/
invert() {
return new AffineMatrix(mat3.invert(new Float32Array(9), this.#values));
}
toCSSMatrix() {
const v = this.#values;
return `matrix(${v[0]},${v[1]},${v[2]},${v[3]},${v[4]},${v[5]})`;
}
/**
* @method fromCSSMatrix toCSSMatrix 的逆运算
* @param {string} matrixString
*/
static fromCSSMatrix(matrixString) {
return new AffineMatrix([
...matrixString
.replace(/^matrix\(/, "")
.split(",")
.map((i) => parseFloat(i)),
0,
0,
1,
]);
}
}
"jQuery" 上新增一个对应的方法:
$.fn.transform = function(affine){
this.style.transform = affine.toCSSMatrix();
return $(this);
}
给父元素设置"transform"的时候,一律不准使用 "$.fn.css",转而使用上述方法:
const fnCss = $.fn.css;
const $background = $("#background");
$.fn.css = function(...args){
const [val] = args;
if($background.eq(this) && (val === "transfrom" || "transform" in val)){
throw new Error("禁止对 #playground 使用 .css('transfrom') ,应使用 transform()")
}
return $.fn.css.call(this, ...args);
}
// 在所有变换开始前,获取父元素位置和变换中心位置坐标,后面回来计算很麻烦
const {top, left, width, height} = $background[0].getBoundingClientRect();
const pOrgin = [top + width / 2, left + height / 2];
$background
.transform(
(new AffineMatrix([1, 0, 0, 0, 1, 0, 0, 0, 1]))
.scale(new_scale)
)
子元素设置 "offset" 的时候究竟遇到什么问题,题目描述得不是很清楚,因此这里假设是期望子元素的位置免受"scale"影响。
$("#ball").click(function(){
const $this = $(this);
const offsetX = 300;
const offsetY = 300;
// 计算目标 offset 在变换前的坐标
const originOffset = [offsetX + left - pOrgin[0], offsetY + top - pOrgin[1], 1];
// 计算目标 offset 在变换后的坐标
const scaledOffset =
AffineMatrix
.fromCSSMatrix($background[0].style.transform)
.multi(originOffset);
// 计算该坐标点变换前后的移动路径(向量)
const offsetVector = [
scaledOffset[0] - originOffset[0],
scaledOffset[1] - originOffset[1]
]
// 沿着向量反向移动,就可以“回到”变化前应有的位置
$this.offset({
offsetX - offsetVector[0],
offsetY - offsetVector[1]
})
});
写到这里发现想复杂了,这个方法可以扩展到任意 "transform" 2D 变换,实际上如果只考虑 "scale"
的话所有的计算可以进一步简化,计算难度降低到小学高年级数学水平。
因为真正的“干货”其实只在于计算那个"offsetVector",它的计算公式不过是把矩阵运算展开为线性方程组,很简单:
$$ vx = (x + left - (left + width \div 2)) \times scale - (x + left - (left +
width \div 2))\\ vy = (y + top - (top + height \div 2)) \times scale - (x +
top - (top + height \div 2)) $$
然后让变换后的点“移动”回去就行了:
$$ x' = (x + left - (left + width \div 2)) \times scale - vx \\ y' = (y + top
- (top + height \div 2)) \times scale - vy $$
东三环
漏斗图转化层的样式如何修改?
在漏斗图中转化层用于描述不同阶段或步骤之间的转化过程。
漏斗图的转化层的背景颜色通常默认为单一颜色,如何修改漏斗图转化层的背景颜色,以提高可视化的效果和可读性?
东三环
关于element-ui的表格组件,vue插槽问题?
可以参考社区的这个问答,可以实现你的需求 👉 "javascript -vue中如何实现跨组件传递slot(插槽)" (https://segmentfault.com/q/1010000041492730)
***
但是过来人的经验之谈,如非必要请不要自己封装出来通用的"table" 组件。
期望通过 "props" 传入的形式来减少 "table-template" 书写的目标。但其实并没有减少多少工作量。
你现在的情况多半就是因为封装好了一个简单的 "table" 组件,发现新需求又有其他的客制化需求,然而你封装的通用 "table"
组件没办法满足这个克制化需求了。
少走点弯路吧,少年。
东三环
css在不改变背景图的高度的情况下,让被遮挡的部分显示出来?
"图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241212/edf6202482c39871e992407cbc3a1d84.png)
"图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241212/c41e3f564756b5a928ad888b4e705b14.png)
.video-wrapper.video-5 {
height: 633px;
display: flex;
align-items: center;
}
.video-wrapper.video-4 {
position: relative;
overflow: hidden;
}
.video-wrapper .font-weight-bold {
font-size: 45px !important;
font-weight: 900;
margin-bottom: 15px;
}
.book-appointment {
padding-bottom: 80px;
margin-top: -150px;
overflow: visible;
}
.tj-inner {
position: relative;
padding: 55px 55px 10px 55px;
background-image: url('../img/home/bg-shape.png');
background-repeat: no-repeat;
background-size: cover;
background-position: 0 0;
}
.heading-appointment {
margin-bottom: 50px;
}
.heading-appointment h5 {
color: #ea1826;
}
.heading-appointment h2 {
margin-bottom: 20px;
}
.heading-appointment p {
color: #fff;
max-width: 500px;
width: 100%;
}
.book-appointment .progress_bar {
max-width: 510px;
margin-top: 40px;
margin-bottom: 25px;
}
.popular-causes__progress {
margin-bottom: 20px;
}
.popular-causes__progress .popular-causes__goals p {
color: #111;
font-weight: 900;
margin-bottom: 0;
}
.popular-causes__progress .bar {
position: relative;
width: 100%;
height: 7px;
background: #d9d9d9;
border-radius: 3px;
margin-bottom: 15px;
}
.popular-causes__progress .bar-inner {
position: relative;
display: block;
width: 0;
height: 7px;
margin: 10px 0;
border-radius: 3px;
background: #ea1826;
}
.heading-appointment .action-call {
position: relative;
z-index: 1;
display: flex;
align-items: center;
gap: 10px;
}
.heading-appointment .action-call .icon {
width: 45px;
height: 45px;
border-radius: 400px;
background-color: #fff;
display: flex;
position: relative;
overflow: hidden;
justify-content: center;
overflow: hidden;
align-items: center;
color: #ea1826;
border: 1px solid #fff;
transition: all .4s ease-in;
}
.heading-appointment .action-call .icon i {
font-size: 18px;
line-height: 0;
}
.heading-appointment .action-call:hover .icon {
border: 1px solid #ea1826;
background: #ea1826;
color: #fff;
}
.heading-appointment .action-call .content h6 {
text-align: start;
font-weight: 900;
color: #fff;
margin-bottom: 0;
}
.heading-appointment .action-call .content span {
font-style: normal;
text-align: start;
font-weight:900;
font-size: 16px;
line-height: 26px;
color: #fff;
}
.tj__frome__widget {
background: #fff;
box-shadow: 0 0 45px 0 #0000001a;
margin-bottom: -110px;
}
.tj__frome__head {
padding: 20px 20px 50px 20px;
background-color: #ea1826;
clip-path: polygon(200% 0,100% 60%,50% 100%,0 60%,0 0);
text-align: center;
}
.tj__frome__head .tj__frome_sub-title {
font-size: 22px;
color: #fff;
margin-bottom: 0;
}
.tj__frome__body {
padding: 35px 40px 50px 40px;
}
.tj__frome__body .form-group {
position: relative;
}
.tj__frome__body .form-group {
margin-bottom: 20px;
}
.tj__frome__body input {
height: 55px;
border-radius: 0;
font-size: 14px;
}
.tj__frome__body textarea {
font-size: 14px;
border-radius: 0;
}
.form-control {
border-radius: 2px;
}
.tj__frome__body i {
padding: 20px 20px;
position: absolute;
top: 0;
right: 0;
color: #bbb;
}
.tj__frome__body .form-group.tj_form__submit {
width: 100%;
margin-top: 10px;
margin-bottom: 0;
}
.tj__frome__body button {
width: 100%;
padding: 12px;
border: 0;
background-color: #ea1826;
color: #fff;
font-style: normal;
font-weight: 900;
font-size: 18px;
border-radius: 2px;
line-height: 28px;
-webkit-transition: all .4s ease-out 0s;
-moz-transition: all .4s ease-out 0s;
-ms-transition: all .4s ease-out 0s;
-o-transition: all .4s ease-out 0s;
transition: all .4s ease-out 0s;
}
.tj__frome__body .form-control:focus {
border-color: #ea1826;
outline: 0;
box-shadow: none;
}
提供全面的服务和 &先进的设备
预约预定
用我们的专业获取您的需求解决方案
欢迎,在这里,你可以找到一些最常见的问题,收到关于我们服务的最佳答案
服务关系
80%
联系电话+41 44 281 9558
期待你的留言
请输入姓名
请输入邮箱
请输入手机号
预约
东三环
执行队列问题?
class Scheduler {
waiting = []
running = 0;
add(promiseCreator) {
return new Promise(resolve => {
if (this.running >= 2) {
this.waiting.push(promiseCreator)
}
else {
this.running++;
promiseCreator().then(() => {
this.running--;
if (this.waiting.length) {
this.add(this.waiting.shift())
}
resolve();
})
}
})
}
}
const timeout = (time) => new Promise(resolve => {
setTimeout(resolve, time)
});
const scheduler = new Scheduler();
const addTask = (time, order) => {
scheduler.add(() => timeout(time))
.then(() => console.log(order))
}
addTask(1000, '1')
addTask(500, '2')
addTask(300, '3')
addTask(400, '4')
题目的场景是实现一个只允许同一时间内最多存在两个执行队列,期间插入的会进入等待队列,然后空闲时间执行。
只允许修改Scheduler里面的内容
现在能执行前两个task,后面两个回调没执行是什么原因
东三环
java list.toArray 方法?
List list = List.of(12, 34, 56);
Integer[] array = list.toArray(new Integer[]{1, 2, 1, 43, 32, 1});
System.out.println(Arrays.toString(array));
输出:" [12, 34, 56, null, 32, 1]"
***
不应该是: "[12, 34, 56, null, null, null]" 吗?
这是为什么?
版本:"GraalVM for JDK 17"
东三环
哪位大佬可以帮我写一下图日历,技术栈vue3,有偿?
"企业微信截图_16980191117201.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241206/cca526cf64031796e10e8b83eff53c35.png)
东三环
github pages 目前有哪些路由重定向的解决方案?
这是我部署的 github 网站 "gihub
pages" (https://link.segmentfault.com/?enc=%2FFUCppUexH2Z708BB6VX7Q%3D%3D.5esi6plEuAwcO7GJ4kraEQjfgmJRw56B1sEcfDpzH%2BSFUVxGPMpGxvDBdBkk2Bup)
当我重新加载子路由时
或者直接跳转"子路由" (https://link.segmentfault.com/?enc=PPUadD91PN30FPlUzdg60g%3D%3D.mh%2BsH3kKcFo3O8CCQ9m%2BcCHbYXf3bSRj%2BOFX%2FaJ6oVp1MRNn3K37Pfl8LoOie97LcFsPY1Cz1SeSEkbUHbb%2FnA%3D%3D)会跳到
404 页面
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241128/39065a220ea93b14560bff1f3c11cd6f.png)
点击该按钮即可跳转
这种问题目前有办法解决么?
还是说这种问题只能通过修改 nginx 配置去解决?
东三环
TypeScript - "[]" 可赋给 "P" 类型的约束,但可以使用约束 "[]" 的其他子类型实例化 "P"?
function load Promise>(
loader: F,
lazy = false,
) {
let data: T | undefined, error: unknown
const refresh: (...args: P) => void = (...args) =>
void loader(...args)
.then(d => (data = d))
.catch((e: unknown) => (error = e))
/**
* 类型“[]”的参数不能赋给类型“P”的参数。
* "[]" 可赋给 "P" 类型的约束,但可以使用约束 "[]" 的其他子类型实例化 "P"。ts(2345)
*/
if (!lazy) refresh()
return { refresh, data, error }
}
// { refresh: () => void; data: unknown; error: unknown }
load((a?: number, b?: number) => Promise.resolve((a ?? 0) + (b ?? 0)))
我希望 "loader" 函数没有参数列表,或者所有参数都是可选的。
同时返回值的类型应该是 "{ refresh: (a?: number, b?: number) => void, data: number | undefined; error: unknown }"。
东三环
Protable 进行查询 current没有重置回第一页,请问怎么解决?
你怎么写的?为什么别人没有遇到
那我先随便水一个解决办法,对 Protable 进行封装搞个新组件,这样就只改一个地方
东三环
js 能否唤起添加到收藏夹的弹框?
目前,Web浏览器没有提供直接通过 JavaScript
脚本调用“添加到收藏夹”的浏览器原生对话框的标准API。这是因为对话框的调用通常涉及到用户隐私和安全问题,所以浏览器不允许通过脚本直接触发这样的操作。
在过去,浏览器曾经提供过 window.external 对象用于此类任务,但由于安全问题,大多数现代浏览器已经停止支持它。
如果希望用户将网页添加到收藏夹,一种常见的方式是提供一个按钮或链接,然后在用户点击时提供说明或者弹出提示告诉他们如何手动完成这个动作。
«我不明白为什么有人会对这条回答打负分?»
东三环
请问如何写html只能纯数字过长自动换行+自动去掉尾数0的number textarea?
是这样吗? "textarea_number_data" 就是要获取的值 "textarea_number" 是显示值
import {ref} from "vue";
const textarea_number_data = ref();
const textarea_number = ref();
const keyupNumber = () => {
textarea_number_data.value = textarea_number.value.replace(/[^\d.]/g, "").replace(/\.(?=.*\.)/g, "");
console.log(textarea_number_data.value)
textarea_number.value = textarea_number_data.value.match(/.{1,6}/g).join("\n");
}
东三环
关于Trait签名不一致 和 Deref 的一些问题?
self 就是 "Vec" 。这是一个 move ,不是引用。move 参数实际是一个函数内部变量,对它的修改不影响函数外部。"mut"
只影响函数内部逻辑。加不加是一样的。
第二个,因为 self 就是 "mut Vec" ,这里根本不需要 deref 。"mut Vec" 是可以直接传递给
"&mut Vec" 参数的。
东三环
Serializable 接口底层原理?
"Serializable"可以认为只是一个标识而已。
底层实现主要依赖是"ObjectOutputStream"和"ObjectInputStream"。
东三环
浏览器是一个页面一个线程吗? 还是一个页面可以有多个线程?
浏览器是一个页面一个线程吗?
还是一个页面可以有多个线程?
东三环
如果A是从B跳转来的,那么A网页发起异步请求会不会携带refrer属性?
如果你想不带refrer可以配置
三种方案
1、在A网站页面头部加入下面meta,所有跳转便不会携带referer
2、使用window.open来去除referrer
window.open('javascript:window.name;','location.replace("'+你的跳转url+'")');
3、使用iframe
document.body.appendChild(document.createElement('iframe')).src='javascript:"top.location.replace(\''+你的跳转url+'\')"';
东三环
Keep Unit Test Running如何实现热部署仅加载一次环境?
这边文章介绍了两个插件如何进行整合,"https://segmentfault.com/a/1190000044425723" (https://segmentfault.com/a/1190000044425723)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241112/fa0da5c13851bb99432ccfb4772e9169.png)
东三环
怎么设置鼠标滚轮默认滚动方式为横向?
将容器旋转-90deg,子元素旋转90deg。
"https://stackoverflow.com/a/39573512" (https://link.segmentfault.com/?enc=ri4tCZNiP2bdqaxffXPFrw%3D%3D.9q2LvRjJVq9QxxDOFdm10jV49kM7Zn4OpYmPkSre6Hl2%2BtX17G0pDMwx32eDfjph)
东三环
Uniapp生成的H5页面在pc端不适应问题?
关于uniapp生成H5之后在pc端的问题
pc端会占全屏 我想在pc端打开之后像第二张图一样
如何解决呀?
pc端
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241107/05c314f55f08336210d17438e476d502.png)
打开f12调试
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241107/5e6043e07f068d9570a5567cd6155947.png)
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241107/06cffb6efe9c20e019fcac824d325b26.png)
东三环
两台服务器千兆,交换机也是千兆,可是传输只有100mbps?
服务器A显示已连接1GB,服务器B也是显示已连接1GB,交换机上两个端口也是显示了1000Mpbs,但服务器A往服务器B传输文件却只有100Mpbs的速度,这是为什么?服务器B启用了两个酷狼2TB组成的raid1阵列,但也不应该这么低的速度才对啊。
交换机测试正常
https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241106/ad543658eadd8d1a1ce633e3df1229b2.png
https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241106/c43e3ce23b0ff84f9852b8ba6e263e0a.png
https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241106/f3ca0097668ddde6c5715270771df0c5.png
https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241106/2e7474ef19104731925543aa8265bff9.png
东三环
浏览器接口 fetch 发起的请求如何跟踪上传进度?
教程请查收
«"https://juejin.cn/post/7253969759191023675" (https://link.segmentfault.com/?enc=A1us90M%2FTaiBUhWUr81i9w%3D%3D.9LldAMBy%2FpUrpHtIQYRZgaUujJ3xnkWkROU4XMbZUYLmrzT5700K5SPe5Kekx3pG)»
东三环
使用eslint和prettier 配置成可以自动格式化代码成驼峰?
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241102/0d61d7ad3a8ec3b5001272667b48b22e.png)
问下eslint这种限制用的是哪个属性
东三环
dynamic_cast 向下转型时报错?
这段代码是直接从文章中复制下来的
#include
using namespace std;
int main(int argc, char const *argv[])
{
// 动态转换
class Base {};
class Derived: public Base {};
Base* ptr_base = new Derived;
Derived* ptr_derived = dynamic_cast(ptr_base);
return 0;
}
但是会报 "运行时 dynamic_cast 的操作数必须包含多态类类型"的错误,运行时也会报错
https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241102/ddd7a86e4fefd5b32dcc6a6e1a14c19d.png
我的理解是这段代码在进行向下转型,应该是没有问题的。
东三环
请教一个关于OSS存储图片的问题?
1、流量+存储+数据处理费用。
https://help.aliyun.com/zh/oss/product-overview/billing-examples/?spm=a2c4g.11186623.0.0.8d6b2d1dkA0gi4
2、是。
3、是(如果是浏览器访问,本身会有缓存,同一个资源同一个人同一个浏览器访问多次算一次,因为有缓存)
4、是,且无解。一般是套个CDN,回源只一次,剩下的基本是CDN的流量费不是OSS的了。
5、OSS无需开通,只要有这个URL就能访问,没有这个URL就不能访问。
6、不能。
7、压缩后上传OSS
8、七牛每月10G免费。
9、OSS+CDN
东三环
拆分成微服务疑问,按 controller 还是按照 project 拆?
拆分成微服务疑问,按 controller 还是按照 project 拆?
先说个人不懂微服务,也没搞懂过
按照我的经验,通常就是拆分 controller 跟 service 由不同同事负责
不会刻意拆分不同 project,除非像是统一账号验证才会额外拆
但现在遇到一个顾问说,微服务要尽量拆分到不同 project 维护,各自有自己的 docker
这样才不会有严重依赖耦合
我不太能理解这样概念,工程复杂度直线上升
东三环
amh的MySQL怎么打补丁?
软件商店mysql-8.0是有最新版本,mysql-5.7也提供更新升级了,你到面板升级就好了。
不升级也没多大影响,考虑安全amh默认安装的软件基本也都是只能本地服务器访问。(像mysql、redis、memcached等)
东三环
如何下载mycat 1.6?
mycat 1.6在哪里可以下载?
我已经在"http://www.mycat.org.cn/mycat1.html" (https://link.segmentfault.com/?enc=o9xK1v6D0KzP1zMhOwLTDA%3D%3D.%2B9fOGx5zvQmCcSWBm8E9dpdwPy5XzfDL7sD07yJyQ6pVeiNSjwc3JzhcM33byHOm),"http://dl.mycat.org.cn/1.6.7.6/" (https://link.segmentfault.com/?enc=bpMM4wEhn%2FfpZR3JYLQWCw%3D%3D.Wn9Bab%2FfBZxXYihXEt7DJNnBYNXy8uBDwUw%2B31P3dWo%3D)
找资源了,但是都打不开,我用的移动的网
东三环
Go运行时指定输出目录?
那你 "go build -o 指定目录" , 然后单独再执行一下呗。
东三环
同时开发前端和electron,有哪些最佳实践模板?
同时开发前端和electron,有哪些最佳实践模板?
东三环
Socket连接中支持发送哪些数据类型?
内容澄清
目前Socket连接仅支持发送string类型和ArrayBuffer类型数据。
东三环
关于遍历数组对象变更数据格式的问题?
let outlist = [{
level: 1, content: '标题测试'
},{
level: 2, content: '互联网理财融资模式'
},{
level: 1, content: '滴滴出行融资模式存在问题对策'
},{
level: 2, content: '市场竞争白热化导致的被动融资'
},{
level: 3, content: '111122223333'
}]
请问如何将以上代码转换成如下格式:
let newlist = [{
level: 1, content: '标题测试', children: [{
level: 2, content: '互联网理财融资模式'
}]},{
level: 1, content: '滴滴出行融资模式存在问题对策', children: [{
level: 2, content: '市场竞争白热化导致的被动融资', children: [{
level: 3, content: '111122223333'
}]
}]
}]
我尝试了很多办法,但都未成功
最后退而求其次,想通过一个自定义数组区分对象所属层级,但依旧未果
function sortFun (num) {
let index = 0
for (let j = 0; j < meun.length; j++) {
if (meun[j].level == num + 1) {
meun[j].storey[num] = index++
}
}
return meun // 只能标注出第一层的下标
// sortFun(num++) // 想通过递归,但是报 “Maximum call stack size exceeded” 错误
}
···
东三环
多语言应用后台系统大家是怎么处理的?
多语言应用后台系统大家是怎么处理的
请教一下大家,比如我要开发一个多语言版本的视频 app,需要投放到欧美市场,以及越南市场,还有就是国内,大家的后台系统是否要根据不同的语言分开做呢?因为
app 的内容是需要根据语言来变的。
比如:视频 a
在欧美市场中,他的视频封面图就需要展示英文的,在国内展示中文的宣传图,在越南展示越南文;首页轮播图也是这样。
还有就是广告,欧美,越南使用谷歌的广告,在国内就使用国内的广告,比如穿山甲,优量汇之类的。
我之前的准备的做法有:
1. 同一个字段设计成多语言版本的,比如标题,title,en_title,vi_title ,但是我感觉这样很有问题,后台系统页面太乱了,还有就是 api 中万一有个字段需要处理一下,那每个语言的字段都需要处理,扩展起来非常麻烦。
2. 使用翻译文件加载,根据对应的语言写入到文件中,获取的时候,根据前台 Accept-Language 标识去找翻译文件进行翻译,缺点是:每条数据都要进行翻译,会导致后期翻译文件过大的问题,首页轮播图,视频封面图等还是没有解决。
3. 后台系统根据不同的语言单独做,比如英文版本的一个后台,越南文一个后台,中文一个后台;优点:以上问题都解决了。缺点是:需要维护多个系统后台比较麻烦。
东三环
webpack3.8.1 非入口分离的chunk 如何将该chunk中node_modules进行抽离?
webpack3.8.1
使用commonChunkPlugin对代码进行分割,提取出vendors,mainfest,发现类似0.xxx.js这样的chunk中包含依赖,如echarts,
1.请问要如何配置才可以分离出 非入口0.xxx.js中的echarts依赖?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241013/3110c32d621bb365acc01dec99133bde.png)
2.如果再在图1的commonChunkPlugin中继续增加类似
new webpack.optimize.CommonsChunkPlugin({
chunks: 'all',
name: 'common',
minChunks: 1
})
后,之前打包生成的mainfest文件就没了,是commonChunksPlugin个数有限制还是这种写法有问题?
3.相同依赖会在多个chunk中被多次打包,是怎么回事?
东三环
pnpm依赖安装不了最新版本?
{
"name": "test1",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"axios": "^1.1.3"
}
}
我在文件夹只有这个json文件,我npm i的时候他是最新的axios,但是pnpm i的时候他就是1.1.3版本,这是为什么
这个json文件时通过npm和pnpm分别构建的,我试过清除pnpm的缓存但是没有用,lock文件和node_modules都删除了,但是Pnpm安装的不是最新的
东三环
docker容器日志能否设置存储到别的路径?
"docker logs"
默认是不往容器内或者宿主机上持久化日志文件的。除非你在你的应用中,将日志分为标准输出和文件持久,那你可以通过挂载的方式,将你的容器内的日志文件持久化到宿主机上。
东三环
freeRTOS里的MQTT的lwip_connect,lwip_select,lwip_recv进行连接,移到linux改成connect,select,recv遇到问题?
我现在在一家智能家居公司做网关方面的开发,最近开发MQTT遇到了问题,具体就是把freeRTOS里的MQTT代码逻辑移到Linux里,其中通信过程有问题,freeRTOS里的MQTT都是用lwip_connect,lwip_select,lwip_recv进行连接,移到linux改成connect,select,recv,需要增加while(ret=-1
&& errno==EINTR)循环里进行连接,不然会报select:Interrupted system
call错误,但是添加了这个最后手机app无法局域网或云端连上网关,感觉是哪里阻塞了,这个问题怎么解决啊
如何解决
东三环
JavaScript Promise 返回数组问题怎么显示undefined呢?
js Promise 返回数组但无法使用
该如何返回结果呢?
let element = document.querySelectorAll('.test')
let promise = new Promise((resolve,reject) => {
let imgs = []
for (var i = 0; i {
console.log(e, e.length)
})
在这里打印e,可以看到是个数组,但e.length显示就是0;而且直接使用e[0]就是undefined
东三环
Linux上使用gcc编译C程序的方法?
直接用包管理工具, 如apt, yum, dnf这些, 安装 gcc g++ 就成.
比如 "apt install gcc g++"
要编译程序, 用 "gcc c程序文件名.c" 就行.
东三环
如何在 ECharts 百度地图 中只显示中国地图?
"echarts" 中引用百度地图(非"geojson"地图)显示散点图等,想问下能不能只显示中国境内,不显示国外区域地图。
东三环
如何有效处理来自特定地区的异常IP访问?
"https://github.com/Thiasap/SomeIPs/blob/main/%E8%85%BE%E8%AE%AF%E4%BA%91ip%E6%AE%B5.csv" (https://link.segmentfault.com/?enc=VI2tDBilJ8G%2BVuAsbkaMnQ%3D%3D.ATwu%2FA%2FiQpHDAXp4Th97cvX6wUVxdQ7dpFn43gAqhki%2F5jXbfTHLoTW50ctGgqtcD1R%2BoNX6xvhm0BmkTR317zeHuTSrA74TnpzgB8PKkRRzWJw6q31WZfTpJWvMilXm)
写个文件 "deny x.x.x.x/NN;" 一行一个IP段
在nginx配置文件里 "include xxx.conf"
其次,可以配置ip限流模块,配置每个ip每分钟最多访问多少次后返回403
东三环
APP上架AppStore软著是否必需?
不需要。
如果分类是游戏,且上架地区包含中国大陆,那么需要提供版号(申请版号的前提是有软著,但提交到 AppStore 时不需要提供软著证书)。