zoukankan      html  css  js  c++  java
  • 微信jsapi签名

    微信jsapi签名, 

    1,先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。这个安全域名不用写到指定的页面,写个大概的范围就行,写到1级或者2级

    2,引入jsapi ,jsapi分为两种,一种是http请求的,另一种是https的

    http://res.wx.qq.com/open/js/jweixin-1.0.0.js     --http的

    https://res.wx.qq.com/open/js/jweixin-1.0.0.js  --这个是https的

    3,写入js

    这是微信给的例子,自习看一下给的写的注释,头三个我们都能很容易的得到,但是第四个签名不是很容易,要绕个丸子

    wx.config({
        debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
        appId: '', // 必填,公众号的唯一标识
        timestamp: , // 必填,生成签名的时间戳
        nonceStr: '', // 必填,生成签名的随机串
        signature: '',// 必填,签名,见附录1
        jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
    });
    

    4,接下来我们看一下签名规则

    签名算法

    签名生成规则如下:

    参与签名的字段包括noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) 。对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。这里需要注意的是所有参数名均为小写字符。对string1作sha1加密,字段名和字段值都采用原始值,不进行URL 转义。

     ----------------jsapi_ticket 

    这里面有个jsapi_ticket 这个很尴尬,需要我们自己去请求 微信,请求路径如下

      string uri = string.Format(@"https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={0}&type=jsapi ", ReturnAccess_token());

      ReturnAccess_token(),这个是我获取TOKEN的方法,

    用这个连接去Get访问微信,就可以获取到JSAPI_TICKET了

    ---------------URL

    签名里有一项是URL就是我们当前使用的的页面

    接下来就是生成签名了,我是用的MVC做的,所以接下来给大家用MVC做演示

      

     ----------直接贴,生成签名的代码,可是代码太乱,直接上图,大家注意签名最后要使用 ToLower我忘写了....

    这个方法返回的是一个键值对,我将键值对直接存到ViewData中,在页面直接使用,接着上图

    OK 已经讲完了

    如果你觉得好那就请加我的QQ群

    ASP.NET鹰组 460845632

  • 相关阅读:
    h5唤起app
    app唤起的完美解决方案,及阻止浏览器的默认弹窗行为
    cdn
    函数声明和函数表达式的区别
    基础系列(7)—— 结构
    基础系列(4)—— C#装箱和拆箱
    重温软件工程——对软件工程的初步了解
    基础系列(9)—— 抽象方法和接口
    自学系列--git的基础简介
    设计模式之简单工厂模式
  • 原文地址:https://www.cnblogs.com/wangxianggong/p/5572289.html
Copyright © 2011-2022 走看看