首页 > 其他分享 >uniapp项目实践总结(二十二)分包优化和游客模式

uniapp项目实践总结(二十二)分包优化和游客模式

时间:2023-09-25 20:44:58浏览次数:46  
标签:二十二 uniapp 登录 游客 模式 vistor 分包 mp

导语:这篇主要介绍应用分包和游客模式相关的内容。

目录

  • 应用分包
  • 游客模式

应用分包

微信对于小程序的打包压缩后的代码体积是有限制的,网页和 APP 也可以适用分包功能,因此需要进行分包添加以及分包优化。

分包添加

pages.json文件中添加分包的信息。例如:有一个名叫user的分包,里面有一个文件是index.vue,那么分包配置就是:

{
  "pages": [
    {
      "path": "pages/index/index",
      "style": {
        "navigationBarTitleText": "首页"
      }
    }
  ],
  "subPackages": [
    {
      "root": "user",
      "pages": [
        {
          "path": "index",
          "style": {
            "navigationBarTitleText": "分包首页"
          }
        }
      ]
    }
  ]
}

配置完成后该文件的访问地址就是/user/index,其中的user是在根目录下存放的。

分包优化

添加配置

分包优化的方法是在manifest.json文件中对应的平台添加以下配置:

例如:mp-weixin平台下添加分包优化。

{
  "mp-weixin": {
    "optimization": {
      "subPackages": true
    }
  }
}

注意事项

  • 目前只支持mp-weixinmp-qqmp-baidump-toutiaomp-kuaishou的分包优化;
  • 分包目录内放置的静态资源不会被打包到主包中,也不可在主包中使用;
  • 当某个 js 仅被一个分包引用时,该 js 会被打包到该分包内,否则仍打到主包(即被主包引用,或被超过 1 个分包引用);
  • 若某个自定义组件仅被一个分包引用时,且未放入到分包内,编译时会输出提示信息;

微信小程序

目前微信小程序分包大小有以下限制:

  • 整个小程序所有分包大小不超过 20M;
  • 单个分包/主包大小不能超过 2M;

游客模式

在一些平台,比如微信小程序和苹果 ios 应用商店,上架的应用一定要提供游客模式才可以进行审核通过。

如何实现游客模式呢,下面就来简单实现一下。

服务端配置

可以通过动态配置来打开或关闭游客模式。

例如:默认开启游客模式。

{
  "vistor": true
}

客户端配置

客户端根据服务端的配置来设置是否开启游客模式。

逻辑分析

  • 开启游客模式后,启动应用就应该可以进入到应用程序的主页面,然后可以随意游览和使用,当遇到需要登录才能访问的地方,再跳转到登录页面;
  • 关闭游客模式后,启动应用后需要先登录账号,然后才可以访问应用内的页面或者使用应用提供的服务和功能;

设置缓存

启动应用获取服务端配置后可以设置缓存数据:

// 接口获取到的数据
let config = {
  vistor: true,
};
// 存入本地
uni.setStorage("vistor", config.vistor);

获取缓存

在要访问的页面触发需要登录才能使用的功能之前,先判断是否开启了游客模式,如开启再提示并跳转登录。

// 获取本地游客模式
let vistor = uni.getStorage("vistor");
// 获取接口,如返回401,则需要登录
let login = true;
// 游客模式已开启并且需要登录则跳转登录界面
if (vistor && login) {
  uni.navigateTo({
    url: "/pages/login",
  });
}

最后

以上就是分包优化和游客模式的主要内容,有不足之处,请多多指正。

标签:二十二,uniapp,登录,游客,模式,vistor,分包,mp
From: https://www.cnblogs.com/guanqiweb/p/17728799.html

相关文章

  • uniapp 小程序生成erweima
    下载uqrcode.js文件https://download.csdn.net/download/weixin_46162592/88215531?spm=1001.2014.3001.5503下载好后,将文件夹放置common文件中,这个放置位置看你们自己需求,一般是common里面。importuQRCodefrom'@/common/uqrcode.js'html<template><view><canvas......
  • 详谈怎样配置微信小程序的分包以解决体积过大问题(转载)
     一.文件结构和工具功能1.小程序编译的文件结构非常必要推荐了解小程序文件结构,对于稍大的项目,对于包的精简会起到柳暗花明又一村的效果。众所周知,微信小程序分为“主包”和“分包”模块,每个包不得超过2M最多分10个包共20M。而微信小程序的文件结构,只有主包和分包: 因此,我......
  • uniapp,微信小程序确认收货组件的使用
    直接上代码//拉起确认收货组件if(wx.openBusinessView){wx.openBusinessView({businessType:'weappOrderConfirm',extraData:{//merchant_id:'1230000109',//用户交易商户号//merchant_trade_no:"1234323JKHDFE1243252",//商户......
  • uniapp上拉加载更多
    <template><viewclass="container"><viewv-for="(item,index)invideoList":key="index"><labelstyle="display:block;width:100%;height:40px;background-color:saddlebrow......
  • 每日打卡 周五 九月二十二日
    今天又上英语课,快要四级考试了,得抓紧学习英语,下午完课后,看了一会儿英语单词,主要是翻译有问题,以前没有做过的题型也会一直是难,主要是想不词语的意思可以那样用。其实主要功课就是背单词,现在词汇积累的少,出现都不认识,在着就是听听力,真的是要很好的训练了。......
  • uniapp项目实践总结(二十)URLScheme 协议知识总结
    导语:在日常开发过程中,我们经常可以碰到很多的调起某个应用,打开唤醒某个APP,链式启动App等场景,背后就涉及到了URLScheme协议的相关知识,下面就简单介绍一下。目录简介常见URLScheme跳转方法实战演练案例展示简介URLScheme是一个可以让APP之间互相跳转的协议,每......
  • 2023-09-22 uniapp之canvas调用api【uni.canvasToTempFilePath】报错返回:canvasToTemp
    canvasToTempFilePath:失败-失败画布为空一般的解决方案就是查看uni.canvasToTempFilePath的传参是否正确,一个是canvasId必须正确,另一个就是第二个参数为this;但事情显示没那么简单,这二者我都有填写,却仍旧报这个错,我把canvasid换成别的,最后我想起了一件事情,就是canvas为空是因为......
  • 九月二十二日
    将数据结构学了一下回文数用栈和双向链表的方式都实现了一下#include<iostream>usingnamespacestd;typedefstruct{chardata[101];inttop;}SqStack;voidInitStack(SqStack&S){S.top=-1;}voidPush(SqStack&S,chare){S.data[++S.top]=e......
  • uniapp 发布APP时怎么打dev和prod包?
    在UniApp中,您可以使用不同的配置文件来构建不同的开发(dev)和生产(prod)包。这些配置文件用于指定不同环境下的变量、插件、配置等信息。通常,UniApp使用process.env.NODE_ENV变量来确定当前环境是开发还是生产。以下是一般的步骤来创建和发布UniApp的开发和生产包:1.创建配置文件:首先,您......
  • uniapp上传excel文件
    1.前端使用插件:https://uniapp.dcloud.net.cn/component/uniui/uni-file-picker.html<uni-file-pickerv-model="fileName"file-extname="xls,xlsx"limit="1"file-mediatype="all"title="请上传Excel文件&q......