1
This commit is contained in:
parent
8809cc1975
commit
33666985b6
19
README.md
19
README.md
@ -1 +1,20 @@
|
|||||||
数智产销APP正式版
|
数智产销APP正式版
|
||||||
|
|
||||||
|
|
||||||
|
发布需要在pages/login/login.vue中
|
||||||
|
将
|
||||||
|
```javascript
|
||||||
|
localLoginApi({
|
||||||
|
username: username.value,
|
||||||
|
password: password.value,
|
||||||
|
captcha: 'app'
|
||||||
|
```
|
||||||
|
改成
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
loginApi({
|
||||||
|
username: un,
|
||||||
|
password: pw,
|
||||||
|
ip: getDeviceIp()
|
||||||
|
```
|
||||||
|
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
"name" : "数智产销",
|
"name" : "数智产销",
|
||||||
"appid" : "__UNI__F0AFD30",
|
"appid" : "__UNI__F0AFD30",
|
||||||
"description" : "",
|
"description" : "",
|
||||||
"versionName" : "1.0.0",
|
"versionName" : "1.0.5",
|
||||||
"versionCode" : 100,
|
"versionCode" : 20240927,
|
||||||
"transformPx" : false,
|
"transformPx" : false,
|
||||||
/* 5+App特有相关 */
|
/* 5+App特有相关 */
|
||||||
"app-plus" : {
|
"app-plus" : {
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
<image v-if="showpwd" src="@/static/login/eye.png" @click="showpwd = !showpwd"></image>
|
<image v-if="showpwd" src="@/static/login/eye.png" @click="showpwd = !showpwd"></image>
|
||||||
<image v-else src="@/static/login/eye-off.png" @click="showpwd = !showpwd"></image>
|
<image v-else src="@/static/login/eye-off.png" @click="showpwd = !showpwd"></image>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<view class="pwd f-row aic">
|
<view class="pwd f-row aic">
|
||||||
<view style="display: inline-block;" @click="check = !check">
|
<view style="display: inline-block;" @click="check = !check">
|
||||||
@ -42,6 +41,7 @@
|
|||||||
watch
|
watch
|
||||||
} from 'vue';
|
} from 'vue';
|
||||||
import {
|
import {
|
||||||
|
loginApi,
|
||||||
localLoginApi,
|
localLoginApi,
|
||||||
queryRoleApi
|
queryRoleApi
|
||||||
} from '@/api/login.js';
|
} from '@/api/login.js';
|
||||||
@ -56,7 +56,7 @@
|
|||||||
const {
|
const {
|
||||||
proxy
|
proxy
|
||||||
} = getCurrentInstance()
|
} = getCurrentInstance()
|
||||||
|
|
||||||
/**是否明文显示密码*/
|
/**是否明文显示密码*/
|
||||||
const showpwd = ref(false)
|
const showpwd = ref(false)
|
||||||
/**用于用户缓存账号和密码*/
|
/**用于用户缓存账号和密码*/
|
||||||
@ -79,16 +79,27 @@
|
|||||||
/**密码*/
|
/**密码*/
|
||||||
const password = ref('')
|
const password = ref('')
|
||||||
const login = () => {
|
const login = () => {
|
||||||
|
|
||||||
if (!username.value.trim()) return proxy.$toast('请输入账号')
|
if (!username.value.trim()) return proxy.$toast('请输入账号')
|
||||||
if (!password.value.trim()) return proxy.$toast('请输入密码')
|
if (!password.value.trim()) return proxy.$toast('请输入密码')
|
||||||
|
let un = Base64.encode(encodeURIComponent(username.value))
|
||||||
|
let pw = Base64.encode(encodeURIComponent(password.value))
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
title: '登录中...'
|
title: '登录中...'
|
||||||
});
|
});
|
||||||
localLoginApi({
|
|
||||||
username: username.value,
|
/*生产环境 begin */
|
||||||
password: password.value,
|
loginApi({
|
||||||
captcha: 'app'
|
username: un,
|
||||||
|
password: pw,
|
||||||
|
ip: getDeviceIp()
|
||||||
|
/*生产环境 end */
|
||||||
|
|
||||||
|
/*开发环境 begin */
|
||||||
|
// localLoginApi({
|
||||||
|
// username: username.value,
|
||||||
|
// password: password.value,
|
||||||
|
// captcha: 'app'
|
||||||
|
/*开发环境 end */
|
||||||
}).then((loginres) => {
|
}).then((loginres) => {
|
||||||
if (loginres.success) {
|
if (loginres.success) {
|
||||||
uni.setStorageSync('token', loginres.result.token)
|
uni.setStorageSync('token', loginres.result.token)
|
||||||
@ -130,7 +141,40 @@
|
|||||||
username.value = obj.un ? obj.un : ''
|
username.value = obj.un ? obj.un : ''
|
||||||
password.value = obj.pw ? obj.pw : ''
|
password.value = obj.pw ? obj.pw : ''
|
||||||
}
|
}
|
||||||
|
// localAccountArr = uni.getStorageSync('accountArr') ? JSON.parse(uni.getStorageSync('accountArr')) : []
|
||||||
|
// accountArr.value = localAccountArr
|
||||||
})
|
})
|
||||||
|
|
||||||
|
function getDeviceIp() {
|
||||||
|
// #ifdef APP-PLUS
|
||||||
|
|
||||||
|
let deviceIp
|
||||||
|
if (plus.os.name == "Android") {
|
||||||
|
let Context = plus.android.importClass('android.content.Context')
|
||||||
|
let main = plus.android.runtimeMainActivity()
|
||||||
|
let cm = main.getSystemService(Context.CONNECTIVITY_SERVICE)
|
||||||
|
plus.android.importClass(cm)
|
||||||
|
let linkProperties = cm.getLinkProperties(cm.getActiveNetwork())
|
||||||
|
let linkAddrs = plus.android.invoke(linkProperties, 'getLinkAddresses')
|
||||||
|
plus.android.importClass(linkAddrs)
|
||||||
|
for (var i = 0; i < linkAddrs.size(); i++) {
|
||||||
|
let inetAddr = plus.android.invoke(linkAddrs.get(i), 'getAddress')
|
||||||
|
deviceIp = plus.android.invoke(inetAddr, 'getHostAddress')
|
||||||
|
}
|
||||||
|
//再看有没有wifi
|
||||||
|
if (deviceIp == '') {
|
||||||
|
var wifiManager = plus.android.runtimeMainActivity().getSystemService(Context.WIFI_SERVICE);
|
||||||
|
var wifiInfo = plus.android.invoke(wifiManager, "getConnectionInfo");
|
||||||
|
var ipAddress = plus.android.invoke(wifiInfo, "getIpAddress");
|
||||||
|
if (ipAddress != 0) {
|
||||||
|
deviceIp = ((ipAddress & 0xff) + "." + (ipAddress >> 8 & 0xff) + "." + (ipAddress >> 16 &
|
||||||
|
0xff) + "." + (ipAddress >> 24 & 0xff));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return deviceIp;
|
||||||
|
// #endif
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
@ -1,280 +0,0 @@
|
|||||||
<template>
|
|
||||||
<view :class="{'gray':store.isgray==1}">
|
|
||||||
<view class="logo f-col aic">
|
|
||||||
<image src="@/static/login/logo.png"></image>
|
|
||||||
</view>
|
|
||||||
<view class="form f-col aic">
|
|
||||||
<view class="box f-row aic">
|
|
||||||
<image src="@/static/login/phone.png"></image>
|
|
||||||
<input v-model="username" type="text" placeholder="请输入统一身份认证"
|
|
||||||
placeholder-style="font-size: 28rpx;color: #999999;" />
|
|
||||||
</view>
|
|
||||||
<view class="box f-row aic">
|
|
||||||
<image src="@/static/login/pwd.png"></image>
|
|
||||||
<input v-model="password" :type="!showpwd?'password':'text'" placeholder="请输入密码"
|
|
||||||
placeholder-style="font-size: 28rpx;color: #999999;" />
|
|
||||||
<image v-if="showpwd" src="@/static/login/eye.png" @click="showpwd = !showpwd"></image>
|
|
||||||
<image v-else src="@/static/login/eye-off.png" @click="showpwd = !showpwd"></image>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="pwd f-row aic">
|
|
||||||
<view style="display: inline-block;" @click="check = !check">
|
|
||||||
<view class="f-row aic">
|
|
||||||
<image v-if="!check" src="@/static/login/nocheck.png"></image>
|
|
||||||
<image v-else src="@/static/login/checked.png"></image>
|
|
||||||
<text>记住密码</text>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="login f-col aic">
|
|
||||||
<view @click="login">
|
|
||||||
登录
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
|
||||||
import {
|
|
||||||
ref,
|
|
||||||
getCurrentInstance,
|
|
||||||
watch
|
|
||||||
} from 'vue';
|
|
||||||
import {
|
|
||||||
loginApi,
|
|
||||||
queryRoleApi
|
|
||||||
} from '@/api/login.js';
|
|
||||||
import Base64 from 'base-64';
|
|
||||||
import {
|
|
||||||
onLoad
|
|
||||||
} from '@dcloudio/uni-app'
|
|
||||||
import {
|
|
||||||
useStore
|
|
||||||
} from '@/store'
|
|
||||||
const store = useStore()
|
|
||||||
const {
|
|
||||||
proxy
|
|
||||||
} = getCurrentInstance()
|
|
||||||
|
|
||||||
/**是否明文显示密码*/
|
|
||||||
const showpwd = ref(false)
|
|
||||||
/**用于用户缓存账号和密码*/
|
|
||||||
let localObj = {}
|
|
||||||
/**记住账号和密码*/
|
|
||||||
const savePwd = () => {
|
|
||||||
let localObj = {
|
|
||||||
un: username.value
|
|
||||||
}
|
|
||||||
if (check.value) {
|
|
||||||
localObj.pw = password.value
|
|
||||||
}
|
|
||||||
uni.setStorageSync('accountObj', JSON.stringify(localObj))
|
|
||||||
}
|
|
||||||
|
|
||||||
/**是否选中记住密码*/
|
|
||||||
const check = ref(true);
|
|
||||||
/**账号*/
|
|
||||||
const username = ref('')
|
|
||||||
/**密码*/
|
|
||||||
const password = ref('')
|
|
||||||
const login = () => {
|
|
||||||
|
|
||||||
if (!username.value.trim()) return proxy.$toast('请输入账号')
|
|
||||||
if (!password.value.trim()) return proxy.$toast('请输入密码')
|
|
||||||
let un = Base64.encode(encodeURIComponent(username.value))
|
|
||||||
let pw = Base64.encode(encodeURIComponent(password.value))
|
|
||||||
uni.showLoading({
|
|
||||||
title: '登录中...'
|
|
||||||
});
|
|
||||||
loginApi({
|
|
||||||
username: un,
|
|
||||||
password: pw,
|
|
||||||
ip: getDeviceIp()
|
|
||||||
}).then((loginres) => {
|
|
||||||
if (loginres.success) {
|
|
||||||
uni.setStorageSync('token', loginres.result.token)
|
|
||||||
store.setToken(loginres.result.token)
|
|
||||||
savePwd()
|
|
||||||
queryRoleApi({
|
|
||||||
roles: loginres.result.userInfo.roles
|
|
||||||
}).then((roleres) => {
|
|
||||||
//登录时间
|
|
||||||
uni.setStorageSync('logintime', Date.now())
|
|
||||||
// 登录人的角色
|
|
||||||
uni.setStorageSync('role', roleres)
|
|
||||||
store.setRole(roleres)
|
|
||||||
|
|
||||||
// 登录人信息
|
|
||||||
uni.setStorageSync('user', JSON.stringify(loginres.result
|
|
||||||
.userInfo))
|
|
||||||
store.setUserInfo(loginres.result.userInfo)
|
|
||||||
|
|
||||||
// 跳转首页
|
|
||||||
|
|
||||||
uni.switchTab({
|
|
||||||
url: '/pages/tab/index'
|
|
||||||
})
|
|
||||||
|
|
||||||
})
|
|
||||||
|
|
||||||
}
|
|
||||||
}).catch((err) => {
|
|
||||||
console.log(err);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
let localAccountArr = []
|
|
||||||
const accountArr = ref([])
|
|
||||||
onLoad(() => {
|
|
||||||
if (uni.getStorageSync('accountObj')) {
|
|
||||||
let obj = JSON.parse(uni.getStorageSync('accountObj'))
|
|
||||||
username.value = obj.un ? obj.un : ''
|
|
||||||
password.value = obj.pw ? obj.pw : ''
|
|
||||||
}
|
|
||||||
// localAccountArr = uni.getStorageSync('accountArr') ? JSON.parse(uni.getStorageSync('accountArr')) : []
|
|
||||||
// accountArr.value = localAccountArr
|
|
||||||
})
|
|
||||||
function getDeviceIp() {
|
|
||||||
// #ifdef APP-PLUS
|
|
||||||
|
|
||||||
let deviceIp
|
|
||||||
if (plus.os.name == "Android") {
|
|
||||||
let Context = plus.android.importClass('android.content.Context')
|
|
||||||
let main = plus.android.runtimeMainActivity()
|
|
||||||
let cm = main.getSystemService(Context.CONNECTIVITY_SERVICE)
|
|
||||||
plus.android.importClass(cm)
|
|
||||||
let linkProperties = cm.getLinkProperties(cm.getActiveNetwork())
|
|
||||||
let linkAddrs = plus.android.invoke(linkProperties, 'getLinkAddresses')
|
|
||||||
plus.android.importClass(linkAddrs)
|
|
||||||
for (var i = 0; i < linkAddrs.size(); i++) {
|
|
||||||
let inetAddr = plus.android.invoke(linkAddrs.get(i), 'getAddress')
|
|
||||||
deviceIp = plus.android.invoke(inetAddr, 'getHostAddress')
|
|
||||||
}
|
|
||||||
//再看有没有wifi
|
|
||||||
if (deviceIp == '') {
|
|
||||||
var wifiManager = plus.android.runtimeMainActivity().getSystemService(Context.WIFI_SERVICE);
|
|
||||||
var wifiInfo = plus.android.invoke(wifiManager, "getConnectionInfo");
|
|
||||||
var ipAddress = plus.android.invoke(wifiInfo, "getIpAddress");
|
|
||||||
if (ipAddress != 0) {
|
|
||||||
deviceIp = ((ipAddress & 0xff) + "." + (ipAddress >> 8 & 0xff) + "." + (ipAddress >> 16 &
|
|
||||||
0xff) + "." + (ipAddress >> 24 & 0xff));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return deviceIp;
|
|
||||||
// #endif
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
:deep(.uni-select) {
|
|
||||||
border: none;
|
|
||||||
padding-left: 0;
|
|
||||||
height: 88rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
:deep(.uni-select__input-placeholder) {
|
|
||||||
font-size: 28rpx;
|
|
||||||
color: #999999;
|
|
||||||
}
|
|
||||||
|
|
||||||
:deep(.uni-icons) {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.logo {
|
|
||||||
padding-top: 184rpx;
|
|
||||||
|
|
||||||
image {
|
|
||||||
width: 475rpx;
|
|
||||||
height: 199rpx;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.form {
|
|
||||||
margin-top: 60rpx;
|
|
||||||
|
|
||||||
.box {
|
|
||||||
width: 570rpx;
|
|
||||||
height: 88rpx;
|
|
||||||
background: #F8F8F8;
|
|
||||||
border-radius: 44rpx;
|
|
||||||
padding: 0 30rpx;
|
|
||||||
margin-top: 40rpx;
|
|
||||||
position: relative;
|
|
||||||
|
|
||||||
.account_box {
|
|
||||||
position: absolute;
|
|
||||||
top: 100rpx;
|
|
||||||
left: 90rpx;
|
|
||||||
width: 500rpx;
|
|
||||||
background-color: #fff;
|
|
||||||
box-shadow: 0px 0px 3px 1px #dfdfdf;
|
|
||||||
z-index: 99;
|
|
||||||
border-radius: 10rpx;
|
|
||||||
|
|
||||||
// &::after {
|
|
||||||
// position: absolute;
|
|
||||||
// content: ' ';
|
|
||||||
// border: 15rpx solid;
|
|
||||||
// border-color: transparent transparent #fff transparent;
|
|
||||||
// top: -30rpx;
|
|
||||||
// left: 30rpx;
|
|
||||||
// z-index: 999;
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
.account {
|
|
||||||
max-height: 200rpx;
|
|
||||||
|
|
||||||
overflow-y: auto;
|
|
||||||
|
|
||||||
view {
|
|
||||||
padding: 10rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
image {
|
|
||||||
width: 40rpx;
|
|
||||||
height: 40rpx;
|
|
||||||
margin-right: 20rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
input {
|
|
||||||
height: 100%;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.pwd {
|
|
||||||
image {
|
|
||||||
width: 34rpx;
|
|
||||||
height: 34rpx;
|
|
||||||
margin-right: 4rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
justify-content: flex-end;
|
|
||||||
margin-top: 20rpx;
|
|
||||||
margin-right: 60rpx;
|
|
||||||
font-size: 24rpx;
|
|
||||||
color: #01508B;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login {
|
|
||||||
margin-top: 63rpx;
|
|
||||||
|
|
||||||
view {
|
|
||||||
width: 630rpx;
|
|
||||||
height: 88rpx;
|
|
||||||
background: #4e74fb;
|
|
||||||
border-radius: 44rpx;
|
|
||||||
font-size: 32rpx;
|
|
||||||
color: #FFFFFF;
|
|
||||||
text-align: center;
|
|
||||||
line-height: 88rpx;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
|||||||
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__F0AFD30","name":"数智产销","version":{"name":"1.0.0","code":100},"description":"","developer":{"name":"","email":"","url":""},"permissions":{"Geolocation":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"autoclose":true,"delay":0,"target":"id:1","waiting":true},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"distribute":{"icons":{"android":{"hdpi":"icon-android-hdpi.png","xhdpi":"icon-android-xhdpi.png","xxhdpi":"icon-android-xxhdpi.png","xxxhdpi":"icon-android-xxxhdpi.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"},"prerendered":"false"}},"google":{"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\"/>"],"packagename":"uni.UNIF0AFD30","aliasname":"__uni__f0afd30","password":"4Z2SSz2hk5AO56cxUDfY3A==","keystore":"google-keystore.keystore","custompermissions":true},"apple":{"dSYMs":false,"devices":"universal"},"plugins":{"ad":{},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}},"geolocation":{"system":{"__platform__":["android"]}}},"orientation":"portrait-primary"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#000000"},"uniStatistics":{"enable":false},"allowsInlineMediaPlayback":true,"safearea":{"background":"#FFFFFF","bottom":{"offset":"auto"}},"uni-app":{"control":"uni-v3","vueVersion":"3","compilerVersion":"4.15","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal","webView":{"minUserAgentVersion":"49.0"}},"tabBar":{"position":"bottom","color":"#333333","selectedColor":"#01508B","borderStyle":"rgba(0,0,0,0.4)","blurEffect":"none","fontSize":"10px","iconWidth":"24px","spacing":"3px","height":"50px","backgroundColor":"#FFFFFF","list":[{"text":"首页","pagePath":"pages/tab/index","iconPath":"/static/tab/index1.png","selectedIconPath":"/static/tab/index2.png"},{"text":"办公","pagePath":"pages/tab/office","iconPath":"/static/tab/office1.png","selectedIconPath":"/static/tab/office2.png"},{"text":"生产","pagePath":"pages/tab/product","iconPath":"/static/tab/product1.png","selectedIconPath":"/static/tab/product2.png"},{"text":"我的","pagePath":"pages/tab/my","iconPath":"/static/tab/user1.png","selectedIconPath":"/static/tab/user2.png"}],"midButton":{"width":"65px","height":"75px","text":"","iconPath":"static/tab/todo.png","iconWidth":"50px"},"selectedIndex":0,"shown":true},"adid":"120390270110"},"launch_path":"__uniappview.html"}
|
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__F0AFD30","name":"数智产销","version":{"name":"1.0.5","code":20240927},"description":"","developer":{"name":"","email":"","url":""},"permissions":{"Geolocation":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"autoclose":true,"delay":0,"target":"id:1","waiting":true},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"distribute":{"icons":{"android":{"hdpi":"icon-android-hdpi.png","xhdpi":"icon-android-xhdpi.png","xxhdpi":"icon-android-xxhdpi.png","xxxhdpi":"icon-android-xxxhdpi.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"},"prerendered":"false"}},"google":{"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\"/>"],"packagename":"uni.UNIF0AFD30","aliasname":"__uni__f0afd30","password":"4Z2SSz2hk5AO56cxUDfY3A==","keystore":"google-keystore.keystore","custompermissions":true},"apple":{"dSYMs":false,"devices":"universal"},"plugins":{"ad":{},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}},"geolocation":{"system":{"__platform__":["android"]}}},"orientation":"portrait-primary"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#000000"},"uniStatistics":{"enable":false},"allowsInlineMediaPlayback":true,"safearea":{"background":"#FFFFFF","bottom":{"offset":"auto"}},"uni-app":{"control":"uni-v3","vueVersion":"3","compilerVersion":"4.15","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal","webView":{"minUserAgentVersion":"49.0"}},"tabBar":{"position":"bottom","color":"#333333","selectedColor":"#01508B","borderStyle":"rgba(0,0,0,0.4)","blurEffect":"none","fontSize":"10px","iconWidth":"24px","spacing":"3px","height":"50px","backgroundColor":"#FFFFFF","list":[{"text":"首页","pagePath":"pages/tab/index","iconPath":"/static/tab/index1.png","selectedIconPath":"/static/tab/index2.png"},{"text":"办公","pagePath":"pages/tab/office","iconPath":"/static/tab/office1.png","selectedIconPath":"/static/tab/office2.png"},{"text":"生产","pagePath":"pages/tab/product","iconPath":"/static/tab/product1.png","selectedIconPath":"/static/tab/product2.png"},{"text":"我的","pagePath":"pages/tab/my","iconPath":"/static/tab/user1.png","selectedIconPath":"/static/tab/user2.png"}],"midButton":{"width":"65px","height":"75px","text":"","iconPath":"static/tab/todo.png","iconWidth":"50px"},"selectedIndex":0,"shown":true},"adid":"120390270110"},"launch_path":"__uniappview.html"}
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
|||||||
[data-v-a8489625] .uni-select{border:none;padding-left:0;height:2.75rem}[data-v-a8489625] .uni-select__input-placeholder{font-size:.875rem;color:#999}[data-v-a8489625] .uni-icons{display:none}.logo[data-v-a8489625]{padding-top:5.75rem}.logo uni-image[data-v-a8489625]{width:14.84375rem;height:6.21875rem}.form[data-v-a8489625]{margin-top:1.875rem}.form .box[data-v-a8489625]{width:17.8125rem;height:2.75rem;background:#f8f8f8;border-radius:1.375rem;padding:0 .9375rem;margin-top:1.25rem;position:relative}.form .box .account_box[data-v-a8489625]{position:absolute;top:3.125rem;left:2.8125rem;width:15.625rem;background-color:#fff;box-shadow:0 0 3px 1px #dfdfdf;z-index:99;border-radius:.3125rem}.form .box .account_box .account[data-v-a8489625]{max-height:6.25rem;overflow-y:auto}.form .box .account_box .account uni-view[data-v-a8489625]{padding:.3125rem}.form .box uni-image[data-v-a8489625]{width:1.25rem;height:1.25rem;margin-right:.625rem}.form .box uni-input[data-v-a8489625]{height:100%;flex:1}.pwd[data-v-a8489625]{justify-content:flex-end;margin-top:.625rem;margin-right:1.875rem;font-size:.75rem;color:#01508b}.pwd uni-image[data-v-a8489625]{width:1.0625rem;height:1.0625rem;margin-right:.125rem}.login[data-v-a8489625]{margin-top:1.96875rem}.login uni-view[data-v-a8489625]{width:19.6875rem;height:2.75rem;background:#4e74fb;border-radius:1.375rem;font-size:1rem;color:#fff;text-align:center;line-height:2.75rem}
|
[data-v-a774db70] .uni-select{border:none;padding-left:0;height:2.75rem}[data-v-a774db70] .uni-select__input-placeholder{font-size:.875rem;color:#999}[data-v-a774db70] .uni-icons{display:none}.logo[data-v-a774db70]{padding-top:5.75rem}.logo uni-image[data-v-a774db70]{width:14.84375rem;height:6.21875rem}.form[data-v-a774db70]{margin-top:1.875rem}.form .box[data-v-a774db70]{width:17.8125rem;height:2.75rem;background:#f8f8f8;border-radius:1.375rem;padding:0 .9375rem;margin-top:1.25rem;position:relative}.form .box .account_box[data-v-a774db70]{position:absolute;top:3.125rem;left:2.8125rem;width:15.625rem;background-color:#fff;box-shadow:0 0 3px 1px #dfdfdf;z-index:99;border-radius:.3125rem}.form .box .account_box .account[data-v-a774db70]{max-height:6.25rem;overflow-y:auto}.form .box .account_box .account uni-view[data-v-a774db70]{padding:.3125rem}.form .box uni-image[data-v-a774db70]{width:1.25rem;height:1.25rem;margin-right:.625rem}.form .box uni-input[data-v-a774db70]{height:100%;flex:1}.pwd[data-v-a774db70]{justify-content:flex-end;margin-top:.625rem;margin-right:1.875rem;font-size:.75rem;color:#01508b}.pwd uni-image[data-v-a774db70]{width:1.0625rem;height:1.0625rem;margin-right:.125rem}.login[data-v-a774db70]{margin-top:1.96875rem}.login uni-view[data-v-a774db70]{width:19.6875rem;height:2.75rem;background:#4e74fb;border-radius:1.375rem;font-size:1rem;color:#fff;text-align:center;line-height:2.75rem}
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
unpackage/dist/build/app-plus/app-service.js
vendored
2
unpackage/dist/build/app-plus/app-service.js
vendored
File diff suppressed because one or more lines are too long
4
unpackage/dist/build/app-plus/manifest.json
vendored
4
unpackage/dist/build/app-plus/manifest.json
vendored
@ -7,8 +7,8 @@
|
|||||||
"id": "__UNI__F0AFD30",
|
"id": "__UNI__F0AFD30",
|
||||||
"name": "数智产销",
|
"name": "数智产销",
|
||||||
"version": {
|
"version": {
|
||||||
"name": "1.0.0",
|
"name": "1.0.5",
|
||||||
"code": 100
|
"code": 20240927
|
||||||
},
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"developer": {
|
"developer": {
|
||||||
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
|||||||
[data-v-a8489625] .uni-select{border:none;padding-left:0;height:2.75rem}[data-v-a8489625] .uni-select__input-placeholder{font-size:.875rem;color:#999}[data-v-a8489625] .uni-icons{display:none}.logo[data-v-a8489625]{padding-top:5.75rem}.logo uni-image[data-v-a8489625]{width:14.84375rem;height:6.21875rem}.form[data-v-a8489625]{margin-top:1.875rem}.form .box[data-v-a8489625]{width:17.8125rem;height:2.75rem;background:#f8f8f8;border-radius:1.375rem;padding:0 .9375rem;margin-top:1.25rem;position:relative}.form .box .account_box[data-v-a8489625]{position:absolute;top:3.125rem;left:2.8125rem;width:15.625rem;background-color:#fff;box-shadow:0 0 3px 1px #dfdfdf;z-index:99;border-radius:.3125rem}.form .box .account_box .account[data-v-a8489625]{max-height:6.25rem;overflow-y:auto}.form .box .account_box .account uni-view[data-v-a8489625]{padding:.3125rem}.form .box uni-image[data-v-a8489625]{width:1.25rem;height:1.25rem;margin-right:.625rem}.form .box uni-input[data-v-a8489625]{height:100%;flex:1}.pwd[data-v-a8489625]{justify-content:flex-end;margin-top:.625rem;margin-right:1.875rem;font-size:.75rem;color:#01508b}.pwd uni-image[data-v-a8489625]{width:1.0625rem;height:1.0625rem;margin-right:.125rem}.login[data-v-a8489625]{margin-top:1.96875rem}.login uni-view[data-v-a8489625]{width:19.6875rem;height:2.75rem;background:#4e74fb;border-radius:1.375rem;font-size:1rem;color:#fff;text-align:center;line-height:2.75rem}
|
[data-v-a774db70] .uni-select{border:none;padding-left:0;height:2.75rem}[data-v-a774db70] .uni-select__input-placeholder{font-size:.875rem;color:#999}[data-v-a774db70] .uni-icons{display:none}.logo[data-v-a774db70]{padding-top:5.75rem}.logo uni-image[data-v-a774db70]{width:14.84375rem;height:6.21875rem}.form[data-v-a774db70]{margin-top:1.875rem}.form .box[data-v-a774db70]{width:17.8125rem;height:2.75rem;background:#f8f8f8;border-radius:1.375rem;padding:0 .9375rem;margin-top:1.25rem;position:relative}.form .box .account_box[data-v-a774db70]{position:absolute;top:3.125rem;left:2.8125rem;width:15.625rem;background-color:#fff;box-shadow:0 0 3px 1px #dfdfdf;z-index:99;border-radius:.3125rem}.form .box .account_box .account[data-v-a774db70]{max-height:6.25rem;overflow-y:auto}.form .box .account_box .account uni-view[data-v-a774db70]{padding:.3125rem}.form .box uni-image[data-v-a774db70]{width:1.25rem;height:1.25rem;margin-right:.625rem}.form .box uni-input[data-v-a774db70]{height:100%;flex:1}.pwd[data-v-a774db70]{justify-content:flex-end;margin-top:.625rem;margin-right:1.875rem;font-size:.75rem;color:#01508b}.pwd uni-image[data-v-a774db70]{width:1.0625rem;height:1.0625rem;margin-right:.125rem}.login[data-v-a774db70]{margin-top:1.96875rem}.login uni-view[data-v-a774db70]{width:19.6875rem;height:2.75rem;background:#4e74fb;border-radius:1.375rem;font-size:1rem;color:#fff;text-align:center;line-height:2.75rem}
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Loading…
Reference in New Issue
Block a user