video_app/App.vue

801 lines
24 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<script>
export default {
onLaunch: function() {
let that = this
// #ifdef MP-WEIXIN || MP-TOUTIAO
//是否开启小程序自动登录 881
this.$u.get('/app/common/type/881').then(res => {
if (res.code == 0 && res.data) {
if (res.data.value == '是') {
//没有登录的时候开始自动登录
if (!uni.getStorageSync('token')) {
uni.login({
provider: 'weixin',
success: function(loginRes) {
console.log(loginRes, 'code')
// #ifdef MP-WEIXIN
let data = {
code: loginRes.code
}
that.$Request.get('/app/Login/wxLogin', data).then(res => {
if (res.code == 0 && res.data) {
uni.setStorageSync('openId', res.data.open_id)
uni.setStorageSync('unionId', res.data.unionId)
uni.setStorageSync('sessionkey', res.data
.session_key)
let invitationCode = '';
if (uni.getStorageSync('invitation')) {
invitationCode = uni.getStorageSync(
'invitation')
}
let qdCodeion = ''
if (uni.getStorageSync('qdCodeion')) {
qdCodeion = uni.getStorageSync('qdCodeion')
}
let sendData = {
openId: uni.getStorageSync('openId'),
unionId: uni.getStorageSync('unionId'),
userName: '游客',
avatar: '/static/images/logo.png',
sex: 1, //性别
inviterCode: invitationCode, //别人登录进来携带你的邀请码
qdCode: qdCodeion
};
let postData = {
openId: sendData.openId, //小程序openId
unionId: sendData.unionId, //unionId
userName: sendData.userName, //微信名称
avatar: sendData.avatar, //头像
sex: sendData.sex, //性别
phone: '',
inviterCode: sendData.inviterCode,
qdCode: sendData.qdCode
};
that.$Request.postJson(
'/app/Login/insertWxUser', postData)
.then(
res => {
uni.hideLoading();
if (res.code == 0) {
uni.setStorageSync('token', res
.token)
uni.setStorageSync('userName',
res.user.userName)
uni.setStorageSync('avatar',
res.user.avatar)
uni.setStorageSync('phone', res
.user.phone)
uni.setStorageSync(
'invitationCode', res
.user
.invitationCode)
if (res.user.qdCode) {
uni.setStorageSync(
'qdCode', res.user
.qdCode)
}
uni.setStorageSync('autoPrice',
res.user.autoPrice)
uni.setStorageSync('sex', res
.user.sex)
uni.setStorageSync('userId',
res.user.userId)
uni.setStorageSync('openId',
res.user.openId)
that.$u.api.userVip({
userId: uni
.getStorageSync(
'userId')
}).then(rest => {
if (rest.code ==
0 && rest
.data && rest
.data.isVip ==
2) {
uni.setStorageSync(
'isVIP',
true)
} else {
uni.setStorageSync(
'isVIP',
false)
}
})
}
})
}
})
// #endif
// #ifdef MP-TOUTIAO
let data = {
code: loginRes.code,
anonymous_code: loginRes.anonymousCode
}
that.$Request.post('/app/Login/dyLogin', data).then(res => {
if (res.code == 0) {
let invitationCode = '';
if (uni.getStorageSync('invitation')) {
invitationCode = uni.getStorageSync(
'invitation')
}
let qdCodeion = ''
if (uni.getStorageSync('qdCodeion')) {
qdCodeion = uni.getStorageSync('qdCodeion')
}
that.$Request.postJson(
'/app/Login/dyRegister', {
userName: '游客', //抖音名称
avatar: '/static/images/logo.png', //头像
sex: 1, //性别
// phone: '',
inviterCode: invitationCode,
dyOpenId: res.data.dyOpenId,
qdCode: qdCodeion
}).then(ress => {
uni.hideLoading()
if (ress.code == 0) {
uni.setStorageSync('token',
ress.token)
uni.setStorageSync('userName',
ress.user.userName)
uni.setStorageSync('avatar',
ress.user.avatar)
uni.setStorageSync('phone',
ress.user.phone)
uni.setStorageSync(
'invitationCode', ress
.user
.invitationCode)
if (ress.user.qdCode) {
uni.setStorageSync(
'qdCode', ress.user
.qdCode)
}
uni.setStorageSync('sex', ress
.user.sex)
uni.setStorageSync('userId',
ress.user.userId)
uni.setStorageSync('openId',
ress.user.dyOpenId)
that.$u.api.userVip({
userId: uni
.getStorageSync(
'userId')
}).then(rest => {
if (rest.code ==
0 && rest
.data && rest
.data.isVip ==
2) {
uni.setStorageSync(
'isVIP',
true)
} else {
uni.setStorageSync(
'isVIP',
false)
}
})
}
})
}
})
// #endif
// #ifdef MP-KUAISHOU
let data = {
code: loginRes.code,
}
that.$Request.post('/app/Login/ksLogin', data).then(res => {
if (res.code == 0) {
let invitationCode = '';
if (uni.getStorageSync('invitation')) {
invitationCode = uni.getStorageSync(
'invitation')
}
let qdCodeion = '';
if (uni.getStorageSync('qdCodeion')) {
qdCodeion = uni.getStorageSync('qdCodeion')
}
that.$Request.postJson(
'/app/Login/ksRegister', {
userName: '游客', //名称
avatar: '/static/images/logo.png', //头像
sex: 1, //性别
// phone: '',
inviterCode: invitationCode,
ksOpenId: res.data.ksOpenId,
qdCode: qdCodeion
}).then(ress => {
uni.hideLoading()
if (ress.code == 0) {
uni.setStorageSync('token',
ress.token)
uni.setStorageSync('userName',
ress.user.userName)
uni.setStorageSync('avatar',
ress.user.avatar)
uni.setStorageSync('phone',
ress.user.phone)
uni.setStorageSync(
'invitationCode', ress
.user
.invitationCode)
if (ress.user.qdCode) {
uni.setStorageSync(
'qdCode', ress.user
.qdCode)
}
uni.setStorageSync('sex', ress
.user.sex)
uni.setStorageSync('userId',
ress.user.userId)
uni.setStorageSync('openId',
ress.user.ksOpenId)
that.$u.api.userVip({
userId: uni
.getStorageSync(
'userId')
}).then(rest => {
if (rest.code ==
0 && rest
.data && rest
.data.isVip ==
2) {
uni.setStorageSync(
'isVIP',
true)
} else {
uni.setStorageSync(
'isVIP',
false)
}
})
}
})
}
})
// #endif
}
});
}
}
}
});
// #endif
setInterval(d => { //定时器,定时去调取聊天未读消息
let userId = uni.getStorageSync('userId')
if (userId) {
this.$Request.getT('/app/message/selectMessageCount').then(res => {
if (res.code === 0) {
let num = res.data
uni.setStorageSync('numCount', num)
if (num == 0) {
uni.removeTabBarBadge({
index: 3
})
} else {
uni.setTabBarBadge({
index: 3,
text: num + ''
})
}
}
});
}
}, 3000);
//#ifdef H5
this.$u.get('/app/common/type/108').then(res => { //// 是否开启公众号自动登陆 108
if (res.code == 0 && res.data) {
if (res.data.value == '是') {
let ua = navigator.userAgent.toLowerCase();
if (ua.indexOf('micromessenger') !== -1) {
let openid = uni.getStorageSync('openId');
let userId = uni.getStorageSync('userId');
if (!userId) {
if (openid) {
that.$u.get('/app/Login/openid/login?openId=' + openid).then(
res => {
if (res.code == 0) {
uni.setStorageSync('token', res.token)
uni.setStorageSync('userId', res.user.userId)
uni.setStorageSync('userName', res.user.userName)
uni.setStorageSync('phone', res.user.phone)
uni.setStorageSync('invitationCode', res.user
.invitationCode)
}
});
}
}
}
}
}
});
//#endif
//#ifdef APP-PLUS
// APP检测更新 具体打包流程可以参考https://ask.dcloud.net.cn/article/35667
plus.screen.lockOrientation('portrait-primary'); //竖屏正方向锁定
//获取是否热更新过
const updated = uni.getStorageSync('updated'); // 尝试读取storage
if (updated.completed === true) {
// 如果上次刚更新过
// 删除安装包及安装记录
console.log('安装记录被删除,更新成功');
uni.removeSavedFile({
filePath: updated.packgePath,
success: res => {
uni.removeStorageSync('updated');
}
});
} else if (updated.completed === false) {
uni.removeStorageSync('updated');
plus.runtime.install(updated.packgePath, {
force: true
});
uni.setStorage({
key: 'updated',
data: {
completed: true,
packgePath: updated.packgePath
},
success: res => {
console.log('成功安装上次的更新,应用需要重启才能继续完成');
}
});
uni.showModal({
title: '温馨提示',
content: '应用将重启以完成更新',
showCancel: false,
complete: () => {
plus.runtime.restart();
}
});
} else {
//获取当前系统版本信息
plus.runtime.getProperty(plus.runtime.appid, widgetInfo => {
//请求后台接口 解析数据 对比版本
that.$Request.getT('/app/user/selectNewApp').then(res => {
res = res.data[0];
if (res.wgtUrl && widgetInfo.version < res.version) {
let downloadLink = '';
let androidLink = res.androidWgtUrl;
let iosLink = res.iosWgtUrl;
let ready = false;
//校验是是不是热更新
if (res.wgtUrl.match(RegExp(/.wgt/))) {
// 判断系统类型
if (plus.os.name.toLowerCase() === 'android') {
console.log('安卓系统');
if (androidLink && androidLink !== '#') {
// 我这里默认#也是没有地址,请根据业务自行修改
console.log('发现下载地址');
// 安卓:创建下载任务
if (androidLink.match(RegExp(/.wgt/))) {
console.log('确认wgt热更新包');
downloadLink = androidLink;
ready = true;
} else {
console.log('安卓推荐.wgt强制更新.apk的强制更新请您自行修改程序');
}
} else {
console.log('下载地址是空的,无法继续');
}
} else {
console.log('苹果系统');
if (iosLink && iosLink !== '#') {
// 我这里默认#也是没有地址,请根据业务自行修改
console.log('发现下载地址');
// 苹果(A)进行热更新如果iosLink是wgt更新包的下载地址判断文件名中是否含有.wgt
if (iosLink.match(RegExp(/.wgt/))) {
console.log('确认wgt热更新包');
downloadLink = iosLink;
ready = true;
} else {
console.log('苹果只支持.wgt强制更新');
}
} else {
console.log('下载地址是空的,无法继续');
}
}
if (ready) {
console.log('任务开始');
let downloadTask = uni.downloadFile({
url: downloadLink,
success: res => {
if (res.statusCode === 200) {
// 保存下载的安装包
console.log('保存安装包');
uni.saveFile({
tempFilePath: res.tempFilePath,
success: res => {
const packgePath = res
.savedFilePath;
// 保存更新记录到stroage下次启动app时安装更新
uni.setStorage({
key: 'updated',
data: {
completed: false,
packgePath: packgePath
},
success: () => {
console
.log(
'成功保存记录'
);
}
});
// 任务完成,关闭下载任务
console.log(
'任务完成,关闭下载任务,下一次启动应用时将安装更新'
);
downloadTask.abort();
downloadTask = null;
}
});
}
}
});
} else {
console.log('下载地址未准备,无法开启下载任务');
}
} else {
//不是热更新是在线更新 校验是否强制升级
if (res.method == 'true') {
uni.showModal({
showCancel: false,
confirmText: '立即更新',
title: '发现新版本',
content: res.des,
success: res => {
if (res.confirm) {
that.$queue.showLoading('下载中...');
if (uni.getSystemInfoSync().platform ==
'android') {
uni.downloadFile({
url: androidLink,
success: downloadResult => {
if (downloadResult
.statusCode ===
200) {
plus.runtime
.install(
downloadResult
.tempFilePath, {
force: false
},
d => {
console
.log(
'install success...'
);
plus.runtime
.restart();
},
e => {
console
.error(
'install fail...'
);
}
);
}
}
});
}
if (uni.getSystemInfoSync().platform ==
'ios') {
plus.runtime.openURL(iosLink, function(
res) {});
}
} else if (res.cancel) {
console.log('取消');
}
}
});
} else {
uni.showModal({
title: '发现新版本',
confirmText: '立即更新',
cancelText: '下次更新',
content: res.des,
success: res => {
if (res.confirm) {
that.$queue.showLoading('下载中...');
if (uni.getSystemInfoSync().platform ==
'android') {
uni.downloadFile({
url: androidLink,
success: downloadResult => {
if (downloadResult
.statusCode ===
200) {
plus.runtime
.install(
downloadResult
.tempFilePath, {
force: false
},
d => {
console
.log(
'install success...'
);
plus.runtime
.restart();
},
e => {
console
.error(
'install fail...'
);
}
);
}
}
});
}
if (uni.getSystemInfoSync().platform ==
'ios') {
plus.runtime.openURL(iosLink, function(
res) {});
}
} else if (res.cancel) {
console.log('取消');
}
}
});
}
}
}
});
});
}
//#endif
},
onShow: function() {
console.log('App Show')
// #ifdef APP-PLUS
let userId = uni.getStorageSync('userId')
if (userId) {
let clientid = plus.push.getClientInfo().clientid;
let sysPhone = 1;
if (plus.os.name.toLowerCase() === 'android') {
sysPhone = 1;
} else {
sysPhone = 2;
}
this.$Request.getT('/app/user/updateClientId?clientId=' + clientid + '&userId=' +
userId + '&sysPhone=' + sysPhone).then(res => {
});
}
// #endif
// this.$u.get('/app/common/type/109').then(res => { // 是否开启公众号自动注册 109
// if (res.code == 0 && res.data) {
// uni.setStorageSync('kefu', res.data.value)
// }
// });
//微信小程序IOS系统支付功能开关 882
this.$u.get('/app/common/type/882').then(res => {
if (res.code == 0 && res.data) {
let value = res.data.value
const sysInfo = uni.getSystemInfoSync()
// #ifdef MP-WEIXIN
if (sysInfo.osName == 'ios') { //是ios系统
if (value == '是') { //开启
uni.setStorageSync('isWxIosPay', true)
} else { //关闭
uni.setStorageSync('isWxIosPay', false)
}
} else { //不是ios下直接打开
uni.setStorageSync('isWxIosPay', true)
}
// #endif
//不在微信小程序也直接打开
// #ifndef MP-WEIXIN
uni.setStorageSync('isWxIosPay', true)
// #endif
}
});
//是否开启苹果登录 833
this.$u.get('/app/common/type/833').then(res => {
if (res.code == 0 && res.data) {
uni.setStorageSync('checkIosLogin', res.data.value)
}
});
//是否开启苹果支付 834
this.$u.get('/app/common/type/834').then(res => {
if (res.code == 0 && res.data) {
uni.setStorageSync('checkIosPay', res.data.value)
}
});
//是否开启微信登录 835
this.$u.get('/app/common/type/835').then(res => {
if (res.code == 0 && res.data) {
uni.setStorageSync('checkWxLogin', res.data.value)
}
});
//是否开启手机号一键登录 836
this.$u.get('/app/common/type/836').then(res => {
if (res.code == 0 && res.data) {
uni.setStorageSync('checkPhoneLogin', res.data.value)
}
});
this.$u.get('/app/common/type/817').then(res => { //是否开启购买整部视频 817
if (res.code == 0 && res.data) {
uni.setStorageSync('zhengbu', res.data.value)
}
});
this.$u.get('/app/common/type/818').then(res => { //是否开启购买单集视频 818
if (res.code == 0 && res.data) {
uni.setStorageSync('danbu', res.data.value)
}
});
// 微信激励广告id 252
this.$u.get('/app/common/type/252').then(res => {
if (res.code == 0 && res.data) {
uni.setStorageSync('adUnitId', res.data.value)
}
});
// 播放类型 1:抖音云 2:三方云
this.$u.get('/app/common/type/821').then(res => {
if (res.code == 0 && res.data) {
uni.setStorageSync('playType', res.data.value)
}
});
// 是否开启看广告(微信) 251
this.$u.get('/app/common/type/251').then(res => {
if (res.code == 0) {
if (res.data && res.data.value) {
uni.setStorageSync('isGuanggao', res.data.value)
}
}
});
// 是否开启看广告(抖音) 254
this.$u.get('/app/common/type/254').then(res => {
if (res.code == 0) {
if (res.data && res.data.value) {
uni.setStorageSync('isGuanggaody', res.data.value)
}
}
});
this.$u.get('/app/common/type/202').then(res => { //客服配置 1 二维码客服 2 微信公众号客服 3电话客服
if (res.code == 0 && res.data) {
uni.setStorageSync('kefu', res.data.value)
}
});
this.$u.get('/app/common/type/206').then(res => { //客服电话
if (res.code == 0 && res.data) {
uni.setStorageSync('kefuPhone', res.data.value)
}
});
this.$u.get('/app/common/type/204').then(res => { //微信客服链接
if (res.code == 0 && res.data) {
uni.setStorageSync('kefuUrl', res.data.value)
}
});
this.$u.get('/app/common/type/203').then(res => { //微信客服appid
if (res.code == 0 && res.data) {
uni.setStorageSync('kefuAppId', res.data.value)
}
});
//会员开关
this.$u.get('/app/common/type/248').then(res => { //会员开关
if (res.code == 0 && res.data) {
uni.setStorageSync('isVips', res.data.value)
}
});
//热搜词 249
this.$u.get('/app/common/type/249').then(res => { //热搜词
if (res.code == 0 && res.data) {
uni.setStorageSync('moreSearch', res.data.value)
}
});
//安卓下载地址 49
this.$u.get('/app/common/type/49').then(res => { //热搜词
if (res.code == 0 && res.data) {
uni.setStorageSync('AppUrl', res.data.value)
}
});
//微信虚拟支付OfferID 823
this.$u.get('/app/common/type/823').then(res => { //热搜词
if (res.code == 0 && res.data) {
uni.setStorageSync('OfferID', res.data.value)
}
});
//微信虚拟支付环境0 米大师正式环境, 1 米大师沙箱环境) 824
this.$u.get('/app/common/type/824').then(res => { //热搜词
if (res.code == 0 && res.data) {
uni.setStorageSync('payEnv', res.data.value)
}
});
//充值提示 825
this.$u.get('/app/common/type/825').then(res => { //热搜词
if (res.code == 0 && res.data) {
uni.setStorageSync('moneyTips', res.data.value)
}
});
//是否开启卡密充值 855
this.$u.get('/app/common/type/855').then(res => {
if (res.code == 0 && res.data) {
uni.setStorageSync('kmPaySel', res.data.value)
}
});
//是否开启分类 849
this.$u.get('/app/common/type/849').then(res => {
if (res.code == 0 && res.data) {
uni.setStorageSync('homeTypeSel', res.data.value)
}
});
//是否开启收益充值余额 856
this.$u.get('/app/common/type/856').then(res => {
if (res.code == 0 && res.data) {
uni.setStorageSync('syPaySel', res.data.value)
}
});
//抖音im客服 857
this.$u.get('/app/common/type/857').then(res => {
if (res.code == 0 && res.data) {
uni.setStorageSync('imId', res.data.value)
}
});
this.$u.get('/app/common/type/858').then(res => { //是否开启公众号充值
if (res.code == 0 && res.data) {
uni.setStorageSync('isAccountPay', res.data.value)
}
});
//抖音广告id
this.$u.get('/app/common/type/860').then(res => { //抖音广告
if (res.code == 0 && res.data) {
uni.setStorageSync('dyadUnitId', res.data.value)
}
});
// #ifdef H5
if (!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
//是否开启pc端使用 850
this.$u.get('/app/common/type/850').then(res => {
if (res.code == 0 && res.data && res.data.value === '否') {
if (window.location.href.indexOf('/pages/me/erweimaRegister') === -1) {
uni.reLaunch({
url: '/pages/me/erweimaRegister'
})
}
}
});
}
// #endif
},
onHide: function() {
console.log('App Hide')
}
}
</script>
<style lang="scss">
/* 注意要写在第一行同时给style标签加入lang="scss"属性 */
@import "uview-ui/index.scss";
@import 'components/colorui/main.css';
@import 'components/colorui/icon.css';
</style>