Commit 09ff4637 authored by zhangchenchen's avatar zhangchenchen

feat: 鹤小飞资源位样式调整

parent 3d83a00b
import requestModule from './request.js';
const {
api
} = requestModule;
const { api } = requestModule;
export const fetchBrandJSON = () => api.get('/c/front/content',{type:'brand_V1'});
\ No newline at end of file
export const fetchBrandJSON = (type = 'brand_V1') => api.get('/c/front/content', { type });
import requestModule from './request.js';
const {
api
} = requestModule;
const { api } = requestModule;
/**
* 获取首页信息
......@@ -9,11 +7,9 @@ const {
*/
export const fetchHomeInfo = () => api.get('/c/user/index');
export const fetchCanEatIndex = () => api.get('/c/eat/index');
export const fetchCanEatJoin = (data) => api.post('/c/eat/join', data);
export const fetchHomeJSON = () => api.get('/c/front/content', { type: 'home_V1' });
export const fetchHomeJSON = (type = 'home_V1') => api.get('/c/front/content', { type });
export const fetchGameActConfigJSON = () => api.get('/c/front/content', { type: 'gameActConfig' });
import requestModule from './request.js';
const {
api
} = requestModule;
const { api } = requestModule;
/**
* 获取积分信息
* @returns
*/
export const fetchIntegralJSON = () => api.get('/c/front/content',{type:'integral_V1'});
export const fetchIntegralJSON = (type = 'integral_V1') => api.get('/c/front/content', { type });
/**
* 获取生日礼接口
......@@ -35,7 +33,7 @@ export const getResourceList = () => api.get('/c/resource/list');
export const getSigninAndTaskInfoJSON = () => api.get('/c/activity/todo/list');
//签到接口
export const checkInJSON = (activityId) => api.post('/c/activity/todo/checkIn', {activityId});
export const checkInJSON = (activityId) => api.post('/c/activity/todo/checkIn', { activityId });
//获取秒杀列表
export const getSeckillList = () => api.get('/c/seckill/list');
......@@ -43,7 +41,7 @@ export const getSeckillList = () => api.get('/c/seckill/list');
export const taskCompleteJSON = (activityId) => api.post('/c/activity/todo/complete', { activityId });
//获取异业券接口
export const getPointsBenefitCouponJSON = () => api.get('/c/resource/pointsBenefit/coupon');
export const getPointsBenefitCouponJSON = (type) => api.get('/c/resource/pointsBenefit/coupon', { type });
//查询任务结果接口
export const queryTodoResultJSON = (activityId) => api.get('/c/activity/todo/queryTodoResult');
......@@ -52,16 +50,18 @@ export const queryTodoResultJSON = (activityId) => api.get('/c/activity/todo/que
export const getOriginInviteHomeJSON = () => api.get('/c/activity/origin_invite/home');
//邀请助力接口
export const assistInviteJSON = (invitationCode, wxUnionId) => api.post('/c/activity/origin_invite/assist', {
invitationCode,
wxUnionId
});
export const assistInviteJSON = (invitationCode, wxUnionId) =>
api.post('/c/activity/origin_invite/assist', {
invitationCode,
wxUnionId,
});
//获取邀请记录列表接口
export const getInvitationListJSON = () => api.get('/c/activity/origin_invite/invitationList');
//邀请绑定接口
export const originInviteBindJSON = (unionId, shareCode) => api.post('/c/api/activity/originInviteBind', {
unionId,
shareCode
});
export const originInviteBindJSON = (unionId, shareCode) =>
api.post('/c/api/activity/originInviteBind', {
unionId,
shareCode,
});
import requestModule from './request.js';
const {
api
} = requestModule;
const { api } = requestModule;
/**
* 获取用户信息
......@@ -22,9 +20,10 @@ export const getGestationalWeeks = (dueDate) => api.get('/c/user/calGestationalW
* @param {*} code
* @returns
*/
export const autoLoginByCode = (code) => api.get('/c/login/autologin', {
code,
});
export const autoLoginByCode = (code) =>
api.get('/c/login/autologin', {
code,
});
/**
* 手机号授权,调用微信手机号快速验证组件,获取encryptedData、iv、code
......@@ -46,18 +45,13 @@ export const fetchMemberInfo = () => api.get('/c/user/memberInfo');
*/
export const updateBabyInfo = (data) => api.post('/c/user/saveBaby', data);
export const fetchUserJSON = () => api.get('/c/front/content', { type: 'my_V1' });
export const fetchUserJSON = (type = 'my_V1') => api.get('/c/front/content', { type });
/** 查询用户是否参与生育补贴和鹤礼2.0*/
export const checkParticipation = (data) => api.get('/c/fertility/index', data);
export const doTerminate = () => api.post('/c/user/terminate');
/**
* 获取积分兑换记录列表(分页)
* @param {Object} params - 请求参数
......@@ -66,12 +60,10 @@ export const doTerminate = () => api.post('/c/user/terminate');
*/
export const getExchangeList = (params = {}) => api.get('/c/user/exchange/list', { params });
/**
*
* @param {orderNo} data
* @returns
*
* @param {orderNo} data
* @returns
*/
export const getOrderDetail = (data) => api.get('/c/order/detail', data);
......@@ -80,4 +72,4 @@ export const getOrderDetail = (data) => api.get('/c/order/detail', data);
* @param {Object} data - 宝宝额外信息
* @returns {Promise} 接口响应
*/
export const saveBabyExtra = (data) => api.post('/c/user/saveBabyExtra', data);
\ No newline at end of file
export const saveBabyExtra = (data) => api.post('/c/user/saveBabyExtra', data);
This diff is collapsed.
import {
defineStore
} from 'pinia';
import { defineStore } from 'pinia';
const cuk = uni.getStorageSync('cuk')
const openId = uni.getStorageSync('openId')
const unionId = uni.getStorageSync('unionId')
const cuk = uni.getStorageSync('cuk');
const openId = uni.getStorageSync('openId');
const unionId = uni.getStorageSync('unionId');
export const useGlobalStore = defineStore('global', {
state: () => {
return {
cuk: cuk, // 用户登录后获取的凭证,调用接口时headers中携带
curTabIndex: 0, // 当前Tab索引
isWxFriendCircle:false,
isShowLoading: false,
openId: openId,
unionId: unionId,
baseUrl: '',
isShowInvitePrizePanel: false, // 是否显示邀请奖品弹窗
isShowTaskComplete: false, // 是否显示任务完成弹窗
taskCompletePoints: 100, // 任务完成获得的积分
taskCompleteTitle: 'xxx', // 任务完成的任务名称
isShowTaskPop: false, // 是否显示任务弹窗
isShowTaskPerson: false, // 是否显示任务信息弹窗
taskTodo: [], // 任务数据
invateUseType: '', // 邀请用户类型
};
},
actions: {
setBaseUrl(url){
this.baseUrl = url
},
/**
* 设置用户cuk
* @param {Object} cuk
*/
setCuk(cuk,openId,unionId) {
this.cuk = cuk;
this.openId = openId;
this.unionId = unionId;
uni.setStorageSync('openId', openId);
uni.setStorageSync('unionId', unionId);
uni.setStorageSync('cuk', cuk);
},
/**
* 设置当前Tab索引
* @param {number} index
*/
setCurTabIndex(index) {
this.curTabIndex = index;
},
/**
* 设置当前是否是小程序朋友圈单页环境
* @param {boolean} v
*/
setIsWxFriendCircle(v){
this.isWxFriendCircle = v
},
setIsShowLoading(v){
this.isShowLoading = v
},
/**
* 显示任务完成弹窗
* @param {number} points 获得的积分
* @param {string} taskTitle 任务名称
*/
showTaskComplete(points = 100, taskTitle = 'xxx') {
this.taskCompletePoints = points;
this.taskCompleteTitle = taskTitle;
this.isShowTaskComplete = true;
},
/**
* 显示任务弹窗
* @param {Array} taskTodo 任务数据
*/
showTaskPop(taskTodo = []) {
this.taskTodo = taskTodo;
this.isShowTaskPop = true;
},
/**
* 关闭任务弹窗
*/
closeTaskPop() {
this.isShowTaskPop = false;
},
/**
* 显示任务信息弹窗
*/
showTaskPerson() {
this.isShowTaskPerson = true;
},
/**
* 关闭任务信息弹窗
*/
closeTaskPerson() {
this.isShowTaskPerson = false;
},
state: () => {
return {
cuk: cuk, // 用户登录后获取的凭证,调用接口时headers中携带
curTabIndex: 0, // 当前Tab索引
isWxFriendCircle: false,
isShowLoading: false,
openId: openId,
unionId: unionId,
baseUrl: '',
isShowInvitePrizePanel: false, // 是否显示邀请奖品弹窗
isShowTaskComplete: false, // 是否显示任务完成弹窗
taskCompletePoints: 100, // 任务完成获得的积分
taskCompleteTitle: 'xxx', // 任务完成的任务名称
isShowTaskPop: false, // 是否显示任务弹窗
isShowTaskPerson: false, // 是否显示任务信息弹窗
taskTodo: [], // 任务数据
invateUseType: '', // 邀请用户类型
previewScene: {}, // 预览场景
};
},
actions: {
setBaseUrl(url) {
this.baseUrl = url;
},
/**
* 设置用户cuk
* @param {Object} cuk
*/
setCuk(cuk, openId, unionId) {
this.cuk = cuk;
this.openId = openId;
this.unionId = unionId;
uni.setStorageSync('openId', openId);
uni.setStorageSync('unionId', unionId);
uni.setStorageSync('cuk', cuk);
},
/**
* 设置当前Tab索引
* @param {number} index
*/
setCurTabIndex(index) {
this.curTabIndex = index;
},
/**
* 清除认证信息(注销时使用)
*/
// clearAuthData() {
// this.cuk = null;
// this.openId = null;
// this.unionId = null;
// // 清除本地存储
// uni.removeStorageSync('cuk');
// uni.removeStorageSync('openId');
// uni.removeStorageSync('unionId');
// },
},
});
\ No newline at end of file
/**
* 设置当前是否是小程序朋友圈单页环境
* @param {boolean} v
*/
setIsWxFriendCircle(v) {
this.isWxFriendCircle = v;
},
setIsShowLoading(v) {
this.isShowLoading = v;
},
/**
* 显示任务完成弹窗
* @param {number} points 获得的积分
* @param {string} taskTitle 任务名称
*/
showTaskComplete(points = 100, taskTitle = 'xxx') {
this.taskCompletePoints = points;
this.taskCompleteTitle = taskTitle;
this.isShowTaskComplete = true;
},
/**
* 显示任务弹窗
* @param {Array} taskTodo 任务数据
*/
showTaskPop(taskTodo = []) {
this.taskTodo = taskTodo;
this.isShowTaskPop = true;
},
/**
* 关闭任务弹窗
*/
closeTaskPop() {
this.isShowTaskPop = false;
},
/**
* 显示任务信息弹窗
*/
showTaskPerson() {
this.isShowTaskPerson = true;
},
/**
* 关闭任务信息弹窗
*/
closeTaskPerson() {
this.isShowTaskPerson = false;
},
/**
* 设置预览场景
* @param {*} page 页面名称,例如'home'、'brand'、'integral'、'my'
* @param {*} sceneValue 场景值,以页面名称开头,例如'home_1069'、'brand_1154'
*/
setPreviewScene(page, sceneValue) {
this.previewScene = {
[page]: sceneValue,
};
},
/**
* 获取预览场景
* @param {*} page 页面名称,例如'home'、'brand'、'integral'、'my'
* @returns 场景值,以页面名称开头,例如'home_1069'、'brand_1154'
*/
getPreviewScene(page) {
return this.previewScene[page];
},
/**
* 清除认证信息(注销时使用)
*/
// clearAuthData() {
// this.cuk = null;
// this.openId = null;
// this.unionId = null;
// // 清除本地存储
// uni.removeStorageSync('cuk');
// uni.removeStorageSync('openId');
// uni.removeStorageSync('unionId');
// },
},
});
import { defineStore } from "pinia";
import { getSigninAndTaskInfoJSON, checkInJSON, getSeckillList, getPointsBenefitCouponJSON, queryTodoResultJSON, getOriginInviteHomeJSON, assistInviteJSON, getInvitationListJSON, originInviteBindJSON } from "../api/integral";
import { defineStore } from 'pinia';
import {
getSigninAndTaskInfoJSON,
checkInJSON,
getSeckillList,
getPointsBenefitCouponJSON,
queryTodoResultJSON,
getOriginInviteHomeJSON,
assistInviteJSON,
getInvitationListJSON,
originInviteBindJSON,
} from '../api/integral';
import signinAndTaskInfoMock from '../mock/getSigninAndTaskInMock.json';
import checkInMock from '../mock/checkIndata.json';
import pointsBenefitCouponMock from '../mock/pointsBenefitCoupon.json';
......@@ -7,7 +17,7 @@ import queryTodoResultMock from '../mock/queryTodoResult.json';
import originInviteHomeMock from '../mock/originInviteHome.json';
import assistInviteMock from '../mock/assistInvite.json';
import invitationListMock from '../mock/invitationList.json';
export const useIntegralStore = defineStore("integral", {
export const useIntegralStore = defineStore('integral', {
state: () => {
return {
_signinAndTaskInfo: null,
......@@ -23,122 +33,139 @@ export const useIntegralStore = defineStore("integral", {
},
actions: {
async getSigninAndTaskInfo(isdebug = false) {
if(isdebug) {
this._signinAndTaskInfo = signinAndTaskInfoMock;
return signinAndTaskInfoMock;
}else{
const res = await getSigninAndTaskInfoJSON();
this._signinAndTaskInfo = res;
return res;
}
},
async checkIn(activityId,isdebug = false) {
// if(isdebug) {
// this._checkInData = checkInMock; // 存储到state中
// return checkInMock;
// }else{
const res = await checkInJSON(activityId);
if (isdebug) {
this._signinAndTaskInfo = signinAndTaskInfoMock;
return signinAndTaskInfoMock;
} else {
const res = await getSigninAndTaskInfoJSON();
this._signinAndTaskInfo = res;
return res;
}
},
async checkIn(activityId, isdebug = false) {
// if(isdebug) {
// this._checkInData = checkInMock; // 存储到state中
// return checkInMock;
// }else{
const res = await checkInJSON(activityId);
this._checkInData = res; // 存储到state中
return res;
// }
this._checkInData = res; // 存储到state中
return res;
// }
},
async getSeckillData(isdebug = false) {
// if(isdebug) {
// // 使用模拟数据结构
// const mockSeckillData = {
// sessions: [
// {
// id: 1,
// status: 'ongoing',
// countdown: '01:58:59',
// timeTags: ['正在秒杀', '18:00开始', '20:00结束'],
// goods: [
// {
// id: 'good1',
// name: '商品名称商品名称商称商品名称商称商品名称商称商品名称商品...',
// points: 100,
// originalPoints: 500,
// image: ''
// }
// ]
// }
// ]
// };
// this._seckillData = mockSeckillData;
// return mockSeckillData;
// } else {
const res = await getSeckillList();
this._seckillData = res;
return res;
// }
},
async getPointsBenefitCoupon(isdebug = false) {
// if(isdebug) {
// this._pointsBenefitCoupon = pointsBenefitCouponMock;
// return pointsBenefitCouponMock;
// }else{
const res = await getPointsBenefitCouponJSON();
this._pointsBenefitCoupon = res;
return res;
// }
// if(isdebug) {
// // 使用模拟数据结构
// const mockSeckillData = {
// sessions: [
// {
// id: 1,
// status: 'ongoing',
// countdown: '01:58:59',
// timeTags: ['正在秒杀', '18:00开始', '20:00结束'],
// goods: [
// {
// id: 'good1',
// name: '商品名称商品名称商称商品名称商称商品名称商称商品名称商品...',
// points: 100,
// originalPoints: 500,
// image: ''
// }
// ]
// }
// ]
// };
// this._seckillData = mockSeckillData;
// return mockSeckillData;
// } else {
const res = await getSeckillList();
this._seckillData = res;
return res;
// }
},
async getPointsBenefitCoupon(type) {
// if(isdebug) {
// this._pointsBenefitCoupon = pointsBenefitCouponMock;
// return pointsBenefitCouponMock;
// }else{
const res = await getPointsBenefitCouponJSON(type);
this._pointsBenefitCoupon = res;
return res;
// }
},
async queryTodoResultServer(isdebug = false) {
if(isdebug) {
this._queryTodoResult = queryTodoResultMock;
return queryTodoResultMock;
}else{
const res = await queryTodoResultJSON();
this._queryTodoResult = res;
return res;
}
if (isdebug) {
this._queryTodoResult = queryTodoResultMock;
return queryTodoResultMock;
} else {
const res = await queryTodoResultJSON();
this._queryTodoResult = res;
return res;
}
},
async getOriginInviteHome(isdebug = false) {
if(isdebug) {
this._originInviteHome = originInviteHomeMock;
return originInviteHomeMock;
}else{
const res = await getOriginInviteHomeJSON();
this._originInviteHome = res;
return res;
}
if (isdebug) {
this._originInviteHome = originInviteHomeMock;
return originInviteHomeMock;
} else {
const res = await getOriginInviteHomeJSON();
this._originInviteHome = res;
return res;
}
},
async assistInvite(invitationCode, wxUnionId, isdebug = false) {
if(isdebug) {
this._assistInviteData = assistInviteMock;
return assistInviteMock;
}else{
const res = await assistInviteJSON(invitationCode, wxUnionId);
this._assistInviteData = res;
return res;
}
if (isdebug) {
this._assistInviteData = assistInviteMock;
return assistInviteMock;
} else {
const res = await assistInviteJSON(invitationCode, wxUnionId);
this._assistInviteData = res;
return res;
}
},
async getInvitationList(isdebug = false) {
if(isdebug) {
this._invitationList = invitationListMock;
return invitationListMock;
}else{
const res = await getInvitationListJSON();
this._invitationList = res;
return res;
}
if (isdebug) {
this._invitationList = invitationListMock;
return invitationListMock;
} else {
const res = await getInvitationListJSON();
this._invitationList = res;
return res;
}
},
async originInviteBind(unionId, shareCode, isdebug = false) {
const res = await originInviteBindJSON(unionId, shareCode);
this._originInviteBindData = res;
return res;
const res = await originInviteBindJSON(unionId, shareCode);
this._originInviteBindData = res;
return res;
},
},
getters: {
signinAndTaskInfo : (state) => {return state._signinAndTaskInfo; },
checkInData : (state) => {return state._checkInData; },
seckillData : (state) => {return state._seckillData; },
pointsBenefitCoupon : (state) => {return state._pointsBenefitCoupon; },
queryTodoResult : (state) => {return state._queryTodoResult; },
originInviteHome : (state) => {return state._originInviteHome; },
assistInviteData : (state) => {return state._assistInviteData; },
invitationList : (state) => {return state._invitationList; },
originInviteBindData : (state) => {return state._originInviteBindData; },
signinAndTaskInfo: (state) => {
return state._signinAndTaskInfo;
},
checkInData: (state) => {
return state._checkInData;
},
seckillData: (state) => {
return state._seckillData;
},
pointsBenefitCoupon: (state) => {
return state._pointsBenefitCoupon;
},
queryTodoResult: (state) => {
return state._queryTodoResult;
},
originInviteHome: (state) => {
return state._originInviteHome;
},
assistInviteData: (state) => {
return state._assistInviteData;
},
invitationList: (state) => {
return state._invitationList;
},
originInviteBindData: (state) => {
return state._originInviteBindData;
},
},
});
\ No newline at end of file
});
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -312,6 +312,7 @@
:appid="erqiPeizhi.appId1"
:product-id="erqiPeizhi.productId1"
custom-content="true"
class="store-product-container"
>
<view class="ipcontainer">
<image
......@@ -329,8 +330,8 @@
>
</image>
<view class="ipcontext">
<view class="ipcontext-title">{{ '竖版标题' }}</view>
<view class="ipcontext-desc">{{ '竖版描述' }}</view>
<view class="ipcontext-desc">{{ erqiPeizhi.ipTitle1 || '' }}</view>
<view class="ipcontext-title">{{ erqiPeizhi.ipDesc1 || '' }}</view>
</view>
</view>
</store-product>
......@@ -343,26 +344,27 @@
:appid="erqiPeizhi.appId2"
:product-id="erqiPeizhi.productId2"
custom-content="true"
class="store-product-container"
>
<view class="ipcontainer">
<image
:data-log="{
xcxClick: '品牌故事-三屏页面点击',
pageName: '品牌故事-三屏页面',
buttonName: `${hexiaofeiNameList[1]}`,
}"
:src="
erqiPeizhi.ipImg2?.indexOf('http') === 0
? erqiPeizhi.ipImg2
: $baseUrl + erqiPeizhi.ipImg2
"
>
</image>
<view class="ipcontext">
<view class="ipcontext-title">{{ '横版标题' }}</view>
<view class="ipcontext-desc">{{ '横版描述' }}</view>
<view class="ipcontainer">
<view class="ipcontext">
<view class="ipcontext-title">{{ erqiPeizhi.ipTitle2 || '' }}</view>
<view class="ipcontext-desc">{{ erqiPeizhi.ipDesc2 || '' }}</view>
</view>
<image
:data-log="{
xcxClick: '品牌故事-三屏页面点击',
pageName: '品牌故事-三屏页面',
buttonName: `${hexiaofeiNameList[1]}`,
}"
:src="
erqiPeizhi.ipImg2?.indexOf('http') === 0
? erqiPeizhi.ipImg2
: $baseUrl + erqiPeizhi.ipImg2
"
>
</image>
</view>
</view>
</store-product>
</view>
<view style="display: flex; justify-content: space-between; margin-top: 20rpx">
......@@ -491,7 +493,9 @@ import { fetchBrandJSON } from '../api/brand';
import { jump, JumpType } from '../utils';
import md from '../md';
import ExposureTracker from '../utils/exposure';
import { useGlobalStore } from '@/stores/global.js';
const globalStore = useGlobalStore();
// 定义需要曝光检测的元素配置
const EXPOSURE_CONFIGS = [
{
......@@ -600,7 +604,7 @@ export default {
},
methods: {
async initBrandInfo() {
const { data } = await fetchBrandJSON();
const { data } = await fetchBrandJSON(globalStore.getPreviewScene('brand'));
if (data) {
this.swiperList = data.swiperList || [
{
......@@ -1443,13 +1447,23 @@ export default {
.ipcontainer {
position: relative;
image,.ipcontext {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
.ipcontext {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
font-size: 24rpx;
text-align: center;
.ipcontext-desc,
.ipcontext-title {
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.ipcontext-title {
color: @color-gold-main;
}
}
}
......@@ -1464,34 +1478,53 @@ export default {
display: flex;
justify-content: center;
align-items: center;
.store-product-container {
display: flex;
justify-content: center;
align-items: center;
}
}
.ip1 {
width: 288rpx;
height: 380rpx;
overflow: hidden;
.ipcontainer{
width: 288 * 0.8rpx;
height: 380 * 0.8rpx;
.ipcontainer {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
width: 268rpx;
.ipcontext {
width: 100%;
margin-top: 6rpx;
}
}
image {
width: 288 * 0.8rpx;
height: 380 * 0.8rpx;
width: 213rpx;
height: 172rpx;
}
}
.ip2 {
width: 342rpx;
height: 201rpx;
.ipcontainer{
width: 342 * 0.75rpx;
height: 201 * 0.75rpx;
.ipcontainer {
height: 172rpx;
width: 322rpx;
display: flex;
flex-direction: row-reverse;
align-items: center;
justify-content: space-between;
.ipcontext {
width: 160rpx;
}
}
image {
width: 342 * 0.75rpx;
height: 201 * 0.75rpx;
width: 162rpx;
height: 172rpx;
}
}
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment