在调用minium.app.evaluate()方法时,代码如下:
import minium
mini = minium.Minium({
"project_path": "*****",
"dev_tool_path": "*****",
"debug_mode": "debug",
"auto_authorize": True
})
app = mini.app
result = app.evaluate("""function(){wx.preloadAssets({
data: [
{
type: 'image',
src:'https://news.buaa.edu.cn/dfiles/12596/images/logo.png',
},
],
success(resp) {
console.log('preloadAssets success', resp)
},
fail(err) {
console.log('preloadAssets fail', err)
},
})}""", sync=True)
上述代码运行时报错。
报错位置:result = app.evaluate(""" 这一行
报错信息:minium.framework.exception.MiniAppError: Unexpected token (8:9)
运行环境:minium 1.3.0, 调试基础库 2.29.1, 微信开发者工具 1.06.2301040 win32-x64
我尝试过:
- 更改evaluate中的参数:即执行app.evalute(“function(){return wx.env}”, sync=True),发现可以正常运行;
- 将evaluate中的app_function参数粘入console pannel运行:发现可以正常运行
- 更改调试环境:这一问题在IDE运行和真机调试(微信版本8.0.28, 基础库版本2.27.3, Android12)中都会出现
请问是什么原因?
解决了,evaluate似乎不支持传入函数参数的json的简便化,把回调函数写完整就可以正常运行:
app.evaluate("""function(){wx.preloadAssets({ data: [ { type: 'image', src:'https://news.buaa.edu.cn/dfiles/12596/images/logo.png', }, ], success: function(resp) { console.log('preloadAssets success', resp) }, fail: function(err) { console.log('preloadAssets fail', err) }, })}""", sync=True)