소스 검색

add project

vbea 1 년 전
부모
커밋
4b62e928a0
5개의 변경된 파일415개의 추가작업 그리고 0개의 파일을 삭제
  1. 254 0
      WebApp-Lite/App.vue
  2. 20 0
      WebApp-Lite/index.html
  3. 22 0
      WebApp-Lite/main.js
  4. 79 0
      WebApp-Lite/manifest.json
  5. 40 0
      WebApp-Lite/pages.json

+ 254 - 0
WebApp-Lite/App.vue

@@ -0,0 +1,254 @@
+<script>
+	export default {
+		onLaunch: function() {
+			console.log('LUMI Web App Launch')
+      uni.setLocale("en")
+		},
+		onShow: function() {
+			console.log('LUMI Web App Show')
+		},
+		onHide: function() {
+			console.log('LUMI Web App Hide')
+		}
+	}
+</script>
+
+<style lang="scss">
+	/*每个页面公共css */
+  @import "@/styles/common.scss";
+  html {
+    --primary-color: #38D29A;
+    --accent-color: #222;
+  }
+  .flex {
+    display: flex;
+    align-items: flex-start;
+  }
+  
+  .flexc {
+    display: flex;
+    align-items: center;
+  }
+  
+  .flexcc {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+  }
+  
+  .flexcn {
+    display: flex;
+    align-items: center;
+    justify-content: flex-end;
+  }
+  
+  .flexcw {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+  }
+  
+  .flexcr {
+    display: flex;
+    flex-wrap: wrap;
+    align-items: center;
+  }
+  
+  .flexccr {
+    display: flex;
+    flex-wrap: wrap;
+    align-items: center;
+    justify-content: center;
+  }
+  
+  .flexl {
+    display: flex;
+    flex-direction: column;
+  }
+  
+  .flexlc {
+    display: flex;
+    align-items: center;
+    flex-direction: column;
+  }
+  
+  .flexln {
+    display: flex;
+    align-items: flex-end;
+    flex-direction: column;
+  }
+  
+  .flexlcc {
+    display: flex;
+    align-items: center;
+    flex-direction: column;
+    justify-content: center;
+  }
+  
+  .flex1 {
+    flex: 1;
+  }
+  
+  .flex2 {
+    flex: 2;
+  }
+  
+  .flex3 {
+    flex: 3;
+  }
+  
+  .flex4 {
+    flex: 4;
+  }
+  
+  .flex5 {
+    flex: 5;
+  }
+  
+  .flex6 {
+    flex: 6;
+  }
+  
+  .center {
+    text-align: center;
+  }
+  
+  .right {
+    text-align: right;
+  }
+  
+  .flex-end {
+    justify-content: flex-end;
+  }
+  
+  .primary-text {
+    color: $uni-color-primary;
+  }
+  
+  .accent-text {
+    color: $uni-color-accent;
+  }
+  
+  .bold {
+    font-weight: bold;
+  }
+  
+  .weight {
+    font-weight: 900;
+  }
+  
+  button::after {
+    border: none !important;
+    border-radius: 0;
+    transition: all .2s;
+    /*content: none !important;*/
+  }
+  button:not([disabled]):active::after {
+    background: rgba(50, 50, 50, .15);
+  }
+  
+  button[disabled] {
+    background-color: #ddd !important;
+  }
+  
+  image {
+    width: 100%;
+    height: 100%;
+  }
+  .margin0 {
+    margin: 0 !important;
+  }
+  .padding0 {
+    padding: 0 !important;
+  }
+  .padding16 {
+    padding: 32rpx !important;
+  }
+  .margin16 {
+    margin: 32rpx !important;
+  }
+  
+  .hide {
+    opacity: 0;
+  }
+  
+  /* #ifdef H5 */
+  .ui-card {
+    padding: 32rpx;
+    position: relative;
+    border-radius: 16rpx;
+    background-color: white;
+    box-shadow: 0px 1px 18rpx rgba(0, 0, 0, 0.2);
+  }
+  /* #endif */
+  /* #ifndef H5 */
+  .ui-card {
+    padding: 32rpx;
+    position: relative;
+    border-radius: 16rpx;
+    background-color: white;
+    box-shadow: 0px 1px 18rpx rgba(0, 0, 0, 0.12);
+  }
+  /* #endif */
+  .card-flat,
+  .ui-card-flat {
+    padding: 0;
+    border-radius: 0;
+  }
+  .ui-link {
+    margin: 5rpx;
+    color: #007aff;
+    font-size: 30rpx;
+    text-decoration: underline;
+  }
+  .ui-link-inline {
+    margin: 0 5rpx;
+    color: #007aff;
+    text-decoration: underline;
+  }
+  .ui-link-no {
+    margin: 0 5rpx;
+    color: #007aff;
+  }
+  .ui-link:active,
+  .ui-link-no:active,
+  .ui-link-inline:active {
+    color: #ff0000;
+  }
+  .card-button:active,
+  .card-button.button-hover {
+    background-color: #eee !important;
+  }
+  .keyboard-divide {
+    width: 100%;
+    font-size: 1pt;
+    color: transparent;
+  }
+  .sign-powerd-by {
+    left: 50%;
+    width: 238rpx;
+    height: 80rpx;
+    bottom: 48rpx;
+    margin-left: -119rpx;
+    position: absolute;
+  }
+  .item-didide-top {
+    border-top: 1px solid #eee;
+  }
+  @media screen and (max-width: 375px) {
+    .sign-powerd-by {
+      width: 198rpx;
+      height: 66rpx;
+      bottom: 20rpx;
+      margin-left: -99rpx;
+    }
+  }
+  @media screen and (max-width: 320px) {
+    .sign-powerd-by {
+      width: 158rpx;
+      height: 53rpx;
+      bottom: 10rpx;
+      margin-left: -79rpx;
+    }
+  }
+</style>

