مقدمة
يعني ما يسمى "رقم الإصدار الدلالي" أن الدلالات تنعكس في رقم الإصدار ، أو أن رقم الإصدار نفسه ذي معنى ولم يعد رقمًا عشوائيًا. توفر هذه المواصفات شرحًا صارمًا نسبيًا لمعنى كل رقم في رقم الإصدار. بالطبع ، لا يزال معظم المحتوى يتبع اتفاقيات الصناعة التي ذكرناها من قبل ، لذلك من السهل على المطورين الذين لديهم وعي بأرقام الإصدار قبول هذه المواصفات.
في تطوير الطرف الثالث لتطبيقات الأجهزة المحمولة ، نواجه في كثير من الأحيان بعض المشكلات التي تسبب الاختلافات أو دعم JS SDK أو JS API بسبب الإصدارات المختلفة. بالنسبة للواجهة الأمامية للهاتف المحمول ، في تطوير الجهات الخارجية الفعلية ، قد تكون هناك حاجة إلى بعض معالجة منطق الأعمال الخاصة بناءً على رقم إصدار التطبيق.
رقم الإصدار الدلالي
عادة ما يتم تعريف رقم الإصدار الدلالي العام على النحو التالي:
major_version_number.minor_version_number [.revision_number [.build_number]] رقم الإصدار الرئيسي. رقم Subversion [. رقم الإصدار المعدل [. رقم الإصدار المشترك]]]]
يتم استخدام المحدد بشكل عام.
طريقة مقارنة رقم الإصدار الدلالي
وبهذه الطريقة ، يمكننا مقارنة أرقام الإصدار ، إليك طريقة تقريبية:
/** * نسخ الإصدار versioncompare * param {string} currver الإصدار الحالي. * param {string} ترويج نسخة مقارنة. * return {boolean} false الإصدار الحالي أصغر من نسخة المقارنة التي تُرجع صحيحًا. * * استخدم * versionCompare ("6.3" ، "5.2.5") ؛ // خطأ شنيع. * versionCompare ("6.1" ، "6.1") ؛ // خطأ شنيع. * versionCompare ("6.1.5" ، "6.2") ؛ // حقيقي. */var versionCompare = function (currver ، propervever) {currver = currver || "0.0.0" ؛ الترويج = الترويج || "0.0.0" ؛ إذا (currver == prodationever) إرجاع خطأ ؛ var currverarr = currver.split (".") ؛ var properveverarr = propervever.split (".") ؛ var len = math.max (curverarr.length ، propervever.length) ؛ لـ (var i = 0 ؛ i <len ؛ i ++) {var proval = ~~ properveverarr [i] ، curval = ~~ curverarr [i] ؛ if (proval <curval) {return false ؛ } آخر إذا (proval> curval) {return true ؛ }} return false ؛} ؛كما أنه سهل الاستخدام للغاية:
versionCompare ("6.3" ، "5.2.5") ؛ // false.versioncompare ("6.1" ، "6.1") ؛ // false.versioncompare ("6.1.5" ، "6.2") ؛ // حقيقي.ما تحتاج إلى ملاحظته هنا هو أنه وفقًا لمنطق العمل الخاص بي ، فإن الإصدار الحالي أصغر من إصدار المقارنة الذي يرجع إلى True. يمكنك تعديل الرمز وفقًا لمنطق عملك.
على سبيل المثال ، إذا كنا نريد الحصول على رقم إصدار WeChat ، يمكننا كتابته مثل هذا:
var wechatinfo = navigator.useragent.match (/micromessenger // ([/d/.200+)/ i) ؛ var currver = wechatinfo [1] ؛ if (versionCompare (currver ، "6.2.5")) {// منطق عملك}}يلاحظ:
يتم نقل الوقت ، هذه الطريقة ليست سوى طريقة شائعة. لا يوفر طريقة لمقارنة الإصدار الرئيسي أو الإصدار الفرعي فقط ، بل تقارن رقم الإصدار النهائي بالكامل.
لخص
ما سبق هو المحتوى الكامل لهذه المقالة. آمل أن يكون بعض المساعدة لدراسة أو عمل الجميع. إذا كان لديك أي أسئلة ، فيمكنك ترك رسالة للتواصل.