# sn-uniapp-starter
**Repository Path**: snicesoft/sn-uniapp-starter
## Basic Information
- **Project Name**: sn-uniapp-starter
- **Description**: 自定义 uniapp starter
- **Primary Language**: Unknown
- **License**: Artistic-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 0
- **Created**: 2022-03-05
- **Last Updated**: 2023-11-30
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# sn-uniapp-starter
#### 介绍
自定义 uniapp starter,打造自己的uniapp模板项目
#### 特性
* 基于vuex自定义国际化,支持vue2/vue3,vue/nvue
* 支持 unplugin-auto-import
* weex-v-show支持vue2/vue3,参见v-show-view组件
* 支持pinia,见pinia分支
#### 使用
##### 国际化
1. 基于vuex实现,易扩展,兼容@dcloudio/uni-i18n(即uni-ui也支持国际化)
2. API设计兼容uniapp官方国际化方案
* 获取当前语言
* vue2
```js
this.$i18n.locale
```
* vue3
```js
import { useLang } from '@/hooks/lang.js'
const { i18n } = useLang()
i18n.locale
```
* 设置语言
* vue2
```js
this.$i18n.locale = 'en'
```
* vue3
```js
import { useLang } from '@/hooks/lang.js'
const { i18n } = useLang()
i18n.locale = 'en'
```
* template中使用
* 使用前提
vue3需要导入 ***@/hooks/lang.js***
```vue
{{$t('app.name')}}
```
* nvue中使用
* vue2
```js
import extendsGlobal from '@/global.js'
export default extendsGlobal({
data() {
return {}
}
})
```
* vue3
```js
```
其次,使用$t('key')
```vue
{{$t('app.name')}}
```
* 支持动态切换语言包
vue2
```js
this.$i18n.messages = {
en: {
'app.name': 'test'
},
'zh-Hans': {
'app.name': '测试'
},
'zh-Hant': {
'app.name': '測試'
}
}
```
vue3
```js
i18n.messages = {
en: {
'app.name': 'test'
},
'zh-Hans': {
'app.name': '测试'
},
'zh-Hant': {
'app.name': '測試'
}
}
```
##### 组件
###### v-show-view - 类似v-show指令组件的view
* vue2
```xml
weex-show 内容
```
```js
export default {
data() {
return {
showTest: true
}
}
}
```
* vue3
```xml
weex-show 内容
```
```js
```
#### 已知问题
从HBX 3.4.3 Alpha开始,app-nvue已经支持vue3