推送没有体验版这个说法吧,都是推送到用户微信上的
微信小程序订阅消息推送微信小程序订阅消息推送为啥用户能收到体验版的推送??
05-27先认证
小程序信息,小程序类目 填写按钮不可点击? 这个要怎么处理?[图片] 原始id:gh_c8e66c3a03c6
05-21核心思路登录阶段获取[代码]openid[代码]:用户进入小程序后,立即调用登录接口获取[代码]openid[代码],作为授权前后的唯一关联标识(无论是否授权手机号,[代码]openid[代码]始终不变)。缓存未授权时的操作记录:在用户授权手机号前,将浏览的页面路径、操作时间等信息以[代码]openid[代码]为键缓存到本地(如[代码]wx.setStorage[代码])。授权后同步缓存数据:用户授权手机号后,将本地缓存的记录与手机号、[代码]openid[代码]一同提交至服务器,完成关联。
需要技术答疑--怎么把用户授权前后浏览页面串起来有这么个场景需要咨询下,需要一个关联标识: 微信用户进入小程序,在没有授权让我获取手机号的情况下,浏览了小程序上的一系列页面(A、B、C等页面),然后用户授信我获取手机号,此时我怎么把用户授权之前浏览的页面关联上,用户在授权前后有什么标识时一样的、或者可以关联的不
05-20不行,这类api关闭了。不支持跳转app了,只能返回。 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/launchApp.html[图片]
微信网页能不能调起第三方app,比如美团,大众点评这种?可以的话,希望能给个文档或者demo
05-19找开发者处理
为什么发出的声音会一会是男声,一会是女声?这个能设置固定的吗?<template> <view class="page_wrap u-flex-col u-row-between"> <view class="content"> <MyNavbar title="检票"></MyNavbar> <view class="content_middle u-flex-col "> <view class="content_middle_title">终端绑定</view> <view class="content_middle_input u-flex-col u-row-center u-col-center"> <view class="content_middle_item u-flex u-row-between"> <view class="label">当前终端:{{ terminalObj.terminalName }}</view> <view class="moni_button" @click="reSetBindTerminal">终端解绑</view> </view> <u-form :model="form" ref="uForm"> <u-form-item :border-bottom="false"> <u-input v-model="form.text" type="select" disabled @click="toSelectOut" :border="border" placeholder="终端选择" /> <u-picker :show="selectFlag" mode="selector" :columns="terminalColumns" @confirm="confirmPicker" @cancel="cancelPicker" keyName="label" :default-index="[0]"></u-picker> </u-form-item> </u-form> </view> <view class="content_middle_button"> <u-button :custom-style="customStyle" @click="bindTerminal">终端绑定</u-button> </view> </view> <view class="content_middle u-flex-col "> <view class="content_middle_title">语音设置</view> <view class="content_middle_input u-flex u-row-between u-col-center u-p-l-60 u-p-r-60"> <view class=""> 是否开启语音 </view> <view class=""> <u-switch v-model="isAudio" active-color="#F87428" @change="switchChange"></u-switch> </view> </view> </view> </view> <MyFooter /> </view> </template> <script> import { checkTerminalIsBind, bindTerminal, reSetBindTerminal, findNoBindTerminalList } from '@/api/check-ticket/index.js'; import MyFooter from '@/components/MyFooter/index.vue'; import { getUserInfo, setIsAudio, getIsAudio } from '@/util/storage.js'; export default { components: { MyFooter }, data() { return { border: false, selectFlag: false, form: { text: '', terminalNo: '' }, terminalList: [], terminalColumns: [], machineNo: null, terminalObj: { positionName: '', terminalName: '', terminalNo: '', terminalId: '' }, isAudio: false, customStyle: { width: '598rpx', height: '84rpx', background: '#F87428', borderRadius: '46rpx 46rpx 46rpx 46rpx', fontSize: '32rpx', fontFamily: ' PingFang SC-Regular, PingFang SC', fontWeight: 400, color: '#FFFFFF', lineHeight: '44rpx', }, }; }, onLoad(option) {}, created() { this.initPage(); }, methods: { cancelPicker() { this.selectFlag = false; // 关闭下拉菜单 }, confirmPicker(e) { console.log("确认选择的数据:", e); if (e.value && e.value.length > 0) { const selected = e.value[0]; // 获取选中的选项对象 this.form.text = selected.label; // 更新 form.text this.form.terminalNo = selected.value; // 更新 form.terminalNo } this.selectFlag = false; // 关闭下拉菜单 }, confirm(e) { this.form.text = e[0].label; this.form.terminalNo = e[0].value; this.selectFlag = false; // 关闭下拉菜单 }, initPage() { console.log(getApp().globalData.setTerimalStorage) if (getApp().globalData.setTerimalStorage == 'ticketTerimal') { this.machineNo = getUserInfo().memberId; } else { this.machineNo = getUserInfo().memberNo; } if (!this.machineNo) { uni.redirectTo({ url: 'pages/login/login' }); } this.checkTerminalIsBind(); this.findNoBindTerminalList(); let isAudio = getIsAudio() if (isAudio) { this.isAudio = isAudio } else { this.isAudio = false } }, // init回显 checkTerminalIsBind() { checkTerminalIsBind({ machineNo: this.machineNo }).then(res => { if (res.data) { this.terminalObj = { positionName: res.data.positionName, terminalName: res.data.terminalName, terminalNo: res.data.terminalNo, terminalId: res.data.terminalId, scenicSpotId: res.data.scenicSpotId, }; uni.setStorageSync(getApp().globalData.setTerimalStorage, this.terminalObj) } else { this.terminalObj = this.$options.data().terminalObj; } }); }, // 查终端列表 findNoBindTerminalList() { findNoBindTerminalList({ terminalType: getApp().globalData.TERMINALTYPE }).then(res => { if (res.data?.list) { this.terminalList = res.data.list.map(item => ({ label: item.terminalName, value: item.terminalNo })); this.terminalColumns = [this.terminalList]; } else { this.terminalList = []; this.terminalColumns = []; } }); }, reSetBindTerminal() { if (!this.terminalObj.terminalName) return; uni.showToast({ title: '正在解绑中', icon: 'loading' }); reSetBindTerminal({ terminalNo: this.terminalObj.terminalNo }) .then(res => { this.terminalObj = this.$options.data().terminalObj; this.form = {}; uni.removeStorageSync(getApp().globalData.setTerimalStorage); this.checkTerminalIsBind(); }) .finally(() => { uni.hideToast(); this.findNoBindTerminalList(); }); }, // 呼出下拉 toSelectOut() { console.log('点击事件触发,当前终端名称:', this.terminalObj.terminalName); // 调试日志 if (this.terminalObj.terminalName) { console.log('终端已绑定,禁止选择'); return; } console.log('打开picker'); this.selectFlag = true; }, // 选择 toSelect(index) { this.form.text = e.name; this.form.terminalNo = e.value; this.selectFlag = false // this.form = uni.$u.deepClone(this.terminalList[index]); }, bindTerminal() { uni.showToast({ title: '正在绑定中', icon: 'loading' }); bindTerminal({ machineNo: this.machineNo, terminalNo: this.form.terminalNo }) .then(res => { this.terminalObj = { positionName: res.data.positionName, terminalName: res.data.terminalName, terminalNo: res.data.terminalNo, terminalId: res.data.terminalId, scenicSpotId: res.data.scenicSpotId, }; uni.setStorageSync(getApp().globalData.setTerimalStorage, this.terminalObj); }) .finally(() => { uni.hideToast(); }); }, // 选择开启语音 switchChange(value) { setIsAudio(value) } } }; </script>
05-19只能等,到时间就好了
工信部ICP备案申请已通过,微信小程序备案 一直显示 管局审核中?已经等待两天了,周六周日审核不上班吗?
05-19path补全试试
部分安卓机打开小程序首页白屏?有用户反馈5月14日晚上打开小程序首页是白屏状态,5月13日还可以正常使用。5月13号早上我更新了一版 其他用户打开是正常的,开发人员无法复现。用户尝试过关机、开飞行模式再打开、删掉小程序再打开,都不行 手机是oppo的,型号不知道 [图片] 该提示的代码片段 [图片] [图片] [图片] [图片]
05-16有官方示例,新建小程序的时候选择你需要的示例。
请问有前端模版吗请问有前端模版吗
05-16每个小程序都需要备案,新账号意味着新的小程序吧,这样也需要按照之前那个小程序流程重新备案
已备案过的小程序如何再次备案?之前已备案过的小程序,是不是必须再次备案了?找不到填写已备案信息的入口,只有再次备案才行,大家知道吗
05-14哪个api啊,有收费的,有免费的
API组件收费吗?1
05-12