微信小程序審覈不經過的解決方法

前言

近來,微信小程序一直活躍在開發者的眼球中。不少開發者都投身微信小程序的開發中,而這些開發者,老是須要面對最後一道難題:如何以一種優雅的姿式來經過微信官方的審覈。本文基於幾天前提交審覈的一次總結,寫得有不當的地方,請各位大佬指正。html

問題描述

先上一下微信小程序平臺常見拒絕情形的說明文件。因爲我提交的小程序中包含了「分享羣」的按鈕,因此審覈未經過,未經過的緣由以下:小程序

3.2.1 小程序的頁面內容中,存在誘導類行爲,包括但不限於誘導分享、誘導添加、誘導關注公衆號、誘導下載等,要求用戶分享、添加、關注或下載後纔可操做的程序,含有明示或暗示用戶分享的文案、圖片、按鈕、浮層、彈窗等的小程序,經過利益誘惑誘導用戶分享、傳播的小程序,用誇張言語來脅迫、引誘用戶分享的小程序,強制或誘導用戶添加小程序的,都將會被拒絕;

辛辛苦苦開發的小程序,還不曾面世就要胎死腹中了嗎?簡直不能忍!微信小程序

解決方案

曾經聽過一句話:「既然我感動不了你那麼我就選擇放過我本身。」那麼,既然咱們改變不了官方規範的約束,那就避免和他的衝突。因此解決思路大體以下:微信

  • 第一步,在小程序的入口文件添加一個判斷機制,控制小程序的版本。
  • 第二步,編寫一個簡易的待提交審覈版本。
  • 第三步,等待審覈經過以後,再經過第一步設置的判斷機制切換回正式版本。

接下來就具體說說是怎麼操做的。測試

一、首先,我建立了一個QuickStart項目,以下圖:
項目預覽圖ui

二、接下來就是在入口文件也就是index.wxml中添加一個判斷機制,來控制小程序的版本。具體代碼以下:spa

<!--index.wxml-->
<view class="" wx:if="{{ version == '0'}}" wx:key>
  <!--此處爲小程序第二入口,放的是能正常經過審覈的簡單代碼-->
  <text>hello</text>
</view>
<view class="" wx:else>
  <!--此處爲小程序第一入口,放的是正式上線後的代碼,也就是提交後通不過審覈的代碼-->
  <view class="container">
    <view class="userinfo">
      <button wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 獲取頭像暱稱 </button>
      <block wx:else>
        <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" background-size="cover"></image>
        <text class="userinfo-nickname">{{userInfo.nickName}}</text>
      </block>
    </view>
    <view class="usermotto">
      <text class="user-motto">{{motto}}</text>
    </view>
  </view>
</view>

接着就是在index.js中設置version的值,具體代碼以下:debug

data: {
    motto: 'Hello World',
    userInfo: {},
    hasUserInfo: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    version: 0
  }

運行的結果以下圖:
第二入口code

三、看到這裏,其實第二步編寫一個簡易的待提交審覈版本也已經作完了。可是這個只是測試所用,實際操做的待提交審覈版本不能夠太過簡單,我建議能夠將本身之前作過的一個簡易版本放進來便可。xml

四、控制版本切換。經過代碼能夠看出來,版本的切換取決於version的值,因此,能夠在待提交審覈版本的接口中添加一個version字段,從而達到動態切換版本的需求。只要待提交審覈版本可以審覈經過,再把version字段改成非0數字便可切換回正式版本。

結語

雖然能夠依照此法避開審覈,但仍是建議開發的小程序是健康向上的,共同創造一個綠色的小程序環境,人人有責哈哈。

相關文章
相關標籤/搜索