修改调用js方法的参数传递方式
This commit is contained in:
parent
8126373f2c
commit
cecbcd212e
@ -83,8 +83,8 @@ NS_CC_BEGIN
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool addToArgArray(se::ValueArray *args, std::string strVal) {
|
||||
// std::string strVal(valChar);
|
||||
bool addToArgArray(se::ValueArray *args, char *valChar) {
|
||||
std::string strVal(valChar);
|
||||
se::Value tmpVal;
|
||||
bool ok = true;
|
||||
ok &= std_string_to_seval(strVal, &tmpVal);
|
||||
@ -122,13 +122,9 @@ NS_CC_BEGIN
|
||||
}
|
||||
|
||||
char *JcWallet::runJsMethod(std::shared_ptr<JSMethodParam> data) {
|
||||
se::ValueArray args;
|
||||
cocos2d::log("thread: %ld call method %s", uv_thread_self(), data->methodName.c_str());
|
||||
for (int i = 0; i < data->paramList.size(); i++) {
|
||||
addToArgArray(&args, data->paramList[i]);
|
||||
}
|
||||
se::Value value;
|
||||
bool ok = runGlobalMethod(data->methodName.c_str(), args, &value);
|
||||
bool ok = runGlobalMethod(data->methodName.c_str(), data->args, &value);
|
||||
static std::string result;
|
||||
if (ok && !value.isNullOrUndefined()) {
|
||||
result = value.toString();
|
||||
@ -157,8 +153,7 @@ NS_CC_BEGIN
|
||||
data->paramCount = paramCount;
|
||||
for (int i = 0; i < paramCount; i++) {
|
||||
char *arg = *(paramList + i);
|
||||
std::string strVal(arg);
|
||||
data->paramList.push_back(strVal);
|
||||
addToArgArray(&data->args, arg);
|
||||
}
|
||||
std::shared_ptr<JSMethodParam> params(data);
|
||||
RUN_IN_SERVERTHREAD(JcWallet::getInstance()->runJsMethod(params));
|
||||
|
@ -13,7 +13,7 @@ NS_CC_BEGIN
|
||||
struct JSMethodParam {
|
||||
std::string methodName;
|
||||
int paramCount;
|
||||
std::vector<std::string> paramList;
|
||||
se::ValueArray args;
|
||||
};
|
||||
bool addToArgArray(se::ValueArray *args, std::string val);
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
console.log('>>hi tiny wallet3')
|
||||
|
||||
function initWallet(password) {
|
||||
if (!jc.wallet) {
|
||||
if (typeof jc === 'undefined' || typeof jc.wwallet === 'undefined') {
|
||||
var wallet = new jcwallet.default(password);
|
||||
}
|
||||
return jc.wallet.currentAccount().address;
|
||||
|
Loading…
x
Reference in New Issue
Block a user