+ 20 - 0
WebApp-Lite/index.html

@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <script>
+      var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
+        CSS.supports('top: constant(a)'))
+      document.write(
+        '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
+        (coverSupport ? ', viewport-fit=cover' : '') + '" />')
+    </script>
+    <title></title>
+    <!--preload-links-->
+    <!--app-context-->
+  </head>
+  <body>
+    <div id="app"><!--app-html--></div>
+    <script type="module" src="/main.js"></script>
+  </body>
+</html>

+ 22 - 0
WebApp-Lite/main.js

@@ -0,0 +1,22 @@
+import App from './App'
+
+// #ifndef VUE3
+import Vue from 'vue'
+import './uni.promisify.adaptor'
+Vue.config.productionTip = false
+App.mpType = 'app'
+const app = new Vue({
+  ...App
+})
+app.$mount()
+// #endif
+
+// #ifdef VUE3
+import { createSSRApp } from 'vue'
+export function createApp() {
+  const app = createSSRApp(App)
+  return {
+    app
+  }
+}
+// #endif

+ 79 - 0
WebApp-Lite/manifest.json

@@ -0,0 +1,79 @@
+{
+    "name" : "WebAPP Lite",
+    "appid" : "__UNI__F0AF788",
+    "description" : "",
+    "versionName" : "1.0.0",
+    "versionCode" : 100,
+    "transformPx" : false,
+    /* 5+App特有相关 */
+    "app-plus" : {
+        "usingComponents" : true,
+        "nvueStyleCompiler" : "uni-app",
+        "compilerVersion" : 3,
+        "splashscreen" : {
+            "alwaysShowBeforeRender" : true,
+            "waiting" : true,
+            "autoclose" : true,
+            "delay" : 0
+        },
+        /* 模块配置 */
+        "modules" : {},
+        /* 应用发布信息 */
+        "distribute" : {
+            /* android打包配置 */
+            "android" : {
+                "permissions" : [
+                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
+                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
+                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
+                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
+                    "<uses-feature android:name=\"android.hardware.camera\"/>",
+                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
+                ]
+            },
+            /* ios打包配置 */
+            "ios" : {},
+            /* SDK配置 */
+            "sdkConfigs" : {}
+        }
+    },
+    /* 快应用特有相关 */
+    "quickapp" : {},
+    /* 小程序特有相关 */
+    "mp-weixin" : {
+        "appid" : "",
+        "setting" : {
+            "urlCheck" : false
+        },
+        "usingComponents" : true
+    },
+    "mp-alipay" : {
+        "usingComponents" : true
+    },
+    "mp-baidu" : {
+        "usingComponents" : true
+    },
+    "mp-toutiao" : {
+        "usingComponents" : true
+    },
+    "uniStatistics" : {
+        "enable" : false
+    },
+    "vueVersion" : "3",
+    "h5" : {
+        "router" : {
+            "base" : "/webapp/"
+        },
+        "title" : "Charge WebApp Lite"
+    },
+    "locale" : "en"
+}

+ 40 - 0
WebApp-Lite/pages.json

@@ -0,0 +1,40 @@
+{
+  "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
+    {
+      "path": "pages/index/index",
+      "style": {
+        "navigationStyle": "custom",
+        "navigationBarTitleText": "Charge WebAPP Lite"
+      }
+    },
+    {
+      "path": "pages/charge/index",
+      "style": {
+        "navigationStyle": "custom",
+        "navigationBarTitleText": "Charge",
+        "enablePullDownRefresh": true
+      }
+    },
+    {
+      "path": "pages/receipt/index",
+      "style": {
+        "navigationStyle": "custom",
+        "navigationBarTitleText": "Receipt"
+      }
+    },
+    {
+      "path": "pages/index/payment",
+      "style": {
+        "navigationStyle": "custom",
+        "navigationBarTitleText": "Payment"
+      }
+    }
+  ],
+  "globalStyle": {
+    "navigationBarTextStyle": "black",
+    "navigationBarTitleText": "uni-app",
+    "navigationBarBackgroundColor": "#FFFFFF",
+    "backgroundColor": "#F8F8F8"
+  },
+  "uniIdRouter": {}
+}