近來,許多開發者都投身微信小程式的開發中,而這些開發者,總是需要面對最後一道難題:如何以一種優雅的姿勢來通過微信官方的審核。本文基於幾天前提交審核的一次總結,寫得有不當的地方,請各位大佬指正。
先上一下微信小程式平台常見拒絕情形的說明檔。由於我提交的小程式中包含了「分享群組」的按鈕,所以審核未通過,未通過的原因如下:
3.2.1 小程式的頁面內容中,存在誘導類別行為,包括但不限於誘導分享、誘導添加、誘導關注公眾號、誘導下載等,要求用戶分享、添加、關注或下載後才可操作的程序,含有明示或暗示用戶分享的文案、圖片、按鈕、浮層、彈窗等的小程序,透過利益誘惑誘導用戶分享、傳播的小程序,用誇張言語來脅迫、引誘用戶分享的小程序,強製或誘導用戶添加小程序的,都將會被拒絕;
辛苦開發的小程序,還未曾面世就要胎死腹中了嗎?簡直不能忍!
曾經聽過一句話:「既然我感動不了你那麼我就選擇放過我自己。」那麼,既然我們改變不了官方規範的約束,那就避免和他的衝突。所以解決想法大致如下:
第一步,在小程式的入口檔案新增一個判斷機制,控制小程式的版本。
第二步,寫一個簡易的待提交審核版本。
第三步,等待審核通過之後,再透過第一步設定的判斷機制切換回正式版本。
接下來就具體說說是怎麼操作的。
1、首先,我建立了一個QuickStart項目,如下圖:
#2、接下來就是在入口檔案也就是index. wxml中加入一個判斷機制,來控制小程式的版本。具體程式碼如下:
<!--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的值,具體程式碼如下:
data: { motto: 'Hello World', userInfo: {}, hasUserInfo: false, canIUse: wx.canIUse('button.open-type.getUserInfo'), version: 0 }
運行的結果如下圖:
3、看到這裡,其實第二步寫一個簡易的待提交審核版本也已經做完了。但這只是測試所用,實際操作的待提交審核版本不可以太過簡單,我建議可以將自己以前做過的一個簡易版本放進來即可。
4、控製版本切換。透過程式碼可以看出來,版本的切換取決於version的值,所以,可以在待提交審核版本的介面中添加一個version字段,從而達到動態切換版本的需求。只要待提交審核版本能夠審核通過,再把version欄位改為非0數字即可切換回正式版本。
雖然可以依照此法避開審核,但還是建議開發的小程式是健康向上的,共同創造一個綠色的小程式環境,人人有責哈哈。
相關推薦:
##實例詳解微信小程式上傳圖片到伺服器
本機如何建立微信小程式伺服器