快捷搜索: 王者荣耀 脱发

3个方案,绕过微信小程序官方审核

描述

虽然绕过官方审核,是不推荐的行为,但是官方的做法有点难以接受。偶尔会碰见奇葩理由被拒绝。例如:类目不对、功能过于简单、涉及金融(其实没有)、涉及官方素材等等。之前小程序不多的时候,你总是求着我加入开发;现在小程序多了,就要求精益求精,鸡蛋里面挑骨头。

你说你辛辛苦苦写了一天的小程序,马上就要上线了,审核员直接来个理由,仅需3秒给你拒绝了,你就要整改。其实新小程序不会出现这种情况,一般是迭代了很多次,审核才会严格起来。

方法一

核心:wx.getAccountInfoSync() + wx.navigateTo() + 手动注释 优点:一次编写,长期使用 缺点:无

一个一劳永逸的方法,写几个你认为一定不会违规的页面,然后通过wx.getAccountInfoSync()来区分版本,会获取拿到develop(开发版),trial(体验版),release(正式版),根据不同的版本,跳转不同的页面,因为审核看的会是开发版。从而导致了你自己预览,也会跳转提前预留的页面,通过注释跳转的代码,解决这个问题,上传代码再放开,这个方案堪称完美,就前期工作量大些。

在app.js里面判断

onLaunch (options) {
          
   
    const accountInfo = wx.getAccountInfoSync(); 
    if(accountInfo.miniProgram.envVersion === develop){
          
   
    	// 跳转预留好的页面
    	wx.navigateTo() // 开发时,可以注释本行,方便自己预览
    }
 },

方法二

核心:wx.getAccountInfoSync()+ wx:if + 全局变量 优点:不影响整体,免服务器,一键式修改,不影响线上版本 缺点:无

我认为这个方案也比较完美,在程序加载的时候,直接拿到版本,然后赋值给全局变量,用的地方直接判断这个全局变量即可,然后用过wx:if进行区分。开发的时候,手动给全局变量的值改掉,方便自己预览,提交代码的时候再实时通过wx.getAccountInfoSync()获取,完美。

onLaunch (options) {
          
   
    const accountInfo = wx.getAccountInfoSync(); 
    //开发时,将这个写死,方便自己预览
    const isShow = accountInfo.miniProgram.envVersion === develop; 
    // 存储当前版本,也可以使用globalData
    wx.setStorageSync(isShow, isShow )
    // 使用页面,直接读取envVersion,然后判断
 },
<view wx:if="{
           
    {isShow}}">
  <text>审核员,未满18岁禁止访问!</text>
</view>

<view wx:else>
  <text>欢迎访问成人网站!</text>
</view>

方法三

核心:服务器 + wx:if 优点:免改代码 缺点:对影响线上版本,需要服务器,要求较高

服务器只是统称,你也可以写个API,也可以使用云开发通过数据库来存储,怎么方便怎么来,我们可以在后台配置一个关键字,然后小程序加载的时候读这个关键字,来决定是否显示某些组件,俗称“审核版本”,举个常见的栗子吧,如下:

写个json文件,比如config.json

然后就是请求这个文件,拿到网络配置,再定义成变量,跟上面就类似了

经验分享 程序员 微信小程序 职场和发展