瀏覽代碼

初始化

cz 10 月之前
當前提交
7c4999e80b
共有 10 個文件被更改,包括 432 次插入0 次删除
  1. 5 0
      .gitignore
  2. 24 0
      .hbuilderx/launch.json
  3. 17 0
      App.vue
  4. 20 0
      index.html
  5. 21 0
      main.js
  6. 112 0
      manifest.json
  7. 18 0
      pages.json
  8. 139 0
      pages/index/index.vue
  9. 二進制
      static/logo.png
  10. 76 0
      uni.scss

+ 5 - 0
.gitignore

@@ -0,0 +1,5 @@
+.DS_Store
+nativeplugins/
+unpackage/
+
+

+ 24 - 0
.hbuilderx/launch.json

@@ -0,0 +1,24 @@
+{
+    // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
+    // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
+    "version" : "0.0",
+    "configurations" : [
+        {
+            "app-plus" : {
+                "launchtype" : "local"
+            },
+            "default" : {
+                "launchtype" : "local"
+            },
+            "type" : "uniCloud"
+        },
+        {
+            "playground" : "custom",
+            "type" : "uni-app:app-ios"
+        },
+        {
+            "playground" : "standard",
+            "type" : "uni-app:app-android"
+        }
+    ]
+}

+ 17 - 0
App.vue

@@ -0,0 +1,17 @@
+<script>
+	export default {
+		onLaunch: function() {
+			console.log('onLaunch')
+		},
+		onShow: function() {
+			console.log('App Show')
+		},
+		onHide: function() {
+			console.log('App Hide')
+		}
+	}
+</script>
+
+<style>
+	/*每个页面公共css */
+</style>

+ 20 - 0
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>

+ 21 - 0
main.js

@@ -0,0 +1,21 @@
+import App from './App'
+
+// #ifndef VUE3
+import Vue from 'vue'
+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

+ 112 - 0
manifest.json

@@ -0,0 +1,112 @@
+{
+    "name" : "嘉兴双拓",
+    "appid" : "__UNI__97082BF",
+    "description" : "jxst erp",
+    "versionName" : "1.1",
+    "versionCode" : 11,
+    "transformPx" : false,
+    /* 5+App特有相关 */
+    "app-plus" : {
+        "usingComponents" : true,
+        "nvueStyleCompiler" : "uni-app",
+        "compilerVersion" : 3,
+        "splashscreen" : {
+            "alwaysShowBeforeRender" : true,
+            "waiting" : true,
+            "autoclose" : true,
+            "delay" : 0
+        },
+        /* 模块配置 */
+        "modules" : {
+            "Push" : {}
+        },
+        /* 应用发布信息 */
+        "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" : {
+                "dSYMs" : false
+            },
+            /* SDK配置 */
+            "sdkConfigs" : {
+                "ad" : {},
+                "push" : {}
+            },
+            "icons" : {
+                "android" : {
+                    "hdpi" : "unpackage/res/icons/72x72.png",
+                    "xhdpi" : "unpackage/res/icons/96x96.png",
+                    "xxhdpi" : "unpackage/res/icons/144x144.png",
+                    "xxxhdpi" : "unpackage/res/icons/192x192.png"
+                },
+                "ios" : {
+                    "appstore" : "unpackage/res/icons/1024x1024.png",
+                    "ipad" : {
+                        "app" : "unpackage/res/icons/76x76.png",
+                        "app@2x" : "unpackage/res/icons/152x152.png",
+                        "notification" : "unpackage/res/icons/20x20.png",
+                        "notification@2x" : "unpackage/res/icons/40x40.png",
+                        "proapp@2x" : "unpackage/res/icons/167x167.png",
+                        "settings" : "unpackage/res/icons/29x29.png",
+                        "settings@2x" : "unpackage/res/icons/58x58.png",
+                        "spotlight" : "unpackage/res/icons/40x40.png",
+                        "spotlight@2x" : "unpackage/res/icons/80x80.png"
+                    },
+                    "iphone" : {
+                        "app@2x" : "unpackage/res/icons/120x120.png",
+                        "app@3x" : "unpackage/res/icons/180x180.png",
+                        "notification@2x" : "unpackage/res/icons/40x40.png",
+                        "notification@3x" : "unpackage/res/icons/60x60.png",
+                        "settings@2x" : "unpackage/res/icons/58x58.png",
+                        "settings@3x" : "unpackage/res/icons/87x87.png",
+                        "spotlight@2x" : "unpackage/res/icons/80x80.png",
+                        "spotlight@3x" : "unpackage/res/icons/120x120.png"
+                    }
+                }
+            }
+        },
+        "nativePlugins" : {}
+    },
+    /* 快应用特有相关 */
+    "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"
+}

