增加通用的webview页面

This commit is contained in:
zhl 2019-04-04 09:53:02 +08:00
parent 8e44bd6fe0
commit 5c866095af
5 changed files with 122 additions and 4 deletions

View File

@ -36,6 +36,7 @@ export default class extends wepy.app {
'pages/search',
'pages/jumppage',
'pages/video',
'pages/webview',
],
window: {
backgroundTextStyle: 'light',

View File

@ -27,11 +27,16 @@ export default class cfgMixin extends wepy.mixin {
}
return result;
}
/*获取成就达成人数要求的配置*/
/*帮助视频地址*/
$getHelpVideoLink() {
let cfgObj = wepy.getStorageSync('cfg');
return cfgObj.help_video;
}
/*电影播放页面地址*/
$getMovieUrl() {
let cfgObj = wepy.getStorageSync('cfg');
return cfgObj.movieurl;
}
$getExtCfg(name) {
let cfgObj = wepy.getStorageSync('cfg');
let price = cfgObj.ext_json_cfg;

View File

@ -27,4 +27,16 @@ export default class navMixin extends wepy.mixin {
url: '/pages/video?link=' + encodeURIComponent(link) + '&title=' + encodeURIComponent(title)
})
}
/**
* 电影播放页面
* @param {string} movieUrl 视频地址
* @param {string} title 页面标题可为空
* */
$toMovie(movieUrl, title) {
let obj = `{"url": "${movieUrl}","name":"${title}"}`;
const link = `${this.$getMovieUrl()}?param=${encodeURIComponent(obj)}`;
wepy.navigateTo({
url: '/pages/webview?link=' + encodeURIComponent(link) + '&title=' + encodeURIComponent(title)
})
}
}

View File

@ -134,9 +134,11 @@
this.$toGameInfo(gid);
},
async toSearch() {
wepy.navigateTo({
url: '/pages/search'
})
// wepy.navigateTo({
// url: '/pages/search'
// })
let movie = 'http://iqiyi.kuyun-bofang.com/20190208/eebojrT3/index.m3u8'
this.$toMovie(movie, '流浪地球');
},
async showInviteView() {
await this.updateInviteViewData();

98
src/pages/webview.wpy Normal file
View File

@ -0,0 +1,98 @@
<style lang="less">
.container{
background-color: #000000;
}
</style>
<template>
<view class="container">
<web-view src="{{link}}" @load="webloaded" @error="webloaderror" @message="onMessage"></web-view>
</view>
</template>
<script>
import wepy from 'wepy'
import base from '../mixins/base';
import tips from '../mixins/tips';
import cfg from '../mixins/cfg';
export default class WebViewPage extends wepy.page {
components = {};
mixins = [base, tips, cfg];
config = {
navigationBarBackgroundColor: '#000',
navigationBarTextStyle: 'white',
backgroundColor: '#000',
backgroundColorTop: '#000',
disableSwipeBack: true,
};
data = {
link: '',
movieUrl: '',
title: '',
};
methods = {
webloaded: function(e) {
console.log('page load finished', e);
},
webloaderror: function(e) {
console.log('page load error', e);
}
};
onLoad(params) {
this.$parent.log('web_view_page_onload', params);
this.gid = params.gid;
this.link = decodeURIComponent(params.link);
this.title = decodeURIComponent(params.title);
if (this.title) {
wepy.setNavigationBarTitle({
title: this.title
});
} else {
wepy.setNavigationBarTitle({
title: ''
});
}
console.log('load page: ' + this.link);
this.$apply();
}
onShow() {
let cfg = wepy.getStorageSync('cfg');
if (!cfg._getrewardtype) {
wepy.hideShareMenu();
} else {
wepy.showShareMenu();
}
}
onShareAppMessage() {
let account = wepy.getStorageSync('account');
let url = `/pages/index?isShare=1&inviter_id=${account.account_id}`;
let shareObj = this.$getShareCfg();
let shareStr = shareObj.str;
let shareImg = shareObj.image
this.$parent.log('onShareAppMessage', {page: 'game', gid: this.gid, shareUrl: url});
console.log('share url: ' + url);
return {
title: shareStr,
path: url,
imageUrl: shareImg,
success: function (res) {
wepy.getShareInfo({
shareTicket: res.shareTickets[0]
})
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err)
})
},
fail: function (res) {
// 分享失败
console.log(res)
}
}
}
}
</script>