近來,微信小程序一直活躍在開發者的眼球中。不少開發者都投身微信小程序的開發中,而這些開發者,老是須要面對最後一道難題:如何以一種優雅的姿式來經過微信官方的審覈。本文基於幾天前提交審覈的一次總結,寫得有不當的地方,請各位大佬指正。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數字便可切換回正式版本。
雖然能夠依照此法避開審覈,但仍是建議開發的小程序是健康向上的,共同創造一個綠色的小程序環境,人人有責哈哈。