| New file | 
 |  |  | 
 |  |  | <script> | 
 |  |  |     export default { | 
 |  |  |         onLaunch: function() { | 
 |  |  |             console.log('App Launch') | 
 |  |  |         }, | 
 |  |  |         onShow: function() { | 
 |  |  |             console.log('App Show') | 
 |  |  |         }, | 
 |  |  |         onHide: function() { | 
 |  |  |             console.log('App Hide') | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | <style> | 
 |  |  |     /*每个页面公共css */ | 
 |  |  | </style> | 
 
| New file | 
 |  |  | 
 |  |  | <!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> | 
 
| New file | 
 |  |  | 
 |  |  | import App from './App' | 
 |  |  |  | 
 |  |  | // #ifndef VUE3 | 
 |  |  | import Vue from 'vue' | 
 |  |  | Vue.config.productionTip = false | 
 |  |  | App.mpType = 'app' | 
 |  |  |  | 
 |  |  | try { | 
 |  |  |   function isPromise(obj) { | 
 |  |  |     return ( | 
 |  |  |       !!obj && | 
 |  |  |       (typeof obj === "object" || typeof obj === "function") && | 
 |  |  |       typeof obj.then === "function" | 
 |  |  |     ); | 
 |  |  |   } | 
 |  |  |  | 
 |  |  |   // 统一 vue2 API Promise 化返回格式与 vue3 保持一致 | 
 |  |  |   uni.addInterceptor({ | 
 |  |  |     returnValue(res) { | 
 |  |  |       if (!isPromise(res)) { | 
 |  |  |         return res; | 
 |  |  |       } | 
 |  |  |       return new Promise((resolve, reject) => { | 
 |  |  |         res.then((res) => { | 
 |  |  |           if (res[0]) { | 
 |  |  |             reject(res[0]); | 
 |  |  |           } else { | 
 |  |  |             resolve(res[1]); | 
 |  |  |           } | 
 |  |  |         }); | 
 |  |  |       }); | 
 |  |  |     }, | 
 |  |  |   }); | 
 |  |  | } catch (error) { } | 
 |  |  |  | 
 |  |  | const app = new Vue({ | 
 |  |  |   ...App | 
 |  |  | }) | 
 |  |  | app.$mount() | 
 |  |  | // #endif | 
 |  |  |  | 
 |  |  | // #ifdef VUE3 | 
 |  |  | import { createSSRApp } from 'vue' | 
 |  |  | export function createApp() { | 
 |  |  |   const app = createSSRApp(App) | 
 |  |  |   return { | 
 |  |  |     app | 
 |  |  |   } | 
 |  |  | } | 
 |  |  | // #endif | 
 
| New file | 
 |  |  | 
 |  |  | { | 
 |  |  |     "name" : "z", | 
 |  |  |     "appid" : "", | 
 |  |  |     "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" : "2" | 
 |  |  | } | 
 
| New file | 
 |  |  | 
 |  |  | { | 
 |  |  |     "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages | 
 |  |  |         { | 
 |  |  |             "path": "pages/index/index", | 
 |  |  |             "style": { | 
 |  |  |                 "navigationBarTitleText": "uni-app" | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     ], | 
 |  |  |     "globalStyle": { | 
 |  |  |         "navigationBarTextStyle": "black", | 
 |  |  |         "navigationBarTitleText": "uni-app", | 
 |  |  |         "navigationBarBackgroundColor": "#F8F8F8", | 
 |  |  |         "backgroundColor": "#F8F8F8" | 
 |  |  |     }, | 
 |  |  |     "uniIdRouter": {} | 
 |  |  | } | 
 
| New file | 
 |  |  | 
 |  |  | <template> | 
 |  |  |     <view class="content"> | 
 |  |  |         <image class="logo" src="/static/logo.png"></image> | 
 |  |  |         <view class="text-area"> | 
 |  |  |             <text class="title">{{title}}</text> | 
 |  |  |         </view> | 
 |  |  |     </view> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | <script> | 
 |  |  |     export default { | 
 |  |  |         data() { | 
 |  |  |             return { | 
 |  |  |                 title: 'Hello' | 
 |  |  |             } | 
 |  |  |         }, | 
 |  |  |         onLoad() { | 
 |  |  |  | 
 |  |  |         }, | 
 |  |  |         methods: { | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | <style> | 
 |  |  |     .content { | 
 |  |  |         display: flex; | 
 |  |  |         flex-direction: column; | 
 |  |  |         align-items: center; | 
 |  |  |         justify-content: center; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     .logo { | 
 |  |  |         height: 200rpx; | 
 |  |  |         width: 200rpx; | 
 |  |  |         margin-top: 200rpx; | 
 |  |  |         margin-left: auto; | 
 |  |  |         margin-right: auto; | 
 |  |  |         margin-bottom: 50rpx; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     .text-area { | 
 |  |  |         display: flex; | 
 |  |  |         justify-content: center; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     .title { | 
 |  |  |         font-size: 36rpx; | 
 |  |  |         color: #8f8f94; | 
 |  |  |     } | 
 |  |  | </style> | 
 
| New file | 
 |  |  | 
 |  |  | /** | 
 |  |  |  * 这里是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; |