Commit 9b8bf0b5 by 杨子

更新扫码

parent 60b49bce
<?xml version='1.0' encoding='utf-8'?>
<widget id="io.ionic.starter" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>MyApp</name>
<description>An awesome Ionic/Cordova app.</description>
<author email="hi@ionicframework.com" href="http://ionicframework.com/">Ionic Framework Team</author>
<content src="index.html" />
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<preference name="ScrollEnabled" value="false" />
<preference name="android-minSdkVersion" value="19" />
<preference name="BackupWebStorage" value="none" />
<preference name="SplashMaintainAspectRatio" value="true" />
<preference name="FadeSplashScreenDuration" value="300" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="3000" />
<platform name="android">
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
<application android:networkSecurityConfig="@xml/network_security_config" />
</edit-config>
<resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
<allow-intent href="market:*" />
<icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
<icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
<icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
<icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
<icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
<icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
<splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
<splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
<splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
<splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
<splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
<splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
<splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
<splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
<splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
<splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
<splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
<splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<icon height="57" src="resources/ios/icon/icon.png" width="57" />
<icon height="114" src="resources/ios/icon/icon@2x.png" width="114" />
<icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
<icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" />
<icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" />
<icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
<icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" />
<icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
<icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" />
<icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" />
<icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
<icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" />
<icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
<icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" />
<icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" />
<icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
<icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" />
<icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" />
<icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
<splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
<splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
<splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
<splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
<splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
<splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" />
<splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
<splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
<splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" />
<splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
<splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
<splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
<splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" />
</platform>
<plugin name="cordova-plugin-whitelist" spec="1.3.3" />
<plugin name="cordova-plugin-statusbar" spec="2.4.2" />
<plugin name="cordova-plugin-device" spec="2.0.2" />
<plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
<plugin name="cordova-plugin-ionic-webview" spec="^4.0.0" />
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" />
</widget>
{
"name": "ionic",
"integrations": {},
"integrations": {
"cordova": {}
},
"type": "angular"
}
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -6,7 +6,8 @@
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"build": "ionic-app-scripts build",
"serve": "ionic-app-scripts serve",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
......@@ -20,11 +21,15 @@
"@angular/platform-browser": "^7.2.2",
"@angular/platform-browser-dynamic": "^7.2.2",
"@angular/router": "^7.2.2",
"@ionic-native/core": "^5.0.0",
"@ionic-native/splash-screen": "^5.0.0",
"@ionic-native/status-bar": "^5.0.0",
"@ionic-native/core": "^5.6.0",
"@ionic-native/qr-scanner": "^5.6.0",
"@ionic-native/splash-screen": "^5.6.0",
"@ionic-native/status-bar": "^5.6.0",
"@ionic/angular": "^4.1.0",
"core-js": "^2.5.4",
"cordova-android": "8.0.0",
"cordova-browser": "6.0.0",
"cordova-plugin-qrscanner": "3.0.1",
"core-js": "^2.6.6",
"rxjs": "~6.5.1",
"tslib": "^1.9.0",
"zone.js": "~0.8.29"
......@@ -39,10 +44,17 @@
"@angular/compiler-cli": "~7.2.2",
"@angular/language-service": "~7.2.2",
"@ionic/angular-toolkit": "~1.5.1",
"@types/node": "~12.0.0",
"@ionic/app-scripts": "^3.2.3",
"@types/jasmine": "~2.8.8",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~12.0.0",
"codelyzer": "~4.5.0",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-ionic-keyboard": "^2.1.3",
"cordova-plugin-ionic-webview": "^4.0.1",
"cordova-plugin-splashscreen": "^5.0.2",
"cordova-plugin-statusbar": "^2.4.2",
"cordova-plugin-whitelist": "^1.3.3",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.1.0",
......@@ -55,5 +67,22 @@
"tslint": "~5.16.0",
"typescript": "~3.1.6"
},
"description": "An Ionic project"
"description": "An Ionic project",
"cordova": {
"plugins": {
"cordova-plugin-whitelist": {},
"cordova-plugin-statusbar": {},
"cordova-plugin-device": {},
"cordova-plugin-splashscreen": {},
"cordova-plugin-ionic-webview": {
"ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
},
"cordova-plugin-ionic-keyboard": {},
"cordova-plugin-qrscanner": {}
},
"platforms": [
"android",
"browser"
]
}
}
\ No newline at end of file
These are Cordova resources. You can replace icon.png and splash.png and run
`ionic cordova resources` to generate custom icons and splash screens for your
app. See `ionic cordova resources --help` for details.
Cordova reference documentation:
- Icons: https://cordova.apache.org/docs/en/latest/config_ref/images.html
- Splash Screens: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-splashscreen/
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain>localhost</domain>
</domain-config>
</network-security-config>
......@@ -4,6 +4,7 @@ import { PreloadAllModules, RouterModule, Routes } from '@angular/router';
const routes: Routes = [
{ path: '', redirectTo: 'home', pathMatch: 'full' },
{ path: 'home', loadChildren: './home/home.module#HomePageModule' },
{ path: 'scan', loadChildren: './scan/scan.module#ScanPageModule' },
];
@NgModule({
......
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import { NgModule } from "@angular/core";
import { BrowserModule } from "@angular/platform-browser";
import { RouteReuseStrategy } from "@angular/router";
import { HttpClientModule } from "@angular/common/http";
import { IonicModule, IonicRouteStrategy } from "@ionic/angular";
import { SplashScreen } from "@ionic-native/splash-screen/ngx";
import { StatusBar } from "@ionic-native/status-bar/ngx";
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from "./app.component";
import { AppRoutingModule } from "./app-routing.module";
import { QRScanner } from "@ionic-native/qr-scanner/ngx";
@NgModule({
declarations: [AppComponent],
entryComponents: [],
imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule],
imports: [
BrowserModule,
IonicModule.forRoot(),
AppRoutingModule,
HttpClientModule
],
providers: [
StatusBar,
SplashScreen,
QRScanner,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],
bootstrap: [AppComponent]
......
......@@ -9,6 +9,8 @@
<ion-content>
<div class="ion-padding">
The world is your oyster.
<p>If you get lost, the <a target="_blank" rel="noopener" href="https://ionicframework.com/docs/">docs</a> will be your guide.</p>
<p>If you get lost, the <a target="_blank" rel="noopener" href="https://ionicframework.com/docs/">docs</a> will be
your guide.</p>
</div>
<button (click)="nav()">扫码</button>
</ion-content>
\ No newline at end of file
import { Component } from '@angular/core';
import { Component } from "@angular/core";
import { HttpClient } from "@angular/common/http";
import { NavController } from "@ionic/angular";
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
selector: "app-home",
templateUrl: "home.page.html",
styleUrls: ["home.page.scss"]
})
export class HomePage {
userName = "";
password = "";
constructor(private http: HttpClient, private navCtrl: NavController) {}
clickedStar() {
const url = `/asset/a/login?__ajax=true&username=${
this.userName
}&password=${this.password}&mobileLogin=true`;
this.http.post(url, {}).subscribe(r => {
console.log(r);
});
}
nav() {
this.navCtrl.navigateForward("/scan");
}
}
import { NgModule } from "@angular/core";
import { CommonModule } from "@angular/common";
import { FormsModule } from "@angular/forms";
import { Routes, RouterModule } from "@angular/router";
import { IonicModule } from "@ionic/angular";
import { ScanPage } from "./scan.page";
import { QRScanner } from "@ionic-native/qr-scanner/ngx";
const routes: Routes = [
{
path: "",
component: ScanPage
}
];
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
RouterModule.forChild(routes)
],
providers: [QRScanner],
declarations: [ScanPage]
})
export class ScanPageModule {}
<div class="scanPage">
<div class="scanPage-title">扫码</div>
<div class="scanPage-content"></div>
</div>
\ No newline at end of file
.qrscanner {
background: none;
&-area {
width: 100%;
height: 86%;
background: url('/assets/scanner.svg') no-repeat center center;
background-size: contain;
}
}
.through-line {
left: 25%;
width: 50%;
height: 2px;
background: red;
position: absolute;
animation: myfirst 2s linear infinite alternate;
}
@keyframes myfirst {
0% {
background: red;
top: 30%;
}
25% {
background: yellow;
top: 35%;
}
50% {
background: blue;
top: 40%;
}
75% {
background: green;
top: 45%;
}
100% {
background: red;
top: 50%;
}
}
.button-bottom {
width: 128px;
position: absolute;
left: 50%;
bottom: 80px;
margin-left: -64px;
.icon-camera {
float: left;
}
}
.scanPage {
background: none;
// opacity: 0;
width: 100%;
height: 100%;
text-align: center;
.scanPage-title {
width: 100%;
height: 5%;
text-align: center;
}
.scanPage-scan {
width: 100%;
height: 95%;
background: url(/assets/scanner.svg) no-repeat center center;
background-size: 500px 500px;
}
}
\ No newline at end of file
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { ScanPage } from './scan.page';
describe('ScanPage', () => {
let component: ScanPage;
let fixture: ComponentFixture<ScanPage>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ScanPage ],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(ScanPage);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit } from "@angular/core";
import { NavController, NavParams } from "@ionic/angular";
import { ViewController } from "@ionic/core";
import { QRScanner, QRScannerStatus } from "@ionic-native/qr-scanner/ngx";
@Component({
selector: "app-scan",
templateUrl: "./scan.page.html",
styleUrls: ["./scan.page.scss"]
})
export class ScanPage {
light: boolean; //判断闪光灯
frontCamera: boolean; //判断摄像头
isShow: boolean = false; //控制显示背景,避免切换页面卡顿
constructor(private navCtrl: NavController, private qrScanner: QRScanner) {
//默认为false
this.light = false;
this.frontCamera = false;
}
ionViewWillEnter() {
alert("页面加载完成");
this.qrScanner
.prepare()
.then((status: QRScannerStatus) => {
if (status.authorized) {
alert(1);
// camera permission was granted
// start scanning
let scanSub = this.qrScanner.scan().subscribe((text: string) => {
alert(text);
this.qrScanner.hide(); // hide camera preview
scanSub.unsubscribe(); // stop scanning
this.navCtrl.pop();
});
// show camera preview
this.qrScanner.show();
// wait for user to scan something, then the observable callback will be called
} else if (status.denied) {
// camera permission was permanently denied
// you must use QRScanner.openSettings() method to guide the user to the settings page
// then they can grant the permission from there
} else {
// permission was denied, but not permanently. You can ask for permission again at a later time.
}
})
.catch((e: any) => console.log("Error is", e));
}
/**
* 闪光灯控制,默认关闭
*/
toggleLight() {
if (this.light) {
this.qrScanner.disableLight();
} else {
this.qrScanner.enableLight();
}
this.light = !this.light;
}
/**
* 前后摄像头互换
*/
toggleCamera() {
if (this.frontCamera) {
this.qrScanner.useBackCamera();
} else {
this.qrScanner.useFrontCamera();
}
this.frontCamera = !this.frontCamera;
}
showCamera() {
this.qrScanner.destroy(); //关闭
(window.document.querySelector("ion-app") as HTMLElement).classList.add(
"cameraView"
);
}
hideCamera() {
(window.document.querySelector("ion-app") as HTMLElement).classList.remove(
"cameraView"
);
this.qrScanner.hide(); //需要关闭扫描,否则相机一直开着
this.qrScanner.destroy(); //关闭
}
ionViewWillLeave() {
alert("离开页面");
this.hideCamera();
}
}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 744.09448819 1052.3622047"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="aaa.svg">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.7"
inkscape:cx="635.5236"
inkscape:cy="495.53637"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
showguides="false" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:#9c9c9c;fill-opacity:0.45098039;fill-rule:evenodd;stroke:#9c9c9c;stroke-width:1.06048119px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0"
d="m 139.32394,274.20898 c -2.43478,0 -4.74475,0.50716 -6.83985,1.41211 -1.96625,0.82082 -3.73345,2.01806 -5.21093,3.50391 -3.1756,3.1164 -5.14454,7.45787 -5.14454,12.2793 l 0,90.91406 c 0,9.5259 7.66941,17.19336 17.19532,17.19336 9.5259,0 17.19336,-7.66746 17.19336,-17.19336 l 0,-75.67774 75.13867,0 c 8.93724,0 16.13281,-7.19361 16.13281,-16.13085 0,-8.93723 -7.19557,-16.13282 -16.13281,-16.13282 l -90.04297,0 c -0.75087,-0.0994 -1.51019,-0.16797 -2.28906,-0.16797 z"
id="rect3338"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
style="fill:#9c9c9c;fill-opacity:0.45098039;fill-rule:evenodd;stroke:#9c9c9c;stroke-width:1.06048119px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0"
d="m 631.50851,291.04712 c 0,-2.43478 -0.50716,-4.74475 -1.41211,-6.83985 -0.82082,-1.96625 -2.01806,-3.73345 -3.50391,-5.21093 -3.1164,-3.1756 -7.45787,-5.14454 -12.2793,-5.14454 l -90.91406,0 c -9.5259,0 -17.19336,7.66941 -17.19336,17.19532 0,9.5259 7.66746,17.19336 17.19336,17.19336 l 75.67774,0 0,75.13867 c 0,8.93724 7.19361,16.13281 16.13085,16.13281 8.93723,0 16.13282,-7.19557 16.13282,-16.13281 l 0,-90.04297 c 0.0994,-0.75087 0.16797,-1.51019 0.16797,-2.28906 z"
id="rect3338-2" />
<path
inkscape:connector-curvature="0"
style="fill:#9c9c9c;fill-opacity:0.45098039;fill-rule:evenodd;stroke:#9c9c9c;stroke-width:1.06048119px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0"
d="m 122.12824,684.96063 c 0,2.43478 0.50716,4.74475 1.41211,6.83985 0.82082,1.96626 2.01806,3.73346 3.50391,5.21094 3.1164,3.1756 7.45787,5.14454 12.2793,5.14454 l 90.91406,0 c 9.5259,0 17.19336,-7.66941 17.19336,-17.19533 0,-9.5259 -7.66746,-17.19336 -17.19336,-17.19336 l -75.67774,0 0,-75.13866 c 0,-8.93724 -7.19361,-16.13281 -16.13085,-16.13281 -8.93723,0 -16.13282,7.19557 -16.13282,16.13281 l 0,90.04296 c -0.0994,0.75087 -0.16797,1.51019 -0.16797,2.28906 z"
id="rect3338-6" />
<path
inkscape:connector-curvature="0"
style="fill:#9c9c9c;fill-opacity:0.45098039;fill-rule:evenodd;stroke:#9c9c9c;stroke-width:1.06048119px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0"
d="m 614.67107,702.15643 c 2.43478,0 4.74475,-0.50716 6.83985,-1.41211 1.96626,-0.82082 3.73346,-2.01806 5.21094,-3.50391 3.1756,-3.1164 5.14454,-7.45787 5.14454,-12.2793 l 0,-90.91406 c 0,-9.5259 -7.66941,-17.19336 -17.19533,-17.19336 -9.5259,0 -17.19336,7.66746 -17.19336,17.19336 l 0,75.67774 -75.13866,0 c -8.93724,0 -16.13281,7.19361 -16.13281,16.13085 0,8.93723 7.19557,16.13282 16.13281,16.13282 l 90.04296,0 c 0.75087,0.0994 1.51019,0.16797 2.28906,0.16797 z"
id="rect3338-6-1" />
</g>
</svg>
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { enableProdMode } from "@angular/core";
import { platformBrowserDynamic } from "@angular/platform-browser-dynamic";
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
import { AppModule } from "./app/app.module";
import { environment } from "./environments/environment";
if (environment.production) {
enableProdMode();
}
platformBrowserDynamic().bootstrapModule(AppModule)
platformBrowserDynamic()
.bootstrapModule(AppModule)
.catch(err => console.log(err));
......@@ -75,3 +75,14 @@
--ion-color-light-shade: #d7d8da;
--ion-color-light-tint: #f5f6f9;
}
ion-app.cameraView,
ion-app.cameraView ion-content,
ion-app.cameraView .nav-decor {
background: transparent none !important;
.tabbar.show-tabbar {
opacity: 0;
}
}
......@@ -15,7 +15,7 @@
"node_modules/@types"
],
"lib": [
"es2018",
"es2017",
"dom"
]
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment