2017-05-15 19:01:51 u014294325 阅读数 2186
  • 微信支付开发-微信公众号开发12-微信开发php

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

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

要做微信接口首先要有一个微信开放平台账号 绑定APP得到AppID和AppSecret
对Android开发者需在开发者平台配置 包名和签名 并在程序中配置AppID
而IOS开发者需要在开发者平台配置Bundle ID在程序中配置AppID和AppSecret

不同于Android用包名和签名两个参数决定应用的唯一性 IOS是用Bundle ID决定应用的唯一性

用个不准确但容易懂的说法: Android的包名相当于IOS的应用名称 以及 Android的签名相当于IOS的证书

在Android中 允许APP名称一样的存在 但不允许包名一样的存在 在IOS中不允许应用名称一样的APP存在,Android应用的应用名称只相当于IOS应用的Display Name

Android应用的包名和签名都要在开放平台绑定由微信管制
所以微信验证Android应用时只需配置AppID即可 包名和签名都在微信服务端 可以检查

而IOS应用的名称和证书都由苹果官方管制的
所以微信验证IOS应用时需要多配置一项AppSecret,AppID是不变且唯一的 AppSecret是可变的,必要时可以在微信开发平台重置AppSecret,两者就像账号密码一样,账号不可变且唯一 密码可变

这里写图片描述

2019-12-28 09:52:19 banglei123 阅读数 60
  • 微信支付开发-微信公众号开发12-微信开发php

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

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

【转成uni-app原因】

    项目中遇到一个需求在微信小程序中无法实现。由于小程序中的限制太多,所以尝试把当前开发的微信小程序 转成 uni-app,再通过uni-app把前端代码打包成app从而解决问题。

【遇到的问题】

     查看uni-app文档发现 在生命周期,函数未知,data数据赋值,时间绑定,判断循环指令等地方都存在差异。尝试手动转写是可行的,效率太低。

【解决方案】

     百度找到开源转写工具 miniprogram-to-uniapp 可实现微信小程序转成uni-app项目。

     具体可参考 文章 有对此工具的详细讲解。

【步骤】

 

       第一步:在命令行里,运行【 npm install miniprogram-to-uniapp -g 】进行安装,因为这个包是工具,要求全局都能使用,         所以需要-g进行全局安装。

 

       第二步: 继续在命令行里,运行【 wtu -V 】,执行结果如下:

        显示版本,说明已经安装成功了。(wtu -> 取自wx to uni之意,后面都用这个全局命令)

第三步:在命令行里,输入【wtu -i "你的小程序项目路径" -o "输出目录,可不填"】,如:【wtu -i "E:\zpWork\Project_self\miniprogram-to-uniapp\test\test-wx-to-uni"】 ,回车后即可以在源项目同及目录得到一个后缀为_uni的目录,即转换成功。

2018-09-03 09:48:11 i13738612458 阅读数 512
  • 微信支付开发-微信公众号开发12-微信开发php

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

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

解决难点

JS-SDK需要向服务端获取签名,且获取签名中需要的参数包括所在页面的网址,但由于单页应用的路由特殊,其中涉及到的iOS和Android的微信客户端浏览器内核的差异性导致的兼容问题

JS-SDK签名

官网所述的是

所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需要调用一次,对于变化url的SPA的web app可在每次url变化时进行调用

