整个APP开发过程中遇到的问题及解决方案
数据采集
APP开发
浏览:602 次

开发过程和部分功能实现
1、 启动项目
Npm安装安装依赖关系
安装环境Cordova和Ionic CLI
离子服务启动项目
2、 关于包装
安装环境Android SDK
生成未签名的apk包ionic cordova build android--prod--release
生成密钥库文件keytool-genkey-v-keystore my release key keystore-alias alias_name-keyalg RSA-keysize 2048-validity 10000
签名(我目前使用第三方工具APKSign)
3、 关于开发过程
如果需要创建新页面,请使用离子g页面PageName命令创建组件和服务,这些组件和服务将自动添加到app.module中。
基本发展类似于vue。创建页面,引用您需要的组件或服务,然后进行开发。
使用离子提供的组分进行显影。如果您遇到垂直居中的问题,请注意重写样式是px(在整体更改为rem后不需要)
4、 关于布线

现在主页是主页。其他页面以推送模式进入,以弹出模式返回。localStorage中的menuClose变量控制主页是否显示菜单(默认情况下第一次不显示)
5、 关于服务
目前,该服务基本上只执行数据采集操作,返回的代码被判断为在页面中完成。稍后,您可以将判断代码作为公共函数写入服务中,然后只返回成功的数据。(待优化)
开发中遇到的问题
1、 启动页面和包装
解决启动页面长、屏幕白的问题:
在打包时使用离子cordova构建android——prod——release可以大大减少启动页面和打包后的体积。
增加启动静态页面的时间
对于真实机器的错误“连接到服务器失败”,解决方法如下:
初步估计,这个问题是由于网络不好导致无法加载第三方文件造成的。搜索文档基本上有两种解决方案,一种是延长加载时间
关于启动页面和图标
只需修改图标。png,启动png,然后运行离子资源。
2、 关于菜单栏
菜单栏打包为一个组件,菜单组件单独编写并挂在主页下。(起初,它挂在app.html下,然后发现了问题。当app.html未登录时,登录后获得的个人信息将不会再次加载,导致菜单栏中没有个人信息数据)
3、 关于父零部件和子零部件之间的数据传输

将数据从父级传输到子级
父页
子页@Input()orderItemData;
子组件将数据传输到父页面
子页面@Output()private childOutput=new EventEmitter();
父页(childOuter)=“getChildData($event)”
父页调用子组件方法
首先在组件上添加<;订单项目#orderItem><;/订单项目>
添加@ViewChildren('orderItem')orderItems;声明子组件
然后用这个。orderItems调用子组件中的方法
4、 下拉加载和绝对定位FIXED之间的冲突
当使用离子刷新内容实现下拉加载时,如果页面上同时存在绝对定位为FIXED的元素,则它们的定位将受到影响。解决方案:
修改滚动内容的转换属性,下拉加载模块将自动成为滚动内容区域。由于其变换属性的影响,绝对定位无效。然而,修改没有成功。
将绝对定位的元素放在离子脂肪中,这是一个有固定位置的官方容器,但您必须保留一个<button ion fab>按钮</button>,否则将报告错误。离子脚注也可以放在其中,以解决与下拉加载冲突的问题。只需注意z索引。
5、 无rem自适应导致的对齐问题,如垂直居中

因为离子的许多成分是rem自适应的,但我的项目由于时间原因没有选择rem。这会导致后续垂直定心出现问题。解决方案如下:
躲藏