Commit 64af8a56 authored by chuan.liu's avatar chuan.liu

登录接口联调 crm-app网关口代理新增 生产计划 生产材料 我的订单滚动加载处理

parent f39b2d21
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<view class="icon-view"></view> <view class="icon-view"></view>
<view class="opera-view"> <view class="opera-view">
<view class="btn btn-default" v-if="networkType!='none'" @click="retry"> <view class="btn btn-default" v-if="networkType!='none'" @click="retry">
<text class="btn-text">重试</text> <text class="btn-text">无数据,重新请求</text>
</view> </view>
<view class="btn btn-default" v-if="networkType=='none'" @click="openSettings"> <view class="btn btn-default" v-if="networkType=='none'" @click="openSettings">
<text class="btn-text">设置</text> <text class="btn-text">设置</text>
...@@ -167,7 +167,7 @@ ...@@ -167,7 +167,7 @@
.btn { .btn {
padding: 5px 10px; padding: 5px 10px;
width: 128px; width: 140px;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
...@@ -182,7 +182,7 @@ ...@@ -182,7 +182,7 @@
.btn-default { .btn-default {
border-color: #999999; border-color: #999999;
border-style: solid; border-style: solid;
border-width: 1px; border-width: 0spx;
border-radius: 3px; border-radius: 3px;
} }
</style> </style>
...@@ -105,7 +105,8 @@ ...@@ -105,7 +105,8 @@
"changeOrigin": true "changeOrigin": true
}, },
"/crm-app": { "/crm-app": {
"target": "http://10.0.135.139", // "target": "http://10.0.135.139",
"target": "http://10.2.4.2",
"changeOrigin": true "changeOrigin": true
} }
} }
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
"current": 0, //当前激活的模式(list 的索引项) "current": 0, //当前激活的模式(list 的索引项)
"list": [{ "list": [{
"name": "me", //模式名称 "name": "me", //模式名称
"path": "pages/home/home", //启动页面,必选 "path": "pages/login/login", //启动页面,必选
"query": "uuid=c4bba940-f69e-11ea-a419-6bafda9d095e&__id__=1" //启动参数,在页面的onLoad函数里面得到 "query": "uuid=c4bba940-f69e-11ea-a419-6bafda9d095e&__id__=1" //启动参数,在页面的onLoad函数里面得到
}] }]
}, },
......
...@@ -25,10 +25,10 @@ ...@@ -25,10 +25,10 @@
@click="handlePasswordVisible"></image> @click="handlePasswordVisible"></image>
</template> </template>
</view> </view>
<view class="account-block" v-show="loginType==='phone'"> <!-- <view class="account-block" v-show="loginType==='phone'">
<input class="account" type="tel" v-model="phone" placeholder="请输入手机号" <input class="account" type="tel" v-model="phone" placeholder="请输入手机号"
placeholder-class='placeholder-text' /> placeholder-class='placeholder-text' />
</view> </view> -->
</view> </view>
<view class="bottom"> <view class="bottom">
<button class="btn" type="default" @click="goLogin" :class="{ 'btn-disabled': disabled }" <button class="btn" type="default" @click="goLogin" :class="{ 'btn-disabled': disabled }"
...@@ -137,6 +137,10 @@ ...@@ -137,6 +137,10 @@
...res.data.operator ...res.data.operator
} }
}); });
this.$uStore({
name: 'vuex_token',
value: res.data.token
});
uni.switchTab({ uni.switchTab({
url: '/pages/home/home' url: '/pages/home/home'
}); });
......
...@@ -48,7 +48,27 @@ ...@@ -48,7 +48,27 @@
} }
}, },
created() {
this.getMessageList(0)
this.getMessageList(1)
},
computed: { computed: {
async getMessageList(type) {
let params = {
customer: this.userInfo.code,
msgType: 'app',
page: 1,
pagesize: 1,
msgStatus: type
}
let res = await apiFindUnreadMsg(params)
if (type === 0) {
this.unreadList = res.data.list
this.unreadCount = res.data.total
} else {
this.readList = res.data
}
},
navHeight() { navHeight() {
return { return {
'height': `${this.sysinfo.safeArea.top + 44}px` 'height': `${this.sysinfo.safeArea.top + 44}px`
......
...@@ -31,11 +31,21 @@ ...@@ -31,11 +31,21 @@
mapState mapState
} from 'vuex' } from 'vuex'
import {
apiFindUnreadMsg
} from '@/servers/message.js'
import {
apiGetBpPrice
} from '@/servers/common.js'
export default { export default {
data() { data() {
return { return {
readList: [],
unreadList: [],
unreadCount: 0
} }
}, },
computed: { computed: {
...@@ -44,9 +54,36 @@ ...@@ -44,9 +54,36 @@
'height': `${this.sysinfo.safeArea.top + 44}px` 'height': `${this.sysinfo.safeArea.top + 44}px`
} }
}, },
...mapState(['sysinfo']) ...mapState(['sysinfo', 'userInfo'])
},
onShow() {
this.getMessageList(0)
// this.getMessageList(1)
// this.getBpPrice()
}, },
methods: { methods: {
async getBpPrice() {
const res = await apiGetBpPrice({
PARTNER: this.userInfo.code
})
},
async getMessageList(type) {
console.log(1)
let params = {
customer: this.userInfo.code,
msgType: 'app',
page: 1,
pagesize: 1,
msgStatus: type
}
let res = await apiFindUnreadMsg(params)
if (type === 0) {
this.unreadList = res.data.list
this.unreadCount = res.data.total
} else {
this.readList = res.data
}
},
goMessageList(type) { goMessageList(type) {
uni.navigateTo({ uni.navigateTo({
url: `/pages/message-list/message-list-page` url: `/pages/message-list/message-list-page`
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
.title-info { .title-info {
align-items: center; align-items: center;
margin-right: 26rpx; // margin-right: 26rpx;
} }
.title-info__status { .title-info__status {
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
} }
.item-block-btn__text { .item-block-btn__text {
width: 100rpx; width: 140rpx;
height: 48rpx; height: 48rpx;
line-height: 44rpx; line-height: 44rpx;
font-size: 12px; font-size: 12px;
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
</view> </view>
</uni-cell> </uni-cell>
</uni-list> </uni-list>
<!-- <no-data class="no-data" v-if="isNoData" @retry="loadMore"></no-data> --> <no-data class="no-data" v-if="isNoData" @retry="loadMore"></no-data>
</view> </view>
</template> </template>
...@@ -93,7 +93,13 @@ ...@@ -93,7 +93,13 @@
page: { page: {
"PAGE": "1", "PAGE": "1",
"PAGESIZE": "10", "PAGESIZE": "10",
} },
loadParams: {
total: 0,
totalPage: 1,
isDone: false,
isRefresh: false
},
} }
}, },
computed: { computed: {
...@@ -180,6 +186,8 @@ ...@@ -180,6 +186,8 @@
} = res } = res
const data_list = data; const data_list = data;
this.page.PAGE = page this.page.PAGE = page
this.loadParams.total = total
this.loadParams.totalPage = Math.ceil(total * 1 / this.page.PAGESIZE * 1)
this.isNoData = (data_list.length <= 0); this.isNoData = (data_list.length <= 0);
...@@ -213,8 +221,12 @@ ...@@ -213,8 +221,12 @@
}, },
loadMore(e) { loadMore(e) {
console.log('loadMore') console.log('loadMore')
this.page.PAGE++ if (this.page.PAGE < this.loadParams.totalPage) {
this.loadData(); this.page.PAGE++
this.loadData();
} else {
this.loadingText = '--到底了--'
}
}, },
clear() { clear() {
this.dataList.length = 0; this.dataList.length = 0;
...@@ -356,6 +368,7 @@ ...@@ -356,6 +368,7 @@
} }
.loading-more { .loading-more {
flex: 1;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
padding-top: 14px; padding-top: 14px;
......
...@@ -214,7 +214,7 @@ ...@@ -214,7 +214,7 @@
this.ishowReceiveDetail = !this.ishowReceiveDetail this.ishowReceiveDetail = !this.ishowReceiveDetail
if (this.ishowReceiveDetail === true) { if (this.ishowReceiveDetail === true) {
this.receiveInfoHeight = `${260*this.ITEM.length+275}` this.receiveInfoHeight = `${260*this.ITEM.length+285}`
} else { } else {
this.receiveInfoHeight = '132' this.receiveInfoHeight = '132'
} }
...@@ -289,7 +289,7 @@ ...@@ -289,7 +289,7 @@
.title-info { .title-info {
align-items: center; align-items: center;
margin-right: 26rpx; // margin-right: 26rpx;
} }
.title-info__status { .title-info__status {
...@@ -314,6 +314,7 @@ ...@@ -314,6 +314,7 @@
} }
.item-block-btn__text { .item-block-btn__text {
width: 140rpx;
height: 48rpx; height: 48rpx;
line-height: 48rpx; line-height: 48rpx;
font-size: 12px; font-size: 12px;
......
...@@ -244,7 +244,7 @@ ...@@ -244,7 +244,7 @@
.title-info { .title-info {
align-items: center; align-items: center;
margin-right: 26rpx; // margin-right: 26rpx;
} }
.title-info__status { .title-info__status {
...@@ -263,6 +263,7 @@ ...@@ -263,6 +263,7 @@
} }
.title-info__status-text { .title-info__status-text {
width: 140rpx;
font-size: 12px; font-size: 12px;
} }
......
...@@ -296,7 +296,7 @@ ...@@ -296,7 +296,7 @@
.title-info { .title-info {
align-items: center; align-items: center;
margin-right: 26rpx; // margin-right: 26rpx;
} }
.title-info__status { .title-info__status {
...@@ -309,6 +309,7 @@ ...@@ -309,6 +309,7 @@
} }
.title-info__status-text { .title-info__status-text {
width: 140rpx;
font-size: 12px; font-size: 12px;
color: #fff; color: #fff;
} }
......
...@@ -199,6 +199,7 @@ ...@@ -199,6 +199,7 @@
height: 48rpx; height: 48rpx;
line-height: 44rpx; line-height: 44rpx;
background: #f61d30; background: #f61d30;
border-color: transparent;
border-radius: 80rpx 200rpx 200rpx 80rpx; border-radius: 80rpx 200rpx 200rpx 80rpx;
text-align: center; text-align: center;
} }
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
</view> </view>
</uni-cell> </uni-cell>
</uni-list> </uni-list>
<!-- <no-data class="no-data" v-if="isNoData" @retry="loadMore"></no-data> --> <no-data class="no-data" v-if="isNoData" @retry="loadMore"></no-data>
</view> </view>
</template> </template>
...@@ -108,7 +108,13 @@ ...@@ -108,7 +108,13 @@
page: { page: {
"PAGE": "1", "PAGE": "1",
"PAGESIZE": "10", "PAGESIZE": "10",
} },
loadParams: {
total: 0,
totalPage: 1,
isDone: false,
isRefresh: false
},
} }
}, },
computed: { computed: {
...@@ -143,7 +149,6 @@ ...@@ -143,7 +149,6 @@
}, },
methods: { methods: {
loadData(refresh) { loadData(refresh) {
console.log(2)
if (this.isLoading) { if (this.isLoading) {
return; return;
} }
...@@ -155,7 +160,6 @@ ...@@ -155,7 +160,6 @@
...this.condition, ...this.condition,
...this.page ...this.page
} }
console.log(3)
apiGetProduceMaterialOrder(params).then((res) => { apiGetProduceMaterialOrder(params).then((res) => {
console.log('loadData', res) console.log('loadData', res)
const { const {
...@@ -165,6 +169,8 @@ ...@@ -165,6 +169,8 @@
} = res } = res
const data_list = DATA; const data_list = DATA;
this.page.PAGE = PAGE this.page.PAGE = PAGE
this.loadParams.total = TOTAL
this.loadParams.totalPage = Math.ceil(TOTAL * 1 / this.page.PAGESIZE * 1)
this.isNoData = (data_list.length <= 0); this.isNoData = (data_list.length <= 0);
...@@ -198,8 +204,12 @@ ...@@ -198,8 +204,12 @@
}, },
loadMore(e) { loadMore(e) {
console.log('loadMore') console.log('loadMore')
this.page.PAGE++ if (this.page.PAGE < this.loadParams.totalPage) {
this.loadData(); this.page.PAGE++
this.loadData();
} else {
this.loadingText = '--到底了--'
}
}, },
clear() { clear() {
this.dataList.length = 0; this.dataList.length = 0;
...@@ -439,6 +449,7 @@ ...@@ -439,6 +449,7 @@
} }
.loading-more { .loading-more {
flex: 1;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
padding-top: 14px; padding-top: 14px;
......
...@@ -199,10 +199,15 @@ ...@@ -199,10 +199,15 @@
height: 48rpx; height: 48rpx;
line-height: 44rpx; line-height: 44rpx;
background: #f61d30; background: #f61d30;
border-color: transparent;
border-radius: 80rpx 200rpx 200rpx 80rpx; border-radius: 80rpx 200rpx 200rpx 80rpx;
text-align: center; text-align: center;
} }
.item-block-btn::after {
border: none;
}
.item-block-btn__text { .item-block-btn__text {
font-size: 12px; font-size: 12px;
color: #fff; color: #fff;
......
...@@ -209,7 +209,7 @@ ...@@ -209,7 +209,7 @@
this.page.PAGE++ this.page.PAGE++
this.loadData(); this.loadData();
} else { } else {
this.loadingText = '已到底' this.loadingText = '--已到底--'
} }
}, },
clear() { clear() {
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
</view> </view>
</uni-cell> </uni-cell>
</uni-list> </uni-list>
<!-- <no-data class="no-data" v-if="isNoData" @retry="loadMore"></no-data> --> <no-data class="no-data" v-if="isNoData" @retry="loadMore"></no-data>
</view> </view>
</template> </template>
...@@ -93,11 +93,22 @@ ...@@ -93,11 +93,22 @@
page: { page: {
"PAGE": "1", "PAGE": "1",
"PAGESIZE": "10", "PAGESIZE": "10",
} },
loadParams: {
total: 0,
totalPage: 1,
isDone: false,
isRefresh: false
},
} }
}, },
computed: { computed: {
...mapState(['sysinfo', 'userInfo']) ...mapState(['sysinfo', 'userInfo']),
scrollHeight() {
return {
'height': `${this.sysinfo.safeArea.height - 237- 44 - 20}px`
}
}
}, },
created() { created() {
this.pullTimer = null; this.pullTimer = null;
...@@ -144,6 +155,8 @@ ...@@ -144,6 +155,8 @@
} = res } = res
const data_list = DATA; const data_list = DATA;
this.page.PAGE = PAGE this.page.PAGE = PAGE
this.loadParams.total = TOTAL
this.loadParams.totalPage = Math.ceil(TOTAL * 1 / this.page.PAGESIZE * 1)
this.isNoData = (data_list.length <= 0); this.isNoData = (data_list.length <= 0);
...@@ -177,8 +190,12 @@ ...@@ -177,8 +190,12 @@
}, },
loadMore(e) { loadMore(e) {
console.log('loadMore') console.log('loadMore')
this.page.PAGE++ if (this.page.PAGE < this.loadParams.totalPage) {
this.loadData(); this.page.PAGE++
this.loadData();
} else {
this.loadingText = '--到底了--'
}
}, },
clear() { clear() {
this.dataList.length = 0; this.dataList.length = 0;
...@@ -305,6 +322,7 @@ ...@@ -305,6 +322,7 @@
} }
.loading-more { .loading-more {
flex: 1;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
padding-top: 14px; padding-top: 14px;
......
...@@ -5,6 +5,8 @@ import validate from "@/utils/validate.js"; ...@@ -5,6 +5,8 @@ import validate from "@/utils/validate.js";
import { import {
Base64 Base64
} from 'js-base64' } from 'js-base64'
import store from '@/store/index.js'
class Request { class Request {
// 设置全局默认配置 // 设置全局默认配置
setConfig(customConfig) { setConfig(customConfig) {
...@@ -14,6 +16,7 @@ class Request { ...@@ -14,6 +16,7 @@ class Request {
// 主要请求部分 // 主要请求部分
request(options = {}) { request(options = {}) {
// 检查请求拦截 // 检查请求拦截
if (this.interceptor.request && typeof this.interceptor.request === 'function') { if (this.interceptor.request && typeof this.interceptor.request === 'function') {
let tmpConfig = {}; let tmpConfig = {};
...@@ -31,11 +34,12 @@ class Request { ...@@ -31,11 +34,12 @@ class Request {
options.params = options.params || {}; options.params = options.params || {};
options.header = Object.assign({}, this.config.header, options.header); options.header = Object.assign({}, this.config.header, options.header);
options.method = options.method || this.config.method; options.method = options.method || this.config.method;
// console.log('api.helper-----request', options, this.options) // console.log('api.helper-----request', options, this.options)
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
options.complete = (response) => { options.complete = (response) => {
// console.log('api.helper---options.complete', response) console.log('api.helper---options.complete', response)
// 请求返回后,隐藏loading(如果请求返回快的话,可能会没有loading) // 请求返回后,隐藏loading(如果请求返回快的话,可能会没有loading)
uni.hideLoading(); uni.hideLoading();
// 清除定时器,如果请求回来了,就无需loading // 清除定时器,如果请求回来了,就无需loading
...@@ -85,13 +89,25 @@ class Request { ...@@ -85,13 +89,25 @@ class Request {
icon: 'none' icon: 'none'
}) })
} }
if (response.statusCode == 401) {
uni.showToast({
title: '登录已失效',
duration: 2000,
icon: 'none'
})
uni.navigateTo({
url: "/pages/login/login"
})
}
reject(response) reject(response)
} }
} }
} }
// 判断用户传递的URL是否/开头,如果不是,加上/,这里使用了uView的test.js验证库的url()方法 // 判断用户传递的URL是否/开头,如果不是,加上/,这里使用了uView的test.js验证库的url()方法
options.url = validate.url(options.url) ? options.url : (this.config.baseUrl + (options.url options.url = validate.url(options.url) ? options.url : ((options.baseUrl ? options.baseUrl :
this
.config.baseUrl) + (options.url
.indexOf('/') == 0 ? .indexOf('/') == 0 ?
options.url : '/' + options.url)); options.url : '/' + options.url));
...@@ -107,7 +123,7 @@ class Request { ...@@ -107,7 +123,7 @@ class Request {
this.config.timer = null; this.config.timer = null;
}, this.config.loadingTime); }, this.config.loadingTime);
} }
// console.log('api.helper-----request', options) console.log('api.helper-----finally***request', options)
uni.request(options); uni.request(options);
}) })
// .catch(res => { // .catch(res => {
...@@ -140,12 +156,37 @@ class Request { ...@@ -140,12 +156,37 @@ class Request {
// 请求前的拦截 // 请求前的拦截
request: (config) => { request: (config) => {
config.header['Authorization'] = `Basic ${Base64.encode('wangpc:LZY888@@')}`; config.header['Authorization'] = `Basic ${Base64.encode('wangpc:LZY888@@')}`;
console.log('interceptor---config-----', config) try {
if (config.url.indexOf('crm-app') !== -1 && config.url.indexOf('crm-app/login') === -
1 &&
store.state.vuex_token) {
config.header['X-Auth-Token'] = store.state.vuex_token
}
if (config.url.indexOf('crm-app') !== -1) {
config.baseUrl = 'http://10.0.135.139'
} else {
config.baseUrl = 'http://10.0.134.45:8000'
}
} catch (e) {
console.log('error', e)
}
// if (config.url.indexOf('crm-app/login') !== -1 && !store.state.vuex_token) {
// uni.showToast({
// title: '登录已失效',
// duration: 2000,
// icon: 'none'
// });
// uni.navigateTo({
// url: "/pages/login/login"
// })
// }
console.log('helper--interceptor---request-----', config)
return config; return config;
}, },
// 请求后的拦截 // 请求后的拦截
response: (res) => { response: (res) => {
console.log('interceptor---response-----', res) console.log('helper--iinterceptor---response-----', res)
if (res.MSGTYPE === 'S' || res.msgtype === 'S' || res.status === 1) { if (res.MSGTYPE === 'S' || res.msgtype === 'S' || res.status === 1) {
// 如果把originalData设置为了true,这里return回什么,this.$u.post的then回调中就会得到什么 // 如果把originalData设置为了true,这里return回什么,this.$u.post的then回调中就会得到什么
return res; return res;
......
...@@ -11,14 +11,32 @@ const install = (Vue, vm) => { ...@@ -11,14 +11,32 @@ const install = (Vue, vm) => {
// 设置为true后,就需要在this.$u.http.interceptor.response进行多一次的判断,请打印查看具体值 // 设置为true后,就需要在this.$u.http.interceptor.response进行多一次的判断,请打印查看具体值
// originalData: true, // originalData: true,
// 设置自定义头部content-type // 设置自定义头部content-type
// header: { header: {}
// 'content-type': 'xxx'
// }
}); });
// 请求拦截,配置Token等参数 // 请求拦截,配置Token等参数
http.interceptor.request = (config) => { http.interceptor.request = (config) => {
config.header['Authorization'] = `Basic ${Base64.encode('wangpc:LZY888@@')}`; config.header['Authorization'] = `Basic ${Base64.encode('wangpc:LZY888@@')}`;
if (config.url.indexOf('crm-app') !== -1 && config.url.indexOf('crm-app/login') === -1 && vm.$store
.state.vuex_token) {
config.header['X-Auth-Token'] = vm.$store.state.vuex_token;
}
// if (config.url.indexOf('crm-app') !== -1) {
// config.baseUrl = 'http://10.0.135.139'
// } else {
// config.baseUrl = 'http://10.0.134.45:8000'
// }
// if (config.url.indexOf('crm-app/login') !== -1 && !vm.$store.state.vuex_token) {
// uni.showToast({
// title: '登录已失效',
// duration: 2000,
// icon: 'none'
// });
// uni.navigateTo({
// url: "/pages/login/login"
// })
// }
// 方式一,存放在vuex的token,假设使用了uView封装的vuex方式,见:https://uviewui.com/components/globalVariable.html // 方式一,存放在vuex的token,假设使用了uView封装的vuex方式,见:https://uviewui.com/components/globalVariable.html
// config.header.token = vm.token; // config.header.token = vm.token;
...@@ -38,7 +56,7 @@ const install = (Vue, vm) => { ...@@ -38,7 +56,7 @@ const install = (Vue, vm) => {
http.interceptor.response = (res) => { http.interceptor.response = (res) => {
// 如果把originalData设置为了true,这里得到将会是服务器返回的所有的原始数据 // 如果把originalData设置为了true,这里得到将会是服务器返回的所有的原始数据
// 判断可能变成了res.statueCode,或者res.data.code之类的,请打印查看结果 // 判断可能变成了res.statueCode,或者res.data.code之类的,请打印查看结果
console.log('interceptor---response-----', res) console.log('http.interceptor---response-----', res)
if (res.MSGTYPE === 'S' || res.msgtype === 'S' || res.status === 1) { if (res.MSGTYPE === 'S' || res.msgtype === 'S' || res.status === 1) {
// 如果把originalData设置为了true,这里return回什么,this.$u.post的then回调中就会得到什么 // 如果把originalData设置为了true,这里return回什么,this.$u.post的then回调中就会得到什么
return res; return res;
......
import apiHelper from './api.helper.js'
/**
* 查询未读消息列表
* @param
* @returns {Promise<AxiosResponse<T>>}
*/
export async function apiFindUnreadMsg(params) {
const res = await apiHelper.post('/crm-app/message/findUnreadMsg', params)
return res
}
/**
* 查询未读消息列表
* @param
* @returns {Promise<AxiosResponse<T>>}
*/
export async function apiEditStatus(params) {
const res = await apiHelper.post('/crm-app//message/editStatus', params)
return res
}
export default {
apiFindUnreadMsg
}
This diff is collapsed.
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__343534B","name":"五粮液APP","version":{"name":"1.0.0","code":"100"},"description":"订货系统","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#fff"},"usingComponents":true,"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","nvue":{"flex-direction":"row"},"distribute":{"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"}}},"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\"/>"],"abiFilters":["armeabi-v7a"]},"apple":{},"plugins":{"ad":{},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}}},"arguments":"{\"name\":\"me\",\"query\":\"uuid=c4bba940-f69e-11ea-a419-6bafda9d095e&__id__=1\",\"id\":0,\"pathName\":\"pages/home/home\"}","allowsInlineMediaPlayback":true,"safearea":{"background":"rgba(250,250,250,0.90)","bottom":{"offset":"auto"}},"uni-app":{"compilerVersion":"3.4.7","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"row"},"nvueLaunchMode":"normal"},"tabBar":{"iconWidth":"19px","spacing":"4px","color":"#999999","selectedColor":"#FF1D32","borderStyle":"rgba(250,250,250,0.90)","backgroundColor":"rgba(250,250,250,0.90)","list":[{"pagePath":"pages/home/home","iconPath":"static/image/home@3x.png","selectedIconPath":"static/image/home_red@3x.png","text":"首页"},{"pagePath":"pages/go-order/go-order","iconPath":"static/image/tab_order@3x.png","selectedIconPath":"static/image/tab_order_red@3x.png","text":"下单"},{"pagePath":"pages/purchase/purchase","iconPath":"static/image/tab_purchase@3x.png","selectedIconPath":"static/image/tab_purchase_red@3x.png","text":"要货"},{"pagePath":"pages/message/message","iconPath":"static/image/tab_message@3x.png","selectedIconPath":"static/image/tab_message_red@3x.png","text":"消息"},{"pagePath":"pages/usercenter/usercenter","iconPath":"static/image/tab_my@3x.png","selectedIconPath":"static/image/tab_my_red@3x.png","text":"我的"}],"height":"50px","child":["lauchwebview"],"selected":0},"launch_path":"__uniappview.html"}} {"@platforms":["android","iPhone","iPad"],"id":"__UNI__343534B","name":"五粮液APP","version":{"name":"1.0.0","code":"100"},"description":"订货系统","launch_path":"","developer":{"name":"","email":"","url":""},"permissions":{"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview","render":"always","uniNView":{"path":"pages/login/login.js"}},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#fff"},"usingComponents":true,"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","nvue":{"flex-direction":"row"},"distribute":{"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"}}},"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\"/>"],"abiFilters":["armeabi-v7a"]},"apple":{},"plugins":{"ad":{},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}}},"arguments":"{\"name\":\"me\",\"query\":\"uuid=c4bba940-f69e-11ea-a419-6bafda9d095e&__id__=1\",\"id\":0,\"pathName\":\"pages/login/login\"}","allowsInlineMediaPlayback":true,"safearea":{"background":"rgba(250,250,250,0.90)","bottom":{"offset":"auto"}},"uni-app":{"compilerVersion":"3.4.7","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"row"},"nvueLaunchMode":"normal"},"tabBar":{"iconWidth":"19px","spacing":"4px","color":"#999999","selectedColor":"#FF1D32","borderStyle":"rgba(250,250,250,0.90)","backgroundColor":"rgba(250,250,250,0.90)","list":[{"pagePath":"pages/home/home","iconPath":"static/image/home@3x.png","selectedIconPath":"static/image/home_red@3x.png","text":"首页"},{"pagePath":"pages/go-order/go-order","iconPath":"static/image/tab_order@3x.png","selectedIconPath":"static/image/tab_order_red@3x.png","text":"下单"},{"pagePath":"pages/purchase/purchase","iconPath":"static/image/tab_purchase@3x.png","selectedIconPath":"static/image/tab_purchase_red@3x.png","text":"要货"},{"pagePath":"pages/message/message","iconPath":"static/image/tab_message@3x.png","selectedIconPath":"static/image/tab_message_red@3x.png","text":"消息"},{"pagePath":"pages/usercenter/usercenter","iconPath":"static/image/tab_my@3x.png","selectedIconPath":"static/image/tab_my_red@3x.png","text":"我的"}],"height":"50px"}}}
\ No newline at end of file \ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment