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