About liangyongfei

该作者尚未填入任何详情
So far liangyongfei has created 485 blog entries.

长按事件中重复执行代码,变量递增

接管touchStart touchEnd touchStart 中开始 调用setInterval 循环执行递增 touchEnd 清除递增! var Model = function(){ this.callParent(); this.test = justep.Bind.observable(0); }; Model.prototype.button1Touchstart = function(event){ var me = this; this.interval = setInterval(function(){ //开启定时器 me.test.set(me.test.get()+ 1 ); },1000); }; Model.prototype.button1Touchend [...]

data组件接管onCustom 事件调用BaasServer 实现查询保存

参考案例:/UI2/demo/acc_data/list.w data组件接管onCustomRefresh事件,就是自己接管数据的刷新 Model.prototype.accountDataCustomRefresh = function(event){ var data = event.source; Baas.sendRequest({ "url" : "/justep/account", "action" : "queryAccount", "params" : { "columns" : Baas.getDataColumns(data), "limit" : event.limit, "offset" : event.offset }, "success" : function(resultData) { var [...]

新增多行数据,id列数据库递增怎么办

1.一般的思路是,data组件 新增行的时候,去后端数据库查询,获取最大的id值!然后递增,新增行使用这个id 但是:如果多个用户同时新增数据!这个id值就不能唯一了! 2.如果保存的时候,再去后端查询数据,这样就保证了id数据的唯一性 但是:data组件要求,新增多行数据显示的时候,必须有id列的!如果多行数据没有id列!那么就不能正常显示,无法选中当前行(无法确定唯一的行) 解决方法: data新增的时候fID随便赋值就可以了!只要不冲突就行,真正保存的时候,设置fID不保存,让它数据库自增即可! 查询的时候再把fID查出来就可以了! 除非你新增的时候!其他关联的数据库表也存储了这个值!!那么就必须保证数据库新增时fID 是一致的! 否则直接赋值一个假值就行了! 保存设置不包含它 http://docs.wex5.com/wex5-server-question-list-2020

Android和ios 版本更新,同时发布资源,但是ios还没有审核通过怎么办?

重新打包编译资源后 生成的资源里面,有一个配置文件 appMetadata_in_server.json 是一个json结构的文件,部署的时候手动修改一下这个配置文件 中的appInfo  iosApp version 这个版本号改成旧的(上一次编译的版本)!,那么苹果暂时就不会提示更新了! 等审核通过以后,再手动修改它,改成新版本!就可以了! (注意:苹果打包版本更新的地址是:指定AppStore 的下载页面!需要用户自己下载安装)

list组件渲染完毕后执行js代码!

list组件只有一个事件是onAfterRender  ,list组件每行渲染完毕都会触发一次这个事件的! 如果想实现的逻辑是整个list渲染完毕后,再去执行,怎么办呢? 解决方法: 在onAfterRender  中 写一个判断条件 判断list中生成的dom节点 数量(比如li标签的个数)和data.coutn() 是否相等?? 如果相等,就说明list渲染完毕了! onAfterRender   事件中判断代码格式大约是: if($("li").length ==  data.coutn()){ //执行list渲染完成后的代码逻辑 }

模式1或模式2打包真机调试

真机调试的文档是参考:http://docs.wex5.com/android-and-ios-device-debugging/ 一般情况,模式3打包就可以真机调试了, 一些特殊情况下,需要模式1或者模式2打包进行真机调试 模式1打包的时候,默认不支持真机调试,需要修改一下配置 /Native/templates/advanced/platforms/android/AndroidManifest.xml <application>里加了一行这个配置 android:debuggable="true" 就可以进行真机调试了   cordova的说明文档有介绍:http://cordova.apache.org/docs/en/6.x/guide/next/index.html#page-toc-source

app中的音频播放

1.使用插件:cordova-plugin-media   参考http://docs.wex5.com/cordova-plugin-media/ 案例:/audio/mainActivity.w 2.使用audio 标签实现,比如w源码中 添加audio标签 <audio xid="bgMusic"> <source src="music.mp3" type="audio/mp3"></source> </audio> 或者 <audio xid="bgMusic" src="music.mp3" controls="controls"></audio> js中获取audio dom节点使用 js原生的方法播放音频 Model.prototype.button3Click = function(event){ var audio = this.getElementByXid("bgMusic"); //播放(继续播放) audio.play(); [...]