vue中路由history和hash两种模式;在history模式下,理想的设计方案是,当进入到需要用到JS-SDK组件时,获取以下当前url(也就是通过location.href.split('# “)[0]获得到的地址)传递到服务端进行签名,应该就没问题了,但是IOS获取的URL并不是调用微信JS的时候所在页面的地址,而是进入到网站第一个页面的地址。

请观察如下表格:

路由对应的URL地址

注意history模式下的IOS设备坑点

浅坑 - 微信分享

如果使用hash模式,分享出去的地址,微信会自动处理掉#后边的部分,会干扰对hash的正常解析,从而影响页面跳转。

例如我的分享链接为

var shareUrl = 'https://www.xxx.com/#/product?id=7'

安卓显示正常

var shareUrl = 'https://www.xxx.com/#/product?id=7'

但是在IOS中,页面的URl后的值被截取掉了,页面因为无法获取值而无法显示

var shareUrl = 'https://www.xxx.com/?from=timeline#/product?id=7'

解决方案

  • 检测分享页是否有场景值,有就干掉重新加载页面
  • static文件夹下新建一个中间页,中间页过滤掉没用的URL参数,再跳回分享页
2019-10-19 17:54:28 yunzhihailian 阅读数 56
  • 微信支付开发-微信公众号开发12-微信开发php

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

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

开发APP还是小程序?初创企业该如何抉择?现在微信小程序上线已有两年多的时间的,而APP上线的时间要比小程序早很多,因此许多初创企业在还发APP还是开发小程序之间难以抉择,今天小编给大家对比一下APP与小程序之间的差异。

首先,开发成本差异

相对于APP,小程序的开发成本要便宜些。由于小程序是基于微信平台进行开发的,小程序不需要做手机适配,微信框架已经解决了适配问题;而APP则需要完成安卓和苹果app软件的开发,因些小程序的开发成本要低于APP,从开发成本来看,小程序更胜一筹的。
在这里插入图片描述

其次,用户体验差异

现在的APP和小程序,在界面上基本是一样的,操作流程上没有什么不同,而且微信框架对h5进行了精简和优化,因此在浏览上的体验同app也并无太大差异,但是小程序在游戏、音视频、文件管理等方面存在先天的缺陷,没有缓存,无法下载到本地,不像APP适用于全场景。APP在消息推送方面也有优势。在这方面小编认为APP略胜一筹。

另外,运营方式差异

微信最大的优势是社交,通过社交可以给小程序引入强大的流量动力。而且小程序的入口多大50几个,并且是完全免费的。小程序可以在多个场景进行营销,而且现在小程序现在竞争还不激烈,越早进入越能快速占领市场。

而APP是上架到各个应用市场,苹果的appstore审核还比较严格,上架的时间成本较高。并且相比于小程序,APP需要先下载才能使用,如果app较大,用户下载的欲望就比较低,现在appstore对刷榜行为处罚趋严,一经发现即可下架,虽然增加了市场的公平性,但是初创企业的app还是很难被用户发现。因此在运营上,小程序完胜APP。

最后,还有迭代更新差异

因为小程序是基于微信框架,因此迭代非常便利,直接在微信开发者工具上提交后,1个工作日就能通过审核。而APP的迭代就麻烦一些,审核的时间也略久。所以小程序的维护成本更低,迭代更便捷。

综上所述,app和小程序各有优缺,没有绝对的第一,只有最适合的。而且现在越来越多的企业同时开发app和小程序,因为两者可以共用一个服务器端,但可以确定的是,未来属于移动互联网。

这些就需要企业要从自身产品的角度考虑是适合在小程序上应用,还是需要借助App实现需求。

从另外一个层面上来看,微信团队对小程序的优化程度决定了小程序的未来是否能否媲美App,如果微信团队最终定义的小程序满足了用户的心理预期,解决了App的诸多短板,让广大用户更加愿意使用小程序去代替使用App,从而赢得用户的口碑,那么小程序的取代之路就不会太遥远。

因此,微信团队是否能够和参与者一起打造一个符合用户心理预期的小程序生态,才是决定小程序和App在未来市场中的主导地位的关键。

2016-11-19 20:32:04 anda0109 阅读数 19071
  • 微信支付开发-微信公众号开发12-微信开发php

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

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


我参加CSDN博客之星评选啦,感谢大家前往投票支持!
投票地址:http://blog.csdn.net/vote/list.html?keyword=anda0109#search

微信小程序框架为开发者提供了一系列的组件和API接口。

组件主要完成小程序的视图部分,例如文字、图片显示。API主要完成逻辑功能,例如网络请求、数据存储、音视频播放控制,以及微信开放的微信登录、微信支付等功能。

组件

官方文档:https://mp.weixin.qq.com/debug/wxadoc/dev/component/

对于开发文档,个人建议先了解其整体框架,了解其提供了哪些组件,再联想到这些组件会用在哪些产品的哪些功能。对于接口也是一样,整体了解,而不需要细看。

熟悉了文档的结构,那么在开发的过程中,开发到相应功能的时候就可以直接找到自己需要用到的地方,在使用的过程中理解和掌握,这样是我认为更有效率的学习方法。

小程序提供了如下组件:
这里写图片描述

API

官方文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/

同样我们先了解微信API的结构:
这里写图片描述

了解了文档结构后,我们就可以开始实战了。从简单的开始,当你需要实现某个界面或功能时,能够快速定位到应该看哪部分文档。

实例分析

下面以豆瓣电影APP为例,分析如何去查找文档并快速开发。

这里写图片描述

通过前面对小程序框架的了解,我们很容易就可以分析出如何实现豆瓣电影APP这样一个小程序。

底部导航

底部导航的实现,在前面框架了解是在小程序配置文件实现的,设置tabBar属性。对于其具体属性的设置可以快速定位到文档:https://mp.weixin.qq.com/debug/wxadoc/dev/framework/config.html
其实现代码如下:

"tabBar": {
    "backgroundColor": "#363636",
    "color":"#666",
    "selectedColor":"#fff",
    "list": [{
      "pagePath": "pages/index/index",
      "text": "正在热映",
      "iconPath": "res/images/film.png",
      "selectedIconPath": "res/images/film.png"
    },
    {
      "pagePath": "pages/recommend/recommend",
      "text": "热门推荐",
      "iconPath": "res/images/hot.png",
      "selectedIconPath": "res/images/hot.png"
    },
    {
      "pagePath": "pages/search/search",
      "text": "影片搜索",
      "iconPath": "res/images/search.png",
      "selectedIconPath": "res/images/search.png"
    }
    ]
  }

顶部Banner实现

Banner可以自动左右滑动的组件,通过前面的了解,我们可以很快了解到使用swiper组件。查找方法:组件—视图容器—swiper找到文档,然后复制官方实例:

<swiper indicator-dots="{{indicatorDots}}"
  autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">
  <block wx:for="{{imgUrls}}">
    <swiper-item>
      <image src="{{item}}" class="slide-image" width="355" height="150"/>
    </swiper-item>
  </block>
</swiper>

Page({
  data: {
    imgUrls: [      'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg',      'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg',      'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg'
    ],
    indicatorDots: false,
    autoplay: false,
    interval: 5000,
    duration: 1000
  }
})

查看效果出现后,再根据自己的需要对照文档修改属性实现自己想要的功能即可。

电影展示部分

电影展示部分包含了图片、文字等,而每部影片的介绍又是一组,不断循环重复。
因此我们会用到视图容器view、媒体组件image、基础内容组件text等。这些都是基本的组件,熟悉了文档结构后,在组件目录下面查找对应组件用法即可。

网络请求

小程序界面显示的电影信息等内容,均是来自网络。豆瓣电影开放了API接口,接口说明页面:https://developers.douban.com/wiki/?title=movie_v2

通过网络接口获取数据需要用到网络请求,当然利用js也可以实现,但我们前面了解了微信提供了网络方面的接口,API—网络—网络请求,通过这个接口可以进行网络数据的请求。

示例代码:

var url="https://api.douban.com/v2/movie/in_theaters";
    wx.request({
      url: url,
      method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
      header: {
        'Content-Type':'application/json'//返回json格式,必须要加
      }, // 设置请求的 header
      success: function(res){
        console.log(res.data.subjects);
        that.setData({
          movies:res.data.subjects
        });
      }
    })

上面接口即可获取到豆瓣电影的正在上映电影信息。使用起来也还是很方便的,支持http和https(调试模式下)。

数据交互

有了界面,有了数据。那么如何将数据显示到界面,以及如何将界面数据提供给逻辑层,这时我们可以找到数据绑定部分的文档。
示例代码:

<view> {{ message }} </view>

Page({
  data: {
    message: 'Hello MINA!'
  }
})

这样很容易就了解了如何将逻辑层的数据传给视图层。

那么如何将视图层的操作传给逻辑层呢?小程序的组件提供了事件,框架—视图层—WXML—事件,找到相应的文档:
https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxml/event.html
下面是简单的事件使用的实例:

<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>

Page({
  tapName: function(event) {
    console.log(event)
  }
})

视图层通过event将相关数据传输给逻辑层,进行处理。

这些问题解决了,相信这个小程序也完成的八九不离十,对小程序的框架了解也会更深入一步。相信这种方式比纯粹的看文档、逐个组件的来学习更有吸引力,也更容易深入理解。

欢迎大家观看我的小程序开发视频教程《微信小程序开发入门与实战》:
课程地址:http://edu.csdn.net/course/detail/3370

没有更多推荐了,返回首页