202 lines
6.0 KiB
Vue
202 lines
6.0 KiB
Vue
|
|
<template>
|
|||
|
|
<view class="container">
|
|||
|
|
<custom-navbar title="招募" :showBack="true" backgroundColor="#fff" @onHeadleClick="goInvite" headleSrc="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/3b04f0c1-a55e-4658-9de5-22175cce9bbc.png" :show-headle="info.state_other==1"></custom-navbar>
|
|||
|
|
<view class="content">
|
|||
|
|
<image :src="bjSrc" mode="widthFix" class="bjImg"></image>
|
|||
|
|
<image class="imgCard" :src="info.promotion_img" mode="aspectFill">
|
|||
|
|
</image>
|
|||
|
|
<image src="/static/images/recruit/btn.gif" v-if="info.state_other==1" mode="widthFix" class="btnImg" @click="goRecruit2"></image>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
import request from "../../utils/request";
|
|||
|
|
import {
|
|||
|
|
handleImgSize,
|
|||
|
|
handleImgSizeUni
|
|||
|
|
} from '@/utils/service.js'
|
|||
|
|
export default {
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
bjSrc: "/static/images/recruit/bj1.png",
|
|||
|
|
info: {}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
onLoad() {
|
|||
|
|
this.getrecruit();
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
async goInvite() {
|
|||
|
|
let _that = this;
|
|||
|
|
let imageUrl =
|
|||
|
|
"https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/yh/1756713709528-717.png?x-oss-process=image/resize,p_40";
|
|||
|
|
var pages = getCurrentPages();
|
|||
|
|
var page = pages[pages.length - 1];
|
|||
|
|
var bitmap = null;
|
|||
|
|
// 获取当前页面 webview 的对象实例
|
|||
|
|
var currentWebview = await page.$getAppWebview();
|
|||
|
|
bitmap = await new plus.nativeObj.Bitmap("store-detail");
|
|||
|
|
// 将webview内容绘制到Bitmap对象中
|
|||
|
|
currentWebview.draw(
|
|||
|
|
bitmap,
|
|||
|
|
function () {
|
|||
|
|
console.log("截屏绘制图片成功", bitmap);
|
|||
|
|
bitmap.save(
|
|||
|
|
"_doc/a.jpg",
|
|||
|
|
{},
|
|||
|
|
async function (i) {
|
|||
|
|
imageUrl = i.target;
|
|||
|
|
try {
|
|||
|
|
// 直接调用导入的函数,不要加 this
|
|||
|
|
const processedUrl = await handleImgSizeUni(i.target);
|
|||
|
|
console.log("处理后的图片地址:", processedUrl);
|
|||
|
|
// 赋值给组件数据
|
|||
|
|
imageUrl = processedUrl;
|
|||
|
|
} catch (err) {
|
|||
|
|
console.error("处理失败:", err);
|
|||
|
|
}
|
|||
|
|
_that.setShare(imageUrl);
|
|||
|
|
bitmap.clear();
|
|||
|
|
},
|
|||
|
|
function (e) {
|
|||
|
|
_that.setShare(imageUrl);
|
|||
|
|
console.log("保存图片失败:" + JSON.stringify(e));
|
|||
|
|
}
|
|||
|
|
);
|
|||
|
|
},
|
|||
|
|
function (e) {
|
|||
|
|
_that.setShare(imageUrl);
|
|||
|
|
console.log("截屏绘制图片失败:" + JSON.stringify(e));
|
|||
|
|
}
|
|||
|
|
);
|
|||
|
|
},
|
|||
|
|
setShare(imageUrl) {
|
|||
|
|
let _that = this;
|
|||
|
|
uni.share({
|
|||
|
|
provider: "weixin",
|
|||
|
|
scene: "WXSceneSession",
|
|||
|
|
type: 5,
|
|||
|
|
title: "「美融融」招商通道开启,期待您加入!",
|
|||
|
|
miniProgram: {
|
|||
|
|
id: "gh_89c92e18b70b", // 小程序原始ID
|
|||
|
|
path: `/subPackages/recruit/recruit`, //小程序路径
|
|||
|
|
type: _that.$store.state.wxShareType, // 正式版:0,测试版:1,体验版:2
|
|||
|
|
webUrl: "https://www.baidu.com/",
|
|||
|
|
},
|
|||
|
|
// href:"https://www.baidu.com/",
|
|||
|
|
imageUrl: imageUrl, // 分享主图(建议300*300以上)
|
|||
|
|
success: function (res) {
|
|||
|
|
console.log("success:" + JSON.stringify(res));
|
|||
|
|
},
|
|||
|
|
fail: function (err) {
|
|||
|
|
uni.share({
|
|||
|
|
provider: "weixin",
|
|||
|
|
scene: "WXSceneSession",
|
|||
|
|
type: 5,
|
|||
|
|
title: "「美融融」招商通道开启,期待您加入!",
|
|||
|
|
miniProgram: {
|
|||
|
|
id: "gh_89c92e18b70b", // 小程序原始ID
|
|||
|
|
path: `/subPackages/recruit/recruit`, //小程序路径
|
|||
|
|
type: _that.$store.state.wxShareType, // 正式版:0,测试版:1,体验版:2
|
|||
|
|
webUrl: "https://www.baidu.com/",
|
|||
|
|
},
|
|||
|
|
// href:"https://www.baidu.com/",
|
|||
|
|
imageUrl:
|
|||
|
|
"https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/yh/1756713709528-717.png?x-oss-process=image/resize,p_40", // 分享主图(建议300*300以上)
|
|||
|
|
success: function (res) {
|
|||
|
|
console.log("success:" + JSON.stringify(res));
|
|||
|
|
},
|
|||
|
|
fail: function (err) {
|
|||
|
|
console.log("fail:" + JSON.stringify(err));
|
|||
|
|
},
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
getrecruit() {
|
|||
|
|
// 加载一级类目
|
|||
|
|
request.post("/user/getRecruitment").then((res) => {
|
|||
|
|
this.info = res.data;
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
goRecruit2(){
|
|||
|
|
this.jumpToWeixinMiniProgram()
|
|||
|
|
// uni.navigateTo({
|
|||
|
|
// url: `/pages/recruit/recruit2`,
|
|||
|
|
// });
|
|||
|
|
},
|
|||
|
|
// 点击“跳转小程序”按钮时触发
|
|||
|
|
jumpToWeixinMiniProgram() {
|
|||
|
|
// #ifdef APP-PLUS
|
|||
|
|
plus.share.getServices((services) => {
|
|||
|
|
let weixin = null;
|
|||
|
|
// 遍历所有分享服务,找到微信
|
|||
|
|
services.forEach((item) => {
|
|||
|
|
if (item.id === "weixin") {
|
|||
|
|
weixin = item;
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
if (weixin) {
|
|||
|
|
// 调用微信小程序跳转接口
|
|||
|
|
weixin.launchMiniProgram({
|
|||
|
|
id: "gh_89c92e18b70b", // 必须填微信小程序的原始AppID
|
|||
|
|
path: "/subPackages/recruit/recruit2", // 要打开的页面路径(可带参数)
|
|||
|
|
type: 0, // 版本类型:0-正式版;1-测试版;2-体验版(默认0)
|
|||
|
|
success: () => {
|
|||
|
|
uni.showToast({
|
|||
|
|
title: "跳转成功",
|
|||
|
|
icon: "success",
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
fail: (err) => {
|
|||
|
|
uni.showToast({
|
|||
|
|
title: "跳转失败:" + err.message,
|
|||
|
|
icon: "none",
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
});
|
|||
|
|
} else {
|
|||
|
|
uni.showToast({
|
|||
|
|
title: "未安装微信,请先安装",
|
|||
|
|
icon: "none",
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
// #endif
|
|||
|
|
},
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style lang="less">
|
|||
|
|
.container {
|
|||
|
|
.content {
|
|||
|
|
position: relative;
|
|||
|
|
|
|||
|
|
.bjImg {
|
|||
|
|
width: 750rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.imgCard {
|
|||
|
|
position: absolute;
|
|||
|
|
left: 50%;
|
|||
|
|
transform: translateX(-50%);
|
|||
|
|
width: 690rpx;
|
|||
|
|
height: 770rpx;
|
|||
|
|
// background: #fff;
|
|||
|
|
border-radius: 40rpx;
|
|||
|
|
top: 690rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.btnImg {
|
|||
|
|
position: absolute;
|
|||
|
|
width: 566rpx;
|
|||
|
|
left: 50%;
|
|||
|
|
transform: translateX(-50%);
|
|||
|
|
bottom: 31rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</style>
|