zhuliu 1 éve
szülő
commit
cef51a2dbe

+ 48 - 17
app.json

@@ -8,32 +8,63 @@
     "pages/hotProduct/hotProduct",
     "pages/myFollow/myFollow",
     "pages/searchRecords/searchRecords",
-    "pages/myWork/myWork",
-    "pages/monitor/monitor",
-    "pages/form/application/application",
-    "pages/form/rightsProtection/rightsProtection",
-    "pages/form/appeal/appeal",
-    "pages/form/riskAssessment/riskAssessment",
+    
     "pages/searchResults/searchResults",
     "pages/successReminder/successReminder",
     "pages/selectedPatents/selectedPatents",
-    "pages/memberCenter/memberCenter",
-    "pages/form/addProduct/addProduct",
+    
     "pages/collectPatent/collectPatent",
     "pages/personalInformation/personalInformation",
     "pages/patentDetails/patentDetails",
     "pages/showImageList/showImageList",
-    "pages/monitor/monitoringRecord",
-    "pages/about/about",
-    "pages/about/introduce",
-    "pages/about/connection",
+    
     "pages/webView/webView",
     "pages/productDetail/productDetail",
-    "pages/myWork/workDetail",
-    "pages/about/Feedback",
-    "pages/memberCenter/menberCenter2",
-    "pages/voucher/voucher",
-    "pages/about/invite"
+    
+    "pages/voucher/voucher"
+    
+  ],
+  "subpackages": [  
+    {  
+      "root": "pages/about",  
+      "pages": [  
+        "about",
+        "introduce",
+        "connection",
+        "Feedback",
+        "invite"  
+      ]  
+    },
+    {  
+      "root": "pages/memberCenter",  
+      "pages": [  
+        "menberCenter2" 
+      ]  
+    },
+    {  
+      "root": "pages/form",  
+      "pages": [  
+        "application/application",
+        "rightsProtection/rightsProtection",
+        "appeal/appeal",
+        "riskAssessment/riskAssessment",
+        "addProduct/addProduct"
+      ]  
+    },
+    {  
+      "root": "pages/monitor",  
+      "pages": [  
+        "monitor",
+        "monitoringRecord"
+      ]  
+    },
+    {  
+      "root": "pages/myWork",  
+      "pages": [  
+        "myWork",
+        "workDetail"
+      ]  
+    }
   ],
   "tabBar": {
     "list": [

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 4947 - 0
miniprogram_npm/decimal.js/index.js


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1 - 0
miniprogram_npm/decimal.js/index.js.map


+ 7 - 6
myComponents/pay/pay.js

@@ -1,6 +1,7 @@
 // myComponents/pay/pay.js
 const pay = require('../../utils/pay')
 const api = require('../../api/index')
+const  Decimal = require('../../utils/decimal');
 Component({
 
   /**
@@ -27,11 +28,11 @@ Component({
     //打开弹窗
     show(data){
       if(data.discount){
-        data.finalPrice = Number(data.price) * Number(data.discount)
-        data.discountPrice = Number(data.price) - data.finalPrice
+        data.finalPrice =Decimal.mul([data.price,data.discount])
+        data.discountPrice =Decimal.sub([data.price,data.finalPrice])
       }else{
         data.finalPrice = Number(data.price) 
-        data.discountPrice = Number(data.price) - data.finalPrice
+        data.discountPrice = Decimal.sub([data.price,data.finalPrice])
       }
       this.setData(
         {
@@ -113,9 +114,9 @@ Component({
             var totalPrice = Number(that.data.data.price)
             var discount = Number(that.data.data.discount)
             var finalPrice = 0
-            finalPrice =( totalPrice - discountPrice<=0)?0:totalPrice - discountPrice
+            finalPrice =( Decimal.sub([totalPrice,discountPrice])<=0)?0:Decimal.sub([totalPrice,discountPrice])
             if(discount){
-              finalPrice = finalPrice * discount
+              finalPrice =Decimal.mul([finalPrice, discount])
             }
             var voucherShow = ''
             if(discountPrice >0){
@@ -129,7 +130,7 @@ Component({
               {
                 ["data.personVoucherIds"]:data.chooseVoucher,
                 ["data.finalPrice"]:finalPrice,
-                ["data.discountPrice"]:totalPrice - finalPrice,
+                ["data.discountPrice"]:Decimal.sub([totalPrice,finalPrice]),
                 voucherShow:voucherShow
               }
             )

+ 23 - 0
node_modules/decimal.js/LICENCE.md

@@ -0,0 +1,23 @@
+The MIT Licence.
+
+Copyright (c) 2022 Michael Mclaughlin
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+

+ 246 - 0
node_modules/decimal.js/README.md

@@ -0,0 +1,246 @@
+![decimal.js](https://raw.githubusercontent.com/MikeMcl/decimal.js/gh-pages/decimaljs.png)
+
+An arbitrary-precision Decimal type for JavaScript.
+
+[![npm version](https://img.shields.io/npm/v/decimal.js.svg)](https://www.npmjs.com/package/decimal.js)
+[![npm downloads](https://img.shields.io/npm/dw/decimal.js)](https://www.npmjs.com/package/decimal.js)
+[![Build Status](https://travis-ci.org/MikeMcl/decimal.js.svg)](https://travis-ci.org/MikeMcl/decimal.js)
+[![CDNJS](https://img.shields.io/cdnjs/v/decimal.js.svg)](https://cdnjs.com/libraries/decimal.js)
+
+<br>
+
+## Features
+
+  - Integers and floats
+  - Simple but full-featured API
+  - Replicates many of the methods of JavaScript's `Number.prototype` and `Math` objects
+  - Also handles hexadecimal, binary and octal values
+  - Faster, smaller, and perhaps easier to use than JavaScript versions of Java's BigDecimal
+  - No dependencies
+  - Wide platform compatibility: uses JavaScript 1.5 (ECMAScript 3) features only
+  - Comprehensive [documentation](https://mikemcl.github.io/decimal.js/) and test set
+  - Used under the hood by [math.js](https://github.com/josdejong/mathjs)
+  - Includes a TypeScript declaration file: *decimal.d.ts*
+
+![API](https://raw.githubusercontent.com/MikeMcl/decimal.js/gh-pages/API.png)
+
+The library is similar to [bignumber.js](https://github.com/MikeMcl/bignumber.js/), but here
+precision is specified in terms of significant digits rather than decimal places, and all
+calculations are rounded to the precision (similar to Python's decimal module) rather than just
+those involving division.
+
+This library also adds the trigonometric functions, among others, and supports non-integer powers,
+which makes it a significantly larger library than *bignumber.js* and the even smaller
+[big.js](https://github.com/MikeMcl/big.js/).
+
+For a lighter version of this library without the trigonometric functions see
+[decimal.js-light](https://github.com/MikeMcl/decimal.js-light/).
+
+## Load
+
+The library is the single JavaScript file *decimal.js* or ES module *decimal.mjs*.
+
+Browser:
+
+```html
+<script src='path/to/decimal.js'></script>
+
+<script type="module">
+  import Decimal from './path/to/decimal.mjs';
+  ...
+</script>
+```
+
+[Node.js](https://nodejs.org):
+
+```bash
+npm install decimal.js
+```
+```js
+const Decimal = require('decimal.js');
+
+import Decimal from 'decimal.js';
+
+import {Decimal} from 'decimal.js';
+```
+
+## Use
+
+*In all examples below, semicolons and `toString` calls are not shown.
+If a commented-out value is in quotes it means `toString` has been called on the preceding expression.*
+
+The library exports a single constructor function, `Decimal`, which expects a single argument that is a number, string or Decimal instance.
+
+```js
+x = new Decimal(123.4567)
+y = new Decimal('123456.7e-3')
+z = new Decimal(x)
+x.equals(y) && y.equals(z) && x.equals(z)        // true
+```
+
+If using values with more than a few digits, it is recommended to pass strings rather than numbers to avoid a potential loss of precision.
+
+```js
+// Precision loss from using numeric literals with more than 15 significant digits.
+new Decimal(1.0000000000000001)         // '1'
+new Decimal(88259496234518.57)          // '88259496234518.56'
+new Decimal(99999999999999999999)       // '100000000000000000000'
+
+// Precision loss from using numeric literals outside the range of Number values.
+new Decimal(2e+308)                     // 'Infinity'
+new Decimal(1e-324)                     // '0'
+
+// Precision loss from the unexpected result of arithmetic with Number values.
+new Decimal(0.7 + 0.1)                  // '0.7999999999999999'
+```
+
+As with JavaScript numbers, strings can contain underscores as separators to improve readability.
+
+```js
+x = new Decimal('2_147_483_647')
+```
+
+String values in binary, hexadecimal or octal notation are also accepted if the appropriate prefix is included.
+
+```js
+x = new Decimal('0xff.f')            // '255.9375'
+y = new Decimal('0b10101100')        // '172'
+z = x.plus(y)                        // '427.9375'
+
+z.toBinary()                         // '0b110101011.1111'
+z.toBinary(13)                       // '0b1.101010111111p+8'
+
+// Using binary exponential notation to create a Decimal with the value of `Number.MAX_VALUE`.
+x = new Decimal('0b1.1111111111111111111111111111111111111111111111111111p+1023')
+// '1.7976931348623157081e+308'
+```
+
+Decimal instances are immutable in the sense that they are not changed by their methods.
+
+```js
+0.3 - 0.1                     // 0.19999999999999998
+x = new Decimal(0.3)
+x.minus(0.1)                  // '0.2'
+x                             // '0.3'
+```
+
+The methods that return a Decimal can be chained.
+
+```js
+x.dividedBy(y).plus(z).times(9).floor()
+x.times('1.23456780123456789e+9').plus(9876.5432321).dividedBy('4444562598.111772').ceil()
+```
+
+Many method names have a shorter alias.
+
+```js
+x.squareRoot().dividedBy(y).toPower(3).equals(x.sqrt().div(y).pow(3))     // true
+x.comparedTo(y.modulo(z).negated() === x.cmp(y.mod(z).neg())              // true
+```
+
+Most of the methods of JavaScript's `Number.prototype` and `Math` objects are replicated.
+
+```js
+x = new Decimal(255.5)
+x.toExponential(5)                       // '2.55500e+2'
+x.toFixed(5)                             // '255.50000'
+x.toPrecision(5)                         // '255.50'
+
+Decimal.sqrt('6.98372465832e+9823')      // '8.3568682281821340204e+4911'
+Decimal.pow(2, 0.0979843)                // '1.0702770511687781839'
+
+// Using `toFixed()` to avoid exponential notation:
+x = new Decimal('0.0000001')
+x.toString()                             // '1e-7'
+x.toFixed()                              // '0.0000001'
+```
+
+And there are `isNaN` and `isFinite` methods, as `NaN` and `Infinity` are valid `Decimal` values.
+
+```js
+x = new Decimal(NaN)                                           // 'NaN'
+y = new Decimal(Infinity)                                      // 'Infinity'
+x.isNaN() && !y.isNaN() && !x.isFinite() && !y.isFinite()      // true
+```
+
+There is also a `toFraction` method with an optional *maximum denominator* argument.
+
+```js
+z = new Decimal(355)
+pi = z.dividedBy(113)        // '3.1415929204'
+pi.toFraction()              // [ '7853982301', '2500000000' ]
+pi.toFraction(1000)          // [ '355', '113' ]
+```
+
+All calculations are rounded according to the number of significant digits and rounding mode specified
+by the `precision` and `rounding` properties of the Decimal constructor.
+
+For advanced usage, multiple Decimal constructors can be created, each with their own independent
+configuration which applies to all Decimal numbers created from it.
+
+```js
+// Set the precision and rounding of the default Decimal constructor
+Decimal.set({ precision: 5, rounding: 4 })
+
+// Create another Decimal constructor, optionally passing in a configuration object
+Dec = Decimal.clone({ precision: 9, rounding: 1 })
+
+x = new Decimal(5)
+y = new Dec(5)
+
+x.div(3)                           // '1.6667'
+y.div(3)                           // '1.66666666'
+```
+
+The value of a Decimal is stored in a floating point format in terms of its digits, exponent and sign, but these properties should be considered read-only.
+
+```js
+x = new Decimal(-12345.67);
+x.d                            // [ 12345, 6700000 ]    digits (base 10000000)
+x.e                            // 4                     exponent (base 10)
+x.s                            // -1                    sign
+```
+
+For further information see the [API](http://mikemcl.github.io/decimal.js/) reference in the *doc* directory.
+
+## Test
+
+To run the tests using Node.js from the root directory:
+
+```bash
+npm test
+```
+
+Each separate test module can also be executed individually, for example:
+
+```bash
+node test/modules/toFraction
+```
+
+To run the tests in a browser, open *test/test.html*.
+
+## Minify
+
+Two minification examples:
+
+Using [uglify-js](https://github.com/mishoo/UglifyJS) to minify the *decimal.js* file:
+
+```bash
+npm install uglify-js -g
+uglifyjs decimal.js --source-map url=decimal.min.js.map -c -m -o decimal.min.js
+```
+
+Using [terser](https://github.com/terser/terser) to minify the ES module version, *decimal.mjs*:
+
+```bash
+npm install terser -g
+terser decimal.mjs --source-map url=decimal.min.mjs.map -c -m --toplevel -o decimal.min.mjs
+```
+
+```js
+import Decimal from './decimal.min.mjs';
+```
+
+## Licence
+
+[The MIT Licence (Expat).](LICENCE.md)

+ 299 - 0
node_modules/decimal.js/decimal.d.ts

@@ -0,0 +1,299 @@
+// Type definitions for decimal.js >=7.0.0
+// Project: https://github.com/MikeMcl/decimal.js
+// Definitions by: Michael Mclaughlin <https://github.com/MikeMcl>
+// Definitions: https://github.com/MikeMcl/decimal.js
+//
+// Documentation: http://mikemcl.github.io/decimal.js/
+//
+// Exports:
+//
+//   class     Decimal (default export)
+//   type      Decimal.Constructor
+//   type      Decimal.Instance
+//   type      Decimal.Modulo
+//   type      Decimal.Rounding
+//   type      Decimal.Value
+//   interface Decimal.Config
+//
+// Example (alternative syntax commented-out):
+//
+//   import {Decimal} from "decimal.js"
+//   //import Decimal from "decimal.js"
+//
+//   let r: Decimal.Rounding = Decimal.ROUND_UP;
+//   let c: Decimal.Configuration = {precision: 4, rounding: r};
+//   Decimal.set(c);
+//   let v: Decimal.Value = '12345.6789';
+//   let d: Decimal = new Decimal(v);
+//   //let d: Decimal.Instance = new Decimal(v);
+//
+// The use of compiler option `--strictNullChecks` is recommended.
+
+export default Decimal;
+
+export namespace Decimal {
+  export type Constructor = typeof Decimal;
+  export type Instance = Decimal;
+  export type Rounding = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
+  export type Modulo = Rounding | 9;
+  export type Value = string | number | Decimal;
+
+  // http://mikemcl.github.io/decimal.js/#constructor-properties
+  export interface Config {
+    precision?: number;
+    rounding?: Rounding;
+    toExpNeg?: number;
+    toExpPos?: number;
+    minE?: number;
+    maxE?: number;
+    crypto?: boolean;
+    modulo?: Modulo;
+    defaults?: boolean;
+  }
+}
+
+export declare class Decimal {
+  readonly d: number[];
+  readonly e: number;
+  readonly s: number;
+
+  constructor(n: Decimal.Value);
+
+  absoluteValue(): Decimal;
+  abs(): Decimal;
+
+  ceil(): Decimal;
+  
+  clampedTo(min: Decimal.Value, max: Decimal.Value): Decimal;
+  clamp(min: Decimal.Value, max: Decimal.Value): Decimal;
+
+  comparedTo(n: Decimal.Value): number;
+  cmp(n: Decimal.Value): number;
+
+  cosine(): Decimal;
+  cos(): Decimal;
+
+  cubeRoot(): Decimal;
+  cbrt(): Decimal;
+
+  decimalPlaces(): number;
+  dp(): number;
+
+  dividedBy(n: Decimal.Value): Decimal;
+  div(n: Decimal.Value): Decimal;
+
+  dividedToIntegerBy(n: Decimal.Value): Decimal;
+  divToInt(n: Decimal.Value): Decimal;
+
+  equals(n: Decimal.Value): boolean;
+  eq(n: Decimal.Value): boolean;
+
+  floor(): Decimal;
+
+  greaterThan(n: Decimal.Value): boolean;
+  gt(n: Decimal.Value): boolean;
+
+  greaterThanOrEqualTo(n: Decimal.Value): boolean;
+  gte(n: Decimal.Value): boolean;
+
+  hyperbolicCosine(): Decimal;
+  cosh(): Decimal;
+
+  hyperbolicSine(): Decimal;
+  sinh(): Decimal;
+
+  hyperbolicTangent(): Decimal;
+  tanh(): Decimal;
+
+  inverseCosine(): Decimal;
+  acos(): Decimal;
+
+  inverseHyperbolicCosine(): Decimal;
+  acosh(): Decimal;
+
+  inverseHyperbolicSine(): Decimal;
+  asinh(): Decimal;
+
+  inverseHyperbolicTangent(): Decimal;
+  atanh(): Decimal;
+
+  inverseSine(): Decimal;
+  asin(): Decimal;
+
+  inverseTangent(): Decimal;
+  atan(): Decimal;
+
+  isFinite(): boolean;
+
+  isInteger(): boolean;
+  isInt(): boolean;
+
+  isNaN(): boolean;
+
+  isNegative(): boolean;
+  isNeg(): boolean;
+
+  isPositive(): boolean;
+  isPos(): boolean;
+
+  isZero(): boolean;
+
+  lessThan(n: Decimal.Value): boolean;
+  lt(n: Decimal.Value): boolean;
+
+  lessThanOrEqualTo(n: Decimal.Value): boolean;
+  lte(n: Decimal.Value): boolean;
+
+  logarithm(n?: Decimal.Value): Decimal;
+  log(n?: Decimal.Value): Decimal;
+
+  minus(n: Decimal.Value): Decimal;
+  sub(n: Decimal.Value): Decimal;
+
+  modulo(n: Decimal.Value): Decimal;
+  mod(n: Decimal.Value): Decimal;
+
+  naturalExponential(): Decimal;
+  exp(): Decimal;
+
+  naturalLogarithm(): Decimal;
+  ln(): Decimal;
+
+  negated(): Decimal;
+  neg(): Decimal;
+
+  plus(n: Decimal.Value): Decimal;
+  add(n: Decimal.Value): Decimal;
+
+  precision(includeZeros?: boolean): number;
+  sd(includeZeros?: boolean): number;
+
+  round(): Decimal;
+
+  sine() : Decimal;
+  sin() : Decimal;
+
+  squareRoot(): Decimal;
+  sqrt(): Decimal;
+
+  tangent() : Decimal;
+  tan() : Decimal;
+
+  times(n: Decimal.Value): Decimal;
+  mul(n: Decimal.Value) : Decimal;
+
+  toBinary(significantDigits?: number): string;
+  toBinary(significantDigits: number, rounding: Decimal.Rounding): string;
+
+  toDecimalPlaces(decimalPlaces?: number): Decimal;
+  toDecimalPlaces(decimalPlaces: number, rounding: Decimal.Rounding): Decimal;
+  toDP(decimalPlaces?: number): Decimal;
+  toDP(decimalPlaces: number, rounding: Decimal.Rounding): Decimal;
+
+  toExponential(decimalPlaces?: number): string;
+  toExponential(decimalPlaces: number, rounding: Decimal.Rounding): string;
+
+  toFixed(decimalPlaces?: number): string;
+  toFixed(decimalPlaces: number, rounding: Decimal.Rounding): string;
+
+  toFraction(max_denominator?: Decimal.Value): Decimal[];
+
+  toHexadecimal(significantDigits?: number): string;
+  toHexadecimal(significantDigits: number, rounding: Decimal.Rounding): string;
+  toHex(significantDigits?: number): string;
+  toHex(significantDigits: number, rounding?: Decimal.Rounding): string;
+
+  toJSON(): string;
+
+  toNearest(n: Decimal.Value, rounding?: Decimal.Rounding): Decimal;
+
+  toNumber(): number;
+
+  toOctal(significantDigits?: number): string;
+  toOctal(significantDigits: number, rounding: Decimal.Rounding): string;
+
+  toPower(n: Decimal.Value): Decimal;
+  pow(n: Decimal.Value): Decimal;
+
+  toPrecision(significantDigits?: number): string;
+  toPrecision(significantDigits: number, rounding: Decimal.Rounding): string;
+
+  toSignificantDigits(significantDigits?: number): Decimal;
+  toSignificantDigits(significantDigits: number, rounding: Decimal.Rounding): Decimal;
+  toSD(significantDigits?: number): Decimal;
+  toSD(significantDigits: number, rounding: Decimal.Rounding): Decimal;
+
+  toString(): string;
+
+  truncated(): Decimal;
+  trunc(): Decimal;
+
+  valueOf(): string;
+
+  static abs(n: Decimal.Value): Decimal;
+  static acos(n: Decimal.Value): Decimal;
+  static acosh(n: Decimal.Value): Decimal;
+  static add(x: Decimal.Value, y: Decimal.Value): Decimal;
+  static asin(n: Decimal.Value): Decimal;
+  static asinh(n: Decimal.Value): Decimal;
+  static atan(n: Decimal.Value): Decimal;
+  static atanh(n: Decimal.Value): Decimal;
+  static atan2(y: Decimal.Value, x: Decimal.Value): Decimal;
+  static cbrt(n: Decimal.Value): Decimal;
+  static ceil(n: Decimal.Value): Decimal;
+  static clamp(n: Decimal.Value, min: Decimal.Value, max: Decimal.Value): Decimal;
+  static clone(object?: Decimal.Config): Decimal.Constructor;
+  static config(object: Decimal.Config): Decimal.Constructor;
+  static cos(n: Decimal.Value): Decimal;
+  static cosh(n: Decimal.Value): Decimal;
+  static div(x: Decimal.Value, y: Decimal.Value): Decimal;
+  static exp(n: Decimal.Value): Decimal;
+  static floor(n: Decimal.Value): Decimal;
+  static hypot(...n: Decimal.Value[]): Decimal;
+  static isDecimal(object: any): object is Decimal;
+  static ln(n: Decimal.Value): Decimal;
+  static log(n: Decimal.Value, base?: Decimal.Value): Decimal;
+  static log2(n: Decimal.Value): Decimal;
+  static log10(n: Decimal.Value): Decimal;
+  static max(...n: Decimal.Value[]): Decimal;
+  static min(...n: Decimal.Value[]): Decimal;
+  static mod(x: Decimal.Value, y: Decimal.Value): Decimal;
+  static mul(x: Decimal.Value, y: Decimal.Value): Decimal;
+  static noConflict(): Decimal.Constructor;   // Browser only
+  static pow(base: Decimal.Value, exponent: Decimal.Value): Decimal;
+  static random(significantDigits?: number): Decimal;
+  static round(n: Decimal.Value): Decimal;
+  static set(object: Decimal.Config): Decimal.Constructor;
+  static sign(n: Decimal.Value): number;
+  static sin(n: Decimal.Value): Decimal;
+  static sinh(n: Decimal.Value): Decimal;
+  static sqrt(n: Decimal.Value): Decimal;
+  static sub(x: Decimal.Value, y: Decimal.Value): Decimal;
+  static sum(...n: Decimal.Value[]): Decimal;
+  static tan(n: Decimal.Value): Decimal;
+  static tanh(n: Decimal.Value): Decimal;
+  static trunc(n: Decimal.Value): Decimal;
+
+  static readonly default?: Decimal.Constructor;
+  static readonly Decimal?: Decimal.Constructor;
+
+  static readonly precision: number;
+  static readonly rounding: Decimal.Rounding;
+  static readonly toExpNeg: number;
+  static readonly toExpPos: number;
+  static readonly minE: number;
+  static readonly maxE: number;
+  static readonly crypto: boolean;
+  static readonly modulo: Decimal.Modulo;
+
+  static readonly ROUND_UP: 0;
+  static readonly ROUND_DOWN: 1;
+  static readonly ROUND_CEIL: 2;
+  static readonly ROUND_FLOOR: 3;
+  static readonly ROUND_HALF_UP: 4;
+  static readonly ROUND_HALF_DOWN: 5;
+  static readonly ROUND_HALF_EVEN: 6;
+  static readonly ROUND_HALF_CEIL: 7;
+  static readonly ROUND_HALF_FLOOR: 8;
+  static readonly EUCLID: 9;
+}

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 4934 - 0
node_modules/decimal.js/decimal.js


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 4898 - 0
node_modules/decimal.js/decimal.mjs


+ 85 - 0
node_modules/decimal.js/package.json

@@ -0,0 +1,85 @@
+{
+  "_from": "decimal.js",
+  "_id": "decimal.js@10.4.3",
+  "_inBundle": false,
+  "_integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==",
+  "_location": "/decimal.js",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "tag",
+    "registry": true,
+    "raw": "decimal.js",
+    "name": "decimal.js",
+    "escapedName": "decimal.js",
+    "rawSpec": "",
+    "saveSpec": null,
+    "fetchSpec": "latest"
+  },
+  "_requiredBy": [
+    "#USER",
+    "/"
+  ],
+  "_resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz",
+  "_shasum": "1044092884d245d1b7f65725fa4ad4c6f781cc23",
+  "_spec": "decimal.js",
+  "_where": "F:\\微信开发者工具\\xiaoshi-wx_product\\xiaoshi-wx",
+  "author": {
+    "name": "Michael Mclaughlin",
+    "email": "M8ch88l@gmail.com"
+  },
+  "browser": "decimal.js",
+  "bugs": {
+    "url": "https://github.com/MikeMcl/decimal.js/issues"
+  },
+  "bundleDependencies": false,
+  "deprecated": false,
+  "description": "An arbitrary-precision Decimal type for JavaScript.",
+  "exports": {
+    ".": {
+      "types": "./decimal.d.ts",
+      "import": "./decimal.mjs",
+      "require": "./decimal.js"
+    },
+    "./decimal.mjs": "./decimal.mjs",
+    "./decimal.js": "./decimal.js",
+    "./package.json": "./package.json",
+    "./decimal": {
+      "types": "./decimal.d.ts",
+      "import": "./decimal.mjs",
+      "require": "./decimal.js"
+    }
+  },
+  "files": [
+    "decimal.js",
+    "decimal.mjs",
+    "decimal.d.ts"
+  ],
+  "homepage": "https://github.com/MikeMcl/decimal.js#readme",
+  "keywords": [
+    "arbitrary",
+    "precision",
+    "arithmetic",
+    "big",
+    "number",
+    "decimal",
+    "float",
+    "biginteger",
+    "bigdecimal",
+    "bignumber",
+    "bigint",
+    "bignum"
+  ],
+  "license": "MIT",
+  "main": "decimal",
+  "module": "decimal.mjs",
+  "name": "decimal.js",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/MikeMcl/decimal.js.git"
+  },
+  "scripts": {
+    "test": "node ./test/test.js"
+  },
+  "types": "decimal.d.ts",
+  "version": "10.4.3"
+}

+ 5 - 0
package-lock.json

@@ -9,6 +9,11 @@
       "resolved": "https://registry.npmjs.org/@vant/weapp/-/weapp-1.11.4.tgz",
       "integrity": "sha512-egOsWO4hVMP1SQSqQ46jy8UD3WysvlnUecRzPM21Y3ovkOFZ6wlaO7oHQmTXRpwr+V41Qri1qEbtNjhVxFqdyw=="
     },
+    "decimal.js": {
+      "version": "10.4.3",
+      "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz",
+      "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA=="
+    },
     "wux-weapp": {
       "version": "3.11.1",
       "resolved": "https://registry.npmjs.org/wux-weapp/-/wux-weapp-3.11.1.tgz",

+ 1 - 0
package.json

@@ -10,6 +10,7 @@
   "license": "ISC",
   "dependencies": {
     "@vant/weapp": "^1.11.4",
+    "decimal.js": "^10.4.3",
     "wux-weapp": "^3.11.1"
   }
 }

+ 0 - 282
pages/memberCenter/memberCenter.js

@@ -1,282 +0,0 @@
-// pages/memberCenter/memberCenter.js
-const api = require('../../api/index')
-const pay = require('../../utils/pay')
-const app = getApp()
-Page({
-
-  /**
-   * 页面的初始数据
-   */
-  data: {
-    localImagePath:app.globalData.localImagePath,
-    imgHttp:app.globalData.imghttp,
-    userinfo:{},
-    equity:[
-      {
-        icon:'/static/svg/down.png',
-        label:'权益一'
-      },
-      {
-        icon:'/static/svg/会员权益 (1).png',
-        label:'权益二'
-      },
-      {
-        icon:'/static/svg/会员权益.png',
-        label:'权益三'
-      },
-      {
-        icon:'/static/svg/会员级别处理.png',
-        label:'权益四'
-      },
-    ],
-    grades:[
-      {
-        background_icon:'/static/svg/B级会员背景图标.svg',
-        background_color:'#3f395c',
-        grade:'B级会员',
-        money:'365'
-      },
-      {
-        background_icon:'/static/svg/A级会员背景图标.svg',
-        background_color:'#ff0101',
-        grade:'A级会员',
-        money:'520'
-      },
-      {
-        background_icon:'/static/svg/S级会员背景图标.svg',
-        background_color:'#000000',
-        grade:'S级会员',
-        money:'888'
-      },
-    ],
-    choseVip:null,
-    tableData:[],//会员权益
-    tableHead:[]
-  },
-
-  /**
-   * 生命周期函数--监听页面加载
-   */
-  onLoad(options) {
-    this.getUserinfo()
-  //   var thead= [
-  //     { key: 'orderNum', name: '订单编号' },
-  //     { key: 'machNum', name: '机器编号' },
-  //     { key: 'planeNum', name: '计划生产数量' },
-  //     { key: 'planeEndTime', name: '计划结束时间' },
-  //     { key: 'productName', name: '产品名称' }
-  // ]
-  // var data= [
-  //     { orderNum: '01234dsnfbujhcdsvfkudshcvjbsdkcbsdjkchbsdjkhb', machNum: '23', planeNum: '20', planeEndTime: '2022-08-08', productName: '8W0 864 733-B9_PA' },
-  //     { orderNum: '31234', machNum: '23', planeNum: '20', planeEndTime: '2022-08-08', productName: '8W0 864 733-B9_PA' },
-  //     { orderNum: '13455', machNum: '23', planeNum: '20', planeEndTime: '2022-08-08', productName: '8W0 864 733-B9_PA' },
-  //     { orderNum: '47867', machNum: '23', planeNum: '20', planeEndTime: '2022-08-08', productName: '8W0 864 733-B9_PA' },
-  //     { orderNum: '34565', machNum: '23', planeNum: '20', planeEndTime: '2022-08-08', productName: '8W0 864 733-B9_PA' },
-  //     { orderNum: '76809', machNum: '23', planeNum: '20', planeEndTime: '2022-08-08', productName: '8W0 864 733-B9_PA' },
-  //     { orderNum: '01034', machNum: '23', planeNum: '20', planeEndTime: '2022-08-08', productName: '8W0 864 733-B9_PA' }
-  // ]
-  // this.setData(
-  //   {
-  //     tableHead:thead,
-  //     tableData:data
-  //   }
-  // )
-
-    this.queryAllVip()
-    
-  },
-
-  /**
-   * 生命周期函数--监听页面初次渲染完成
-   */
-  onReady() {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面显示
-   */
-  onShow() {
-
-  },
-
-  /**
-   * 页面功能
-   */
-  //获取所有会员
-   queryAllVip(){
-    var that = this
-    api.queryAllVip().then(res=>{
-      if(res.code == 200){
-        console.log(res)
-        var data = res.data.data
-        var grades = []
-        var tableHead = [
-          {
-            key:"functionName",
-            name:''
-          }
-        ]
-        data.forEach(item => {
-          var config = JSON.parse(item.configParameter)
-          var obj =  {
-            background_icon:config.background_icon,
-            background_color:config.background_color,
-            grade:item.name,
-            money:item.price,
-            vipUuid:item.vipUuid
-          }
-          tableHead.push(
-            {
-              key:item.vipUuid,
-              name:item.name
-            }
-          )
-          grades.push(obj)
-        })
-        that.setData(
-          {
-            grades:grades,
-            tableHead:tableHead,
-            choseVip:null
-          }
-        )
-        that.getVipRights()
-        console.log(that.data.grades)
-      }
-    })
-  },
-  //获取会员权益
-  getVipRights(){
-    var that = this
-    api.getVipRights().then(res=>{
-      if(res.code == 200){
-        var data = res.data.data
-        var tableData = []
-        for(var i = 0;i<data.length;i++){
-          var obj = {
-            functionName:data[i].functionName
-          }
-          var right = data[i].vipRightsVOList
-          for(var j = 0;j<that.data.tableHead.length;j++){
-            var head = that.data.tableHead[j]
-            if(head.key == 'functionName'){
-              continue
-            }
-            var obj2 = right.find(item=>{
-              return item.vipUuid == head.key
-            })
-            if(obj2){
-              obj[head.key] = obj2.description
-            }else{
-              obj[head.key] = ''
-            }
-          }
-          tableData.push(obj)
-        }
-        that.setData(
-          {
-            tableData:tableData
-          }
-        )
-        console.log(that.data.tableHead,that.data.tableData)
-      }
-    })
-  },
-  //获取用户信息
-  getUserinfo(){
-    api.selectPerson().then(res=>{
-      if(res.code == 200){
-        this.setData(
-          {
-            userinfo:res.data
-          }
-        )
-      }
-    })
-  },
-  //选择开通会员类型
-  chooseVip(e){
-    var {item} = e.currentTarget.dataset
-    this.setData(
-      {
-        choseVip:item
-      }
-    )
-  },
-  //开通会员
-  openVip(){
-    if(!this.data.choseVip){
-      api.notify(
-        {
-          type:'warning',
-          message:'请先选择需要开通会员的类型',
-          top:wx.getStorageSync('height')
-        }
-      )
-      return
-    }
-    var params = {
-      goodType:1,
-      goodUuid:this.data.choseVip.vipUuid
-    }
-    wx.showLoading({
-      title: '加载中',
-    })
-    pay.payMoney(params).then(res=>{
-      console.log(res)
-      if(res.errMsg == 'requestPayment:ok'){
-        api.notify(
-          {
-            type:'success',
-            message:'开通会员成功',
-            top:wx.getStorageSync('height')
-          }
-        )
-        this.getUserinfo()
-        var pages = getCurrentPages()
-        var currentPage = pages[pages.length - 2]
-        currentPage.getUserinfo()
-      }
-    }).catch(error=>{
-
-    })
-  
-  },
-
-
-  /**
-   * 生命周期函数--监听页面隐藏
-   */
-  onHide() {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面卸载
-   */
-  onUnload() {
-
-  },
-
-  /**
-   * 页面相关事件处理函数--监听用户下拉动作
-   */
-  onPullDownRefresh() {
-
-  },
-
-  /**
-   * 页面上拉触底事件的处理函数
-   */
-  onReachBottom() {
-
-  },
-
-  /**
-   * 用户点击右上角分享
-   */
-  onShareAppMessage() {
-
-  }
-})

+ 0 - 7
pages/memberCenter/memberCenter.json

@@ -1,7 +0,0 @@
-{
-  "navigationStyle": "custom",
-  "usingComponents": {
-    "wux-avatar":"/miniprogram_npm/wux-weapp/avatar/index",
-    "mytable":"/myComponents/table/table"
-  }
-}

+ 0 - 40
pages/memberCenter/memberCenter.wxml

@@ -1,40 +0,0 @@
-<!--pages/memberCenter/memberCenter.wxml-->
-<navBar></navBar>
-<van-notify id="van-notify"></van-notify>
-<view class="memberCenter">
-  <view class="headTitle">会员中心</view>
-  <view class="content">
-    <view class="userinfo">
-      <view class="left">
-        <wux-avatar size="large" wx:if="{{userinfo.fileGuid}}" src="{{imgHttp}}{{userinfo.fileGuid}}"></wux-avatar>
-      <wux-avatar size="large" wx:else src="/static/image/unlogin.jpeg"></wux-avatar>
-        <view class="message">
-          <view class="name">{{userinfo.name || userinfo.phoneNum}}</view>
-          <view class="description">请选择您要开通的会员等级</view>
-        </view>
-      </view>
-      <view class="type"> <text class="iconfont myIconrenyuan icon"></text> {{userinfo.vip.name || '普通用户'}}</view>
-    </view>
-    <view class="equity">
-      <view class="equity_item" wx:for="{{equity}}" wx:key="index">
-        <!-- <view class="equity_item_icon iconfont {{item.icon}}"></view> -->
-        <view class="equity_item_icon backGroundImage" style="background-image: url('{{localImagePath}}{{item.icon}}')"></view>
-        <view class="equity_item_lable">{{item.label}}</view>
-      </view>
-    </view>
-    <view class="grades">
-      <view  wx:for="{{grades}}" wx:key="index" class="grades_item backGroundImage {{choseVip.vipUuid == item.vipUuid?'checked':''}}" style="background-image: url('{{localImagePath}}{{item.background_icon}}');background-color: {{item.background_color}};" data-item="{{item}}" bind:tap="chooseVip">
-        <view class="grades_item_label">{{item.grade}}</view>
-        <view class="money">¥<text class="money_value">{{item.money}}</text>/年</view>
-      </view>
-    </view>
-    <view class="headTitle" bind:tap="openVip">立即开通</view>
-    <view class="equityDetails">
-      <view class="equityDetails_title">会员权益说明</view>
-      <view class="equityDetails_content">
-        <mytable thead="{{tableHead}}" data="{{tableData}}"></mytable>
-      </view>
-    </view>
-  </view>
-  
-</view>

+ 0 - 121
pages/memberCenter/memberCenter.wxss

@@ -1,121 +0,0 @@
-/* pages/memberCenter/memberCenter.wxss */
-.memberCenter{
-  padding: 0 30rpx;
-}
-.content{
-  margin-top: 15rpx;
-  height: 1000rpx;
-}
-.userinfo{
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-}
-.left{
-  display: flex;
-  align-items: center;
-}
-.message{
-  margin-left: 15rpx;
-}
-.name{
-  font-size: 35rpx;
-  font-weight: bolder;
-}
-.description{
-  font-size: 25rpx;
-}
-.type{
-  width: 170rpx;
-  font-size: 30rpx;
-  color: #ffffff;
-  /* font-weight: bold; */
-  border-radius: 50rpx;
-  background-color: var(--themeColor);
-}
-.icon{
-  font-size: 25rpx;
-  margin-left: 8rpx;
-  background-color: #ffffff;
-  border-radius: 50%;
-  padding: 4rpx;
-}
-
-.equity{
-  margin-top: 15rpx;
-  padding: 20rpx;
-  background-color: var(--themeColor);
-  border-radius: 10rpx;
-  display: flex;
-  justify-content: space-around;
-  align-items: center;
-}
-.equity_item{
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  color: #ffcc00;
-}
-.equity_item_icon{
-  width: 80rpx;
-  height: 80rpx;
-  margin-bottom: 15rpx;
-}
-.grades{
-  margin: 20rpx 0;
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-  /* background-color: var(--themeColor); */
-}
-.backGroundImage{
-  
-  background-size:contain; /* 图片覆盖整个容器,可能部分图片不可见 */  
-  background-position: center; /* 图片居中显示 */  
-  background-repeat: no-repeat; /* 图片不重复 */  
-}
-.grades_item{
-  border-radius: 10rpx;
-  color: #ffcc00;
-  font-weight: bold;
-  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  margin: 10rpx;
-  padding: 10rpx;
-  width: 100%;
-  height: 100%;
-}
-.grades_item_label{
-  font-size: 40rpx;
-  line-height: 2rem;
-}
-.money{
-  font-size: 25rpx;
-}
-.money_value{
-  font-size: 50rpx;
-}
-
-.checked{
-  box-shadow: 
-  5px 5px 0 0 var(--themeColor), 
-  -5px 5px 0 0 var(--themeColor), /* 左上角 */
-  5px -5px 0 0 var(--themeColor), /* 右上角 */
-  -5px -5px 0 0 var(--themeColor); /* 右下角 */
-}
-
-.equityDetails{
-  margin-top: 20rpx;
-}
-.equityDetails_title{
-  text-align: end;
-  font-weight: 500;
-}
-.equityDetails_content{
-  margin: 20rpx 0;
-}
-
-
-

+ 17 - 7
pages/voucher/voucher.js

@@ -1,6 +1,7 @@
 // pages/voucher/voucher.js
 const api = require('../../api/index')
 const pay = require('../../utils/pay')
+const  Decimal = require('../../utils/decimal');
 Page({
 
   /**
@@ -205,9 +206,12 @@ Page({
     var discount = 0
     arr.forEach(item=>{
       if(item.type == 1){
-        discount = Number(this.data.totalPrice) * (1 - Number(item.amount))
+        // discount = Number(this.data.totalPrice) * (1 - Number(item.amount))
+        var num = Decimal.sub([1,item.amount])
+        discount = Decimal.mul([this.data.totalPrice,num])
       }else{
-        discount += Number(item.amount)
+        // discount += Number(item.amount)
+        discount = Decimal.add([discount,item.amount])
       }
       
     })
@@ -231,9 +235,12 @@ Page({
     var payMoney = 0
     arr.forEach(item=>{
       if(item.buyNumber){
-        payMoney += Number(item.sellingPrice) * Number(item.buyNumber)
+        var money1 = Decimal.mul([item.sellingPrice,item.buyNumber])
+        payMoney = Decimal.add([payMoney,money1])
+        // payMoney += Number(item.sellingPrice) * Number(item.buyNumber)
       }else{
-        payMoney += Number(item.sellingPrice)
+        // payMoney += Number(item.sellingPrice)
+        payMoney = Decimal.add([payMoney,item.sellingPrice])
       }
       
     })
@@ -251,12 +258,15 @@ Page({
       var payMoney = this.data.payMoney
       if(item.buyNumber){
         if(item.buyNumber < value){
-          payMoney  =Number(payMoney) + Number(item.sellingPrice)
+          // payMoney  =Number(payMoney) + Number(item.sellingPrice)
+          payMoney = Decimal.add([payMoney,item.sellingPrice])
         }else if(item.buyNumber > value){
-          payMoney  =Number(payMoney) - Number(item.sellingPrice)
+          // payMoney  =Number(payMoney) - Number(item.sellingPrice)
+          payMoney = Decimal.sub([payMoney,item.sellingPrice])
         }
       }else{
-        payMoney = Number(payMoney) + Number(item.sellingPrice)
+        // payMoney = Number(payMoney) + Number(item.sellingPrice)
+        payMoney = Decimal.add([payMoney,item.sellingPrice])
       }
       this.setData(
         {

+ 39 - 0
utils/decimal.js

@@ -0,0 +1,39 @@
+const  Decimal = require('../miniprogram_npm/decimal.js/index');
+module.exports={
+//加
+add(arr){
+  var total = 0
+  for(var i = 0;i<arr.length;i++){
+    var num = arr[i]
+    total = Decimal(total).add(Decimal(num)).toNumber()
+  }
+  return total
+},
+//减
+sub(arr){
+  var total = arr[0]
+  for(var i = 1;i<arr.length;i++){
+    var num = arr[i]
+    total = Decimal(total).sub(Decimal(num)).toNumber()
+  }
+  return total
+},
+//乘
+mul(arr){
+  var total = 1
+  for(var i = 0;i<arr.length;i++){
+    var num = arr[i]
+    total = Decimal(total).mul(Decimal(num)).toNumber()
+  }
+  return total
+},
+//除
+div:(arr)=>{
+  var total = arr[0]
+  for(var i = 1;i<arr.length;i++){
+    var num = arr[i]
+    total = Decimal(total).div(Decimal(num)).toNumber()
+  }
+  return total
+}
+}

+ 5 - 0
utils/pay.js

@@ -52,6 +52,11 @@ function payMoney(data){
                 }
               }
             )
+      }else if(res.code == 901){
+        var obj = {
+          errMsg: 'requestPayment:ok'
+        }
+        resolve(obj); 
       }
     }).catch(error=>{
       reject(error || '未知错误'); 

+ 2 - 2
utils/request.js

@@ -14,7 +14,7 @@ const config = {
   tabbar:["pages/index/index","pages/hotProduct/hotProduct","pages/mine/mine"]
 };  
 const apiUrl = {  
-  develop: 'http://192.168.2.120:8902', // 开发环境地址  
+  develop: 'https://www.xsip.cn/test', // 开发环境地址  
   trial: 'https://www.xsip.cn/test', // 测试环境地址  
   release: 'https://www.xsip.cn' // 生产环境地址  
 };
@@ -85,7 +85,7 @@ function request(url, method = 'GET', data = {}, header = {},isLogin=true) {
                   if (res.cancel) {}
                   if (res.confirm) {
                     wx.navigateTo({
-                      url: '/pages/memberCenter/memberCenter2',
+                      url: '/pages/memberCenter/menberCenter2',
                     })
                   }
                 }