1 Star 0 Fork 0

我叫王孤独/赵巷镇项目

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
App.vue 8.10 KB
一键复制 编辑 原始数据 按行查看 历史
我叫王孤独 提交于 2024-11-24 17:18 . 初始化
<script>
import utils from './common/utils.js';
import config from "./env/config.js";
export default {
onLaunch: function(e) {
// 隐私政策
// #ifdef APP-PLUS
this.isFirstEnter();
// #endif
console.log('App Launch');
//#ifdef MP-WEIXIN
//检查更新
this.updateManager();
//#endif
let self = this;
// #ifdef APP-PLUS
plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {
uni.request({
url: config.app_url + '/api/front/index/update',
data: {
version: widgetInfo.version,
appId: config.appId,
platform: uni.getSystemInfoSync().platform
},
success: result => {
var data = result.data.data.result;
if (data.update && data.wgtUrl) {
self.updateWgt(data.wgtUrl);
}
if (data.update && data.pkgUrl) {
plus.nativeUI.confirm(
'有新版本更新,请点击确认更新到最新版本,以免影响使用',
function(e) {
if (e.index == 0) {
plus.runtime.openURL(data.pkgUrl);
}
},
{
title: '更新提示',
buttons: ['确定', '取消'],
verticalAlign: 'center'
}
);
}
},
error: error => {
console.log('----------------error');
console.log(error);
}
});
});
// #endif
//应用启动参数
this.onStartupScene(e.query);
// #ifndef APP-PLUS
//#endif
this.getTabBarLinks();
},
beforeCreate() {},
onShow: function() {
//console.log('App Show')
//#ifdef APP-PLUS
getApp().globalData.vueObj = this;
//#endif
},
onHide: function() {
//console.log('App Hide')
},
methods: {
isFirstEnter() {
var firstEnter = uni.getStorageSync('firstEnter'); //同步获取缓存中是否有首次进入字段
let self = this;
uni.getSystemInfo({
success(data) {
console.log('firstEnter=' + firstEnter);
// 如果是ios并且没有firstEnter缓存则弹出模态框
if (data.platform == 'ios' && !firstEnter) {
console.log('---------------');
uni.navigateTo({
url: '/pages/privacy/privacy'
});
}
}
});
},
updateManager: function() {
const updateManager = uni.getUpdateManager();
updateManager.onCheckForUpdate(function(res) {
// 请求完新版本信息的回调
if (res.hasUpdate) {
updateManager.onUpdateReady(function(res2) {
uni.showModal({
title: '更新提示',
content: '新版本已经准备好,即将重启应用',
showCancel: false,
success(res2) {
if (res2.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate();
}
}
});
});
}
});
updateManager.onUpdateFailed(function(res) {
// 新的版本下载失败
uni.showModal({
title: '更新提示',
content: '检查到有新版本,但下载失败,请检查网络设置',
showCancel: false
});
});
},
/**
* 小程序启动场景
*/
onStartupScene(query) {
// 获取场景值
let scene = utils.getSceneData(query);
// 记录推荐人id
let refereeId = query.refereeId;
if (refereeId > 0) {
if (!uni.getStorageSync('refereeId')) {
uni.setStorageSync('refereeId', refereeId);
}
}
// 记录分销人id
let uid = scene.uid;
if (uid > 0) {
uni.setStorageSync('refereeId', uid);
}
// 邀请有礼id
let invitationId = query.invitationId;
if (invitationId > 0) {
uni.setStorageSync('invitationId', invitationId);
}
let invitid = scene.invitid;
if (invitid > 0) {
uni.setStorageSync('invitationId', invitid);
}
// 如果是h5,设置appId
// #ifdef H5
let appId = query.appId;
if (appId > 0) {
uni.setStorageSync('appId', appId);
}
if (uni.getStorageSync('appId')) {
this.config.appId = uni.getStorageSync('appId');
}
// #endif
},
getTabBarLinks() {
console.log('getTabBarLinks')
uni.request({
url: this.config.app_url + '/api/front/index/nav',
data: {
appId: this.config.appId
},
success: result => {
let vars = result.data.data.nav;
let theme = result.data.data.theme.theme;
this.$store.commit('changeTheme', theme);
uni.setStorageSync('TabBar', vars);
console.log(uni.getStorageSync('TabBar'));
if (vars.isAuto == '0') {
uni.showTabBar();
vars.list = [];
let color = ['#ff5704', '#19ad57', '#ffcc00', '#1774ff', '#e4e4e4', '#c8ba97', '#623ceb'];
uni.setTabBarStyle({
color: '#333333',
selectedColor: color[theme]
});
uni.setTabBarItem({
index: 0,
text: '首页',
iconPath: '/static/tabbar/home.png',
selectedIconPath: '/static/tabbar/home_' + theme + '.png'
});
uni.setTabBarItem({
index: 1,
text: '分类',
iconPath: '/static/tabbar/category.png',
selectedIconPath: '/static/tabbar/category_' + theme + '.png'
});
uni.setTabBarItem({
index: 2,
text: '店铺',
iconPath: 'static/tabbar/shop.png',
selectedIconPath: 'static/tabbar/shop_' + theme + '.png'
});
uni.setTabBarItem({
index: 3,
text: '购物车',
iconPath: '/static/tabbar/cart.png',
selectedIconPath: '/static/tabbar/cart_' + theme + '.png'
});
uni.setTabBarItem({
index: 4,
text: '我的',
iconPath: '/static/tabbar/user.png',
selectedIconPath: '/static/tabbar/user_' + theme + '.png'
});
console.log('-----show--------');
uni.setStorageSync('theme', theme);
} else {
console.log('-----hide--------');
uni.hideTabBar();
}
}
});
},
updateWgt(wgtUrl) {
uni.showModal({
title: '版本更新',
content: '检查到有新版本,请点击更新',
confirmText: '更新',
showCancel: false,
success: function(e) {
if (e.confirm) {
var dtask = plus.downloader.createDownload(wgtUrl, {}, function(d, status) {
uni.showToast({
title: '下载完成',
mask: false,
duration: 1000
});
// 下载完成
if (status == 200) {
plus.runtime.install(
d.filename,
{
force: true
},
function() {
console.log('install success...');
plus.nativeUI.alert(
'已更新至最新版本,确定后将重启应用',
function() {
plus.runtime.restart();
},
'更新提示',
'确定'
);
},
function(e) {
console.log(e);
console.log(d.filename);
uni.showToast({
title: '安装失败-01',
mask: false,
duration: 1500
});
}
);
} else {
uni.showToast({
title: '更新失败-02',
mask: false,
duration: 1500
});
}
});
try {
dtask.start(); // 开启下载的任务
var prg = 0;
var showLoading = plus.nativeUI.showWaiting('正在下载'); //创建一个showWaiting对象
dtask.addEventListener('statechanged', function(task, status) {
// 给下载任务设置一个监听 并根据状态 做操作
switch (task.state) {
case 1:
showLoading.setTitle('正在下载');
break;
case 2:
showLoading.setTitle('已连接到服务器');
break;
case 3:
prg = parseInt((parseFloat(task.downloadedSize) / parseFloat(task.totalSize)) * 100);
showLoading.setTitle(' 正在下载' + prg + '% ');
break;
case 4:
plus.nativeUI.closeWaiting();
//下载完成
break;
}
});
} catch (err) {
plus.nativeUI.closeWaiting();
uni.showToast({
title: '更新失败-03',
mask: false,
duration: 1500
});
}
} else {
//取消
}
}
});
}
}
};
</script>
<style lang="scss">
@import './common/iconfont.css';
@import './common/myIcon.css';
/*每个页面公共css */
@import './common/style.scss';
page{
background: #f6f6f6;
font-size: 0.75rem;
min-height: 100vh;
}
</style>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/wanggudu/zhaoxiang-town-project.git
[email protected]:wanggudu/zhaoxiang-town-project.git
wanggudu
zhaoxiang-town-project
赵巷镇项目
master

搜索帮助