gpt4 book ai didi

javascript - Pebble 返回托架在模拟器上工作,但在 watch 上不起作用

转载 作者:行者123 更新时间:2023-11-28 07:24:49 25 4
gpt4 key购买 nike

我有一个 Pebble 智能 watch 表盘,它从应用程序配置页面(html 页面)中的文本区域获取文本,并将该值放入表盘上的文本层中。

不幸的是,有两件事导致它无法按预期工作(希望它们都可以通过一种解决方案解决):

1) 回车符(例如\n 不适用于文本层,它不移动到新行,而是仅显示 '\n' 字符2) 不成对的 '(撇号)和 "(引号)不会更新页面(即不起作用)

我对表盘和配置之间的通信并不感到惊讶,但除了这一问题之外,其他一切似乎都工作正常。下面是我将文本从文本区域获取到文本层的路径。

相关脚本(在config.html中)

[].forEach.call(document.querySelectorAll("#save"), function(e1) {
e1.addEventListener("click", function() {
console.log(saveOptions());
var return_to = getQueryParam('return_to', 'pebblejs://close#');
document.location = return_to + encodeURIComponent(JSON.stringify(saveOptions()));
});
});

相关 JavaScript (script.js)

    Pebble.addEventListener('webviewclosed', function(e) {
var options = JSON.parse(decodeURIComponent(e.response));
message = options.message;

var dict = {
'MESSAGE_DATA' : message
};

//Send a string to Pebble
Pebble.sendAppMessage(dict, function(e) {
console.log("Send successful.");
}, function(e) {
console.log("Send failed!");
});
}

相关main.c:

static void inbox_received_callback(DictionaryIterator *iterator, void *context) {
APP_LOG(APP_LOG_LEVEL_INFO, "Message received!");

// Get the first pair
Tuple *t = dict_read_first(iterator);

// Process all pairs present
while(t != NULL) {
// Process this pair's key
switch (t->key) {
case MESSAGE_DATA:
snprintf(message_buffer, sizeof(message_buffer), "%s", t->value->cstring);
APP_LOG(APP_LOG_LEVEL_INFO, "MESSAGE_DATA received with value %d", (int)t->value->int32);
break;
default:
APP_LOG(APP_LOG_LEVEL_ERROR, "Key %d not recognized!", (int)t->key);
break;
}

// Get next pair, if any
t = dict_read_next(iterator);
}
}

编辑:添加 message.replace(/[\n\r]/g, ' '); 无法解决问题 1 :/

最佳答案

我认为这在 JS 和 C 之间的转换中丢失了,因为 C 正确显示回车。您应该考虑使用特殊字符来替换所有可能不会出现在您要发送的实际消息中的回车符,例如 # 或 $。然后,迭代 C 中的字符数组,并将该特殊字符的所有实例替换为\n。

关于javascript - Pebble 返回托架在模拟器上工作,但在 watch 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29800419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com