2018-08-28 14:56:02 qq_41114603 阅读数 1069
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27809 人正在学习 去看看 秦子恒

微信小程序开发踩坑日志

图片问题

图片过大导致小程序直接崩溃

因为是第一次做小程序项目;按平常的思路做页面,在开发工具上没有丝毫问题,进度是突飞猛进;但是回过头来用真机调试的时候就被泼冷水了,一进程序就秒蹦;研究了半天才发现是图片太大,占用资源太多;后面后端服务器做了一个静态图片处理,类似阿里云OSS对象储存,通过参数来控制获取图片的尺寸大小;

图片的移动、旋转和缩放

这个问题是我第一次开发小程序遇到的最大的问题;整整花了三天时间才解决;首先是实现的逻辑有点复杂,网上的demo也很少,没办法,自己摸索了一天才在开发工具上实现了基本功能;但是到了真机调试的时候又出现了问题,延迟很严重,关于这个问题,我会在一下篇博客中详细说明;

wx.request()

complete回调函数执行时机问题

代码执行顺序有时候会严重影响用户体验;比如项目中请求数据时显示loading的图标,请求完成后不管失败还是成功都要把loading图标隐藏,但是请求成功后如果需要页面跳转的话,就会造成页面已经跳转了,complete()里面隐藏图标的方法还没执行,到下一个页面就关不掉了;没办法,后面老老实实在success和fail里面都加上了wx.hideLoading();

获取用户信息

获取用户权限问题

做的时电商项目,所以用户的信息以及地址这些权限肯定会涉及,wx.getUserInfo()在小程序第一次运行的时候会弹窗提示用户是否允许程序获取权限,但是如果用户点了拒绝,再执行wx.getUserInfo()就没有反应了,微信开发文档提供了引导用户授权,这就要配合wx.getSetting()一起使用了;通过wx.getSetting()获取用户授权信息,再判断是否显示点击提示授权的按钮;这样就能解决用户取消授权时不能再次弹窗提示授权的问题;获取用户地址权限的问题也是同样的解决办法

2016-01-31 12:37:19 Augus3344 阅读数 1949
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27809 人正在学习 去看看 秦子恒

  上篇的博客实现了本地调试微信网站,确实在开发效率上大大提高,但是呢,还有一点美中不足的地方。就是我通过手机打开网页,没法对网页进行调试。即使用电脑版微信打开,也无法调试。怎么办呢?发现了这个:


  大家只需点击如上图位置的进入,把自己的微信号绑定在公众平台下,然后下载一个客户端即可。


  这样我们就能在pc上模拟微信打开网页了


  是不是非常的方便呢?只怪自己发现的太晚,不然可以节约更多的开发时间。

2019-01-24 11:44:29 wenxingchen 阅读数 6712
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27809 人正在学习 去看看 秦子恒

由于小程序的火爆,于是去开源中国接了个私活,开发一个小程序。于是开始学习微信小程序开发文档,下载微信开发者工具,进行开发了。开发过程中需要调试,开始只是打日志或者断言,觉得很不方便,希望跟IDEA一样的调试器,于是摸索如下:

第一步:打断点,我们必须在我们想要它停下来的地方打上调试断点,点击微信开发者工具的左侧的“调试”tab,然后选择中间窗口中的”Sources”Tab,在Sources页中点开”Top”根节点,层层打开,找到自己想要调试的js文件,一般是打那种.js后面带[sm],如index.js[sm],非index.js,当然这里之后想修改内容不能在”调试”模式下修改,而要转到”编辑”模式,之前我老容易犯这个错误,打开index.js[sm]文件后,点击左边的行上的数字,就会由灰色背景变成蓝色背景,这样断点就打好了,(如果不想要了,也可以点击就会取消)如下图所示:

 

第二步:运行,首先点击编译上面的那个运行小图标(或者快捷键ctrl+b),然后操作到你想要的那个界面或者触发某个动作,程序自动会跑到断点处代码,如下图所示:

 

第三步:单步调试,按调试器窗口(debugger)的向下箭头(step into nextfunction call),一步步的可以往下调试,如果想跳到下一个断点,就按调试器窗口的类似于播放的小按钮,英文叫resume script execution,快捷键为F8或者Ctrl+\,如下图所示

 

如果想看调试中变量的运行值怎么办?有许多办法,这里以查看上个界面传来的options变量值为例

办法1:让鼠标指针放在变量上,他会有提示框,框内就是变量值,如下图所示

 

办法2:使用console.log(options);打印出来,在console窗口可以查看,如下图所示

 

方法3:在调试器窗口,点开Scope标签,然后再点开相应变量,如下图所示

 

如果我们的断点过多或者不想它们调试了,怎么让它们失效呢?

办法就是点击调试器窗口中的图标,英文叫deactive breakpoints(或者快捷键:Ctrl+F8)

2016-09-16 11:14:55 FJeKin 阅读数 1639
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27809 人正在学习 去看看 秦子恒

前言

