小编The*_*mer的帖子

如何在 Three.js 中创建无限的地板(天际线)?

问题:

所以我遇到了这个:

https://skin-tracker.com/pubg/outfit?no=000000000000000000000000000&set=1&char=1

我的代码中已经有中央地面区域的纹理。但我不知道如何使其延伸到地平线,如链接中所示。

似乎对您在链接中看到的内容进行编码的人遇到了某种限制,并且必须对超出中央地板区域的区域使用单一颜色。

如何让我的地板延伸到地平线/创造天际线?


代码:

var floorTexture = new THREE.ImageUtils.loadTexture( '../../public/assets/grassTile.jpg' );
floorTexture.wrapS = floorTexture.wrapT = THREE.RepeatWrapping;
floorTexture.repeat.set( 10, 10 );
var floorMaterial = new THREE.MeshBasicMaterial({ map: floorTexture, side: THREE.DoubleSide });
var floorGeometry = new THREE.PlaneGeometry(1000, 1000, 10, 10);
var mesh = new THREE.Mesh(floorGeometry, floorMaterial);
mesh.rotation.x = - Math.PI / 2;
mesh.receiveShadow = true;
scene.add( mesh );
Run Code Online (Sandbox Code Playgroud)

javascript three.js

4
推荐指数
1
解决办法
6806
查看次数

“'密文'(TYPE_BYTES)处的无效值”

情况:

我正在尝试从我的谷歌云存储桶下载和解密一些数据。

对于加密和解密,我使用:

https://cloud.google.com/kms/docs/quickstart#decrypt_data

遗憾的是,我收到一个错误:“‘密文’(TYPE_BYTES)处的值无效”。

我知道密文是正确的,我相信这可能是 Google KMS API 预期的数据类型的问题,即:检索加密数据时,我的代码在将 POST 请求发送到 Google KMS API 之前以某种方式更改了它的类型.

我做错了什么,我该如何解决?


代码:

