使用微信js接口的方法 ,以調用相機爲例

 protected string GetTimeStamp_Str="";
        protected string nonceStr_Str = "";
        protected string signature_Str = "";
        protected void Page_Load(object sender, EventArgs e)
        {
            GetTimeStamp_Str = GetTimeStamp();
            //nonceStr_Str = new Guid().ToString("N");

            var GetTakenStr = HttpHelper.HttpGetConnectToServer("https://api.weixin.qq.com/cgi-bin/token", "grant_type=client_credential&appid=wx6596bfb9388cc63c&secret=eb0c0d643d4e7bd3a43b61fd1031a2f2");//get
            Taken_Model taken_Model=JsonHelper.DeserializeObject<Taken_Model>(GetTakenStr);

            var jsapi_ticket_Str = HttpHelper.HttpGetConnectToServer("https://api.weixin.qq.com/cgi-bin/ticket/getticket", "access_token=" + taken_Model.access_token + "&type=jsapi");//get
            Jsapi_Ticket jsapi_ticket = JsonHelper.DeserializeObject<Jsapi_Ticket>(jsapi_ticket_Str);


            TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            var tstem = GetTimeStamp_Str;// Convert.ToInt64(ts.TotalSeconds).ToString();
            var noncestr = "tianpeng";
            //var jsapi_ticket = "sM4AOVdWfPE4DxkXGEs8VF-YEiVh31f4b2Z4rz5E1kuduFEPIz0RgvSnRKebdULuK-yWvsNB_21vVh3IhyR1yg";
            var jmdata = "jsapi_ticket={0}&noncestr={1}&timestamp={2}&url={3}";
            jmdata = string.Format(jmdata, jsapi_ticket.ticket, noncestr, tstem, "http://hstwx.wisdom-gps.com:52539/SignUp/SignUp.aspx");
            signature_Str = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(jmdata, "sha1");
            nonceStr_Str = noncestr;

        }

        protected void btn_Login_Click(object sender, EventArgs e)
        {

        }

        public static string GetTimeStamp()
        {
            TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            return Convert.ToInt64(ts.TotalSeconds).ToString();
        }

    }
  

         public class Taken_Model
         {
             public string access_token { get; set; }
             public int expires_in { get; set; }
         }

         public class Jsapi_Ticket
         {
             public int errcode { get; set; }
             public string errmsg { get; set; }
             public string ticket { get; set; }
             public int expires_in { get; set; }
         }


前端的寫法

前端的寫法
<script>
            var GetTimeStamp_Str="<%=GetTimeStamp_Str%>";
            var nonceStr_Str ="<%=nonceStr_Str%>";
            var signature_Str = "<%=signature_Str%>";

            wx.config({
                debug: true, // 開啓調試模式,調用的全部api的返回值會在客戶端alert出來,若要查看傳入的參數,能夠在pc端打開,參數信息會經過log打出,僅在pc端時纔會打印。
                appId: 'wx6596bfb9388cc63c', // 必填,公衆號的惟一標識
                timestamp: GetTimeStamp_Str, // 必填,生成簽名的時間戳
                nonceStr: nonceStr_Str, // 必填,生成簽名的隨機串
                signature: signature_Str,// 必填,簽名,見附錄1
                jsApiList: ['chooseImage', 'previewImage'] // 必填,須要使用的JS接口列表,全部JS接口列表見附錄2
            });
            wx.ready(function(){

                // config信息驗證後會執行ready方法,全部接口調用都必須在config接口得到結果以後,config是一個客戶端的異步操做,因此若是須要在頁面加載時就調用相關接口,則須把相關接口放在ready函數中調用來確保正確執行。對於用戶觸發時才調用的接口,則能夠直接調用,不須要放在ready函數中。

            });
            wx.error(function(res){

                // config信息驗證失敗會執行error函數,如簽名過時致使驗證失敗,具體錯誤信息能夠打開config的debug模式查看,也能夠在返回的res參數中查看,對於SPA能夠在這裏更新簽名。

            });

          
            function aaaaa()
            {
                wx.chooseImage({
                    count: 1, // 默認9
                    sizeType: ['original', 'compressed'], // 能夠指定是原圖仍是壓縮圖,默認兩者都有
                    sourceType: ['album', 'camera'], // 能夠指定來源是相冊仍是相機,默認兩者都有
                    success: function (res) {
                        var localIds = res.localIds; // 返回選定照片的本地ID列表,localId能夠做爲img標籤的src屬性顯示圖片
                        alert("fsdfsfsd");
                    }
                });
            }
    </script>

若是前端

signature不合法的話 能夠在測試地址中比對http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign若是url不合法的話 在js安全域名裏面處理JS接口安全域名hstwx.wisdom-gps.com:52539  成功~~~~~(前端還要加個引用) 測試地址:http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index
相關文章
相關標籤/搜索