Ön uç, paylaşımı gerçekleştirmek için WeChat platformunu gerçekleştiriyor

WeChat'in yükseltilmesiyle, WeChat üzerindeki bazı jssdk arayüzleri ancak imzalandıktan sonra kullanılabilir.Bugün, ön uçun jssdk arayüzünü nasıl çağırdığını ve nasıl imzalanacağını size açıklayacağım. Ve bazı arayüz konfigürasyonları var.

Öncelikle WeChat js-sdk'nin bazı temel tanıtımlarını açıklayacağım:

WeChat JS-SDK, WeChat genel platformu tarafından web geliştiricileri için sağlanan WeChat tabanlı bir web geliştirme araç kitidir.

WeChat JS-SDK kullanarak, web geliştiricileri WeChat'i cep telefonu sistemlerinin fotoğraf çekme, resim seçme, ses, konum vb. Yeteneklerini verimli bir şekilde kullanmak için kullanabilir ve WeChat'in paylaşma, tarama, kart kuponları ve ödeme gibi benzersiz yeteneklerini doğrudan kullanabilir. WeChat kullanıcılarına daha iyi bir web deneyimi sağlamak.

Bu sefer ana içerik: Anlar, arkadaşlar, qq, qq alanı ve diğer işlevlerle paylaşımın engellenmesi nasıl özelleştirilir.

JSSDK şu adımları kullanır:

Bir: Alan adını bağla

Önce WeChat genel platformunda oturum açın, "Resmi Hesap" a işlev ayarlarını girin ve "js arabirimi güvenlik etki alanı adını" girin. Fikir: 1. Resmi hesabınızın ihtiyacınız olan ilgili geliştirme izinlerine sahip olup olmadığını kontrol etmek için

2.js arabirim güvenlik etki alanı adı, projenizin yayınlandığı yerdir ve .txt dosyasını ön uç projenizin kök dizinine koymanız gerekir. Yapılandırma işlemi sırasında emin değilseniz, lütfen benimle iletişime geçin, cyh_nini

Şekil 1

şekil 2

iki, JS dosyalarını içe aktar

JS arayüzünü çağırması gereken sayfaya aşağıdaki JS dosyasını tanıtın (https desteği):

Sayfanızda https etkinse, https://res.wx.qq.com/open/js/jweixin-1.0.0.js eklemeniz gerektiğini lütfen unutmayın, aksi takdirde JSSDK'yi iOS9.0 veya daha yüksek sistemlerde başarılı bir şekilde kullanamazsınız.

resim 3

üç, Yapılandırma arabirimi aracılığıyla izinleri enjekte ederek yapılandırmayı doğrulayın

WeChat kaynak kodu yapılandırması şu şekilde tanıtıldı:

wx.config ({

hata ayıklama: true, // Hata ayıklama modunu açın, çağrılan tüm apilerin dönüş değeri istemci tarafında uyarı olacaktır.Gelen parametreleri görüntülemek istiyorsanız, bunu bilgisayar tarafında açabilirsiniz ve parametre bilgileri yalnızca bilgisayar tarafında, günlük aracılığıyla yazdırılır Yazdırılacak.

appId: '', // gerekli, resmi hesabın tek tanımlayıcısı

timestamp :, // Gerekli, imzayı oluşturmak için zaman damgası

nonceStr: '', // gerekli, rastgele imza dizisi oluştur

imza: '', // Gerekli, imza, bkz. ek 1

jsApiList: // Gerekli, kullanılacak JS arabirimlerinin listesi, tüm JS arabirimlerinin listesi için Ek 2'ye bakın

});

Dördüncü olarak, hazır arayüz aracılığıyla başarı veya başarısızlık doğrulamasını yönetin

wx.ready (function () {

// Konfigürasyon bilgileri doğrulandıktan sonra, hazır yöntemi çalıştırılacaktır.Tüm arayüz çağrıları, konfigürasyon arayüzü sonucu aldıktan sonra yapılmalıdır. Config, istemcinin asenkron bir işlemidir, bu nedenle sayfa yüklendiğinde ilgili arayüzü çağırmanız gerekirse, ilgili arayüzü koymalısınız. Doğru yürütmeyi sağlamak için hazır işlevinde çağrılır. Kullanıcı tarafından tetiklendiğinde çağrılan arayüz için hazır fonksiyonuna sokulmadan doğrudan çağrılabilir.

});

wx.error (function (res) {

// Yapılandırma bilgisi doğrulaması başarısız olursa hata işlevi çalıştırılır. İmzanın süresi dolarsa ve doğrulama başarısız olursa, belirli hata bilgileri yapılandırmanın hata ayıklama modunda veya döndürülen res parametresinde görüntülenebilir. SPA için imzayı buradan güncelleyebilirsiniz.

});

Şekil 4

Ön uç kodu tamamlandı, ancak bu kodları yazdığınızda, hataların raporlanmaya devam ettiğini göreceksiniz:

errMsg: config: geçersiz imza

WeChat'e göre aşağıdaki yöntemler kullanılmaktadır:

İmza algoritmasının doğru olduğunu onaylamak için, doğrulamak için sayfa aracını kullanabilirsiniz.

NonceStr in config (js'deki deve durumunda standart büyük S), zaman damgasının imzadaki karşılık gelen cestr olmayan ve zaman damgasıyla tutarlı olduğunu onaylayın.

URL'nin sayfanın tam url'si olduğunu doğrulayın (lütfen mevcut sayfa uyarısında (location.href.split ('#')) onaylayın), 'http (s): //' bölümü ve '? GET parametrelerinin 'sonrasındaki kısmı, ancak' # 'karmasından sonraki kısım.

Config'deki appid'in jsapi_ticket'i almak için kullanılan appid ile aynı olduğunu onaylayın.

Access_token ve jsapi_ticket'i önbelleğe aldığınızdan emin olun.

İmza için aldığınız URL'nin dinamik olarak elde edildiğinden emin olun Dinamik sayfalar için, lütfen örnek koddaki php uygulamasına bakın. İmza için url'yi arka uca iletmek için ajax aracılığıyla ön uçta statik bir html sayfasıysa, ön ucun '#' hash bölümünün bağlantısını kaldırmak için geçerli sayfayı almak için js kullanması gerekir (elde etmek için mevcut location.href.split ('#') ve encodeURIComponent gereklidir) , Çünkü sayfa paylaşıldıktan sonra WeChat istemcisi bağlantınızın sonuna başka parametreler ekleyecektir.Eğer mevcut bağlantı dinamik olarak elde edilmezse, paylaşılan sayfa imzalanamayacaktır.

Ama adımları takip ettim. İmza aracı da imzayı doğrular. 6'sının tamamı onaylandı ve geçti, ancak neyin yanlış gittiğini asla bilemiyorum.

Son olarak, url'nin imzayı elde etmek için kullanıldığını fark ettim, çünkü url kodlanmamış çünkü js-sdk arayüzü imzanızın doğru olup olmadığını doğruladığında url'yi kodluyor. Bu yüzden. Hiçbir şey söyleme, sadece koda git:

Şekil 5

Bu kod, dinamik olarak oluşturulan URL'yi arka plana iletmek ve arka planın ilgili imza algoritmasını oluşturup işlemesine izin vermek içindir.

Önemli hatırlatma:

Gün başına Token isteklerinde de bir sınır vardır. Günlük maksimum istek sayısı 2000'dir. Bu sayı aşılırsa, burada talep yapılamaz. Aşıldığında, resmi hesap yönetimi arka plan-geliştirme-arayüz izinleri-erişim_token işleminde sıfırlayabilirsiniz, ancak her ay Sadece 10 şans

Jetonun adresini görüntülemek için bir web hata ayıklama aracı vardır:

https://mp.weixin.qq.com/debug/cgi-bin/apiinfo?t=indextype=%E5%9F%BA%E7%A1%80%E6%94%AF%E6%8C%81form=% E8% 8E% B7% E5% 8F% 96access_token% E6% 8E% A5% E5% 8F% A3% 20 / jeton

Uygulamalı deneyimin eğlenceli ve pahalı olmayan Honor tablet 58 inçlik versiyonunu yorumlamak için güç kullanın
önceki
Gerçek atış deneyimini yaşamak için mağazaya çift hızlı T570.000 yuan büyük 7 koltuklu SUV
Sonraki
Sao konuşmasının zirvesi! Kral C, piliçleri yeneceğini ve İlk 20'nin bile seçilmeyeceğini söyledi! Netizen: Haklısın
DeepMind ekibi CASP kazandı: Protein yapısını tahmin etmek için AlphaFold'u kullanıyor
İki yönlendirici sanal yerel alan ağı oluşturabilir, bilmeniz gerekir
"Çelik düz erkek stilinden" kurtulun! Kızların sevdiği yüksek değerli TicWatch C2 deneyimi
Redis, önbelleğe almayı uygular, hangi fikirleri bilmelisiniz!
Konfor daha da ileri gidiyor, test sürüşü Dongfeng Citroen'in üçüncü nesil C5'i
RNG Bayan Takım Yarışması, Ming netizenleri en çok şaşırttı ve en utanç verici Karsa
Zhejiang Biyolojik Seçme Sınavı Soruları? Zhejiang Eğitim Sınav Enstitüsü yanıt verdi
QQ Super Member Hotel'de kalmak nasıl bir deneyimdir?
Bu ayrıcalıklı refah dalgası sadece gıdıklayıcıdır! CONVERSE ADDICT 2017 sonbahar yeni rengi çok dikkat çekici
"Qin Ming: Yaşam ve Ölümün Fısıldayan" filmi Ching Ming Festivali'ndeki dosyaları değiştiriyor, gerçek geç kalacak ama asla yok olmayacak
Güç performansı insanları mutlu ediyor, Roewe i6 manuel şanzımanı test edin
To Top