gcs.bucket(bucketName)
.file('mysecret.txt.encrypted.txt')
.download({ destination: 'mysecret.txt.encrypted.txt' })
.then(() => {
    fs.readFile('mysecret.txt.encrypted.txt', (err, data) => {
        if (err) throw err;
        console.log("DATA: "+data);
        var formData = {
           ciphertext: data, 
        };
        request.post({
            headers: {
                'Content-Type': 'application/json',
                'Authorization': 'Bearer ...'
            },
            url: 'https://cloudkms.googleapis.com/v1/projects/kms-raimarketplace/locations/global/keyRings/.../cryptoKeys/...:decrypt',
            form: formData
        },
        function (err, httpResponse, body) {
            if (err) {
                console.log("ERROR: "+err);
            }
            else {
                console.log("BODY: "+body);
            }
            console.log(err, body);
        });
    });
}).catch(e …
Run Code Online (Sandbox Code Playgroud)

javascript encryption node.js google-cloud-platform google-cloud-kms

3
推荐指数
1
解决办法
2152
查看次数

遇到 540 秒超时限制后如何从 Firebase Functions 迁移到 Cloud Run?

我正在阅读此 Reddit 帖子,其中一位用户提到 540 秒是 Firebase 函数的限制,建议迁移到 Cloud Run。

\n
\n

正如其他人所说,540 秒是最大超时,如果您想增加它而不更改代码的其他内容,请考虑迁移到 Cloud Run。\xe2\x80\x8b- Reddit上的@samtstern

\n
\n

查看Node.JS 快速入门文档\n以及 YouTube 和 Google 上的其他内容后,我没有找到解释如何将 Firebase Function 移至 Cloud Run 的良好指南。

\n

我读到的内容没有解决的问题之一,例如:我用什么替换firebase-functions包来定义函数?ETC...

\n

那么,如何将我的 Firebase Function 转移到 Cloud Run 才不会遇到 540 秒的最大超时限制?

\n
\xe2\x80\x8bconst functions = require(\'firebase-functions\');\n\xe2\x80\x8bconst runtimeOpts = {timeoutSeconds: 540,memory: \'2GB\'}\n\xe2\x80\x8bexports.hourlyData = functions.runWith(runtimeOpts).pubsub.schedule(\'every 1 hours\')\n
Run Code Online (Sandbox Code Playgroud)\n

javascript node.js firebase google-cloud-functions google-cloud-run

3
推荐指数
1
解决办法
2013
查看次数

admin.firestore.Timestamp.now() 和 admin.firestore.FieldValue.serverTimestamp() 有什么区别?

https://firebase.google.com/docs/reference/js/firebase.firestore.FieldValue.html#servertimestamp

https://firebase.google.com/docs/reference/js/firebase.firestore.Timestamp.html#now

我不确定我是否理解其中的区别。有人可以解释一下吗?

也就是说:如果我只是使用 firebase.firestore.Timestamp.now() 作为我将要写入的对象的时间戳属性而不是 firebase.firestore.FieldValue.servertimestamp() ,我会得到什么区别?

我想有一些精度增益?多少 ?或者是别的什么 ?

javascript node.js firebase google-cloud-firestore

2
推荐指数
1
解决办法
625
查看次数

如何强制重定向到 Stripe Checkout 中的 success_url 以外的其他页面?

题:

我目前正在使用 webhook:当checkout.session.completed接收到事件时,即使我尝试使用 res.redirect("/page") (Node.js) 将用户重定向到另一个页面,默认情况下也会将用户重定向到 success_url。如果我的执行代码失败,真的没有办法将他重定向到另一个页面吗?(即:支付成功,但是履行码失败,所以重定向到success_url是不合适的)


参考:

https://stripe.com/docs/payments/checkout/one-time

https://stripe.com/docs/payments/checkout/fulfillment#webhooks

“在您的客户被重定向之前,checkout.session.completed webhook 会发送到您的服务器。您的 webhook 确认(任何 2xx 状态代码)将触发客户重定向到 success_url”


我试过的:

将 Express.js 4 的 res.status(401) 链接到重定向

因此,如果我要发送 4xx 状态代码,那不应该阻止 success_url 重定向吗?这确实是我观察到的。

但我似乎无法重定向到另一个页面。我试过: 

res.status(401).location('/submit/wait/').end();
res.redirect(401, '/submit/wait/');
res.set('Content-Type', 'text/html');
res.status(401).send('<!DOCTYPE html><html><head><meta http-equiv="refresh" content="0; url=/submit/wait"></head></html>`);Is there really no way to then just redirect to another page ?  
Run Code Online (Sandbox Code Playgroud)

代码

router.post('/webhook', bodyParser.raw({type: 'application/json'}), (req, res) => {

    const sig = req.headers['stripe-signature'];
    let event;

    try {
        event = stripe.webhooks.constructEvent(req.rawBody, sig, endpointSecret);
    } catch (err) { …
Run Code Online (Sandbox Code Playgroud)

javascript redirect node.js stripe-payments

2
推荐指数
1
解决办法
1728
查看次数

如何清理输入中的JS和HTML?

我到处都看过,但是找不到一个简单的库或工具。

我想清理我网站上的评论。

目前,我可以通过注释注入HTML,CSS以及几乎任何我想要的内容。

<div id="commentsSection">
    <div class="submitCommentForm">
        <textarea id="commentsInput" required minlength="10" maxlength="150">
        </textarea>
        <div id="submitComment">SUBMIT</div>
    </div>
    <div id="commentsBox"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

最好的可用方法是什么?

html javascript css

1
推荐指数
1
解决办法
4037
查看次数

为什么req.body是空的?

服务器:

//Body Parser
var bodyParser = require("body-parser");
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false}));
Run Code Online (Sandbox Code Playgroud)

客户:

<form enctype="multipart/form-data" method="post" action="../users/editProfile" class="uploadForm">
Run Code Online (Sandbox Code Playgroud)

出于某种原因,req.body我提交表单时总是空的.它之前的工作非常好,据我所知,我添加的唯一内容是9个输入,总共15个.

可能是什么导致了这个?

我已经检查了这个:req.body在帖子上是空的

这些答案似乎都没有解决我的问题.

javascript forms post node.js body-parser

0
推荐指数
1
解决办法
749
查看次数

当我可以做if(var!= null)时,为什么选项有用?

题:

当我可以检查值是否为零时,为什么Swift会使用类似选项的东西?从本质上讲,我想知道这种语言功能的用途是什么,我正在学习Swift atm,从初学者的角度来看,它似乎多余/无用.

PS:我来自Javascript.


码:

做一些像我这样的事情似乎很荒谬:

if let normalImage = imageFromFaceBook {
  print(normalImage) // normalImage is a constant
} else {
  print("There is no image")
}
Run Code Online (Sandbox Code Playgroud)

当我可以做的时候:

if (imageFromFacebook != nil) {
    print(imageFromFacebook) // normalImage is a constant
} else {
    print("There is no image")
}
Run Code Online (Sandbox Code Playgroud)

像我通常在Javascript中做的那样:

if (imageFromFacebook != null) {
    print(imageFromFacebook) // normalImage is a constant
} else {
    print("There is no image")
}
Run Code Online (Sandbox Code Playgroud)

optional swift

0
推荐指数
1
解决办法
162
查看次数

使用Puppeteer,如何打开页面,获取数据,然后返回上一页以获取列表中的下一页?

情况:

这是我想做的:

1)我加载页面0。页面0包含指向不同页面的可点击链接。我想加载所有这些页面的内容。所以:

2)点击第一个链接。加载页面1.获取数据。返回上一页(第0页)

3)单击第二个链接,该链接加载第2页。等等,直到所有链接都被单击为止。

在我当前的代码中,第0页加载,然后单击第一个链接并加载第1页,然后出现崩溃并显示以下错误:

(node:2629) UnhandledPromiseRejectionWarning: Error: Protocol error (Runtime.callFunctionOn): Execution context was destroyed.
Run Code Online (Sandbox Code Playgroud)

题:

我在做什么错?如何使脚本按预期方式运行?


码:

const puppeteer = require('puppeteer');
const fs = require('fs');

let getData = async () => {
    const browser = await puppeteer.launch({headless: false});
    const page = await browser.newPage();

    await page.goto('url', { waitUntil: 'networkidle2' });
    await page.setViewport({width: ..., height:...});

    const result = await page.evaluate(async () => {
        let data = []; 
        let elements = document.querySelector('.items').querySelectorAll('.item'); 

        for (const element of elements) {

            element.click();
            await new …
Run Code Online (Sandbox Code Playgroud)

javascript node.js puppeteer

0
推荐指数
2
解决办法
2780
查看次数