+ 18 - 0
pages.json

@@ -0,0 +1,18 @@
+{
+	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
+		{
+			"path": "pages/index/index",
+			"style": {
+				"navigationBarTitleText": "",
+				"navigationStyle":"custom"
+			}
+		}
+	],
+	"globalStyle": {
+		"navigationBarTextStyle": "black",
+		"navigationBarTitleText": "uni-app",
+		"navigationBarBackgroundColor": "#F8F8F8",
+		"backgroundColor": "#F8F8F8"
+	},
+	"uniIdRouter": {}
+}

+ 139 - 0
pages/index/index.vue

@@ -0,0 +1,139 @@
+<template>
+	<view class="content">
+		<view class="status_bar">
+			<!-- 这里是状态栏 -->
+		</view>
+		<web-view :src="url" :fullscreen='false' @message="messageData"></web-view>
+	</view>
+
+</template>
+
+<script>
+	// const jpushModule = uni.requireNativePlugin('JG-JPush')
+	var wv
+	export default {
+		data() {
+			return {
+				title: 'jxst',
+				// url: 'http://139.9.102.170:10012/#/',
+				url: 'http://139.9.102.170:10023/#/',
+				src: "",
+				canBack: false,
+			}
+		},
+		onBackPress() {
+			if (wv && this.canBack) {
+				wv.back();
+				return true;
+			}
+			return false;
+		},
+		onReady() {
+			// #ifdef APP-PLUS
+			var self = this;
+			var currentWebview = this.$scope.$getAppWebview();
+			//此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效,非v3编译模式使用this.$mp.page.$getAppWebview()
+			setTimeout(function() {
+				wv = currentWebview.children()[0];
+				wv.addEventListener(
+					"progressChanged",
+					function(e) {
+						wv.canBack(function(e) {
+							self.canBack = e.canBack;
+						});
+					},
+					false
+				);
+			}, 500); //如果是页面初始化调用时,需要延时一下
+			// #endif
+		},
+		onLoad() {
+			var height = 0; //定义动态的高度变量,如高度为定值,可以直接写
+			uni.getSystemInfo({
+				//成功获取的回调函数,返回值为系统信息
+				success: (sysinfo) => {
+					console.log(sysinfo)
+					height = sysinfo.windowHeight; //自行修改,自己需要的高度 此处如底部有其他内容,可以直接---(-50)这种
+				},
+				complete: () => {}
+			});
+			let info = uni.getSystemInfoSync();
+			let top = info.statusBarHeight;
+			console.log(info, 12312312312);
+			var currentWebview = this.$scope.$getAppWebview(); //获取当前web-view
+			setTimeout(function() {
+				var wv = currentWebview.children()[0];
+				wv.setStyle({ //设置web-view距离顶部的距离以及自己的高度,单位为px
+					top: top, //此处是距离顶部的高度,应该是你页面的头部
+					// bottom:0,//防止输入框被软键盘遮挡
+					height: height - top, //webview的高度
+					scalable: false, //webview的页面是否可以缩放,双指放大缩小
+				})
+				// wx.setTitleNViewButtonStyle({
+				// 	index:0,
+				// 	styles:{
+				// 		type:'back'
+				// 	}
+				// }) 
+			}, 1000);
+			// 监听极光连接状态
+			uni.$on('connectStatusChange', (connectStatus) => {
+				if (connectStatus) {
+					var currentWebview = this.$scope.$getAppWebview();
+					var wv = currentWebview.children()[0];
+					// 取得应用程序对应的 RegistrationID。 只有当应用程序成功注册到 JPush 的服务器时才返回对应的值,否则返回空字符串
+					jpushModule.getRegistrationID(result => {
+						console.log(result, "注册ID.....")
+						wv.evalJS(`getVueMessage(${JSON.stringify(result.registerID)})`);
+					})
+				}
+			})
+		},
+		onUnload() {
+			// 移除监听事件  
+			uni.$off('connectStatusChange')
+		},
+		methods: {
+			messageData(e) {
+				const data = e.detail.data
+				var currentWebview = this.$scope.$getAppWebview(); //获取当前web-view
+				var wv = currentWebview.children()[0];
+				if (data[0].type == 'file') {
+					let url = data[0].url
+					uni.downloadFile({
+						url: url, // 文件的下载链接
+						success: function(res) {
+							// 下载成功
+							if (res.statusCode === 200) {
+								// 打开文件
+								uni.openDocument({
+									filePath: res.tempFilePath,
+									success: function(res) {},
+									fail: function(error) {}
+								});
+							}
+						},
+						fail: function(error) {}
+					});
+				} else if (data[0].type == 'scanCode') {
+					// 允许从相机和相册扫码
+					uni.scanCode({
+						success: (res) => {
+							wv.evalJS(`getVueMessage(${JSON.stringify(res.result)})`);
+						}
+					});
+				}
+
+			}
+		}
+	}
+</script>
+
+<style>
+	.content {}
+
+	.status_bar {
+		height: var(--status-bar-height);
+		width: 100%;
+	}
+</style>sss

