A 增加 四个文件管理 API wx.getSavedFileList、wx.getSavedFileInfo、wx.removeSavedFile、wx.openDocument 详情A 增加 四个数据管理 API wx.removeStorage、wx.removeStorageSync、wx.getStorageInfo、wx.getStorageInfoSync 详情A 新增 四个交互反馈 API wx.showToast、wx.showModal、wx.hideModal、wx.showActionSheet 详情A 新增 选择地理位置 API wx.chooseLocation 详情A 新增 获取图片信息 API wx.getImageInfo 详情A 新增 两个设备 API wx.getSystemInfoSync、wx.makePhoneCall 详情A 新增 绘图 API wx.canvasToTempFilePath 详情A 新增 音频媒体 API wx.createAudioContext 详情A 新增 开放能力 API wx.checkSession 详情A 新增 wx.navigateBack delta 参数,支持多层级返回 详情A 新增 wx.sendSocketMessage、wx.onSocketMessage 支持收发 ArrayBuffer 数据类型A 新增 getCurrentPages() 方法, 获取页面栈 详情A 新增 Page.onReachBottom() 方法,监听页面到达底部 详情A 新增 事件对象增加 changedTouches 列表,反应手指触摸位置的变化 详情A 新增 <textarea/> 组件 详情A 新增 <canvas/> 多点触摸 详情A 新增 <canvas/> disable-scroll 属性 详情A 新增 <image/> bindload 事件返回图片宽高 详情A 新增 <text/> 嵌套 <text/> 功能 详情A 新增 <video/> controls autoplay 属性 详情A 新增 <video/> 支持设置弹幕、发送弹幕 详情A 新增 <video/> 播放类事件和接口 详情A 新增 WXML wx:key 支持,提升列表渲染时性能 详情A 新增 WXML 关键字、数据路径计算 详情U 新增 app.json tabBar 属性 position 用于指定显示位置 详情F 修复 wx.navigateTo api 超过 5 个页面,调用失败无返回的问题U 修复 <navigator/> 设置 display: flex 失效的问题F 修复 <input/> text-align:center、text-align:right 不支持的问题F 修复 <input/> 聚焦时异常的问题F 修复 <image/> base64 图片显示的问题F 修复 动态节点更新导致表单组件重置问题F 修复 使用 rpx 单位部分手机出现边框显示不全的问题F 修复 不同页面中相同的 canvas-id 共享同一个绘图上下文的问题F 修复 page 里面的属性对象内的 function 失效的问题F 修复 wx.drawCanvas 在 canvas 宽高为 0 的情况下画不出来的问题F 修复 wx.request header 设置 'Content-Type' 异常的问题D 即将移除 App.prototype.getCurrentPage 详情D 即将移除组件: <toast/> <loading/> <action-sheet/> <modal/>D 即将移除 <audio/> action 属性
1可以分析它的源码学习这套框架破解方式:把相应的文件做个替换就行。 当前文件可破解版本:v0.10.102800 mac上: 找到开发工具的程序,右击“显示包内容”: Resources/app.nw/app/dist/components/create/createstep.js Resources/app.nw/app/dist/stores/projectStores.js Resources/app.nw/app/dist/weapp/appservice/asdebug.js Resources/app.nw/app/dist/common/assdk/storageSdk.js window上: 安装完后,一般是放在这个目录里:C:\Program Files (x86)\Tencent\微信web开发者工具 找到相应文件再替换: package.nw/app/dist/components/create/createstep.js package.nw/app/dist/stores/projectStores.js package.nw/app/dist/weapp/appservice/asdebug.js 破解的时候,把整个代码大概浏览了一遍,自己折腾了下。(因为之前写过react + flux的代码,所以对这个项目的结构非常熟悉。) 主要的修改,如果你有兴趣可以浏览下: 1、asdebug.js修改 (1)搜索“域名”两个字,找到类似域名校验出错等字眼的那一个function 把整个function内部的内容都注释掉,直接return true; 这个主要是为了去掉安全域名的限制 (2)搜索“URL 域名不合法,请在 mp 后台配置后,重启项目继续测试” 跟上面一样,把前面if改成if(false) 这个修改主要是为了去掉websocket的安全名限制 (3)搜索“__wxConfig.isTourist”,把它改成false 这个修改是为了去掉游客身份。 2、projectStores.js (1)搜索“setProjectConfig: function” 这个函数的定义 把“i = e.isTourist”(不一定是i和e,不同的js格式化工具可能会有不一样的结果)这一小段注释掉,把下方的第一个if(i) { ... }整块注释掉。 这一个用来判断是否是游客身份,是的话直接返回。但我们不想只是游客身份,所以这里我们不能让它返回,整个注释掉就行了。 (2)在上面这个函数从上往下找try catch,把找到的第一个整块注释掉 然后把它下方的第一个if改成if(true),if里的第一行var赋值语句的等号后面直接改成{Setting: {MaxLocalstorageSize: 10}},因为在dist/common/assdk/storageSdk.js里有对这个值的引用,如果这里没有设置这个MaxLocalstorageSize的话,wx.setStorage会保存失败,wx.setStorageSync会报错。 另外这里设置成if(true)是因为我们在创建项目时随便填appid,所以网络请求返回肯定是error,这里的JSON.parse结果在if里是通不过的。我们把这一整段注释掉,不去管网络返回的error。进if后会在本地存储新建项目的信息。 这个地方的修改比较复杂,截图如下:
3、createstep.js (1)搜索“当前开发者未绑定此 appid” 把第一个if及周边的东西都注释掉,只执行下一个if。 这个地方是创建的时候,返回用户信息的地方,上面说过我们创建时返回的肯定是error,所以这里自然也拿不到用户信息,反而是一个用户appId错误提示,所以这里我们动点手脚,把这个判断都注释掉,让它只执行用户信息返回的成功代码,同时我们创建一个假的用户信息object。 这个修改比较复杂,截图如下:
网络请求的接口,微信做了一些安全限制,要破解才能给任意地址发请求。websocket的接口也是一样。本项目的破解文件已经解决了这些问题。 另外,创建出来的demo项目中,调用wx.login是不能成功的,所以改了demo的代码,在app.js里直接给globalData.userInfo赋值即可。 init: function() {
this.globalData.userInfo = {
"nickName": "jason",
"avatarUrl": "http://wx.qlogo.cn/mmopen/icSHGibMIMB82jDEHibGFA1s6dhwMibWrQAPeRvT2w2y2rpZVM5l3BftVEr3rTgX4fXDlznnMmZY0zYtgkfFw7L3o9r0tTblGTxB/0",
"gender": 1,
"province": "广东",
"city": "深圳",
"country": "中国",
};
},
然后在onLaunch里调用一下init()就ok 几个问题说明 MaxRequestConcurrent报错的问题 这个在本项目的破解文件里已经直接覆盖了,不会报这个错了。 (修改:asdebug.js里,搜MaxRequestConcurrent,很简单,直接把它设置成固定数字即可) 页面切换时会出现route错误的问题 这个可能是开发工作自身的bug,用一段时间后就会这样,目前还没发现原因,不过解决这个问题很简单,关掉,重新再开就好了。 Failed to load resource: net::ERR_NAME_NOT_RESOLVED 这个问题gavinkwoe的项目中也说明了,主要是由于代理导致的,打开ide,菜单上选“动作”->“设置”,选直连就行
|