我的 ionicIonicionic

ionic2实战-开发微信公众号

2017-06-19  本文已影响2838人  昵称已被使用_

微信的各种号

服务号,订阅号,企业号这三个号的配置和开发文档都是一样的.只是这三个号的拥有能力不一样,如服务号每个月只能推送三条消息.订阅号可以每天推送一条消息.更多不同看这里
小程序是微信新出的开发平台.开发需要用微信定义的语言规范,配置也和以上三个号差异大.这里不多说.文档可以看这里

微信开放平台是什么鬼?假如你公司有服务号也有小程序, 现在想要服务号和小程序有关系就要把服务号和小程序绑定在同一个微信开放平台帐号上
小明用他的微信登录你公司的服务号和小程序获取的OpenID(微信用户id)是不一样的.如果服务号和小程序都需要绑定手机号码,就需要小明绑定两次.
既然是同一个公司的产品,就应该区分出是同一个用户,这样同一个用户的资料就可以在不同的产品中共享.
当把服务号和小程序都绑定在一个微信开放平台账号下,就能获取到小明的UnionID.这个ID在服务号和小程序上获取到的值是一样的

如果你用a@xxx.com邮箱申请了服务号,就不能用它申请其他号了
如果你用b@xxx.com邮箱申请了小程序帐号,现在公司要开发第二个小程序.那就需要用c@xxx.com邮箱再申请一个小程序帐号
微信开放平台,小程序等帐号可能需要微信认证.如果需要认证.每次认证费用是300元.如果有你公司有两个小程序需要认证,那你就乖乖交600元

微信公众号开发

1.公众号开发:公众号有发送消息,设置菜单等功能.这些功能都可以在公众号帐号中设置,也可以通过调用微信的接口用代码开发实现.由于运营公众号的人基本没有开发能力,现在公众号的设置功能已经很全面.没必要通过开发实现这些功能
2.公众号网页开发:公众号一般有许多菜单,有时候点击菜单需要跳转到一个网页.这个网页相当一个移动端web应用,需要完全自主开发.我们用ionic也就是开发这个网页应用

1.调用微信授权.获取用户信息
2.调用微信js-sdk.实现拍照,定位,扫一扫等js-sdk提供的硬件功能

1.文档地址链接如果失效,请自行前往微信公众平台查看
2.需要熟读的文档如下图

开发环境准备

用微信扫描二维码即可生成测试帐号.如下图会看到appID和appsecret,这两个字符串用于我们的后台服务器请求微信的服务器.


在命令行使用ipconfig查看本机ip地址,如下图我的ip是88.128.18.144


设置JS接口安全域名,如下图填写ip+端口.由于ionic项目默认启动端口是8100,为了方便我这里配置的端口也是8100.注意:不能以http,www开头,也不能以/结尾

如下图,页面滚动条往下拉,还要修改一个地方.

ionic代码准备

本demo只提供ionic微信公众号基础开发功能和微信JsSdk调用demo,更多demo请查看ionic2_tabs

后台说明


    @ApiOperation(value = "获取jssdk配置")
    @PostMapping("/jsConfig")
    public ResultBean<WxJsapiSignature> jsConfig(@ApiParam(value = "页面完整url,js安全域名", required = true) @RequestBody String url) {
        WxMpInMemoryConfigStorage config = new WxMpInMemoryConfigStorage();
        config.setAppId("wx8e82d2ea44552544");
        config.setSecret("51e019a9bc09b4a46fb852bfab64d67e");
        WxMpService wxMpService = new WxMpServiceImpl();
        wxMpService.setWxMpConfigStorage(config);
        try {
            WxJsapiSignature wxJsapiSignature = wxMpService.createJsapiSignature(url);
            return ResultBean.success(wxJsapiSignature);
        } catch (WxErrorException e) {
            e.printStackTrace();
        }
        throw new BusinessException("配置生成失败");
    }

微信真机调试

在微信开发工具上调试JsSdk功能有限,如扫一扫,添加照片功能都是模拟

常见问题

点击返回按钮会退出ionic微信应用

这个问题是因为ionic是单页面应用.默认就是只有一个页面,在微信上点击返回就退出了
解决这个问题要使用ionic3提供的@IonicPage()注解,使用了@IonicPage()的组件,可以使用字符串跳转页面.如 this.navCtrl.push('字符串');

使用域名调试访问很慢

ionic是单页应用,单页应用其中一个缺点就是首屏加载文件大,导致加载慢.
如果你觉得用域名调试加载慢,那就使用npm run build --prod压缩代码.压缩后的代码在www目录下
用tomcat作为服务器访问压缩后的代码.第一步修改tomcat启动端口为8100,第二步修改tomcat默认启动路径为ionic项目www目录绝对路径.如何使用和配置tomcat?看Tomcat使用教程

如何发布ionic微信公众号项目

1.使用npm run build --prod压缩代码,压缩后的代码在www目录下
2.以生产环境用tomcat服务器为例.把整个www目录下的文件拷贝到tomcat目录下.如webapps目录或ROOT目录.Tomcat-简易使用教程
3.真机微信访问tomcat应用发布地址即可

项目发布到了正式环境有bug,怎么调试

用微信开发工具访问正式环境地址进行调试

另外一个同事也想在他的电脑上调试

方式1:修改JS接口安全域名和网页授权回调页面域名为他的电脑ip,并且他的微信要关注测试号二维码
方式2:他自己开通一个新的测试帐号.注意一定要让后台修改appIDappsecret为他新申请的

上一篇 下一篇

猜你喜欢

热点阅读