examTeamApp/App.vue

263 lines
6.9 KiB
Vue
Raw Normal View History

2024-05-02 15:59:36 +08:00
<script>
let platform = ""
2025-04-18 14:53:38 +08:00
let SystemVersion = ""
2024-05-02 15:59:36 +08:00
export default {
2024-06-13 18:03:50 +08:00
data() {
return {}
2024-06-13 18:03:50 +08:00
},
2024-05-02 15:59:36 +08:00
onLaunch: function() {
let that = this
2025-04-26 13:35:30 +08:00
uni.setTabBarItem({
index: 0,
text: that.$t('common.titleHome')
})
uni.setTabBarItem({
index: 1,
text: that.$t('common.titleNews')
})
uni.setTabBarItem({
index: 2,
text: that.$t('common.titleMe')
})
2024-10-11 10:04:19 +08:00
// #ifdef APP-PLUS
2025-04-18 14:53:38 +08:00
// 获取设备信息
uni.getSystemInfo({
success(e) {
platform = e.platform
that.$store.commit('changePhoneInfo', {
platform: e.platform
})
2025-04-26 13:35:30 +08:00
let language = uni.getStorageSync('language') ? uni.getStorageSync('language') : e
.language == "zh-CN" ? "zh-Hans" : e.language
uni.setStorageSync('language', language)
console.log("getSystemInfo", language, e)
}
})
if (platform === 'ios') { // ios首次安装没有网络
uni.onNetworkStatusChange(function(res) {
if (res.isConnected == true) {
uni.reLaunch({
2024-10-11 10:04:19 +08:00
url: '/pageTwo/login/login'
})
console.log("有网络连接", res.isConnected)
}
});
}
2025-04-18 14:53:38 +08:00
plus.runtime.getProperty(plus.runtime.appid, function(info) {
uni.setStorageSync('VERSION', info.version)
SystemVersion = info.version
that.$store.commit('changePhoneInfo', {
info: info
})
})
2024-10-11 10:04:19 +08:00
// #endif
2024-12-14 09:42:21 +08:00
// #ifdef MP-WEIXIN
2025-04-18 14:53:38 +08:00
that.updataWeiXin() //小程序版本更新
// #endif
//订阅登录成功事件
uni.$on('login-sucesss', function() {
console.log('on login-sucesss')
that.handleUserList()
that.handleBannerList()
setTimeout(() => {
uni.reLaunch({
url: '/pages/home/home'
})
}, 500)
})
//订阅需要登录事件
uni.$on('need-login', function() {
uni.setStorageSync('token', null)
uni.setStorageSync('aan_id', null)
setTimeout(() => {
uni.reLaunch({
url: '/pageTwo/login/login'
})
}, 500);
})
that.handleoginversion()
that.handleCityList()
that.handleCooperationUrl()
2024-06-13 18:03:50 +08:00
console.log('App Launch')
2024-05-02 15:59:36 +08:00
},
onShow: function() {
2024-06-13 18:03:50 +08:00
console.log('App Show')
2024-05-02 15:59:36 +08:00
},
onHide: function() {
2024-10-11 10:04:19 +08:00
// #ifdef APP-PLUS
uni.offNetworkStatusChange(function(res) {
console.log("取消网络监听")
})
2024-10-11 10:04:19 +08:00
// #endif
2024-06-13 18:03:50 +08:00
},
methods: {
// 版本信息
2025-04-18 14:53:38 +08:00
handleoginversion() {
let that = this
that.$model.getloginversion({}).then(res => {
2025-04-26 13:35:30 +08:00
// #ifdef MP-WEIXIN
uni.setStorageSync('language', 'en')
// #endif
that.$store.commit('changeLanguage', res.data.language_arr)
2025-04-18 14:53:38 +08:00
if (res.code == 0) {
uni.$emit('login-sucesss');
} else {
uni.$emit('need-login');
}
2025-03-19 17:05:37 +08:00
// #ifdef APP-PLUS||APP
that.$store.commit('changePhoneInfo', {
versionUrl: res.data
})
// 比对版本号
2025-04-18 14:53:38 +08:00
let version = that.$tools.compareVersions(SystemVersion, res.data.version)
console.log("是否登录及版本号", res.data.version, SystemVersion, version)
2024-09-12 11:20:52 +08:00
if (version == -1) { // 0版本号相通1第一个版本号大于第二个版本号-1第一个版本号小于第二个版本号
uni.showModal({
title: '发现新版本',
content: '检查到新版本' + res.data.version + ',是否更新?',
2025-04-18 14:53:38 +08:00
cancelText: that.$t('tips.btnSancellation'),
confirmText: that.$t('tips.btnConfirm'),
success: (modalRes) => {
2024-09-03 09:52:19 +08:00
if (modalRes.confirm) { //确定更新
2025-03-19 17:05:37 +08:00
if (platform === 'android') { //安卓更新
uni.setStorageSync('VERSION', res.data.version)
2025-03-19 17:14:21 +08:00
uni.navigateTo({
url: "/pageTwo/my/about"
})
2025-03-19 17:05:37 +08:00
} else { //ios跳转
plus.runtime.launchApplication({
action: `itms-apps://itunes.apple.com/cn/app/id6654906497?mt=8`
})
}
} else {
2025-03-19 17:05:37 +08:00
that.$tools.msg("稍后可在'关于我们'内更新程序!")
2024-06-13 18:03:50 +08:00
}
}
});
}
2024-10-11 10:04:19 +08:00
// #endif
2024-06-13 18:03:50 +08:00
})
},
2025-04-18 14:53:38 +08:00
// 成员列表
handleUserList() {
2024-09-03 09:52:19 +08:00
let that = this
2025-04-18 14:53:38 +08:00
that.$model.getUserList({
type: 2
}).then(res => {
if (res.code != 0) {
that.$tools.msg(res.msg)
return
}
that.$store.commit('changeFamilay', res.data)
if (res.data.length) {
let userid = ""
if (uni.getStorageSync('userid')) {
let found = res.data.find(e => e.id == uni.getStorageSync('userid'));
if (found !== undefined) {
userid = found.id
} else {
userid = res.data[0].id
uni.setStorageSync('userid', res.data[0].id)
}
} else {
userid = res.data[0].id
uni.setStorageSync('userid', res.data[0].id)
}
that.$store.dispatch('getUserInfo', {
aud_id: userid
2024-09-03 09:52:19 +08:00
})
2025-04-18 14:53:38 +08:00
that.$store.dispatch("getResult", {
aud_id: userid
})
that.handleLabelList(userid)
that.handlePublicRecord(userid)
}
})
},
// 公共卡片列表
handleLabelList(id) {
let that = this
that.$model.getLabelList({
aud_id: id
}).then(res => {
if (res.code == 0) {
that.$store.commit('changeLabelList', res.data)
}
})
},
// 公共手动记录内容
handlePublicRecord(id) {
let that = this
that.$model.getPublicRecord({
aud_id: id
}).then(res => {
if (res.code == 0) {
that.$store.commit('changePublicRecord', res.data)
}
})
},
// banner
handleBannerList() {
let that = this
that.$model.getBannerList({}).then(res => {
if (res.code == 0) {
that.$store.commit('changeBannerAll', res.data)
}
})
2024-09-03 09:52:19 +08:00
},
// 地区
handleCityList() {
2024-09-26 09:18:27 +08:00
let that = this
that.$model.getGradeList({}).then((res) => {
if (res.code != 0) return
that.$store.commit('changeCityList', res.data.area_list)
that.$store.commit('changeGradeList', res.data.grade_list)
that.$store.commit('changeIdentityList', res.data.identity_list)
2024-09-26 09:18:27 +08:00
})
},
// 合作服务
handleCooperationUrl() {
let that = this
that.$model.getCooperationUrl({}).then((res) => {
if (res.code != 0) return
this.$store.commit("changeCooperationUrl", res.data);
})
},
2024-12-14 09:42:21 +08:00
// 微信小程序更新
updataWeiXin() {
let that = this
const updateManager = uni.getUpdateManager()
updateManager.onUpdateReady(function() {
uni.showModal({
title: '更新提示',
content: '新版本已经准备好,是否重启应用?',
2025-04-18 14:53:38 +08:00
cancelText: that.$t('tips.btnSancellation'),
confirmText: that.$t('tips.btnConfirm'),
2024-12-14 09:42:21 +08:00
success: function(res) {
if (res.confirm) {
updateManager.applyUpdate()
}
}
})
})
updateManager.onUpdateFailed(function() {
uni.showModal({
title: '新版本更新失败',
content: '请退出并移除小程序,重新打开...',
})
})
2025-04-26 13:35:30 +08:00
},
2024-05-02 15:59:36 +08:00
}
}
</script>
<style lang="scss">
/*每个页面公共css */
2024-05-29 16:35:45 +08:00
/* #ifndef APP-NVUE */
@import "/uni.scss";
@import "/scss/common.scss";
@import "/scss/iconfont.css";
@import "/scss/iconfont-weapp-icon.css";
2024-05-02 15:59:36 +08:00
2024-05-29 16:35:45 +08:00
/* #endif*/
2024-05-02 15:59:36 +08:00
</style>