微信---启动开发模式

最近开始学习微信的开发模式,于是想以此为契机,开始自己的写博客旅程。

学习微信第一个是我头疼的难题是选择订阅号还是服务号。我看了很多的区别的介绍,不过都大同小异,看不出差别,如果有了解的比较深的可以给我留言一下,嘻嘻。

如果只是个人的开发的话应该只能选择订阅号,服务号需要通过企业的什么盖章验证之类的。而要获取自定义菜单权限,订阅号则需要微信认证(收费300/次)或者微博认证(公众账号订阅用户达500人),这两个最后我都没有做,至于具体需不需要后来边做边看呗。

要成为微信应用开发者,首先要做的就是开启微信的开发者模式,在登陆微信平台之后,可以在界面上找到开发者中心,点击进入后,可以看到界面上的服务器配置,而我们要做的就是成功开启这个服务器配置。而在这个服务器配置中,我们可以看到几个四个需要我们填选的项目栏,而这四个项目栏的填选,可以参看 开发者文档中的新手接入的接入指南,剩下来的就是验证了。

微信平台服务器并不支持开发者代码的发布,只能通过第三平台来实现,这也是我们需要验证的原因之一。在叙述验证的相关事宜之前,我想先提一下微信的消息交互流程,这可以帮助我们更加详细的了解微信服务器和第三平台的关系。

公众平台的消息交互流程如下:

1)用户通过微信客户端向公众账号发送消息,消息首先会被微信服务器接收到。

2)微信服务期收到消息后,会根据开发者在接口配置信息中填写的URL,将消息通过HTTP POST方式传递到公众账号服务器。

3)公众账号服务器接收到消息后,会按照业务逻辑进行相应的处理。

4)微信服务器将公众账号服务器返回的消息通过公众账号发送给用户。

由上面消息交互的流程可以发现,真正的业务处理代码其实是发布在第三平台上的,而验证过程中token的作用相当于秘钥,为微信服务器和公众账号服务器之间的信息传递开辟一条通道。而微信服务器上需要的URL正是第三平台上代码所处的location。

微信上面有关于验证的PHP代码,这里我使用的是Java

public static boolean checkSign(String signature,String timestamp,String nonce){
          String[] arr = new String[] {token,timestamp,nonce};
          Arrays.sort(arr);
          String connect = arr[0].concat(arr[1]).concat(arr[2]);
          String check = null;
          try{
              MessageDigest md = MessageDigest.getInstance("SHA-1");
              byte[] digest = md.digest(connect.toString().getByte());
              String check = byteToStr(digest);//byteToStr是一个将字节数组转换成十六进制字符串的一个方法
          }catch(NoSuchAlgorithmException e){
              e.printStackTrace();
          }
          return check != null?check.equals(signature.toUpperCase()):false;
    }

下面是关于将字节数组转换成十六进制字符串的代码

public class byteToString{
    private static String byteToStr(byte[] byteArray) {
		String strDigest = "";
		for(int i = 0;i
   
   
    
    >> 4) & 0x0F];
        str1[1] = Digit[mByte & 0x0F];
        String aim = new String(str1);
	    return aim;
    }
}

   
   
ps.第三平台有两种选择,新浪和百度,BAE2.0不收费,不过已经不支持代码发布了,而BAE3.0要收费。新浪虽然也要收费,但是只要申请了实名认证和开发者认证之后,基本就是不收费的了。所以我现在使用了是新浪的SAE。至于具体的在新浪上发布代码的过程,百度一下应该就有了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值