相信通过上篇文章环境搭配之后(http://blog.csdn.net/fjekin/article/details/52550266),大家都会迫不及待地去跟微信后台对接开发,但是想必都会遇到一个苦逼的问题:每次代码都要部署到公网服务器,微信才能响应,更坑的是回馈详细内容、报错日志开发者不能看到,什么都没有,怎么调试啊,下面进入正题,有点扯了,莫怪闭嘴

ngrok

网上大部分关于ngrok映射都是大同小异,更重要的已经不适用了。
下载地址:https://ngrok.com/(翻墙),当然CSDN也能搜索到,能不能用就不清楚了
打开命令行窗口,跳转到ngrok安装路径:(映射之前,确保本地服务器Tomcat已经开启

执行ngrok authtoken token,这里的token需要开发者去ngrok官网注册一个然后替换掉,很方便的。

第二步,ngrok http 80,回车执行。
Tomcat安装默认访问端口号为8080,因为微信只支持80端口,笔者考虑到这点就把Tomcat端口改成80,这样直接输入:127.0.0.1也能访问。



出现以上说明映射成功,通过http://b1932122.ngrok.io和https://b1932122.ngrok.io都能成功访问本地Tomcat服务器,其他人也可以通过该地址访问到你本地。注意:ngrok映射成功之后,命令行窗口不能关闭,不然地址会失效
这里面还存在一个问题,就是下次操作之后映射地址会改变,那样微信对应的url又要更换,有点小麻烦,当然,网上说执行ngrok.cfg之后就能统一,但是笔者执行:ngrok -config ngrok.cfg -subdomain jekin 80,会报错,查询ngrok help命令压根没有这种命令,这个自己去探索吧,弄出来记得留言分享一下,哈哈
附上慕课网映射和开发的一些教程:http://www.imooc.com/video/7225

微信URL和Token

拿到映射公网地址之后,配置url和token,url就是公网地址,后缀是本地工程名+servlet;token开发者随便填写,但是要和本地工程里面的token一致。注意:本地工程要先执行一次,微信才能访问到响应回馈信息


总结

这是开发中相关jar下载地址:http://www.java2s.com/Code/Jar/b/Catalogb.htm,里面还有很多学习视频教程,值得学习。微信开发框架:https://github.com/sword-org/wechat4j。时间和篇幅问题,不考虑再讲了。还有份微信应用开发PDF文档,在CSDN能够搜索到,后面我都会把资料上传到群里面,进群留言:拿干货。有问题,请留言,谢谢!

2016-11-12 13:33:22 u012421719 阅读数 5000
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27809 人正在学习 去看看 秦子恒

原文地址:http://www.wxapp-union.com/portal.php?mod=view&aid=359

本文由本站halfyawn原创:感谢原创者;如有疑问,请在评论内回复

还是先把问题列出来,让问题来驱动探索:

微信小程序开发工具的数据,配置,日志等目录在哪儿? 怎么找?

首先分析了一下源码,日志目录应该同NW.JS的应用目录相关,,,查查查,,一直查到NW.JS的C++源码,搞得太复杂,大概知道位置,但还是不确切.
决定不往这条线找,换另一条路: 
把日志文件修改输出到我指定目录,再把原来目录输出出来.

修改了这个文件,其实只修改了一句代码.其它代码作了些命名重构和格式化处理,看起来好看些.//app/dist/common/log/log.js


function init() {
    var _log, fs = require('fs'),
        log = require('log'),
        path = require('path'),
        dirConfig = require('../../config/dirConfig.js'),
        // logPath = dirConfig.WeappLog,
        logPath = 'D:/develop/wxapplet_devtool/log/', //dxb20161111 为方便,这儿暂时写死
        a = 10;
    if (global.isDev || process.execPath.match('nw.exe') ||
        process.execPath.match('nwjs.app'))
        _log = console;
    else {
        var n = JSON.parse(localStorage.logFiles || '[]'),
            date = new Date,
            logName = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() +
            '-' + date.getHours() + '-' + date.getMinutes() + '-' + date.getMilliseconds() +
            '.log',
            logFilename = path.join(logPath, logName);
        if (n.length > a) {
            var p = n.shift();
            fs.unlink(p, function() {})
        }
        n.push(logFilename), localStorage.setItem('logFiles', JSON.stringify(n)),
            _log = new log('info', fs.createWriteStream(logFilename))
    }
    _exports = _log
}
var _exports;
init(), module.exports = _exports;

然后就用它找找我想需要的东西吧,,比如说,,之前说的日志与配置文件夹不好找....我就用日志文件把它输出来...:


//app/dist/utils/tools.js 约40行处,(位置与变量名可能不一样,我手工重构过)
        getAppConfig: function() {
            var dataPath = nw.App.getDataPath(),
                configPath = path.join(dataPath, '..', 'config.json'),
                appCfg = {
                    isDev: !!process.execPath.match('nw.exe') ||
                        !!process.execPath.match('nwjs.app')
                },
                hasConfig = fs.existsSync(configPath);
            log.info('[MY DEBUG]dataPath=' + dataPath); //加上这么一句.. 

好了,现在打开微信小程序工具一运行..看见有日志在指定目录生成了...我知道答案了:

C:\Users\(这儿是WINDOWS登录用户名)\AppData\Local\微信web开发者工具\User Data
以下为几个目录:
基本的数据目录
C:\Users\(这儿是WINDOWS登录用户名)\AppData\Local\微信web开发者工具\User Data

日志目录
C:\Users\(这儿是WINDOWS登录用户名)\AppData\Local\微信web开发者工具\User Data\WeappLog

项目列表
C:\Users\(这儿是WINDOWS登录用户名)\AppData\Local\微信web开发者工具\User Data\WeappProject
内容是JSON文件,,,可以文本编辑或者程序处理JSON格式..

开发环境中小程序运行存储的数据
C:\Users\(这儿是WINDOWS登录用户名)\AppData\Local\微信web开发者工具\User Data\WeappStorage


........
其它目录有兴趣的朋友自己研究吧...
没有更多推荐了,返回首页