二進制
static/logo.png


+ 76 - 0
uni.scss

@@ -0,0 +1,76 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+
+/* 颜色变量 */
+
+/* 行为相关颜色 */
+$uni-color-primary: #007aff;
+$uni-color-success: #4cd964;
+$uni-color-warning: #f0ad4e;
+$uni-color-error: #dd524d;
+
+/* 文字基本颜色 */
+$uni-text-color:#333;//基本色
+$uni-text-color-inverse:#fff;//反色
+$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息
+$uni-text-color-placeholder: #808080;
+$uni-text-color-disable:#c0c0c0;
+
+/* 背景颜色 */
+$uni-bg-color:#ffffff;
+$uni-bg-color-grey:#f8f8f8;
+$uni-bg-color-hover:#f1f1f1;//点击状态颜色
+$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色
+
+/* 边框颜色 */
+$uni-border-color:#c8c7cc;
+
+/* 尺寸变量 */
+
+/* 文字尺寸 */
+$uni-font-size-sm:12px;
+$uni-font-size-base:14px;
+$uni-font-size-lg:16;
+
+/* 图片尺寸 */
+$uni-img-size-sm:20px;
+$uni-img-size-base:26px;
+$uni-img-size-lg:40px;
+
+/* Border Radius */
+$uni-border-radius-sm: 2px;
+$uni-border-radius-base: 3px;
+$uni-border-radius-lg: 6px;
+$uni-border-radius-circle: 50%;
+
+/* 水平间距 */
+$uni-spacing-row-sm: 5px;
+$uni-spacing-row-base: 10px;
+$uni-spacing-row-lg: 15px;
+
+/* 垂直间距 */
+$uni-spacing-col-sm: 4px;
+$uni-spacing-col-base: 8px;
+$uni-spacing-col-lg: 12px;
+
+/* 透明度 */
+$uni-opacity-disabled: 0.3; // 组件禁用态的透明度
+
+/* 文章场景相关 */
+$uni-color-title: #2C405A; // 文章标题颜色
+$uni-font-size-title:20px;
+$uni-color-subtitle: #555555; // 二级标题颜色
+$uni-font-size-subtitle:26px;
+$uni-color-paragraph: #3F536E; // 文章段落颜色
+$uni-font-size-paragraph:15px;