1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <template>
- <web-view :src="url" @message="handleGetMessage"></web-view>
- </template>
- <script>
- import {h5BaseUrl} from '../utils/config'
- import {apiGetSceneToParams} from '@/api/common'
- export default {
- data () {
- return {
- url:'',
- msgObj:{},//{title:分享的标题,shareImg:分享的图片,params:页面参数}
- }
- },
- onLoad(options) {
- this.init(options)
- // const timestamp=new Date().getTime()
- // this.url=`${h5BaseUrl}/hzyb/chart/detail?ChartInfoId=${options.chartInfoId}&token=${this.$store.state.user.token}&searchVal=${options.searchVal}&MyChartId=${options.MyChartId}&MyChartClassifyId=${options.MyChartClassifyId}×tamp=${timestamp}`
- },
- onShareAppMessage() {
- let paramsStr=''
- for(const key in this.msgObj.params){
- if(!paramsStr){
- paramsStr=`${key}=${this.msgObj.params[key]}`
- }else{
- paramsStr=`${paramsStr}&${key}=${this.msgObj.params[key]}`
- }
- }
- return {
- title:this.msgObj.title||'ETA图库',
- path:`/pages-chart/chartDetail?${paramsStr}&from=share`,
- imageUrl:this.msgObj.shareImg||''
- }
- },
- methods: {
- async init(options){
- if(options.scene){
- const res=await apiGetSceneToParams({scene_key:options.scene})
- if(res.code==200){
- options=JSON.parse(res.data)
- }
- }
- const queryObj={
- ChartInfoId:options.chartInfoId,
- searchVal:encodeURIComponent(options.searchVal),//避免在链接中带有中文字符,在 iOS 中会有打开白屏的问题,建议加一下 encodeURIComponent
- MyChartId:options.MyChartId,
- MyChartClassifyId:options.MyChartClassifyId,
- from:options.from||'',
- chartSource: options.chartSource||'',
- token:this.$store.state.user.token||uni.getStorageSync("token"),
- timestamp:new Date().getTime(),//防止缓存
- }
- console.log('要处理的参数',queryObj);
- let queryObjStr=''
- for (const key in queryObj) {
- if(!queryObjStr){
- queryObjStr=`${key}=${queryObj[key]}`
- }else{
- queryObjStr=`${queryObjStr}&${key}=${queryObj[key]}`
- }
- }
- console.log('拼接字符串:',queryObjStr);
- this.url=`${h5BaseUrl}/hzyb/chart/detail?${queryObjStr}#wechat_redirect`
- },
- // 获取到用户点击转发时从h5页面传来的参数
- handleGetMessage(e){
- const data=e.detail.data[e.detail.data.length-1]
- console.log('h5传来的数据',data);
- this.msgObj=data
- }
- }
- }
- </script>
|