diff --git a/README.md b/README.md
index 93997fd..bcc6bb3 100644
--- a/README.md
+++ b/README.md
@@ -1,27 +1,2 @@
-# HighWeb
+# puhui-go-web
-This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.0.7.
-
-## Development server
-
-Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files.
-
-## Code scaffolding
-
-Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
-
-## Build
-
-Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.
-
-## Running unit tests
-
-Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
-
-## Running end-to-end tests
-
-Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
-
-## Further help
-
-To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
diff --git a/angular.json b/angular.json
index bd0394d..e4cc368 100644
--- a/angular.json
+++ b/angular.json
@@ -27,7 +27,12 @@
"inlineStyleLanguage": "less",
"assets": [
"src/favicon.ico",
- "src/assets"
+ "src/assets",
+ {
+ "glob": "**/*",
+ "input": "./node_modules/@ant-design/icons-angular/src/inline-svg/",
+ "output": "/assets/"
+ }
],
"styles": [
"src/styles.less"
@@ -40,7 +45,7 @@
}
},
"configurations": {
- "production": {
+ "prod": {
"budgets": [
{
"type": "initial",
@@ -53,7 +58,34 @@
"maximumError": "4kb"
}
],
- "outputHashing": "all"
+ "outputHashing": "all",
+ "fileReplacements": [
+ {
+ "replace": "src/environments/environment.ts",
+ "with": "src/environments/environment.prod.ts"
+ }
+ ]
+ },
+ "dev": {
+ "budgets": [
+ {
+ "type": "initial",
+ "maximumWarning": "500kb",
+ "maximumError": "1mb"
+ },
+ {
+ "type": "anyComponentStyle",
+ "maximumWarning": "2kb",
+ "maximumError": "4kb"
+ }
+ ],
+ "outputHashing": "all",
+ "fileReplacements": [
+ {
+ "replace": "src/environments/environment.ts",
+ "with": "src/environments/environment.dev.ts"
+ }
+ ]
},
"development": {
"optimization": false,
@@ -102,5 +134,8 @@
}
}
}
+ },
+ "cli": {
+ "analytics": "a81abb26-556d-44f1-a3d7-6e52625f6794"
}
}
diff --git a/package-lock.json b/package-lock.json
index 6780424..6e23b34 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -19,6 +19,7 @@
"@angular/router": "^17.0.0",
"@angular/ssr": "^17.0.7",
"express": "^4.18.2",
+ "ng-zorro-antd": "^17.1.0",
"rxjs": "~7.8.0",
"tslib": "^2.3.0",
"zone.js": "~0.14.2"
@@ -268,6 +269,22 @@
"@angular/core": "17.0.7"
}
},
+ "node_modules/@angular/cdk": {
+ "version": "17.0.4",
+ "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-17.0.4.tgz",
+ "integrity": "sha512-mh/EuIR0NPfpNqAXBSZWuJeBMXUvUDYdKhiFWZet5NLO1bDgFe1MGLBjtW4us95k4BZsMLbCKNxJgc+4JqwUvg==",
+ "dependencies": {
+ "tslib": "^2.3.0"
+ },
+ "optionalDependencies": {
+ "parse5": "^7.1.2"
+ },
+ "peerDependencies": {
+ "@angular/common": "^17.0.0 || ^18.0.0",
+ "@angular/core": "^17.0.0 || ^18.0.0",
+ "rxjs": "^6.5.3 || ^7.4.0"
+ }
+ },
"node_modules/@angular/cli": {
"version": "17.0.7",
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.0.7.tgz",
@@ -483,6 +500,29 @@
"@angular/core": "^17.0.0"
}
},
+ "node_modules/@ant-design/colors": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.0.0.tgz",
+ "integrity": "sha512-iVm/9PfGCbC0dSMBrz7oiEXZaaGH7ceU40OJEfKmyuzR9R5CRimJYPlRiFtMQGQcbNMea/ePcoIebi4ASGYXtg==",
+ "dependencies": {
+ "@ctrl/tinycolor": "^3.4.0"
+ }
+ },
+ "node_modules/@ant-design/icons-angular": {
+ "version": "17.0.0",
+ "resolved": "https://registry.npmjs.org/@ant-design/icons-angular/-/icons-angular-17.0.0.tgz",
+ "integrity": "sha512-MNEh3UbkSl6gkdb5MQRNHEuWI1DnU1dME9zSymnWCipEXN7MB0mcYHSfyYTqKL1j45ftp6l1UnsLvhokRYyhXA==",
+ "dependencies": {
+ "@ant-design/colors": "^7.0.0",
+ "tslib": "^2.0.0"
+ },
+ "peerDependencies": {
+ "@angular/common": "^17.0.1",
+ "@angular/core": "^17.0.1",
+ "@angular/platform-browser": "^17.0.1",
+ "rxjs": "^6.4.0 || ^7.4.0"
+ }
+ },
"node_modules/@assemblyscript/loader": {
"version": "0.10.1",
"resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz",
@@ -2151,7 +2191,6 @@
"version": "7.23.2",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz",
"integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==",
- "dev": true,
"dependencies": {
"regenerator-runtime": "^0.14.0"
},
@@ -2232,6 +2271,14 @@
"node": ">=0.1.90"
}
},
+ "node_modules/@ctrl/tinycolor": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
+ "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@discoveryjs/json-ext": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
@@ -5211,6 +5258,21 @@
"integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==",
"dev": true
},
+ "node_modules/date-fns": {
+ "version": "2.30.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
+ "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
+ "dependencies": {
+ "@babel/runtime": "^7.21.0"
+ },
+ "engines": {
+ "node": ">=0.11"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/date-fns"
+ }
+ },
"node_modules/date-format": {
"version": "4.0.14",
"resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz",
@@ -8733,6 +8795,25 @@
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"dev": true
},
+ "node_modules/ng-zorro-antd": {
+ "version": "17.1.0",
+ "resolved": "https://registry.npmjs.org/ng-zorro-antd/-/ng-zorro-antd-17.1.0.tgz",
+ "integrity": "sha512-1lpknv5QXTeXk9k01GLbmxuXLyfRCGF91hVl3NF6Fedef7OJIstOmLy2VxvXoAQxrRyuYsDkEke2GJRC33mxhw==",
+ "dependencies": {
+ "@angular/cdk": "^17.0.0",
+ "@ant-design/icons-angular": "^17.0.0",
+ "date-fns": "^2.16.1",
+ "tslib": "^2.3.0"
+ },
+ "peerDependencies": {
+ "@angular/animations": "^17.0.0",
+ "@angular/common": "^17.0.0",
+ "@angular/core": "^17.0.0",
+ "@angular/forms": "^17.0.0",
+ "@angular/platform-browser": "^17.0.0",
+ "@angular/router": "^17.0.0"
+ }
+ },
"node_modules/nice-napi": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz",
@@ -9419,7 +9500,7 @@
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
"integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"entities": "^4.4.0"
},
@@ -10105,8 +10186,7 @@
"node_modules/regenerator-runtime": {
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
- "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
- "dev": true
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
},
"node_modules/regenerator-transform": {
"version": "0.15.2",
diff --git a/package.json b/package.json
index c14ecb9..e137e06 100644
--- a/package.json
+++ b/package.json
@@ -22,6 +22,7 @@
"@angular/router": "^17.0.0",
"@angular/ssr": "^17.0.7",
"express": "^4.18.2",
+ "ng-zorro-antd": "^17.1.0",
"rxjs": "~7.8.0",
"tslib": "^2.3.0",
"zone.js": "~0.14.2"
diff --git a/src/app/app.component.html b/src/app/app.component.html
index 1b7f2c3..0680b43 100644
--- a/src/app/app.component.html
+++ b/src/app/app.component.html
@@ -1,336 +1 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Hello, {{ title }}
-
Congratulations! Your app is running. 🎉
-
-
-
-
- @for (item of [
- { title: 'Explore the Docs', link: 'https://angular.dev' },
- { title: 'Learn with Tutorials', link: 'https://angular.dev/tutorials' },
- { title: 'CLI Docs', link: 'https://angular.dev/tools/cli' },
- { title: 'Angular Language Service', link: 'https://angular.dev/tools/language-service' },
- { title: 'Angular DevTools', link: 'https://angular.dev/tools/devtools' },
- ]; track item.title) {
-
- {{ item.title }}
-
-
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts
deleted file mode 100644
index 0b4154a..0000000
--- a/src/app/app.component.spec.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { TestBed } from '@angular/core/testing';
-import { AppComponent } from './app.component';
-
-describe('AppComponent', () => {
- beforeEach(async () => {
- await TestBed.configureTestingModule({
- imports: [AppComponent],
- }).compileComponents();
- });
-
- it('should create the app', () => {
- const fixture = TestBed.createComponent(AppComponent);
- const app = fixture.componentInstance;
- expect(app).toBeTruthy();
- });
-
- it(`should have the 'high-web' title`, () => {
- const fixture = TestBed.createComponent(AppComponent);
- const app = fixture.componentInstance;
- expect(app.title).toEqual('high-web');
- });
-
- it('should render title', () => {
- const fixture = TestBed.createComponent(AppComponent);
- fixture.detectChanges();
- const compiled = fixture.nativeElement as HTMLElement;
- expect(compiled.querySelector('h1')?.textContent).toContain('Hello, high-web');
- });
-});
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 5f5b0ca..bf3c0e0 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -10,5 +10,4 @@ import { RouterOutlet } from '@angular/router';
styleUrl: './app.component.less'
})
export class AppComponent {
- title = 'high-web';
}
diff --git a/src/app/app.config.ts b/src/app/app.config.ts
index e5a3cf1..542660d 100644
--- a/src/app/app.config.ts
+++ b/src/app/app.config.ts
@@ -1,9 +1,17 @@
-import { ApplicationConfig } from '@angular/core';
+import { ApplicationConfig, importProvidersFrom } from '@angular/core';
import { provideRouter } from '@angular/router';
import { routes } from './app.routes';
import { provideClientHydration } from '@angular/platform-browser';
+import { zh_CN, provideNzI18n } from 'ng-zorro-antd/i18n';
+import { registerLocaleData } from '@angular/common';
+import zh from '@angular/common/locales/zh';
+import { FormsModule } from '@angular/forms';
+import { HttpClientModule } from '@angular/common/http';
+import { provideAnimations } from '@angular/platform-browser/animations';
+
+registerLocaleData(zh);
export const appConfig: ApplicationConfig = {
- providers: [provideRouter(routes), provideClientHydration()]
+ providers: [provideRouter(routes), provideClientHydration(), provideNzI18n(zh_CN), importProvidersFrom(FormsModule), importProvidersFrom(HttpClientModule), provideAnimations()]
};
diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts
index dc39edb..27e2f3d 100644
--- a/src/app/app.routes.ts
+++ b/src/app/app.routes.ts
@@ -1,3 +1,8 @@
import { Routes } from '@angular/router';
-
-export const routes: Routes = [];
+export const routes: Routes = [
+ {path: '', pathMatch: 'full', redirectTo: 'login'},
+ {
+ path: 'login',
+ loadChildren: () => import('./pages/login/login.routes').then(m => m.LOGIN_ROUTES)
+ },
+];
diff --git a/src/app/data/login/login.namespace.ts b/src/app/data/login/login.namespace.ts
new file mode 100644
index 0000000..47a13c3
--- /dev/null
+++ b/src/app/data/login/login.namespace.ts
@@ -0,0 +1,5 @@
+export const backgroundImage = [
+ "./assets/login/图片整理.png",
+ "./assets/login/多端协同.png",
+ "./assets/login/达成合作.png"];
+
diff --git a/src/app/pages/login/login.module.ts b/src/app/pages/login/login.module.ts
new file mode 100644
index 0000000..0fd089f
--- /dev/null
+++ b/src/app/pages/login/login.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+
+import { NzSliderModule } from 'ng-zorro-antd/slider';
+@NgModule({
+ declarations: [],
+ imports: [
+ CommonModule,
+ NzSliderModule,
+ ]
+})
+export class LoginModule { }
diff --git a/src/app/pages/login/login.routes.ts b/src/app/pages/login/login.routes.ts
new file mode 100644
index 0000000..4adcd2e
--- /dev/null
+++ b/src/app/pages/login/login.routes.ts
@@ -0,0 +1,6 @@
+import { Routes } from '@angular/router';
+import {LoginComponent} from "./login/login.component";
+
+export const LOGIN_ROUTES: Routes = [
+ { path: '', component: LoginComponent}
+];
diff --git a/src/app/pages/login/login/login.component.html b/src/app/pages/login/login/login.component.html
new file mode 100644
index 0000000..7a0681d
--- /dev/null
+++ b/src/app/pages/login/login/login.component.html
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/app/pages/login/login/login.component.less b/src/app/pages/login/login/login.component.less
new file mode 100644
index 0000000..5781420
--- /dev/null
+++ b/src/app/pages/login/login/login.component.less
@@ -0,0 +1,78 @@
+.bg {
+ //背景图
+ width: 100%;
+ height: 100%;
+ background: linear-gradient(126deg, #0f75ff, #2cd8d4);
+ overflow: hidden;
+ //登录框
+ .login-box {
+ width: 1000px;
+ height: 660px;
+ background: white;
+ margin: 200px auto 0;
+ border-radius: 10px;
+ //盒子大小
+ .login-box-size {
+ width: 50%;
+ height: 660px;
+ float: left;
+ border-radius: 10px;
+ //盒子中图片
+
+ [nz-carousel-content] {
+ text-align: center;
+ height: 450px;
+ margin-top: 100px;
+ color: #fff;
+ overflow: hidden;
+ }
+ h1 {
+ margin-top: 70px;
+ color: #0f75ff;
+ font-weight: bold;
+ letter-spacing: 4px;
+ }
+ }
+ .box-left {
+ background: #f2f5fa;
+ }
+ .box-center {
+ text-align: center;
+ }
+
+ }
+ .footer {
+ text-align: center;
+ width: 100%;
+ height: 50px;
+ line-height: 50px;
+ position: fixed;
+ bottom: 0;
+ background: white;
+ }
+}
+.login-form {
+ margin-top: 50px;
+ margin-left: 40px;
+ max-width: 400px;
+ .take_care {
+ color: red;
+ font-size: 20px;
+ }
+ input {
+ height: 32px;
+ }
+ nz-form-control {
+ margin-top: 10px;
+ }
+}
+
+.login-form-margin {
+ margin-bottom: 16px;
+ float: right;
+}
+
+.login-form-button {
+ margin-top: 20px;
+ width: 100%;
+}
diff --git a/src/app/pages/login/login/login.component.ts b/src/app/pages/login/login/login.component.ts
new file mode 100644
index 0000000..40c108b
--- /dev/null
+++ b/src/app/pages/login/login/login.component.ts
@@ -0,0 +1,104 @@
+import {Component} from '@angular/core';
+import {NzCarouselComponent, NzCarouselContentDirective} from "ng-zorro-antd/carousel";
+import {NgForOf, NgOptimizedImage} from "@angular/common";
+import {fork} from "child_process";
+import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form";
+import {
+ FormControl,
+ FormGroup,
+ FormsModule,
+ NonNullableFormBuilder,
+ ReactiveFormsModule,
+ Validators
+} from "@angular/forms";
+import {NzInputDirective, NzInputGroupComponent} from "ng-zorro-antd/input";
+import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid";
+import {NzButtonComponent} from "ng-zorro-antd/button";
+import {NzCheckboxComponent} from "ng-zorro-antd/checkbox";
+import {NzTransitionPatchDirective} from "ng-zorro-antd/core/transition-patch/transition-patch.directive";
+import {backgroundImage} from "../../../data/login/login.namespace";
+import {NzSliderComponent} from "ng-zorro-antd/slider";
+import {MathUtilsService} from "../../../utils/mathUtils.service";
+import {NzMessageService} from "ng-zorro-antd/message";
+
+
+
+@Component({
+ selector: 'app-login',
+ standalone: true,
+ templateUrl: './login.component.html',
+ host: {ngSkipHydration: 'true'},
+ imports: [
+ NzCarouselComponent,
+ NzCarouselContentDirective,
+ NgForOf,
+ NgOptimizedImage,
+ NzInputGroupComponent,
+ NzFormItemComponent,
+ ReactiveFormsModule,
+ NzFormControlComponent,
+ NzColDirective,
+ NzButtonComponent,
+ NzCheckboxComponent,
+ NzInputDirective,
+ NzRowDirective,
+ NzFormDirective,
+ NzSliderComponent,
+
+ ],
+
+ styleUrl: './login.component.less'
+})
+export class LoginComponent {
+
+ constructor(
+ private fb: NonNullableFormBuilder,
+ private message: NzMessageService
+ ) {}
+
+ // 背景图片
+ backgroundImage = backgroundImage;
+ // 验证随机数
+ randomNumber = MathUtilsService.generateRandomNumber(100);
+
+ // 表单
+ validateForm: FormGroup<{
+ userName: FormControl;
+ password: FormControl;
+ slider: FormControl;
+ remember: FormControl;
+ }> = this.fb.group({
+ userName: ['', [Validators.required]],
+ password: ['', [Validators.required]],
+ slider: ['', [Validators.required]],
+ remember: [true]
+ });
+
+
+
+ // 登录
+ submitForm(): void {
+ if (this.validateForm.valid) {
+ if (Number(this.validateForm.value.slider) !== this.randomNumber) {
+ this.message.warning('验证不通过!')
+ }
+
+
+
+ } else {
+ Object.values(this.validateForm.controls).forEach(control => {
+ if (control.invalid) {
+ // 表单脏检查
+ control.markAsDirty();
+ control.updateValueAndValidity({ onlySelf: true });
+ }
+ });
+ }
+ }
+
+
+
+
+
+
+}
diff --git a/src/app/servies/login/login.service.ts b/src/app/servies/login/login.service.ts
new file mode 100644
index 0000000..92c777e
--- /dev/null
+++ b/src/app/servies/login/login.service.ts
@@ -0,0 +1,9 @@
+import { Injectable } from '@angular/core';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class LoginService {
+
+ constructor() { }
+}
diff --git a/src/app/utils/mathUtils.service.ts b/src/app/utils/mathUtils.service.ts
new file mode 100644
index 0000000..659ad01
--- /dev/null
+++ b/src/app/utils/mathUtils.service.ts
@@ -0,0 +1,13 @@
+export class MathUtilsService {
+
+ /**
+ * @Author Sum1Dream
+ * @Name
+ * @Description // 获取1-100随机数
+ * @Date 11:13 2024/4/9
+ * @Param number
+ */
+ static generateRandomNumber(number: number): number {
+ return Math.floor(Math.random() * number) + 1;
+ }
+}
diff --git a/src/assets/login/图片整理.png b/src/assets/login/图片整理.png
new file mode 100644
index 0000000..100f395
Binary files /dev/null and b/src/assets/login/图片整理.png differ
diff --git a/src/assets/login/多端协同.png b/src/assets/login/多端协同.png
new file mode 100644
index 0000000..919adc6
Binary files /dev/null and b/src/assets/login/多端协同.png differ
diff --git a/src/assets/login/达成合作.png b/src/assets/login/达成合作.png
new file mode 100644
index 0000000..867a4c6
Binary files /dev/null and b/src/assets/login/达成合作.png differ
diff --git a/src/environments/environment.dev.ts b/src/environments/environment.dev.ts
new file mode 100644
index 0000000..4ecaf9d
--- /dev/null
+++ b/src/environments/environment.dev.ts
@@ -0,0 +1,8 @@
+export const environment = {
+ production: true,
+ baseUrl: 'https://hsgcs.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址)
+ imageUrl: 'https://hsgcs.dctpay.com/filesystem/',
+ orderUrl: 'https://hsgcs.dctpay.com/order/',
+ key: 'https://hsgcs.dctpay.com/phone-recharge-H5/index.html?codeValue=',
+ inviteUrl: 'https://hsgcs.dctpay.com/wx/?action=ic&id=',
+};
diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts
new file mode 100644
index 0000000..ec0d827
--- /dev/null
+++ b/src/environments/environment.prod.ts
@@ -0,0 +1,8 @@
+export const environment = {
+ production: true,
+ baseUrl: 'https://hsg.dctpay.com/brest/', // 正式环境服务器地址(请求数据地址)
+ orderUrl: 'https://hsg.dctpay.com/order/', // 测试环境服务器地址(请求数据地址)
+ imageUrl: 'https://hsg.dctpay.com/filesystem/',
+ key: 'https://hsg.dctpay.com/phone-recharge-H5/index.html?codeValue=',
+ inviteUrl: 'https://hsg.dctpay.com/wx/?action=ic&id=',
+};
diff --git a/src/environments/environment.ts b/src/environments/environment.ts
new file mode 100644
index 0000000..fd50ef6
--- /dev/null
+++ b/src/environments/environment.ts
@@ -0,0 +1,24 @@
+// This file can be replaced during build by using the `fileReplacements` array.
+// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
+// The list of file replacements can be found in `angular.json`.
+
+export const environment = {
+ production: false,
+ // baseUrl: 'http://localhost:9302/brest/', // 测试环境服务器地址(请求数据地址)
+ // orderUrl: 'http://localhost:9304/order/', // 测试环境服务器地址(请求数据地址)
+ baseUrl: 'https://hsg.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址)
+ // orderUrl: 'https://hsg.dctpay.com/order/', // 测试环境服务器地址(请求数据地址)
+ orderUrl: 'https://hsgcs.dctpay.com/order/', // 测试环境服务器地址(请求数据地址)
+ imageUrl: 'https://hsgcs.dctpay.com/filesystem/',
+ key: 'https://hsgcs.dctpay.com/phone-recharge-H5/index.html?codeValue=',
+ inviteUrl: 'https://hsgcs.dctpay.com/wx/?action=ic&id=',
+};
+
+/*
+ * For easier debugging in development mode, you can import the following file
+ * to ignore zone related error stack fram es such as `zone.run`, `zoneDelegate.invokeTask`.
+ *
+ * This import should be commented out in production mode because it will have a negative impact
+ * on performance if an error is thrown.
+ */
+// import 'zone.js/dist/zone-error'; // Included with Angular CLI.
diff --git a/src/favicon.ico b/src/favicon.ico
index 57614f9..ba7c40e 100644
Binary files a/src/favicon.ico and b/src/favicon.ico differ
diff --git a/src/index.html b/src/index.html
index 52eb733..52f4493 100644
--- a/src/index.html
+++ b/src/index.html
@@ -2,7 +2,7 @@
- HighWeb
+ 普惠GO
diff --git a/src/styles.less b/src/styles.less
index 90d4ee0..997e833 100644
--- a/src/styles.less
+++ b/src/styles.less
@@ -1 +1,10 @@
+
+// Custom Theming for NG-ZORRO
+// For more information: https://ng.ant.design/docs/customize-theme/en
+@import "../node_modules/ng-zorro-antd/ng-zorro-antd.less";
+
+// Override less variables to here
+// View all variables: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/components/style/themes/default.less
+
+// @primary-color: #1890ff;
/* You can add global styles to this file, and also import other style files */