Explorar o código

first conmmit

qiao hai 3 semanas
achega
265a13ea40
Modificáronse 16 ficheiros con 408 adicións e 0 borrados
  1. 21 0
      .gitignore
  2. 16 0
      .hbuilderx/launch.json
  3. 17 0
      App.vue
  4. 20 0
      index.html
  5. 14 0
      locale/en.json
  6. 12 0
      locale/index.js
  7. 13 0
      locale/serbia.json
  8. 13 0
      locale/zh-Hans.json
  9. 33 0
      main.js
  10. 73 0
      manifest.json
  11. 17 0
      pages.json
  12. 42 0
      pages/index/index.vue
  13. BIN=BIN
      static/logo.png
  14. 28 0
      store/index.js
  15. 13 0
      uni.promisify.adaptor.js
  16. 76 0
      uni.scss

+ 21 - 0
.gitignore

@@ -0,0 +1,21 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+.DS_Store
+dist
+*.local
+
+# Editor directories and files
+.idea
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?

+ 16 - 0
.hbuilderx/launch.json

@@ -0,0 +1,16 @@
+{ // 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"
+     }
+    ]
+}

+ 17 - 0
App.vue

@@ -0,0 +1,17 @@
+<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>

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

+ 14 - 0
locale/en.json

@@ -0,0 +1,14 @@
+{
+  "locale.auto": "System",
+  "locale.en": "English",
+  "locale.zh-hans": "简体中文",
+  "locale.serbian":"српски језик",
+  "set.language":"Set language",
+  "tab.home":"Home",
+  "tab.travel":"Travel",
+  "tab.publish":"Publish",
+  "tab.chat":"Chat",
+  "tab.mine":"Mine",
+  "tab.merchant":"Merchant"
+
+}

+ 12 - 0
locale/index.js

@@ -0,0 +1,12 @@
+import en from './en.json'
+import zhHans from './zh-Hans.json'
+import zhHant from './zh-Hant.json'
+import ja from './ja.json'
+import jiliguala from './jiliguala.json'
+export default {
+	en,
+	'zh-Hans': zhHans,
+	'zh-Hant': zhHant,
+	ja,
+	jiliguala
+}

+ 13 - 0
locale/serbia.json

@@ -0,0 +1,13 @@
+{
+	"locale.auto": "систем",
+	"locale.en": "English",
+	"locale.zh-hans": "中文简体",
+	"locale.serbian":"српски језик",
+	"set.language":"Поставити језик",
+	"tab.home":"Почетна",
+	"tab.travel":"Путовање",
+	"tab.publish":"Публиковање",
+	"tab.chat":"Чатовање",
+	"tab.mine":"Моје",
+	"tab.merchant":"Мерчант"
+}

+ 13 - 0
locale/zh-Hans.json

@@ -0,0 +1,13 @@
+{
+	"locale.auto": "跟随系统",
+	"locale.en": "英语",
+	"locale.zh-hans": "简体中文",
+	"locale.serbian":"塞尔维亚",
+	"set.language":"设置语言",
+	"tab.home":"首页",
+	"tab.travel":"游记",
+	"tab.publish":"发布",
+	"tab.chat":"消息",
+	"tab.mine":"我的",
+	"tab.merchant":"商家"
+}

+ 33 - 0
main.js

@@ -0,0 +1,33 @@
+import App from './App'
+// import uviewPlus from '@/uni_modules/uview-plus'
+import * as Pinia from 'pinia';
+import { createSSRApp } from 'vue'
+
+import { createI18n } from 'vue-i18n'
+import en from './locale/en.json'
+import zhHans from './locale/zh-Hans.json'
+import serbian from './locale/serbia.json'
+const messages = {
+	en,
+	'zh-Hans': zhHans,
+	serbian
+}
+let i18nConfig = {
+	// legacy: false,
+  locale: uni.getLocale(),
+  messages:messages
+}
+
+const i18n = createI18n(i18nConfig)
+
+export function createApp() {
+  const app = createSSRApp(App)
+  app.use(Pinia.createPinia())
+  // app.use(uviewPlus)
+  app.use(i18n)
+  // app.config.globalProperties.$i18n=i18n
+  return {
+    app,
+	Pinia
+  }
+}

+ 73 - 0
manifest.json

@@ -0,0 +1,73 @@
+{
+    "name" : "shop-app",
+    "appid" : "__UNI__9002632",
+    "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",
+    "locale" : "auto"
+}

+ 17 - 0
pages.json

@@ -0,0 +1,17 @@
+{
+	"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": {}
+}

+ 42 - 0
pages/index/index.vue

@@ -0,0 +1,42 @@
+<template>
+	<view class="">
+
+
+		<view class="">
+
+			{{$t("set.language")}}:
+		</view>
+		<view :style="{color:item.code==curLang?'green':''}" @click="changeLang(item.code)" v-for="item in store.lang"
+			:key="item.code">
+			{{$t(item.text)}}
+
+		</view>
+
+
+	</view>
+</template>
+
+<script setup>
+	import { ref } from 'vue'
+	import { useStore } from '@/store/index.js'
+	import { onLoad } from '@dcloudio/uni-app'
+	const store = useStore()
+	const curLang = ref(uni.getLocale())
+	onLoad(() => {
+		console.log('当前语言:',uni.getLocale())
+	})
+
+	function changeLang(code = 'en') {
+		curLang.value = code
+		getApp().$vm.$i18n.locale = code
+	}
+</script>
+
+<style lang="scss">
+	.page-content {
+		width: 100vw;
+		height: calc(100vh - 120rpx - env(safe-area-inset-bottom));
+		border: 1rpx solid blue;
+		box-sizing: border-box;
+	}
+</style>

BIN=BIN
static/logo.png


+ 28 - 0
store/index.js

@@ -0,0 +1,28 @@
+import { defineStore } from 'pinia'
+console.log('app:', getApp())
+export const useStore = defineStore('pandaShop', {
+  state: () => {
+    return {
+      tabIndex: 0,
+      lang: [
+        {
+          text: 'locale.auto',
+          code: 'auto'
+        },
+        {
+          text: 'locale.en',
+          code: 'en'
+        },
+        {
+          text: 'locale.zh-hans',
+          code: 'zh-hans'
+        },
+        {
+          text: 'locale.serbian',
+          code: 'serbian'
+        }
+      ]
+    }
+  },
+  actions: {}
+})

+ 13 - 0
uni.promisify.adaptor.js

@@ -0,0 +1,13 @@
+uni.addInterceptor({
+  returnValue (res) {
+    if (!(!!res && (typeof res === "object" || typeof res === "function") && typeof res.then === "function")) {
+      return res;
+    }
+    return new Promise((resolve, reject) => {
+      res.then((res) => {
+        if (!res) return resolve(res) 
+        return res[0] ? reject(res[0]) : resolve(res[1])
+      });
+    });
+  },
+});

+ 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:16px;
+
+/* 图片尺寸 */
+$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;