1.背景
使用github静态页面iOS企业应用程序分发平台来构建和自定义域名配置
以前,该公司选择Dandelion进行应用程序分发,但是我最近登录并要求进行人脸身份验证,这使我非常恶心,而且封闭测试版的一个版本每天只能下载10次,因此我决定构建一个我自己的平台
2.环境要求
服务器必须可以通过https访问
3.建立
3.1,index.html
这很简单。首先,只要html页面具有指向manifest.plist配置文件的标记。
测试下载
点击我下载iOS版本
3.2,manifest.plist
将manifest.plist,test.ipa,icon1.png,icon2.png放置在创建的应用程序目录下
由于没有用于uniapp打包的manifest.plist文件,因此您需要自己创建和配置它
项目
资产
类
软件包
网址
https://www.test.com/app/test.ipa
类
显示图像
网址
https://www.test.com/app/icon1.png
类
全尺寸图片
网址
https://www.test.com/app/icon2.png
元数据
束标识符
包装名称
捆绑版本
版本号
类
软件
标题
客户端移动
最后,使用iPhone打开下载页面链接进行安装
使用条件编译将flexible.js引入main.js,从而可以实现H5适应,同时确保将我们现有的项目无缝升级到uni框架。当然,在页面js上动态设置的px需要由我们自己衡量是否需要适应,并且我们可以使用灵活的自定义全局函数来转换rem。其他小程序的px转换规则保持不变。
支撑单向数据流特征
当我们反复将组件的某些属性设置为相同的值时,数据将不会同步到视图层。这会导致数据和视图显示之间不匹配。这时,我们需要手动同步组件状态。当组件的内部状态更改时,将在外部触发事件,并将新状态作为参数传递,以便可以同步组件数据。当组件更改时,子组件也可以更新视图。子组件:$ emit('事件名称','data');
父组件:@event name=“处理事件”
生命周期
首先,我们需要明确几个概念,应用程序生命周期,页面生命周期和组件生命周期:
应用程序生命周期是项目启动的过程,主要在App.vue中声明,包括以下内容:
在onLanch中,我们可以获取启动参数,包括场景等。对于其他人,我们可以根据需要处理自己的逻辑。
页面生命周期每个页面都有一个单独的生命周期。我们经常使用onLoad来获取页面参数。当然,我们可以自己封装一层页面组件,然后将页面参数绑定到当前页面实例$ query以确保相同的vue一致的开发经验。 OnReady替换了vue的已挂载,您此时可以访问页面实例和视图结构。
组件的生命周期不同于页面的生命周期,没有onShow,onLoad,但是支持,创建了vue的生命周期等。
跨终端注意
尽管该框架提供了跨终端功能,但是每个平台的性能仍然有些不一致。有时,我们需要调整自身,以消除平台差异并确保一致的开发。以下列出了共同的差异,并提供了开发时我们需要注意的参考解决方案:
页面和组件的数据声明是该方法返回一个对象,以确保正确销毁数据。
该开发采用vue语法开发方法,模板数据绑定和事件监视。
建议对头部导航栏使用自定义方法。 mescroll-uni版本用于下拉刷新。体验比较好,可以定制样式以确保跨终端开发和一致的性能。
文件名或文件夹名中不允许使用@符号。 Canvas统一添加id和canvas-id,v-if和v-for不适用于标签,必要时使用块或模板。
图像资源使用绝对路径,而背景图像使用〜@/static的绝对地址。
目前,不支持跨终端的v-html模板语法,因此请尽可能在H5端使用条件编译。
当前,该测试可以使用过滤器和模板来使用H5和微信小程序中的自定义功能。
当组件中使用嵌套在插槽中的其他组件时,不支持V-for。暂时不支持动态组件和异步组件。不支持自定义组件上的本机事件。不建议直接绑定到样式,类,保持活动状态,过渡等。使用v-show。
当微信中的v-for在事件中使用item传递参数时,该项目无法访问,但可以通过索引传递。目前,它已被正式标记为错误,可以通过索引曲线临时实现。