没用过kbone,但是感觉是打包时候的参数有问题。 可以去查查,是不是打包的生产环境,打包的时候有没有压缩JS的参数。 生产环境要是框架自带内容这么大,应该没人用这玩意。。
kbone中小程序主包为什么这么大 请问大佬们怎样优化?[图片] 主包就一个自定义的tabBar 然后包含了两个页面 以及一个第三方sdk140多k ,但为什么打完包上传就1900K了,感觉分包的js都去了主包了,分包都没有意义了
2022-10-31thing 20个字符以内
订阅通知的长期订阅模块字段长度是多少?输入20个字符左右就会报47003[图片]
2022-10-31代码有用git或者其他什么版本控制工具吗?有的话去一前的commit找一下。 没用就去找个其他项目的app.json,自己再改改。
为什么打开小程序突然就显示app.json不见了啊?[图片] [图片] 求问该去哪里找到难道真的要重新做了吗呜呜呜呜呜呜呜这个小程序都快完成了
2022-10-31wx.requestpayment, 写在上面request()的回调里。 或者上面的request封装成promise, const list = await request(.....)
经常会报这种错,xxx未定义?,后台数据是拿到了的,但是获取里面具体的值就不行,大家帮我看看,感谢哈[图片]
2022-10-29不行,没事搞人家appid干啥?
想要解析出他人小程序码中的appid和path有什么技术上的方法吗?想要解析出他人小程序码中的appid和path有什么技术上的方法吗? 因为要解析很多的小程序码所以想找个普适性强一点的方法,去解决
2022-10-29看看这个: https://developers.weixin.qq.com/minigame/dev/wxcloud/reference-sdk-api/database/command/Command.nin.html
使用小程云开发 查询数据 如何能筛选出某个数组字段中不包含给定值的数据?求大神解答,使用小程云开发,需要根据输入的内容从数据库中筛选出数据,筛选的条件是,输入的字符不在记录的某个字符串字段中,根据这个条件把数据筛选出来。
2022-10-29怎么感觉似曾相识,后台collect返回了啥
小程序关于用户点击“收藏”与“取消收藏”的问题?引用自定义组件时数据如何不出错?做了一个关于商家动态列表的自定义组件,同时有三四个页面(商家主页、商家动态、我的收藏)引用,怎么让每个页面的“是否收藏”数据不出错? 目前, 商家主页 问题:(简单来说就是 表示“是否收藏”的数据不同步,状态与实际相反) 进入页面时全部显示“未收藏”状态(不管是否收藏) 点击第一下“收藏”按钮,按钮状态没有变化(查看后台数据为已收藏),点击第二下按钮变为“已收藏”(后台数据为取消收藏) [图片] 商家动态 页面问题: 点击页面 所有动态列表状态为 “未收藏”(不管后台数据是否为 收藏) 保留delCb(id, collect) 则商家动态页面不能正常展示 收藏 与 取消收藏 功能 删除delCb(id, collect) 则功能正常,但刷新页面后,依旧变成“未收藏”状态(后台数据为 已收藏) [图片] 我的收藏 页面:(此页面的 是否收藏 状态正常显示) 保留delCb(id, collect) 则取消收藏时列表自动删除 删除delCb(id, collect) 则取消收藏后需手动刷新一下,列表才能消失 [图片] 自定义组件代码: import React, { memo, useCallback, useEffect, useMemo, useState } from 'react'; import PropTypes from 'prop-types'; import { View, Text, Image, showLoading, hideLoading, showToast, saveImageToPhotosAlbum, showModal, openSetting, getImageInfo, setClipboardData, redirectTo, navigateTo, ad } from 'remax/wechat'; import request from '@/utils/request' import { clearSearchBase64Url } from '@/actions/common' import { connect } from 'react-redux'; import * as utils from '@/utils/common'; import styles from './index.css'; import classnames from 'classnames'; const SearchItem = memo(function (props) { const { dynamic: { dynamic_img, dynamic_title, nickname, user_id, id, head_img, date, img_url, cover_img, is_favorites }, contactCb, delCb, clearSearchBase64Url, isBusiness, userInfo, adUnitId } = props; const dynamicArr = dynamic_img.split('|'); const [collect, setCollect] = useState(); useEffect(() => { setCollect(parseInt(is_favorites)) // setCollect(is_favorites) }, [is_favorites]) const addCollect = useCallback((e) => { e.stopPropagation(); if (!userInfo) { navigateTo({ url: '/packagePagesC/pages/sub/login/index' }) return } request({ url: '/dynamicFavorites', data: { dynamic_id: id }, origin: true, method: 'post' }).then(res => { if (res.code === 0) { showToast({ title: collect ? '取消收藏' : '收藏成功', icon: 'none' }) delCb(id, collect) //注意!!!!!!!不加这一行,“我的收藏”页面取消收藏时,不能自动删除列表,需要手动刷新; //但是 加了这一行,开发者工具报错(如下图),且下一行代码不运行。 setCollect(prev => prev === 0 ? 1 : 0); return; } throw new Error('操作失败') }).catch(e => { showToast({ title: e, icon: 'none' }) }) }, [collect, userInfo]) const saveMultPicToLocal = useCallback(async (e) => { e.stopPropagation() showLoading({ title: '正在保存图片', mask: true }) try { for (let img of dynamicArr) { await getImageInfo({ src: img }).then(ret => { saveImageToPhotosAlbum({ filePath: ret.path, }) }).catch(e => { console.log(e) }) } hideLoading() showModal({ title: '商品描述已复制,图片已保存,打开朋友圈手动发布即可' }).then(res => { if (res.confirm) { setClipboardData({ data: dynamic_title }) } }) } catch (e) { if (e.errMsg === 'saveImageToPhotosAlbum:fail auth deny') { showModal({ title: '请打开保存图片到相册的权限' }).then(res => { if (res.confirm) { openSetting().then(({ authSetting }) => { if (authSetting['scope.writePhotosAlbum']) { saveMultPicToLocal() } }) } }) } else { showToast({ title: '保存失败', icon: 'none' }) } } }, [dynamic_title]) const dynamiCls = classnames([styles.dynamic], { [styles.grey]: date === '置顶' }) if (!id) { return ( <ad unit-id={adUnitId} binderror={(err) => { console.log(err) }}></ad> ) }; return ( <View className={dynamiCls} onTap={() => { clearSearchBase64Url() navigateTo({ url: '/packagePagesC/pages/sub/detail/index?dynamicId=' + id }) }}> <View className={styles.imgWrapper}> <Image src={cover_img || dynamicArr[0]} mode="aspectFill" /> <Text>{dynamicArr.length}</Text> </View> <View className={styles.info}> { !isBusiness && <View className={styles.infoHeader}> <View className={styles.infoLeft} onTap={(e) => { e.stopPropagation(); clearSearchBase64Url() navigateTo({ url: '/packagePagesC/pages/sub/business/index?userId=' + user_id }) }}> <Image src={head_img} /> <Text>{nickname}</Text> </View> <Text onTap={(e) => { e.stopPropagation(); contactCb({ ...props.dynamic, userId: props.dynamic.user_id }) }}>联系TA</Text> </View> } <View className={styles.desc} >{dynamic_title}</View> { isBusiness && <View className={styles.dynamicTime}>{date}</View> } <View className={styles.func}> <View className={styles.funcLeft}> <View onTap={saveMultPicToLocal}> <Image src="http://dxshy.duxieshe.com/uploads/applet_img/download.png" /> <Text>下载</Text> </View> <View onTap={addCollect}> <Image src={collect ? "http://dxshy.duxieshe.com/uploads/applet_img/collectActive.png" : "http://dxshy.duxieshe.com/uploads/applet_img/collect.png"} /> <Text>{collect ? '已收藏' : '收藏'}</Text> </View> </View> </View> </View> </View> ) }) SearchItem.propTypes = { dynamic: PropTypes.object.isRequired, contactCb: PropTypes.func.isRequired, delCb: PropTypes.func.isRequired } SearchItem.defaultProps = { contactCb: () => { }, delCb: () => { }, } const mapStateToProps = (state) => { const { userInfo } = state.common return { userInfo } } const mapDispatchToProps = (dispatch) => { return { clearSearchBase64Url: () => { dispatch(clearSearchBase64Url()) } } } export default connect(mapStateToProps, mapDispatchToProps)(SearchItem); 关于delCb(id, collect)的报错: [图片]
2022-10-28退出A后 A会被销毁,下次进入会重新走onload。
既然 page 的生命钩子onLoad只执行一次, 那么,onLoad为什么能够页面传参数?页面a : [图片] [图片] 页面b: [图片] [图片]
2022-10-28在哪里set的,你电脑缓存清一下再试试呢
wx.getStorageSync( )在电脑上可以正常使用,真机上没有效果,是哪的问题呢?开发工具 Nightly 1.06.2210192 基础库 2.25.4 win11系统 如图,程序在电脑上运行正常,没有错误提示,在手机上就无法正常运行,但也没有错误提示(调试模式)。 var avat = wx.getStorageSync('userCid'); that.setData({ avat: avat }) [图片] [图片] [图片] [图片]
2022-10-28腾讯云可以开: https://cloud.tencent.com/
小程序每个月交的19.5元在哪里开发票小程序每个月交的19.5元在哪里开发票
2022-10-28