| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- <script>
- import { mapActions } from 'vuex'
- //https://ext.dcloud.net.cn/plugin?id=22675
- import permissionListener from "@/uni_modules/c-permission-listener";
- export default {
- mixins:[],
- // 全端,数据共享,还可以解决页面初始化模板访问不到值得
- // 有坑 分包里的页面访问不到
- globalData: {},
- onLaunch() {
- // #ifdef APP-PLUS
- // 清除角标数字
- plus.runtime.setBadgeNumber(0);
- // #endif
-
- uni.onPushMessage((res) => {
- console.log("收到推送消息:",res) //监听推送消息
- let message = res.data;
- // 兼容两种可能的数据结构
- let title = message.aps && message.aps.alert ? message.aps.alert.title : '';
- let content = message.content || (message.aps && message.aps.alert ? message.aps.alert.body : '');
-
- // 提取页面路径(支持 pagesOrder/detail 这样的格式)
- let pagePath = message.payload && message.payload.page;
- // 用户点击查看详情,跳转到指定页面
- // 检查是否需要添加 / 前缀
- let url = pagePath.startsWith('/') ? pagePath : `/${pagePath}`;
-
- // 如果有额外参数,拼接到URL
- if (message.params || (message.payload && message.payload.params)) {
- let params = message.params || message.payload.params;
- let queryString = Object.keys(params).map(key => `${key}=${params[key]}`).join('&');
- url = `${url}?${queryString}`;
- }
- console.log('推送消息跳转页面:', url);
-
- // 使用 navigateTo 跳转
- uni.navigateTo({
- url: url,
- fail: (err) => {
- console.error('页面跳转失败:', err);
- }
- });
- // 设置角标
- let badgeNumber = message.aps && message.aps.badge ? message.aps.badge - 1 : false;
- if (badgeNumber !== false) {
- //plus.runtime.setBadgeNumber(badgeNumber);
- // 清除数字
- plus.runtime.setBadgeNumber(0);
- } else {
- // 清除数字
- plus.runtime.setBadgeNumber(0);
- }
- })
- // 删除缓存
- if (process.env.NODE_ENV == 'production') {
- uni.removeStorageSync('shopUser')
- }
-
- // #ifdef APP-PLUS
- const extConfig = {}
- // #endif
-
- // #ifdef MP-WEIXIN
- const extConfig = wx.getExtConfigSync ? wx.getExtConfigSync() : {}
- uni.setStorageSync('account', extConfig.account)
- // #endif
- },
- onLoad(){
- },
- onShow() {
- // #ifdef APP-PLUS
- // 清除角标数字
- plus.runtime.setBadgeNumber(0);
- // #endif
-
- // permissionEnums枚举建议单独一个js文件,然后引入
- const permissionEnums = {
- // 取android.permission.ACCESS_COARSE_LOCATION后面那个
- "ACCESS_COARSE_LOCATION": {
- name: "定位", // 当前权限的名称
- explain: "展示附近店铺、填写收货地址等相关功能" // 权限说明
- },
- "CALL_PHONE": {
- name: "电话", // 当前权限的名称
- explain: "为了方便联系客服, 我们需要申请您设备的拨打电话权限" // 权限说明
- },
- "CAMERA":{
- name:"使用摄像头",
- explain: "为了方便给花材拍照片,上传花材图片等"
- },
- "READ_EXTERNAL_STORAGE":{
- name:"读取外部存储空间",
- explain:"为了修改个人头像和上传花材图片, 我们需要申请您设备的相机和存储权限",
- },
- "WRITE_EXTERNAL_STORAGE":{
- name:"写入外部存储空间",
- explain:"为了保存推广海报和小程序码到手机相册, 我们需要申请您设备的存储权限",
- },
- "READ_MEDIA_IMAGES":{
- name:"读取外部存储空间",
- explain:"为了修改个人头像和上传花材图片, 我们需要申请您设备的相机和存储权限",
- },
- "READ_MEDIA_VIDEO":{
- name:"读取外部存储空间",
- explain:"为了修改个人头像和上传花材图片, 我们需要申请您设备的相机和存储权限",
- },
- "READ_MEDIA_AUDIO":{
- name:"读取外部存储空间",
- explain:"为了修改个人头像和上传花材图片, 我们需要申请您设备的相机和存储权限",
- },
- }
- // 唤起权限会触发onHide,所以listenerFunc须在onShow生命周期调用
- permissionListener && permissionListener.listenerFunc(permissionEnums)
- },
- onHide() {},
- onError(err) {
- console.error(err, '错误捕获')
- },
- methods: {
- ...mapActions(['setUserShopAll'])
- }
- }
- </script>
- <style lang="scss">
- //没有scss变量方法的,主要引入 这样打包的时候就不会所有的组件都打包进去
- @import './static/iconfont/iconfont.css';
- @import './static/css/uni2.css';
- @import './static/css/base.scss';
- @import './static/css/common.scss';
- @import './static/css/reset.scss';
- page {
- height: 100%;
- }
- /**开单-扎和支切换样式**/
- .switchover-unit{
- position: fixed;
- left: calc(170upx / 2 - 50upx);
- bottom: 140upx;
- display: flex;
- align-items: center;
- justify-content: center;
- width: 100upx;
- height: 100upx;
- color: #FFFFFF;
- background: #4b8cf4;
- border-radius: 50%;
- font-size: 42upx;
- font-weight: 700;
- z-index: 2;
- }
- /**开单-增加减少动画**/
- .animation{animation:imgmove 0.3s 1;animation-iteration-count:1;}
- @-webkit-keyframes imgmove{0%{transform: scale(0.7);}100%{transform: scale(1);}}
- </style>
|