تلخص هذه المقالة استخدام WeChat JSSDK ومشاركتها معك للرجوع إليها. المحتوى المحدد كما يلي
1. ربط اسم المجال
2. introduce ملف JS
قدم ملف JS التالي على الصفحة التي تحتاج إلى استدعاء واجهة JS (دعم https): http://res.wx.qq.com/open/js/jweixin-1.0.0.js
يرجى ملاحظة أنه إذا تم تمكين صفحتك HTTPS ، فتأكد من تقديم https://res.wx.qq.com/open/js/jweixin-1.0.0.js ، وإلا فلن تتمكن من استخدام JSSDK بنجاح في iOS9.0 أو أكثر من الأنظمة.
3. تحقق من التكوين من خلال واجهة التكوين
هذه الخطوة هي الحصول على سلسلة من المعلمات عن طريق إرسال طلب إلى الخلفية باستخدام عنوان URL الحالي. أي أن الخلفية ستستخدم عنوان URL الخاص بي للتحقق منه على WeChat. يتم استخدام الأشياء التي يجب ملاحظتها هنا للتحقق من طريقة كتابة عنوان URL الحالي.
دع url = location.href.split ('#') [0] ؛
تأكد من كتابة الموقف أعلاه. خلاف ذلك ، سيتم تنفيذ توقيع وقت التكوين غير صالح.
تأكد من أن عنوان URL هو عنوان URL الكامل للصفحة (يرجى التأكيد في تنبيه الصفحة الحالي (الموقع. "جزء GET Parameter بعد ذلك ، ولكنه لا يتضمن الجزء بعد"#".
تأكد من الحصول على عنوان URL الذي تعتاد عليه للتوقيع. يمكنك الرجوع إلى طريقة تنفيذ PHP في رمز المثال للصفحة الديناميكية. إذا تم تمرير الصفحة الثابتة لـ HTML إلى الواجهة الخلفية إلى توقيع عنوان URL عبر Ajax على الواجهة الأمامية ، فيجب أن تستخدم الواجهة الأمامية JS للحصول على الصفحة الحالية وإزالة الرابط إلى "#'' part (يمكنك الحصول على الموقع. إذا لم يتم الحصول على الرابط الحالي ديناميكيًا ، فسوف يفشل توقيع الصفحة بعد المشاركة.
انتبه إلى الديناميات هنا ، لا تقصها بنفسك ، وترميز مكون Uricomponent في نفس الوقت.
$ .ajax ({type: 'get' ، url: url ، dataType: 'jsonp'}). ثم ((data) => {wx.config ({debug: true ، // قم بتشغيل وضع التصحيح ، وسيتم تنبيه قيم الإرجاع في جميع اتفاقية المطبوعات المطبوعة على printed. جانب الكمبيوتر الشخصي.4. تم التحقق بنجاح من خلال معالجة الواجهة الجاهزة
بعد التحقق من معلومات التكوين ، سيتم تنفيذ الطريقة الجاهزة. يجب الحصول على جميع مكالمات الواجهة بعد أن تحصل واجهة التكوين على النتيجة. التكوين هو عملية غير متزامنة للعميل. لذلك ، إذا كنت بحاجة إلى الاتصال بالواجهة ذات الصلة عند تحميل الصفحة ، فيجب عليك وضع الواجهة ذات الصلة في الوظيفة الجاهزة لضمان التنفيذ الصحيح. بالنسبة للواجهات التي لا تسمى إلا عند تشغيل المستخدم ، يمكن استدعاؤها مباشرة دون وضعها في الوظيفة الجاهزة.
wx.ready (() => {// ALERT ('Ready') ؛ //$('#ONMENMENUSHAREAPSAGES''MN). النقرات إلى الأصدقاء) ؛ ) يلغي المشاركة // التنبيه ("إلغاء") ؛ }) ؛5. فشل التحقق من خلال واجهة الخطأ
سيتم تنفيذ وظيفة الخطأ في حالة فشل معلومات التكوين. إذا انتهت صلاحية التوقيع ، فسوف يفشل التحقق. للحصول على رسائل خطأ محددة ، يمكنك فتح وضع التصحيح للتكوين ، أو يمكنك عرضه في معلمة RES التي تم إرجاعها.
wx.error ((res) => {Alert (res.errmsg) ؛})6. الواجهة الأساسية
• شارك في واجهة لحظات
Wx.OnmenushAretimeline ({title: '' ، // share title link: '' ، // share link imgurl: '' ، // share icon success: function () {// callback eventive actized exeries}}}• واجهات لمشاركتها مع الأصدقاء
Wx.OnmenShareAppMessage ({title: '' ، // مشاركة العنوان desc: '' ، // مشاركة الوصف الرابط: '' ، // مشاركة الرابط Imgurl: '' ، // مشاركة نوع الأيقونة: '' ، // مشاركة نوع ، الموسيقى أو الرابط ، لا تملأ بيانات الارتباط الافتراضي: '' ، // ، // وظيفة رد الاتصال التي تم تنفيذها بعد أن تؤكد المستخدم المشاركة} ، إلغاء: الدالة () {// تم تنفيذ وظيفة رد الاتصال بعد أن تلغي المستخدم المشاركة}}) ؛إذا كنت بحاجة إلى إضافة محتوى تم الحصول عليه من خلال طلب AJAX غير المتزامن إلى المحتوى المشترك هنا ، فيجب استدعاء واجهة المشاركة مرة أخرى في الوظيفة الناجحة بعد إرجاع طلب AJAX ، ولكن يجب وضع واجهة المشاركة في وظيفة WX.READY ولا يمكن استدعاؤها بشكل منفصل. نظرًا لأن عملية مشاركة العميل هي عملية متزامنة ، فإن البيانات التي تستخدم AJAX لم يتم إرجاعها بعد.
7. تبدو هذه الخطوات بسيطة ، ولكن هناك حتماً العديد من المشكلات أثناء تصحيح الأخطاء ، لأن واجهة JSSDK لا تزال لديها العديد من القيود. صعدت بطريق الخطأ على الحفرة.
8. أخيرًا ، قمت بتغليف هذه الواجهة .
"استخدم صارمًا" ؛ دع wxDefaultOptions = {debug: true ، appid: '' ، timestamp: 0 ، noncestr: '' ، signature: '' ، jsapilist: ['checkjsapi ،' onMenusharetimeline '،' onMenushareapsageSage "، onMenushareqq’ ، 'onMenushaImeL. "showmenuitems" ، 'Hideallnonbasemenuitems' ، 'Showallnonbasemenuitems' ، 'showallnonbasemenuitems' ، 'showallnonbasemenuitems' ، 'translatevoice' ، 'startrecord' ، 'stopRecord ،' on onrecordend ، "UploadVoice" ، "DownloadVoice" ، "CyriptImage" ، "PreviewImage" ، "UploadImage" ، "DownloadImage" ، "GetNetworktype" ، "OpenLocation" ، "getLocation" ، "HideOptInuu" ، "addcard" ، "choosecard" ، "opencard"] url = EncodeUricomponent (url) ؛ دع الوعد = وعد جديد ((حل ، رفض) => {$ .ajax ({type: 'get' ، url: 'http: // xxx/xxx؟ param ='+url ، dataType: 'jsonp'}) .Then ((data) => {let wxparam = data ؛ console.log "wxeb5c3f4a03b880 '؛ Resolve () ؛ إرجاع وعد ؛ {// وظيفة رد الاتصال param.failcalback () تم تنفيذها بعد إلغاء المستخدم المشاركة ؛ } ، النجاح: function (res) {param.sucallback () ؛ Wx.Ready (() => {// مشاركة لحظات الأسهم Usesocial (param) ؛ sharetofriends (param) ؛}) العنوان: '' ، desc: '' ، الرابط: '' ، imgurl: '' ، sucallback: func ، failcalback: func} module.exports = {wxDefaultOptions ، // قم بتغيير التكوين callwx ،تم تجميع هذه المقالة في "ملخص لمهارات تطوير JavaScript WeChat" ، والجميع مرحب بهم للتعلم والقراءة.
أود أن أوصي برمجيًا لبرنامج WeChat Mini الذي يهتم للغاية: "تم تجميع" WeChat Mini Program Development Tutorial "بعناية من قبل محرر الجميع ، وآمل أن أعجبك.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.